From c4b43a81ad6e6f4887b578e5421cf97b2beddb13 Mon Sep 17 00:00:00 2001
From: zrg <z1873@LAPTOP-EAVL132E>
Date: 星期四, 07 八月 2025 19:00:24 +0800
Subject: [PATCH] 1

---
 WebAPI/Controllers/仓存管理/条码生成/Sc_BarCodeController.cs |  240 ++++++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 200 insertions(+), 40 deletions(-)

diff --git "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\346\235\241\347\240\201\347\224\237\346\210\220/Sc_BarCodeController.cs" "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\346\235\241\347\240\201\347\224\237\346\210\220/Sc_BarCodeController.cs"
index 423f9d1..9709b67 100644
--- "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\346\235\241\347\240\201\347\224\237\346\210\220/Sc_BarCodeController.cs"
+++ "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\346\235\241\347\240\201\347\224\237\346\210\220/Sc_BarCodeController.cs"
@@ -132,6 +132,10 @@
                     list.Add("鍞竴鏉$爜");
                     list.Add("鎵规鏉$爜");
                 }
+                else if (sCapName == "娴疯瘹")
+                {
+                    list.Add("鍝佺鏉$爜");
+                }
                 else
                 {
                     list.Add("鍞竴鏉$爜");
@@ -159,7 +163,7 @@
         #region [閫氳繃婧愬崟绫诲瀷鏌ユ壘涓嶉�氬崟鎹俊鎭痌
         [Route("Sc_BarCode/ReportFromBillList")]
         [HttpGet]
-        public object ReportFromBillList(int page, int limit, string sWhere,string HSouceBillType,string HOrgID)
+        public object ReportFromBillList(int page, int limit, string sWhere, string HSouceBillType, string HOrgID)
         {
             oSystemParameter.ShowBill(ref DBUtility.ClsPub.sExeReturnInfo);
             List<object> columnNameList = new List<object>();
@@ -172,7 +176,7 @@
                 string tabname = "";
                 if (sWhere == null || sWhere.Equals(""))
                 {
-                    sWhere = " where 1=1 and HOrgID='"+HOrgID+"' ";
+                    sWhere = " where 1=1 and HOrgID='" + HOrgID + "' ";
                 }
                 else
                 {
@@ -181,8 +185,8 @@
                 switch (HSouceBillType)
                 {
                     case "鐢熶骇璁㈠崟":
-                        tabname = "h_v_IFCLD_ICMOBillList_Source"; 
-                        count = new SQLHelper.ClsCN().RunProcReturn("select * from h_v_IFCLD_ICMOBillList_Source "+sWhere+ " and 浠诲姟鏁伴噺>isnull(鍏ュ簱鏁伴噺,0)  and 鐘舵��<>'缁撴' order by 鍗曟嵁鍙�", tabname).Tables[0].Rows.Count;
+                        tabname = "h_v_IFCLD_ICMOBillList_Source";
+                        count = new SQLHelper.ClsCN().RunProcReturn("select * from h_v_IFCLD_ICMOBillList_Source " + sWhere + " and 浠诲姟鏁伴噺>isnull(鍏ュ簱鏁伴噺,0)  and 鐘舵��<>'缁撴' order by 鍗曟嵁鍙�", tabname).Tables[0].Rows.Count;
                         sql = string.Format(@"select * from(select row_number() over (order by 鍗曟嵁鍙�) as HRowNumber,* from h_v_IFCLD_ICMOBillList_Source " + sWhere + " and 浠诲姟鏁伴噺>isnull(鍏ュ簱鏁伴噺,0)  and 鐘舵��<>'缁撴')   as A where HRowNumber >" + pageSize + " *(" + pageNum + "-1)");
                         break;
                     case "鐢熶骇姹囨姤鍗�":
@@ -343,7 +347,7 @@
             List<object> ListRows = new List<object>();
             try
             {
-               
+
                 msg2 = msg2.Replace("\\", "");
                 msg2 = msg2.Replace("\n", "");  //\n
                 List<DBUtility.BillSelect> oList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<DBUtility.BillSelect>>(msg2);
@@ -356,7 +360,7 @@
                             //寰楀埌淇℃伅
                             ds = oCN.RunProcReturn("select * from h_v_IFCLD_ICMOList where hmainid=" + oSelectRow.BillMainID + " and hsubid=" + oSelectRow.BillSubID, "h_v_IFCLD_ICMOList");
                             //鍐欏叆淇℃伅
-                            ListRows.Add(HSourceOrderList(ds.Tables[0],ordrlist, HBarCodeType));
+                            ListRows.Add(HSourceOrderList(ds.Tables[0], ordrlist, HBarCodeType));
                             break;
                         case "3711": //鐢熶骇姹囨姤鍗�
                             //寰楀埌淇℃伅
@@ -389,7 +393,7 @@
                             ListRows.Add(HSourceOrderList1(ds.Tables[0], ordrlist, HBarCodeType, HSourceBillType));
                             break;
                         case "1202": //鐢熶骇鍏ュ簱
-                             //寰楀埌淇℃伅
+                                     //寰楀埌淇℃伅
                             ds = oWebs.getDataSetBySQL("select * from h_v_IF_ProductInBillList_Source where HMainID=" + oSelectRow.BillMainID + " and HSubID=" + oSelectRow.BillSubID, "h_v_IF_ProductInBillList_Source", ref DBUtility.ClsPub.sExeReturnInfo);
                             //鍐欏叆淇℃伅
                             ListRows.Add(Sub_WriteInForm_InOut(ds.Tables[0], ordrlist, HBarCodeType, HSourceBillType));
@@ -456,7 +460,7 @@
             return objJsonResult;
         }
 
-        public object HSourceOrderList(DataTable dt, HSouceOrderList ordrlist,string HBarCodeType) 
+        public object HSourceOrderList(DataTable dt, HSouceOrderList ordrlist, string HBarCodeType)
         {
             oSystemParameter.ShowBill(ref DBUtility.ClsPub.sExeReturnInfo);
             for (int i = 0; i < dt.Rows.Count; i++)
@@ -510,7 +514,7 @@
                 {
                     ordrlist.HMinQty = dt.Rows[i]["鏈敓鎴愭潯鐮佹暟閲�"].ToString();
                 }
-                else if (HBarCodeType == "浠櫒澶栬喘浠舵潯鐮佹櫘閫氳鍒�"|| HBarCodeType == "浠櫒鎴愬搧鏉$爜瑙勫垯"|| HBarCodeType == "璇曞墏鎴愬搧鏉$爜瑙勫垯")
+                else if (HBarCodeType == "浠櫒澶栬喘浠舵潯鐮佹櫘閫氳鍒�" || HBarCodeType == "浠櫒鎴愬搧鏉$爜瑙勫垯" || HBarCodeType == "璇曞墏鎴愬搧鏉$爜瑙勫垯")
                 {
                     ordrlist.HMinQty = "1";
                 }
@@ -522,7 +526,7 @@
             return ordrlist;
         }
 
-        public object HSourceOrderList1(DataTable dt, HSouceOrderList ordrlist, string HBarCodeType,string HSourceBillType)
+        public object HSourceOrderList1(DataTable dt, HSouceOrderList ordrlist, string HBarCodeType, string HSourceBillType)
         {
             oSystemParameter.ShowBill(ref DBUtility.ClsPub.sExeReturnInfo);
             for (int i = 0; i < dt.Rows.Count; i++)
@@ -549,7 +553,7 @@
                 ordrlist.HRemark = dt.Rows[i]["澶囨敞"].ToString();
                 ordrlist.HMTONo = dt.Rows[i]["璁″垝璺熻釜鍙�"].ToString();
 
-                if(HSourceBillType == "鏀舵枡閫氱煡鍗�")
+                if (HSourceBillType == "鏀舵枡閫氱煡鍗�")
                 {
                     if (oSystemParameter.omodel.WMS_CampanyName != "鐟炰笌绁�")
                     {
@@ -572,10 +576,10 @@
                     ordrlist.HMinQty = dt.Rows[i]["鏈�灏忓寘瑁呮暟"].ToString();
                 }
                 ordrlist.HMaker = ClsPub.CurUserName;
-                if (HSourceBillType== "鏀舵枡閫氱煡鍗�"|| HSourceBillType== "閲囪喘璁㈠崟"|| HSourceBillType=="濮斿璁㈠崟"|| HSourceBillType== "閲囪喘鍏ュ簱鍗�") 
+                if (HSourceBillType == "鏀舵枡閫氱煡鍗�" || HSourceBillType == "閲囪喘璁㈠崟" || HSourceBillType == "濮斿璁㈠崟" || HSourceBillType == "閲囪喘鍏ュ簱鍗�")
                 {
                     ordrlist.HInnerBillNo = dt.Rows[i]["鍐呴儴閲囪喘璁㈠崟鍙�"].ToString();
-                    ordrlist.HSupID= dt.Rows[i]["hsupid"].ToString();
+                    ordrlist.HSupID = dt.Rows[i]["hsupid"].ToString();
                     ordrlist.HSupNumber = dt.Rows[i]["渚涘簲鍟嗕唬鐮�"].ToString();
                     ordrlist.HSupName = dt.Rows[i]["渚涘簲鍟�"].ToString();
                     if (HSourceBillType == "鏀舵枡閫氱煡鍗�")
@@ -589,12 +593,22 @@
                             ordrlist.HGiveAwayFlag = 0;
                         }
                     }
+                    if (HSourceBillType == "閲囪喘璁㈠崟")
+                    {
+                        if (oSystemParameter.omodel.WMS_CampanyName == "娴疯瘹") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            ordrlist.HSourceBillSEQ = dt.Rows[i]["HSEQ"].ToString();
+                            ordrlist.HFactory = dt.Rows[i]["瀹㈡埛缂栧彿"].ToString();
+                            ordrlist.HCoilNO = dt.Rows[i]["娆惧彿"].ToString();
+                            ordrlist.HFurnaceNO = dt.Rows[i]["鍒嗙粍"].ToString();
+                        }
+                    }
                 }
                 if (HSourceBillType == "閫�璐ч�氱煡鍗�")
                 {
                     ordrlist.HCusID = dt.Rows[i]["HCusID"].ToString();
                     ordrlist.HCusNumber = dt.Rows[i]["瀹㈡埛浠g爜"].ToString();
-                    ordrlist.HCusName= dt.Rows[i]["瀹㈡埛"].ToString();
+                    ordrlist.HCusName = dt.Rows[i]["瀹㈡埛"].ToString();
                 }
                 if (HSourceBillType == "鍏朵粬鍏ュ簱鍗�" || HSourceBillType == "棰嗘枡鍑哄簱鍗�")
                 {
@@ -605,7 +619,7 @@
                     ordrlist.HSPNumber = dt.Rows[i]["浠撲綅浠g爜"].ToString();
                     ordrlist.HSPName = dt.Rows[i]["浠撲綅"].ToString();
                 }
-                if(HSourceBillType == "閿�鍞嚭搴撳崟")
+                if (HSourceBillType == "閿�鍞嚭搴撳崟")
                 {
                     ordrlist.HWhID = dt.Rows[i]["HWhID"].ToString();
                     ordrlist.HWhNumber = dt.Rows[i]["浠撳簱浠g爜"].ToString();
@@ -621,7 +635,7 @@
         //鏍规嵁TABLE鍐欏叆鐣岄潰(鍑哄叆搴撳崟鎹�) 
         private object Sub_WriteInForm_InOut(DataTable dt, HSouceOrderList ordrlist, string HBarCodeType, string HSourceBillType)
         {
-
+            oSystemParameter.ShowBill(ref DBUtility.ClsPub.sExeReturnInfo);
             for (int i = 0; i < dt.Rows.Count; i++)
             {
                 ordrlist.HQty = dt.Rows[i]["鍙敓鎴愭潯鐮佹暟閲�"].ToString();
@@ -652,8 +666,22 @@
                 ordrlist.HSPNumber = dt.Rows[i]["浠撲綅浠g爜"].ToString();
                 ordrlist.HSPName = dt.Rows[i]["浠撲綅"].ToString();
                 ordrlist.HMTONo = dt.Rows[i]["璁″垝璺熻釜鍙�"].ToString();
-                ordrlist.HDate = dt.Rows[i]["鏃ユ湡"].ToString(); 
+                ordrlist.HDate = dt.Rows[i]["鏃ユ湡"].ToString();
                 ordrlist.HShowDate = DateTime.Now.ToString();
+
+                if (HSourceBillType == "閲囪喘鍏ュ簱鍗�")
+                {
+                    if (oSystemParameter.omodel.WMS_CampanyName == "娴疯瘹") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                    {
+                        ordrlist.HInnerBillNo = dt.Rows[i]["閲囪喘璁㈠崟鍙�"].ToString();
+                        ordrlist.HSupID = dt.Rows[i]["HSupID"].ToString();
+                        ordrlist.HSupNumber = dt.Rows[i]["渚涘簲鍟嗕唬鐮�"].ToString();
+                        ordrlist.HSupName = dt.Rows[i]["渚涘簲鍟�"].ToString();
+                        ordrlist.HFactory = dt.Rows[i]["瀹㈡埛缂栧彿"].ToString();
+                        ordrlist.HCoilNO = dt.Rows[i]["娆惧彿"].ToString();
+                        ordrlist.HFurnaceNO = dt.Rows[i]["鍒嗙粍"].ToString();
+                    }
+                }
             }
             return ordrlist;
         }
@@ -699,7 +727,7 @@
                 if (oDs == null && oDs.Tables[0].Rows.Count == 0)
                 {
                     objJsonResult.code = "1";
-                    objJsonResult.Message= "[0000-2-053]鐢熸垚鎵规澶辫触锛�";
+                    objJsonResult.Message = "[0000-2-053]鐢熸垚鎵规澶辫触锛�";
                     return objJsonResult;
                 }
                 else if (DBUtility.ClsPub.isStrNull(oDs.Tables[0].Rows[0][0]) == "1")
@@ -716,7 +744,7 @@
             if (b == false)
             {
                 objJsonResult.code = "1";
-                objJsonResult.Message= "[3899-2-003]娌℃湁闇�瑕佺敓鎴愭壒娆$殑鏄庣粏琛岋紒";
+                objJsonResult.Message = "[3899-2-003]娌℃湁闇�瑕佺敓鎴愭壒娆$殑鏄庣粏琛岋紒";
                 return objJsonResult;
             }
             else //瀹屽叏灏侀棴
@@ -740,7 +768,7 @@
                 string HOrgType = sArray[1].ToString();
                 string HSourceBillTypeName = sArray[2].ToString();
                 string HSelectBarCodeType = sArray[3].ToString();
-                string CampanyName = sArray[4].ToString()=="xxx"?"": sArray[4].ToString();
+                string CampanyName = sArray[4].ToString() == "xxx" ? "" : sArray[4].ToString();
                 string UserName = sArray[5].ToString();
                 ClsPub.CurUserName = UserName;
 
@@ -801,12 +829,13 @@
                 long HMaterID = DBUtility.ClsPub.isLong(ordrlist[i].HMaterID);              // 鐗╂枡鍐呯爜
                 string HBatchNo = DBUtility.ClsPub.isStrNull(ordrlist[i].HBatchNo);         // 鎵瑰彿
                 long HAuxPropID = DBUtility.ClsPub.isLong(ordrlist[i].HAuxPropID);          // 杈呭姪灞炴�D
+                string HMTONo = DBUtility.ClsPub.isStrNull(ordrlist[i].HMTONo);             // 璁″垝璺熻釜鍙�
                 double HSourceQty = DBUtility.ClsPub.isDoule(ordrlist[i].HMinQty);          // 婧愬崟鏁伴噺
                 double HQty = DBUtility.ClsPub.isDoule(ordrlist[i].HQty);                   // 鏁伴噺
                 double HMinQty = DBUtility.ClsPub.isDoule(ordrlist[i].HMinQty);             // 鏈�灏忓寘瑁呮暟
                 if (HMaterID != 0)
                 {
-                    DataSet oDsCheck = oCN.RunProcReturn("exec h_p_Gy_BarCodeBill_AddCheck " + HSno.ToString() + ",'" + HBarCodeType + "','" + HSourceBillNo + "'," + HMaterID.ToString() + ",'" + HBatchNo + "'," + HAuxPropID.ToString() + "," + HSourceQty.ToString() + "," + HQty.ToString() + "," + HMinQty.ToString() + "," + HOrgID.ToString() + ",'" + SourceQtyCtl + "'", "h_p_Gy_BarCodeBill_AddCheck");
+                    DataSet oDsCheck = oCN.RunProcReturn("exec h_p_Gy_BarCodeBill_AddCheck_New " + HSno.ToString() + ",'" + HBarCodeType + "','" + HSourceBillNo + "'," + HMaterID.ToString() + ",'" + HBatchNo + "'," + HAuxPropID.ToString() + ",'" + HMTONo + "'," + HSourceQty.ToString() + "," + HQty.ToString() + "," + HMinQty.ToString() + "," + HOrgID.ToString() + ",'" + SourceQtyCtl + "'", "h_p_Gy_BarCodeBill_AddCheck_New");
                     if (oDsCheck == null && oDsCheck.Tables[0].Rows.Count == 0)
                     {
                         objJsonResult.code = "0";
@@ -833,7 +862,7 @@
         #endregion
 
         #region[鏉$爜鐢熸垚鏂规硶]
-        private object SaveBarCode(string msg2, string HSelectBarCodeType, string CampanyName,string HSourceBillTypeName)
+        private object SaveBarCode(string msg2, string HSelectBarCodeType, string CampanyName, string HSourceBillTypeName)
         {
             int LSHlen = 6;             //娴佹按鍙烽暱搴�
             int SumLen = 10;            //鎬婚暱搴�
@@ -845,7 +874,7 @@
             int HBQty = 0;              //绠辨暟
             double HQty = 0;            //鏁伴噺
             string WeiShu = "";         //灏炬暟
-            int LSH = 0;                //娴佹按鍙�
+            Int64 LSH = 0;              //娴佹按鍙�
             string LSH2 = "";           //娴佹按鍙疯浆鎹㈡垚瀛楃
             string sDate = "";          //鏃ユ湡
             string sYear = "";          //骞�
@@ -935,7 +964,7 @@
                             sTMNumber = HNumber + sYear + sPeriod + sDay;
                             Ds = oCN.RunProcReturn("exec h_p_WMS_GetMaxNo '" + sTMNumber + "'", "h_p_WMS_GetMaxNo");    //鑾峰彇鏈�澶ф祦姘村彿
                             //oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sTMNumber + "'");
-                            LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]);
+                            LSH = ClsPub.isLong(Ds.Tables[0].Rows[0][0]);
                         }
                         else if (CampanyName == "椋為緳")
                         {
@@ -952,9 +981,10 @@
                             sTMNumber = HWorksNumber + HNumber + sYear + sPeriod + sDay;
                             Ds = oCN.RunProcReturn("exec h_p_WMS_GetMaxNo '" + sTMNumber + "'", "h_p_WMS_GetMaxNo");    //鑾峰彇鏈�澶ф祦姘村彿
                             //oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sTMNumber + "'");
-                            LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]);
+                            LSH = ClsPub.isLong(Ds.Tables[0].Rows[0][0]);
                         }
-                        else if (CampanyName == "鐟炰笌绁�") {
+                        else if (CampanyName == "鐟炰笌绁�")
+                        {
                             var date = DateTime.Now.ToString("yyMMdd");//鏃ユ湡
                             if (HSourceBillTypeName == "鏀舵枡閫氱煡鍗�")
                             {
@@ -977,7 +1007,7 @@
 
                                 //sTMNumber = ordrlist[j].HMaterNumber + "-鍖呰鏍囪瘑-" + date + "-" + ordrlist[j].HSupNumber + "-";
                                 Ds = oCN.RunProcReturn("exec h_p_WMS_GetMaxNo '" + sTMNumber + "'", "h_p_WMS_GetMaxNo");    //鑾峰彇鏈�澶ф祦姘村彿
-                                LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]);
+                                LSH = ClsPub.isLong(Ds.Tables[0].Rows[0][0]);
                             }
                             else if (HSourceBillTypeName == "鐢熶骇鍏ュ簱鍗�")
                             {
@@ -1011,13 +1041,13 @@
 
                                 //sTMNumber = ordrlist[j].HMaterNumber + "-鍖呰鏍囪瘑-"+ date + "-缁勭粐浠g爜-";
                                 Ds = oCN.RunProcReturn("exec h_p_WMS_GetMaxNo '" + sTMNumber + "'", "h_p_WMS_GetMaxNo");    //鑾峰彇鏈�澶ф祦姘村彿
-                                LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]);
+                                LSH = ClsPub.isLong(Ds.Tables[0].Rows[0][0]);
                             }
                             else
                             {
                                 sTMNumber = HOrgNumber + HNumber + sYear + sPeriod + sDay;
                                 Ds = oCN.RunProcReturn("exec h_p_WMS_GetMaxNo '" + sTMNumber + "'", "h_p_WMS_GetMaxNo");    //鑾峰彇鏈�澶ф祦姘村彿
-                                LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]);
+                                LSH = ClsPub.isLong(Ds.Tables[0].Rows[0][0]);
                             }
                         }
                         else  //閫氱敤鏂规硶
@@ -1026,7 +1056,7 @@
                             sTMNumber = HOrgNumber + HNumber + sYear + sPeriod + sDay;
                             Ds = oCN.RunProcReturn("exec h_p_WMS_GetMaxNo '" + sTMNumber + "'", "h_p_WMS_GetMaxNo");    //鑾峰彇鏈�澶ф祦姘村彿
                             //oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sTMNumber + "'");
-                            LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]);
+                            LSH = ClsPub.isLong(Ds.Tables[0].Rows[0][0]);
                         }
                     }
                     else if (HSelectBarCodeType == "鍝佺鏉$爜")
@@ -1050,7 +1080,7 @@
                         sTMNumber = HMaterNumber + sYear + sPeriod + sDay;
                         Ds = oCN.RunProcReturn("exec h_p_WMS_GetMaxNo '" + sTMNumber + "'", "h_p_WMS_GetMaxNo");    //鑾峰彇鏈�澶ф祦姘村彿
                                                                                                                     //oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sTMNumber + "'");
-                        LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]);
+                        LSH = ClsPub.isLong(Ds.Tables[0].Rows[0][0]);
                         LSHlen = 4;
                     }
                     else if (HSelectBarCodeType == "浠櫒鎴愬搧鏉$爜瑙勫垯") //鍙﹀澶勭悊浜�
@@ -1067,7 +1097,7 @@
                         sTMNumber = HMaterNumber + HBatchNo;
                         Ds = oCN.RunProcReturn("exec h_p_WMS_GetMaxNo '" + sTMNumber + "'", "h_p_WMS_GetMaxNo");    //鑾峰彇鏈�澶ф祦姘村彿
                                                                                                                     //oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sTMNumber + "'");
-                        LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]);
+                        LSH = ClsPub.isLong(Ds.Tables[0].Rows[0][0]);
                         LSHlen = 6;
                     }
                     else if (HSelectBarCodeType == "鍐呴攢鏈烘潯鐮�")
@@ -1077,7 +1107,7 @@
                         sTMNumber = "1" + HModelName + HBarCodeDate + HBarCodeBatchNo + HYasuoji + "00";
                         Ds = oCN.RunProcReturn("exec h_p_WMS_GetMaxNo '" + sTMNumber + "'", "h_p_WMS_GetMaxNo");    //鑾峰彇鏈�澶ф祦姘村彿
                                                                                                                     //oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sTMNumber + "'");
-                        LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]);
+                        LSH = ClsPub.isLong(Ds.Tables[0].Rows[0][0]);
                         LSHlen = 5;
                         if (sTMNumber.Length != 16)
                         {
@@ -1094,7 +1124,7 @@
                         sTMNumber = HMaterNumber.Replace(".", "") + HBarCodeDate + HBarCodeBatchNo;
                         Ds = oCN.RunProcReturn("exec h_p_WMS_GetMaxNo '" + sTMNumber + "'", "h_p_WMS_GetMaxNo");    //鑾峰彇鏈�澶ф祦姘村彿
                                                                                                                     //oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sTMNumber + "'");
-                        LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]);
+                        LSH = ClsPub.isLong(Ds.Tables[0].Rows[0][0]);
                         LSHlen = 5;
                         if (sTMNumber.Length != 18)
                         {
@@ -1110,7 +1140,7 @@
                         sTMNumber = HICMOBillNo;
                         Ds = oCN.RunProcReturn("exec h_p_WMS_GetMaxNo '" + sTMNumber + "'", "h_p_WMS_GetMaxNo");    //鑾峰彇鏈�澶ф祦姘村彿
                                                                                                                     //oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sTMNumber + "'");
-                        LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]);
+                        LSH = ClsPub.isLong(Ds.Tables[0].Rows[0][0]);
                         LSHlen = 5;
                     }
                     else if (HSelectBarCodeType == "鎵樼洏鏉$爜")
@@ -1119,7 +1149,7 @@
                         //鏉$爜鍓嶇紑 = 鐗╂枡鍐呯爜 + 骞� + 鏈� + 鏃�
                         sTMNumber = HNumber + sYear + sPeriod + sDay;
                         Ds = oCN.RunProcReturn("exec h_p_WMS_GetMaxNo '" + sTMNumber + "'", "h_p_WMS_GetMaxNo");    //鑾峰彇鏈�澶ф祦姘村彿
-                        LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]);
+                        LSH = ClsPub.isLong(Ds.Tables[0].Rows[0][0]);
                     }
                     else
                     {
@@ -1133,7 +1163,7 @@
                     HMinQty = ClsPub.isDoule(ordrlist[j].HMinQty);
                     HSumQty = ClsPub.isDoule(ordrlist[j].HQty);
                     n = 0;
-                    
+
                     for (int i = k; i < HBQty; i++)
                     {
                         if (HSumQty - HMinQty > 0)
@@ -1183,7 +1213,34 @@
                             objJsonResult.Message = "鏉″舰鐮佷笉鑳戒负绌猴紝涓嶈兘鐢熸垚鏉$爜锛�";
                             return objJsonResult;
                         }
-                        HBarCodeList barcode = new HBarCodeList();
+                        HBarCodeList barcode = new HBarCodeList(); 
+
+                        if (CampanyName == "娴疯瘹") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�
+                        {
+                            string sHMTONo = "";            //璁″垝璺熻釜鍙�
+                            string sHSourceBillNo = "";     //婧愬崟鍗曞彿
+                            string sHSourceBillSEQ = "";    //婧愬崟琛屽彿
+                            string sSupNumber = "";         //渚涘簲鍟嗕唬鐮�
+                            string sHQty = "";              //鏁伴噺
+
+                            sHMTONo = DBUtility.ClsPub.isStrNull(ordrlist[j].HMTONo);
+                            sHSourceBillNo = DBUtility.ClsPub.isStrNull(ordrlist[j].HBillNo);
+                            sHSourceBillSEQ = DBUtility.ClsPub.isStrNull(ordrlist[j].HSourceBillSEQ);
+                            sSupNumber = DBUtility.ClsPub.isStrNull(ordrlist[j].HSupNumber);
+                            sHQty = DBUtility.ClsPub.isStrNull(HMinQty);
+
+                            if (DBUtility.ClsPub.isStrNull(ordrlist[j].HBillType) == "1102") //婧愬崟锛氶噰璐鍗�
+                            {
+                                //鏉$爜瑙勫垯锛氶噰璐鍗曞崟鍙稝琛屽彿@鐗╂枡浠g爜@MTO@鏁伴噺@渚涘簲鍟嗕唬鐮�
+                                TM = sHSourceBillNo + "@" + sHSourceBillSEQ + "@" + HMaterNumber + "@" + sHMTONo + "@" + sHQty + "@" + sSupNumber;
+                            }
+                            else
+                            {
+                                //鏉$爜瑙勫垯锛氱墿鏂欏唴鐮丂MTO@鏁伴噺
+                                TM = HNumber + "@" + sHMTONo + "@" + sHQty;
+                            }
+                        }
+
                         barcode.HBarCode2 = TM;
                         barcode.HEntryID2 = ClsPub.isStrNull(j + 1);
                         barcode.HMaterID2 = ordrlist[j].HMaterID;
@@ -1485,7 +1542,7 @@
         {
             try
             {
-                oCN.RunProc("update Gy_BarCodeBill set HPrintQty=isnull(HPrintQty,0)+1 where HitemID in("+msg+")", ref DBUtility.ClsPub.sExeReturnInfo);
+                oCN.RunProc("update Gy_BarCodeBill set HPrintQty=isnull(HPrintQty,0)+1 where HitemID in(" + msg + ")", ref DBUtility.ClsPub.sExeReturnInfo);
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "鏇存柊鎵撳嵃娆℃暟鎴愬姛";
@@ -1501,6 +1558,109 @@
         }
         #endregion
 
+        #region 鏉$爜瀛樺叆鏉$爜涓绘。
+        /// <summary>
+        /// 鏉$爜杞瓨鏉$爜涓绘。
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <returns></returns>
+        [Route("Sc_BarCode/SaveBarCode_NoGenerate")]
+        [HttpPost]
+        public object SaveBarCode_NoGenerate([FromBody] JObject msg)
+        {
+            try
+            {
+                var _value = msg["msg"].ToString();
+                string msg1 = _value.ToString();
+                string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+                string msg2 = sArray[0].ToString();
+                string HOrgType = sArray[1].ToString();
+                string HSourceBillTypeName = sArray[2].ToString();
+                string HSelectBarCodeType = sArray[3].ToString();
+                string CampanyName = sArray[4].ToString() == "xxx" ? "" : sArray[4].ToString();
+                string UserName = sArray[5].ToString();
+                string barCodeNo = sArray[6].ToString();
+                ClsPub.CurUserName = UserName;
+
+                //鑾峰彇鍐呯爜
+                HInterID = DBUtility.ClsPub.CreateBillID_Prod(ModName, ref DBUtility.ClsPub.sExeReturnInfo);
+                DAL.ClsGy_ORGANIZATIONS_View oClsGy_ORGANIZATIONS_View = new DAL.ClsGy_ORGANIZATIONS_View();
+                HOrgNumber = "";
+                if (oClsGy_ORGANIZATIONS_View.GetInfoByName(HOrgType))
+                {
+                    HOrgID = oClsGy_ORGANIZATIONS_View.omodel.HItemID;
+                    HOrgNumber = DBUtility.ClsPub.isStrNull(oClsGy_ORGANIZATIONS_View.omodel.HNumber);
+                }
+                if (HOrgID == -1)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-2-055]閫夋嫨缁勭粐鏈夐敊璇�!";
+                    return objJsonResult;
+                }
+                if (!Sub_AllowSave(msg2, HSelectBarCodeType))//鍗曟嵁瀹屾暣鎬у垽鏂�
+                {
+                    return objJsonResult;
+                }
+                if (HSelectBarCodeType == "浠櫒鎴愬搧鏉$爜瑙勫垯")
+                {
+                    //瀹㈡埛瀹氬埗
+                }
+                else
+                {
+
+                    // 鏉$爜杞瓨
+                    msg2 = msg2.Replace("\\", "");
+                    msg2 = msg2.Replace("\n", "");  //\n
+                    List<HSouceOrderList> ordrlist = Newtonsoft.Json.JsonConvert.DeserializeObject<List<HSouceOrderList>>(msg2);
+                    LogService.Write(ordrlist[0]);
+
+                    long HSourceInterID = string.IsNullOrEmpty(ordrlist[0].HMainID) == true ? 0 : ClsPub.isLong(ordrlist[0].HMainID);
+                    long HSourceEntryID = string.IsNullOrEmpty(ordrlist[0].HSubID) == true ? 0 : ClsPub.isLong(ordrlist[0].HSubID);
+                    DataSet ds1 = oCN.RunProcReturn("exec h_p_SC_BarCode_Transfer " +
+                        "@HBarCodeNo = N'" + barCodeNo + "'" +
+                        ",@HSubID = " + ordrlist[0].HSubID +
+                        ",@HMaterID = " + ordrlist[0].HMaterID +
+                        ",@HGiveAwayFlag = " + ordrlist[0].HGiveAwayFlag +
+                        ",@HQty = " + ordrlist[0].HQty +
+                        ",@HUnitID = " + ordrlist[0].HUnitID +
+                        ",@HMinQty = " + ordrlist[0].HMinQty +
+                        ",@HSupID = " + ordrlist[0].HSupID +
+                        ",@HBatchNo = N'" + ordrlist[0].HBatchNo + "'" +
+                        ",@HMTONO = N'" + ordrlist[0].HMTONo + "'" +
+                        ",@HBarCodeDate = N'" + ordrlist[0].HDate + "'" +
+                        ",@HEmpID = " + ordrlist[0].HEmpID +
+                        ",@HGroupID = " + ordrlist[0].HGroupID +
+                        ",@HSourceInterID = " + HSourceInterID +
+                        ",@HSourceEntryID = " + HSourceEntryID +
+                        ",@HBarCodeType = N'" + HSelectBarCodeType + "'"+
+                        ",@HSourceBillNo = N'" + ordrlist[0].HBillNo + "'"+
+                        ",@HMaker = N'" + UserName + "'"
+                        , "h_p_SC_BarCode_Transfer");
+
+                    if ((bool)ds1.Tables[0].Rows[0]["returntype"] == true)
+                    {
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = ds1.Tables[0].Rows[0]["mesg"].ToString();
+                    }
+                    else
+                    {
+                        throw new Exception(ds1.Tables[0].Rows[0]["mesg"].ToString());
+                    }
+
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[3899-2-006]鏉$爜鐢熸垚澶辫触!" + e.Message;
+                return objJsonResult;
+            }
+            return objJsonResult;
+        }
+        #endregion
 
         #region [鏉$爜鐢熸垚鎺ュ彛-杩﹀崡]
         [Route("Sc_BarCode/Sub_SaveBill_JiaNan")]
@@ -1704,7 +1864,7 @@
                             oCN.RunProc("exec h_p_WMS_SetMaxNo '" + sTMNumber + "'");           //鏇存柊鏈�澶ф祦姘村彿
                         }
                     }
-                    else if(HSelectBarCodeType == "BarCode_Box")
+                    else if (HSelectBarCodeType == "BarCode_Box")
                     {
                         int HBQty = ClsPub.isInt(ordrlist[i].HBQty);                            //绠辨暟
 

--
Gitblit v1.9.1