예제 #1
0
        public string Rework_SN(IDictionary <string, object> mst, List <string> LsKeyParts)
        {
            DbConnection  conn   = ProviderHelper.GetConnection(ProConfiguration.GetConfig().DatabaseType, ProConfiguration.GetConfig().DatabaseConnect);
            DbTransaction tx     = ProviderHelper.BeginTransaction(conn);
            string        Colnum = "ESN,WOID,PARTNUMBER,PRODUCTNAME,VERSIONCODE,TYPE,LOCSTATION,STATIONNAME,WIPSTATION,NEXTSTATION,USERID,RECDATE," +
                                   "ERRFLAG,SCRAPFLAG,SN,MAC,IMEI,CARTONNUMBER,TRAYNO,PALLETNUMBER,MCARTONNUMBER,MPALLETNUMBER,LINE,SECTIONNAME,ROUTGROUPID," +
                                   "STORENUMBER,WEIGHTQTY,QA_NO,QA_RESULT,TRACK_NO,ATE_STATION_NO,IN_LINE_TIME,BOMNUMBER,REWORKNO";
            int count = 0;

            try
            {
                IAdminProvider dp = (IAdminProvider)DpFactory.Create(typeof(IAdminProvider), DpFactory.ADMIN);
                Dictionary <string, object> dic = new Dictionary <string, object>();
                dic.Add("ESN", mst["ESN"]);
                DataTable dt_wip_tracking = dp.GetData("SFCR.T_WIP_TRACKING_ONLINE", Colnum, dic, out count).Tables[0];
                if (count > 0)
                {
                    dp.AddListData(tx, "SFCR.T_WIP_UNDO", DataTableToDictionary(dt_wip_tracking));
                }

                if (LsKeyParts.Count > 0)
                {
                    string    colnumKeyPart      = "esn,woId,sntype,snval,station,kpno,recdate".ToUpper();
                    DataTable dt_KeyParts        = dp.GetData("SFCR.T_WIP_KEYPART_ONLINE", colnumKeyPart, dic, out count).Tables[0];
                    DataTable dt_Backup_KeyParts = new DataTable();
                    foreach (string str in colnumKeyPart.Split(','))
                    {
                        dt_Backup_KeyParts.Columns.Add(str, typeof(string));
                    }
                    if (dt_KeyParts.Rows.Count > 0)
                    {
                        foreach (DataRow dr in dt_KeyParts.Rows)
                        {
                            if (LsKeyParts.Contains(dr["SNTYPE"].ToString()))
                            {
                                dt_Backup_KeyParts.Rows.Add(dr["ESN"].ToString(), dr["WOID"].ToString(), dr["SNTYPE"].ToString(), dr["SNVAL"].ToString(), dr["STATION"].ToString(), dr["KPNO"].ToString(), dr["RECDATE"].ToString());
                            }
                        }
                    }
                    if (dt_Backup_KeyParts.Rows.Count > 0)
                    {
                        dp.AddListData(tx, "SFCR.T_WIP_KEYPART_UNDO", DataTableToDictionary(dt_Backup_KeyParts));
                        dp.DeleteListData(tx, "SFCR.T_WIP_KEYPART_ONLINE", DataTableToDictionary(dt_Backup_KeyParts));
                    }
                }
                dp.UpdateData(tx, "SFCR.T_WIP_TRACKING_ONLINE", new string[] { "ESN" }, mst);
                tx.Commit();
                return("OK");
            }
            catch (Exception ex)
            {
                tx.Rollback();
                return(ex.Message);
            }
            finally
            {
                conn.Close();
                conn.Dispose();
            }
        }
예제 #2
0
파일: tUserInfo.cs 프로젝트: fengyubox/SFIS
        /// <summary>
        /// 增加用户权限
        /// </summary>
        /// <param name="ArrUserPopList"></param>
        public string AddUserJurisdiction(string LsDicstring)
        {
            //StringBuilder sql = new StringBuilder();
            DbConnection  conn = ProviderHelper.GetConnection(ProConfiguration.GetConfig().DatabaseType, ProConfiguration.GetConfig().DatabaseConnect);
            DbTransaction tx   = ProviderHelper.BeginTransaction(conn);

            try
            {
                IList <IDictionary <string, object> > LsDic = MapListConverter.JsonToListDictionary(LsDicstring);
                string         table             = "SFCB.B_USER_POPLIST";
                IAdminProvider dp                = (IAdminProvider)DpFactory.Create(typeof(IAdminProvider), DpFactory.ADMIN);
                IDictionary <string, object> dic = new Dictionary <string, object>();
                dic.Add("USERID", LsDic[0]["USERID"]);
                dp.DeleteData(tx, table, dic);
                dp.AddListData(tx, table, LsDic);

                tx.Commit();
                return(null);
            }
            catch (Exception ex)
            {
                tx.Rollback();
                return(ex.Message);
            }
            finally
            {
                conn.Close();
                conn.Dispose();
            }
        }
예제 #3
0
파일: tUserInfo.cs 프로젝트: fengyubox/SFIS
        /// <summary>
        /// 添加用户ATE权限
        /// </summary>
        /// <param name="lsAteEmp"></param>
        /// <returns></returns>
        public string AddUserAteEmp(string lsAteEmp)
        {
            DbConnection  conn = ProviderHelper.GetConnection(ProConfiguration.GetConfig().DatabaseType, ProConfiguration.GetConfig().DatabaseConnect);
            DbTransaction tx   = ProviderHelper.BeginTransaction(conn);

            try
            {
                IList <IDictionary <string, object> > LsDic = MapListConverter.JsonToListDictionary(lsAteEmp);

                string         table             = "sfcb.b_Ate_Emp".ToUpper();
                IAdminProvider dp                = (IAdminProvider)DpFactory.Create(typeof(IAdminProvider), DpFactory.ADMIN);
                IDictionary <string, object> dic = new Dictionary <string, object>();
                dic.Add("USERID", LsDic[0]["USERID"]);
                dp.DeleteData(tx, table, dic);
                dp.AddListData(tx, table, LsDic);

                tx.Commit();

                return("OK");
            }
            catch (Exception ex)
            {
                tx.Rollback();
                return(ex.Message);
            }
            finally
            {
                conn.Close();
                conn.Dispose();
            }
        }
예제 #4
0
        /// <summary>
        /// 增加产品所对应的标签
        /// </summary>
        /// <param name="partnumber"></param>
        /// <param name="lslablenames"></param>
        /// <param name="Err"></param>
        public void InsertProductLable(string partnumber, List <string> lslablenames, out string Err)
        {
            Err = string.Empty;
            try
            {
                //foreach (string item in lslablenames)
                //{
                //    MySqlCommand cmd = new MySqlCommand();
                //    cmd.CommandText = "insert into SFCB.b_Product_Serial_Info (partnumber,serialname) values(@PN,@sName)";
                //    cmd.Parameters.Add("PN", MySqlDbType.VarChar, 30).Value = partnumber;
                //    cmd.Parameters.Add("sName", MySqlDbType.VarChar, 30).Value = item;
                //     BLL.BllMsSqllib.Instance.ExecteNonQuery(cmd);
                //}

                IAdminProvider dp = (IAdminProvider)DpFactory.Create(typeof(IAdminProvider), DpFactory.ADMIN);
                IList <IDictionary <string, object> > list = new List <IDictionary <string, object> >();
                IDictionary <string, object>          mst  = null;
                foreach (string item in lslablenames)
                {
                    mst = new Dictionary <string, object>();
                    mst.Add("PARTNUMBER", partnumber);
                    mst.Add("SERIALNAME", item);
                    list.Add(mst);
                }
                dp.AddListData("SFCB.B_PRODUCT_SERIAL_INFO", list);
            }
            catch (Exception ex)
            {
                Err = ex.Message;
            }
        }
예제 #5
0
 public string Insert_Sn_UnBind(IList <IDictionary <string, object> > ListMst)
 {
     try
     {
         IAdminProvider dp = (IAdminProvider)DpFactory.Create(typeof(IAdminProvider), DpFactory.ADMIN);
         dp.AddListData("SFCR.T_SN_UNBIND", ListMst);
         return("OK");
     }
     catch (Exception ex)
     {
         return(ex.Message);
     }
 }
예제 #6
0
        public void   InsertWoBomPrintInfo(IList <IDictionary <string, object> > dic, out string Err)
        {
            try
            {
                IAdminProvider dp = (IAdminProvider)DpFactory.Create(typeof(IAdminProvider), DpFactory.ADMIN);
                dp.AddListData("SFCR.T_MATERIAL_PREPARATION", dic);

                Err = "OK";
            }
            catch (Exception ex)
            {
                Err = ex.Message;
            }
        }
예제 #7
0
파일: tWoInfo.cs 프로젝트: fengyubox/SFIS
 public string InsertWoSnRule(string lswosnrule)
 {
     try
     {
         IAdminProvider dp = (IAdminProvider)DpFactory.Create(typeof(IAdminProvider), DpFactory.ADMIN);
         IList <IDictionary <string, object> > LsDic = MapListConverter.JsonToListDictionary(lswosnrule);
         dp.AddListData("SFCR.T_WO_SN_RULE", LsDic);
         return("OK");
     }
     catch (Exception ex)
     {
         return(ex.Message);
     }
 }
예제 #8
0
        /// <summary>
        /// 导入料表到MaterialPreparation_1
        /// </summary>
        /// <param name="masterid"></param>
        /// <param name="woid"></param>
        /// <param name="userid"></param>
        public string InsertMaterialPreparation_1(string masterid, string woid, string userid)
        {
            DbConnection  conn = ProviderHelper.GetConnection(ProConfiguration.GetConfig().DatabaseType, ProConfiguration.GetConfig().DatabaseConnect);
            DbTransaction tx   = ProviderHelper.BeginTransaction(conn);

            try
            {
                IAdminProvider dp = (IAdminProvider)DpFactory.Create(typeof(IAdminProvider), DpFactory.ADMIN);
                IDictionary <string, object> mst = new Dictionary <string, object>();
                mst.Add("WOID", woid);
                mst.Add("MASTERID", masterid);
                dp.DeleteData(tx, "sfcr.t_material_preparation_1", mst);
                string fieldlist = "woId,partnumber,stationno,masterId,kpnumber,bomver".ToUpper();
                int    count     = 0;
                mst = new Dictionary <string, object>();
                mst.Add("WOID", woid);
                mst.Add("MASTERID", masterid);
                DataTable dt = dp.GetData(table, fieldlist, mst, out count).Tables[0];
                IList <IDictionary <string, object> > list = new List <IDictionary <string, object> >();
                foreach (DataRow dr in dt.Rows)
                {
                    mst = new Dictionary <string, object>();
                    mst.Add("WOID", dr["WOID"].ToString());
                    mst.Add("PARTNUMBER", dr["PARTNUMBER"].ToString());
                    mst.Add("USERID", userid);
                    mst.Add("STATIONNO", dr["STATIONNO"].ToString());
                    mst.Add("STATIONNUM", (dt.Select(string.Format("STATIONNO='{0}'", dr["STATIONNO"].ToString())).Length).ToString());
                    mst.Add("MASTERID", dr["MASTERID"].ToString());
                    mst.Add("KPNUMBER", dr["KPNUMBER"].ToString());
                    mst.Add("BOMVER", dr["BOMVER"].ToString());
                    mst.Add("RECDATE", System.DateTime.Now);
                    list.Add(mst);
                }
                dp.AddListData(tx, "sfcr.t_material_preparation_1", list);
                tx.Commit();
                return("OK");
            }
            catch (Exception ex)
            {
                tx.Rollback();
                return(ex.Message);
            }
            finally
            {
                conn.Close();
                conn.Dispose();
            }
        }
예제 #9
0
        public string Scrap_SN(IDictionary <string, object> mst, IDictionary <string, object> mst_scrap)
        {
            DbConnection  conn   = ProviderHelper.GetConnection(ProConfiguration.GetConfig().DatabaseType, ProConfiguration.GetConfig().DatabaseConnect);
            DbTransaction tx     = ProviderHelper.BeginTransaction(conn);
            string        Colnum = "ESN,WOID,PARTNUMBER,PRODUCTNAME,VERSIONCODE,TYPE,LOCSTATION,STATIONNAME,WIPSTATION,NEXTSTATION,USERID,RECDATE," +
                                   "ERRFLAG,SCRAPFLAG,SN,MAC,IMEI,CARTONNUMBER,TRAYNO,PALLETNUMBER,MCARTONNUMBER,MPALLETNUMBER,LINE,SECTIONNAME,ROUTGROUPID," +
                                   "STORENUMBER,WEIGHTQTY,QA_NO,QA_RESULT,TRACK_NO,ATE_STATION_NO,IN_LINE_TIME,BOMNUMBER,REWORKNO";
            int count = 0;

            try
            {
                IAdminProvider dp = (IAdminProvider)DpFactory.Create(typeof(IAdminProvider), DpFactory.ADMIN);
                Dictionary <string, object> dic = new Dictionary <string, object>();
                dic.Add("ESN", mst["ESN"]);
                DataTable dt_wip_tracking = dp.GetData("SFCR.T_WIP_TRACKING_ONLINE", Colnum, dic, out count).Tables[0];
                if (count > 0)
                {
                    dp.AddListData(tx, "SFCR.T_WIP_UNDO", DataTableToDictionary(dt_wip_tracking));
                }

                dp.UpdateData(tx, "SFCR.T_WIP_TRACKING_ONLINE", new string[] { "ESN" }, mst);

                dp.AddData(tx, "SFCR.T_SN_SCRAP", mst_scrap);

                string table     = "SFCR.T_WO_INFO";
                string fieldlist = "SCRAPQTY = SCRAPQTY + {0}";
                string filter    = "WOID ={0}";
                IDictionary <string, object> modFields = new Dictionary <string, object>();
                modFields.Add("SCRAPQTY", 1);
                IDictionary <string, object> keyVals = new Dictionary <string, object>();
                keyVals.Add("WOID", mst_scrap["WOID"]);
                TransactionManager.UpdateBatchData(table, fieldlist, modFields, filter, keyVals);

                tx.Commit();
                return("OK");
            }
            catch (Exception ex)
            {
                tx.Rollback();
                return(ex.Message);
            }
            finally
            {
                conn.Close();
                conn.Dispose();
            }
        }
예제 #10
0
        public string Insert_WipKeyParts_Undo(string ESN, string SNTYPE, string SNVAL)
        {
            try
            {
                int            count = 0;
                IAdminProvider dp    = (IAdminProvider)DpFactory.Create(typeof(IAdminProvider), DpFactory.ADMIN);
                IList <IDictionary <string, object> > list = new List <IDictionary <string, object> >();
                IDictionary <string, object>          mst  = null;
                mst = new Dictionary <string, object>();
                mst.Add("ESN", ESN);
                if (!string.IsNullOrEmpty(SNTYPE) && !string.IsNullOrEmpty(SNVAL))
                {
                    mst.Add("SNTYPE", SNTYPE);
                    mst.Add("SNVAL", SNVAL);
                }
                DataSet ds = null;
                if (DB_Flag == 0)
                {
                    ds = dp.GetData("SFCR.T_WIP_KEYPART_ONLINE", "ESN,WOID,SNTYPE,SNVAL,STATION,KPNO,RECDATE", mst, out count);
                }
                if (DB_Flag == 1)
                {
                    ds = dp.GetData("SFCR.T_WIP_KEYPART", "ESN,WOID,SNTYPE,SNVAL,STATION,KPNO,RECDATE", mst, out count);
                }

                DataTable dt = ds.Tables[0];
                foreach (DataRow dr in dt.Rows)
                {
                    mst = new Dictionary <string, object>();
                    mst.Add("ESN", dr["ESN"].ToString());
                    mst.Add("WOID", dr["WOID"].ToString());
                    mst.Add("SNTYPE", dr["SNTYPE"].ToString());
                    mst.Add("SNVAL", dr["SNVAL"].ToString());
                    mst.Add("STATION", dr["STATION"].ToString());
                    mst.Add("KPNO", dr["KPNO"].ToString());
                    mst.Add("RECDATE", dr["RECDATE"].ToString());
                    list.Add(mst);
                }
                dp.AddListData("SFCR.T_WIP_KEYPART_UNDO", list);
                return("OK");
            }
            catch (Exception ex)
            {
                return(ex.Message);
            }
        }
예제 #11
0
파일: tWoInfo.cs 프로젝트: fengyubox/SFIS
        /// <summary>
        /// 新增工单信息
        /// </summary>
        /// <param name="TWI"></param>
        /// <param name="Err"></param>
        public string InsertWoInfo(string dicwoinfo, string AteScript, string esn, string diclssnrule)
        {
            string err = "";
            IDictionary <string, object>          dicWO       = MapListConverter.JsonToDictionary(dicwoinfo);
            IList <IDictionary <string, object> > lsdicsnrule = null;

            if (!string.IsNullOrEmpty(diclssnrule))
            {
                lsdicsnrule = MapListConverter.JsonToListDictionary(diclssnrule);
            }
            DbConnection  conn = ProviderHelper.GetConnection(ProConfiguration.GetConfig().DatabaseType, ProConfiguration.GetConfig().DatabaseConnect);
            DbTransaction tx   = ProviderHelper.BeginTransaction(conn);

            try
            {
                #region 添加工单
                string         fieldlist         = "COUNT(1)";
                int            count             = 0;
                IAdminProvider dp                = (IAdminProvider)DpFactory.Create(typeof(IAdminProvider), DpFactory.ADMIN);
                IDictionary <string, object> mst = new Dictionary <string, object>();
                mst.Add("WOID", dicWO["WOID"]);
                DataTable dt = dp.GetData(table, fieldlist, mst, out count).Tables[0];

                err = "[woinfo]";
                if (dt.Rows[0][0].ToString() == "0")
                {
                    dicWO.Add("RECDATE", System.DateTime.Now);
                    dp.AddData(tx, table, dicWO);
                    #region

                    #endregion
                }
                else
                {
                    dicWO.Add("RECDATE", System.DateTime.Now);
                    dp.UpdateData(tx, table, new string[] { "WOID" }, dicWO);
                }

                err = "[AteScript]";
                #region 脚本信息
                if (!string.IsNullOrEmpty(AteScript))
                {
                    mst = new Dictionary <string, object>();
                    mst.Add("WOID", dicWO["WOID"]);
                    DataTable dtate = dp.GetData("SFCB.B_ATE_SCRIPT", "COUNT(1)", mst, out count).Tables[0];

                    if (dtate.Rows[0][0].ToString() == "0")
                    {
                        mst = new Dictionary <string, object>();
                        mst.Add("WOID", dicWO["WOID"]);
                        mst.Add("SCRIPT", AteScript);
                        dp.AddData(tx, "SFCB.B_ATE_SCRIPT", mst);
                    }
                    else
                    {
                        mst = new Dictionary <string, object>();
                        mst.Add("WOID", dicWO["WOID"]);
                        mst.Add("SCRIPT", AteScript);
                        dp.UpdateData(tx, "SFCB.B_ATE_SCRIPT", new string[] { "WOID" }, mst);
                    }
                }

                #endregion

                #endregion


                err = "[lsdicsnrule]";
                #region 添加工单序列号区间
                if (lsdicsnrule != null && lsdicsnrule.Count > 0)
                {
                    err = "[lsdicsnrule_1]";
                    mst = new Dictionary <string, object>();
                    mst.Add("WOID", dicWO["WOID"]);
                    mst.Add("REVE", "1");
                    dp.DeleteData(tx, "SFCR.T_SN_RULE", mst);

                    mst = new Dictionary <string, object>();
                    mst.Add("WOID", lsdicsnrule[0]["WOID"]);
                    dp.DeleteData("SFCR.T_WO_SN_RULE", mst);
                    foreach (IDictionary <string, object> dic in lsdicsnrule)
                    {
                        dic.Add("RECDATE", System.DateTime.Now);
                    }

                    dp.AddListData(tx, "SFCR.T_WO_SN_RULE", lsdicsnrule);

                    foreach (IDictionary <string, object> dic in lsdicsnrule)
                    {
                        if (dic["SNTYPE"].ToString() == esn.ToUpper())
                        {
                            mst = new Dictionary <string, object>();
                            mst.Add("WOID", dic["WOID"]);
                            mst.Add("SNPREFIX", dic["SNPREFIX"]);
                            mst.Add("SNPOSTFIX", dic["SNPOSTFIX"]);
                            mst.Add("SNSTART", dic["SNSTART"]);
                            mst.Add("SNEND", dic["SNEND"]);
                            mst.Add("REVE", "1");
                            mst.Add("VER", dic["VER"]);
                            mst.Add("CURRSN", "NA");
                            mst.Add("RECDATE", System.DateTime.Now);
                            dp.AddData(tx, "SFCR.T_SN_RULE", mst);
                        }
                    }
                }
                #endregion
                tx.Commit();
                return("OK");
            }
            catch (Exception ex)
            {
                tx.Rollback();
                return(err + ex.Message);
            }
            finally
            {
                conn.Close();
                conn.Dispose();
            }
        }