From 191270c5e37586a70db651a2608762c4350dcbad Mon Sep 17 00:00:00 2001
From: yusijie <ysj@hz-kingdee.com>
Date: 星期三, 21 八月 2024 11:30:31 +0800
Subject: [PATCH] 批量下推流转卡,人员技能考核月份,年份取值改为单据日期的年月

---
 WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs |  303 +++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 296 insertions(+), 7 deletions(-)

diff --git a/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs b/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
index fa0386c..5cdf611 100644
--- a/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
+++ b/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
@@ -1986,8 +1986,8 @@
                 }
 
                 string[] HInterEntryIDArr = HInterID.Split(',');
-
-                string[] HData;
+               
+                DataTable dt = new DataTable();
 
                 for (int i = 0; i < HInterEntryIDArr.Length; i++)
                 {
@@ -1997,12 +1997,22 @@
 
                     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 (ds == null || ds.Tables[0].Rows.Count == 0)
+                if (dt == null || dt.Rows.Count == 0)
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
@@ -2015,7 +2025,7 @@
                     objJsonResult.code = "1";
                     objJsonResult.count = 1;
                     objJsonResult.Message = "Sucess锛�";
-                    objJsonResult.data = ds.Tables[0];
+                    objJsonResult.data = dt;
                     return objJsonResult;
                 }
             }
@@ -2030,5 +2040,284 @@
         }
         #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 = "";
+                string HBillNo = "";
+                Int64 HICMOInterID = 0;
+                Int64 HICMOEntryID = 0;
+                string HICMOBillNo = "";
+                double HQty = 0;
+                foreach (Model.ClsSc_ProcessExchangeBillSub_BatchSplit oItemSub in ls)
+                {
+                    HBillNo = DBUtility.ClsPub.CreateBillCode_Prod("3772", ref DBUtility.ClsPub.sExeReturnInfo, true); 
+                    HICMOInterID = oItemSub.HICMOInterID;
+                    HICMOEntryID = oItemSub.HICMOEntryID;
+                    HICMOBillNo = oItemSub.HICMOBillNo;
+                    HQty = oItemSub.HQty;
+
+                    sql = "select * from h_v_Sc_ProcessExchangeBill_BatchSplit where hmainid = " + oItemSub.HICMOInterID + " and hentryid = " 
+                         + oItemSub.HICMOEntryID;
+                    ds = oCN.RunProcReturn(sql, "h_v_Sc_ProcessExchangeBill_BatchSplit");
+                    //涓昏〃璧嬪��
+                    if (ds.Tables[0].Rows.Count > 0 && ds != null)
+                    {
+                        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 = "";
+                        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 = "";
+                        oItemSubs.HWorkerID = 0;
+                        oItemSubs.HWorkerNumber = "";
+                        oItemSubs.HSourceID = 0;
+                        oItemSubs.HQty = HQty;
+                        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;
+
+                        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