예제 #1
0
 public void LoginHandler()
 {
     if (D300SysUI.CheckNetworkStatus())
     {
         hkUserLogin.Stop();
         if (!string.IsNullOrEmpty(cboUname.Text) && !string.IsNullOrEmpty(txtPwd.Text))
         {
             msgDialog.ShowMessage("正在登录中,请稍后···", 1);
             ResultModel rModel = DataUpDownload.GetValidateUser(cboUname.Text, txtPwd.Text);
             if (rModel.IsSuccess)
             {
                 LoginSelectionDelegate(1, cboUname.Text);
                 this.Close();
             }
             else
             {
                 msgDialog.ShowMessage("登录失败", 1);
                 hkUserLogin.Start();
                 //LoginSelectionDelegate(0, "");
             }
         }
         else
         {
             msgDialog.ShowMessage("登录失败", 1);
             hkUserLogin.Start();
             //LoginSelectionDelegate(0, "");
         }
     }
     else
     {
         msgDialog.ShowMessage("网络没有连接", 1);
     }
 }
 public void SetProdInfo(string model)
 {
     try
     {
         string sql = string.Empty;
         List <SQLiteParameter> parameters = new List <SQLiteParameter>();
         //sql = "select * from FromERPDetail where Model like '%'+@Model+'%'";
         //parameters = new List<SQLiteParameter>() {
         //    new SQLiteParameter("@Model", model.Trim())
         //};
         sql = "select * from FromERPDetail where Model like '%" + model.Trim() + "%'";
         DataTable partsDt = db.ExecuteDataTable(sql, parameters.ToArray());
         if (partsDt != null && partsDt.Rows.Count > 0)
         {
             this.barcode = partsDt.Rows[0]["Barcode"].ToString();
             this.prodID  = partsDt.Rows[0]["ProdID"].ToString();
             int curTotalNum   = GetCurrentCaseProductTotal(this.prodID, this.caseNumberID);
             int otherTotalNum = GetOtherCaseProductTotal(this.prodID, this.caseNumberID);
             this.model       = partsDt.Rows[0]["Model"].ToString();
             lblProdName.Text = partsDt.Rows[0]["ProdName"].ToString();
             lblModel.Text    = partsDt.Rows[0]["Model"].ToString();
             lblsNum.Text     = partsDt.Rows[0]["Num"].ToString();
             lblTotalNum.Text = (curTotalNum + otherTotalNum).ToString();
             if (curTotalNum == 0)
             {
                 txtNum.Text = "";
             }
             else
             {
                 txtNum.Text = curTotalNum.ToString();
             }
             txtNum.Focus();
         }
         else
         {
             msg.ShowMessage("该配件不在发货单中", 1);
             lblProdName.Text = "该配件不在发货单中";
         }
     }
     catch (Exception ex)
     {
     }
 }
 public void SetProdInfo(string barcode, int type)
 {
     try
     {
         string caseNumberID = GetCaseNumber();
         if (type == 1)
         {
             if (Convert.ToInt32(lblTotalNum.Text) > Convert.ToInt32(lblsNum.Text))
             {
                 msg.ShowMessage("实发数量不能超过应发数量", 1);
             }
             else
             {
                 if (!string.IsNullOrEmpty(txtNum.Text) && Convert.ToInt32(txtNum.Text) > 0)
                 {
                     SaveDetail(Convert.ToInt32(lblTotalNum.Text), caseNumberID);
                 }
             }
             this.barcode    = barcode;
             txtCaseNum.Text = "";
             ShowProductInfo(caseNumberID);
         }
         else
         {
             ShowProductInfo(caseNumberID);
         }
     }
     catch (Exception ex)
     {
     }
 }
예제 #4
0
 void scanner_OnScanedEvent(Scanner.CodeInfo obj)
 {
     if (this.InvokeRequired)
     {
         Action <Scanner.CodeInfo> delegateFun = new Action <Scanner.CodeInfo>(scanner_OnScanedEvent);
         this.Invoke(delegateFun, obj);
     }
     else
     {
         if (wholeCase)
         {
             hkCaseMgr.Stop();
             CaseDetailMgrWholeCaseAdd detailAddFrm = new CaseDetailMgrWholeCaseAdd(obj.barcode);
             detailAddFrm.GetCaseDetailMgrWholeCaseAddDelegate += new CaseDetailMgrWholeCaseAdd.GetCaseDetailMgrWholeCaseAdd(detailAddFrm_GetCaseDetailMgrWholeCaseAddDelegate);
             detailAddFrm.Show();
         }
         else
         {
             //跳到增加明细界面上
             if (!string.IsNullOrEmpty(obj.barcode))
             {
                 hkCaseMgr.Stop();
                 DataTable dt = (DataTable)dgCaseList.DataSource;
                 if (dt != null && dt.Rows.Count > 0)
                 {
                     string           caseNumberID = dt.Rows[dgCaseList.CurrentRowIndex].ItemArray[2].ToString();
                     string           caseNo       = dt.Rows[dgCaseList.CurrentRowIndex].ItemArray[0].ToString();
                     CaseDetailMgrAdd detailAddFrm = new CaseDetailMgrAdd(caseNumberID, obj.barcode, caseNo);
                     detailAddFrm.Show();
                 }
                 else
                 {
                     msg.ShowMessage("请按F1键新建箱号", 1);
                     hkCaseMgr.Start();
                 }
             }
         }
     }
 }
예제 #5
0
 private void OkHandler()
 {
     try
     {
         hkCaseDetailMgrSearch.Stop();
         int index = Convert.ToInt32(txtSearchIndex.Text);
         GetConfirmSearchDelegate(1, index);
         this.Close();
     }
     catch (Exception ex)
     {
         msg.ShowMessage("请输入数字", 1);
     }
 }
예제 #6
0
        public CaseDetailMgrEdit(string ProdName, string Model, string sNum, string Num, string Barcode, string caseNumberID, bool isEdit)
        {
            InitializeComponent();
            this.lblProdName.Text = ProdName;
            this.lblModel.Text    = Model;
            this.lblsNum.Text     = sNum;
            this.Barcode          = Barcode;
            this.caseNumberID     = caseNumberID;
            int otherTotalNum = GetOtherCaseProductTotal(Barcode, caseNumberID);

            this.otherTotalNum = otherTotalNum;
            int curNum = GetCurrentCaseProductTotal(Barcode, caseNumberID);

            if (curNum > 0)
            {
                if (isEdit)
                {
                    this.txtNum.Text      = curNum.ToString();
                    this.lblTotalNum.Text = (curNum + otherTotalNum).ToString();
                }
                else
                {
                    this.txtNum.Text      = (curNum + Convert.ToInt32(Num)).ToString();
                    this.lblTotalNum.Text = (curNum + Convert.ToInt32(Num) + otherTotalNum).ToString();
                }
            }
            else
            {
                if (isEdit)
                {
                    this.txtNum.Text      = "0";
                    this.lblTotalNum.Text = otherTotalNum.ToString();
                }
                else
                {
                    this.txtNum.Text      = Num;
                    this.lblTotalNum.Text = (Convert.ToInt32(Num) + otherTotalNum).ToString();
                }
            }
            if (Convert.ToInt32(this.lblTotalNum.Text) > Convert.ToInt32(sNum))
            {
                msg.ShowMessage("实发数量不能超过应发数量", 1);
                this.txtNum.Text      = curNum.ToString();
                this.lblTotalNum.Text = sNum;
            }
            this.txtNum.SelectAll();
            hkCaseDetailMgrEdit.KeyHandlerDelegate += new Hook.KeyHandler(hkCaseDetailMgrEdit_KeyHandlerDelegate);
            hkCaseDetailMgrEdit.Start();
        }
예제 #7
0
        public void AddUpdateCaseDetail(string barcode)
        {
            try
            {
                string sql = string.Empty;
                List <SQLiteParameter> parameters = new List <SQLiteParameter>();
                //国际商品码
                sql        = @"select * from FromERPDetail where BoxBarcode=@BoxBarcode";
                parameters = new List <SQLiteParameter>()
                {
                    new SQLiteParameter("@BoxBarcode", barcode)
                };
                //处理Code128C码奇数位前面补零的问题
                sql += "  or BoxBarcode=@FormatBoxBarcode ";
                parameters.Add(new SQLiteParameter("@FormatBoxBarcode", barcode.Substring(1)));

                DataTable partsDt = db.ExecuteDataTable(sql, parameters.ToArray());
                if (partsDt != null && partsDt.Rows.Count > 0)
                {
                    hkCaseDetailMgr.Stop();
                    CaseDetailMgrEdit editFrm = new CaseDetailMgrEdit(partsDt.Rows[0]["ProdName"].ToString(), partsDt.Rows[0]["Model"].ToString(),
                                                                      partsDt.Rows[0]["Num"].ToString(), partsDt.Rows[0]["NormNum"].ToString(), partsDt.Rows[0]["Barcode"].ToString(), this.caseNumberID, false);
                    editFrm.GetCaseDetailEditDelegate += new CaseDetailMgrEdit.GetCaseDetailEdit(editFrm_GetCaseDetailEditDelegate);
                    editFrm.Show();
                }
                else
                {
                    if (barcode.Contains("-"))
                    {
                        //件码-数量
                        string[] infoArray = barcode.Split(new char[] { '-' });
                        sql        = @"select * from FromERPDetail where Barcode=@Barcode";
                        parameters = new List <SQLiteParameter>()
                        {
                            new SQLiteParameter("@Barcode", infoArray[0])
                        };
                        //处理Code128C码奇数位前面补零的问题
                        sql += "  or Barcode=@FormatBarcode ";
                        parameters.Add(new SQLiteParameter("@FormatBarcode", infoArray[0].Substring(1)));

                        DataTable dtFirst = db.ExecuteDataTable(sql, parameters.ToArray());
                        if (dtFirst != null && dtFirst.Rows.Count > 0)
                        {
                            hkCaseDetailMgr.Stop();
                            CaseDetailMgrEdit editFrm = new CaseDetailMgrEdit(dtFirst.Rows[0]["ProdName"].ToString(), dtFirst.Rows[0]["Model"].ToString(),
                                                                              dtFirst.Rows[0]["Num"].ToString(), infoArray[1], dtFirst.Rows[0]["Barcode"].ToString(), this.caseNumberID, false);
                            editFrm.GetCaseDetailEditDelegate += new CaseDetailMgrEdit.GetCaseDetailEdit(editFrm_GetCaseDetailEditDelegate);
                            editFrm.Show();
                        }
                        else
                        {
                            msg.ShowMessage("该配件不在发货单中", 1);
                        }
                    }
                    else
                    {
                        //自编条码
                        sql        = @"select * from FromERPDetail where Barcode=@Barcode";
                        parameters = new List <SQLiteParameter>()
                        {
                            new SQLiteParameter("@Barcode", barcode)
                        };
                        //处理Code128C码奇数位前面补零的问题
                        sql += "  or Barcode=@FormatBarcode ";
                        parameters.Add(new SQLiteParameter("@FormatBarcode", barcode.Substring(1)));

                        DataTable dtSecond = db.ExecuteDataTable(sql, parameters.ToArray());
                        if (dtSecond != null && dtSecond.Rows.Count > 0)
                        {
                            hkCaseDetailMgr.Stop();
                            if (dtSecond.Rows[0]["bJianMaInBox"].ToString().Equals("True"))
                            {
                                CaseDetailMgrEdit editFrm = new CaseDetailMgrEdit(dtSecond.Rows[0]["ProdName"].ToString(), dtSecond.Rows[0]["Model"].ToString(),
                                                                                  dtSecond.Rows[0]["Num"].ToString(), dtSecond.Rows[0]["NormNum"].ToString(), dtSecond.Rows[0]["Barcode"].ToString(), this.caseNumberID, false);
                                editFrm.GetCaseDetailEditDelegate += new CaseDetailMgrEdit.GetCaseDetailEdit(editFrm_GetCaseDetailEditDelegate);
                                editFrm.Show();
                            }
                            else
                            {
                                CaseDetailMgrEdit editFrm = new CaseDetailMgrEdit(dtSecond.Rows[0]["ProdName"].ToString(), dtSecond.Rows[0]["Model"].ToString(),
                                                                                  dtSecond.Rows[0]["Num"].ToString(), "1", dtSecond.Rows[0]["Barcode"].ToString(), this.caseNumberID, false);
                                editFrm.GetCaseDetailEditDelegate += new CaseDetailMgrEdit.GetCaseDetailEdit(editFrm_GetCaseDetailEditDelegate);
                                editFrm.Show();
                            }
                        }
                        else
                        {
                            msg.ShowMessage("该配件不在发货单中", 1);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
            }
        }
예제 #8
0
        public void SetProdInfo(string barcode)
        {
            try
            {
                int    curTotalNum   = GetCurrentCaseProductTotal(barcode, this.caseNumberID);
                int    otherTotalNum = GetOtherCaseProductTotal(barcode, this.caseNumberID);
                string sql           = string.Empty;
                List <SQLiteParameter> parameters = new List <SQLiteParameter>();
                //国际商品码
                sql        = @"select * from FromERPDetail where BoxBarcode=@BoxBarcode";
                parameters = new List <SQLiteParameter>()
                {
                    new SQLiteParameter("@BoxBarcode", barcode)
                };
                //处理Code128C码奇数位前面补零的问题
                sql += "  or BoxBarcode=@FormatBoxBarcode ";
                parameters.Add(new SQLiteParameter("@FormatBoxBarcode", barcode.Substring(1)));

                DataTable partsDt = db.ExecuteDataTable(sql, parameters.ToArray());
                if (partsDt != null && partsDt.Rows.Count > 0)
                {
                    prodID           = partsDt.Rows[0]["ProdID"].ToString();
                    prodBarcode      = partsDt.Rows[0]["Barcode"].ToString();
                    lblProdName.Text = partsDt.Rows[0]["ProdName"].ToString();
                    lblModel.Text    = partsDt.Rows[0]["Model"].ToString();
                    lblsNum.Text     = partsDt.Rows[0]["Num"].ToString();
                    txtNum.Text      = (Convert.ToInt32(partsDt.Rows[0]["NormNum"]) + curTotalNum).ToString();
                    lblTotalNum.Text = (Convert.ToInt32(partsDt.Rows[0]["NormNum"]) + curTotalNum + otherTotalNum).ToString();
                }
                else
                {
                    if (barcode.Contains("-"))
                    {
                        //件码-数量
                        string[] infoArray = barcode.Split(new char[] { '-' });
                        sql        = @"select * from FromERPDetail where Barcode=@Barcode";
                        parameters = new List <SQLiteParameter>()
                        {
                            new SQLiteParameter("@Barcode", infoArray[0])
                        };
                        //处理Code128C码奇数位前面补零的问题
                        sql += "  or Barcode=@FormatBarcode ";
                        parameters.Add(new SQLiteParameter("@FormatBarcode", infoArray[0].Substring(1)));

                        DataTable dtFirst = db.ExecuteDataTable(sql, parameters.ToArray());
                        if (dtFirst != null && dtFirst.Rows.Count > 0)
                        {
                            prodID           = dtFirst.Rows[0]["ProdID"].ToString();
                            prodBarcode      = dtFirst.Rows[0]["Barcode"].ToString();
                            lblProdName.Text = dtFirst.Rows[0]["ProdName"].ToString();
                            lblModel.Text    = dtFirst.Rows[0]["Model"].ToString();
                            lblsNum.Text     = dtFirst.Rows[0]["Num"].ToString();
                            txtNum.Text      = (Convert.ToInt32(infoArray[1]) + curTotalNum).ToString();
                            lblTotalNum.Text = (Convert.ToInt32(infoArray[1]) + curTotalNum + otherTotalNum).ToString();
                        }
                        else
                        {
                            msg.ShowMessage("该配件不在发货单中", 1);
                            lblProdName.Text = "该配件不在发货单中";
                        }
                    }
                    else
                    {
                        //自编条码
                        sql        = @"select * from FromERPDetail where Barcode=@Barcode";
                        parameters = new List <SQLiteParameter>()
                        {
                            new SQLiteParameter("@Barcode", barcode)
                        };
                        //处理Code128C码奇数位前面补零的问题
                        sql += "  or Barcode=@FormatBarcode ";
                        parameters.Add(new SQLiteParameter("@FormatBarcode", barcode.Substring(1)));

                        DataTable dtSecond = db.ExecuteDataTable(sql, parameters.ToArray());
                        if (dtSecond != null && dtSecond.Rows.Count > 0)
                        {
                            prodID           = dtSecond.Rows[0]["ProdID"].ToString();
                            prodBarcode      = dtSecond.Rows[0]["Barcode"].ToString();
                            lblProdName.Text = dtSecond.Rows[0]["ProdName"].ToString();
                            lblModel.Text    = dtSecond.Rows[0]["Model"].ToString();
                            lblsNum.Text     = dtSecond.Rows[0]["Num"].ToString();
                            if (dtSecond.Rows[0]["bJianMaInBox"].ToString().Equals("True"))
                            {
                                txtNum.Text      = (Convert.ToInt32(dtSecond.Rows[0]["NormNum"]) + curTotalNum).ToString();
                                lblTotalNum.Text = (Convert.ToInt32(dtSecond.Rows[0]["NormNum"]) + curTotalNum + otherTotalNum).ToString();
                            }
                            else
                            {
                                txtNum.Text      = (curTotalNum + 1).ToString();
                                lblTotalNum.Text = (curTotalNum + 1 + otherTotalNum).ToString();
                            }
                        }
                        else
                        {
                            msg.ShowMessage("该配件不在发货单中", 1);
                            lblProdName.Text = "该配件不在发货单中";
                        }
                    }
                }
                if (Convert.ToInt32(lblTotalNum.Text) > Convert.ToInt32(lblsNum.Text))
                {
                    msg.ShowMessage("实发数量不能超过应发数量", 1);
                    txtNum.Text      = curTotalNum.ToString();
                    lblTotalNum.Text = lblsNum.Text;
                }
                else
                {
                    if (!string.IsNullOrEmpty(txtNum.Text) && Convert.ToInt32(txtNum.Text) > 0)
                    {
                        SaveDetail(Convert.ToInt32(lblTotalNum.Text));
                    }
                }
            }
            catch (Exception ex)
            {
            }
        }
예제 #9
0
        private void btnClearHistory_Click(object sender, EventArgs e)
        {
            hkSettings.Stop();
            MsgBox prompt = new MsgBox("是否确定要清除登录历史?", "警告", 3);

            prompt.ConfirmSelectionDelegate += delegate(int selection)
            {
                if (selection == 1)
                {
                    try
                    {
                        string sql = @"delete from LoginInfo";
                        db.ExecuteNonQuery(sql, null);
                        msgDialog.ShowMessage("清除成功", 1);
                    }
                    catch (Exception ex)
                    {
                    }
                }
                hkSettings.Start();
            };
            prompt.Show();
        }
예제 #10
0
 public void DownloadDetailHandler(Scanner.CodeInfo obj)
 {
     #region 记录发货单条码
     string            sql        = @"delete from AppConfig where Key=@Key";
     SQLiteParameter[] parameters = new SQLiteParameter[] {
         new SQLiteParameter("@Key", "CaseBarcode"),
         new SQLiteParameter("@Value", obj.barcode)
     };
     try
     {
         db.ExecuteNonQuery(sql, parameters);
         sql = @"insert into AppConfig(Key,Value) values(@Key,@Value)";
         //parameters = new SQLiteParameter[]{
         //    new SQLiteParameter("@Key", "CaseBarcode"),
         //    new SQLiteParameter("@Value", "0000000004-01")
         // };
         db.ExecuteNonQuery(sql, parameters);
     }
     catch (Exception ex)
     {
     }
     #endregion
     #region   条码,下载发货单明细
     if (D300SysUI.CheckNetworkStatus())
     {
         string      detailStrJson = DataUpDownload.DownloadInvoiceDetail(obj.barcode);
         FromERPJson model         = JsonConvert.DeserializeObject <FromERPJson>(detailStrJson);
         if (model.IsSuccess)
         {
             msgDialog.ShowMessage("正在处理中,请稍后···", 1);
             sql = @"delete from FromERPDetail";
             try
             {
                 db.ExecuteNonQuery(sql, null);
             }
             catch (Exception ex)
             {
             }
             if (model.ReturnData.Count > 0)
             {
                 bool isSuccess = false;
                 using (SQLiteConnection connection = new SQLiteConnection(db.ConnectionString))
                 {
                     connection.Open();
                     using (DbTransaction transaction = connection.BeginTransaction())
                     {
                         using (SQLiteCommand command = new SQLiteCommand(connection))
                         {
                             try
                             {
                                 for (int i = 0; i < model.ReturnData.Count; i++)
                                 {
                                     command.CommandText = @"insert into FromERPDetail(InvoiceID,ProdID,Model,ProdName,Num,Barcode,BoxBarcode,NormNum,Title,bJianMaInBox,siteCode,ModType,ModID,DH) values (@InvoiceID,@ProdID,@Model,@ProdName,@Num,@Barcode,@BoxBarcode,@NormNum,@Title,@bJianMaInBox,@siteCode,@ModType,@ModID,@DH)";
                                     parameters          = new SQLiteParameter[] {
                                         new SQLiteParameter("@InvoiceID", model.ReturnData[i].InvoiceID),
                                         new SQLiteParameter("@ProdID", model.ReturnData[i].ProdID),
                                         new SQLiteParameter("@Model", model.ReturnData[i].Model),
                                         new SQLiteParameter("@ProdName", model.ReturnData[i].ProdName),
                                         new SQLiteParameter("@Num", model.ReturnData[i].Num),
                                         new SQLiteParameter("@Barcode", model.ReturnData[i].Barcode),
                                         new SQLiteParameter("@BoxBarcode", model.ReturnData[i].BoxBarcode),
                                         new SQLiteParameter("@NormNum", model.ReturnData[i].NormNum),
                                         new SQLiteParameter("@Title", model.ReturnData[i].Title),
                                         new SQLiteParameter("@bJianMaInBox", model.ReturnData[i].bJianMaInBox),
                                         new SQLiteParameter("@siteCode", model.ReturnData[i].siteCode),
                                         new SQLiteParameter("@ModType", model.ReturnData[i].ModType),
                                         new SQLiteParameter("@ModID", model.ReturnData[i].ModID),
                                         new SQLiteParameter("@DH", model.ReturnData[i].DH)
                                     };
                                     if (parameters != null)
                                     {
                                         command.Parameters.AddRange(parameters);
                                     }
                                     command.ExecuteNonQuery();
                                 }
                                 transaction.Commit();
                                 isSuccess = true;
                             }
                             catch (Exception ex)
                             {
                                 transaction.Rollback();
                                 isSuccess = false;
                             }
                         }
                     }
                 }
                 if (isSuccess)
                 {
                     CaseMgr caseMgrFrm = new CaseMgr(0);
                     caseMgrFrm.Show();
                 }
             }
         }
         else
         {
             msgDialog.ShowMessage("没有该发货草稿单据", 1);
         }
     }
     else
     {
         msgDialog.ShowMessage("网络没有连接", 1);
     }
     #endregion
 }