From 7e35fc76661ff4a26d24cc8912e2534576be85be Mon Sep 17 00:00:00 2001
From: 王 垚 <1402714037@qq.com>
Date: 星期四, 14 七月 2022 10:27:13 +0800
Subject: [PATCH] 优化

---
 WebAPI/Controllers/BarCodeController.cs |   59 +++++++++++++++++++++++++----------------------------------
 1 files changed, 25 insertions(+), 34 deletions(-)

diff --git a/WebAPI/Controllers/BarCodeController.cs b/WebAPI/Controllers/BarCodeController.cs
index 9beb439..e0164a3 100644
--- a/WebAPI/Controllers/BarCodeController.cs
+++ b/WebAPI/Controllers/BarCodeController.cs
@@ -575,42 +575,16 @@
                 LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]);
                 foreach (Model.ClsGy_MaterialList_WMS_Model oItemSub in ls)
                 {
-                    //LogService.Write("model鍒濆鍖栵細" + oItemSub.HKFDate);
+                    //澶栫
                     if (ClsPub.isLong(oItemSub.HMaterID) != 0)
                     {
                         HNumber = oItemSub.HMaterID.ToString();
-                        //HNumber = HNumber.Replace(".", "");
-                        //
-
-                        //HQty = Math.Ceiling(HBQty + ClsPub.isDoule(oItemSub.HWBQty));
-
                         HQty = ClsPub.isDoule(oItemSub.HWBQty);
                         HBQty = ClsPub.isInt(oItemSub.HWBQty);
                         HMinQty = ClsPub.isDoule(oItemSub.HWXQty);
                         HSumQty = ClsPub.isDoule(oItemSub.HQty);  //HWXQtyCol
                         for (int i = 0; i < HBQty; i++)
                         {
-                            LSH = LSH + 1;
-                            LSH2 = LSH.ToString();
-                            while (LSH2.Length < LSHlen)  //濡傛灉娴佹按鍙峰皬浜�6浣嶆暟鍓嶉潰琛�0
-                            {
-                                LSH2 = "0" + LSH2;
-                            }
-                            sDate = ClsPub.GetServerDate(0);
-                            sYear = ClsPub.isDate(sDate).Year.ToString().Substring(2, 2);
-                            sPeriod = "0" + ClsPub.isDate(sDate).Month.ToString();
-                            sPeriod = sPeriod.Substring(sPeriod.Length - 2, 2);
-                            sDay = "0" + ClsPub.isDate(sDate).Day.ToString();
-                            sDay = sDay.Substring(sDay.Length - 2, 2);
-                            //==================================
-                            TM = HNumber + sYear + sPeriod + sDay + LSH2;
-                            while (TM.Length < SumLen)  //濡傛灉鏉$爜灏忎簬12浣嶆暟鍓嶉潰琛�0
-                            {
-                                TM = "0" + TM;
-                            }
-                            //TM = "B" + TM;
-                            TM = "SRM" + "B" + TM;
-
                             if (HSumQty - HMinQty > 0)
                             {
                                 WeiShu = "";
@@ -628,7 +602,8 @@
                                 }
                                 HMinQty = HSumQty;
                             }
-
+                            TM = $"{oItemSub.HMaterID}#{HMinQty}";
+                            
                             Model.ClsGy_BarCodeBill_WMS_Model bar = new Model.ClsGy_BarCodeBill_WMS_Model();
                             bar.HBarCode = TM;
                             bar.HMaterID = oItemSub.HMaterID;
@@ -660,6 +635,7 @@
                 }
                 foreach (Model.ClsGy_BarCodeBill_WMS_Model oItemSub2 in ls2)
                 {
+                    //鍐呯
                     //LogService.Write("寰幆绗竴娆�:" + oItemSub2.HSupID);
                     if (ClsPub.isLong(oItemSub2.HMaterID) != 0)
                     {
@@ -720,10 +696,7 @@
                                 TM2 = "0" + TM2;
                             }
                             bar2.HMaterID = oItemSub2.HMaterID;
-
-
-                            bar2.HBarCode = oItemSub2.HBarCode + "-" + TM2;
-
+                            bar2.HBarCode = oItemSub2.HBarCode.Split('#')[0] + "#" + HWXQty.ToString();
                             bar2.HUnitID = oItemSub2.HUnitID;
                             bar2.HQty = HWXQty;
                             bar2.HBatchNo = DBUtility.ClsPub.isStrNull(oItemSub2.HBatchNo);
@@ -1721,9 +1694,27 @@
             SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
             try
             {
-                WebAPIController.Add_Log("鏉$爜妗f鍒犻櫎", HUserName, "鏉$爜妗f鍒犻櫎");
+                string sql = "select HBarCode,HSourceInterID,HSourceEntryID,HQty,HBarCodeType,HSourceBillType from Gy_BarCodeBill where  HItemID in(" + HInterID + ") ";
+                //LogService.Write("鍒犻櫎sql:" + sql);
                 oCN.BeginTran();
-                //LogService.Write("Delete From Gy_BarCodeBill where HItemID in(" + HInterID + ")") ;
+                DataTable dt = oCN.RunProcReturn(sql, "deleteTable").Tables[0];
+                if (dt.Rows.Count > 0)
+                {
+                    foreach (DataRow dr in dt.Rows)
+                    {
+                        WebAPIController.Add_Log("鏉$爜妗f鍒犻櫎", HUserName, "鍗曞彿" + dr["HBarCode"].ToString());
+                        //鍙嶅啓鎵撳嵃鏁伴噺鍒伴噰璐鍗曞瓙琛�
+                        if (dr["HBarCodeType"].ToString() == "绠卞彿鍐呮潯鐮�" && dr["HSourceBillType"].ToString() == "1102")
+                            oCN.RunProc($"update Cg_POOrderBillSub set HBarcodeCount -= {dr["HQty"]} where  HInterID ={dr["HSourceInterID"]} and  HEntryID ={dr["HSourceEntryID"]}");
+                        //鍙嶅啓鎵撳嵃鏁伴噺鍒板澶栬鍗�
+                        if (dr["HBarCodeType"].ToString() == "绠卞彿鍐呮潯鐮�" && dr["HSourceBillType"].ToString() == "1601")
+                            oCN.RunProc($"update WW_EntrustOrderBillSub set HBarcodeCount -= {dr["HQty"]} where  HInterID ={dr["HSourceInterID"]} and  HEntryID ={dr["HSourceEntryID"]}");
+                        //鍙嶅啓鎵撳嵃鏁伴噺鍒伴�佽揣鍗� 锛堜笉闇�瑕佸弽鍐� 閫佽揣鍗曠洿鎺ユ槸鍏宠仈鏌ヨ鍙栫殑鏁伴噺 娌℃湁鍦ㄦ簮鍗曚笂鍋氫繚瀛橈級
+                        if (dr["HBarCodeType"].ToString() == "绠卞彿鍐呮潯鐮�" && dr["HSourceBillType"].ToString() == "1103")
+                            continue;
+                            //oCN.RunProc($"update WW_EntrustOrderBillSub set HBarcodeCount -= {dr["HQty"]} where  HInterID ={dr["HSourceInterID"]} and  HEntryID ={dr["HSourceEntryID"]}");
+                    }
+                }
                 oCN.RunProc("Delete From Gy_BarCodeBill where HItemID in(" + HInterID + ") ");
                 oCN.Commit();
                 objJsonResult.code = "1";

--
Gitblit v1.9.1