From 58de9116152c3a0f8aa436a2c82b520ad940b367 Mon Sep 17 00:00:00 2001 From: 王 垚 <1402714037@qq.com> Date: 星期二, 13 四月 2021 09:44:56 +0800 Subject: [PATCH] 解锁 提示问题 --- src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs | 258 +++++++++++++++++++++++++++++---------------------- 1 files changed, 148 insertions(+), 110 deletions(-) diff --git a/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs b/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs index 723e9a5..91c3efa 100644 --- a/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs +++ b/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs @@ -1,15 +1,12 @@ 锘縰sing Demo.Model.Model; using Demo.Model.Model.PODemandPlan; using K3Cloud.Extend.Utils; -using Kingdee.BOS.App.Data; using Kingdee.BOS.Core; -using Kingdee.BOS.Core.Bill.PlugIn; using Kingdee.BOS.Core.Const; using Kingdee.BOS.Core.DynamicForm; using Kingdee.BOS.Core.DynamicForm.PlugIn; using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; using Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel; -using Kingdee.BOS.Core.Metadata; using Kingdee.BOS.Core.Metadata.EntityElement; using Kingdee.BOS.JSON; using Kingdee.BOS.KDThread; @@ -19,25 +16,16 @@ using Kingdee.BOS.Util; using Kingdee.K3.Core.SCM.STK; using Kingdee.K3.SCM.ServiceHelper; -using Newtonsoft.Json; using Newtonsoft.Json.Linq; using NPOI.HSSF.UserModel; -using NPOI.SS.Formula.Functions; using NPOI.SS.UserModel; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; -using System.IO; using System.Linq; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; -using System.Text; -using System.Threading; -using System.Threading.Tasks; using System.Web; -using System.Windows.Documents; using ZD.Cloud.Logger; using ZD.Cloud.WebApi; using ZD.Share.Common; @@ -88,6 +76,7 @@ if (e.BarItemKey.ToUpper() == "TBCOMPLETE") { COMPLETE(); + } //鎻愭枡璁″垝 if (e.BarItemKey.ToUpper() == "TBEXTRACTION") @@ -164,13 +153,20 @@ /// </summary> public void ExportExcel() { - string[] Title = new string[] {"閿�鍞鍗曞彿", "鐢熶骇璁㈠崟鍙�", "鐢熶骇缁勭粐", "鐢熶骇杞﹂棿", "鐢熶骇璧勬簮", "浜у搧浠g爜", "浜у搧鍚嶇О", "瑙勬牸鍨嬪彿", "璁¢噺鍗曚綅", - "鎵规鍙�","閿�鍞鍗曟暟閲�","鐢熶骇璁㈠崟鏁伴噺","鎬婚綈濂楁暟閲�","浜よ揣鏃ユ湡","璁㈠崟绛夌骇","T0","T1","T2","T3","T4","T5","T6","T7", + List<string> Title = new List<string> {"閿�鍞鍗曞彿", "鐢熶骇璁㈠崟鍙�*","鐢熶骇璁㈠崟鏄庣粏琛屽彿*", "鐢熶骇杞﹂棿*", "鐢熶骇璧勬簮", "浜у搧浠g爜*", "浜у搧鍚嶇О", "瑙勬牸鍨嬪彿", "璁¢噺鍗曚綅", + "鎵规鍙�","閿�鍞鍗曟暟閲�","鐢熶骇璁㈠崟鏁伴噺","鎬婚綈濂楁暟閲�","浜よ揣鏃ユ湡*","璁㈠崟绛夌骇*"}; + /* + ,"T0","T1","T2","T3","T4","T5","T6","T7", "T8","T9","T10","T11","T12","T13","T14","T15","T16","T17", "T18","T19","T20","T21","T22","T23","T24","T25","T26","T27","T28","T29", "T30","T31","T32","T33","T34","T35","T36","T37","T38","T39","T40","T41","T42", - "T43","T44","T45","T46","T47","T48","T49","T50","T51","T52","T53","T54","T55","T56","T57","T58","T59","T60"}; - + "T43","T44","T45","T46","T47","T48","T49","T50","T51","T52","T53","T54","T55","T56","T57","T58","T59","T60" + */ + DateTime date = DateTime.Now; + for (int i = 0; i < 61; i++) + { + Title.Add(date.AddDays(i).ToString("yyyy-MM-dd")); + } string sheetname = "鏃ヨ鍒掑鍏ユā鏉�.xlsx"; string file = ""; file = @"D:\鍔炲叕\K3Cloud\WebSite\TempfilePath\" + sheetname; @@ -219,7 +215,7 @@ //璁剧疆鍒楀悕 HSSFRow row = (HSSFRow)sheet.CreateRow(0); - for (int i = 0; i < Title.Length; i++) + for (int i = 0; i < Title.Count; i++) { ICell cell = (ICell)row.CreateCell(i); var rowName = Title[i]; @@ -229,7 +225,7 @@ //鍗曞厓鏍艰祴鍊� //鍒楀鑷�傚簲锛屽彧瀵硅嫳鏂囧拰鏁板瓧鏈夋晥 - for (int i = 0; i <= Title.Length; i++) + for (int i = 0; i <= Title.Count; i++) { sheet.AutoSizeColumn(i); } @@ -272,16 +268,16 @@ string sql = $"/*dialect*/update t1 set t1.FHLockedSub=1 from Sc_WorkBillSortBillSub t1 join Sc_WorkBillSortBillMain t2 on t1.FID = t2.FID where FHMASTERDATE between DATEADD(day,-1,getdate()) and DATEADD(day,{day - 1},getdate())"; sqlList.Add(sql); int result = DBServiceHelper.ExecuteBatch(Context, sqlList); - if (result > 0) - { - //閿佸畾鍚庣敓鎴愭棩璁″垝鐢ㄦ枡娓呭崟 鍙� 鎻愭枡璁″垝 - DayPlanPPBomBillBatch(); - Extraction(); - SearchList(); - this.View.ShowMessage("鎿嶄綔鎴愬姛"); - } - else - this.View.ShowMessage("鎿嶄綔澶辫触锛岃仈绯荤鐞嗗憳锛�"); + //if (result > 0) + //{ + //閿佸畾鍚庣敓鎴愭棩璁″垝鐢ㄦ枡娓呭崟 鍙� 鎻愭枡璁″垝 + DayPlanPPBomBillBatch(); + Extraction(); + SearchList(); + this.View.ShowMessage("鎿嶄綔鎴愬姛"); + //} + //else + // this.View.ShowMessage("鎿嶄綔澶辫触锛岃仈绯荤鐞嗗憳锛�"); } /// <summary> /// 瑙i攣 @@ -300,72 +296,80 @@ sql = $"/*dialect*/update t1 set t1.FHLockedSub=0 from Sc_WorkBillSortBillSub t1 join Sc_WorkBillSortBillMain t2 on t1.FID = t2.FID where FHMASTERDATE between DATEADD(day,-1,getdate()) and DATEADD(day,{day - 1},getdate()) and t1.FID = { Convert.ToString(item["FDayPlanWorkID"])} "; sqlList.Add(sql); } - int result = DBServiceHelper.ExecuteBatch(Context, sqlList); - if (result > 0) - { - SearchList(); - this.View.ShowMessage("鎿嶄綔鎴愬姛"); - } - else - this.View.ShowMessage("鎿嶄綔澶辫触锛岃仈绯荤鐞嗗憳锛�"); + SearchList(); + this.View.ShowMessage("鎿嶄綔鎴愬姛"); + } /// <summary> /// 淇濆瓨鍔熻兘 /// </summary> public void Save() { - List<string> sqlList = new List<string>(); string sql; //鑾峰彇鍗曟嵁浣撲俊鎭� Entity entity = this.View.BillBusinessInfo.GetEntity("FEntity"); //鍗曟嵁浣撲俊鎭浆鎹负鍒楄〃闆嗗悎 DynamicObjectCollection entityDataObjoct = this.View.Model.GetEntityDataObject(entity); - DateTime date = DateTime.Now; - + DateTime date = Convert.ToDateTime(DateTime.Now.ToString("d")); string _result = ""; - foreach (DynamicObject current in entityDataObjoct) { if (Convert.ToInt32(current["FNoScheduled"]) < 0) _result += "搴忓彿锛�" + Convert.ToString(current["SEQ"]) + ",鏃ヨ鍒掓�绘暟閲忚秴鍑虹敓浜ц鍗曟暟閲�"; - } if (_result != "") { this.View.ShowErrMessage(_result); return; } - foreach (DynamicObject current in entityDataObjoct) { - sql = $"/*dialect*/ update Sc_WorkBillSortBillMain set FOrderQuantity={current["FOrderQuantity"]},FDayPlanQuantity={current["FDayPlanQuantity"]},FNoScheduled={current["FNoScheduled"]} where FID = {current["FDayPlanWorkID"]}"; - sqlList.Add(sql); - DateTime FBzDate = Convert.ToDateTime(Convert.ToDateTime(current["FBzDate"])); - DateTime end = Convert.ToDateTime(Convert.ToDateTime(current["FBzDate"]).AddDays(60).ToShortDateString());//鏈�澶ф棩鏈� + JObject jsonRoot = new JObject(); + jsonRoot.Add("Creator", ""); + jsonRoot.Add("NeedUpDateFields", new JArray()); + jsonRoot.Add("NeedReturnFields", new JArray()); + jsonRoot.Add("IsDeleteEntry", "false"); + jsonRoot.Add("SubSystemId", ""); + jsonRoot.Add("IsVerifyBaseDataField", ""); + JObject jsonModel = new JObject(); + jsonModel.Add("FID", Convert.ToString(current["FDayPlanWorkID"])); + jsonModel.Add("FOrderQuantity", Convert.ToString(current["FOrderQuantity"])); + jsonModel.Add("FDayPlanQuantity", Convert.ToString(current["FDayPlanQuantity"])); + jsonModel.Add("FNoScheduled", Convert.ToString(current["FNoScheduled"])); + sql = $" /*dialect*/ select FEntryID, FHMASTERDATE from SC_WORKBILLSORTBILLSub where FID={Convert.ToString(current["FDayPlanWorkID"])} "; + List<DayPlanModel> dayPlanModel = new List<DayPlanModel>(); + dayPlanModel = DBServiceHelper.ExecuteDataSet(Context, sql).ToModelList<DayPlanModel>(); + JArray Entry = new JArray(); for (int i = 0; i <= 60; i++) { - DateTime start = Convert.ToDateTime(date.AddDays(i).ToShortDateString()); - TimeSpan getDay = end.Subtract(start); - //缂栧埗鏃ユ湡+61澶�>date.AddDays(i).ToShortDateString() continue - if (getDay.Days < 0) - break; - sql = $"/*dialect*/update t1 set FHQTY='{Convert.ToString(current["FT" + "" + i + ""])}' from Sc_WorkBillSortBillSub t1 join " + - $" Sc_WorkBillSortBillMain t2 on t1.FID = t2.FID where FHMASTERDATE='{date.AddDays(i).ToShortDateString()}' and t2.FID='{Convert.ToString(current["FDayPlanWorkID"])}'"; - sqlList.Add(sql); + if (Convert.ToString(current["FT" + "" + i + ""]) == "" || Convert.ToString(current["FT" + "" + i + ""]) == "0") + continue; + JObject jsonFPOOrderEntry = new JObject(); + jsonFPOOrderEntry.Add("FHMasterDate", date.AddDays(i).ToShortDateString()); ;//涓绘棩鏈� + jsonFPOOrderEntry.Add("FHQty ", Convert.ToString(current["FT" + "" + i + ""])); ;//鏃ヨ鍒掓暟閲� + List<DayPlanModel> _dayPlanModel = dayPlanModel.Where(x => x.FHMASTERDATE == date.AddDays(i)).ToList(); + if (_dayPlanModel.Count > 0) + { + jsonFPOOrderEntry.Add("FEntryID", _dayPlanModel.FirstOrDefault().FEntryID); ;//搴忓彿 + } + Entry.Add(jsonFPOOrderEntry); } - + jsonModel.Add("FEntity", Entry); + jsonRoot.Add("Model", jsonModel); + CloudClient cloudClient = new CloudClient("http://localhost//k3cloud/"); + var result = cloudClient.Save("Paez_Sc_WorkBillAutoSortBill", jsonRoot.ToString()); + JObject saveObj = JObject.Parse(result); + string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper(); + if (saveIsSuc != "TRUE") + { + LogHelper.Error("鐢熶骇璁″垝骞冲彴淇濆瓨澶辫触:" + jsonRoot.ToString()); + this.View.ShowMessage("鏁版嵁鍌ㄥ瓨澶辫触锛佽鑱旂郴绠$悊鍛橈紒"); + } } - int result = DBServiceHelper.ExecuteBatch(Context, sqlList); - if (result > 0) - { - this.View.ShowMessage("鎿嶄綔鎴愬姛"); - SearchList(); - } - else - this.View.ShowMessage("鎿嶄綔澶辫触锛岃仈绯荤鐞嗗憳锛�"); - + this.View.ShowMessage("鎿嶄綔鎴愬姛"); + SearchList(); } /// <summary> /// 榻愬鍒嗘瀽 @@ -638,7 +642,7 @@ if (item.FOwnerId != null) jsonModel.Add("FOwnerId", new JObject() { ["FNUMBER"] = item.FOwnerId }); jsonRoot.Add("Model", jsonModel); - CloudClient cloudClient = new CloudClient("http://localhost/K3Cloud/"); + CloudClient cloudClient = new CloudClient("http://localhost//k3cloud/"); var result = cloudClient.Save("paez_CompleteAnalysisTemp", jsonRoot.ToString()); JObject saveObj = JObject.Parse(result); string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper(); @@ -889,7 +893,7 @@ ["IsVerifyBaseDataField"] = "false", ["Model"] = Fentity }; - CloudClient cloudClient = new CloudClient("http://localhost/K3Cloud/"); + CloudClient cloudClient = new CloudClient("http://localhost//k3cloud/"); var result = cloudClient.BatchSave("paez_CompleteAnalysisTemp", jsonRoot.ToString()); JObject saveObj = JObject.Parse(result); string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper(); @@ -946,8 +950,8 @@ LEFT JOIN T_STK_Inventory a on T1.FStockOrgId = a.FStockOrgId and T1.FMATERIALID =a.FMATERIALID LEFT JOIN JIT_MOMaterReadysBill B ON T1.FStockOrgId = b.FHSTOCKORGID and T1.FMATERIALID =b.FHMATERID and a.FOwnerId = b.FOwnerId LEFT join T_ORG_Organizations c on a.FOWNERID = c.FORGID ---join t_BD_Stock d on a.FSTOCKID =d.FSTOCKID ---where d.FAvailableComplete<>0 +join t_BD_Stock d on a.FSTOCKID =d.FSTOCKID +where d.FAvailableComplete<>0 --where T1.FMATERIALID in (105773) "); ListInventory = ds.ToModelList<PRD_Inventory>(); @@ -965,8 +969,8 @@ ) T1 LEFT JOIN T_STK_Inventory a on T1.FStockOrgId = a.FStockOrgId and T1.FMATERIALID =a.FMATERIALID LEFT JOIN JIT_MOMaterReadysBill B ON T1.FStockOrgId = b.FHSTOCKORGID and T1.FMATERIALID =b.FHMATERID ---join t_BD_Stock d on a.FSTOCKID =d.FSTOCKID ---where d.FAvailableComplete<>0 +join t_BD_Stock d on a.FSTOCKID =d.FSTOCKID +where d.FAvailableComplete<>0 --where T1.FMATERIALID in (105773) group by T1.FStockOrgId,T1.FMATERIALID "); @@ -1151,11 +1155,11 @@ //閿�鍞鍗曞彿 string FSalOrder = Convert.ToString((this.Model.GetValue("FSalOrder"))); if (!string.IsNullOrEmpty(FSalOrder)) - sqlwhere += $" and FHSeOrderBillNo='{FSalOrder}'"; + sqlwhere += $" and FHSeOrderBillNo like '%{FSalOrder}%'"; //鐢熶骇璁㈠崟鍙� string FScOrderMainNo = Convert.ToString((this.Model.GetValue("FScOrderMainNo"))); if (!string.IsNullOrEmpty(FScOrderMainNo)) - sqlwhere += $" and FSCORDERNO='{FScOrderMainNo}'"; + sqlwhere += $" and FSCORDERNO like '%{FScOrderMainNo}%'"; //鐗╂枡 if ((this.Model.GetValue("FMatralId") as DynamicObject) != null) { @@ -1182,6 +1186,7 @@ this.Model.SetValue("FSEQ", i + 1, i);//搴忓彿 this.Model.SetValue("FCompleteSetCount", "", i);//鎬婚綈濂楁暟閲� this.Model.SetValue("FProOrderCount", dt.Rows[i]["FHOrderNeedQty"].ToString(), i);//鐢熶骇璁㈠崟鏁伴噺 + this.Model.SetValue("FSRCBILLENTRYSEQ", dt.Rows[i]["FSRCBILLENTRYSEQ"].ToString(), i);// this.Model.SetValue("FSalOrderCount", dt.Rows[i]["FHOrderQty"].ToString(), i);//閿�鍞鍗曟暟閲� this.Model.SetValue("FBatch", dt.Rows[i]["FBatch"].ToString(), i);//鎵规鍙� this.Model.SetValue("FUnit", dt.Rows[i]["FHUnitID"].ToString(), i);//璁¢噺鍗曚綅 @@ -1216,7 +1221,7 @@ if (dr["FHLockedSub"].ToString() == "1") this.View.GetFieldEditor("FT" + getDay.Days.ToString(), i).Enabled = false; //鍗曟嵁浣撹閿佸畾瀛楁 } - this.View.InvokeFieldUpdateService("FMatrailId", i);//璋冪敤鏁伴噺鍊兼洿鏂� + this.View.InvokeFieldUpdateService("FMatrailId", i);//GetControl } this.View.UpdateView(); for (int j = 0; j < dt.Rows.Count; j++) @@ -1270,20 +1275,12 @@ } //閿�鍞鍗曞彿 string FSalOrder = Convert.ToString((this.Model.GetValue("FSalOrder"))); - if (string.IsNullOrEmpty(FSalOrder)) - { - - } - else - sqlwhere += $" and FHSeOrderBillNo='{FSalOrder}'"; + if (!string.IsNullOrEmpty(FSalOrder)) + sqlwhere += $" and FHSeOrderBillNo like '%{FSalOrder}%'"; //鐢熶骇璁㈠崟鍙� string FScOrderMainNo = Convert.ToString((this.Model.GetValue("FScOrderMainNo"))); - if (string.IsNullOrEmpty(FScOrderMainNo)) - { - - } - else - sqlwhere += $" and FSCORDERNO='{FScOrderMainNo}'"; + if (!string.IsNullOrEmpty(FScOrderMainNo)) + sqlwhere += $" and FSCORDERNO like '%{FScOrderMainNo}%'"; //鐗╂枡 if ((this.Model.GetValue("FMatralId") as DynamicObject) != null) @@ -1311,6 +1308,7 @@ this.Model.SetValue("FSEQ", i + 1, i);//搴忓彿 this.Model.SetValue("FCompleteSetCount", "", i);//鎬婚綈濂楁暟閲� this.Model.SetValue("FProOrderCount", dt.Rows[i]["FHOrderNeedQty"].ToString(), i);//鐢熶骇璁㈠崟鏁伴噺 + this.Model.SetValue("FSRCBILLENTRYSEQ", dt.Rows[i]["FSRCBILLENTRYSEQ"].ToString(), i);// this.Model.SetValue("FSalOrderCount", dt.Rows[i]["FHOrderQty"].ToString(), i);//閿�鍞鍗曟暟閲� this.Model.SetValue("FBatch", dt.Rows[i]["FBatch"].ToString(), i);//鎵规鍙� this.Model.SetValue("FUnit", dt.Rows[i]["FHUnitID"].ToString(), i);//璁¢噺鍗曚綅 @@ -1480,7 +1478,7 @@ ["Model"] = model }; - CloudClient cloudClient = new CloudClient("http://localhost/K3Cloud/"); + CloudClient cloudClient = new CloudClient("http://localhost//k3cloud/"); var result = cloudClient.Save("Paez_Sc_DayPlanPPBomBill", jsonRoot.ToString()); JObject saveObj = JObject.Parse(result); string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper(); @@ -1509,11 +1507,14 @@ { string sql = string.Format(@" /*dialect*/ -select t1.FID,t1.FEntryID,t3.FMATERIALID,T5.FNUMBER,t1.FHMASTERDATE,t1.FHQTY,t4.FMATERIALID FMATERIALID2,T6.FNUMBER FNUMBER2,T7.FNUMBER FUNITNUMBER,FNumerator,FDenominator,convert(decimal(18,2),(FNumerator/FDenominator) *t1.FHQTY) FHQtyMust,T4.FUnitID,t8.FNUMBER FUNITNUMBER2,T3.FID FPPBOM,T4.FENTRYID,isnull(T9.FBillNo,'')FBillNo,t10.FNUMBER FORGNUMBER,t11.FNUMBER FHSOURCENUMBER,FSCRAPRATE,FFIXSCRAPQTY,T9.FID AS DayPlanFID + select t1.FID,t1.FEntryID,t3.FMATERIALID,T5.FNUMBER,t1.FHMASTERDATE,t1.FHQTY,t4.FMATERIALID FMATERIALID2,T6.FNUMBER FNUMBER2,T7.FNUMBER FUNITNUMBER,FNumerator,FDenominator,convert(decimal(18,2),(FNumerator/FDenominator) *t1.FHQTY) FHQtyMust,T4.FUnitID,t8.FNUMBER FUNITNUMBER2,T3.FID FPPBOM,T4.FENTRYID FPPBOMENTRYID,isnull(T9.FBillNo,'')FBillNo,t10.FNUMBER FORGNUMBER,t11.FNUMBER FHSOURCENUMBER,FSCRAPRATE,FFIXSCRAPQTY,T9.FID AS DayPlanFID,t2.FSCORDERNO, +t3.FMOENTRYID,t3.FBILLNO FPPBOMBILLNO,T4.FSEQ,tc.FOWNERTYPEID,tc.FOWNERID,tc.FEntrustPickOrgId,torg.FNUMBER as FORGNUMBER,t3.FMOID,FIssueType,FMaterialType FROM Sc_WorkBillSortBillSub t1 JOIN Sc_WorkBillSortBillMAIN t2 on t1.FID = t2.FID JOIN T_PRD_PPBOM T3 on T2.FPRDMOMAINID=t3.FMOID AND T2.FPRDMOENTYID=T3.FMOENTRYID JOIN T_PRD_PPBOMENTRY T4 ON T3.FID=T4.FID +JOIN T_PRD_PPBOMENTRY_C Tc ON T4.FENTRYID=Tc.FENTRYID +join T_ORG_Organizations torg ON tc.FOWNERID = torg.FORGID JOIN T_BD_MATERIAL T5 ON T3.FMATERIALID=T5.FMATERIALID JOIN T_BD_MATERIAL T6 ON T4.FMATERIALID=T6.FMATERIALID LEFT JOIN T_BD_UNIT T7 ON T3.FUNITID = T7.FUNITID @@ -1548,12 +1549,22 @@ FHQtyMust = dr["FHQtyMust"].ToString(), FHQtySub = dr["FHQtyMust"].ToString(), FHPPBomInterID = dr["FPPBOM"].ToString(), - FHPPBomEntryID = dr["FENTRYID"].ToString(), + FHPPBomEntryID = dr["FPPBOMENTRYID"].ToString(), FHSourceID = dr["FHSOURCENUMBER"].ToString(), FNumerator = dr["FNumerator"].ToString(), FDenominator = dr["FDenominator"].ToString(), FFIXSCRAPQTY = dr["FFIXSCRAPQTY"].ToString(), FHQtyScrap = dr["FSCRAPRATE"].ToString(), + FMOBILLNO = dr["FSCORDERNO"].ToString(), + FMOENTRYID = dr["FMOENTRYID"].ToString(), + FPPBOMBILLNO = dr["FPPBOMBILLNO"].ToString(), + FPPBOMFSEQ = dr["FSEQ"].ToString(), + FOwnerTypeId = dr["FOWNERTYPEID"].ToString(), + FOwnerID = dr["FORGNUMBER"].ToString(), + FEntrustPickOrgId = dr["FORGNUMBER"].ToString(), + FMOID = dr["FMOID"].ToString(), + FIssueType = dr["FIssueType"].ToString(), + FMaterialType = dr["FMaterialType"].ToString() }); } LogHelper.Info($"鏃ヨ鍒掔敤鏂欐竻鍗曪紝鏁版嵁鍑嗗瀹屾垚锛屼繚瀛樺埌Model瀹炰綋锛屾�昏鏁帮細{DayPlanMaterial.Count}锛岃�楁椂锛�" + sw.Elapsed); @@ -1564,6 +1575,9 @@ { var _DayPlanMaterial = DayPlanMaterial.Where(x => x.FEntryID == item).ToList(); JObject model = new JObject(); + + if (!string.IsNullOrEmpty(_DayPlanMaterial[0].FID)) + model.Add("FID", _DayPlanMaterial[0].FID); model.Add("FHDate", DateTime.Now); model.Add("FOrgId", new JObject() { ["Fnumber"] = _DayPlanMaterial[0].FOrgId });//鍙戞枡缁勭粐 model.Add("FHMaterID", new JObject() { ["Fnumber"] = _DayPlanMaterial[0].FHMaterID });//鐗╂枡 @@ -1572,6 +1586,7 @@ model.Add("FHUnitID", new JObject() { ["Fnumber"] = _DayPlanMaterial[0].FHUnitID });//鍗曚綅锛欶HUnitID model.Add("FDayPlanFID", _DayPlanMaterial[0].FDayPlanFID);//鏃ヨ鍒掑伐鍗曞唴鐮� JArray Entry = new JArray(); + int FSEQ = 1; foreach (var _item in _DayPlanMaterial) { JObject ModelEnty = new JObject(); @@ -1587,11 +1602,23 @@ ModelEnty.Add("FDwyl", Convert.ToDecimal(_item.FNumerator) / Convert.ToDecimal(_item.FDenominator));//鍗曚綅鐢ㄦ枡 ModelEnty.Add("FFIXSCRAPQTY", _item.FFIXSCRAPQTY);//鍥哄畾鎹熻�� ModelEnty.Add("FHQtyScrap", _item.FHQtyScrap);//鍙樺姩鎹熻�楃巼% + ModelEnty.Add("FMOBILLNO", _item.FMOBILLNO);// + ModelEnty.Add("FMOENTRYIDINT", _item.FMOENTRYID);// + ModelEnty.Add("FPPBOMBILLNO", _item.FPPBOMBILLNO);// + ModelEnty.Add("FPPBOMFSEQINT", _item.FPPBOMFSEQ);// + ModelEnty.Add("FOwnerTypeId", _item.FOwnerTypeId);// + ModelEnty.Add("FOwnerID", new JObject() { ["Fnumber"] = _item.FOwnerID });// + ModelEnty.Add("FEntrustPickOrgId", new JObject() { ["Fnumber"] = _item.FEntrustPickOrgId });// + ModelEnty.Add("FMOID", _item.FMOID);// + ModelEnty.Add("FISSUETYPE", _item.FIssueType);// + ModelEnty.Add("FMaterialType", _item.FMaterialType);// + // ModelEnty.Add("FSEQ", FSEQ);// Entry.Add(ModelEnty); + FSEQ++; + } model.Add("FEntity", Entry); - //if (!string.IsNullOrEmpty(_DayPlanMaterial[0].FID)) - // model.Add("FID", _DayPlanMaterial[0].FID); + Fentity.Add(model); if ((i >= 20 || i == fidList.Count) && (i % 20 == 0 || i == fidList.Count)) { @@ -1601,18 +1628,18 @@ ["Creator"] = "", ["NeedUpDateFields"] = new JArray(), ["NeedReturnFields"] = new JArray(), - ["IsDeleteEntry"] = "false", + ["IsDeleteEntry"] = "true", ["SubSystemId"] = "", ["IsVerifyBaseDataField"] = "false", ["Model"] = Fentity }; - CloudClient cloudClient = new CloudClient("http://localhost/K3Cloud/"); + CloudClient cloudClient = new CloudClient("http://localhost//k3cloud/"); var result = cloudClient.BatchSave("Paez_Sc_DayPlanPPBomBill", jsonRoot.ToString()); JObject saveObj = JObject.Parse(result); string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper(); if (saveIsSuc != "TRUE") { - LogHelper.Error(jsonRoot.ToString()); + LogHelper.Error(saveObj.ToString()); } Fentity = new JArray(); } @@ -1656,13 +1683,14 @@ //閲囪喘璁㈠崟鏁版嵁 sql = @" /*dialect*/ -select t1.FID,t1.FBillNo,t2.FENTRYID,t1.FSUPPLIERID,t3.fnumber,t2.FMATERIALID,(t2.FQTY-t2.FPODemandPlanCount)FQTY,FPurchaseOrgId FStockOrgId,t5.FNUMBER FORGNumber,FSTOCKINQTY,FReceiveQty,FCloseStatus,FMRPCLOSESTATUS from t_PUR_POOrder t1 + select t1.FID,t1.FBillNo,t2.FENTRYID,t1.FSUPPLIERID,t3.fnumber,t2.FMATERIALID,(t2.FQTY-t2.FPODemandPlanCount)FQTY,FPurchaseOrgId FStockOrgId,t5.FNUMBER FORGNumber,FSTOCKINQTY,FReceiveQty,FCloseStatus,FMRPCLOSESTATUS from t_PUR_POOrder t1 join t_PUR_POOrderEntry t2 on t1.FID = t2.FID join t_BD_Supplier t3 on t1.FSUPPLIERID = t3.FSUPPLIERID join T_PUR_POORDERENTRY_R t4 on t2.FENTRYID = t4.FENTRYID join T_ORG_Organizations t5 on t1.FPurchaseOrgId = t5.FORGID where t2.FQTY-t2.FPODemandPlanCount>0 and FCloseStatus in('A') and FMRPCLOSESTATUS in('A') + and t1.FBillTypeID in('83d822ca3e374b4ab01e5dd46a0062bd','6d01d059713d42a28bb976c90a121142') "; List<PurchaseInventory> PurchaseInventory = DBServiceHelper.ExecuteDataSet(Context, sql).ToModelList<PurchaseInventory>(); LogHelper.Info("[鎻愭枡璁″垝鍑嗗闃舵]鍙敤閲囪喘璁㈠崟鏁版嵁sql锛�" + sql); @@ -1685,7 +1713,7 @@ ", FDayPlanWorkID); sql = string.Format(@" /*dialect*/ -SELECT T1.FID,FHMASTERDATE,t1.FEntryID,T1.FBILLNO, FNeedQty,(FLeadtime+FLeadTtime2)FFIXLEADTIME,t5.FMAXPOQTY,FJITBatch FMINPOQTY,FJITMATERIALGROUP,FJITMaterielDemand,FJITSafeStock,t1.FMATERIALID,t6.FNumber,NeedQty, FStockOrgId +SELECT T1.FID,FHMASTERDATE,t1.FEntryID,T1.FBILLNO, FNeedQty,(FLeadtime+FLeadTtime2)FFIXLEADTIME,t5.FMAXPOQTY,FJITBatch FMINPOQTY,FJITMATERIALGROUP,FJITMaterielDemand,FJITSafeStock,t1.FMATERIALID,t6.FNumber,NeedQty, FStockOrgId ,FErpClsID FROM ( select FHICMOINTERID FID,FHICMOENTRYID FEntryID,FPlanDate FHMASTERDATE,FLackCount NeedQty,FHMATERID FMATERIALID,FHStockOrgID FStockOrgId,FPRDBILLNO FBillNo,FSumPlanCount FNeedQty from JIT_MOMaterReadysBill a right join (select max(FID)FID from JIT_MOMaterReadysBill GROUP BY FHICMOENTRYID,FHMATERID) b on a.FID = b.FID @@ -1694,7 +1722,7 @@ join t_BD_MaterialBase t4 on T1.FMATERIALID = t4.FMATERIALID join t_BD_MaterialPlan t5 on T1.FMATERIALID = t5.FMATERIALID WHERE DATEDIFF(D,GETDATE(),FHMASTERDATE) >=0 -AND FERPCLSID=1 +AND FERPCLSID in ('1','3') AND T1.NeedQty>0 AND T1.FENTRYID not in (select distinct FHSOURCEENTRYID from CG_PODEMANDPLANBILLSUB where FHSOURCEINTERID IN ({0})) AND T1.FID in ({0}) @@ -1705,7 +1733,7 @@ List<DayPlanPpbom> DayPlanPpbom = ds.ToModelList<DayPlanPpbom>(); //鐗╂枡+搴撳瓨缁勭粐鍒嗙被 var MaterialIDList = DayPlanPpbom.GroupBy(p => new { p.FMATERIALID, p.FStockOrgId }).Select(x => new PODemandPlanTemp { FMATERIALID = x.Key.FMATERIALID, FStockOrgId = x.Key.FStockOrgId }).ToList(); - var _MaterialIDList = MaterialIDList.Where(p => p.FMATERIALID == "162305").ToList(); + var _MaterialIDList = MaterialIDList.Where(p => p.FMATERIALID == "163165").ToList(); LogHelper.Info("[鎻愭枡璁″垝鍑嗗闃舵]鎬荤墿鏂欒鏁�" + MaterialIDList.Count); //鎻愭枡璁″垝鏁版嵁闆嗕复鏃跺瓨鍌ㄩ泦鍚� List<PODemandPlanTemp> PODemandPlanTemp = new List<PODemandPlanTemp>(); @@ -1715,14 +1743,14 @@ foreach (var item in MaterialIDList) { //褰撳墠鐗╂枡娌℃湁閲囪喘璁㈠崟鏃� 鐩存帴璺冲嚭 - List<PurchaseInventory> _PurchaseInventory = PurchaseInventory.Where(x => x.FMATERIALID == item.FMATERIALID && x.FStockOrgId == item.FStockOrgId && x.FQTY > 0).ToList(); + List<PurchaseInventory> _PurchaseInventory = PurchaseInventory.Where(x => x.FMATERIALID == item.FMATERIALID && x.FStockOrgId == item.FStockOrgId && x.FQTY > 0).OrderBy(x => x.FENTRYID).ToList(); if (_PurchaseInventory.Count == 0) { LogHelper.Info("[鎻愭枡璁″垝寮�濮媇褰撳墠鐗╂枡鏃犻噰璐俊鎭細" + item.FMATERIALID + " 搴撳瓨缁勭粐锛�" + item.FStockOrgId); continue; } //LogHelper.Info(item.FMATERIALID.ToString()); - //褰撳墠鐗╂枡鍜屽簱瀛樼粍缁囧搴旂殑闇�杩涜鎻愭枡璁″垝鐨勬暟鎹� + //褰撳墠鐗╂枡鍜屽簱瀛樼粍缁囧搴旂殑闇�杩涜鎻愭枡璁″垝鐨勬暟鎹� List<DayPlanPpbom> _DayPlanPpbom = DayPlanPpbom.Where(x => x.FMATERIALID == item.FMATERIALID && x.FStockOrgId == item.FStockOrgId).ToList(); decimal FMINPOQTY = _DayPlanPpbom.FirstOrDefault().FMINPOQTY;//鏈�灏忚捣璁㈤噺 double FFIXLEADTIME = _DayPlanPpbom.FirstOrDefault().FFIXLEADTIME;//鎻愬墠鏈� @@ -1737,7 +1765,7 @@ foreach (var _item in _DayPlanPpbom) { i++; - _PurchaseInventory = PurchaseInventory.Where(x => x.FMATERIALID == item.FMATERIALID && x.FStockOrgId == item.FStockOrgId && x.FQTY > 0).ToList(); + _PurchaseInventory = PurchaseInventory.Where(x => x.FMATERIALID == item.FMATERIALID && x.FStockOrgId == item.FStockOrgId && x.FQTY > 0).OrderBy(x => x.FENTRYID).ToList(); if (_PurchaseInventory.Count == 0) { LogHelper.Info("[鎻愭枡璁″垝寮�濮媇褰撳墠鐗╂枡鏄庣粏鏃犻噰璐俊鎭細" + item.FMATERIALID + " 搴撳瓨缁勭粐锛�" + item.FStockOrgId); @@ -1749,9 +1777,9 @@ FEntryIdList.Add(_item.FENTRYID); NeedQty += _item.NeedQty; - LogHelper.Info("璁板綍鏄庣粏id锛�" + _item.FENTRYID + ""); - LogHelper.Info("鎬婚渶姹傞噺锛�" + NeedQty + ""); - LogHelper.Info("鏈�灏忚捣璁㈤噺锛�" + FMINPOQTY + ""); + //LogHelper.Info("璁板綍鏄庣粏id锛�" + _item.FENTRYID + ""); + //LogHelper.Info("鎬婚渶姹傞噺锛�" + NeedQty + ""); + //LogHelper.Info("鏈�灏忚捣璁㈤噺锛�" + FMINPOQTY + ""); if (NeedQty <= FMINPOQTY) { LogHelper.Info("[鎻愭枡璁″垝]褰撳墠鐗╂枡鏄庣粏鏃犻噰璐俊鎭細" + item.FMATERIALID + ",鏁伴噺锛�" + NeedQty + "锛屾渶灏忚捣璁㈤噺锛�" + FMINPOQTY + ""); @@ -1764,7 +1792,8 @@ //{ foreach (var Purchase in _PurchaseInventory) { - LogHelper.Info("鐗╂枡锛�" + Purchase.FMATERIALID + ",閲囪喘璁㈠崟鏁伴噺锛�" + Purchase.FQTY); + LogHelper.Info("閲囪喘璁㈠崟鍙锋祴璇曪細" + Purchase.FBillNo); + //LogHelper.Info("鐗╂枡锛�" + Purchase.FMATERIALID + ",閲囪喘璁㈠崟鏁伴噺锛�" + Purchase.FQTY); if (Purchase.FQTY >= NeedQty) { foreach (int id in FEntryIdList) @@ -1781,6 +1810,7 @@ FNumber = DayPlanPpbomls.FNumber, OLDDATE = DayPlanPpbomls.FHMASTERDATE, FFIXLEADTIME = FFIXLEADTIME, + FErpClsID = DayPlanPpbomls.FErpClsID, PurchseFID = Purchase.FID, PurchseFentryID = Purchase.FENTRYID, @@ -1813,13 +1843,13 @@ { var DayPlanPpbomls = DayPlanPpbom.Where(c => c.FENTRYID == id && c.FMATERIALID == _item.FMATERIALID).FirstOrDefault(); decimal Qty = DayPlanPpbomls.NeedQty;//璁㈠崟鏁伴噺 - if (Qty == 0) - LogHelper.Info("璁㈠崟鏁伴噺涓�0"); + //if (Qty == 0) + // LogHelper.Info("璁㈠崟鏁伴噺涓�0"); if (Qty > _NeedQty) Qty = _NeedQty; //璁㈠崟鏁伴噺>閲囪喘璁㈠崟鏁伴噺 鍙栭噰璐鍗� - if (_NeedQty == 0) - LogHelper.Info("璁㈠崟鏁伴噺涓�0"); + //if (_NeedQty == 0) + // LogHelper.Info("璁㈠崟鏁伴噺涓�0"); _NeedQty = _NeedQty - Qty; PODemandPlanTemp.Add(new Demo.Model.Model.PODemandPlan.PODemandPlanTemp @@ -1833,6 +1863,7 @@ FNumber = DayPlanPpbomls.FNumber, OLDDATE = DayPlanPpbomls.FHMASTERDATE, FFIXLEADTIME = FFIXLEADTIME, + FErpClsID = DayPlanPpbomls.FErpClsID, PurchseFID = Purchase.FID, PurchseFentryID = Purchase.FENTRYID, @@ -1986,10 +2017,12 @@ string PurchseFNUMBER = item.PurchseFNUMBER; JObject model = new JObject(); model.Add("FHDate", date); - model.Add("FHRemark", "鐢熶骇璁㈠崟鍙凤細" + "娴嬭瘯鍛㈠憿"); + model.Add("FSettleCurrId", new JObject() { ["Fnumber"] = "PRE001" }); model.Add("FSupplierID", new JObject() { ["Fnumber"] = PurchseFNUMBER }); + JArray Fentity = new JArray(); List<PODemandPlanTemp> _PODemandPlanList = PODemandPlanTemp.Where(x => x.FHMASTERDATE == date && x.PurchseFNUMBER == PurchseFNUMBER).ToList(); + int FSEQ = 1; foreach (var _item in _PODemandPlanList) { JObject FentityModel = new JObject(); @@ -2007,7 +2040,12 @@ FentityModel.Add("FHPOOrderInterID", _item.PurchseFID);// 閲囪喘璁㈠崟鍐呯爜锛欶HPOOrderInterID FentityModel.Add("FHPOOrderEntryID", _item.PurchseFentryID); //閲囪喘璁㈠崟瀛愬唴鐮侊細FHPOOrderEntryID FentityModel.Add("FHPOOrderBillNo", _item.PurchseFBillNo); //閲囪喘璁㈠崟鍙凤細FHPOOrderBillNo + FentityModel.Add("FERPCLSID", _item.FErpClsID); //鍙戞枡鏂瑰紡 + //FentityModel.Add("FSEQ", FSEQ); //鍙戞枡鏂瑰紡 + FentityModel.Add("FUnitID", new JObject() { ["Fnumber"] = "Pcs" }); //鍙戞枡鏂瑰紡 + Fentity.Add(FentityModel); + FSEQ++; } model.Add("FEntity", Fentity); FinalyResult.Add(model); @@ -2024,7 +2062,7 @@ ["IsVerifyBaseDataField"] = "false", ["Model"] = FinalyResult }; - CloudClient cloudClient = new CloudClient("http://localhost/K3Cloud/"); + CloudClient cloudClient = new CloudClient("http://localhost//k3cloud/"); var result = cloudClient.BatchSave("paez_PODemandPlan", jsonRoot.ToString()); JObject saveObj = JObject.Parse(result); string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper(); -- Gitblit v1.9.1