From bafdbac9abdfc9de05b211cf7f54a3f792cb8a74 Mon Sep 17 00:00:00 2001 From: zrg <z18737863051@163.com> Date: 星期三, 08 一月 2025 17:48:14 +0800 Subject: [PATCH] 单品过站增加班次,修复班次开班单的制单人字段保存错 --- WarM/条码打印/Gy_PackBarCodeBill_automaticallyByPLC.cs | 301 ++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 232 insertions(+), 69 deletions(-) diff --git "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_PackBarCodeBill_automaticallyByPLC.cs" "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_PackBarCodeBill_automaticallyByPLC.cs" index 578ef1d..b7698c4 100644 --- "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_PackBarCodeBill_automaticallyByPLC.cs" +++ "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_PackBarCodeBill_automaticallyByPLC.cs" @@ -10,6 +10,7 @@ using System.Linq; using System.Text; using System.Windows.Forms; +using Microsoft.VisualBasic; namespace WarM.鏉$爜鎵撳嵃 { @@ -71,6 +72,10 @@ public bool BillChange; // public bool grdStatus; public int selectRow = 0; + + //璁板綍褰撳墠缁勬墭鐨勬潯鐮佺殑婧愬崟ID銆佸瓙ID锛岀敤浜庝繚璇佸綋鍓嶆墭涓墍鏈夊瓙鏉$爜涓哄悓涓�涓伐鍗曠敓鎴� + public int HSourceInterID_ICMO = 0; + public int HSourceEntryID_ICMO = 0; private void Gy_PackBarCodeBill_automaticallyByPLC_Load(object sender, EventArgs e) { @@ -181,6 +186,11 @@ DBUtility.Xt_BaseBillFun.initGridList(grdSub, this.Name + "grdSub"); getDisplay_GrdMain(); + + if (grdMain.Rows.Count > 0 && grdMain.Rows[0].Cells[4].Value!=null) + { + getPackQty(grdMain.Rows[0].Cells[4].Value.ToString()); + } } @@ -347,22 +357,32 @@ //鏈弧鎵樼敓鎴� 鎸夐挳 鐐瑰嚮浜嬩欢 private void button_produceByHand_Click(object sender, EventArgs e) { - if (HQty == 0) + try { - MessageBox.Show("璇锋壂鐮佸瓙鏉$爜!"); - return; + if (HQty == 0) + { + MessageBox.Show("璇锋壂鐮佸瓙鏉$爜!"); + return; + } + this.Sub_SaveBill(); + + //缁勬墭鎴愬姛鍚庯紝娓呯┖缁勬墭鏁伴噺涓庢簮鍗曚俊鎭� + set_clearPackQtyAndSourceInfo(); } - this.Sub_SaveBill(); + catch(Exception ex) + { + MessageBox.Show(ex.Message); + } } //鑷姩缁勬墭 private void button_startListen_Click(object sender, EventArgs e) { - if (DBUtility.ClsPub.isLong(textBox_PackQty.Text) == 0) - { - MessageBox.Show("璇疯缃墭鏉$爜鐨勬渶灏忓寘瑁呮暟锛�"); - return; - } + //if (DBUtility.ClsPub.isLong(textBox_PackQty.Text) == 0) + //{ + // MessageBox.Show("璇疯缃墭鏉$爜鐨勬渶灏忓寘瑁呮暟锛�"); + // return; + //} isStartListen = 1; @@ -408,22 +428,31 @@ { if(isStartListen == 1) { - if(HQty == DBUtility.ClsPub.isDoule(textBox_PackQty.Text)) + try { - this.Sub_SaveBill(); - - //璁剧疆鎵撳嵃妯℃澘锛屾墦鍗� - grdSub.Rows[0].Cells[0].Value = "*"; - Report = new GridppReport(); - Report.LoadFromFile(DBUtility.ClsPub.AppPath + @"\" + textBox_PrintModelParams.Text + ".grf"); //here . - Report.BeforePostRecord += new _IGridppReportEvents_BeforePostRecordEventHandler(ReportBeforePostRecord); - Report.FetchRecord += new _IGridppReportEvents_FetchRecordEventHandler(ReportFetchRecordByDataTable); - Report.PrintEnd += new _IGridppReportEvents_PrintEndEventHandler(ReportPrintEnd); - if (comboBox_PrinterParams.Text != "") + if (HQty == DBUtility.ClsPub.isDoule(textBox_PackQty.Text)) { - Report.Printer.PrinterName = comboBox_PrinterParams.Text.Replace("(榛樿)", ""); + this.Sub_SaveBill(); + + //璁剧疆鎵撳嵃妯℃澘锛屾墦鍗� + grdSub.Rows[0].Cells[0].Value = "*"; + Report = new GridppReport(); + Report.LoadFromFile(DBUtility.ClsPub.AppPath + @"\" + textBox_PrintModelParams.Text + ".grf"); //here . + Report.BeforePostRecord += new _IGridppReportEvents_BeforePostRecordEventHandler(ReportBeforePostRecord); + Report.FetchRecord += new _IGridppReportEvents_FetchRecordEventHandler(ReportFetchRecordByDataTable); + Report.PrintEnd += new _IGridppReportEvents_PrintEndEventHandler(ReportPrintEnd); + if (comboBox_PrinterParams.Text != "") + { + Report.Printer.PrinterName = comboBox_PrinterParams.Text.Replace("(榛樿)", ""); + } + Report.Print(false); + + //缁勬墭鎴愬姛鍚庯紝娓呯┖缁勬墭鏁伴噺涓庢簮鍗曚俊鎭� + set_clearPackQtyAndSourceInfo(); } - Report.Print(false); + }catch(Exception ex) + { + MessageBox.Show(ex.Message); } } } @@ -432,25 +461,31 @@ //鐢熸垚鎵樼洏鏉$爜 private bool Sub_SaveBill() { - //鑾峰彇缁勭粐淇℃伅 - HOrgID = get_ORGANIZATIONSIDByName(cmbHOrgID.Text); - HOrgNumber = get_ORGANIZATIONSNOByName(cmbHOrgID.Text); - - if (HOrgID == -1) + try { - MessageBox.Show("閫夋嫨缁勭粐鏈夐敊璇紒"); - return false; - } + //鑾峰彇缁勭粐淇℃伅 + HOrgID = get_ORGANIZATIONSIDByName(cmbHOrgID.Text); + HOrgNumber = get_ORGANIZATIONSNOByName(cmbHOrgID.Text); + if (HOrgID == -1) + { + throw new Exception("閫夋嫨缁勭粐鏈夐敊璇紒"); + } - if (!Sub_AllowSave())//鍗曟嵁瀹屾暣鎬у垽鏂� + if (!Sub_AllowSave())//鍗曟嵁瀹屾暣鎬у垽鏂� + { + throw new Exception("鍗曟嵁瀹屾暣鎬у垽鏂け璐ワ紒"); + } + + SaveBarCode(); + return true; + }catch(Exception ex) { - return false; + string sql = "exec h_p_WMS_PackBarCodeBill_dealDataWhenError '" + textBox_HPackBarCode + "'"; + oCn.RunProc(sql); + throw new Exception(ex.Message); } - - - SaveBarCode(); - return true; + } //鍗曟嵁瀹屾暣鎬у垽鏂� 鏈畬鎴� @@ -508,6 +543,15 @@ sSQLMul[1] = " exec h_p_WMS_SetMaxNo_QTY '" + sTMNumber + "'," + HQty.ToString() + " "; + //鍒ゆ柇褰撳墠鎵樼洏鏉$爜鏄惁宸茬粡閫氳繃涓存椂缁勬墭鍦ㄦ潯鐮佹。妗堜腑鐢熸垚浜嗭紝鑻ュ凡缁忕敓鎴愪簡鍒欎笉闇�瑕佸湪鎻掑叆 + ds = oCn.RunProcReturn("select * from Gy_BarCodeBill where HBarCode = '" + textBox_HPackBarCode.Text + "' and HSTOCKORGID = " + HOrgID, "Gy_BarCodeBill"); + if (ds != null && ds.Tables[0].Rows.Count > 0) + { + sSQLMul[0] = ""; + } + + oCn.BeginTran(); + if (getRunProcByMul_Back(sSQLMul, ref DBUtility.ClsPub.sExeReturnInfo)) { //MessageBox.Show("鏉$爜鐢熸垚瀹屾瘯锛�"); @@ -519,15 +563,21 @@ setPackBarCodeBillData(); getDisplay_GrdMain(); + + oCn.Commit(); } else { //MessageBox.Show("鏉$爜鐢熸垚澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo); + oCn.RollBack(); } + + //oCn.Commit(); } catch (Exception e) { - //MessageBox.Show("鏉$爜鐢熸垚澶辫触锛�" + e.Message); + oCn.RollBack(); + throw new Exception(e.Message); } } @@ -542,27 +592,30 @@ { for (int i = 0; i < 1; i++) { - oCn.RunProc(sSQL[i]); + if (sSQL[i].Length > 0) + { + oCn.RunProc(sSQL[i]); + } } - - + //涓婁紶缁勬墭淇℃伅鍒版湇鍔″櫒 send(); + oCn.Commit(); } else { - sErrMsg = "娌℃湁鏁版嵁锛�"; oCn.Commit(); - return false; + sErrMsg = "娌℃湁鏁版嵁锛�"; + throw new Exception(sErrMsg); } - oCn.Commit(); + //oCn.Commit(); return true; } catch (Exception e) { - sErrMsg = e.Message; oCn.RollBack(); - return false; + sErrMsg = e.Message; + throw new Exception(sErrMsg); } } #endregion @@ -581,7 +634,13 @@ //{ // return; //} - LoadData(); + try + { + LoadData(); + }catch(Exception ex) + { + throw new Exception(ex.Message); + } } //鍒ゆ柇鐢ㄦ埛鏉冮檺 @@ -610,7 +669,7 @@ //鍒ゆ柇鏄惁鏁版嵁瀹屾暣 if (AllowLoadData() == false) { - return; + throw new Exception("鏁版嵁瀹屾暣鎬у垽鏂け璐ワ紒"); } try { @@ -628,14 +687,14 @@ } else { - MessageBox.Show("鐢熸垚澶辫触锛佸師鍥�:" + err); - return; + string error = "鐢熸垚澶辫触锛佸師鍥�:" + err; + throw new Exception(error); } } catch (Exception e) { - MessageBox.Show("鍗曟嵁鍙凤細" + textBox_sBillID.Text + "锛屽崟鎹甀D锛�" + textBox_sBillID.Text + "锛涗笂浼犲け璐ワ紒" + e.Message); - return; + string error = "鍗曟嵁鍙凤細" + textBox_sBillID.Text + "锛屽崟鎹甀D锛�" + textBox_sBillID.Text + "锛涗笂浼犲け璐ワ紒" + e.Message; + throw new Exception(error); } } @@ -659,37 +718,37 @@ public bool set_SavePackUnionBill_Add(Int64 HInterID, string HBillType, string HBillNo, string HBarCode_Pack, string HMaker, Int64 HStockOrgID, ref string sErrMsg) { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); + oCn.BeginTran(); try { - oCn.BeginTran(); DataSet ds = oCn.RunProcReturn("exec h_p_Sc_PackUnionBill_Insert_New " + HInterID.ToString() + ",'" + HBillNo + "','" + HBillType + "','" + HBarCode_Pack + "','" + HMaker + "'," + HStockOrgID.ToString(), "h_p_Sc_PackUnionBill_Insert_New"); if (ds == null || ds.Tables[0].Rows.Count == 0) { - sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HInterID + "锛涗笂浼犲け璐ワ紒"; oCn.RollBack(); - return false; + sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HInterID + "锛涗笂浼犲け璐ワ紒"; + throw new Exception(sErrMsg); } else { if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 1) { - sErrMsg = "涓婁紶澶辫触锛屽崟鎹彿锛�" + HBillNo + "锛屽崟鎹甀D锛�" + HInterID + "锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemark"]); oCn.RollBack(); - return false; + sErrMsg = "涓婁紶澶辫触锛屽崟鎹彿锛�" + HBillNo + "锛屽崟鎹甀D锛�" + HInterID + "锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemark"]); + throw new Exception(sErrMsg); } else { - //sErrMsg = "鐢熸垚鐢熶骇缁勬墭鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + HBillNo; oCn.Commit(); + //sErrMsg = "鐢熸垚鐢熶骇缁勬墭鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + HBillNo; return true; } } } catch (Exception e) { - sErrMsg = "鐢熸垚鐢熶骇缁勬墭鍗曞け璐ワ紒" + e.Message; oCn.RollBack(); - return false; + sErrMsg = "鐢熸垚鐢熶骇缁勬墭鍗曞け璐ワ紒" + e.Message; + throw new Exception(sErrMsg); } } @@ -706,20 +765,30 @@ { if (e.KeyChar == (char)Keys.Return) { + //闃查敊鍒ゆ柇 + if(!judgeIsSameSourceBill(textBox_HBarCode.Text.Trim())) + { + textBox_HBarCode.Text = ""; + return; + } + SetBarCode_Webs(); textBox_HBarCode.Text = ""; textBox_HBarCode.Focus(); autoProducePackBarCode(); + + if (grdMain.Rows.Count ==1 ) + { + getPackQty(grdMain.Rows[0].Cells[4].Value.ToString()); + } } } catch (Exception e2) { - //if (DBUtility.ClsPub.bSound) - //{ - // DBUtility.ClsPub.MessageBeep((int)DBUtility.ClsPub.BeepType.Warning); - //} - MessageBox.Show("鍙戠敓缃戠粶寮傚父锛岃绋嶅悗鍐嶈瘯锛�"); + textBox_HBarCode.Text = ""; + textBox_HBarCode.Focus(); + MessageBox.Show(e2.Message); } } //灏嗘潯鐮佷俊鎭啓鍏ユ潯鐮佸嚭鍏ュ簱涓存椂琛� @@ -743,13 +812,13 @@ } else { - MessageBox.Show(err); - return; + throw new Exception(err); } } catch (Exception e) { - MessageBox.Show("鎵弿瀛愭潯鐮侊紝鍐欏叆涓存椂琛ㄤ俊鎭け璐ワ紒" + e.Message + err); + string sError = "鎵弿瀛愭潯鐮侊紝鍐欏叆涓存椂琛ㄤ俊鎭け璐ワ紒" + e.Message + err; + throw new Exception(sError); } } @@ -1097,6 +1166,11 @@ private void toolStripButton_Delete_Click(object sender, EventArgs e) { deleteGrdMainNote(); + + if (grdMain.Rows.Count== 0) + { + set_clearPackQtyAndSourceInfo(); + } } #endregion @@ -1107,14 +1181,29 @@ { if (grdMain.SelectedRows != null && grdMain.SelectedRows.Count==1) { - if (MessageBox.Show("纭畾瑕佸垹闄わ紵", "鎻愮ず", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Cancel) + //if (MessageBox.Show("纭畾瑕佸垹闄わ紵", "鎻愮ず", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Cancel) + //{ + // return; + //} + //if (MessageBox.Show("鍒犻櫎鍚庡皢涓嶅彲鎭㈠锛岀‘瀹氳缁х画鎿嶄綔锛�", "鎻愮ず", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Cancel) + //{ + // return; + //} + + string pwd = Interaction.InputBox("璇疯緭鍏ュ瘑鐮�", "鍒犻櫎纭锛�", "", 100, 100); + + //鐐瑰嚮鍙栨秷 + if(pwd == "") { return; } - if (MessageBox.Show("鍒犻櫎鍚庡皢涓嶅彲鎭㈠锛岀‘瀹氳缁х画鎿嶄綔锛�", "鎻愮ず", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Cancel) + + if(pwd != "123456") { + MessageBox.Show("瀵嗙爜閿欒锛�"); return; } + Delete(); } else @@ -1190,6 +1279,9 @@ Report.Printer.PrinterName = comboBox_PrinterParams.Text.Replace("(榛樿)", ""); } Report.Print(false); + + //缁勬墭鎴愬姛鍚庯紝娓呯┖缁勬墭鏁伴噺涓庢簮鍗曚俊鎭� + set_clearPackQtyAndSourceInfo(); } #endregion @@ -1329,6 +1421,7 @@ //鑾峰彇缂撳瓨鍒楄〃涓� 鎵樻潯鐮� 瀵瑰簲鐨� 缁勬墭璁板綍 sql = "select top(1) a.* from Sc_PackUnionBill_Temp as a inner join Gy_BarCodeBill as b on a.HBarCode = b.HBarCode where a.HBarCode_Pack = '" + HPackBarCode + "' and b.HSourceID = " + HSourceID + " and a.HStockorgID = " + HOrgID; + //sql = "select top(1) a.* from Sc_PackUnionBill_Temp as a where a.HBarCode_Pack = '" + HPackBarCode + "' and a.HStockorgID = " + HOrgID; ds = oCn.RunProcReturn(sql, "Sc_PackUnionBill_Temp"); if (ds == null || ds.Tables[0].Rows.Count == 0) { @@ -1346,13 +1439,83 @@ textBox_sBillNo.Text = HBillNo; getDisplay_GrdMain(); + + if (grdMain.Rows.Count > 0 && grdMain.Rows[0].Cells[4].Value != null) + { + getPackQty(grdMain.Rows[0].Cells[4].Value.ToString()); + } } + + } } #endregion #endregion + #region 鏍规嵁鏉$爜缂栧彿锛岃幏鍙栨潯鐮佷腑鐗╂枡鎵�瀵瑰簲鐨勭粍鎵樻暟閲忥紝鍚屾椂璁板綍婧愬崟涓籌D銆佸瓙ID + private void getPackQty(string HBarCode) + { + string sql = "select * from h_v_IF_BarCodeBillList_getPackQty where 鏉$爜缂栧彿 = '" + HBarCode + "'"; + DataSet ds_getPackQty = oCn.RunProcReturn(sql, "h_v_IF_BarCodeBillList_getPackQty"); + if (ds_getPackQty == null || ds_getPackQty.Tables[0].Rows.Count <= 0) + { + HSourceInterID_ICMO = 0; + HSourceEntryID_ICMO = 0; + + textBox_PackQty.Text = ""; + return; + } + + HSourceInterID_ICMO = int.Parse(ds_getPackQty.Tables[0].Rows[0]["HSourceInterID"].ToString()); + HSourceEntryID_ICMO = int.Parse(ds_getPackQty.Tables[0].Rows[0]["HSourceEntryID"].ToString()); + textBox_PackQty.Text = Double.Parse(ds_getPackQty.Tables[0].Rows[0]["缁勬墭鏁伴噺"].ToString()).ToString(); + } + #endregion + + #region 鍒ゆ柇褰撳墠鎵弿鐨勬潯鐮佹槸鍚︿笌宸茬粡鎵弿杩囩殑鏉$爜涓哄悓涓�宸ュ崟鐢熸垚鐨� + private bool judgeIsSameSourceBill(string HBarCode) + { + if (grdMain.Rows.Count == 0) + { + return true; + } + else + { + string sql = "select * from h_v_IF_BarCodeBillList_getPackQty where 鏉$爜缂栧彿 = '" + HBarCode + "'"; + DataSet ds_getPackQty = oCn.RunProcReturn(sql, "h_v_IF_BarCodeBillList_getPackQty"); + if (ds_getPackQty == null || ds_getPackQty.Tables[0].Rows.Count <= 0) + { + MessageBox.Show("褰撳墠鏉$爜涓嶅瓨鍦紒"); + return false; + } + else + { + int HSourceInterID_ICMO_Bak = int.Parse(ds_getPackQty.Tables[0].Rows[0]["HSourceInterID"].ToString()); + int HSourceEntryID_ICMO_Bak = int.Parse(ds_getPackQty.Tables[0].Rows[0]["HSourceEntryID"].ToString()); + if (HSourceInterID_ICMO != HSourceInterID_ICMO_Bak || HSourceEntryID_ICMO != HSourceEntryID_ICMO_Bak) + { + MessageBox.Show("褰撳墠鎵弿鐨勬潯鐮佷笌涔嬪墠鎵�鎵弿鐨勬潯鐮佸伐鍗曚笉涓�鑷达紒"); + return false; + } + else + { + return true; + } + } + } + } + #endregion + + #region 娓呯┖ 缁勬墭鏁伴噺 涓庤褰曠殑婧愬崟涓籌D銆佸瓙ID + private void set_clearPackQtyAndSourceInfo() + { + textBox_PackQty.Text = ""; + HSourceInterID_ICMO = 0; + HSourceEntryID_ICMO = 0; + } + #endregion + } } -- Gitblit v1.9.1