|  |  | 
 |  |  | using Newtonsoft.Json.Linq; | 
 |  |  | using System.Diagnostics; | 
 |  |  | using System.Threading; | 
 |  |  |  | 
 |  |  | using System.Globalization; | 
 |  |  | namespace WebAPI.Controllers.SCGL.æ¥è®¡å管ç | 
 |  |  | { | 
 |  |  |     public class JIT_DayPlanPlatFormBillController : ApiController | 
 |  |  | 
 |  |  |  | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 Stopwatch sw = new Stopwatch();//计æ¶å¨ | 
 |  |  |                 sw.Start();//å¼å§è®¡æ¶ | 
 |  |  |  | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log("Sc_WorkBillSortBill_Edit", 1, false, user)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  | 
 |  |  |                 LogService.CustomWriteLog("2:", DateTime.Now.ToString("yyyy-MM-dd")); | 
 |  |  |                 int TrueCount = 0, SumCount = 0; | 
 |  |  |                 LogService.CustomWriteLog("list.Count:"+ list.Count, DateTime.Now.ToString("yyyy-MM-dd")); | 
 |  |  |  | 
 |  |  |                 string sReturn = ""; | 
 |  |  |                 oSystemParameter.ShowBill(ref sReturn); | 
 |  |  |                 for (int i = 0; i < list.Count; i++) | 
 |  |  |                 { | 
 |  |  |                 {                                      | 
 |  |  |                     TrueCount = 0; | 
 |  |  |                     SumCount = 0; | 
 |  |  |                     long HInterID = 0; | 
 |  |  | 
 |  |  |                         var HMainSourceEntryID = list[i]["æºååå
ç "].ToString(); | 
 |  |  |                         var HPlanQty = list[i]["è®¡åæ°é"].ToString(); | 
 |  |  |                         var HEmpID = list[i]["HEmpID"].ToString(); | 
 |  |  |                         var HWorkQty = list[i]["å°æ¶äº§è½"].ToString(); | 
 |  |  |                         var HSourceName = list[i]["çäº§èµæº"].ToString(); | 
 |  |  |                         var HWorkQty_ProdLine = list[i]["产线æ»äº§è½"].ToString(); | 
 |  |  |  | 
 |  |  |                         LogService.CustomWriteLog("2.05:" + i, DateTime.Now.ToString("yyyy-MM-dd")); | 
 |  |  |  | 
 |  |  |                         if (HSourceID == ""|| HSourceID == "0") | 
 |  |  |                         if (oSystemParameter.omodel.WMS_CampanyName != "æ·»åº·ç§æ") //ç³»ç»åæ°  å®¢æ·å®å¶ååç§°     ç©ºç½ä¸ºéç¨ | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.Message = $"第{i + 1}è¡çäº§èµæºä¸è½ä¸ºç©º!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                             if (HSourceID == "" || HSourceID == "0") | 
 |  |  |                             { | 
 |  |  |                                 objJsonResult.code = "0"; | 
 |  |  |                                 objJsonResult.count = 0; | 
 |  |  |                                 objJsonResult.Message = $"第{i + 1}è¡çäº§èµæºä¸è½ä¸ºç©º!"; | 
 |  |  |                                 objJsonResult.data = null; | 
 |  |  |                                 return objJsonResult; | 
 |  |  |                             } | 
 |  |  |                         } | 
 |  |  |  | 
 |  |  |                         ds = oCN.RunProcReturn($"select * from Sc_WorkBillSortBillMain where HMainSourceInterID={HMainSourceInterID}" + | 
 |  |  |                         ds = oCN.RunProcReturn($"select HInterID,HICMOBillNo from Sc_WorkBillSortBillMain with(nolock) where HMainSourceInterID={HMainSourceInterID}" + | 
 |  |  |                             $" and HMainSourceEntryID={HMainSourceEntryID} and HICMOBillNo='{HICMOBillNo}' and HICMOEntrySEQ={HICMOEntrySEQ} and HSourceID={HSourceID}", "Sc_WorkBillSortBillMain"); | 
 |  |  |  | 
 |  |  |                         if (ds.Tables[0].Rows.Count > 0) | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  | 
 |  |  |                             " HOrderNeedQty, HSplitQty, HDayPlanSumQty,HPlanBeginDate," + | 
 |  |  |                             "HSeOrderBillNo,HICMOBillType,HSourceStockInQty,HLeftPlanQty,HOrderLev,HPreparatDate," + | 
 |  |  |                             "HMainSourceInterID,HMainSourceEntryID,HICMOInterID_Sec,HICMOEntryID_Sec,HPlanQty" + | 
 |  |  |                             ",HICMOInterID,HICMOEntryID,HPlanEndDate,HEmpID)values" + | 
 |  |  |                             ",HICMOInterID,HICMOEntryID,HPlanEndDate,HEmpID,HWorkQty,HSourceName,HWorkQty_ProdLine)values" + | 
 |  |  |                             $"({HInterID},'{HBillNo}',{DateTime.Now.Year},{DateTime.Now.Month},'{BillType}'," + | 
 |  |  |                             $"'{BillType}',GETDATE(),1,'{user}',getdate(),'{HICMOBillNo}','{HOrderType}'," + | 
 |  |  |                             $"{(HICMOEntrySEQ == "" ? 0.ToString() : HICMOEntrySEQ)},{(HWorkShopID == "" ? 0.ToString() : HWorkShopID)},{(HSourceID == "" ? 0.ToString() : HSourceID)}, {(HYX == "" ? 0.ToString() : HYX)}, {(HProdORGID == "" ? 0.ToString() : HProdORGID)}," + | 
 |  |  | 
 |  |  |                             $" 0, {(HSplitQty == "" ? 0.ToString() : HSplitQty)}, {(HDayPlanSumQty == "" ? 0.ToString() : HDayPlanSumQty)},'{HPlanBeginDate}'," + | 
 |  |  |                             $"'{HSeOrderBillNo}','{HICMOBillType}',{(HSourceStockInQty == "" ? 0.ToString() : HSourceStockInQty)},{(HLeftPlanQty == "" ? 0.ToString() : HLeftPlanQty)},'{HOrderLev}',getdate()," + | 
 |  |  |                             $"{HMainSourceInterID},{HMainSourceEntryID},{HMainSourceInterID},{HMainSourceEntryID},{HPlanQty}," + | 
 |  |  |                             $"{HMainSourceInterID},{HMainSourceEntryID},'{HPlanEndDate}','{HEmpID}')"; | 
 |  |  |                             $"{HMainSourceInterID},{HMainSourceEntryID},'{HPlanEndDate}','{HEmpID}','{HWorkQty}','{HSourceName}','{HWorkQty_ProdLine}')"; | 
 |  |  |  | 
 |  |  |                         //LogService.Write("sql:" + sql); | 
 |  |  |                         //主表 | 
 |  |  | 
 |  |  |                         var HOrderCommitDate = list[i]["订å交货æ"].ToString(); | 
 |  |  |                         var HPlanEndDate = list[i]["计åç»ææ¥æ"].ToString(); | 
 |  |  |                         var HSplitQty = list[i]["æåæ°é"].ToString(); | 
 |  |  |                         var HSourceName = list[i]["çäº§èµæº"].ToString(); | 
 |  |  |                         var HWorkQty_ProdLine = list[i]["产线æ»äº§è½"].ToString(); | 
 |  |  |  | 
 |  |  |                         var HOrderType = list[i]["订åç±»å"].ToString(); | 
 |  |  |                         var HWorkShopID = list[i]["HWorkShopID"].ToString(); | 
 |  |  |                         var HProdORGID = list[i]["HProdORGID"].ToString(); | 
 |  |  |                         var HMaterID = list[i]["HMaterID"].ToString(); | 
 |  |  |                         var HMaterName = list[i]["ç©æåç§°"].ToString(); | 
 |  |  |                         var HMaterModel = list[i]["è§æ ¼åå·"].ToString().Replace("'", "''"); | 
 |  |  |                         var HUnitID = list[i]["HUnitID"].ToString(); | 
 |  |  |                         var HSeOrderBillQty = list[i]["éå®è®¢åæ°é"].ToString(); | 
 |  |  |                         var HDayPlanSumQty = list[i]["æ¥è®¡åæ°éæ»é"].ToString(); | 
 |  |  |                         var HPlanBeginDate = list[i]["计åå¼å§æ¥æ"].ToString(); | 
 |  |  |                         var HSeOrderBillNo = list[i]["éå®è®¢åå·"].ToString(); | 
 |  |  |                         var HICMOBillType = list[i]["ç产订ååæ®ç±»å"].ToString(); | 
 |  |  |                         var HSourceStockInQty = list[i]["产线å
¥åºæ°é"].ToString(); | 
 |  |  |                         var HLeftPlanQty = list[i]["æªææ°é"].ToString(); | 
 |  |  |                         var HOrderLev = list[i]["订åç级"].ToString(); | 
 |  |  |                         var HPlanQty = list[i]["è®¡åæ°é"].ToString(); | 
 |  |  |                         var HEmpID = list[i]["HEmpID"].ToString(); | 
 |  |  |  | 
 |  |  |                         LogService.CustomWriteLog("2.1:"+i, DateTime.Now.ToString("yyyy-MM-dd")); | 
 |  |  |  | 
 |  |  |                         if (HSourceID == "" || HSourceID == "0") | 
 |  |  |                          | 
 |  |  |                         if (oSystemParameter.omodel.WMS_CampanyName != "æ·»åº·ç§æ") //ç³»ç»åæ°  å®¢æ·å®å¶ååç§°     ç©ºç½ä¸ºéç¨ | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.Message = $"第{i + 1}è¡çäº§èµæºä¸è½ä¸ºç©º!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                             if (HSourceID == "" || HSourceID == "0") | 
 |  |  |                             { | 
 |  |  |                                 objJsonResult.code = "0"; | 
 |  |  |                                 objJsonResult.count = 0; | 
 |  |  |                                 objJsonResult.Message = $"第{i + 1}è¡çäº§èµæºä¸è½ä¸ºç©º!"; | 
 |  |  |                                 objJsonResult.data = null; | 
 |  |  |                                 return objJsonResult; | 
 |  |  |                             } | 
 |  |  |                         } | 
 |  |  |  | 
 |  |  |                         var str = 0; | 
 |  |  |                         if (!int.TryParse(HYX, out str)) | 
 |  |  |                         { | 
 |  |  | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |  | 
 |  |  |                         ds = oCN.RunProcReturn($"select * from  Sc_WorkBillSortBillMain where HMainSourceInterID={HMainSourceInterID}" + | 
 |  |  |                               $" and HMainSourceEntryID={HMainSourceEntryID} and HICMOBillNo='{HICMOBillNo}' and HICMOEntrySEQ={HICMOEntrySEQ} and HSourceID={HSourceID}", "Sc_WorkBillSortBillMain"); | 
 |  |  |  | 
 |  |  |                         if (ds.Tables[0].Rows.Count > 1) | 
 |  |  |                         if (oSystemParameter.omodel.WMS_CampanyName == "æ·»åº·ç§æ") //ç³»ç»åæ°  å®¢æ·å®å¶ååç§°     ç©ºç½ä¸ºéç¨ | 
 |  |  |                         { | 
 |  |  |                             LogService.CustomWriteLog("第" + i + 1 + "è¡çäº§èµæºæéå¤,请修æ¹", DateTime.Now.ToString("yyyy-MM-dd")); | 
 |  |  |                             LogService.CustomWriteLog($"select * from  Sc_WorkBillSortBillMain where HMainSourceInterID={HMainSourceInterID}" + | 
 |  |  |                               $" and HMainSourceEntryID={HMainSourceEntryID} and HICMOBillNo='{HICMOBillNo}' and HICMOEntrySEQ={HICMOEntrySEQ} and HSourceID={HSourceID}", DateTime.Now.ToString("yyyy-MM-dd")); | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.Message = $"第{i + 1}è¡çäº§èµæºæéå¤,请修æ¹!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                         LogService.CustomWriteLog("2.2:" + i, DateTime.Now.ToString("yyyy-MM-dd")); | 
 |  |  |                             //çæå å°çäº§èµæºååç产 | 
 |  |  |                             string[] HSourceNameArr = HSourceName.Split(new char[]{'&'}); | 
 |  |  |  | 
 |  |  |                         oCN.RunProc($"update Sc_WorkBillSortBillMain set HSourceID={(HSourceID == "" ? 0.ToString() : HSourceID)},HYX={HYX}" + | 
 |  |  |                             $",HWorkQty={HWorkQty},HProdTimes={HProdTimes},HReadyTimes={HReadyTimes},HLastBeginDate='{HLastBeginDate}'" + | 
 |  |  |                             $",HLastEndDate='{HLastEndDate}',HOrderNeedQty={HOrderNeedQty},HOrderCommitDate='{HOrderCommitDate}',HPlanEndDate='{HPlanEndDate}',HSplitQty={HSplitQty}" + | 
 |  |  |                             $" where HInterID={list[i]["hmainid"].ToString()} and HBillNo='{list[i]["åæ®å·"].ToString()}'"); | 
 |  |  |                             if (HSourceNameArr.Length >= 2) | 
 |  |  |                             { | 
 |  |  |                                 for (int s = 0; s < HSourceNameArr.Length; s++) | 
 |  |  |                                 { | 
 |  |  |                                     if (s == 0) | 
 |  |  |                                     { | 
 |  |  |                                         ds = oCN.RunProcReturn("select HItemID from Gy_Source with(nolock) where HName = '" + HSourceNameArr[s] + "'", "Gy_Source"); | 
 |  |  |  | 
 |  |  |                                         var HSourceID_Child = ds.Tables[0].Rows[0]["HItemID"]; | 
 |  |  |  | 
 |  |  |                                         oCN.RunProc($"update Sc_WorkBillSortBillMain set HSourceID={(HSourceID_Child == "" ? 0.ToString() : HSourceID_Child)}" + | 
 |  |  |                                             $",HYX={HYX},HWorkQty={HWorkQty},HProdTimes={HProdTimes},HReadyTimes={HReadyTimes},HLastBeginDate='{HLastBeginDate}'" + | 
 |  |  |                                             $",HLastEndDate='{HLastEndDate}',HOrderNeedQty={HOrderNeedQty},HOrderCommitDate='{HOrderCommitDate}'" + | 
 |  |  |                                             $",HPlanEndDate='{HPlanEndDate}',HSplitQty={HSplitQty},HSourceName='{HSourceName}',HWorkQty_ProdLine={HWorkQty_ProdLine}" + | 
 |  |  |                                             $" where HInterID={list[i]["hmainid"].ToString()} and HBillNo='{list[i]["åæ®å·"].ToString()}'"); | 
 |  |  |                                     } | 
 |  |  |                                     else | 
 |  |  |                                     { | 
 |  |  |                                         ds = oCN.RunProcReturn("select HItemID from Gy_Source with(nolock) where HName = '" + HSourceNameArr[s] + "'", "Gy_Source"); | 
 |  |  |  | 
 |  |  |                                         var HSourceID_Child = ds.Tables[0].Rows[0]["HItemID"]; | 
 |  |  |  | 
 |  |  |                                         //æ°å¢ååçäº§èµæºçæäº§è®°å½ | 
 |  |  |                                         ds = oCN.RunProcReturn($"select HInterID,HICMOBillNo from Sc_WorkBillSortBillMain with(nolock) where HMainSourceInterID={HMainSourceInterID}" + | 
 |  |  |                            $" and HMainSourceEntryID={HMainSourceEntryID} and HICMOBillNo='{HICMOBillNo}' and HICMOEntrySEQ={HICMOEntrySEQ} and HSourceID={HSourceID_Child}", "Sc_WorkBillSortBillMain"); | 
 |  |  |  | 
 |  |  |                                         if (ds.Tables[0].Rows.Count > 0) | 
 |  |  |                                         { | 
 |  |  |                                             objJsonResult.code = "0"; | 
 |  |  |                                             objJsonResult.count = 0; | 
 |  |  |                                             objJsonResult.Message = $"第{i + 1}è¡çäº§èµæºæéå¤,请修æ¹!"; | 
 |  |  |                                             objJsonResult.data = null; | 
 |  |  |                                             return objJsonResult; | 
 |  |  |                                         } | 
 |  |  |  | 
 |  |  |                                         //æ°å¢åæ®å· id | 
 |  |  |                                         var HBillNo_New = DBUtility.ClsPub.CreateBillCode_Prod(BillType, ref DBUtility.ClsPub.sExeReturnInfo, true);//è·å¾ä¸ä¸ªæ°çåæ®å· | 
 |  |  |                                         var HInterID_New = DBUtility.ClsPub.CreateBillID_Prod(BillType, ref DBUtility.ClsPub.sExeReturnInfo);//è·å¾ä¸ä¸ªæ°çid | 
 |  |  |  | 
 |  |  |                                         string sql = $"insert into Sc_WorkBillSortBillMain(HInterID,HBillNo,HYear,HPeriod,HBillType," + | 
 |  |  |                                             "HBillSubType,HDate,HBillStatus,HMaker,HMakeDate,HICMOBillNo,HOrderType," + | 
 |  |  |                                             "HICMOEntrySEQ,HWorkShopID,HSourceID, HYX, HProdORGID," + | 
 |  |  |                                             " HMaterID, HMaterName, HMaterModel, HUnitID, HSeOrderBillQty," + | 
 |  |  |                                             " HOrderNeedQty, HSplitQty, HDayPlanSumQty,HPlanBeginDate," + | 
 |  |  |                                             "HSeOrderBillNo,HICMOBillType,HSourceStockInQty,HLeftPlanQty,HOrderLev,HPreparatDate," + | 
 |  |  |                                             "HMainSourceInterID,HMainSourceEntryID,HICMOInterID_Sec,HICMOEntryID_Sec,HPlanQty" + | 
 |  |  |                                             ",HICMOInterID,HICMOEntryID,HPlanEndDate,HEmpID,HWorkQty,HSourceName,HWorkQty_ProdLine,HRemark)values" + | 
 |  |  |                                             $"({HInterID_New},'{HBillNo_New}',{DateTime.Now.Year},{DateTime.Now.Month},'{BillType}'," + | 
 |  |  |                                             $"'{BillType}',GETDATE(),1,'{user}',getdate(),'{HICMOBillNo}','{HOrderType}'," + | 
 |  |  |                                             $"{(HICMOEntrySEQ == "" ? 0.ToString() : HICMOEntrySEQ)},{(HWorkShopID == "" ? 0.ToString() : HWorkShopID)},{(HSourceID_Child == "" ? 0.ToString() : HSourceID_Child)}, {(HYX == "" ? 0.ToString() : HYX)}, {(HProdORGID == "" ? 0.ToString() : HProdORGID)}," + | 
 |  |  |                                             $" {(HMaterID == "" ? 0.ToString() : HMaterID)}, '{HMaterName}', '{HMaterModel}', {(HUnitID == "" ? 0.ToString() : HUnitID)}, {(HSeOrderBillQty == "" ? 0.ToString() : HSeOrderBillQty)}," + | 
 |  |  |                                             $" 0, {(HSplitQty == "" ? 0.ToString() : HSplitQty)}, {(HDayPlanSumQty == "" ? 0.ToString() : HDayPlanSumQty)},'{HPlanBeginDate}'," + | 
 |  |  |                                             $"'{HSeOrderBillNo}','{HICMOBillType}',{(HSourceStockInQty == "" ? 0.ToString() : HSourceStockInQty)},{(HLeftPlanQty == "" ? 0.ToString() : HLeftPlanQty)},'{HOrderLev}',getdate()," + | 
 |  |  |                                             $"{HMainSourceInterID},{HMainSourceEntryID},{HMainSourceInterID},{HMainSourceEntryID},{HPlanQty}," + | 
 |  |  |                                             $"{HMainSourceInterID},{HMainSourceEntryID},'{HPlanEndDate}','{HEmpID}','{HWorkQty}','{HSourceName}','{HWorkQty_ProdLine}','{"ååç产"}')"; | 
 |  |  |  | 
 |  |  |                                         //LogService.Write("sql:" + sql); | 
 |  |  |                                         //主表 | 
 |  |  |                                         oCN.RunProc(sql); | 
 |  |  |  | 
 |  |  |                                         //æå
¥åè¡¨æ°æ® | 
 |  |  |                                         for (int j = 0; j < 180; j++) | 
 |  |  |                                         {                                            | 
 |  |  |                                             //ä¸»è¡¨ææ°æ® åè¡¨æ æ°æ® | 
 |  |  |                                             //if (j == 180 - 1 && SumCount == 0 && HInterID_New != 0 && HBillNo_New != "") | 
 |  |  |                                             //{ | 
 |  |  |                                             //    objJsonResult = AddBillSub(HInterID_New.ToString(), HBillNo_New, DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd").ToString()), 0, list[i]); | 
 |  |  |                                             //} | 
 |  |  |  | 
 |  |  |  | 
 |  |  |                                             if (list[i][DateTime.Now.AddDays(j).ToString("yyyy-MM-dd")].ToString() != "") | 
 |  |  |                                             { | 
 |  |  |                                                 ////ä¿åå表 | 
 |  |  |                                                 objJsonResult = AddBillSub(HInterID_New == 0 ? list[i]["hmainid"].ToString() : HInterID_New.ToString() | 
 |  |  |                                                     , HBillNo_New == "" ? list[i]["åæ®å·"].ToString() : HBillNo_New | 
 |  |  |                                                      , DateTime.Parse(DateTime.Now.AddDays(j).ToString("yyyy-MM-dd").ToString()) | 
 |  |  |                                                      , 0 | 
 |  |  |                                                      , list[i]); | 
 |  |  |                                             } | 
 |  |  |                                         } | 
 |  |  |                                     } | 
 |  |  |                                 } | 
 |  |  |                             } | 
 |  |  |                             else | 
 |  |  |                             { | 
 |  |  |                                 ds = oCN.RunProcReturn($"select HInterID,HICMOBillNo from Sc_WorkBillSortBillMain with(nolock) where HMainSourceInterID={HMainSourceInterID}" + | 
 |  |  |                              $" and HMainSourceEntryID={HMainSourceEntryID} and HICMOBillNo='{HICMOBillNo}' and HICMOEntrySEQ={HICMOEntrySEQ} and HSourceID={HSourceID}", "Sc_WorkBillSortBillMain"); | 
 |  |  |  | 
 |  |  |                                 if (ds.Tables[0].Rows.Count > 1) | 
 |  |  |                                 { | 
 |  |  |                                     LogService.CustomWriteLog("第" + i + 1 + "è¡çäº§èµæºæéå¤,请修æ¹", DateTime.Now.ToString("yyyy-MM-dd")); | 
 |  |  |                                     LogService.CustomWriteLog($"select * from  Sc_WorkBillSortBillMain where HMainSourceInterID={HMainSourceInterID}" + | 
 |  |  |                                       $" and HMainSourceEntryID={HMainSourceEntryID} and HICMOBillNo='{HICMOBillNo}' and HICMOEntrySEQ={HICMOEntrySEQ} and HSourceID={HSourceID}", DateTime.Now.ToString("yyyy-MM-dd")); | 
 |  |  |                                     objJsonResult.code = "0"; | 
 |  |  |                                     objJsonResult.count = 0; | 
 |  |  |                                     objJsonResult.Message = $"第{i + 1}è¡çäº§èµæºæéå¤,请修æ¹!"; | 
 |  |  |                                     objJsonResult.data = null; | 
 |  |  |                                     return objJsonResult; | 
 |  |  |                                 } | 
 |  |  |                                 LogService.CustomWriteLog("2.2:" + i, DateTime.Now.ToString("yyyy-MM-dd")); | 
 |  |  |  | 
 |  |  |                                 oCN.RunProc($"update Sc_WorkBillSortBillMain set HSourceID={(HSourceID == "" ? 0.ToString() : HSourceID)},HYX={HYX}" + | 
 |  |  |                                     $",HWorkQty={HWorkQty},HProdTimes={HProdTimes},HReadyTimes={HReadyTimes},HLastBeginDate='{HLastBeginDate}'" + | 
 |  |  |                                     $",HLastEndDate='{HLastEndDate}',HOrderNeedQty={HOrderNeedQty},HOrderCommitDate='{HOrderCommitDate}',HPlanEndDate='{HPlanEndDate}',HSplitQty={HSplitQty},HSourceName='{HSourceName}',HWorkQty_ProdLine={HWorkQty_ProdLine}" + | 
 |  |  |                                     $" where HInterID={list[i]["hmainid"].ToString()} and HBillNo='{list[i]["åæ®å·"].ToString()}'"); | 
 |  |  |                             } | 
 |  |  |                         } | 
 |  |  |                         else | 
 |  |  |                         { | 
 |  |  |                             ds = oCN.RunProcReturn($"select HInterID,HICMOBillNo from Sc_WorkBillSortBillMain with(nolock) where HMainSourceInterID={HMainSourceInterID}" + | 
 |  |  |                              $" and HMainSourceEntryID={HMainSourceEntryID} and HICMOBillNo='{HICMOBillNo}' and HICMOEntrySEQ={HICMOEntrySEQ} and HSourceID={HSourceID}", "Sc_WorkBillSortBillMain"); | 
 |  |  |  | 
 |  |  |                             if (ds.Tables[0].Rows.Count > 1) | 
 |  |  |                             { | 
 |  |  |                                 LogService.CustomWriteLog("第" + i + 1 + "è¡çäº§èµæºæéå¤,请修æ¹", DateTime.Now.ToString("yyyy-MM-dd")); | 
 |  |  |                                 LogService.CustomWriteLog($"select * from  Sc_WorkBillSortBillMain where HMainSourceInterID={HMainSourceInterID}" + | 
 |  |  |                                   $" and HMainSourceEntryID={HMainSourceEntryID} and HICMOBillNo='{HICMOBillNo}' and HICMOEntrySEQ={HICMOEntrySEQ} and HSourceID={HSourceID}", DateTime.Now.ToString("yyyy-MM-dd")); | 
 |  |  |                                 objJsonResult.code = "0"; | 
 |  |  |                                 objJsonResult.count = 0; | 
 |  |  |                                 objJsonResult.Message = $"第{i + 1}è¡çäº§èµæºæéå¤,请修æ¹!"; | 
 |  |  |                                 objJsonResult.data = null; | 
 |  |  |                                 return objJsonResult; | 
 |  |  |                             } | 
 |  |  |                             LogService.CustomWriteLog("2.2:" + i, DateTime.Now.ToString("yyyy-MM-dd")); | 
 |  |  |  | 
 |  |  |                             oCN.RunProc($"update Sc_WorkBillSortBillMain set HSourceID={(HSourceID == "" ? 0.ToString() : HSourceID)},HYX={HYX}" + | 
 |  |  |                                 $",HWorkQty={HWorkQty},HProdTimes={HProdTimes},HReadyTimes={HReadyTimes},HLastBeginDate='{HLastBeginDate}'" + | 
 |  |  |                                 $",HLastEndDate='{HLastEndDate}',HOrderNeedQty={HOrderNeedQty},HOrderCommitDate='{HOrderCommitDate}',HPlanEndDate='{HPlanEndDate}',HSplitQty={HSplitQty},HSourceName='{HSourceName}',HWorkQty_ProdLine={HWorkQty_ProdLine}" + | 
 |  |  |                                 $" where HInterID={list[i]["hmainid"].ToString()} and HBillNo='{list[i]["åæ®å·"].ToString()}'"); | 
 |  |  |                         }                        | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  |                     oCN.RunProc($"update Sc_WorkBillSortBillMain set HDayPlanSumQty={list[i]["æ¥è®¡åæ°éæ»é"].ToString()} where HInterID={(HInterID==0?int.Parse(list[i]["hmainid"].ToString()):HInterID)} and HBillNo='{(HBillNo==""?list[i]["åæ®å·"].ToString(): HBillNo)}'"); | 
 |  |  |  | 
 |  |  |                     int SumDay = 31; //卿䏤æä¹å·® DateTime.Now.AddMonths(1).AddDays(-1).Subtract(DateTime.Now).Days; | 
 |  |  |                     int SumDay = 0; //卿䏤æä¹å·® DateTime.Now.AddMonths(1).AddDays(-1).Subtract(DateTime.Now).Days; | 
 |  |  |  | 
 |  |  |                     // ç»è®¡æ»å¤©æ° | 
 |  |  |                     HashSet<DateTime> uniqueDates = new HashSet<DateTime>(); | 
 |  |  |  | 
 |  |  |                     foreach (var key in list[i].Keys) | 
 |  |  |                     { | 
 |  |  |                         if (DateTime.TryParseExact(key, "yyyy-M-d", CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime date)) | 
 |  |  |                         { | 
 |  |  |                             uniqueDates.Add(date); | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  |                     SumDay = uniqueDates.Count; | 
 |  |  |  | 
 |  |  |                     if (oSystemParameter.omodel.WMS_CampanyName == "æ·»åº·ç§æ") //ç³»ç»åæ°  å®¢æ·å®å¶ååç§°     ç©ºç½ä¸ºéç¨ | 
 |  |  |                     { | 
 |  |  |                         SumDay = 180; | 
 |  |  |                     }             | 
 |  |  |  | 
 |  |  |                     LogService.CustomWriteLog("2.3:" + i, DateTime.Now.ToString("yyyy-MM-dd")); | 
 |  |  |                     for (int j = 0; j < SumDay; j++) | 
 |  |  | 
 |  |  |                             } | 
 |  |  |                         } | 
 |  |  |                         //ä¸»è¡¨ææ°æ® åè¡¨æ æ°æ® | 
 |  |  |                         if (j == 30 && SumCount == 0 && HInterID != 0 && HBillNo != "") | 
 |  |  |                         if (j == SumDay-1 && SumCount == 0 && HInterID != 0 && HBillNo != "") | 
 |  |  |                         { | 
 |  |  |                             //LogService.CustomWriteLog("3:"+ HInterID+","+ HBillNo, DateTime.Now.ToString("yyyy-MM-dd")); | 
 |  |  |                             objJsonResult = AddBillSub(HInterID.ToString(), HBillNo, DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd").ToString()), 0, list[i]); | 
 |  |  | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  |                     | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 LogService.CustomWriteLog("2.5:", DateTime.Now.ToString("yyyy-MM-dd")); | 
 |  |  | 
 |  |  |                 oCN.RunProc("exec REALESE_SC_ICMOBILLSTATUS_TMP"); | 
 |  |  |  | 
 |  |  |                 LogService.CustomWriteLog("2.6:", DateTime.Now.ToString("yyyy-MM-dd")); | 
 |  |  |                 sw.Stop();//ç»æè®¡æ¶ | 
 |  |  |                 LogService.Write($"========================1.æäº§è®¢åæ»ç¨æ¶ï¼" + sw.Elapsed); | 
 |  |  |  | 
 |  |  |                 objJsonResult.code = "1"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public json AddBillSub(string HInterID, string HBillNo, DateTime date, double HQTY, Dictionary<string, string> dic) | 
 |  |  |         {          | 
 |  |  |         { | 
 |  |  |             string sReturn = ""; | 
 |  |  |             oSystemParameter.ShowBill(ref sReturn); | 
 |  |  |  | 
 |  |  |             //è·åè¡¨æ ¼æ°æ® | 
 |  |  |             ds = oCN.RunProcReturn($"select * from  h_v_JIT_Sc_WorkBillSortBillList where åæ®å·='{HBillNo}'", "h_v_JIT_Sc_WorkBillSortBillList"); | 
 |  |  |             ds = oCN.RunProcReturn($"select * from  h_v_JIT_Sc_WorkBillSortBill_PC where åæ®å·='{HBillNo}'", "h_v_JIT_Sc_WorkBillSortBill_PC"); | 
 |  |  |             int count = 0; | 
 |  |  |             if (ds.Tables[0].Rows.Count > 0) | 
 |  |  |             { | 
 |  |  |                 //夿å表æ¯å¦æå½æ¥çæ¥æä»¥åæ¥ææå¯¹åºçæ°é | 
 |  |  |                 for (int i = 0; i < ds.Tables[0].Rows.Count; i++) | 
 |  |  |                 if (oSystemParameter.omodel.WMS_CampanyName == "æ·»åº·ç§æ") //ç³»ç»åæ°  å®¢æ·å®å¶ååç§°     ç©ºç½ä¸ºéç¨ | 
 |  |  |                 { | 
 |  |  |                     if (DateTime.Parse(ds.Tables[0].Rows[i]["æ¥è®¡åçäº§æ¥æ"].ToString()) == date) | 
 |  |  |                     //夿å表æ¯å¦æå½æ¥çæ¥æä»¥åæ¥ææå¯¹åºçæ°é | 
 |  |  |                     for (int i = 0; i < ds.Tables[0].Rows.Count; i++) | 
 |  |  |                     { | 
 |  |  |                         oCN.RunProc($"update Sc_WorkBillSortBillSub set HMasterDate='{date}',HQty={HQTY},HUseTimes={(dic["å°æ¶äº§è½"]=="0"?0: HQTY / float.Parse(dic["å°æ¶äº§è½"].ToString()))}" + | 
 |  |  |                             $"  where HInterID={HInterID} and HEntryID={ds.Tables[0].Rows[i]["hsubid"].ToString()}"); | 
 |  |  |                         count += 1; | 
 |  |  |                         if (DateTime.Parse(ds.Tables[0].Rows[i]["æ¥è®¡åçäº§æ¥æ"].ToString()) == date) | 
 |  |  |                         { | 
 |  |  |                             oCN.RunProc($"update Sc_WorkBillSortBillSub set HMasterDate='{date}',HQty={HQTY},HUseTimes={(dic["产线æ»äº§è½"] == "0" ? 0 : HQTY / float.Parse(dic["产线æ»äº§è½"].ToString()))}" + | 
 |  |  |                                 $"  where HInterID={HInterID} and HEntryID={ds.Tables[0].Rows[i]["hsubid"].ToString()}"); | 
 |  |  |                             count += 1; | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     //夿å表æ¯å¦æå½æ¥çæ¥æä»¥åæ¥ææå¯¹åºçæ°é | 
 |  |  |                     for (int i = 0; i < ds.Tables[0].Rows.Count; i++) | 
 |  |  |                     { | 
 |  |  |                         if (DateTime.Parse(ds.Tables[0].Rows[i]["æ¥è®¡åçäº§æ¥æ"].ToString()) == date) | 
 |  |  |                         { | 
 |  |  |                             oCN.RunProc($"update Sc_WorkBillSortBillSub set HMasterDate='{date}',HQty={HQTY},HUseTimes={(dic["å°æ¶äº§è½"] == "0" ? 0 : HQTY / float.Parse(dic["å°æ¶äº§è½"].ToString()))}" + | 
 |  |  |                                 $"  where HInterID={HInterID} and HEntryID={ds.Tables[0].Rows[i]["hsubid"].ToString()}"); | 
 |  |  |                             count += 1; | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                 }                | 
 |  |  |             } | 
 |  |  |             | 
 |  |  |             if (count != 1) | 
 |  |  |             { | 
 |  |  |                 //æå
¥å表 | 
 |  |  |                 oCN.RunProc("insert into Sc_WorkBillSortBillSub(HInterID,HSEQ," + | 
 |  |  |                     "HMasterDate,HQty,HUseTimes)" + | 
 |  |  |                             $"values({HInterID}, {(ds.Tables[0].Rows.Count + 1)}," + | 
 |  |  |                             $" '{date}', {HQTY},{ ( (dic["å°æ¶äº§è½"] == "0.0000" ? 0 : HQTY / float.Parse(dic["å°æ¶äº§è½"].ToString())).ToString()=="éæ°å" ? 0 : dic["å°æ¶äº§è½"] == "0.0000" ? 0 : HQTY / float.Parse(dic["å°æ¶äº§è½"].ToString())) })");                | 
 |  |  |                 if (oSystemParameter.omodel.WMS_CampanyName == "æ·»åº·ç§æ") //ç³»ç»åæ°  å®¢æ·å®å¶ååç§°     ç©ºç½ä¸ºéç¨ | 
 |  |  |                 { | 
 |  |  |                     //æå
¥å表 | 
 |  |  |                     oCN.RunProc("insert into Sc_WorkBillSortBillSub(HInterID,HSEQ," + | 
 |  |  |                         "HMasterDate,HQty,HUseTimes)" + | 
 |  |  |                                 $"values({HInterID}, {(ds.Tables[0].Rows.Count + 1)}," + | 
 |  |  |                                 $" '{date}', {HQTY},{ ((dic["产线æ»äº§è½"] == "0.0000" ? 0 : dic["产线æ»äº§è½"] == "0" ? 0 : HQTY / float.Parse(dic["产线æ»äº§è½"].ToString())).ToString() == "éæ°å" ? 0 : dic["产线æ»äº§è½"] == "0.0000" ? 0 : dic["产线æ»äº§è½"] == "0" ? 0 : HQTY / float.Parse(dic["产线æ»äº§è½"].ToString())) })"); | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     //æå
¥å表 | 
 |  |  |                     oCN.RunProc("insert into Sc_WorkBillSortBillSub(HInterID,HSEQ," + | 
 |  |  |                         "HMasterDate,HQty,HUseTimes)" + | 
 |  |  |                                 $"values({HInterID}, {(ds.Tables[0].Rows.Count + 1)}," + | 
 |  |  |                                 $" '{date}', {HQTY},{ ((dic["å°æ¶äº§è½"] == "0.0000" ? 0 : dic["å°æ¶äº§è½"] == "0" ? 0 : HQTY / float.Parse(dic["å°æ¶äº§è½"].ToString())).ToString() == "éæ°å" ? 0 : dic["å°æ¶äº§è½"] == "0.0000" ? 0 : dic["å°æ¶äº§è½"] == "0" ? 0 : HQTY / float.Parse(dic["å°æ¶äº§è½"].ToString())) })"); | 
 |  |  |                 }                          | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |              | 
 |  |  |             if (oSystemParameter.omodel.WMS_CampanyName == "æ·»åº·ç§æ") //ç³»ç»åæ°  å®¢æ·å®å¶ååç§°     ç©ºç½ä¸ºéç¨ | 
 |  |  |             { | 
 |  |  |                 //ææäº§è®¢åå®å·¥æ¥æååå°éè¶éå®è®¢åä¸ | 
 |  |  |                 string sql = "exec h_p_JIT_UpdateEndDateToERP " + HInterID + ",'" + HBillNo + "'"; | 
 |  |  |                 oCN.RunProc(sql); | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             objJsonResult.code = "1"; | 
 |  |  | 
 |  |  |                 //LogService.Write("é½å¥åæsql:" + sql); | 
 |  |  |                 List<PRD_PPBOM> BomList = new List<PRD_PPBOM>(); | 
 |  |  |                 DataTable resulTable = ds.Tables[0]; | 
 |  |  |  | 
 |  |  |                 if (ds.Tables[0].Rows.Count < 1 || ds == null) | 
 |  |  |                 { | 
 |  |  |                     //éæ¾é½å¥æä½ é¿å
å¤äººåæ¶è¿è¡é½å¥åæ | 
 |  |  |                     oCN.RunProc($"update T_PRD_QTFX set FSTATUS = 0 where FPRDORGID ={omdelMian.HProdORGID} and FSTATUS = 1 "); | 
 |  |  |  | 
 |  |  |                     objJsonResult.code = "1"; | 
 |  |  |                     objJsonResult.count = 1; | 
 |  |  |                     objJsonResult.Message = "没æéè¦è¿è¡é½å¥åæçæ°æ®"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 if (resulTable.Rows[0][0].ToString().Contains("失败")) | 
 |  |  |                 { | 
 |  |  |                     //éæ¾é½å¥æä½ é¿å
å¤äººåæ¶è¿è¡é½å¥åæ | 
 |  |  | 
 |  |  |                 string fProWorkShopId = omdelMian.HWorkShopID.ToString(); | 
 |  |  |                 var fPrdOrgId = omdelMian.HProdORGID; | 
 |  |  |                 string sqlName = "";//AIS20210811135644 | 
 |  |  |                 string WMS_CampanyName = "";    //客æ·åç§° | 
 |  |  |                 //客æ·å¶å® | 
 |  |  |                 string sErr = ""; | 
 |  |  |                 if (oSystemParameter.ShowBill(ref sErr)) | 
 |  |  | 
 |  |  |                     { | 
 |  |  |                         sqlName = "AIS20240809105013"; | 
 |  |  |                     } | 
 |  |  |                     else if (oSystemParameter.omodel.WMS_CampanyName == "å®å·¥") | 
 |  |  |                     { | 
 |  |  |                         sqlName = "AIS20250102123554"; | 
 |  |  |                         WMS_CampanyName = "å®å·¥"; | 
 |  |  |                     } | 
 |  |  |                     else | 
 |  |  |                     { | 
 |  |  |                         sqlName = "AIS20210811135644"; | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 if (HTLType == "缺æ") | 
 |  |  |                 if (WMS_CampanyName == "å®å·¥") | 
 |  |  |                 { | 
 |  |  |                     objJsonResult = (json)JIT_MOMaterLack(fProWorkShopId, fPrdOrgId, user, sqlName); | 
 |  |  |                 } | 
 |  |  |                 else if (HTLType == "缺æ") | 
 |  |  |                 { | 
 |  |  |                     objJsonResult = (json)JIT_QL(fProWorkShopId, fPrdOrgId, user, sqlName); | 
 |  |  |                 } | 
 |  |  | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         /// <summary> | 
 |  |  |         /// éè¿æ¬ æè¡¨   ç®ææ å®å·¥ | 
 |  |  |         /// </summary> | 
 |  |  |         /// <returns></returns> | 
 |  |  |         public object JIT_MOMaterLack(string HWorkShopID, int? HProdORGID, string user, string sqlName) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 ds = oCN.RunProcReturn("exec h_p_JIT_PODemandPlanBill_MOMaterLack " + HWorkShopID.ToString() + ",'" + user + "'," + HProdORGID.ToString(), "h_p_JIT_PODemandPlanBill_MOMaterLack"); | 
 |  |  |                 if (ds == null || ds.Tables[0].Rows.Count == 0) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "ææè¿ç®åçé误ï¼"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |                 else if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HBack"]) == 1) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemark"]); | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 1; | 
 |  |  |                     objJsonResult.Message = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemark"]);    //è¿ç®æå | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "ææè¿ç®å¤±è´¥ï¼" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region ç产æ¥è®¡å平尠éå® | 
 |  |  | 
 |  |  |             { | 
 |  |  |                 oCN.RunProc("update b set HLockedSub=0 from Sc_WorkBillSortBillMain a join Sc_WorkBillSortBillSub b on a.HInterID = b.HInterID " + | 
 |  |  |               $" where a.HWorkShopID={HWorkShopID}"); | 
 |  |  |  | 
 |  |  |                 objJsonResult.code = "1"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  |                 objJsonResult.Message = "Sucessï¼"; | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "Exceptionï¼" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region ç产æ¥è®¡å平尠éå®å·¥å | 
 |  |  |         [Route("JIT_DayPlanPlatFormBill/JIT_DayPlanPlatFormBillHLockedOrder")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object JIT_DayPlanPlatFormBillHLockedOrder(string HInterIDs) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 oCN.RunProc($"update Sc_WorkBillSortBillMain set HLockOrder = 1 where HInterID in ({HInterIDs})"); | 
 |  |  |  | 
 |  |  |                 objJsonResult.code = "1"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  |                 objJsonResult.Message = "Sucessï¼"; | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "Exceptionï¼" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region ç产æ¥è®¡å平尠解éå·¥å | 
 |  |  |         [Route("JIT_DayPlanPlatFormBill/JIT_DayPlanPlatFormBillHUnlockOrder")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object JIT_DayPlanPlatFormBillHUnlockOrder(string HInterIDs) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 oCN.RunProc($"update Sc_WorkBillSortBillMain set HLockOrder = 0 where HInterID in ({HInterIDs})"); | 
 |  |  |  | 
 |  |  |                 objJsonResult.code = "1"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region ç产æ¥è®¡å平尠根æ®è½¦é´æ·»å æªæäº§ç产订å | 
 |  |  |         [Route("JIT_DayPlanPlatFormBill/JIT_ICMOBillListByDept")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object JIT_ICMOBillListByDept(string HDeptID) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 //è·åæ¾ç¤ºç³»ç»åæ° | 
 |  |  |                 string sReturn = ""; | 
 |  |  |                 oSystemParameter.ShowBill(ref sReturn); | 
 |  |  |  | 
 |  |  |                 //æ¥è¯¢éæ©è½¦é´ä¸æªæäº§è¿çç产订åä¿¡æ¯ï¼æ·»åº·ç§æ--ç产订åç¶æä¸ºä¸è¾¾ï¼ | 
 |  |  |                 ds = oCN.RunProcReturn($"exec h_p_JIT_ICMOBillListByDept '{HDeptID}'", "h_p_JIT_ICMOBillListByDept"); | 
 |  |  |  | 
 |  |  |                 if (ds.Tables[0].Rows.Count > 0 && ds != null) | 
 |  |  |                 { | 
 |  |  |                     if (oSystemParameter.omodel.WMS_CampanyName == "æ·»åº·ç§æ") //ç³»ç»åæ°  å®¢æ·å®å¶ååç§°     ç©ºç½ä¸ºéç¨ | 
 |  |  |                     { | 
 |  |  |                         //æ°æ®è¡¨æ ¼æ·»å å¨ææ¥æ | 
 |  |  |                         for (int j = 1; j <= 180; j++) | 
 |  |  |                         { | 
 |  |  |                             ds.Tables[0].Columns.Add(DateTime.Now.AddDays(j - 1).ToString("yyyy-MM-dd"), typeof(Int32)); | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                     else | 
 |  |  |                     { | 
 |  |  |                         //æ°æ®è¡¨æ ¼æ·»å å¨ææ¥æ | 
 |  |  |                         for (int j = 1; j <= 31; j++) | 
 |  |  |                         { | 
 |  |  |                             ds.Tables[0].Columns.Add(DateTime.Now.AddDays(j - 1).ToString("yyyy-MM-dd"), typeof(Int32)); | 
 |  |  |                         } | 
 |  |  |                     }                    | 
 |  |  |  | 
 |  |  |                     objJsonResult.code = "1"; | 
 |  |  |                     objJsonResult.count = 1; | 
 |  |  |                     objJsonResult.Message = "Sucessï¼"; | 
 |  |  |                     objJsonResult.data = ds.Tables[0]; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "æ¥æ æ°æ®ï¼å½åæé车é´ä¸ææ æªæäº§ä¸è®¢åç¶æä¸ºä¸è¾¾çç产订åä¿¡æ¯ï¼"; | 
 |  |  |                     objJsonResult.data = ""; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |                 | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "Exceptionï¼" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region ç产æ¥è®¡å平尠è·åå®å·¥æ¥æ | 
 |  |  |         [Route("JIT_DayPlanPlatFormBill/GetICMOCompletionDate")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object GetICMOCompletionDate(string HDeptID) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 //æ´æ°æ¥è®¡åå·¥åçå®å·¥æ¥æ | 
 |  |  |                 oCN.RunProc($"exec h_p_JIT_GetICMOCompletionDate '{HDeptID}'"); | 
 |  |  |  | 
 |  |  |                 objJsonResult.code = "1"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  |                 objJsonResult.Message = "è·åå®å·¥æ¥ææåï¼"; | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "Exceptionï¼" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region ç产æ¥è®¡å平尠è·åææ©å¼å·¥æ¥æ | 
 |  |  |         [Route("JIT_DayPlanPlatFormBill/GetICMOEarlyDate")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object GetICMOEarlyDate(string HDeptID) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 //æ´æ°ç产订åçææ©å¼å·¥æ¥æ | 
 |  |  |                 oCN.RunProc($"exec h_p_JIT_GetICMOEarlyDate '{HDeptID}'"); | 
 |  |  |  | 
 |  |  |                 objJsonResult.code = "1"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  |                 objJsonResult.Message = "è·åææ©å¼å·¥æ¥ææåï¼"; | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "Exceptionï¼" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region éè¿ç©æå¹é
产åå¨å
·æ¸
å | 
 |  |  |         [Route("JIT_DayPlanPlatFormBill/GetMouldByMater")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object GetMouldByMater(string HMaterID,string HSourceID,string HPCDate) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 ds = oCN.RunProcReturn("exec h_p_Gy_MaterialMouldByMater " + HMaterID + "," + HSourceID + ",'" + HPCDate + "'", "h_p_Gy_MaterialMouldByMater");                | 
 |  |  |  | 
 |  |  |                 objJsonResult.code = "1"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  |                 objJsonResult.Message = "Sucessï¼"; | 
 |  |  |                 objJsonResult.data = ds.Tables[0]; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "Exceptionï¼" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region éè¿èµæºå¹é
èµæºå¨å
·æ¸
å | 
 |  |  |         [Route("JIT_DayPlanPlatFormBill/GetMouldBySource")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object GetMouldBySource(string HSourceID, string HMouldID) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 ds = oCN.RunProcReturn("select * from h_v_Gy_SourceMouldBillMainList where HSourceID = " + HSourceID + " and HMouldID = " + HMouldID, "h_v_Gy_SourceMouldBillMainList"); | 
 |  |  |  | 
 |  |  |                 objJsonResult.code = "1"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  |                 objJsonResult.Message = "Sucessï¼"; | 
 |  |  |                 objJsonResult.data = ds.Tables[0]; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "Exceptionï¼" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region æäº§åå°å¨å
·å ç¨æ¶é´åå
¥æ°æ®åº | 
 |  |  |         [Route("JIT_DayPlanPlatFormBill/AddMouldOccupancyTime")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object AddMouldOccupancyTime(string HMouldID, string HSourceID, string HICMOInterID, string HICMOEntryID, string HICMOBillNo, string HMouldPCTime) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 ds = oCN.RunProcReturn("exec h_p_JIT_AddMouldOccupancyTime " + HMouldID + "," + HSourceID + "," + HICMOInterID + "," + HICMOEntryID + ",'" + HICMOBillNo  + "','" + HMouldPCTime + "'", "h_p_JIT_AddMouldOccupancyTime"); | 
 |  |  |  | 
 |  |  |                 objJsonResult.code = "1"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  |                 objJsonResult.Message = "Sucessï¼"; | 
 |  |  |                 objJsonResult.data = ""; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "Exceptionï¼" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region éè¿ä¸»èµæºå¹é
åèµæº | 
 |  |  |         [Route("JIT_DayPlanPlatFormBill/GetChildSource")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object GetChildSource(string HSourceID) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 ds = oCN.RunProcReturn("select HItemID åèµæºID,HNumber åèµæºä»£ç ,HName åèµæºåç§°,HCubicleQty åèµæºå·¥ä½æ° from Gy_Source with(nolock) where HParentID = " + HSourceID + " order by HName asc", "Gy_Source"); | 
 |  |  |  | 
 |  |  |                 objJsonResult.code = "1"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  |                 objJsonResult.Message = "Sucessï¼"; | 
 |  |  |                 objJsonResult.data = ds.Tables[0]; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "Exceptionï¼" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region å¤æç©ææ¯å¦å¯ä»¥æ¾å¨åä¸èµæºä¸ä¸èµ·ç产 | 
 |  |  |         [Route("JIT_DayPlanPlatFormBill/GetSourceByMater")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object GetSourceByMater(string HMaterID) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 ds = oCN.RunProcReturn("exec h_p_Sc_ICMOGetWorkSource_TK " + HMaterID + ",'',''", "h_p_Sc_ICMOGetWorkSource_TK"); | 
 |  |  |  | 
 |  |  |                 objJsonResult.code = "1"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  |                 objJsonResult.Message = "Sucessï¼"; | 
 |  |  |                 objJsonResult.data = ds.Tables[0]; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "Exceptionï¼" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region å·¥åºè´è·åææ±æ»æ¥è¡¨ æ¥è¯¢ | 
 |  |  |         /// <summary> | 
 |  |  |         /// è¿å项ç®é¶æ®µå表 | 
 |  |  |         ///åæ°ï¼string sqlã | 
 |  |  |         ///è¿åå¼ï¼objectã | 
 |  |  |         /// </summary> | 
 |  |  |         [Route("JIT_DayPlanPlatFormBill/JIT_FuHeFenXiReport")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object JIT_FuHeFenXiReport(string sWhere, string user) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |  | 
 |  |  |                 //æ¥çæé | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log("JIT_FuHeFenXiReport", 1, false, user)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "æ æ¥çæéï¼"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 List<object> columnNameList = new List<object>(); | 
 |  |  |                 string sql = "exec h_p_JIT_FuHeFenXiReport   '" + sWhere + "','" + user + "'"; | 
 |  |  |  | 
 |  |  |                 ds = oCN.RunProcReturn(sql, "h_p_JIT_FuHeFenXiReport"); | 
 |  |  |  | 
 |  |  |                 //æ·»å åå | 
 |  |  |                 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));//è·åå°DataColumnå对象çåå | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 objJsonResult.code = "1"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  |                 objJsonResult.Message = "Sucessï¼"; | 
 |  |  |                 objJsonResult.data = ds.Tables[0]; | 
 |  |  |                 objJsonResult.list = columnNameList; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "Exceptionï¼" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |          | 
 |  |  |  | 
 |  |  |     } | 
 |  |  | } |