From 679fcc729a588e810b42e12409eac3bca7103b5d Mon Sep 17 00:00:00 2001
From: yusijie <ysj@hz-kingdee.com>
Date: 星期三, 10 五月 2023 10:42:10 +0800
Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API

---
 WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs |  505 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 500 insertions(+), 5 deletions(-)

diff --git a/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs b/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
index 1b252df..f48232e 100644
--- a/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
+++ b/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
@@ -50,7 +50,7 @@
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
-
+                DBUtility.ClsPub.CurUserName = msg4;
                 DAL.ClsSc_ProcessExchangeBill oBill = new DAL.ClsSc_ProcessExchangeBill();
                 List<Model.ClsSc_ProcessExchangeBillMain> lsmain = new List<Model.ClsSc_ProcessExchangeBillMain>();
                 msg2 = msg2.Replace("\\", "");
@@ -61,8 +61,8 @@
                     UserName = oItem.HMaker;  //鍒跺崟浜�
                     oItem.HBillType = "3772";
                     oItem.HBillSubType = "3772";
-                    oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
                     oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+                    oItem.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
                     if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
                     {
                         objJsonResult.code = "0";
@@ -373,6 +373,233 @@
         //}
         #endregion
 
+        #region[鏂板鍗曟嵁-淇濆瓨鎸夐挳-鎵归噺澶嶅埗]
+        /// <summary>
+        /// 鏂板鍗曟嵁-淇濆瓨鎸夐挳
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Sc_ProcessExchangeBill/AddBill_Copy_pl")]
+        [HttpPost]
+        public object AddBill_Copy_pl([FromBody] JObject sMainSub)
+        {
+            var _value = sMainSub["sMainSub"].ToString();
+            string msg1 = _value.ToString();
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            int msg2 = int.Parse(sArray[0].ToString());
+            string msg3 = sArray[1].ToString();
+            string msg4 = sArray[2].ToString();
+            string msg5 = sArray[3].ToString();
+
+            string UserName = "";
+            ListModels oListModels = new ListModels();
+            string sReturn = "";
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Edit", 1, false, msg4))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                DAL.ClsSc_ProcessExchangeBill oBill = new DAL.ClsSc_ProcessExchangeBill();
+                DBUtility.ClsPub.HOrgID = long.Parse(msg5);
+                DBUtility.ClsPub.CurUserName = msg4;
+                oBill.ShowBill(long.Parse(msg3), ref sReturn);
+
+                ds = oCN.RunProcReturn("select isnull(sum(HQty),0) from Sc_ProcessExchangeBillMain where HICMOBillNo='" + oBill.omodel.HICMOBillNo + "' and HInterID <>"+ oBill.omodel.HInterID, "Sc_ProcessExchangeBillMain");
+                var HQty = double.Parse(ds.Tables[0].Rows[0][0].ToString());
+                int num = 0;
+                //鍗曟嵁鏁伴噺 * 寮犳暟 + 宸茬敓鎴愪笉鍖呮嫭鏈崟鎹殑鏁伴噺 >鐢熶骇璁㈠崟鏁伴噺
+                if ((oBill.omodel.HQty * msg2) + HQty > oBill.omodel.HPlanQty)
+                {
+                    if (((oBill.omodel.HPlanQty - oBill.omodel.HQty - HQty) % oBill.omodel.HQty) == 0)
+                    {
+                        num = (int)((oBill.omodel.HPlanQty - oBill.omodel.HQty - HQty) / oBill.omodel.HQty);
+                    } else
+                    {
+                        num = (int)((oBill.omodel.HPlanQty - oBill.omodel.HQty - HQty) / oBill.omodel.HQty);
+                        num += 1;
+                    }
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏈�澶氬彲浠ュ鍒�" + num + "寮狅紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (num == 0) {
+                    double HPlanQty = oBill.omodel.HPlanQty - oBill.omodel.HQty - HQty;
+                    for (int i = 0; i < msg2; i++)
+                    {
+                        oBill.omodel.HBillNo = DBUtility.ClsPub.CreateBillCode("3772", ref DBUtility.ClsPub.sExeReturnInfo, true);
+                        oBill.omodel.HDate =DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd"));
+                        oBill.omodel.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+                        oBill.omodel.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
+                        oBill.omodel.HChecker = "";
+                        oBill.omodel.HCheckDate = "";
+                        oBill.omodel.HMaker = msg4;
+
+                        if (HPlanQty < oBill.omodel.HQty)
+                        {
+                            oBill.omodel.HQty = HPlanQty;
+                        }
+
+                        //淇濆瓨瀹屾瘯鍚庡鐞�
+                        bool bResult;
+
+                        bResult = oBill.AddBill(ref sReturn);
+                        if (bResult)
+                        {
+                            num++;
+                            HPlanQty -= oBill.omodel.HQty;
+                        }
+                    }
+                    
+                }
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "澶嶅埗浜�" + num + "寮犲崟鎹紒";
+                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[鎵归噺鏂板鍗曟嵁-淇濆瓨鎸夐挳]
+        /// <summary>
+        /// 鏂板鍗曟嵁-淇濆瓨鎸夐挳
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Sc_ProcessExchangeBill/AddBill_pl")]
+        [HttpPost]
+        public object AddBill_pl([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 msg3 = sArray[1].ToString();//鍗曟嵁鍙峰強鏁伴噺
+            string msg4 = sArray[2].ToString();//宸ヨ壓璺嚎
+            string msg5 = sArray[3].ToString();//绫诲瀷
+            string msg6 = sArray[4].ToString();//鐢ㄦ埛
+
+            ListModels oListModels = new ListModels();
+
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Edit", 1, false, msg6))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //鍗曟嵁鍙� 鍙婃暟閲�
+                DAL.ClsSc_ProcessExchangeBill oBill = new DAL.ClsSc_ProcessExchangeBill();
+                List<Model.ClsSc_ProcessExchangeBillMain> ListHbillNo = new List<Model.ClsSc_ProcessExchangeBillMain>();
+                msg3 = msg3.Replace("\\", "");
+                msg3 = msg3.Replace("\n", "");  //\n
+                ListHbillNo = JsonConvert.DeserializeObject<List<Model.ClsSc_ProcessExchangeBillMain>>(msg3);
+
+                //涓昏〃淇℃伅
+                Model.ClsSc_ProcessExchangeBillMain Main = new Model.ClsSc_ProcessExchangeBillMain();
+                msg2 = msg2.Replace("\\", "");
+                msg2 = msg2.Replace("\n", "");  //\n
+                Main = JsonConvert.DeserializeObject<Model.ClsSc_ProcessExchangeBillMain>(msg2);
+
+                DBUtility.ClsPub.CurUserName = msg6;
+                Main.HMaker = msg6;  //鍒跺崟浜�
+                Main.HBillType = "3772";
+                Main.HBillSubType = "3772";
+                Main.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+                Main.HMaterID = Main.HMaterID2;
+                if (DBUtility.ClsPub.isStrNull(Main.HDate) == "")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+
+                //琛ㄤ綋鏁版嵁
+                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+                msg4 = msg4.Substring(1, msg4.Length - 2);
+                msg4 = msg4.Replace("\\", "");
+                msg4 = msg4.Replace("\n", "");  //\n
+                List<Model.ClsSc_ProcessExchangeBillSub> ls = new List<Model.ClsSc_ProcessExchangeBillSub>();
+                ls = oListModels.getObjectByJson_Sc_ProcessExchangeBillSub(msg4);
+
+                //寰幆鏂板鍗曟嵁
+                for (int i = 0; i < ListHbillNo.Count; i++)
+                {
+                    Main.HBillNo = ListHbillNo[i].HBillNo;
+                    Main.HQty = ListHbillNo[i].HQty;
+                    Main.HSplitNo = ListHbillNo[i].HSplitNo;
+                    Main.HAuxQty = 0;
+                    Main.HAuxUnit = 0;
+                    oBill.omodel = Main;
+
+                    int j = 0;
+                    foreach (Model.ClsSc_ProcessExchangeBillSub oItemSub in ls)
+                    {
+                        j++;
+                        oItemSub.HEntryID = j;
+                        oItemSub.HQty = Main.HQty;
+                        oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+                        oBill.DetailColl.Add(oItemSub);
+                    }
+                    //淇濆瓨
+                    //淇濆瓨瀹屾瘯鍚庡鐞�
+                    bool bResult=false;
+                    if (msg5 == "2")
+                    {
+                        bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+                    }
+                    oBill.DetailColl.Clear();
+                    if (!bResult)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+                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_ProcessExchangeBillList/QJQD")]
@@ -383,7 +610,7 @@
             {
 
                 //寰楀埌淇℃伅
-                ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillQuerySub_Mould  where hmainid= " + HProcExchHinteID , "h_v_Sc_ProcessExchangeBillQuerySub_Mould");
+                ds = oCN.RunProcReturn("select  * from h_v_Sc_ProcessExchangeBillQuerySub_Mould  where hmainid= " + HProcExchHinteID , "h_v_Sc_ProcessExchangeBillQuerySub_Mould");
                 //鍐欏叆淇℃伅
                 //if (ds == null || ds.Tables[0].Rows.Count == 0)
                 //{
@@ -548,12 +775,12 @@
             {
                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                 string sql = string.Format(@"select 娴佹按鍙� HProcNo,HProcID,宸ュ簭浠g爜 HProcNumber,宸ュ簭鍚嶇О HProcName,鍔犲伐璇存槑 HWorkRemark,HCenterID,宸ヤ綔涓績浠g爜 HCenterNumber,
-                                                宸ヤ綔涓績 HCenterName,HSupID,渚涘簲鍟嗕唬鐮� HSupNumber,渚涘簲鍟� HSupName,isEntrust,璁″垝鏁伴噺 HQty,鍔犲伐鍗曚环 HOutPrice, 琛ㄤ綋澶囨敞 HRemark,
+                                                宸ヤ綔涓績 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
                                             from h_v_Sc_ProcessExchangeBillQuerySub");
-                ds = oCN.RunProcReturn(sql+ " where hmainid="+ HInterID, "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 = "鑾峰彇淇℃伅鎴愬姛锛�";
@@ -697,6 +924,66 @@
                 objJsonResult.list = columnNameList;
                 objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
                 objJsonResult.data = ds.Tables[0];
+                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="HInterID">涓籌D</param>
+        /// <returns></returns>
+        [Route("Sc_ProcessExchangeBill/GetProcessExchangeBillMain_cf")]
+        [HttpGet]
+        public object GetProcessExchangeBillMain_cf(string HInterID)
+        {
+            DataSet ds;
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillQuery  where hmainid= " + HInterID + " ", "h_v_Sc_ProcessExchangeBillQuery");
+
+                DataSet Ds  = oCN.RunProcReturn("select  top 1 HNo  from Sc_ProcessExchangeBillmain where HBillNo like '%" + ds.Tables[0].Rows[0]["鍗曟嵁鍙�"].ToString() + "-%'   order by LEN(HBillno) , HbillNo desc ", "Sc_ProcessExchangeBillmain");
+
+                char c = '1';
+                string sNo = "01";
+                int sCount = 0;
+
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                }
+                else
+                {
+                    sCount = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HNo"]);
+                    if (sCount >= 1)
+                    {
+                        sNo = Convert.ToChar(sCount + (int)c).ToString();
+                        sNo = "00" + sNo;
+                        sNo = sNo.Substring(sNo.Length - 2, 2);
+                    }
+                }
+
+                string sBillNo = ds.Tables[0].Rows[0]["鍗曟嵁鍙�"].ToString();
+                sBillNo = sBillNo.Replace("WORKX", "");
+                sBillNo = sBillNo.Replace("WORK", "");
+                sBillNo = sBillNo.Replace("_", "-");
+                sBillNo = sBillNo + "-" + sNo;
+                ds.Tables[0].Rows[0]["鍗曟嵁鍙�"] = sBillNo;
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
+                objJsonResult.data = ds.Tables[0];
             }
             catch (Exception e)
             {
@@ -707,6 +994,214 @@
             }
             return objJsonResult;
         }
+
+
+        /// <summary>
+        /// 鑾峰彇琛ㄤ綋鏁版嵁淇℃伅
+        /// </summary>
+        /// <param name="HInterID"></param>
+        /// <returns></returns>
+        [Route("Sc_ProcessExchangeBill/GetProcessExchangeBillSub_cf")]
+        [HttpGet]
+        public object GetProcessExchangeBillSub_cf(string HInterID)
+        {
+            DataSet ds;
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+
+                var ds1= oCN.RunProcReturn("select isnull(max(娴佹按鍙�),0) from h_v_Sc_ProcessExchangeBillQuerySub where hmainid=" + HInterID + " and 鍑虹珯鍏宠仈鏁伴噺>0 ", "h_v_Sc_ProcessExchangeBillQuerySub");
+
+                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");
+
+                if (float.Parse(ds.Tables[0].Rows[0]["杩涚珯鍏宠仈鏁伴噺"].ToString()) > 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "褰撳墠鍗曟嵁:"+ ds.Tables[0].Rows[0]["宸ュ簭鍚嶇О"].ToString() + "鏈嚭绔欎笉鑳芥媶鍒�!";
+                    objJsonResult.data = ds.Tables[0];
+                }
+                else {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
+                    objJsonResult.data = ds.Tables[0];
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.data = null;
+            }
+            return objJsonResult;
+        }
+
+        /// <summary>
+        /// 鏂板鍗曟嵁-淇濆瓨鎸夐挳
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Sc_ProcessExchangeBill/AddBill_cf")]
+        [HttpPost]
+        public object AddBill_cf([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 msg3 = sArray[1].ToString();
+            string msg4 = sArray[2].ToString();
+            string msg5 = sArray[3].ToString();
+            string linterid = sArray[4].ToString();
+
+            string UserName = "";
+            ListModels oListModels = new ListModels();
+
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_CF", 1, false, msg5))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳媶鍒嗘潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                DAL.ClsSc_ProcessExchangeBill oBill = new DAL.ClsSc_ProcessExchangeBill();
+                List<Model.ClsSc_ProcessExchangeBillMain> lsmain = new List<Model.ClsSc_ProcessExchangeBillMain>();
+                msg2 = msg2.Replace("\\", "");
+                msg2 = msg2.Replace("\n", "");  //\n
+                lsmain = oListModels.getObjectByJson_Sc_ProcessExchangeBillMain(msg2);
+                string sReturn = "";
+                DBUtility.ClsPub.HOrgID = lsmain[0].HPRDORGID;
+                oBill.ShowBill(long.Parse(linterid), ref sReturn);
+                foreach (Model.ClsSc_ProcessExchangeBillMain oItem in lsmain)
+                {
+                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+
+                    oBill.omodel.HMaker = msg5;  //鍒跺崟浜�
+                    oBill.omodel.HNo = DBUtility.ClsPub.isLong(oItem.HBillNo.Split('-')[1]);
+                    oBill.omodel.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+                    oBill.omodel.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
+                    oBill.omodel.HDate = oItem.HDate;// 鏃ユ湡
+                    oBill.omodel.HPlanBeginDate = oItem.HPlanBeginDate;// 璁″垝寮�宸ユ棩鏈�
+                    oBill.omodel.HPlanEndDate = oItem.HPlanEndDate;// 璁″垝瀹屽伐鏃ユ湡
+                    oBill.omodel.HQty = oItem.HQty;// 鏁伴噺
+                    oBill.omodel.HBillNo = oItem.HBillNo;// 鍗曟嵁鍙�
+                }
+
+                //琛ㄤ綋鏁版嵁
+                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+                msg3 = msg3.Substring(1, msg3.Length - 2);
+                msg3 = msg3.Replace("\\", "");
+                msg3 = msg3.Replace("\n", "");  //\n
+                //msg2 = msg2.Replace("'", "鈥�");
+                List<Model.ClsSc_ProcessExchangeBillSub> ls = new List<Model.ClsSc_ProcessExchangeBillSub>();
+                ls = oListModels.getObjectByJson_Sc_ProcessExchangeBillSub(msg3);
+              
+                string HEntryID = "";
+
+                for (int i = 0; i < oBill.DetailColl.Count; i++)
+                {
+                    if (oBill.DetailColl[i].HRelationQty_Out > 0 || oBill.DetailColl[i].HRelationQty_In > 0)
+                    {
+                        HEntryID += i + ",";
+                    }
+                }
+                if (HEntryID != "")
+                {
+                    HEntryID = HEntryID.Substring(0, HEntryID.Length - 1);
+                    var num = HEntryID.Split(',');
+
+                    for (int k = 0; k < num.Length; k++)
+                    {
+                        oBill.DetailColl.RemoveAt(int.Parse(num[k]) - k);
+                    }
+                }
+
+                int j = 0 ;
+                foreach (Model.ClsSc_ProcessExchangeBillSub oItemSub in oBill.DetailColl)
+                {
+                    if (ls[j].HSplitQty > ls[j].HLeftQty)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "绗�" + (j + 1) + "琛岋紝鎷嗗垎鏁伴噺涓嶈兘澶т簬鍙媶鍒嗘暟閲忥紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    if (oBill.DetailColl[j].HProcNo == ls[j].HProcNo)
+                    {
+                        oBill.DetailColl[j].HEntryID = j+1;
+                        oBill.DetailColl[j].HQty = ls[j].HQty;
+                        oBill.DetailColl[j].HBackProc = ls[j].HBackProc;
+                        oBill.DetailColl[j].HPrevSourceInterID = ls[j].HPrevSourceInterID;
+                        oBill.DetailColl[j].HPrevSourceEntryID = ls[j].HPrevSourceEntryID;
+                        oBill.DetailColl[j].HRemark = ls[j].HRemark;
+                        oBill.DetailColl[j].HTechnologyParameter = ls[j].HTechnologyParameter;
+                        j++;
+                    }
+                }
+
+
+                //淇濆瓨
+                //淇濆瓨瀹屾瘯鍚庡鐞�
+                bool bResult = false;
+                if (msg4 == "1")
+                {
+                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                //else
+                //{
+                //    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+                //}
+               
+                oCN.BeginTran();
+
+                oCN.RunProc("update Sc_ProcessExchangeBillSub set HQty=(select HQty from Sc_ProcessExchangeBillMain where HInterID="+ oBill.DetailColl[0].HPrevSourceInterID + ") where HInterID=" + oBill.DetailColl[0].HPrevSourceInterID );
+
+                oCN.Commit();
+
+                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