From 0ecadf2d4500e018ef59c5d7c0eb3b23856580f0 Mon Sep 17 00:00:00 2001
From: chenhaozhe <cgz@hz-kingdee.com>
Date: 星期一, 27 四月 2026 15:11:11 +0800
Subject: [PATCH] 调整 token自动刷新接口,解决token 无法自动刷新的问题

---
 WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs |  539 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 491 insertions(+), 48 deletions(-)

diff --git a/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs b/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
index 0129950..bdc6b01 100644
--- a/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
+++ b/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
@@ -10,6 +10,7 @@
 using System.Web.Http;
 using System.Windows.Forms;
 using WebAPI.Models;
+using System.Linq;
 
 namespace WebAPI.Controllers
 {
@@ -51,6 +52,7 @@
             string msg4 = sArray[2].ToString();
             string msg5 = sArray[3].ToString();
             string HBillSubType = sArray[4].ToString();
+            string msg6 = sArray.Length > 5 ? sArray[5] : ""; // 杩欓噷瀹夊叏浜�
             string HComputerName = SystemInformation.ComputerName; //璁惧鍚嶇О    
 
             string UserName = "";
@@ -90,7 +92,7 @@
                 {
                     UserName = oItem.HMaker;  //鍒跺崟浜�
                     oItem.HBillType = "3772";
-                    oItem.HBillSubType = HBillSubType == "SUB" ? HBillSubType : "3772";
+                    oItem.HBillSubType = HBillSubType == "SUB" ? HBillSubType : oItem.HBillSubType;
                     oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
                     oItem.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
                     oItem.HDate = HBillSubType == "SUB" ? DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")) : oItem.HDate;
@@ -123,59 +125,65 @@
                     oBill.DetailColl.Add(oItemSub);
 
                 }
+
+                //杩斿伐琛ㄤ綋鏁版嵁
+                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+                List<Model.Sc_ProcessExchangeBillSub_HRelationBack> ls2 = new List<Model.Sc_ProcessExchangeBillSub_HRelationBack>();
+
+                if (!string.IsNullOrEmpty(msg6))
+                {
+                    // 鍙湁 msg6 涓嶄负绌烘墠璧拌繖閲�
+                    msg6 = msg6.Substring(1, msg6.Length - 2);
+                    msg6 = msg6.Replace("\\", "");
+                    msg6 = msg6.Replace("\n", "");
+
+                    // 杩欓噷蹇呴』浼� msg6锛屼笉鏄� msg3锛侊紒锛�
+                    ls2 = oListModels.getObjectByJson_Sc_ProcessExchangeBillSub_HRelationBack(msg6);
+                }
+
+                int i2 = 0;
+                foreach (Model.Sc_ProcessExchangeBillSub_HRelationBack oItemSub2 in ls2)
+                {
+                    i2++;
+                    oItemSub2.HEntryID = i2;
+                    oItemSub2.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+
+                    // 鍦ㄨ繖閲岀洿鎺ョ粰榛樿鍊硷紒
+                    // ======================
+                    oItemSub2.HProcExchInterID = oItemSub2.HProcExchInterID > 0 ? oItemSub2.HProcExchInterID : 0;
+                    oItemSub2.HProcExchEntryID = oItemSub2.HProcExchEntryID > 0 ? oItemSub2.HProcExchEntryID : 0;
+                    oItemSub2.HProcExchBillNo = string.IsNullOrEmpty(oItemSub2.HProcExchBillNo) ? "" : oItemSub2.HProcExchBillNo;
+
+                    oItemSub2.HICMOInterID = oItemSub2.HICMOInterID > 0 ? oItemSub2.HICMOInterID : 0;
+                    oItemSub2.HICMOEntryID = oItemSub2.HICMOEntryID > 0 ? oItemSub2.HICMOEntryID : 0;
+                    oItemSub2.HICMOBillNo = string.IsNullOrEmpty(oItemSub2.HICMOBillNo) ? "" : oItemSub2.HICMOBillNo;
+
+                    oItemSub2.HStationOutInterID = oItemSub2.HStationOutInterID > 0 ? oItemSub2.HStationOutInterID : 0;
+                    oItemSub2.HStationOutBillNo = string.IsNullOrEmpty(oItemSub2.HStationOutBillNo) ? "" : oItemSub2.HStationOutBillNo;
+
+                    oBill.DetailColl2.Add(oItemSub2);
+                }
+
+
+
                 //淇濆瓨
                 //淇濆瓨瀹屾瘯鍚庡鐞�
                 bool bResult;
                 if (msg5 == "xz")
                 {
                     LogService.Write("鐢ㄦ埛:" + msg4 + ",鏃ユ湡:" + DateTime.Now + ",鏂板宸ュ簭娴佽浆鍗″崟鎹�:" + oBill.omodel.HBillNo);
-                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
-                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
 
+                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);                    
 
-                    //娴嬭瘯璇彞===========================================================================================================
-                    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 = " + oBill.omodel.HInterID;
-                    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(),'" + msg4 + "','" + HComputerName + "','" + "鏂板宸ュ簭娴佽浆鍗″崟鎹細" + oBill.omodel.HBillNo + msg_str + "','LMES-宸ュ簭娴佽浆鍗℃ā鍧�','" + DBUtility.ClsPub.IPAddress + "','鏂板鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo);
+                    oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + msg4 + "','" + HComputerName + "','" + "鏂板宸ュ簭娴佽浆鍗″崟鎹細" + oBill.omodel.HBillNo  + "','LMES-宸ュ簭娴佽浆鍗℃ā鍧�','" + DBUtility.ClsPub.IPAddress + "','鏂板鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo);
                 }
                 else
                 {
                     LogService.Write("鐢ㄦ埛:" + msg4 + ",鏃ユ湡:" + DateTime.Now + ",淇敼宸ュ簭娴佽浆鍗″崟鎹�:" + oBill.omodel.HBillNo);
+                    
                     bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
-
-                    //娴嬭瘯璇彞===========================================================================================================
-                    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 = " + oBill.omodel.HInterID;
-                    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(),'" + msg4 + "','" + HComputerName + "','" + "淇敼宸ュ簭娴佽浆鍗″崟鎹細" + oBill.omodel.HBillNo + msg_str + "','LMES-宸ュ簭娴佽浆鍗℃ā鍧�','" + DBUtility.ClsPub.IPAddress + "','淇敼鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo);
+                    
+                    oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + msg4 + "','" + HComputerName + "','" + "淇敼宸ュ簭娴佽浆鍗″崟鎹細" + oBill.omodel.HBillNo + "','LMES-宸ュ簭娴佽浆鍗℃ā鍧�','" + DBUtility.ClsPub.IPAddress + "','淇敼鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo);
                 }
                 if (bResult)
                 {
@@ -207,7 +215,6 @@
                     objJsonResult.code = "0";
                     objJsonResult.count = 1;
                     objJsonResult.Message = "[0000-1-050]淇濆瓨鎴愬姛锛�";
-                    //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
                     objJsonResult.data = 1;
                     return objJsonResult;
                 }
@@ -893,6 +900,37 @@
                                             鍔犲伐杞﹂棿浠g爜 HDeptNumber,鍔犲伐杞﹂棿 HDeptName,鍑虹珯鎶ュ簾鍏宠仈鏁伴噺 HRelationQty_OutBad,SN杩囩珯鎺у埗 HSNCtrl,HRoutingInterID HRoutingBillMainID,HRoutingEntryID HRoutingBillEntryID
                                             from h_v_Sc_ProcessExchangeBillQuerySub");
                 ds = oCN.RunProcReturn(sql+ " where hmainid="+ HInterID + "  order by cast(娴佹按鍙� as int) ", "h_v_Sc_ProcessExchangeBillQuerySub");
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "[0000-1-037]鑾峰彇淇℃伅鎴愬姛锛�";
+                objJsonResult.data = ds.Tables[0];
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-045]娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.data = null;
+            }
+            return objJsonResult;
+        }
+        // 宸ュ簭娴佽浆鍗¤繑宸ヤ俊鎭�
+        [Route("Sc_ProcessExchangeBill/GetProcessExchangeBillSub_Back")]
+        [HttpGet]
+        public object GetProcessExchangeBillSub_Back(string HInterID)
+        {
+            DataSet ds;
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                string sql = string.Format(@"SELECT ISNULL(HSourceInterID, 0) AS HSourceInterID,ISNULL(HSourceEntryID, 0) AS HSourceEntryID,ISNULL(HSourceBillNo, '') AS HSourceBillNo,
+                ISNULL(HSourceBillType, '') AS HSourceBillType,ISNULL(HProcExchInterID, 0) AS HProcExchInterID,ISNULL(HProcExchEntryID, 0) AS HProcExchEntryID,
+                ISNULL(HProcExchBillNo, '') AS HProcExchBillNo,ISNULL(HICMOInterID, 0) AS HICMOInterID,ISNULL(HICMOEntryID, 0) AS HICMOEntryID,
+                ISNULL(HICMOBillNo, '') AS HICMOBillNo,ISNULL(HStationOutInterID, 0) AS HStationOutInterID,ISNULL(HStationOutBillNo, '') AS HStationOutBillNo
+                FROM Sc_ProcessExchangeBillSub_HRelationBack where HInterID=" + HInterID + "  order by HEntryID ");
+
+                ds = oCN.RunProcReturn(sql, "Sc_ProcessExchangeBillSub_HRelationBack");
+
                 objJsonResult.code = "0";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "[0000-1-037]鑾峰彇淇℃伅鎴愬姛锛�";
@@ -2155,12 +2193,7 @@
         }
         #endregion
 
-        #region[鎵归噺鎷嗗垎涓嬫帹-淇濆瓨鎸夐挳]
-        /// <summary>
-        /// 鏂板鍗曟嵁-淇濆瓨鎸夐挳
-        ///鍙傛暟锛歴tring sql銆�
-        ///杩斿洖鍊硷細object銆�
-        /// </summary>
+        #region[鎵归噺鎷嗗垎涓嬫帹-淇濆瓨鎸夐挳]      
         [Route("Sc_ProcessExchangeBill/AddBill_BatchSplit")]
         [HttpPost]
         public object AddBill_BatchSplit([FromBody] JObject sMainSub)
@@ -2490,5 +2523,415 @@
         }
         #endregion
 
+
+        #region[鐢熶骇璁㈠崟澶氳涓嬫帹鐢熸垚娴佽浆鍗
+        /// <summary>
+        /// 杩斿洖鎷嗗垎鍚庣殑鐢熶骇璁㈠崟淇℃伅
+        /// </summary>
+        /// <param name="hmainid">鐢熶骇浠诲姟鍗曚富瀛怚D</param>
+        /// <returns>object</returns>
+        [Route("Sc_ProcessExchangeBill/Sc_ICMO_DH")]
+        [HttpGet]
+        public object Sc_ICMO_DH(string HInterID, string user)
+        {
+            try
+            {
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "婧愬崟涓诲瓙id涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                string[] HInterEntryIDArr = HInterID.Split(',');
+
+                DataTable dt = new DataTable();
+
+                for (int i = 0; i < HInterEntryIDArr.Length; i++)
+                {
+                    string[] HIDs = HInterEntryIDArr[i].Split('@');
+
+                    string sql = "exec h_p_Sc_ProcessExchange_DH '" + HIDs[0] + "','" + HIDs[1] + "'";
+
+                    ds = oCN.RunProcReturn(sql, "h_p_Sc_ProcessExchange_DH");
+
+                    if (i == 0)
+                    {
+                        dt = ds.Tables[0];
+                    }
+                    else
+                    {
+                        foreach (DataRow item in ds.Tables[0].Rows)
+                        {
+                            DataRow dataRow = dt.NewRow();
+                            dataRow.ItemArray = item.ItemArray;
+                            dt.Rows.Add(dataRow);
+                        }
+                    }
+                }
+
+                if (dt == null || dt.Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鎷嗗垎鐢熶骇璁㈠崟鏃犳暟鎹紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "Sucess锛�";
+                    objJsonResult.data = dt;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region[鐢熶骇璁㈠崟澶氳涓嬫帹-淇濆瓨鎸夐挳]      
+        [Route("Sc_ProcessExchangeBill/Add_Sc_ICMO_DH")]
+        [HttpPost]
+        public object Add_Sc_ICMO_DH([FromBody] JObject sMainSub)
+        {
+            var _value = sMainSub["sMainSub"].ToString();
+            string msg1 = _value.ToString();
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();//鏄庣粏琛屼俊鎭�
+            string HUser = sArray[1].ToString();//鐢ㄦ埛
+            string HComputerName = SystemInformation.ComputerName; //璁惧鍚嶇О    
+
+            string UserName = "";
+            ListModels oListModels = new ListModels();
+            bool bResult = true;
+
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Edit", 1, false, HUser))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娴佽浆鍗℃棤淇濆瓨鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                DAL.ClsSc_ProcessExchangeBill oBill = new DAL.ClsSc_ProcessExchangeBill();
+                //琛ㄤ綋鏁版嵁
+                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+                msg2 = msg2.Substring(1, msg2.Length - 2);
+                msg2 = msg2.Replace("\\", "");
+                msg2 = msg2.Replace("\n", "");  //\n
+                //msg2 = msg2.Replace("'", "鈥�");
+                List<Model.ClsSc_ProcessExchangeBillSub_BatchSplit> ls = new List<Model.ClsSc_ProcessExchangeBillSub_BatchSplit>();
+                ls = oListModels.getObjectByJson_Sc_ProcessExchangeBillSub_BatchSplit(msg2);
+
+                DateTime dt = DateTime.Now;
+                string sql = "";
+                Int64 HInterID = 0;
+                string HBillNo = "";
+                Int64 HICMOInterID = 0;
+                Int64 HICMOEntryID = 0;
+                string HICMOBillNo = "";
+                double HQty = 0;
+                double HProQty = 0;
+
+                foreach (Model.ClsSc_ProcessExchangeBillSub_BatchSplit oItemSub in ls)
+                {
+                    //HBillNo = DBUtility.ClsPub.CreateBillCode_Prod("3772", ref DBUtility.ClsPub.sExeReturnInfo, true); 
+                    HInterID = oItemSub.HInterID;
+                    HBillNo = oItemSub.HBillNo;
+                    HICMOInterID = oItemSub.HICMOInterID;
+                    HICMOEntryID = oItemSub.HICMOEntryID;
+                    HICMOBillNo = oItemSub.HICMOBillNo;
+                    HQty = oItemSub.HQty;
+                    HProQty = oItemSub.HProQty;
+
+                    sql = "select * from h_v_Sc_ProcessExchangeBill_BatchSplit where hmainid = " + oItemSub.HICMOInterID + " and hentryid = "
+                         + oItemSub.HICMOEntryID + " and HRoutingID = " + oItemSub.HRoutingInterID.ToString();
+                    ds = oCN.RunProcReturn(sql, "h_v_Sc_ProcessExchangeBill_BatchSplit");
+                    //涓昏〃璧嬪��
+                    if (ds.Tables[0].Rows.Count > 0 && ds != null)
+                    {
+                        oBill.omodel.HInterID = HInterID;
+                        oBill.omodel.HBillNo = HBillNo;
+                        oBill.omodel.HBillSubType = "3772";
+                        oBill.omodel.HMainSourceBillSubType = "3710";
+                        oBill.omodel.HDate = oItemSub.HDate;
+                        oBill.omodel.HMaker = HUser;
+                        oBill.omodel.HMakeDate = System.DateTime.Now.ToString("G");
+                        oBill.omodel.HPrevMainSourceInterID = 0;
+                        oBill.omodel.HYear = DBUtility.ClsPub.isLong(oItemSub.HDate.Year);
+                        oBill.omodel.HPeriod = DBUtility.ClsPub.isLong(oItemSub.HDate.Month);
+                        oBill.omodel.HRemark = "";
+                        oBill.omodel.HBatchNo = oItemSub.HBatchNo;
+                        oBill.omodel.HProjectNum = oItemSub.HProjectNum;
+                        oBill.omodel.HMateOutBatchNo = oItemSub.HMateOutBatchNo;
+                        oBill.omodel.HMouldNum = oItemSub.HMouldNum;
+                        oBill.omodel.HMainMaterID = 0;
+                        oBill.omodel.HKeyMaterID = 0;
+                        oBill.omodel.HNo = 0;
+                        oBill.omodel.HOrderProcNO = ds.Tables[0].Rows[0]["HPlanOrderProcNo"].ToString();
+                        oBill.omodel.HWWOrderInterID = 0;
+                        oBill.omodel.HWWOrderEntryID = 0;
+                        oBill.omodel.HWWOrderBillNo = "";
+                        oBill.omodel.HEquipMentID = 0; //!
+                        oBill.omodel.HICMOBillNo = oItemSub.HICMOBillNo;
+                        oBill.omodel.HMaterID = oItemSub.HMaterID;
+                        oBill.omodel.HMaterNumber = ds.Tables[0].Rows[0]["HMaterNumber"].ToString();
+                        oBill.omodel.HUnitID = Pub_Class.ClsPub.isLong(ds.Tables[0].Rows[0]["HUnitID"]);
+                        oBill.omodel.HUnitNumber = ds.Tables[0].Rows[0]["HUnitNumber"].ToString();
+                        oBill.omodel.HMaterID2 = oItemSub.HMaterID;
+                        oBill.omodel.HPlanQty = oItemSub.HQty;
+                        oBill.omodel.HQty = oItemSub.HProQty;
+                        oBill.omodel.HPlanBeginDate = Convert.ToDateTime(dt.ToShortDateString().ToString());
+                        oBill.omodel.HPlanEndDate = Convert.ToDateTime(dt.ToShortDateString().ToString());
+                        oBill.omodel.HExplanation = "";
+                        oBill.omodel.HInnerBillNo = "";
+                        oBill.omodel.HSupID = 0;
+                        oBill.omodel.HWorkShopID = Pub_Class.ClsPub.isLong(ds.Tables[0].Rows[0]["HDeptID"]);
+                        oBill.omodel.HWorkTypeNum = "";
+                        oBill.omodel.HProdMaterCode = "";
+                        oBill.omodel.HSeOrderBillNo = ds.Tables[0].Rows[0]["HSeOrderBillNo"].ToString();
+                        oBill.omodel.HCusShortName = "";
+                        oBill.omodel.HCusNeedMaterial = "";
+                        oBill.omodel.HPlanSendGoodsDate = dt.ToShortDateString().ToString();
+                        oBill.omodel.HProdMaterName = "";
+                        oBill.omodel.HCusName = "";
+                        oBill.omodel.HWorkRemark = "";
+                        oBill.omodel.HImportNote = "";
+                        oBill.omodel.HMaterNumber_A = "";
+                        oBill.omodel.HMaterNumber_B = "";
+                        oBill.omodel.HMaterNumber_C = "";
+                        oBill.omodel.HMaterNumber_D = "";
+                        oBill.omodel.HProdType = "";
+                        oBill.omodel.HMaterShortName = "";
+                        oBill.omodel.HMaterIDA = "";
+                        oBill.omodel.HMaterIDB = "";
+                        oBill.omodel.HMaterIDC = "";
+                        oBill.omodel.HMaterIDD = "";
+                        oBill.omodel.HICMOInterID = oItemSub.HICMOInterID;
+                        oBill.omodel.HICMOEntryID = oItemSub.HICMOEntryID;
+                        oBill.omodel.HPicNumVer = "";
+                        oBill.omodel.HPicNumAssemble = "";
+                        oBill.omodel.HMaterTexture = "";
+                        oBill.omodel.HProductNum = "";
+                        oBill.omodel.HVerNum = "";
+                        oBill.omodel.HPRDORGID = Pub_Class.ClsPub.isLong(ds.Tables[0].Rows[0]["HPRDORGID"]);
+                        oBill.omodel.HBLFlag = false;
+                        oBill.omodel.HCusNumber = "";
+                        oBill.omodel.HPickLabel = "";
+                        oBill.omodel.HPickLabelNumber = "";
+                        oBill.omodel.HXTNumber = "";
+                        oBill.omodel.HXTModel = "";
+                        oBill.omodel.HWorkBillSortNo = "";//!
+                        oBill.omodel.HRoutingBillID = oItemSub.HRoutingInterID.ToString();
+                        oBill.omodel.HMaterModel = ds.Tables[0].Rows[0]["HMaterModel"].ToString();
+                        oBill.omodel.HWidth = 0;
+                        oBill.omodel.HWeight = 0;
+                        oBill.omodel.HAuxQty = 0;
+                        oBill.omodel.HAuxUnit = 0;
+                        oBill.omodel.HAuxQty2 = 0;
+                        oBill.omodel.HAuxUnit2 = 0;
+                        oBill.omodel.HSplitNo = 0;
+                        oBill.omodel.HHeight = "";
+                        oBill.omodel.HInches = "";
+                        oBill.omodel.HAl1Long = "";
+                        oBill.omodel.HDensity = "";
+                        oBill.omodel.HTela = "";
+                        oBill.omodel.HUnderTela = "";
+                        oBill.omodel.HSizing = "";
+                        oBill.omodel.HSellDate = dt.ToShortDateString().ToString();
+                        oBill.omodel.HRemark2 = "鎵归噺鎷嗗垎涓嬫帹";
+                        oBill.omodel.HRemark3 = "";
+                        oBill.omodel.HEmpID = 0;
+                        oBill.omodel.HCusID = 0;
+                        oBill.omodel.HColorRemark = "";
+                        oBill.omodel.HSplitSumQty = 0;
+                        oBill.omodel.HSplitColorQty = 0;
+                        oBill.omodel.HMachineLine = "";
+                        oBill.omodel.HMainSourceInterID = 0;
+                        oBill.omodel.HMainSourceEntryID = 0;
+                        oBill.omodel.HMainSourceBillNo = "";
+                        oBill.omodel.HOrderLevID = 0;
+                        oBill.omodel.HWidth_New = 0;
+                        oBill.omodel.HRemark_New = "";
+                        oBill.omodel.HWeight_New = 0;
+                        oBill.omodel.HPlanOrderProcNo = ds.Tables[0].Rows[0]["HPlanOrderProcNo"].ToString();
+                    }
+                    //瀛愯〃璧嬪��
+                    for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
+                    {
+                        Model.ClsSc_ProcessExchangeBillSub oItemSubs = new Model.ClsSc_ProcessExchangeBillSub();
+                        oItemSubs.HEntryID = i + 1;
+                        oItemSubs.HBillNo_bak = HBillNo;
+                        oItemSubs.HCloseMan = "";
+                        oItemSubs.HEntryCloseDate = Convert.ToDateTime(dt.ToShortDateString().ToString());
+                        oItemSubs.HCloseType = false;
+                        oItemSubs.HRemark = "";
+                        oItemSubs.HSourceInterID = HICMOInterID;
+                        oItemSubs.HSourceEntryID = HICMOEntryID;
+                        oItemSubs.HSourceBillNo = HICMOBillNo;
+                        oItemSubs.HSourceBillType = "3710";
+                        oItemSubs.HRelationQty = 0;
+                        oItemSubs.HRelationMoney = 0;
+                        oItemSubs.HRelationQty_In = 0;
+                        oItemSubs.HRelationQty_Out = 0;
+                        oItemSubs.HRelationQty_WWOrder = 0;
+                        oItemSubs.HRelationQty_Bad = 0;
+                        oItemSubs.HProcNo = Pub_Class.ClsPub.isLong(ds.Tables[0].Rows[i]["HProcNo"]);
+                        oItemSubs.HProcID = Pub_Class.ClsPub.isLong(ds.Tables[0].Rows[i]["HProcID"]);
+                        oItemSubs.HProcNumber = ds.Tables[0].Rows[i]["HProcNumber"].ToString();
+                        oItemSubs.HWorkRemark = "";
+                        oItemSubs.HCenterID = Pub_Class.ClsPub.isLong(ds.Tables[0].Rows[i]["HCenterID"]);
+                        oItemSubs.HDeptID = Pub_Class.ClsPub.isLong(ds.Tables[0].Rows[i]["HDeptID"]);
+                        oItemSubs.HDeptNumber = ds.Tables[0].Rows[i]["HDeptNumber"].ToString();
+                        oItemSubs.HGroupID = 0;
+                        oItemSubs.HGroupNumber = oItemSub.HGroupNumber;
+                        oItemSubs.HWorkerID = 0;
+                        oItemSubs.HWorkerNumber = "";
+                        oItemSubs.HSourceID = 0;
+                        oItemSubs.HQty = HProQty;
+                        oItemSubs.HTimeUnit = "";
+                        oItemSubs.HPlanWorkTimes = 0;
+                        oItemSubs.HPlanBeginDate = Convert.ToDateTime(dt.ToShortDateString().ToString());
+                        oItemSubs.HPlanEndDate = Convert.ToDateTime(dt.ToShortDateString().ToString());
+                        oItemSubs.HRelBeginDate = Convert.ToDateTime(dt.ToShortDateString().ToString());
+                        oItemSubs.HRelEndDate = Convert.ToDateTime(dt.ToShortDateString().ToString());
+                        oItemSubs.HReadyTime = 0;
+                        oItemSubs.HQueueTime = 0;
+                        oItemSubs.HMoveTime = 0;
+                        oItemSubs.HBeginDayQty = 0;
+                        oItemSubs.HBeginFixQty = 0;
+                        oItemSubs.HFixWorkDays = 0;
+                        oItemSubs.HTrunWorkDays = 0;
+                        oItemSubs.HReadyTimes = 0;
+                        oItemSubs.HMyWorkDays = 0;
+                        oItemSubs.HOutPrice = 0;
+                        oItemSubs.HOutMoney = 0;
+                        oItemSubs.HPassRate = 0;
+                        oItemSubs.HLastProc = "";
+                        oItemSubs.HKeyProc = "";
+                        oItemSubs.HFstProc = "";
+                        oItemSubs.HICMOInterID = HICMOInterID;
+                        oItemSubs.HICMOBillNo = HICMOBillNo;
+                        oItemSubs.HWWOrderInterID = 0;
+                        oItemSubs.HWWOrderEntryID = 0;
+                        oItemSubs.HWWOrderBillNo = "";
+                        oItemSubs.HReportQty = 0;
+                        oItemSubs.HBackProc = false;
+                        oItemSubs.HSupID = 0;
+                        oItemSubs.HSupFlag = false;
+                        oItemSubs.HOverRate = 0;
+                        oItemSubs.HMaxQty = 0;
+                        oItemSubs.HTechnologyParameter = "";
+                        oItemSubs.HProcCheckNote = "";
+                        oItemSubs.HPicNum = "";
+                        oItemSubs.HMouldNo = "";
+                        oItemSubs.HProcWorkNum = "";
+                        oItemSubs.HSeOrderInterID = 0;
+                        oItemSubs.HSeOrderEntryID = 0;
+                        oItemSubs.HSNCtrl = false;
+                        oItemSubs.HRoutingBillMainID = Pub_Class.ClsPub.isLong(ds.Tables[0].Rows[i]["HRoutingID"]);
+                        oItemSubs.HRoutingBillEntryID = Pub_Class.ClsPub.isLong(ds.Tables[0].Rows[i]["HRoutingEntryID"]);
+
+                        oBill.DetailColl.Add(oItemSubs);//娣诲姞鏄庣粏琛屽��                
+                    }
+                    //璋冪敤淇濆瓨鏂规硶
+                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+                    oBill.DetailColl.Clear();//娓呯┖鏄庣粏琛屽��
+                    if (!bResult)
+                    {
+                        break;
+                    }
+                }
+
+                if (bResult)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region[鏂板鏃惰幏鍙栬〃浣撴暟鎹�(杩斿伐鐢宠鍗�)]
+        [Route("Sc_ProcessExchangeBill/GetProcExchangeWorkBackList")]
+        [HttpGet]
+        public object GetProcExchangeWorkBackList(string HInterID)
+        {
+            DataSet ds;
+            try
+            {
+
+                //鎷嗗垎骞惰繃婊ゅ嚭鏈夋晥鏁板瓧ID
+                var idList = HInterID.Split(',')  // 1. 鎸夐�楀彿鍒嗗壊瀛楃涓�
+                      .Select(s => s.Trim())  // 2. 鍘婚櫎姣忎釜鍏冪礌鐨勭┖鏍�
+                      .Where(s => int.TryParse(s, out _))  // 3. 鍙繚鐣欒兘杞垚鏁板瓧鐨勫瓧绗︿覆
+                      .ToList();  // 4. 杞垚List闆嗗悎
+
+                // 鏋勫缓瀹夊叏鐨� IN 瀛愬彞
+                string inClause = string.Join(",", idList);
+
+                List<object> columnNameList = new List<object>();
+
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                ds = oCN.RunProcReturn("select * from h_v_Sc_ProcExchWorkBackBillList_Query where 1=1 and hmainid in (" + inClause + ")", "h_v_Sc_ProcExchWorkBackBillList_Query");
+
+                //娣诲姞鍒楀悕
+                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鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.list = columnNameList;
+                objJsonResult.Message = "[0000-1-037]鑾峰彇淇℃伅鎴愬姛锛�";
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-038]娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1