From f8a344c67644932993bac6faaa63a949841b5166 Mon Sep 17 00:00:00 2001
From: 王 垚 <1402714037@qq.com>
Date: 星期四, 22 十二月 2022 09:19:08 +0800
Subject: [PATCH] 111

---
 WebAPI/Controllers/POOrderController.cs   |    4 +-
 WebAPI/Controllers/POInStockController.cs |    2 
 WebAPI/Controllers/BarCodeController.cs   |  113 ++++++++++++++++++++++++++++++++++++--------------------
 3 files changed, 76 insertions(+), 43 deletions(-)

diff --git a/WebAPI/Controllers/BarCodeController.cs b/WebAPI/Controllers/BarCodeController.cs
index 1bfa608..a8beb96 100644
--- a/WebAPI/Controllers/BarCodeController.cs
+++ b/WebAPI/Controllers/BarCodeController.cs
@@ -21,7 +21,8 @@
         private JsonResult objJsonResult = new JsonResult();
         private json objjson = new json();
         public new ClsCNSRM oCn = new ClsCNSRM();
-
+        //鑾峰彇绯荤粺鍙傛暟
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
         public T ScriptDeserialize<T>(string strJson)
         {
             JavaScriptSerializer js = new JavaScriptSerializer();
@@ -873,6 +874,7 @@
         /// <returns></returns>
         public object GetBarcodeSaveBillOnlyInnerBox([FromBody] JObject msg)
         {
+            string FCusName = oSystemParameter.GetSingleSystemParameter("WMS_CampanyName", ref DBUtility.ClsPub.sExeReturnInfo);
             var _value = msg["msg"].ToString();
             string msg1 = _value.ToString();
             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
@@ -900,30 +902,6 @@
                 List<Model.ClsGy_MaterialList_WMS_Model> ls = new List<Model.ClsGy_MaterialList_WMS_Model>();
                 List<Model.ClsGy_BarCodeBill_WMS_Model> ls2 = new List<Model.ClsGy_BarCodeBill_WMS_Model>();
                 ls = oListModels.getObjectByJson_MaterialList(msg3);
-
-                foreach (Model.ClsGy_MaterialList_WMS_Model oItemSub in ls)
-                {
-                    if (CheckBarCode(oItemSub.HSourceInterID, oItemSub.HSourceEntryID) == false)
-                    {
-                        objJsonResult.code = "0";
-                        objJsonResult.count = 0;
-                        objJsonResult.Message = "宸插瓨鍦ㄦ潯鐮侊紝涓嶅厑璁搁噸澶嶇敓鎴愶紒";
-                        objJsonResult.data = null;
-                        return objJsonResult;
-                    }
-                    if (msg2 != string.Empty)
-                    {
-                        if (oItemSub.HBQty == 0 || oItemSub.HMinQty == 0)
-                        {
-                            objJsonResult.code = "0";
-                            objJsonResult.count = 0;
-                            objJsonResult.Message = "鍐呯鍖呰鏁颁笉鑳戒负0锛�";
-                            objJsonResult.data = null;
-                            return objJsonResult;
-                        }
-
-                    }
-                }
                 long linterid = Pub_Class.ClsPub.CreateBillID_SRMProd("8888", ref DBUtility.ClsPub.sExeReturnInfo);
                 int LSHlen = 6;             //娴佹按鍙烽暱搴�
                 int SumLen = 10;            //鎬婚暱搴�
@@ -940,6 +918,20 @@
                 LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]);
                 foreach (Model.ClsGy_MaterialList_WMS_Model oItemSub in ls)
                 {
+                    //鏁伴噺涓�0 璺宠繃
+                    if (oItemSub.HQty == 0)
+                        continue;
+                    //妫�楠屾墦鍗版暟閲忥紙HQTY锛夊拰鏈墦鍗版暟閲�
+                    string sql = $"select HQty -HBarcodeCount as HNotBarcodeCount ,* from Cg_POOrderBillSub where HEntryID = {oItemSub.HSourceEntryID}";
+                    DataSet ds = oCn.RunProcReturn(sql, "tables");
+                    if (ds.Tables[0].Rows.Count > 0 && Convert.ToInt32(ds.Tables[0].Rows[0][0]) < oItemSub.HQty)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = $"鐗╂枡缂栫爜{oItemSub.HMaterNumber}锛屾湰娆$敓鎴愭潯鐮佹暟閲忎笉鑳借秴鍑烘湭鐢熸垚鏉$爜鏁伴噺";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
                     //鍐呯
                     if (ClsPub.isLong(oItemSub.HMaterID) != 0)
                     {
@@ -999,6 +991,11 @@
                 oCn.BeginTran();
                 foreach (Model.ClsGy_BarCodeBill_WMS_Model oItemSub in ls2)
                 {
+                    //鏇存柊鏉$爜妗f 璇ユ簮鍗曞叾瀹冩潯鐮侀粯璁ゅ凡缁忔墦鍗拌繃涓�娆�
+                    oCn.RunProc($"update Gy_BarCodeBill set  HPrintQty += 1   where HPrintQty = 0 and  HSourceInterID={oItemSub.HSourceInterID} and HSourceEntryID = {oItemSub.HSourceEntryID}");
+                }
+                foreach (Model.ClsGy_BarCodeBill_WMS_Model oItemSub in ls2)
+                {
                     if (ClsPub.isLong(oItemSub.HMaterID) != 0)
                     {
                         HBarCode = oItemSub.HBarCode.ToString();
@@ -1031,8 +1028,27 @@
                     }
                 }
                 //鏆傛椂鍙洖濉叧鑱旀暟閲�
-                string _sql = "exec H_p_SRM_BarCodeBill_Update_UpdateBillRelateData " + linterid.ToString();
-                oCn.RunProc(_sql);
+                foreach (Model.ClsGy_MaterialList_WMS_Model oItemSub in ls)
+                {
+                    if (oItemSub.HQty == 0)
+                        continue;
+                    //鏇存柊鏉$爜妗f 璇ユ簮鍗曞叾瀹冩潯鐮侀粯璁ゅ凡缁忔墦鍗拌繃涓�娆�
+                    //鏇存柊 宸叉墦鍗版暟閲�
+                    if (oItemSub.HSourceBillType == "1102")
+                    {
+                        string _HBarCodeType = "绠卞彿鏉$爜";
+                        if (FCusName.Contains("澶忓疂"))
+                            _HBarCodeType = "鍝佺鐮�";
+                        string sql = string.Empty;
+                        sql = string.Format(@"
+update t1 set  
+t1.HBarcodeCount = 
+isnull((select sum(HQty)from Gy_BarCodeBill where HSourceInterID = t1.HInterID and HSourceEntryID = t1.HEntryID and HBarCodeType ='{2}'),0)
+from Cg_POOrderBillSub t1 
+where t1.HInterID = {0} and t1.HEntryID ={1}", oItemSub.HSourceInterID, oItemSub.HSourceEntryID, _HBarCodeType);
+                        oCn.RunProc(sql);
+                    }
+                }
                 oCn.Commit();
             }
             catch (Exception e)
@@ -1505,6 +1521,7 @@
         /// <returns></returns>
         public object GetBarcodeSaveBillBoxBycg([FromBody] JObject msg)
         {
+            string FCusName = oSystemParameter.GetSingleSystemParameter("WMS_CampanyName", ref DBUtility.ClsPub.sExeReturnInfo);
             var _value = msg["msg"].ToString();
             string msg1 = _value.ToString();
             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
@@ -1527,9 +1544,9 @@
                 msg3 = msg3.Replace("\\", "");
                 msg3 = msg3.Replace("\n", "");  //\n
                 List<Model.ClsGy_MaterialList_WMS_Model> ls = new List<Model.ClsGy_MaterialList_WMS_Model>();
-                List<Model.ClsGy_BarCodeBill_WMS_Model> ls2 = new List<Model.ClsGy_BarCodeBill_WMS_Model>();
-                List<Model.ClsGy_BarCodeBill_WMS_Model> ls3 = new List<Model.ClsGy_BarCodeBill_WMS_Model>();
-                ls = oListModels.getObjectByJson_MaterialList(msg3);
+                List<Model.ClsGy_BarCodeBill_WMS_Model> ls2 = new List<Model.ClsGy_BarCodeBill_WMS_Model>();//澶栫model
+                List<Model.ClsGy_BarCodeBill_WMS_Model> ls3 = new List<Model.ClsGy_BarCodeBill_WMS_Model>();//鍐呯model
+                ls = oListModels.getObjectByJson_MaterialList(msg3);//鍒楄〃鏁版嵁model
 
                 long linterid = Pub_Class.ClsPub.CreateBillID_SRMProd("8888", ref DBUtility.ClsPub.sExeReturnInfo);
                 int LSHlen = 6;             //娴佹按鍙烽暱搴�
@@ -1554,12 +1571,12 @@
                 foreach (Model.ClsGy_MaterialList_WMS_Model oItemSub in ls)
                 {
                     //鏁伴噺涓�0 璺宠繃
-                    if (oItemSub.HQty == 0)
+                    if (oItemSub.HQty == 0 || oItemSub.HMinQty == 0 || oItemSub.HWXQty == 0)
                         continue;
                     //妫�楠屾墦鍗版暟閲忥紙HQTY锛夊拰鏈墦鍗版暟閲�
                     string sql = $"select HQty -HBarcodeCount as HNotBarcodeCount ,* from Cg_POOrderBillSub where HEntryID = {oItemSub.HSourceEntryID}";
-                    DataSet ds = oCn.RunProcReturn(sql,"tables");
-                    if (Convert.ToInt32(ds.Tables[0].Rows[0][0]) < oItemSub.HQty)
+                    DataSet ds = oCn.RunProcReturn(sql, "tables");
+                    if (ds.Tables[0].Rows.Count > 0 && Convert.ToInt32(ds.Tables[0].Rows[0][0]) < oItemSub.HQty)
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
@@ -1569,6 +1586,7 @@
                     }
                     if (ClsPub.isLong(oItemSub.HMaterID) != 0)
                     {
+
                         HNumber = oItemSub.HMaterID.ToString();
                         //HNumber = HNumber.Replace(".", "");
                         //HQty = Math.Ceiling(HBQty + ClsPub.isDoule(oItemSub.HWBQty));
@@ -1599,7 +1617,7 @@
                                 HMinQty = HSumQty;
                             }
 
-                            //  瀹夌憺鏉$爜瑙勫垯锛氱墿鏂欑紪鐮侊紙绯荤粺浠e叆锛堾鐗╂枡鍚嶇О锛堢郴缁熶唬鍏ワ級@瑙勬牸鍨嬪彿锛堢郴缁熶唬鍏ワ級@鐢熶骇鏃ユ湡锛堟墜宸ヨ緭鍏ワ級@鏁伴噺锛堟墜宸ヨ緭鍏ワ級@澶辨晥鏃ユ湡锛堟墜宸ヨ緭鍏ワ級@鎵规鍙凤紙鎵嬪伐浠e叆锛堾渚涘簲鍟嗗悕绉帮紙绯荤粺浠e叆锛堾閲囪喘璁㈠崟鍙凤紙绯荤粺浠e叆锛�
+                            //瀹夌憺鏉$爜瑙勫垯锛氱墿鏂欑紪鐮侊紙绯荤粺浠e叆锛堾鐗╂枡鍚嶇О锛堢郴缁熶唬鍏ワ級@瑙勬牸鍨嬪彿锛堢郴缁熶唬鍏ワ級@鐢熶骇鏃ユ湡锛堟墜宸ヨ緭鍏ワ級@鏁伴噺锛堟墜宸ヨ緭鍏ワ級@澶辨晥鏃ユ湡锛堟墜宸ヨ緭鍏ワ級@鎵规鍙凤紙鎵嬪伐浠e叆锛堾渚涘簲鍟嗗悕绉帮紙绯荤粺浠e叆锛堾閲囪喘璁㈠崟鍙凤紙绯荤粺浠e叆锛�
                             TM = $"{oItemSub.HMaterNumber}@{oItemSub.HMaterName}@{oItemSub.HMaterModel}@{oItemSub.HKFDate}@{HMinQty}@{oItemSub.HKFDQDate}@{oItemSub.HBatchNo}@{oItemSub.HSupName}@{oItemSub.HSourceBillNo}";
                             Model.ClsGy_BarCodeBill_WMS_Model bar = new Model.ClsGy_BarCodeBill_WMS_Model();
 
@@ -1741,7 +1759,6 @@
                     int count = 1;
                     foreach (var oItemSub in SubModel)
                     {
-
                         if (ClsPub.isLong(oItemSub.HMaterID) != 0)
                         {
                             HBarCode = oItemSub.HBarCode.ToString();
@@ -1760,7 +1777,11 @@
                             HSourceBillNo = ClsPub.isStrNull(oItemSub.HSourceBillNo);
                             HSourceBillType = ClsPub.isStrNull(oItemSub.HSourceBillType);
                             HWei = ClsPub.isStrNull(oItemSub.HEndQty);
-
+                            if (FCusName.Contains("澶忓疂"))
+                            {
+                                HBarCode = $"{oItemSub.HMaterID}";
+                                HBarCodeType = "鍝佺鐮乢澶栫";
+                            }
                             string sql = "insert into Gy_BarCodeBill (HInterID,HBarCode,HBarCodeType,HMaterID,HUnitID,HQty,HKFDate,HKFPeriod,HKFDQDate" +
                                         ",HBatchNo,HBarcodeQtys,HBarcodeNo,HSupID,HGroupID,HMaker,HMakeDate,HPrintQty,HEndQty,HSupflag" +
                                         ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HMTONO " +
@@ -1801,6 +1822,11 @@
                             HSourceBillNo = ClsPub.isStrNull(oItemSub.HSourceBillNo);
                             HSourceBillType = ClsPub.isStrNull(oItemSub.HSourceBillType);
                             HWei = ClsPub.isStrNull(oItemSub.HEndQty);
+                            if (FCusName.Contains("澶忓疂"))
+                            {
+                                HBarCode = $"{oItemSub.HMaterID}";
+                                HBarCodeType = "鍝佺鐮�";
+                            }
                             string sql = "insert into Gy_BarCodeBill (HInterID,HBarCode,HBarCodeType,HMaterID,HUnitID,HQty,HKFDate,HKFPeriod,HKFDQDate" +
                                       ",HBatchNo,HBarcodeQtys,HBarcodeNo,HSupID,HGroupID,HMaker,HMakeDate,HPrintQty,HEndQty,HSupflag" +
                                       ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HMTONO " +
@@ -1823,18 +1849,21 @@
                     //鏇存柊 宸叉墦鍗版暟閲�
                     if (oItemSub.HSourceBillType == "1102")
                     {
+                        string _HBarCodeType = "绠卞彿鏉$爜";
+                        if (FCusName.Contains("澶忓疂"))
+                            _HBarCodeType = "鍝佺鐮�";
                         string sql = string.Empty;
                         sql = string.Format(@"
 update t1 set  
 t1.HBarcodeCount = 
-isnull((select sum(HQty)from Gy_BarCodeBill where HSourceInterID = t1.HInterID and HSourceEntryID = t1.HEntryID and HBarCodeType ='绠卞彿鏉$爜'),0)
+isnull((select sum(HQty)from Gy_BarCodeBill where HSourceInterID = t1.HInterID and HSourceEntryID = t1.HEntryID and HBarCodeType ='{2}'),0)
 from Cg_POOrderBillSub t1 
-where t1.HInterID = {0} and t1.HEntryID ={1}", oItemSub.HSourceInterID, oItemSub.HSourceEntryID);
+where t1.HInterID = {0} and t1.HEntryID ={1}", oItemSub.HSourceInterID, oItemSub.HSourceEntryID, _HBarCodeType);
                         oCn.RunProc(sql);
                     }
                 }
                 oCn.Commit();
-               
+
             }
             catch (Exception e)
             {
@@ -1967,6 +1996,7 @@
             SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
             try
             {
+                string FCusName = oSystemParameter.GetSingleSystemParameter("WMS_CampanyName", ref DBUtility.ClsPub.sExeReturnInfo);
                 string sql = "select HItemID,HBarCode,HSourceInterID,HSourceEntryID,HQty,HBarCodeType,HSourceBillType from Gy_BarCodeBill where  HItemID in(" + HInterID + ") ";
                 //LogService.Write("鍒犻櫎sql:" + sql);
                 oCN.BeginTran();
@@ -1975,9 +2005,12 @@
                 {
                     foreach (DataRow dr in dt.Rows)
                     {
+                        string _HBarCodeType = "绠卞彿鏉$爜";
+                        if (FCusName.Contains("澶忓疂"))
+                            _HBarCodeType = "鍝佺鐮�";
                         WebAPIController.Add_Log("鏉$爜妗f鍒犻櫎", HUserName, "鍗曞彿" + dr["HBarCode"].ToString());
                         //鍙嶅啓鎵撳嵃鏁伴噺鍒伴噰璐鍗曞瓙琛�
-                        if (dr["HBarCodeType"].ToString() == "绠卞彿鍐呮潯鐮�" && dr["HSourceBillType"].ToString() == "1102")
+                        if (dr["HBarCodeType"].ToString() == _HBarCodeType && 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")
diff --git a/WebAPI/Controllers/POInStockController.cs b/WebAPI/Controllers/POInStockController.cs
index 9cbd472..f6dce2b 100644
--- a/WebAPI/Controllers/POInStockController.cs
+++ b/WebAPI/Controllers/POInStockController.cs
@@ -324,7 +324,7 @@
                     oItem.HMainSourceInterID = oItem.HInterID;
                     oItem.HInterID = 0;
                     //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
-                    if (FCusName == "瀹夌憺鍖荤枟") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                    if (FCusName.Contains("瀹夌憺")) //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
                     {
                         if (DBUtility.ClsPub.isStrNull(oItem.HDHDate) == "")
                         {
diff --git a/WebAPI/Controllers/POOrderController.cs b/WebAPI/Controllers/POOrderController.cs
index 8692984..e8f676e 100644
--- a/WebAPI/Controllers/POOrderController.cs
+++ b/WebAPI/Controllers/POOrderController.cs
@@ -55,8 +55,8 @@
                 //Int64 RowTotal = Common.GetRowTotal("H_v_SRM_POOrderBillList", VsWhere, ref DBUtility.ClsPub.sExeReturnInfo);
                 //鑾峰彇杩斿洖鏁版嵁
                 //sql = "exec H_P_REALESEPOORDER";
-                sql = "exec H_P_REALESEPOORDER";
-                oCn.RunProc(sql);
+                //sql = "exec H_P_REALESEPOORDER";
+                //oCn.RunProc(sql);
                 sql = "exec H_p_SRM_POOrderBillList '" + PcWhere + "'";
                 //LogService.WriteAsync(sql);
                 ds = oCn.RunProcReturn("exec H_p_SRM_POOrderBillList '" + PcWhere + "'", "H_p_SRM_POOrderBillList");

--
Gitblit v1.9.1