From f0d8f9d0d863fd96b8da3bd9c8ae6eeda09add19 Mon Sep 17 00:00:00 2001
From: yxj <yxj@hz-kingdee.com>
Date: 星期五, 01 十二月 2023 14:51:35 +0800
Subject: [PATCH] 称重入库模块,界面增加显示订单包装备注

---
 WarM/条码打印/Kf_WeighToBarCode.cs |  125 +++++++++++++++++++++++++++++++++++------
 1 files changed, 107 insertions(+), 18 deletions(-)

diff --git "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Kf_WeighToBarCode.cs" "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Kf_WeighToBarCode.cs"
index 5c18417..42fd702 100644
--- "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Kf_WeighToBarCode.cs"
+++ "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Kf_WeighToBarCode.cs"
@@ -35,9 +35,10 @@
         public Int64 HSourceEntryID = 0;
         public string HSourceBillNo = "";
         public string HSourceBillType = "";
-        public Int64 ProcessExchangeInterID = 0;
+        public Int64 HProcessExchangeInterID = 0;
         public Int64 HSupID = 0;
         public double HSourceQty = 0;
+        public double HMaterWeight = 0;         //鐗╂枡鍏嬮噸
         public string HMaker = DBUtility.ClsPub.CurUserName;
         public Int64 HStockOrgID = DBUtility.ClsPub.HOrgID;
         public DateTime HDate = DateTime.Today;
@@ -313,8 +314,8 @@
             bool b = false;
             for (int i = 0; i < grdMain.RowCount; i++)
             {
-                    b = true;
-                    break;
+                b = true;
+                break;
             }
             if (b == false)
             {
@@ -337,7 +338,16 @@
                 oCn.BeginTran();
                 //鐢熸垚鍑哄叆搴撳崟鎹�
                 //鎻掑叆瀛愯〃
-                oCn.RunProc("EXEC h_p_Kf_ProductInBillSub_Insert_New " + HInterID.ToString() + ",'" + HBillNo + "','" + HSourceBillType + "'");
+                DataSet ds = oCn.RunProcReturn("EXEC h_p_Kf_ProductInBillSub_Insert_New " + HInterID.ToString() + ",'" + HBillNo + "','" + HSourceBillType + "'", "h_p_Kf_ProductInBillSub_Insert_New");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                }
+                else if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0][0]) != "OK")
+                {
+                    oCn.RollBack();
+                    MessageBox.Show("鐢熸垚鍏ュ簱鍗曞け璐ワ紝褰撳墠绉伴噸璁板綍鍒楄〃鏃犳暟鎹紝涓嶅厑璁告崲鐝敓鎴愬崟鎹紒", "鎻愮ず");
+                    return false;
+                }
                 //鎻掑叆涓昏〃
                 oCn.RunProc("Insert Into Kf_ICStockBillMain " +
                     "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
@@ -353,6 +363,8 @@
                     + ", " + HStockOrgID.ToString() + "," + HStockOrgID.ToString() + ") ");
                 //鏇存柊鍏宠仈鏁伴噺
                 oCn.RunProc("exec h_p_Sc_UpDateRelation_ICMOToProductIn_Add " + HInterID.ToString());
+                //鍥炲~宸茬敓鍗曠姸鎬�
+                oCn.RunProc("Update KF_WeighSource_Temp set HRelationInterID=1 where HInterID= " + HInterID.ToString());
                 MessageBox.Show("鐢熸垚鐢熶骇鍏ュ簱鍗曪細" + HBillNo + " 鎴愬姛锛�", "鎻愮ず");
                 oCn.Commit();
                 return true;
@@ -511,6 +523,17 @@
         //鏉$爜鐢熸垚鍓嶅垽鏂�
         private bool Sub_AllowSave()
         {
+            //鍒ゆ柇褰撳墠鍗曟嵁ID鏄惁宸蹭笂浼犵敓鎴愬崟鎹�
+            DataSet Ds = oCn.RunProcReturn("select top 1 1 from KF_WeighSource_Temp with(nolock) where HInterID=" + HInterID.ToString() + " and HRelationInterID=1 ", "KF_WeighSource_Temp", ref DBUtility.ClsPub.sExeReturnInfo);
+            if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+            {
+            }
+            else
+            {
+                MessageBox.Show("褰撳墠鏉$爜璁板綍宸叉崲鐝笂浼犵敓鎴愬崟鎹紝璇烽��鍑哄悗閲嶆柊杩涘叆璇ユā鍧楄繘琛屾潯鐮佺敓鎴愭搷浣滐紒", "鎻愮ず");
+                return false;
+            }
+
             if (HInterID==0 || HBillNo=="")
             {
                 MessageBox.Show("鑾峰彇鏉$爜瀵瑰簲鍗曟嵁ID鎴栧崟鎹彿澶辫触锛岃閲嶆柊鍒锋柊鐣岄潰锛�", "鎻愮ず");
@@ -524,6 +547,11 @@
             else if (DBUtility.ClsPub.isDoule( txtHWeightQyt.Text) == 0)
             {
                 MessageBox.Show("璇疯緭鍏ユ纭噸閲忥紒", "鎻愮ず");
+                return false;
+            }
+            else if (DBUtility.ClsPub.isDoule(txtHQty.Text)- DBUtility.ClsPub.isDoule(txtHKDQty.Text) <= 0)
+            {
+                MessageBox.Show("杈撳叆鐨勬墸鐐规暟涓嶈兘澶т簬绫虫暟锛�", "鎻愮ず");
                 return false;
             }
             else if (DBUtility.ClsPub.isInt(txtHBarcodeNo.Text) == 0)
@@ -541,7 +569,58 @@
                 MessageBox.Show("鐗╂枡榛樿浠撳簱鍚敤浜嗕粨浣嶏紝浣嗘湭璁剧疆浠撲綅锛岃幏鍙栦粨浣嶄俊鎭け璐ワ紝璇峰厛璁剧疆鐗╂枡榛樿浠撲綅锛�", "鎻愮ず");
                 return false;
             }
-            return true;
+
+            //瀹為檯鍏嬮噸=閲嶉噺/绫虫暟*1000锛屽疄闄呭厠閲嶈秴鍑虹墿鏂欑淮鎶ゅ厠閲嶇殑鐧惧垎涔嬩簩鍗佹垨涓嶈冻鐗╂枡缁存姢鍏嬮噸鐨勭櫨鍒嗕箣鍏崄锛岄璀︽彁绀�
+            double sQty = 0;    //瀹為檯鍏嬮噸
+            sQty = DBUtility.ClsPub.isDoule(txtHWeightQyt.Text) / DBUtility.ClsPub.isDoule(txtHQty.Text) * 1000;
+
+            if (sQty > HMaterWeight * 1.2 || sQty < HMaterWeight * 0.8)
+            {
+                if (MessageBox.Show("鐗╂枡缁存姢鍏嬮噸涓猴細"+HMaterWeight.ToString()+ "锛屽疄闄呭厠閲嶄负锛�" + sQty.ToString() + "锛屾墍杈撳叆瀹為檯鍏嬮噸瓒呭嚭鐗╂枡缁存姢鍏嬮噸鐨勭櫨鍒嗕箣浜屽崄鎴栦笉瓒崇墿鏂欑淮鎶ゅ厠閲嶇殑鐧惧垎涔嬪叓鍗侊紝璇锋鏌ヨ緭鍏ョ殑鏁版嵁鏄惁姝g‘锛�", "鎻愮ず", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
+                {
+                    //return true;
+                }
+                else
+                {
+                    return false;
+                }
+            }
+
+            //鏉$爜鐢熸垚鍓嶆帶鍒跺垽鏂�
+            double HNowQty = 0;     //绫虫暟
+            double HWeightQyt = 0;  //閲嶉噺
+            double HKDQty = 0;      //鎵g偣鏁�
+            HNowQty = DBUtility.ClsPub.isDoule(txtHQty.Text);
+            HWeightQyt = DBUtility.ClsPub.isDoule(txtHWeightQyt.Text);
+            HKDQty = DBUtility.ClsPub.isDoule(txtHKDQty.Text);
+
+            DataSet oDsCheck = oCn.RunProcReturn("exec h_p_Kf_WeighToBarCode_AddBarCodeCheck " + HInterID.ToString() + "," + HSourceInterID.ToString() + "," + HSourceEntryID.ToString() + "," + HProcessExchangeInterID.ToString() + "," + HSourceQty.ToString() + "," + HNowQty.ToString() + "," + HWeightQyt.ToString() + "," + HKDQty.ToString(), "h_p_Kf_WeighToBarCode_AddBarCodeCheck");
+            //
+            if (oDsCheck == null && oDsCheck.Tables[0].Rows.Count == 0)
+            {
+                MessageBox.Show("鏉$爜鐢熸垚鍓嶅垽鏂敊璇紒");
+                return false;
+            }
+            else if (DBUtility.ClsPub.isStrNull(oDsCheck.Tables[0].Rows[0][0]) == "1")
+            {
+                MessageBox.Show(DBUtility.ClsPub.isStrNull(oDsCheck.Tables[0].Rows[0]["HRemark"]), "鎻愮ず");
+                return false;
+            }
+            else if (DBUtility.ClsPub.isStrNull(oDsCheck.Tables[0].Rows[0][0]) == "2")
+            {
+                if (MessageBox.Show(DBUtility.ClsPub.isStrNull(oDsCheck.Tables[0].Rows[0]["HRemark"]), "鎻愮ず", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
+                {
+                    return true;
+                }
+                else
+                {
+                    return false;
+                }
+            }
+            else
+            {
+                return true;
+            }
         }
 
         //鐢熸垚鏉$爜
@@ -600,58 +679,64 @@
 
             string HBarCode = "";
             string HBarCodeType = "";
-            double HQty = 0;            //绫虫暟
+            double HNowQty = 0;         //绫虫暟
             double HMaterialJQty = 0;   //閲嶉噺
             double HMaterialMQty = 0;   //鎵g偣鏁�
+            double HQty = 0;            //鏁伴噺
             Int64 HDeptID = 0;
             string HRemark = "";
             string HMaterName = "";
             string HMaterModel = "";
-            string ProcessExchangeBillNo = "";
+            string HProcessExchangeBillNo = "";
             Int64 HBarcodeNo = 0;       //鍖呮暟
             Int64 HBadReasonID = 0;     //涓嶈壇鍘熷洜ID
+            string HCusMaterName = "";  //瀹㈡埛鐗╂枡鍚嶇О
+            string HCusModel = "";      //瀹㈡埛瑙勬牸鍨嬪彿
 
             HBarCode = TM;
             HBarCodeType = DBUtility.ClsPub.isStrNull(cmbHBarCodeType.Text);
-            HQty = DBUtility.ClsPub.isDoule(txtHQty.Text);
+            HNowQty = DBUtility.ClsPub.isDoule(txtHQty.Text);
             HMaterialJQty = DBUtility.ClsPub.isDoule(txtHWeightQyt.Text);
             HMaterialMQty = DBUtility.ClsPub.isDoule(txtHKDQty.Text);
+            HQty = HNowQty- HMaterialMQty;
             HDeptID = DBUtility.ClsPub.isLong(txtHDeptName.Tag);
             HRemark = DBUtility.ClsPub.isStrNull(txtHRemark.Text);
             HMaterName = DBUtility.ClsPub.isStrNull(txtHMaterName.Text);
             HMaterModel = DBUtility.ClsPub.isStrNull(txtHMaterModel.Text);
-            ProcessExchangeBillNo = DBUtility.ClsPub.isStrNull(txtHBillNo.Text);
+            HProcessExchangeBillNo = DBUtility.ClsPub.isStrNull(txtHBillNo.Text);
             HBarcodeNo = DBUtility.ClsPub.isLong(txtHBarcodeNo.Text);
             HBadReasonID = DBUtility.ClsPub.isLong(txtHRemark.Tag);
+            HCusMaterName = DBUtility.ClsPub.isStrNull(txtHCusMaterName.Text);
+            HCusModel = DBUtility.ClsPub.isStrNull(txtHCusModel.Text);
 
             try
             {
                 oCn.BeginTran();
-                //鍐欏叆鏉$爜妗f
+                //鍐欏叆鏉$爜妗f    (瀹㈡埛鐗╂枡鍚嶇ОHCusMaterName瀛樺叆HMaterialModel瀛楁锛屽鎴疯鏍煎瀷鍙稨CusModel瀛樺叆HCusModel瀛楁锛屼笉鑹師鍥營D瀛樺叆HCustomQty1瀛楁锛�
                 oCn.RunProc("Insert into Gy_BarCodeBill " +
                 "(HBarCode,HBarCodeType,HMaterID,HUnitID,HQty" +
                 ",HBatchNo,HSupID,HGroupID,HMaker,HMakeDate,HPrintQty,HinitQty" +
                 ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HEndQty " +
                 ",HBarcodeQtys,HBarcodeNo,HDeptID,HWhID,HSPID,HRemark " +
-                ",HCusID,HCusType,HEndDate,HWorkLineName,HBarCodeDate,HMaterialJQty,HMaterialMQty " +
+                ",HCusID,HCusType,HEndDate,HWorkLineName,HBarCodeDate,HMaterialJQty,HMaterialMQty,HNowQty " +
                 ",HSTOCKORGID,HOWNERID,HSeOrderBillNo,HInterID,HGiveAwayFlag " +
-                ",HOrderInterID,HOrderEntryID,HOrderBillNo,HCustomQty1 " +
-                ",HMaterName,HMaterModel,HPinfan,HAuxPropID,HMTONo,HInnerBillNo " +
+                ",HOrderInterID,HOrderEntryID,HOrderBillNo,HCustomQty1,HMaterialModel,HCusModel " +
+                ",HMaterName,HMaterModel,HPinfan,HAuxPropID,HMTONo,HInnerBillNo,HLogo " +
                 ") Values ("
                 + "'" + HBarCode + "','" + HBarCodeType + "'," + HMaterID.ToString() + "," + HUnitID.ToString() + "," + HQty.ToString()
                 + ",'" + HBatchNo + "'," + HSupID.ToString() + ",0,'" + HMaker + "',getdate(),0," + HQty.ToString()
                 + ", " + HSourceInterID.ToString() + "," + HSourceEntryID.ToString() + ",'" + HSourceBillNo + "','" + HSourceBillType + "',''"
                 + ", 1," + HBarcodeNo.ToString() + "," + HDeptID.ToString() + "," + HWhID.ToString() + "," + HSPID.ToString() + ",'" + HRemark + "'"
-                + ", 0,'',getdate(),'','" + sDate + "'," + HMaterialJQty.ToString() + "," + HMaterialMQty.ToString()
+                + ", 0,'',getdate(),'','" + sDate + "'," + HMaterialJQty.ToString() + "," + HMaterialMQty.ToString() + "," + HNowQty.ToString()
                 + ", " + HStockOrgID.ToString() + "," + HStockOrgID.ToString() + ",''," + HInterID.ToString() + ",0"
-                + ", " + ProcessExchangeInterID.ToString() + ",0,'" + ProcessExchangeBillNo + "'," + HBadReasonID.ToString()
-                + ",'" + HMaterName + "','" + HMaterModel + "',''," + HAuxPropID.ToString() + ",'','')");
+                + ", " + HProcessExchangeInterID.ToString() + ",0,'" + HProcessExchangeBillNo + "'," + HBadReasonID.ToString() + ",'" + HCusMaterName + "','" + HCusModel + "'"
+                + ",'" + HMaterName + "','" + HMaterModel + "',''," + HAuxPropID.ToString() + ",'','','1')");
 
                 //鍥炲~鏈�澶ф祦姘村彿
                 oCn.RunProc("exec h_p_WMS_SetMaxNo_QTY '" + sTMNumber + "',1 ");
 
                 //鍥炲~婧愬崟涓存椂琛℉InterID
-                oCn.RunProc("update a set a.HInterID=" + HInterID.ToString() + ",a.HBillNo='" + HBillNo + "' from KF_WeighSource_Temp a where a.HInterID<>" + HInterID.ToString() + " and a.HMaker='" + HMaker + "' and convert(varchar(10),a.HMakeDate,120)=convert(varchar(10),getdate(),120)");
+                oCn.RunProc("update a set a.HInterID=" + HInterID.ToString() + ",a.HBillNo='" + HBillNo +"',a.HRelationInterID= 0 from KF_WeighSource_Temp a where a.HInterID<>" + HInterID.ToString() + " and a.HMaker='" + HMaker + "' and a.HSourceBillNo='" + HProcessExchangeBillNo + "'");
 
                 //鍐欏叆鏉$爜鍑哄叆搴撲复鏃惰〃
                 oCn.RunProc("Insert into KF_PonderationBillMain_Temp " +
@@ -695,6 +780,8 @@
             txtHMaterName.Text = DBUtility.ClsPub.isStrNull(grdSub.SelectedRows[0].Cells[Fun_GetSubCol("鐗╂枡鍚嶇О")].Value);
             txtHMaterModel.Text = DBUtility.ClsPub.isStrNull(grdSub.SelectedRows[0].Cells[Fun_GetSubCol("瑙勬牸鍨嬪彿")].Value);
             txtHBatchNo.Text = DBUtility.ClsPub.isStrNull(grdSub.SelectedRows[0].Cells[Fun_GetSubCol("鎵瑰彿")].Value);
+            txtHCusMaterName.Text = DBUtility.ClsPub.isStrNull(grdSub.SelectedRows[0].Cells[Fun_GetSubCol("HCusMaterName")].Value);
+            txtHCusModel.Text = DBUtility.ClsPub.isStrNull(grdSub.SelectedRows[0].Cells[Fun_GetSubCol("HCusModel")].Value);
             HAuxPropID = DBUtility.ClsPub.isLong(grdSub.SelectedRows[0].Cells[Fun_GetSubCol("HAuxPropID")].Value);
             HUnitID = DBUtility.ClsPub.isLong(grdSub.SelectedRows[0].Cells[Fun_GetSubCol("HUnitID")].Value);
             HWhID = DBUtility.ClsPub.isLong(grdSub.SelectedRows[0].Cells[Fun_GetSubCol("HWhID")].Value);
@@ -705,8 +792,10 @@
             HSourceBillNo = DBUtility.ClsPub.isStrNull(grdSub.SelectedRows[0].Cells[Fun_GetSubCol("鐢熶骇璁㈠崟")].Value);
             HSourceBillType = DBUtility.ClsPub.isStrNull(grdSub.SelectedRows[0].Cells[Fun_GetSubCol("HSourceBillType")].Value);
             HSourceQty = DBUtility.ClsPub.isDoule(grdSub.SelectedRows[0].Cells[Fun_GetSubCol("鏁伴噺")].Value);
-            ProcessExchangeInterID = DBUtility.ClsPub.isLong(grdSub.SelectedRows[0].Cells[Fun_GetSubCol("ProcessExchangeInterID")].Value);
+            HProcessExchangeInterID = DBUtility.ClsPub.isLong(grdSub.SelectedRows[0].Cells[Fun_GetSubCol("ProcessExchangeInterID")].Value);
             HSupID = DBUtility.ClsPub.isLong(grdSub.SelectedRows[0].Cells[Fun_GetSubCol("HSupID")].Value);
+            HMaterWeight = DBUtility.ClsPub.isDoule(grdSub.SelectedRows[0].Cells[Fun_GetSubCol("HMaterWeight")].Value);
+            txtHOrderPickRemark.Text = DBUtility.ClsPub.isStrNull(grdSub.SelectedRows[0].Cells[Fun_GetSubCol("璁㈠崟鍖呰澶囨敞")].Value);
         }
 
         //杩斿洖婧愬崟鍒楄〃淇℃伅

--
Gitblit v1.9.1