From 2925dd8e5456fab545751ff6941a15de66b2ba42 Mon Sep 17 00:00:00 2001
From: duhe <226547893@qq.com>
Date: 星期二, 08 四月 2025 13:09:36 +0800
Subject: [PATCH] 销售订单:编辑页面 增加 产品类型 字段

---
 WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs |  687 +++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 622 insertions(+), 65 deletions(-)

diff --git a/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs b/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
index 18ab08f..a1a1b62 100644
--- a/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
+++ b/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
@@ -1,6 +1,7 @@
 锘縰sing Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using Pub_Class;
+using SyntacticSugar.constant;
 using System;
 using System.Collections;
 using System.Collections.Generic;
@@ -16,6 +17,15 @@
     public class Sc_ProcessExchangeBillController : ApiController
     {
         public DBUtility.ClsPub.Enum_BillStatus BillStatus;
+        public const string ModName = "3772";                   //鍗曟嵁绫诲瀷
+        public const string ModCaption = "宸ュ簭娴佽浆鍗�";          //鍗曟嵁鍚嶇О
+        public const string ModRightName = "Sc_ProcessExchangeBill";
+        public const string ModRightNameList = ModRightName + "List";       //鍒楄〃
+        public const string ModRightNameEdit = ModRightName + "_Edit";      //缂栬緫
+        public const string ModRightNameCheck = ModRightName + "_Check";    //瀹℃牳
+        public const string ModRightNameClose = ModRightName + "_Close";    //鍏抽棴
+        public const string ModRightNameDelete = ModRightName + "_Delete";  //浣滃簾
+        public const string ModRightNameDrop = ModRightName + "_Drop";      //鍒犻櫎
         private json objJsonResult = new json();
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
         DataSet ds;
@@ -54,7 +64,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "鎸囧紩鍗℃棤淇濆瓨鏉冮檺锛�";
+                        objJsonResult.Message = "[3772-2-029]鎸囧紩鍗℃棤淇濆瓨鏉冮檺锛�";
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -64,7 +74,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "娴佽浆鍗℃棤淇濆瓨鏉冮檺锛�";
+                        objJsonResult.Message = "[3772-2-029]娴佽浆鍗℃棤淇濆瓨鏉冮檺锛�";
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -88,7 +98,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
+                        objJsonResult.Message = "[3772-2-030]淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
                         objJsonResult.data = 1;
                         return objJsonResult;
                     }
@@ -122,20 +132,81 @@
                     // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                     bResult = oBill.AddBill(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);
+
+                    //娴嬭瘯璇彞===========================================================================================================
+                    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);
                 }
                 else
                 {
                     LogService.Write("鐢ㄦ埛:" + msg4 + ",鏃ユ湡:" + DateTime.Now + ",淇敼宸ュ簭娴佽浆鍗″崟鎹�:" + oBill.omodel.HBillNo);
                     bResult = oBill.ModifyBill(oBill.omodel.HInterID, 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);
+                    //娴嬭瘯璇彞===========================================================================================================
+                    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);
                 }
                 if (bResult)
                 {
+
+                    //鑷姩瀹℃牳璁剧疆
+                    if (msg5 == "xz")
+                    {
+                        objJsonResult.HInterID = oBill.omodel.HInterID.ToString(); //杩斿洖涓籌D
+                        //绯荤粺鍙傛暟  鑷姩瀹℃牳
+                        string sReturn = "";
+                        if (oSystemParameter.ShowBill(ref sReturn) == true)
+                        {
+                            if (oSystemParameter.omodel.Sc_ProcessExchangeBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+                            {
+                                objJsonResult.Verify = "Y";
+                            }
+                            else
+                            {
+                                objJsonResult.Verify = "N";
+                            }
+                        }
+                    }
+                    else                   
+                    {
+                        objJsonResult.HInterID = oBill.omodel.HInterID.ToString(); //杩斿洖涓籌D
+                        objJsonResult.Verify = "N";
+                    }
+
                     objJsonResult.code = "0";
                     objJsonResult.count = 1;
-                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+                    objJsonResult.Message = "[0000-1-050]淇濆瓨鎴愬姛锛�";
                     //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
                     objJsonResult.data = 1;
                     return objJsonResult;
@@ -144,7 +215,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.Message = "[0000-1-051]淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
                     objJsonResult.data = 1;
                     return objJsonResult;
                 }
@@ -153,7 +224,7 @@
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+                objJsonResult.Message = "[0000-1-051]淇濆瓨澶辫触锛�" + e.ToString();
                 objJsonResult.data = 1;
                 return objJsonResult;
             }
@@ -672,7 +743,7 @@
 
                 objJsonResult.code = "0";
                 objJsonResult.count = 1;
-                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.Message = "[0000-1-037]Sucess锛�";
                 objJsonResult.data = ds.Tables[0];
                 objJsonResult.list = listCol;
                 return objJsonResult;
@@ -681,7 +752,7 @@
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.Message = "[0000-1-038]Exception锛�" + e.ToString();
                 objJsonResult.data = null;
                 return objJsonResult;
             }
@@ -818,20 +889,20 @@
                 string sql = string.Format(@"select 娴佹按鍙� HProcNo,HProcID,宸ュ簭浠g爜 HProcNumber,宸ュ簭鍚嶇О HProcName,鍔犲伐璇存槑 HWorkRemark,HCenterID,宸ヤ綔涓績浠g爜 HCenterNumber,
                                                 宸ヤ綔涓績 HCenterName,HSupID,渚涘簲鍟嗕唬鐮� HSupNumber,渚涘簲鍟� HSupName,isEntrust HSupFlag,璁″垝鏁伴噺 HQty,鍔犲伐鍗曚环 HOutPrice, 琛ㄤ綋澶囨敞 HRemark,
                                             杩涚珯鍏宠仈鏁伴噺 HRelationQty_In,鍑虹珯鍏宠仈鏁伴噺 HRelationQty_Out,濮斿宸ュ崟鏁伴噺 HRelationQty_WWOrder,涓嶅悎鏍兼暟閲� HRelationQty_Bad,瓒呴姣斾緥 HOverRate,
-                                            鑹巼 HPassRate,绱鑹巼 HSumPassRate,鍥剧焊缂栧彿 HPicNum,鏈伐搴忕‘璁よ褰� HProcCheckNote,宸ヨ壓鍙傛暟 HTechnologyParameter,HDeptID,
-                                            鍔犲伐杞﹂棿浠g爜 HDeptNumber,鍔犲伐杞﹂棿 HDeptName,鍑虹珯鎶ュ簾鍏宠仈鏁伴噺 HRelationQty_OutBad
+                                            鑹巼 HPassRate,绱鑹巼 HSumPassRate,鍥剧焊缂栧彿 HPicNum,鏈伐搴忕‘璁よ褰� HProcCheckNote,宸ヨ壓鍙傛暟 HTechnologyParameter,HDeptID,HSourceID,
+                                            鍔犲伐杞﹂棿浠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 = "鑾峰彇淇℃伅鎴愬姛锛�";
+                objJsonResult.Message = "[0000-1-037]鑾峰彇淇℃伅鎴愬姛锛�";
                 objJsonResult.data = ds.Tables[0];
             }
             catch (Exception e)
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.Message = "[0000-1-045]娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
                 objJsonResult.data = null;
             }
             return objJsonResult;
@@ -855,7 +926,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "鎸囧紩鍗℃棤鍒犻櫎鏉冮檺锛�";
+                    objJsonResult.Message = "[0000-1-004]鎸囧紩鍗℃棤鍒犻櫎鏉冮檺锛�";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -866,7 +937,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "娴佽浆鍗℃棤鍒犻櫎鏉冮檺锛�";
+                    objJsonResult.Message = "[0000-1-004]娴佽浆鍗℃棤鍒犻櫎鏉冮檺锛�";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -894,7 +965,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "鍗曟嵁鍙�:" + oBill.omodel.HBillNo + "鍗曟嵁ID涓虹┖锛�";
+                        objJsonResult.Message = "[0000-1-009]鍗曟嵁鍙�:" + oBill.omodel.HBillNo + "鍗曟嵁ID涓虹┖锛�";
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -910,7 +981,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "鍗曟嵁鍙�:" + oBill.omodel.HBillNo + "娴佽浆鍗″凡缁忔湁涓嬫父杩涘嚭绔欏崟鍚庯紝涓嶅厑璁稿垹闄わ紒";
+                        objJsonResult.Message = "[3772-1-010]鍗曟嵁鍙�:" + oBill.omodel.HBillNo + "娴佽浆鍗″凡缁忔湁涓嬫父杩涘嚭绔欏崟鍚庯紝涓嶅厑璁稿垹闄わ紒";
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -924,7 +995,7 @@
                             {
                                 objJsonResult.code = "0";
                                 objJsonResult.count = 0;
-                                objJsonResult.Message = "鍗曟嵁鍙�:" + oBill.omodel.HBillNo + "鍙兘鍒犻櫎鏈汉鐨勫崟鎹紒";
+                                objJsonResult.Message = "[0000-1-011]鍗曟嵁鍙�:" + oBill.omodel.HBillNo + "鍙兘鍒犻櫎鏈汉鐨勫崟鎹紒";
                                 objJsonResult.data = null;
                                 return objJsonResult;
                             }
@@ -936,7 +1007,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "鍗曟嵁鍙�:" + oBill.omodel.HBillNo + "鍗曟嵁褰撳墠澶勪簬涓嶈兘鍒犻櫎鐘舵��,涓嶈兘鍒犻櫎锛�";
+                        objJsonResult.Message = "[0000-1-012]鍗曟嵁鍙�:" + oBill.omodel.HBillNo + "鍗曟嵁褰撳墠澶勪簬涓嶈兘鍒犻櫎鐘舵��,涓嶈兘鍒犻櫎锛�";
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -945,7 +1016,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "鍗曟嵁鍙�:" + oBill.omodel.HBillNo + "鍗曟嵁宸茬粡瀹℃牳,涓嶈兘鍒犻櫎锛�";
+                        objJsonResult.Message = "[0000-1-013]鍗曟嵁鍙�:" + oBill.omodel.HBillNo + "鍗曟嵁宸茬粡瀹℃牳,涓嶈兘鍒犻櫎锛�";
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -956,7 +1027,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "鍗曟嵁鏈壘鍒�";
+                    objJsonResult.Message = "[0000-1-005]鍗曟嵁鏈壘鍒�";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -978,7 +1049,7 @@
                         oCN.RollBack();
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "鏃犳祦杞崱鏁版嵁!";
+                        objJsonResult.Message = "[0000-1-005]鏃犳祦杞崱鏁版嵁!";
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -993,7 +1064,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:鍒犻櫎鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                    objJsonResult.Message = "[0000-1-006]鍒犻櫎澶辫触!鍘熷洜:鍒犻櫎鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
                     objJsonResult.data = null;
                     oCN.RollBack();
                     return objJsonResult;
@@ -1003,7 +1074,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                    objJsonResult.Message = "[3772-1-007]鍒犻櫎澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString();
                     objJsonResult.data = null;
                     oCN.RollBack();
                     return objJsonResult;
@@ -1017,7 +1088,7 @@
                     oCN.RollBack();
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.Message = "[3772-1-007]" + DBUtility.ClsPub.sExeReturnInfo;
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -1038,7 +1109,7 @@
 
             objJsonResult.code = "0";
             objJsonResult.count = 1;
-            objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;
+            objJsonResult.Message = "[0000-1-008]" + DBUtility.ClsPub.sExeReturnInfo;
             objJsonResult.data = null;
             return objJsonResult;
         }
@@ -1056,7 +1127,7 @@
 
                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                 string sql = string.Format(@"exec h_p_Sc_GetProcessExchangeBillSubTech ");
-                ds = oCN.RunProcReturn(sql +  HInterID, "h_p_Sc_GetProcessExchangeBillSubTech");
+                ds = oCN.RunProcReturn(sql + " '" +  HInterID + "'", "h_p_Sc_GetProcessExchangeBillSubTech");
 
                 //娣诲姞鍒楀悕
                 foreach (DataColumn col in ds.Tables[0].Columns)
@@ -1069,7 +1140,7 @@
                 objJsonResult.code = "0";
                 objJsonResult.count = 1;
                 objJsonResult.list = columnNameList;
-                objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
+                objJsonResult.Message = "[0000-1-037]鑾峰彇淇℃伅鎴愬姛锛�";
                 objJsonResult.data = ds.Tables[0];
                 return objJsonResult;
             }
@@ -1077,7 +1148,7 @@
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.Message = "[0000-1-038]娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
                 objJsonResult.data = null;
                 return objJsonResult;
             }
@@ -1129,14 +1200,14 @@
 
                 objJsonResult.code = "0";
                 objJsonResult.count = 1;
-                objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
+                objJsonResult.Message = "[0000-1-037]鑾峰彇淇℃伅鎴愬姛锛�";
                 objJsonResult.data = ds.Tables[0];
             }
             catch (Exception e)
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.Message = "[0000-1-045]娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
                 objJsonResult.data = null;
             }
             return objJsonResult;
@@ -1161,7 +1232,7 @@
 
                 string sql = string.Format(@"select * from h_v_Sc_ProcessExchangeBillQuerySub");
 
-                ds = oCN.RunProcReturn(sql + " where hmainid=" + HInterID + " and 鍑虹珯鍏宠仈鏁伴噺=0  and  cast(娴佹按鍙� as int)>" + ds1 .Tables[0].Rows[0][0].ToString(), "h_v_Sc_ProcessExchangeBillQuerySub");
+                ds = oCN.RunProcReturn(sql + " where hmainid=" + HInterID + " and 鍑虹珯鍏宠仈鏁伴噺=0  and  cast(娴佹按鍙� as int)>" + ds1 .Tables[0].Rows[0][0].ToString()+ " order by  cast(娴佹按鍙� as int) ", "h_v_Sc_ProcessExchangeBillQuerySub");
 
                 if (float.Parse(ds.Tables[0].Rows[0]["杩涚珯鍏宠仈鏁伴噺"].ToString()) > 0)
                 {
@@ -1237,9 +1308,9 @@
                         objJsonResult.data = 1;
                         return objJsonResult;
                     }
-
+                    int num = oItem.HBillNo.Split('-').Length;
                     oBill.omodel.HMaker = msg5;  //鍒跺崟浜�
-                    oBill.omodel.HNo = DBUtility.ClsPub.isLong(oItem.HBillNo.Split('-')[1]);
+                    oBill.omodel.HNo = DBUtility.ClsPub.isLong(oItem.HBillNo.Split('-')[num - 1]);
                     oBill.omodel.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
                     oBill.omodel.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
                     oBill.omodel.HDate = oItem.HDate;// 鏃ユ湡
@@ -1247,6 +1318,7 @@
                     oBill.omodel.HPlanEndDate = oItem.HPlanEndDate;// 璁″垝瀹屽伐鏃ユ湡
                     oBill.omodel.HQty = oItem.HQty;// 鏁伴噺
                     oBill.omodel.HBillNo = oItem.HBillNo;// 鍗曟嵁鍙�
+                    oBill.omodel.HProjectNum = oItem.HProjectNum;// 椤圭洰鍙�
                 }
 
                 //琛ㄤ綋鏁版嵁
@@ -1302,7 +1374,6 @@
                         j++;
                     }
                 }
-
 
                 //淇濆瓨
                 //淇濆瓨瀹屾瘯鍚庡鐞�
@@ -1366,7 +1437,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "鎸囧紩鍗℃棤鏉冮檺瀹℃牳!";
+                        objJsonResult.Message = "[3772-1-022]鎸囧紩鍗℃棤鏉冮檺瀹℃牳!";
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -1377,7 +1448,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "娴佽浆鍗℃棤鏉冮檺瀹℃牳!";
+                        objJsonResult.Message = "[3772-1-022]娴佽浆鍗℃棤鏉冮檺瀹℃牳!";
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -1388,7 +1459,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.Message = "[0000-1-009]HInterID涓虹┖锛�";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -1410,7 +1481,7 @@
                         {
                             objJsonResult.code = "0";
                             objJsonResult.count = 0;
-                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶉渶瑕佸啀瀹℃牳!";
+                            objJsonResult.Message = "[0000-1-023]鍗曟嵁宸插鏍�!涓嶉渶瑕佸啀瀹℃牳!";
                             objJsonResult.data = null;
                             return objJsonResult;
                         }
@@ -1424,7 +1495,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 1;
-                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:瀹℃牳鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                        objJsonResult.Message = "[0000-1-024]瀹℃牳澶辫触!鍘熷洜:瀹℃牳鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
                         objJsonResult.data = null;
                         return objJsonResult;
 
@@ -1433,7 +1504,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 1;
-                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                        objJsonResult.Message = "[0000-1-025]瀹℃牳澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -1444,7 +1515,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 1;
-                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.Message = "[0000-1-025]瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -1461,7 +1532,7 @@
                         {
                             objJsonResult.code = "0";
                             objJsonResult.count = 0;
-                            objJsonResult.Message = "鍗曟嵁宸插弽瀹℃牳!涓嶉渶瑕佸啀鍙嶅鏍�!";
+                            objJsonResult.Message = "[0000-1-026]鍗曟嵁宸插弽瀹℃牳!涓嶉渶瑕佸啀鍙嶅鏍�!";
                             objJsonResult.data = null;
                             return objJsonResult;
                         }
@@ -1475,7 +1546,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 1;
-                        objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:鍙嶅鏍稿墠鍒ゆ柇澶辫触锛岃涓庣綉缁滅鐞嗕汉鍛樿仈绯�";
+                        objJsonResult.Message = "[0000-1-027]鍙嶅鏍稿け璐�!鍘熷洜:鍙嶅鏍稿墠鍒ゆ柇澶辫触锛岃涓庣綉缁滅鐞嗕汉鍛樿仈绯�";
                         objJsonResult.data = null;
                         return objJsonResult;
 
@@ -1484,7 +1555,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 1;
-                        objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                        objJsonResult.Message = "[0000-1-028]鍙嶅鏍稿け璐�!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -1507,7 +1578,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 1;
-                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.Message = "[0000-1-028]瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -1517,7 +1588,7 @@
 
                 objJsonResult.code = "0";
                 objJsonResult.count = 1;
-                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.Message = "[0000-1-029]鎵ц鎴愬姛锛�";
                 objJsonResult.data = null;
                 return objJsonResult; ;
 
@@ -1526,7 +1597,7 @@
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.Message = "[0000-1-025]鎵ц澶辫触锛�" + e.ToString();
                 objJsonResult.data = null;
                 return objJsonResult;
             }
@@ -1547,7 +1618,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "鎸囧紩鍗℃棤鏉冮檺鍏抽棴!";
+                        objJsonResult.Message = "[3772-1-032]鎸囧紩鍗℃棤鏉冮檺鍏抽棴!";
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -1559,7 +1630,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "娴佽浆鍗℃棤鏉冮檺鍏抽棴!";
+                        objJsonResult.Message = "[3772-1-032]娴佽浆鍗℃棤鏉冮檺鍏抽棴!";
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -1570,7 +1641,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.Message = "[0000-1-009]HInterID涓虹┖锛�";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -1592,7 +1663,7 @@
                         {
                             objJsonResult.code = "0";
                             objJsonResult.count = 0;
-                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶉渶瑕佸啀鍏抽棴!";
+                            objJsonResult.Message = "[0000-1-033]鍗曟嵁宸插叧闂�!涓嶉渶瑕佸啀鍏抽棴!";
                             objJsonResult.data = null;
                             return objJsonResult;
                         }
@@ -1602,7 +1673,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 1;
-                        objJsonResult.Message = "鍏抽棴澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.Message = "[0000-1-034]鍏抽棴澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -1619,7 +1690,7 @@
                         {
                             objJsonResult.code = "0";
                             objJsonResult.count = 0;
-                            objJsonResult.Message = "鍗曟嵁宸插弽鍏抽棴!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.Message = "[0000-1-035]鍗曟嵁宸插弽鍏抽棴!涓嶉渶瑕佸啀鍙嶅叧闂�!";
                             objJsonResult.data = null;
                             return objJsonResult;
                         }
@@ -1629,7 +1700,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 1;
-                        objJsonResult.Message = "鍙嶅叧闂け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.Message = "[0000-1-036]鍙嶅叧闂け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -1639,7 +1710,7 @@
 
                 objJsonResult.code = "0";
                 objJsonResult.count = 1;
-                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.Message = "[0000-1-037]鎵ц鎴愬姛锛�";
                 objJsonResult.data = null;
                 return objJsonResult; ;
 
@@ -1648,7 +1719,7 @@
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.Message = "[0000-1-038]鎵ц澶辫触锛�" + e.ToString();
                 objJsonResult.data = null;
                 return objJsonResult;
             }
@@ -1675,7 +1746,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "浣滃簾澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.Message = "[0000-1-039]浣滃簾澶辫触锛佹棤鏉冮檺锛�";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -1684,7 +1755,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "HInterID灏忎簬0锛�";
+                    objJsonResult.Message = "[0000-1-009]HInterID灏忎簬0锛�";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -1746,7 +1817,7 @@
                     {
                         objJsonResult.code = "1";
                         objJsonResult.count = 1;
-                        objJsonResult.Message = "浣滃簾鎴愬姛";
+                        objJsonResult.Message = "[0000-1-040]浣滃簾鎴愬姛";
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -1754,7 +1825,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "浣滃簾澶辫触!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.Message = "[0000-1-041]浣滃簾澶辫触!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -1762,11 +1833,27 @@
                 if (IsAudit == 1) //鍙嶅叧闂彁浜�
                 {
                     //鍙嶅叧闂彁浜�
+                    oBill.oCn.BeginTran();
                     if (oBill.AbandonCancelltion(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                     {
+
+                        //鎺у埗鍏宠仈鏁伴噺,鍒ゆ柇鍙嶅叧闂悗锛岀敓浜ц鍗曚笅鎺ㄦ祦杞崱鎬绘暟鏄惁瓒呰繃璁″垝鏁伴噺
+                        ds = oCN.RunProcReturn("exec h_p_Sc_ProcessExchangeBill_Checkqty " + lngBillKey, "h_p_Sc_ProcessExchangeBill_Checkqty");
+                        if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HBack"]) != 0)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "[0000-1-042]鍙嶄綔搴熷け璐�!鍘熷洜:" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]).ToString();
+                            objJsonResult.data = null;
+
+                            oBill.oCn.RollBack();
+                            return objJsonResult;
+                        }
+
+                        oBill.oCn.Commit();
                         objJsonResult.code = "1";
                         objJsonResult.count = 1;
-                        objJsonResult.Message = "鍙嶄綔搴熸垚鍔�";
+                        objJsonResult.Message = "[0000-1-043]鍙嶄綔搴熸垚鍔�";
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -1774,7 +1861,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "鍙嶄綔搴熷け璐�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.Message = "[0000-1-042]鍙嶄綔搴熷け璐�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -1785,7 +1872,7 @@
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "浣滃簾澶辫触鎴栬�呭弽浣滃簾澶辫触锛�" + e.ToString();
+                objJsonResult.Message = "[0000-1-044]浣滃簾澶辫触鎴栬�呭弽浣滃簾澶辫触锛�" + e.ToString();
                 objJsonResult.data = null;
                 return objJsonResult;
             }
@@ -1886,5 +1973,475 @@
         }
         #endregion
 
+        #region 宸ュ簭娴佽浆鍗″垎椤靛垪琛�
+        [Route("Sc_ProcessExchangeBillList/page")]
+        [HttpGet]
+        public json page(string sWhere, string user, int page, int size)
+        {
+            json res = new json();
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                //缂栬緫鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Sc_ProcessExchangeBill_SubQuery", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("exec h_p_Sc_ProcessExchangeBillList_Query " + page + "," + size + ",''", "h_p_Sc_ProcessExchangeBillList_Query");
+                }
+                else
+                {
+                    ds = oCN.RunProcReturn("exec h_p_Sc_ProcessExchangeBillList_Query " + page + "," + size + ",'" + sWhere + "'", "h_p_Sc_ProcessExchangeBillList_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鍒楀璞$殑鍒楀悕
+                }
+
+                res.code = CodeConstant.SUCCEED;
+                res.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString());
+                res.Message = "Sucess锛�";
+                res.list = columnNameList;
+                res.data = ds.Tables[0];
+                return res;
+            }
+            catch (Exception e)
+            {
+                res.code = CodeConstant.FAIL;
+                res.count = CountConstant.FAIL;
+                res.Message = "Exception锛�" + e.ToString();
+                res.data = null;
+                return res;
+            }
+        }
+        #endregion
+
+        #region 宸ュ簭娴佽浆鍗″垪琛�
+        /// <summary>
+        /// 鑾峰彇宸ュ簭娴佽浆鍗″垪琛ㄤ俊鎭�
+        /// </summary>
+        /// <returns></returns>
+        [Route("Sc_ProcessExchangeBillController/GetSc_ProcessExchangeBillList_Json")]
+        [HttpGet]
+        public object GetSc_ProcessExchangeBillList_Json(string sWhere, string HMaker, string OperationType, string ViewName)
+        {
+            try
+            {
+                //鍒ゆ柇鏉冮檺
+                if (OperationType == "1")
+                {
+                    //鍒ゆ柇鏉冮檺
+                    if (!DBUtility.ClsPub.Security_Log(ModRightNameList, 3, false, HMaker))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鎮ㄦ病鏈夎妯″潡鏉冮檺,璇蜂笌绠$悊鍛樿仈绯伙紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                //杩斿洖鍒楄〃淇℃伅
+                ds = oCN.RunProcReturn("select * from " + ViewName + " where 1=1 " + sWhere + " order by hmainid desc", ViewName);
+                List<object> columnNameList = new List<object>();
+                //娣诲姞鍒楀悕
+                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.Message = "鎴愬姛锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鏌ヨ鍒楄〃淇℃伅澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region[鎵归噺鎷嗗垎鐢熸垚娴佽浆鍗
+        /// <summary>
+        /// 杩斿洖鎷嗗垎鍚庣殑鐢熶骇璁㈠崟淇℃伅
+        /// </summary>
+        /// <param name="hmainid">鐢熶骇浠诲姟鍗曚富瀛怚D</param>
+        /// <returns>object</returns>
+        [Route("Sc_ProcessExchangeBill/BatchSpilt")]
+        [HttpGet]
+        public object BatchSpilt(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_BatchSplit '" + HIDs[0] + "','" + HIDs[1] + "'";
+
+                    ds = oCN.RunProcReturn(sql, "h_p_Sc_ProcessExchange_BatchSplit");
+
+                    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[鎵归噺鎷嗗垎涓嬫帹-淇濆瓨鎸夐挳]
+        /// <summary>
+        /// 鏂板鍗曟嵁-淇濆瓨鎸夐挳
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Sc_ProcessExchangeBill/AddBill_BatchSplit")]
+        [HttpPost]
+        public object AddBill_BatchSplit([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.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.HMateOutBatchNo = "";
+                        oBill.omodel.HUnitNumber = ds.Tables[0].Rows[0]["HUnitNumber"].ToString();
+                        oBill.omodel.HMaterID2 = oItemSub.HMaterID;
+                        oBill.omodel.HProjectNum = "";
+                        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();
+                        oBill.omodel.HMouldNum = "0";                        
+                    }   
+                    //瀛愯〃璧嬪��
+                    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
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1