Beispiel #1
0
        private bool CHECK_EMP()
        {
            bool   Flag = false;
            string EMP  = InputStr;

            try
            {
                DataTable dt = OperateDB.Get_User_Info(EMP.Split('-')[0], EMP.Split('-')[1]);
                if (dt.Rows.Count > 0)
                {
                    //ListViewItem lvi = new ListViewItem();
                    //View.Details = System.Windows.Forms.View.Details;
                    //lvi.SubItems[0].Text = "00";
                    //lvi.SubItems.Add(dt.Rows[0]["USERID"].ToString());
                    //lvi.SubItems.Add(dt.Rows[0]["USERNAME"].ToString());
                    //listView1.Items.Add(lvi);
                    EmpLoyee = EMP;
                    dataGridEmp.Rows[0].Cells[0].Value = dt.Rows[0]["USERID"].ToString();
                    dataGridEmp.Rows[0].Cells[1].Value = dt.Rows[0]["USERNAME"].ToString();
                    SendMsg(mLogMsgType.Incoming, "EMP OK,Input CMD");
                    Flag = true;
                }
                else
                {
                    SendMsg(mLogMsgType.Error, "NO Employee");
                }
            }
            catch (Exception ex)
            {
                SendMsg(mLogMsgType.Error, "检查权限失败:" + ex.Message);
                Flag = false;
            }
            return(Flag);
        }
Beispiel #2
0
        private bool Call_TEST_STOCKIN(string STOCK_NO)
        {
            //  Application.DoEvents();
            bool      C_Flag  = false;
            int       Cur_Rec = 0;
            int       Tot_Rec = 0;
            int       Err_Rec = 0;
            DataTable dt      = OperateDB.getNewTable(OperateDB.Get_Wip_Tracking("STORENUMBER", STOCK_NO), string.Format("LOCSTATION<>'{0}'", MYGROUP));

            Tot_Rec = dt.Rows.Count;
            string _StrErr = string.Empty;

            foreach (DataRow dr in dt.Rows)
            {
                _StrErr             = OperateDB.TEST_MAIN_ONLY(dr["ESN"].ToString(), MYGROUP, Section, MYGROUP + "1", EmpLoyee, Line_Name);
                Cur_Rec             = Cur_Rec + 1;
                progressBarX1.Value = (int)(Math.Round((decimal)Cur_Rec / Tot_Rec, 2) * 100); //Convert.ToInt32((Convert.ToDouble(Cur_Rec / Tot_Rec) * 100));
                progressBarX1.Update();
                progressBarX1.Text = (Tot_Rec - Cur_Rec).ToString();
                progressBarX1.Update();
                if (Cur_Rec % 50 == 0)
                {
                    System.Threading.Thread.Sleep(200);
                    this.Refresh();
                }
                if (_StrErr != "OK")
                {
                    Err_Rec          = Err_Rec + 1;
                    LabError.Visible = true;
                    LabError.Text    = "NG Count-->" + Err_Rec.ToString();
                }
            }
            return(C_Flag);
        }
Beispiel #3
0
        private void Frm_StationName_Load(object sender, EventArgs e)
        {
            cb_line.Items.Clear();
            List <string> LsLine = OperateDB.Get_Line_List();

            foreach (string str in LsLine)
            {
                cb_line.Items.Add(str);
            }
            cb_line.SelectedIndex = 0;

            dgvstation.DataSource = OperateDB.Get_All_Station();
        }
Beispiel #4
0
        private void Insert_Z_WIP_TRACKING(string STOCK_NO)
        {
            string _StrErr = OperateDB.Inser_Z_WIP_TRACKING(STOCK_NO);

            if (_StrErr == "OK")
            {
                SendMsg(mLogMsgType.Incoming, "上传数据完成");
            }
            else
            {
                SendMsg(mLogMsgType.Error, "上传数据到仓库异常:" + _StrErr);
            }
        }
Beispiel #5
0
        private int  CHECK_WOSTATUS()
        {
            DataTable dt = OperateDB.Get_WoInfo(My_MoNumber);

            if (dt.Rows.Count == 0)
            {
                return(99);
            }
            else
            {
                return(Convert.ToInt32(dt.Rows[0]["WOSTATE"].ToString()));
            }
        }
Beispiel #6
0
        private int Check_DATA_Correct()
        {
            int Flag = 0;

            foreach (DataRow dr in InputData.Rows)
            {
                if (OperateDB.CHECK_DATA_Z_WHS_WIP_TRACKING(dr["ESN"].ToString()) != 0)
                {
                    SendMsg(mLogMsgType.Error, dr["ESN"].ToString() + " 仓库数据重复");
                    return(1);
                }
            }


            return(Flag);
        }
Beispiel #7
0
        private static void UPDATE_WIPSTATION(string STOCK_NO)
        {
            DataTable dt = OperateDB.Get_Wip_Tracking("STORENUMBER", STOCK_NO, "DISTINCT WOID");

            foreach (DataRow dr in dt.Rows)
            {
                Dictionary <string, object> dic = new Dictionary <string, object>();
                dic.Add("WOID", dr["WOID"].ToString());
                dic.Add("STORENUMBER", STOCK_NO);
                dic.Add("WIPSTATION", OperateDB.GetWOLoc(dr["WOID"].ToString()));
                List <string> ListFields = new List <string>();
                ListFields = new List <string>();
                ListFields.Add("WOID");
                ListFields.Add("STORENUMBER");
                OperateDB.UPDATE_WIP_TRACKING(dic, ListFields);
            }
        }
Beispiel #8
0
        private bool CHECK_ROUTE()
        {
            bool      Flag              = true;
            DataView  dataView          = InputData.DefaultView;
            DataTable dataTableDistinct = dataView.ToTable(true, "LOCSTATION");

            foreach (DataRow dr in dataTableDistinct.Rows)
            {
                DataTable dt      = OperateDB.getNewTable(InputData, string.Format("LOCSTATION='{0}'", dr["LOCSTATION"].ToString()));
                string    _StrErr = OperateDB.CHECK_ROUTE(dt.Rows[0]["ESN"].ToString(), MYGROUP);
                if (_StrErr != "OK")
                {
                    Flag = false;
                    SendMsg(mLogMsgType.Error, dt.Rows[0]["ESN"].ToString() + " " + _StrErr);
                    break;
                }
            }
            return(Flag);
        }
Beispiel #9
0
        /// 列印入库单据
        /// </summary>
        /// <param name="StockIn"></param>
        private void PrintInventoryDocuments(string StockIn)
        {
            bool PrintFlag = true;

            StockNo = StockIn;
            dtStock = OperateDB.GetStockInPrint(StockNo);
            foreach (DataRow dr in dtStock.Rows)
            {
                if (dr[2].ToString() != OperateDB.GetWOLoc(dr["WOID"].ToString()))
                {
                    SendMsg(mLogMsgType.Error, "数据未全部上抛完成,不列印单据");
                    PrintFlag = false;
                    break;
                }
            }
            if ((PrintFlag) && (dtStock.Rows.Count > 0))
            {
                PrintStockInNo.Print();
            }
            dtStock = null;
        }
Beispiel #10
0
        private bool CHECK_CLOSE_STATUS()
        {
            bool Flag     = true;
            int  PACKTYPE = 0;
            Dictionary <string, object> dic = new Dictionary <string, object>();

            switch (dataGridEmp.Rows[0].Cells[2].Value.ToString())
            {
            case "T":
                PACKTYPE = 0;
                break;

            case "C":
                PACKTYPE = 1;
                break;

            case "P":
                PACKTYPE = 2;
                break;
            }
            dic.Add("PALLETNUMBER", InputStr);
            dic.Add("PACKTYPE", PACKTYPE);
            DataTable dt = OperateDB.Get_Pallet_Info(dic);

            if (dt.Rows.Count > 0)
            {
                if (Convert.ToInt32(dt.Rows[0]["CLOSEFLAG"].ToString()) == 0)
                {
                    Flag = false;
                    SendMsg(mLogMsgType.Error, InputStr + " 没有关闭");
                }
                if (dt.Rows.Count > 1)
                {
                    Flag = false;
                    SendMsg(mLogMsgType.Error, InputStr + " 数据存在多笔,请联系SFIS人员");
                }
            }

            return(Flag);
        }
Beispiel #11
0
        /// <summary>
        /// 检查产品状态 1 没有数据,2有报废,3有不良
        /// </summary>
        /// <returns></returns>
        private int CHECK_ERROR()
        {
            int       Flag = 0;
            DataTable dt   = OperateDB.Get_Wip_Tracking(sCmd, InputStr);

            InputData = dt;
            if (dt.Rows.Count == 0)
            {
                Flag = 1;
                return(Flag);
            }
            if (OperateDB.getNewTable(dt, string.Format("SCRAPFLAG<>'{0}'", "0")).Rows.Count > 0)
            {
                Flag = 2;
            }
            if (OperateDB.getNewTable(dt, string.Format("ERRFLAG<>'{0}'", "0")).Rows.Count > 0)
            {
                Flag = 3;
            }
            My_MoNumber = dt.Rows[0]["WOID"].ToString();
            return(Flag);
        }
Beispiel #12
0
        private void UpLoad_System()
        {
            if (listBoxEsn.Items.Count == 0 && listBoxTray.Items.Count == 0 && listBoxCarton.Items.Count == 0 && listBoxPallet.Items.Count == 0)
            {
                SendMsg(mLogMsgType.Error, "No Data Upload");
                return;
            }
            else
            {
                SendMsg(mLogMsgType.Normal, "更改入库单号");
                #region 更改入库单号
                StockNo = OperateDB.GetStockinNumber();
                Dictionary <string, object> mst = null;
                List <string> Fields            = null;
                string        _StrErr           = string.Empty;
                if (listBoxEsn.Items.Count > 0)
                {
                    Fields = new List <string>();
                    Fields.Add("ESN");
                    foreach (string ItemStr in listBoxEsn.Items)
                    {
                        mst = new Dictionary <string, object>();
                        mst.Add("STORENUMBER", StockNo);
                        mst.Add("ESN", ItemStr);
                        _StrErr = OperateDB.UPDATE_WIP_TRACKING(mst, Fields);
                        if (_StrErr != "OK")
                        {
                            SendMsg(mLogMsgType.Error, "UPDATE STOCKNO Faill: " + _StrErr);
                            return;
                        }
                    }
                }
                if (listBoxTray.Items.Count > 0)
                {
                    Fields = new List <string>();
                    Fields.Add("TRAYNO");
                    foreach (string ItemStr in listBoxTray.Items)
                    {
                        mst = new Dictionary <string, object>();
                        mst.Add("STORENUMBER", StockNo);
                        mst.Add("TRAYNO", ItemStr);
                        _StrErr = OperateDB.UPDATE_WIP_TRACKING(mst, Fields);
                        if (_StrErr != "OK")
                        {
                            SendMsg(mLogMsgType.Error, "UPDATE STOCKNO Faill: " + _StrErr);
                            return;
                        }
                    }
                }
                if (listBoxCarton.Items.Count > 0)
                {
                    Fields = new List <string>();
                    Fields.Add("CARTONNUMBER");
                    foreach (string ItemStr in listBoxCarton.Items)
                    {
                        mst = new Dictionary <string, object>();
                        mst.Add("STORENUMBER", StockNo);
                        mst.Add("CARTONNUMBER", ItemStr);
                        _StrErr = OperateDB.UPDATE_WIP_TRACKING(mst, Fields);
                        if (_StrErr != "OK")
                        {
                            SendMsg(mLogMsgType.Error, "UPDATE STOCKNO Faill: " + _StrErr);
                            return;
                        }
                    }
                }
                if (listBoxPallet.Items.Count > 0)
                {
                    Fields = new List <string>();
                    Fields.Add("PALLETNUMBER");
                    foreach (string ItemStr in listBoxPallet.Items)
                    {
                        mst = new Dictionary <string, object>();
                        mst.Add("STORENUMBER", StockNo);
                        mst.Add("PALLETNUMBER", ItemStr);
                        _StrErr = OperateDB.UPDATE_WIP_TRACKING(mst, Fields);
                        if (_StrErr != "OK")
                        {
                            SendMsg(mLogMsgType.Error, "UPDATE STOCKNO Faill: " + _StrErr);
                            return;
                        }
                    }
                }
                #endregion

                LabError.Text = string.Empty;
                SendMsg(mLogMsgType.Normal, "执行过站...");
                Call_TEST_STOCKIN(StockNo);
                if (!string.IsNullOrEmpty(LabError.Text))
                {
                    SendMsg(mLogMsgType.Error, "Call_TEST_STOCKIN Error");
                    return;
                }
                SendMsg(mLogMsgType.Normal, "更改WIP STATION");
                UPDATE_WIPSTATION(StockNo);
                SendMsg(mLogMsgType.Normal, "写入数据到仓库...");
                Insert_Z_WIP_TRACKING(StockNo);
                ClearData();
                SendMsg(mLogMsgType.Normal, "数据上传完成....");
                PrintInventoryDocuments(StockNo);
            }
        }
Beispiel #13
0
        private void Frm_StockingIn_Load(object sender, EventArgs e)
        {
            if (!Directory.Exists("C:\\SFIS"))
            {
                Directory.CreateDirectory("C:\\SFIS");
            }


            FileVersionInfo myFileVersion = FileVersionInfo.GetVersionInfo(System.Windows.Forms.Application.ExecutablePath);

            this.Text = string.Format("{0} Version:{1} (Build Date:{2})", "Stockin_In", myFileVersion.FileVersion, System.IO.File.GetLastWriteTime(System.Windows.Forms.Application.ExecutablePath).ToShortDateString());

            string _StrErr = string.Empty;

            if (!OperateDB.Check_Version("STOCKIN", System.Windows.Forms.Application.ProductVersion, null, null, null, out _StrErr))
            {
                if (_StrErr == "OK")
                {
                    RunFile(System.Windows.Forms.Application.StartupPath + @"\", "AutoUpdate.exe", appfilename);
                    MessageBox.Show("该程序为版本不是最新版\r\n请更新后运行");
                    string    FileName = System.IO.Path.GetFileName(System.Windows.Forms.Application.ExecutablePath);
                    Process[] prc      = Process.GetProcessesByName(FileName.Substring(0, FileName.LastIndexOf('.')));
                    if (prc.Length > 0)
                    {
                        foreach (Process pc in prc)
                        {
                            pc.Kill();
                        }
                    }
                    return;
                }
                else
                {
                    MessageBox.Show("检查版本失败:" + _StrErr, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    Application.Exit();
                }
            }

            Line_Name = IniReadValue("STOCKIN", "LINE", IniFilePath);
            MYGROUP   = IniReadValue("STOCKIN", "MYGROUP", IniFilePath);
            SetStation();

            dataGridEsn.Columns.Add("ESN", "ESN");
            dataGridEsn.Columns.Add("Toatal", "Toatal Qty");
            dataGridEsn.Rows.Add("Toatal", "0");

            dataGridTray.Columns.Add("Tray", "Tray");
            dataGridTray.Columns.Add("Toatal", "Toatal Qty");
            dataGridTray.Rows.Add("Toatal", "0");

            dataGridCarton.Columns.Add("CARTON", "CARTON");
            dataGridCarton.Columns.Add("Toatal", "Toatal Qty");
            dataGridCarton.Rows.Add("Toatal", "0");

            dataGridPallet.Columns.Add("Pallet", "PALLET");
            dataGridPallet.Columns.Add("Toatal", "Toatal Qty");
            dataGridPallet.Rows.Add("Toatal", "0");
            SetdataGridWidth();
            dataGridEmp.Rows.Add("", "", "0");
            SetStation();

            if (!Directory.Exists(Application.StartupPath + @"\Database"))
            {
                Directory.CreateDirectory(Application.StartupPath + @"\Database");
            }
            if (File.Exists(Application.StartupPath + @"\Database\dbtemp.mdb"))
            {
                File.Delete(Application.StartupPath + @"\Database\dbtemp.mdb");
            }
            CreateAccessDb CDB = new CreateAccessDb();

            CDB._CreateMDB();
            CDB._Create_T_CHECK_SAP();
            cdbAccess cda = new cdbAccess();

            cda.ExecuteOleDbCommand("delete from T_CHECK_SAP");
            txt_InputStr.Focus();
        }
Beispiel #14
0
        private bool CHECK_SAP()
        {
            bool      AccessFlag = false;
            cdbAccess cdb        = new cdbAccess();
            DataTable dt         = cdb.GetDatatable("select woId,partnumber,sum(data_qty) as  QTY from T_CHECK_SAP group by  woId,partnumber");

            if (dt.Rows.Count == 0)
            {
                AccessFlag = true;
                dt.Rows.Add(InputData.Rows[0]["WOID"].ToString(), InputData.Rows[0]["partnumber"].ToString(), InputData.Rows.Count);
            }

            bool   sFlag     = false;
            string FactoryId = string.Empty;


            foreach (DataRow dr in dt.Rows)
            {
                int CHK_QTY = 0;
                if (dr["WOID"].ToString() == InputData.Rows[0]["WOID"].ToString() && !AccessFlag)
                {
                    CHK_QTY = Convert.ToInt32(dr["QTY"].ToString()) + InputData.Rows.Count;
                }
                else
                {
                    CHK_QTY = Convert.ToInt32(dr["QTY"].ToString());
                }

                FactoryId = OperateDB.Get_WoInfo(dr["WOID"].ToString()).Rows[0]["FACTORYID"].ToString();
                Dictionary <string, object> dic = new Dictionary <string, object>();
                dic.Add("PARTNUMBER", dr["PARTNUMBER"].ToString());
                dic.Add("WOID", dr["WOID"].ToString());
                dic.Add("QTY", CHK_QTY);
                dic.Add("EMP_NO", dr["QTY"].ToString());
                dic.Add("EMP_NAME", dr["QTY"].ToString());
                dic.Add("PLANT", string.IsNullOrEmpty(FactoryId) ? "2100" : FactoryId);
                string[] LsMsg = SapConn.CHK_STOCKIN_Z_RFC_AUFNR_MIGO(DictionaryToJson(dic));
                if (LsMsg.Length < 5)
                {
                    SendMsg(mLogMsgType.Error, "检查SAP 发生异常" + LsMsg[0].ToString());
                    sFlag = false;
                }
                else
                {
                    string SAP_STOCKNO = LsMsg[0].ToString();
                    string SAP_TYPE    = LsMsg[1].ToString();
                    string SAP_E_ID    = LsMsg[2].ToString();
                    string SAP_E_NUM   = LsMsg[3].ToString();
                    string SAP_MSG     = LsMsg[4].ToString();
                    if (SAP_TYPE.ToUpper() == "S")
                    {
                        SendMsg(mLogMsgType.Incoming, string.Format("检查SAP 工单:[{0}] 数量:[{1}] OK", dr["WOID"].ToString(), CHK_QTY.ToString()));

                        sFlag = true;
                    }
                    else
                    {
                        string sSAP_MSG = string.Format("工单:{0},料号:{1},数量:{2},MSG:{3}", dr["WOID"].ToString(), dr["PARTNUMBER"].ToString(), CHK_QTY.ToString(), SAP_TYPE + "-" + SAP_E_ID + "-" + SAP_E_NUM + "-" + SAP_MSG);

                        SendMsg(mLogMsgType.Error, "SAP:" + sSAP_MSG);
                        sFlag = false;
                        break;
                    }
                }
            }

            SendMsg(mLogMsgType.Incoming, "检查SAP数据完成....");
            return(sFlag);
        }