From 9ff424751d75ebba92f8317bd2d6aa57094baca4 Mon Sep 17 00:00:00 2001
From: chenhaozhe <gaozhechen26@gmail.com>
Date: 星期日, 08 三月 2026 19:04:38 +0800
Subject: [PATCH] 新增 投料防错 增删改查 API

---
 WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs |  725 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 676 insertions(+), 49 deletions(-)

diff --git a/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs b/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
index e2268f6..ea45580 100644
--- a/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
+++ b/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
@@ -23,6 +23,7 @@
         public DBUtility.ClsPub.Enum_BillStatus BillStatus;
         Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
         public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill();
+        public WebS.WebService1 oWebs = new WebS.WebService1();
         private json objJsonResult = new json();
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
         DataSet ds;
@@ -89,11 +90,12 @@
                 double HPeriod = DateTime.Now.Month;
                 string HRemark = list[0].HRemark;//澶囨敞
                 string HSourceName = list[0].HSourceName;//鐢熶骇璧勬簮鍚嶇О
-                double HPieceQty = list[0].HPieceQty;//杩涚珯PCS鏁�
+                double HPieceQty = list[0].HPieceQty;//杩涚珯PCS鏁�  浠舵暟
                 double HWasterQty = list[0].HWasterQty;//鎶ュ簾鏁伴噺
                 double HPlanPieceQty = list[0].HPlanPieceQty;//杩涚珯PNL鏁�
                 double HBadPNL = list[0].HBadPNL;//鎶ュ簾PNL鏁�
                 long HICMOInterID = list[0].HICMOInterID;//浠诲姟鍗旾D
+                long HICMOEntryID = list[0].HICMOEntryID;//浠诲姟鍗旾D
                 string HICMOBillNo = list[0].HICMOBillNo;//浠诲姟鍗�
                 int HProcPlanInterID = 0;
                 int HProcPlanEntryID = 0;
@@ -153,6 +155,10 @@
                 double HBackWorkByMaterQty = list[0].HBackWorkByMaterQty;//閬楀け鏁伴噺
                 int HMouldID = list[0].HMouldID;//妯″叿id
                 double HMachineWorkTimes = list[0].HMachineWorkTimes;//璁惧宸ユ椂
+                int HIsTimeFlag = list[0].HIsTimeFlag;//鏄惁璁℃椂
+                string HRelBeginTime = list[0].HRelBeginTime;//寮�宸ユ椂闂�
+                string HRelEndTime = list[0].HRelEndTime;//瀹屽伐鏃堕棿
+                double HWeight = list[0].HWeight;//閲嶉噺
                 LogService.Write($"1.瀛楁璧嬪�硷紝鐢ㄦ椂" + sw.Elapsed );
 
                 //鍗曟嵁瀹屾暣鎬у垽鏂�
@@ -233,7 +239,7 @@
                     }
 
                     //鍒ゆ柇瀹㈡埛涓嶄负榫欏北姹介厤
-                    if (oSystemParameter.omodel.WMS_CampanyName != "榫欏北姹介厤" && oSystemParameter.omodel.WMS_CampanyName != "鐟炰笌绁�" && oSystemParameter.omodel.WMS_CampanyName != "娣诲悍绉戞妧") //绯荤粺鍙傛暟                      
+                    if (oSystemParameter.omodel.WMS_CampanyName != "榫欏北姹介厤" && oSystemParameter.omodel.WMS_CampanyName != "鐟炰笌绁�" && oSystemParameter.omodel.WMS_CampanyName != "娣诲悍绉戞妧" && oSystemParameter.omodel.WMS_CampanyName != "娴疯瘹") //绯荤粺鍙傛暟                      
                     {
                         if (HSourceID == 0)
                         {
@@ -288,7 +294,7 @@
                     //鍒ゆ柇褰撳墠宸ュ崟鏄惁寮�宸�
                     else if (oSystemParameter.omodel.MES_StationOutBill_MustBeginWorkCtl == "Y")
                     {
-                        ds = oCN.RunProcReturn("select * from Sc_ICMOBillStatus_Tmp where HSourceID = '" + HSourceID + "' and HICMOBillNo = '" + HICMOBillNo + "' and HInterID = '" + HICMOInterID + "' and hicmostatus =1", "Sc_ICMOBillStatus_Tmp");
+                        ds = oCN.RunProcReturn("select * from Sc_ICMOBillStatus_Tmp with(nolock) where HSourceID = '" + HSourceID + "' and HICMOBillNo = '" + HICMOBillNo + "' and HInterID = '" + HICMOInterID + "' and hicmostatus =1", "Sc_ICMOBillStatus_Tmp");
                         if (ds.Tables[0].Rows[0]["HICMOStatus"].ToString() != "1")
                         {
                             objJsonResult.code = "0";
@@ -406,25 +412,25 @@
                     oCN.RunProc("Insert Into Sc_StationOutBillMain " +
                     "(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate,HMouldNum" +
                     ",HYear,HPeriod,HRemark,HSourceName,HPieceQty,HWasterQty,HPlanPieceQty,HBadPNL" +
-                    ",HICMOInterID,HICMOBillNo,HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo,HProcExchInterID,HProcExchEntryID" +
+                    ",HICMOInterID,HICMOEntryID,HICMOBillNo,HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo,HProcExchInterID,HProcExchEntryID" +
                     ",HProcExchBillNo,HMaterID,HProcID,HICMOQty,HPlanQty,HStationOutTime,HSourceID,HPayProcID" +
                     ",HGroupID,HDeptID,HEmpID,HBarCode,HAddr,HBarCodeMaker,HBarCodeMakeDate,HSourceID2,HSourceID3,HSourceID4,HSourceID5" +
                     ",HSupID,HQty,HPrice,HMoney,HBadCount,HCenterID,HProcNo,HOrderProcNO,HSourceNameList" +
                     ",HMainSourceInterID,HMainSourceBillNo,HMainSourceBillType,HLastSubProc" +
                     ",HEmpID2,HEmpID3,HEmpID4,HEmpID5,HDSQty,HChongQty,HPriceRate,HWorkTimes,HQCCheckID,HMainInterID,HPRDOrgID" +
                     ",HmaterOutqty,HProcPriceRate,HTemporaryAreaID,HWasterQty_Work,HWasterQty_Mater,HBackWorkQty,HShiftsID" +
-                    ",HToCheckQty,HLossQty,HBackWorkByMaterQty,HMouldID,HMachineWorkTimes " +
+                    ",HToCheckQty,HLossQty,HBackWorkByMaterQty,HMouldID,HMachineWorkTimes,HIsTimeFlag,HRelBeginTime,HRelEndTime,HWeight " +
                     ") " +
                     " values('" + BillType + "','" + (OperationType == "5" ? "SUB" : HBillSubType)  + "'," + HInterID + ",'" + HBillNo + "'," + HBillStatus + ",'"+ HDate + "','" + HMaker + "',getdate(),'" + HMouldNum + "'" +
                     "," + HYear + "," + HPeriod + ",'" + HRemark + "','" + HSourceName + "'," + HPieceQty + "," + HWasterQty + "," + HPlanPieceQty + "," + HBadPNL +
-                    "," + HICMOInterID + ",'" + HICMOBillNo + "'," + HProcPlanInterID + "," + HProcPlanEntryID + ",'" + HProcPlanBillNo + "'," + HProcExchInterID + "," + HProcExchEntryID +
+                    "," + HICMOInterID + "," + HICMOEntryID + ",'" + HICMOBillNo + "'," + HProcPlanInterID + "," + HProcPlanEntryID + ",'" + HProcPlanBillNo + "'," + HProcExchInterID + "," + HProcExchEntryID +
                     ",'" + HProcExchBillNo + "'," + HMaterID + "," + HProcID + "," + HICMOQty + "," + HPlanQty + ",getdate()," + HSourceID + "," + HPayProcID +
                     "," + HGroupID + "," + HDeptID + "," + HEmpID + ",'" + HBarCode + "','" + HAddr + "','" + HBarCodeMaker + "',getdate()" + "," + HSourceID2 + "," + HSourceID3 + "," + HSourceID4 + "," + HSourceID5 +
                     "," + HSupID + "," + HQty + "," + HPrice + "," + HMoney + "," + HBadCount + "," + HCenterID + "," + HProcNo + ",'" + HOrderProcNO + "'" + ",'" + HSourceNameList + "'" +
                     "," + HMainSourceInterID + ",'" + HMainSourceBillNo + "','" + HMainSourceBillType + "'," + Convert.ToString(HLastSubProc ? 1 : 0) +
                     "," + HEmpID2 + "," + HEmpID3 + "," + HEmpID4 + "," + HEmpID5 + "," + HDSQty + "," + HChongQty + "," + HPriceRate + "," + HWorkTimes + "," + HQCCheckID + "," + HMainInterID + "," + HPRDOrgID +
                     "," + HmaterOutqty + "," + HProcPriceRate + "," + HTemporaryAreaID + "," + HWasterQty_Work + "," + HWasterQty_Mater + "," + HBackWorkQty +
-                    "," + HShiftsID + "," + HToCheckQty + "," + HLossQty + ","+ HBackWorkByMaterQty + "," + HMouldID + ",'" + HMachineWorkTimes + "') ");
+                    "," + HShiftsID + "," + HToCheckQty + "," + HLossQty + ","+ HBackWorkByMaterQty + "," + HMouldID + ",'" + HMachineWorkTimes + "',"+ HIsTimeFlag + ",'" + HRelBeginTime + "','" + HRelEndTime + "','" + HWeight + "') ");
 
                     LogService.Write($"4.鏂板缁撴潫锛岀敤鏃�" + sw.Elapsed);
                     LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",鏂板宸ュ簭鍑虹珯鍗曟嵁:" + HBillNo);
@@ -433,7 +439,7 @@
                 else if ("Modify".Equals(eventType))
                 {
                     num = 2;
-                    oCN.RunProc("UpDate Sc_StationOutBillMain set  " +
+                    oCN.RunProc("UpDate a set  " +
                     "HUpDater='" + HMaker + "'" +
                     ",HUpDateDate=getdate()" +
                     ",HSourceName='" + HSourceName + "'" +
@@ -471,7 +477,9 @@
                     ",HBackWorkQty=" + HBackWorkQty +
                     ",HBackWorkByMaterQty=" + HBackWorkByMaterQty +
                     ",HMouldID=" + HMouldID +
-                    ",HMachineWorkTimes=" + HMachineWorkTimes +  
+                    ",HMachineWorkTimes=" + HMachineWorkTimes +
+                    ",HWeight=" + HWeight +
+                    " from Sc_StationOutBillMain a with(nolock)" +
                     " where HInterID=" + HInterID);
 
                     LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",淇敼宸ュ簭鍑虹珯鍗曟嵁:" + HBillNo);
@@ -515,7 +523,7 @@
                     oCN.RollBack();
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "[0000-2-015]鏁伴噺鎺у埗," + ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                    objJsonResult.Message = ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -527,8 +535,8 @@
                 oCN.RunProc("exec h_p_Mes_StationOutBillBackBarCode  " + HInterID + " ");
                 LogService.Write($"7.瀛樺偍杩囩▼缁撴潫锛岀敤鏃�" + sw.Elapsed);
                 //鍒ゆ柇鏄惁鏄� 鏈亾宸ュ簭
-                ds1 = oCN.RunProcReturn(" select HLastProc,HFstProc from Sc_ProcessExchangeBillMain a  " +
-                                    " inner join Sc_ProcessExchangeBillSub b on a.HInterID=b.HInterID  " +
+                ds1 = oCN.RunProcReturn(" select HLastProc,HFstProc from Sc_ProcessExchangeBillMain a with(nolock) " +
+                                    " inner join Sc_ProcessExchangeBillSub b with(nolock) on a.HInterID=b.HInterID  " +
                                     " Where a.HInterID=" + HProcExchInterID + " and b.HEntryID=" + HProcExchEntryID + " ", "Sc_ProcessExchangeBillMain");
                 LogService.Write($"7.1.鏌ヨ锛岀敤鏃�" + sw.Elapsed);
                 //鍒ゆ柇鏄惁鏄柊澧�
@@ -625,28 +633,33 @@
                         objJsonResult.Verify = "N";
                     }
                 }
+                //鍒ゆ柇鏄惁鏄柊澧�
+                if ("Add".Equals(eventType))
+                {
+                    //鍒ゆ柇瀹㈡埛涓烘捣璇� 鍚屾閲戣澏宸ュ簭姹囨姤鍗�
+                    if (oSystemParameter.omodel.WMS_CampanyName == "娴疯瘹")
+                    {
+                        object objResult = set_SaveStationOutBill_CLD_Json(HInterID, HBillNo, user);
+                    }
+                    //鍒ゆ柇瀹㈡埛涓哄崕鑸熷寘瑁� 鐢熸垚鏉$爜涓绘。
+                    else if (oSystemParameter.omodel.WMS_CampanyName == "鍗庤垷")
+                    {
+                        var objResult = Cj_StationOutBarCode_Save(HInterID,1);                        
+                    }
+                }
+                else if ("Modify".Equals(eventType))
+                {
+                    //鍒ゆ柇瀹㈡埛涓哄崕鑸熷寘瑁� 鐢熸垚鏉$爜涓绘。
+                    if (oSystemParameter.omodel.WMS_CampanyName == "鍗庤垷")
+                    {
+                        var objResult = Cj_StationOutBarCode_Save(HInterID, 2);
+                    }                    
+
+                }                
                 sw.Stop();//缁撴潫璁℃椂
                 LogService.Write($"11.鍙傛暟鏌ヨ缁撴潫,鏂板缁撴潫锛岀敤鏃�" + sw.Elapsed);
                 LogService.Write("END--鍑虹珯鍗曟嵁淇濆瓨缁撴潫锛屽嚭绔欏崟鍙凤細" + HBillNo);
 
-                //娴嬭瘯璇彞===========================================================================================================
-                string msg_str = "";
-                string sql_str = "select a.HQty HQty_Main,b.HQty HQty_Sub " +
-                            "from Sc_ProcessExchangeBillMain as a " +
-                            "inner join Sc_ProcessExchangeBillSub as b on a.HInterID = b.HInterID " +
-                            "where a.HInterID = " + HProcExchInterID;
-                DataSet ds_str = oCN.RunProcReturn(sql_str, "Sc_ProcessExchangeBillMain");
-                if (ds_str.Tables[0].Rows.Count > 0)
-                {
-                    msg_str = "HQty_Main:" + ds_str.Tables[0].Rows[0]["HQty_Main"].ToString() + ";HQty_Sub:";
-                    for (int j = 0; j < ds_str.Tables[0].Rows.Count; j++)
-                    {
-                        msg_str += ds_str.Tables[0].Rows[j]["HQty_Sub"].ToString() + ",";
-                    }
-                }
-
-                oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "淇敼宸ュ簭鍑虹珯鍗曟嵁锛�" + HBillNo + "[宸ュ簭娴佽浆鍗″彿锛�" + HProcExchBillNo + "]" + msg_str + "','LMES-宸ュ簭鍑虹珯妯″潡','" + DBUtility.ClsPub.IPAddress + "','鏂板鎴栦慨鏀瑰崟鎹�'", ref DBUtility.ClsPub.sExeReturnInfo);
-                //==============================================================================================================
 
 
                 objJsonResult.code = "1";
@@ -935,7 +948,7 @@
                 Int64 HInterID = DBUtility.ClsPub.CreateBillID("3711", ref DBUtility.ClsPub.sExeReturnInfo);
                 string HBillNo = DBUtility.ClsPub.CreateBillCode("3711", ref DBUtility.ClsPub.sExeReturnInfo, true);
                 //鑾峰彇缁勭粐浠g爜
-                string OrganizationNUM = oCN.RunProcReturn("select HNumber from Xt_ORGANIZATIONS where HItemID=" + OrganizationID, "Xt_ORGANIZATIONS").Tables[0].Rows[0]["HNumber"].ToString();
+                string OrganizationNUM = oCN.RunProcReturn("select HNumber from Xt_ORGANIZATIONS with(nolock) where HItemID=" + OrganizationID, "Xt_ORGANIZATIONS").Tables[0].Rows[0]["HNumber"].ToString();
                 //鏍规嵁宸ュ簭姹囨姤鍗曚富ID鑾峰彇宸ュ簭姹囨姤鍏ュ簱鍗曠殑鏁版嵁
                 DataSet ds = oCN.RunProcReturn("select * from h_v_MES_StationOutBillList_LastProc where HInterID=" + InterID, "h_v_MES_StationOutBillList_LastProc");
                 if (ds.Tables[0].Rows.Count <= 0)
@@ -950,7 +963,7 @@
 
                 //淇濆瓨
                 //oCN.BeginTran();
-                DataSet DsTable = oCN.RunProcReturn($"select * from Sc_ICMOReportBillMain where HBillNo='{HBillNo}'", "Sc_ICMOReportBillMain");
+                DataSet DsTable = oCN.RunProcReturn($"select * from Sc_ICMOReportBillMain with(nolock) where HBillNo='{HBillNo}'", "Sc_ICMOReportBillMain");
                 if (DsTable.Tables[0].Rows.Count > 0)
                 {
                     objJsonResult.code = "0";
@@ -1112,7 +1125,7 @@
                     return objJsonResult;
                 }
 
-                oCN.RunProc("update Sc_StationOutBillMain set HRelationQty=1 where  HBillNo='" + BillNo + "'");
+                oCN.RunProc("update a set HRelationQty=1 from Sc_StationOutBillMain a with(nolock) where  HBillNo='" + BillNo + "'");
 
                 //oCN.Commit();
                 objJsonResult.code = "0";
@@ -1328,7 +1341,7 @@
                     return objJsonResult;
                 }
 
-                oCN.RunProc("update Sc_StationOutBillMain set HRelationQty=1 where  HBillNo='" + BillNo + "'");
+                oCN.RunProc("update a set HRelationQty=1 from Sc_StationOutBillMain a with(nolock) where  HBillNo='" + BillNo + "'");
 
                 //oCN.Commit();
                 objJsonResult.code = "0";
@@ -1349,7 +1362,195 @@
         }
         #endregion
 
+        #region [鍑虹珯鍗曠敓鎴愭潯鐮佷富妗    
+        [Route("Cj_StationOutBill/Cj_StationOutBarCode_Save")]
+        [HttpPost]
+        public object Cj_StationOutBarCode_Save(long HInterID, int Type)
+        {
+            try
+            {
+                ListModels oListModels = new ListModels();
+                DAL.ClsGy_BarCodeBill_ChaiMa BillNew = new DAL.ClsGy_BarCodeBill_ChaiMa();
 
+                oCN.BeginTran();
+
+                // 濡傛灉Type涓�2锛屽厛鍒犻櫎鑰佺殑鏉$爜璁板綍
+                if (Type == 2)
+                {
+                    string deleteSql = "DELETE FROM Gy_BarCodeBill WHERE HInterID = '" + HInterID + "'";
+                    oCN.RunProc(deleteSql);
+                }
+
+                // 鏌ヨ HQty銆丠PieceQty 鍜� 閲嶉噺瀛楁
+                DataSet dsPiece = oCN.RunProcReturn("select HPieceQty, HQty, HWeight from Sc_StationOutBillMain where HInterID='" + HInterID + "'", "Sc_StationOutBillMain");
+
+                if (dsPiece == null || dsPiece.Tables[0].Rows.Count == 0)
+                {
+                    oCN.RollBack();
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛佹湭鏌ヨ鍒版潯鐮佷俊鎭�";
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+
+                decimal HPieceQty = Convert.ToDecimal(dsPiece.Tables[0].Rows[0]["HPieceQty"]);
+                decimal HQty = Convert.ToDecimal(dsPiece.Tables[0].Rows[0]["HQty"]);
+                decimal totalWeight = Convert.ToDecimal(dsPiece.Tables[0].Rows[0]["HWeight"]);
+
+                if (HPieceQty <= 0)
+                {
+                    oCN.RollBack();
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛佷欢鏁板繀椤诲ぇ浜�0";
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+
+                if (totalWeight <= 0)
+                {
+                    oCN.RollBack();
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛侀噸閲忓繀椤诲ぇ浜�0";
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+
+                // 鍥哄畾鐢熸垚鎸囧畾浠舵暟鐨勬潯鐮�
+                int barcodeCount = (int)HPieceQty;  // HPieceQty 浣滀负鏉$爜浠舵暟
+
+                // 璁$畻姣忓紶鏉$爜鐨勫熀纭�鏁伴噺鍜屽熀纭�閲嶉噺
+                decimal baseQtyPerPiece = Math.Floor(HQty / HPieceQty);
+                decimal remainderQty = HQty % HPieceQty;
+
+                // 璁$畻姣忓紶鏉$爜鐨勫熀纭�閲嶉噺锛堝噣閲嶅拰姣涢噸鐩稿悓锛�
+                decimal baseWeightPerPiece = Math.Floor(totalWeight / HPieceQty * 10000) / 10000; // 淇濈暀4浣嶅皬鏁�
+                decimal remainderWeight = totalWeight - (baseWeightPerPiece * HPieceQty);
+
+                // 鏌ヨ鍘熷鍗曟嵁淇℃伅
+                ds = oCN.RunProcReturn("select * from Sc_StationOutBillMain where HInterID='" + HInterID + "'", "Sc_StationOutBillMain");
+
+                if (ds != null && ds.Tables[0].Rows.Count > 0)
+                {
+                    DataRow row = ds.Tables[0].Rows[0];
+
+                    // 寰幆鐢熸垚鏉$爜
+                    for (int i = 0; i < barcodeCount; i++)
+                    {
+                        // 璁$畻褰撳墠鏉$爜鐨勬暟閲�
+                        decimal currentQty = baseQtyPerPiece;
+                        if (i < remainderQty)  // 濡傛灉鏈変綑鏁帮紝鍓峃寮犳潯鐮佸悇鍔�1
+                        {
+                            currentQty += 1;
+                        }
+
+                        // 璁$畻褰撳墠鏉$爜鐨勯噸閲忥紙鍑�閲嶅拰姣涢噸鐩稿悓锛�
+                        decimal currentWeight = baseWeightPerPiece;
+                        if (i < Math.Ceiling(remainderWeight / baseWeightPerPiece) && remainderWeight > 0)
+                        {
+                            currentWeight += baseWeightPerPiece; // 閲嶉噺浣欐暟涔熷垎鎽婂埌鍓嶅嚑寮犳潯鐮�
+                        }
+
+                        // 鐢熸垚鏉$爜鍙�
+                        string barcodeNumber = row["HBillNO"].ToString() + (barcodeCount > 1 ? "-" + (i + 1).ToString() : "");
+
+                        // 淇敼鎻掑叆璇彞锛屾坊鍔燞MaterialJQty鍜孒MaterialMQty瀛楁
+                        string sql = "insert into Gy_BarCodeBill (HInterID, HEntryID, HBarCode, HBarCodeType, HBarCodeSubType, HMaterID, HUnitID, HQty, HMaterialJQty, HMaterialMQty, HBatchNo, HSupID, HGroupID, HMaker, HMakeDate, " +
+                          "HPrintQty, HSourceInterID, HSourceEntryID, HSourceBillNo, HSourceBillType, HinitQty, HEndQty, HBarcodeQtys, HBarcodeNo, HDeptID, HWhID, HSPID, HRemark, " +
+                          "HCusID, HCusType, HEndDate, HWorkLineName, HBarCodeDate, HSTOCKORGID, HOWNERID, HSeOrderBillNo, HGiveAwayFlag, HMaterName, HMaterModel, " +
+                          "HPinfan, HAuxPropID, HMTONo, HInnerBillNo, HCoilNO, HFurnaceNO, HFactory, HAuxQty, HheatNO, HEmpID, HCusModel, HCusMaterName, HCheckEmpName, HZZRQ, HSupMaterNumber, HSupBatchNo" +
+                          ") values (" +
+                          "'" + row["HInterID"].ToString() + "', " +
+                          "'" + (i + 1).ToString() + "', " +  // HEntryID 鏀逛负搴忓彿
+                          "'" + barcodeNumber + "', " +  // 浣跨敤甯﹀簭鍙风殑鏉$爜鍙�
+                          "'鍞竴鏉$爜', " +
+                          "'', " +
+                          "'" + row["HMaterID"].ToString() + "', " +
+                          "'0', " +
+                          "'" + currentQty.ToString() + "', " +  // 浣跨敤褰撳墠鏉$爜鐨勬暟閲�
+                          "'" + currentWeight.ToString() + "', " +  // 鍑�閲�
+                          "'" + currentWeight.ToString() + "', " +  // 姣涢噸锛堜笌鍑�閲嶇浉鍚岋級
+                          "'', " +
+                          "'', " +
+                          "'" + row["HGroupID"].ToString() + "', " +
+                          "'" + row["HMaker"].ToString() + "', getdate(), " +
+                          "'0', " +
+                          "'" + row["HICMOInterID"].ToString() + "', " +
+                          "'" + row["HICMOEntryID"].ToString() + "', " +
+                          "'" + row["HICMOBillNo"].ToString() + "', " +
+                          "'3710', " +
+                          "'0', " +
+                          "'0', " +
+                          "'1', " +
+                          "'" + (i + 1).ToString() + "', " +  // HBarcodeNo 鏀逛负搴忓彿
+                          "'" + row["HDeptID"].ToString() + "', " +
+                          "'0', " +
+                          "'0', " +
+                          "'" + row["HRemark"].ToString() + "', " +
+                          "'0', " +
+                          "'', " +
+                          "getdate(), " +
+                          "'', " +
+                          "'" + row["HDate"].ToString() + "', " +
+                          "'" + row["HPRDORGID"].ToString() + "', " +
+                          "'" + row["HPRDORGID"].ToString() + "', " +
+                          "'', " +
+                          "'0', " +
+                          "'', " +
+                          "'', " +
+                          "'', " +
+                          "'0', " +
+                          "'', " +
+                          "'', " +
+                          "'', " +
+                          "'', " +
+                          "'', " +
+                          "'0', " +
+                          "'', " +
+                          "'" + row["HEmpID"].ToString() + "', " +
+                          "'', " +
+                          "'', " +
+                          "'', " +
+                          "'', " +
+                          "'', " +
+                          "''" +
+                          ")";
+
+                        // 鎻掑叆鎷嗗垎鏉$爜
+                        oCN.RunProc(sql);
+                    }
+
+                    oCN.Commit();
+                    objJsonResult.code = "1";
+                    objJsonResult.count = barcodeCount;
+                    objJsonResult.Message = "淇濆瓨鎴愬姛锛佸叡鐢熸垚" + barcodeCount + "寮犳潯鐮�";
+                    objJsonResult.data = barcodeCount;
+                    return objJsonResult;
+                }
+                else
+                {
+                    oCN.RollBack();
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛佹湭鏌ヨ鍒版潯鐮佷俊鎭�";
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                oCN.RunProc("update Sc_StationOutBillMain set HInterFaceRemark ='" + e.ToString().Replace("'", "''") + "', HInterFaceStatus ='鏈敓鎴�' where HInterID=" + HInterID);
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
 
 
 
@@ -1711,6 +1912,113 @@
                     string sql1 = "select * from h_v_MES_StationOutBillList where 1 = 1 ";
                     string sql = sql1 + sWhere+ "  order by hmainid desc";
                     ds = oCN.RunProcReturn(sql, "h_v_MES_StationOutBillList");
+                }
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                //if (ds.Tables[0].Rows.Count != 0 || ds != null)
+                //{
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "[0000-1-037]Sucess锛�";
+                objJsonResult.list = columnNameList;
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+                //}
+                //else
+                //{
+                //objJsonResult.code = "0";
+                //objJsonResult.count = 0;
+                //objJsonResult.Message = "鏃犳暟鎹�";
+                //objJsonResult.data = null;
+                //return objJsonResult;
+                //}
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-038]Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 杩斿洖宸ュ簭鍑虹珯姹囨姤鍗曞垪琛�
+        [Route("Cj_StationOutBill/get_Display_Eng")]
+        [HttpGet]
+        public object get_Display_Eng(string sWhere, string user, string HBillSubType)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                if (HBillSubType == "SUB")
+                {
+                    //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Sub_Query", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "[0000-1-068]瀹屽伐鍗曟棤鏌ヨ鏉冮檺!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Query", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "[0000-1-068]鍑虹珯鍗曟棤鏌ヨ鏉冮檺!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+
+                //鑾峰彇绯荤粺鍙傛暟
+                string Ret = "";
+                if (oSystemParameter.ShowBill(ref Ret))
+                {
+                    //鍒ゆ柇瀹㈡埛涓洪緳灞辨苯閰�
+                    if (oSystemParameter.omodel.WMS_CampanyName == "榫欏北姹介厤")
+                    {
+                        //鑾峰彇闇�瑕佹嫾鎺ョ殑瀛楃涓�
+                        string sql_splice = DBUtility.ClsPub.SpliceSQL(user, "宸ュ簭姹囨姤鍗曞垪琛�");
+
+                        if (sql_splice == "娌℃湁鏌ヨ鍒扮浉鍏崇敤鎴蜂俊鎭�")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "[0000-1-069]娌℃湁鏌ヨ鍒扮浉鍏崇敤鎴蜂俊鎭�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            sWhere += sql_splice;
+                        }
+                    }
+                }
+
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("select * from h_v_MES_StationOutBillList_Eng where 1 = 1" + sWhere + "order by hmainid desc", "h_v_MES_StationOutBillList");
+                }
+                else
+                {
+                    string sql1 = "select * from h_v_MES_StationOutBillList_Eng where 1 = 1 ";
+                    string sql = sql1 + sWhere + "  order by hmainid desc";
+                    ds = oCN.RunProcReturn(sql, "h_v_MES_StationOutBillList_Eng");
                 }
 
                 //娣诲姞鍒楀悕
@@ -2638,11 +2946,149 @@
         }
         #endregion
 
+        #region 鏍规嵁id鍒犻櫎鍑虹珯鍗曞拰鍏抽敭浠舵竻鍗曡〃
+        [Route("Cj_StationOutBill/del_StationOutBillandAssemblyBill")]
+        [HttpGet]
+        public object del_StationOutBillandAssemblyBill(long HInterID, string HBarCode_P, string HDeleteMan, string HBillSubType)
+        {
+            try
+            {
+                string HComputerName = SystemInformation.ComputerName; //璁惧鍚嶇О
+                if (HBillSubType == "SUB")
+                {
+                    //缂栬緫鏉冮檺
+                    if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Sub_Drop", 1, false, HDeleteMan))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "[3791-1-001]瀹屽伐鍗曟棤鏉冮檺锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    //缂栬緫鏉冮檺
+                    if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Drop", 1, false, HDeleteMan))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "[3791-1-001]鍑虹珯鍗曟棤鏉冮檺锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                DAL.ClsSc_StationOutBill oBill = new DAL.ClsSc_StationOutBill();
+                if (oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo))
+                {
+                    string sReturn = "";
+                    if (oSystemParameter.ShowBill(ref sReturn))
+                    {
+                        if (oSystemParameter.omodel.MES_StationOutBill_DeleteCtl == "Y")
+                        {
+                            if (oBill.omodel.HMaker != HDeleteMan && (HDeleteMan != "admin" && HDeleteMan != "Admin"))
+                            {
+                                objJsonResult.code = "0";
+                                objJsonResult.count = 0;
+                                objJsonResult.Message = "[0000-1-011]鍙兘鍒犻櫎鏈汉鐨勫崟鎹紒";
+                                objJsonResult.data = null;
+                                return objJsonResult;
+                            }
+                        }
+                    }
+
+
+                    SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+                    DataSet ds;
+                    //鍒ゆ柇鏄惁瀛樺湪 鐩稿悓鍗曟嵁鍙� 鐨勯鏂欏崟 鍒ゆ柇鐢熶骇璁㈠崟鏄惁宸茬粨妗堬紝瑕佹眰璁″垝鎵嬪伐鍙嶇粨妗�    
+                    ds = oCn.RunProcReturn("exec h_p_MES_StationOutBill_DelCtrl  '" + oBill.omodel.HBillNo + "'", "h_p_MES_StationOutBill_DelCtrl");
+                    if (ds == null)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "[0000-2-018]鍒ゆ柇鍏宠仈澶辫触锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0].Rows.Count > 0 && Pub_Class.ClsPub.isInt(ds.Tables[0].Rows[0][0]) == 2)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "[0000-1-007]" + Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0][1]);
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (oBill.omodel.HChecker != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "[0000-1-013]鍗曟嵁宸茬粡瀹℃牳,涓嶈兘鍒犻櫎锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    ds = oCn.RunProcReturn($"exec h_p_DelOutInBill {HInterID},'MES_StationOutBill_DeleteRelationCtl'", "h_p_DelOutInBill");
+
+                    if (ds.Tables[0].Rows[0][0].ToString() == "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "[3791-1-002]绯荤粺鍙傛暟鎺у埗,宸叉湁涓嬮亾宸ュ簭,涓嶈兘鍒犻櫎锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    oCn.BeginTran();
+
+                    ds = oCn.RunProcReturn($"select * from Sc_AssemblyBillMain  where HMainSourceInterID={oBill.omodel.HProcExchInterID} and HMainSourceEntryID={oBill.omodel.HProcExchEntryID} and HBarCode_P='{HBarCode_P}'", "Sc_AssemblyBillMain");
+
+                    if (ds.Tables[0].Rows.Count > 0)
+                    {
+                        oCn.RunProc($"delete from Sc_AssemblyBillMain  where HMainSourceInterID={oBill.omodel.HProcExchInterID} and HMainSourceEntryID={oBill.omodel.HProcExchEntryID} and HBarCode_P='{HBarCode_P}'");
+                        oCn.RunProc($"delete from Sc_AssemblyBillSub  where HInterID={ds.Tables[0].Rows[0]["HInterID"].ToString()} and HBarCode_P='{HBarCode_P}'");
+                    }
+
+                    oCn.RunProc("delete from Sc_StationOutBillSub_SN where HInterID=" + HInterID + " and HBarCode='" + HBarCode_P + "'");
+                    oCn.RunProc($"delete from Sc_StationOutBillMain  where HInterID={HInterID}");
+
+
+                    oCn.Commit();
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "[0000-1-008]鍒犻櫎鎴愬姛锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-1-005]鍗曟嵁鏈壘鍒帮紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-007]寮傚父锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
         #region 缂栬緫鍓嶅垽鏂�
         [Route("Cj_StationOutBill/set_ShowBillJudge")]
         [HttpGet]
         public object set_ShowBillJudge(string HBillNo)
         {
+            string sReturn = "";
             try
             {
                 ds = oCN.RunProcReturn("exec h_p_MES_StationOutBill_DelCtrl  '" + HBillNo + "'", "h_p_MES_StationOutBill_DelCtrl");
@@ -2658,7 +3104,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "[0000-1-038]" + Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0][1]);
+                    objJsonResult.Message = Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0][1]);
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -2673,11 +3119,34 @@
             }
             catch (Exception e)
             {
-                objJsonResult.code = "0";
-                objJsonResult.count = 0;
-                objJsonResult.Message = "[0000-1-038]Exception锛�" + e.ToString();
-                objJsonResult.data = null;
-                return objJsonResult;
+                if (oSystemParameter.ShowBill(ref sReturn) == true)
+                {
+                    if (oSystemParameter.omodel.WMS_CampanyName == "鏉窞鏂帿灏�") //绯荤粺鍙傛暟  鍒ゆ柇瀹㈡埛
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = e.ToString();
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "[0000-1-038]Exception锛�" + e.ToString();
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-1-038]Exception锛�" + e.ToString();
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
             }
         }
         #endregion
@@ -2785,7 +3254,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "[0000-1-025]鎴愬姛:" + j + "琛�,绗�" + (i + 1) + "琛�:瀹℃牳澶辫触!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -2815,21 +3284,21 @@
                 string HChecker = CurUserName;
                 string HCheckDate = DBUtility.ClsPub.GetServerDate(-1);
                 oCN.BeginTran();
-                ds = oCN.RunProcReturn("Select * from Sc_StationOutBillMain Where HInterID=" + lngBillKey.ToString(), "Sc_StationOutBillMain");
+                ds = oCN.RunProcReturn("Select * from Sc_StationOutBillMain with(nolock) Where HInterID=" + lngBillKey.ToString(), "Sc_StationOutBillMain");
                 if (ds.Tables[0].Rows.Count == 0)
                 {
                     sReturn = "鍗曟嵁鏈壘鍒帮紒";
                     return false;
                 }
-                oCN.RunProc(" Update Sc_StationOutBillMain set HChecker='" + HChecker + "',HCheckDate='" + HCheckDate + "' Where HInterID=" + lngBillKey.ToString());
+                oCN.RunProc(" Update a set HChecker='" + HChecker + "',HCheckDate='" + HCheckDate + "' from Sc_StationOutBillMain a with(nolock) Where HInterID=" + lngBillKey.ToString());
                 oCN.RunProc("exec h_p_Mes_ProcessExchangeRelationQty_Check_In " + lngBillKey.ToString() + ",1");
                 //鍒ゆ柇鏄惁鏄� 鏈亾宸ュ簭
                 DataSet ds1;
                 ds1 = oCN.RunProcReturn("select HLastProc,HFstProc " +
-                    " from Sc_ProcessExchangeBillMain a " +
-                    " inner join Sc_ProcessExchangeBillSub b on a.HInterID=b.HInterID " +
-                    " Where a.HInterID=(Select HProcExchInterID from Sc_StationOutBillMain Where HInterID=" + lngBillKey + ") " +
-                    " and b.HEntryID=(Select HProcExchEntryID from Sc_StationOutBillMain Where HInterID=" + lngBillKey + ")", "Sc_ProcessExchangeBillMain");
+                    " from Sc_ProcessExchangeBillMain a with(nolock)" +
+                    " inner join Sc_ProcessExchangeBillSub b with(nolock) on a.HInterID=b.HInterID " +
+                    " Where a.HInterID=(Select HProcExchInterID from Sc_StationOutBillMain with(nolock) Where HInterID=" + lngBillKey + ") " +
+                    " and b.HEntryID=(Select HProcExchEntryID from Sc_StationOutBillMain with(nolock) Where HInterID=" + lngBillKey + ")", "Sc_ProcessExchangeBillMain");
                 if (ds1 == null || ds1.Tables[0].Rows.Count == 0 || HLastSubProc ==false)
                 {
                 }
@@ -2837,8 +3306,8 @@
                 {
                 }
 
-                DataSet dataSet = oCN.RunProcReturn(@"select a.HProcExchBillNo,a.HQty,b.HQty HProcExchQty  from Sc_StationOutBillMain a
-inner join Sc_ProcessExchangeBillMain b on a.HProcExchInterID = b.HInterID
+                DataSet dataSet = oCN.RunProcReturn(@"select a.HProcExchBillNo,a.HQty,b.HQty HProcExchQty  from Sc_StationOutBillMain a with(nolock) 
+inner join Sc_ProcessExchangeBillMain b with(nolock) on a.HProcExchInterID = b.HInterID
 where a.HInterID = " + lngBillKey, "Sc_ProcessExchangeBillMain");
 
                 if (dataSet.Tables[0].Rows.Count > 0)
@@ -3257,7 +3726,86 @@
         }
         #endregion
 
+        #region 宸ュ簭姹囨姤鍗曟祦姘村彿鍥炶溅鑾峰彇宸ュ簭淇℃伅(甯﹀瓙搴忓垪)
+        [Route("Cj_StationOutBill/txtHProcNo_KeyDown")]
+        [HttpGet]
+        public object txtHProcNo_KeyDown(string sBillNo, string sProcNo,string HSEQNumber)
+        {
+            try
+            {
+                if (sBillNo.Equals("") || sProcNo.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-2-019]鏉″舰鐮佷笉鑳戒负绌猴紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
 
+                //寰楀埌淇℃伅锛堝澶栨爣璁颁负0鏃讹紝娴佽浆鏍囪涓�1鏃讹級
+                ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList_Sec  where 鍗曟嵁鍙�= '" + sBillNo + "' and 涓嬮亾娴佽浆宸ュ簭<>'杞�' and 濮斿鏍囪=0 and 娴佽浆鏍囪=1  and 宸ュ簭鍙�='" + sProcNo + "' and 搴忓垪鍙�='"+ HSEQNumber+"'", "h_v_Sc_ProcessExchangeBillList_Sec");
+                //Ds = oCn.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList  where 鍗曟嵁鍙�= '" + sBillNo + "' and 宸ュ簭鍙�='" + sProcNo + "' and 濮斿鏍囪=0 and 娴佽浆鏍囪=1 ", "h_v_Sc_ProcessExchangeBillList");
+                //鍐欏叆淇℃伅
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[3790-2-013]宸ュ簭鍙烽敊璇垨鑰呭綋鍓嶅伐搴忓彿涓嶅厑璁歌繘绔欙紝璇烽噸鏂拌緭鍏ワ紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "[0000-1-037]Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-038]Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ュ簭姹囨姤鍗曡幏鍙栧搴旀墍浠ュ簭鍒�
+        [Route("Cj_StationOutBill/getAllHSEQ")]
+        [HttpGet]
+        public object getAllHSEQ(string HInterID)
+        {
+            try
+            {
+                //寰楀埌淇℃伅锛堝澶栨爣璁颁负0鏃讹紝娴佽浆鏍囪涓�1鏃�
+                ds = oCN.RunProcReturn("select * from Sc_ProcessExchangeBillSEQ  where HInterID= " + HInterID, "Sc_ProcessExchangeBillSEQ");
+                
+                //鍐欏叆淇℃伅
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "瀛愬簭鍒楃己澶�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "[0000-1-037]Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-038]Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
 
         #region //鏄惁琚叧鑱�
         public bool Cj_StationInBillisUse(Int64 lngBillKey, ref string sReturn)
@@ -3503,6 +4051,7 @@
                         objJsonResult.data = ds.Tables[0];
                         return objJsonResult;
                     }
+
                     objJsonResult.code = "1";
                     objJsonResult.count = 1;
                     objJsonResult.Message = "";
@@ -3524,6 +4073,8 @@
                         objJsonResult.data = ds.Tables[0];
                         return objJsonResult;
                     }
+
+                   
 
                     objJsonResult.code = "1";
                     objJsonResult.count = 1;
@@ -3569,14 +4120,27 @@
                     return objJsonResult;
                 }
 
+
+                List<object> columnNameList = new List<object>();
+
                 string sql1 = "select * from h_v_MES_StationOutBillList_SN where 1 = 1 ";
                 string sql = sql1 + sWhere + "  order by 鍒跺崟鏃ユ湡 desc";
                 ds = oCN.RunProcReturn(sql, "h_v_MES_StationOutBillList_SN");
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    LogService.Write(21231321);
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
 
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
                 objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
                 return objJsonResult;
             }
             catch (Exception e)
@@ -4235,5 +4799,68 @@
             }
         }
         #endregion
+
+
+        #region 宸ュ簭姹囨姤鍗曞悓姝ヨ嚦閲戣澏浜�
+
+        /// <summary>
+        /// 宸ュ簭姹囨姤鍗曞悓姝ヨ嚦閲戣澏浜�
+        /// </summary>
+        /// <returns></returns>
+        [Route("Cj_StationOutBill/set_SaveStationOutBill_CLD_Json")]
+        [HttpGet]
+        public object set_SaveStationOutBill_CLD_Json(Int64 HInterID, string HBillNo, string HMaker)
+        {
+            try
+            {
+                //鍚屾鍓嶆帶鍒�=========================================
+                ds = oCN.RunProcReturn("Exec  h_p_Sc_StationOutBill_BeforeSyncCtrl  " + HInterID.ToString() + ", '" + HBillNo + "','" + HMaker + "'", " h_p_Sc_StationOutBill_BeforeSyncCtrl ");
+                if (ds == null)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-2-012]淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-1-051]鍚屾澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemark"]);
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //=========================================================
+                if (oWebs.set_SaveStationOutBill_CLD(HInterID, HBillNo, HMaker, ref DBUtility.ClsPub.sErrInfo))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鎴愬姛";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = DBUtility.ClsPub.sErrInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鍚屾鑷抽噾铦朵簯澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1