From 2a2e3fbbef29bbc568b10f2bd45bd6e658443d6e Mon Sep 17 00:00:00 2001 From: 王 垚 <1402714037@qq.com> Date: 星期五, 19 三月 2021 14:42:43 +0800 Subject: [PATCH] 问题处理 --- src/BLL/Demo.BillView/Config/kdapi.config | 2 src/BLL/Demo.BillView/Demo.BillView.csproj | 50 src/BLL/Demo.TimedTaskPlugIn/Demo.TimedTaskPlugIn.csproj | 21 src/BLL/Demo.TimedTaskPlugIn/PRD/DayPlanChangeDynamicAlignment.cs | 1456 +++++++++++++++++++------------------- src/BLL/Demo.TimedTaskPlugIn/PRD/DayPlanPPBomBillTimeTask.cs | 4 src/BLL/Demo.TimedTaskPlugIn/PRD/StockChangeDynamicAlignment.cs | 4 src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs | 49 - src/BLL/Demo.BillView/PRD/Pro_MaterialRequisitionAuditDayPlan.cs | 64 src/BLL/Demo.Utility/CloudClient.cs | 60 + src/BLL/Demo.BillView/packages.config | 1 src/ProductizationTemplate/Constants/Url.cs | 2 src/ProductizationTemplate/ProductizationTemplate.csproj | 12 src/BLL/Demo.Utility/Demo.Utility.csproj | 11 /dev/null | 9 src/ProductizationTemplate/Untity/CloudClient.cs | 12 src/BLL/Demo.Utility/packages.config | 1 src/BLL/Demo.OperationService/packages.config | 1 src/BLL/Demo.BillView/PRD/Pro_TlPushAudit.cs | 238 ++++++ src/BLL/Demo.BillView/PRD/Pro_TlPush.cs | 216 +++- src/BLL/Demo.TimedTaskPlugIn/packages.config | 1 src/ProductizationTemplate/packages.config | 1 src/BLL/Demo.OperationService/Demo.OperationService.csproj | 10 src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs | 14 23 files changed, 1,276 insertions(+), 963 deletions(-) diff --git a/src/BLL/Demo.BillView/Config/kdapi.config b/src/BLL/Demo.BillView/Config/kdapi.config index 50a5a75..f8141a0 100644 --- a/src/BLL/Demo.BillView/Config/kdapi.config +++ b/src/BLL/Demo.BillView/Config/kdapi.config @@ -4,6 +4,6 @@ <add key="DbId" value="5f9258a311401c"></add> <add key="UserName" value="Administrator"></add> <add key="PassWord" value="888888"></add> - <add key="KDApiUrl" value="http://localhost/K3Cloud/"></add> + <add key="KDApiUrl" value="http://localhost//k3cloud/"></add> </appSettings> </configuration> \ No newline at end of file diff --git a/src/BLL/Demo.BillView/Demo.BillView.csproj b/src/BLL/Demo.BillView/Demo.BillView.csproj index 348e9a3..869c3eb 100644 --- a/src/BLL/Demo.BillView/Demo.BillView.csproj +++ b/src/BLL/Demo.BillView/Demo.BillView.csproj @@ -42,17 +42,17 @@ <Reference Include="K3Cloud.Extend, Version=0.0.80.5, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\..\..\packages\ZD.Cloud.Common.7.2.3\lib\net452\K3Cloud.Extend.dll</HintPath> </Reference> - <Reference Include="Kingdee.BOS, Version=7.2.904.6, Culture=neutral, processorArchitecture=MSIL"> + <Reference Include="Kingdee.BOS, Version=7.6.2003.9, Culture=neutral, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> - <HintPath>C:\Users\14027\Desktop\鏈�鏂扮増bin鏂囦欢\Kingdee.BOS.dll</HintPath> + <HintPath>C:\Users\14027\Desktop\鏈�鏂扮増bin鏂囦欢3.16\Kingdee.BOS.dll</HintPath> </Reference> - <Reference Include="Kingdee.BOS.App.Core, Version=7.2.904.6, Culture=neutral, processorArchitecture=MSIL"> + <Reference Include="Kingdee.BOS.App.Core, Version=7.6.2003.9, Culture=neutral, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> - <HintPath>C:\Users\14027\Desktop\鏈�鏂扮増bin鏂囦欢\Kingdee.BOS.App.Core.dll</HintPath> + <HintPath>C:\Users\14027\Desktop\鏈�鏂扮増bin鏂囦欢3.16\Kingdee.BOS.App.Core.dll</HintPath> </Reference> - <Reference Include="Kingdee.BOS.Business.PlugIn, Version=7.2.904.6, Culture=neutral, processorArchitecture=MSIL"> + <Reference Include="Kingdee.BOS.Business.PlugIn, Version=7.6.2003.9, Culture=neutral, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> - <HintPath>C:\Users\14027\Desktop\鏈�鏂扮増bin鏂囦欢\Kingdee.BOS.Business.PlugIn.dll</HintPath> + <HintPath>C:\Users\14027\Desktop\鏈�鏂扮増bin鏂囦欢3.16\Kingdee.BOS.Business.PlugIn.dll</HintPath> </Reference> <Reference Include="Kingdee.BOS.BusinessEntity, Version=7.2.904.6, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\..\..\packages\ZD.Cloud.Common.7.2.3\lib\net452\Kingdee.BOS.BusinessEntity.dll</HintPath> @@ -60,13 +60,13 @@ <Reference Include="Kingdee.BOS.Contracts, Version=7.2.904.6, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\..\..\packages\ZD.Cloud.Common.7.2.3\lib\net452\Kingdee.BOS.Contracts.dll</HintPath> </Reference> - <Reference Include="Kingdee.BOS.Core, Version=7.2.904.6, Culture=neutral, processorArchitecture=MSIL"> + <Reference Include="Kingdee.BOS.Core, Version=7.6.2003.9, Culture=neutral, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> - <HintPath>C:\Users\14027\Desktop\鏈�鏂扮増bin鏂囦欢\Kingdee.BOS.Core.dll</HintPath> + <HintPath>C:\Users\14027\Desktop\鏈�鏂扮増bin鏂囦欢3.16\Kingdee.BOS.Core.dll</HintPath> </Reference> - <Reference Include="Kingdee.BOS.DataEntity, Version=7.2.904.6, Culture=neutral, processorArchitecture=MSIL"> + <Reference Include="Kingdee.BOS.DataEntity, Version=7.6.2003.9, Culture=neutral, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> - <HintPath>C:\Users\14027\Desktop\鏈�鏂扮増bin鏂囦欢\Kingdee.BOS.DataEntity.dll</HintPath> + <HintPath>C:\Users\14027\Desktop\鏈�鏂扮増bin鏂囦欢3.16\Kingdee.BOS.DataEntity.dll</HintPath> </Reference> <Reference Include="Kingdee.BOS.FileConvert.Core, Version=7.2.904.6, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\..\..\packages\ZD.Cloud.Common.7.2.3\lib\net452\Kingdee.BOS.FileConvert.Core.dll</HintPath> @@ -95,21 +95,16 @@ <Reference Include="Kingdee.BOS.ServiceFacade.KDServiceFx, Version=7.2.904.6, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\..\..\packages\ZD.Cloud.Common.7.2.3\lib\net452\Kingdee.BOS.ServiceFacade.KDServiceFx.dll</HintPath> </Reference> - <Reference Include="Kingdee.BOS.ServiceHelper, Version=7.2.904.6, Culture=neutral, processorArchitecture=MSIL"> + <Reference Include="Kingdee.BOS.ServiceHelper, Version=7.5.1800.6, Culture=neutral, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> - <HintPath>C:\Users\14027\Desktop\鏈�鏂扮増bin鏂囦欢\Kingdee.BOS.ServiceHelper.dll</HintPath> + <HintPath>C:\Users\14027\Desktop\鏈�鏂扮増bin鏂囦欢3.16\Kingdee.BOS.ServiceHelper.dll</HintPath> </Reference> <Reference Include="Kingdee.BOS.Web, Version=7.2.904.6, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\..\..\packages\ZD.Cloud.Common.7.2.3\lib\net452\Kingdee.BOS.Web.dll</HintPath> </Reference> - <Reference Include="Kingdee.BOS.Web.Core, Version=7.5.1658.5, Culture=neutral, processorArchitecture=MSIL"> - <HintPath>..\..\..\packages\ZD.Cloud.Common.7.2.3\lib\net452\Kingdee.BOS.Web.Core.dll</HintPath> - </Reference> - <Reference Include="Kingdee.BOS.WebApi.Client, Version=7.3.1150.7, Culture=neutral, processorArchitecture=MSIL"> - <HintPath>..\..\..\packages\ZD.Cloud.WebApi.7.3.2.3\lib\net452\Kingdee.BOS.WebApi.Client.dll</HintPath> - </Reference> - <Reference Include="Kingdee.BOS.WebApi.ServicesStub, Version=7.3.1150.7, Culture=neutral, processorArchitecture=MSIL"> - <HintPath>..\..\..\packages\ZD.Cloud.WebApi.7.3.2.3\lib\net452\Kingdee.BOS.WebApi.ServicesStub.dll</HintPath> + <Reference Include="Kingdee.BOS.WebApi.Client, Version=7.6.2003.9, Culture=neutral, processorArchitecture=MSIL"> + <SpecificVersion>False</SpecificVersion> + <HintPath>C:\Users\14027\Desktop\鏈�鏂扮増bin鏂囦欢3.16\Kingdee.BOS.WebApi.Client.dll</HintPath> </Reference> <Reference Include="Kingdee.BOS.WinForm.KDS20Lib, Version=7.0.104.1, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\..\..\packages\ZD.Cloud.Common.7.2.3\lib\net452\Kingdee.BOS.WinForm.KDS20Lib.dll</HintPath> @@ -141,9 +136,9 @@ <Reference Include="Kingdee.K3.SCM.App.Stock.ServicePlugIn, Version=7.2.904.6, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\..\..\packages\ZD.Cloud.Common.7.2.3\lib\net452\Kingdee.K3.SCM.App.Stock.ServicePlugIn.dll</HintPath> </Reference> - <Reference Include="Kingdee.K3.SCM.Business.DynamicForm, Version=7.2.904.6, Culture=neutral, processorArchitecture=MSIL"> + <Reference Include="Kingdee.K3.SCM.Business.DynamicForm, Version=7.6.2003.9, Culture=neutral, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> - <HintPath>C:\Users\14027\Desktop\鏈�鏂扮増bin鏂囦欢\Kingdee.K3.SCM.Business.DynamicForm.dll</HintPath> + <HintPath>C:\Users\14027\Desktop\鏈�鏂扮増bin鏂囦欢3.16\Kingdee.K3.SCM.Business.DynamicForm.dll</HintPath> </Reference> <Reference Include="Kingdee.K3.SCM.Common.BusinessEntity, Version=7.2.904.6, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\..\..\packages\ZD.Cloud.Common.7.2.3\lib\net452\Kingdee.K3.SCM.Common.BusinessEntity.dll</HintPath> @@ -203,11 +198,9 @@ <Reference Include="ZD.Cloud.Logger, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\..\..\packages\ZD.Cloud.Logger.1.1.0\lib\net40\ZD.Cloud.Logger.dll</HintPath> </Reference> - <Reference Include="ZD.Cloud.WebApi, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> - <HintPath>..\..\..\packages\ZD.Cloud.WebApi.7.3.2.3\lib\net452\ZD.Cloud.WebApi.dll</HintPath> - </Reference> <Reference Include="ZD.Share, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> - <HintPath>..\..\..\packages\ZD.Share.1.0.0\lib\net452\ZD.Share.dll</HintPath> + <SpecificVersion>False</SpecificVersion> + <HintPath>C:\Users\14027\Desktop\bin鏂囦欢\ZD.Share.dll</HintPath> </Reference> </ItemGroup> <ItemGroup> @@ -217,6 +210,7 @@ <Compile Include="PRD\ProTardinessDetails.cs" /> <Compile Include="PRD\ProCompleteAnalysisMateriel.cs" /> <Compile Include="PRD\ProCompleteAnalysisDetails.cs" /> + <Compile Include="PRD\Pro_TlPushAudit.cs" /> <Compile Include="PRD\Pro_MaterialRequisitionAuditDayPlan.cs" /> <Compile Include="PRD\Pro_MaterialRequisitionAudit.cs" /> <Compile Include="PRD\Pro_ScDayImport.cs" /> @@ -249,6 +243,10 @@ <Project>{3B5437EE-F19C-4B69-90A4-88866841337B}</Project> <Name>Demo.TimedTaskPlugIn</Name> </ProjectReference> + <ProjectReference Include="..\Demo.Utility\Demo.Utility.csproj"> + <Project>{0AF059FC-D287-42C4-8835-133C3D96243A}</Project> + <Name>Demo.Utility</Name> + </ProjectReference> </ItemGroup> <ItemGroup> <WCFMetadata Include="Connected Services\" /> diff --git a/src/BLL/Demo.BillView/PRD/Pro_MaterialRequisitionAuditDayPlan.cs b/src/BLL/Demo.BillView/PRD/Pro_MaterialRequisitionAuditDayPlan.cs index 46e94b5..7637183 100644 --- a/src/BLL/Demo.BillView/PRD/Pro_MaterialRequisitionAuditDayPlan.cs +++ b/src/BLL/Demo.BillView/PRD/Pro_MaterialRequisitionAuditDayPlan.cs @@ -24,9 +24,9 @@ /// 2. 鏈彃浠舵寕鍦ㄩ攢鍞嚭搴撳崟鐨勪繚瀛樻搷浣滀笂 /// 鍑哄簱鍏宠仈閿�鍞鍗� /// </remarks> - [Description("寮曞叆鐢熶骇棰嗘枡鍗曪紝寤虹珛涓庣敓浜ц鍗曠殑鍏宠仈,鏃ヨ鍒掔敤鏂欐竻鍗�")] + [Description("閫佽揣璁″垝鍗曟彃浠跺叧鑱旀彁鏂欒鍒掑崟")] [HotUpdate] - public class Pro_MaterialRequisitionAuditDayPlan : AbstractOperationServicePlugIn + public class Pro_TlPushAudit : AbstractOperationServicePlugIn { public override void OnPreparePropertys(PreparePropertysEventArgs e) { @@ -37,17 +37,16 @@ e.FieldKeys.Add("FTreeEntity_FEntryID"); e.FieldKeys.Add("FBillNo"); e.FieldKeys.Add("FBFLowId"); - e.FieldKeys.Add("FMaterialId"); - e.FieldKeys.Add("FBaseUnitQty"); - e.FieldKeys.Add("FBaseJoinQty"); + e.FieldKeys.Add("FHQty"); + e.FieldKeys.Add("FHMaterID"); } - private const string POFormId = "PRD_PPBOM"; + private const string POFormId = "paez_PODemandPlan"; public override void BeforeExecuteOperationTransaction(BeforeExecuteOperationTransaction e) { base.BeforeExecuteOperationTransaction(e); HashSet<string> poBillNos = new HashSet<string>(); - Entity entity = this.BusinessInfo.GetEntity("FEntity");//鑾峰彇鏄庣粏淇℃伅 - Entity linkEntry = this.BusinessInfo.GetEntity("FEntity_Link"); + Entity entity = this.BusinessInfo.GetEntity("FDetailEntity");//鑾峰彇鏄庣粏淇℃伅 + Entity linkEntry = this.BusinessInfo.GetEntity("FDetailEntity_Link"); Field fldSrcFormId = this.BusinessInfo.GetField("FSrcBillType"); Field fldSrcBillNo = this.BusinessInfo.GetField("FSrcBillNo"); // 瀵瑰崟鎹綋杩涜寰幆锛屽彇鍏宠仈鐨勬簮鍗曠紪鍙� @@ -61,9 +60,11 @@ string srcSrcBillNo = ""; try { - srcFormId = "PRD_PPBOM"; - srcSrcBillNo = fldSrcBillNo.DynamicProperty.GetValue<string>(entryRow); - srcSrcBillNo = DBServiceHelper.ExecuteScalar<string>(Context, $" select distinct FPPBOMBILLNO from T_PRD_PICKMTRLDATA where FSRCBILLNO = '{srcSrcBillNo}' ", srcSrcBillNo); + srcFormId = "paez_PODemandPlan"; + srcSrcBillNo = entryRow["FTLOrderNo"].ToString(); + //srcSrcBillNo = entryRow["FTLentryId"].ToString(); + //srcSrcBillNo = entryRow["FTLId"].ToString(); + //srcSrcBillNo = DBServiceHelper.ExecuteScalar<string>(Context, $" select distinct FPPBOMBILLNO from T_PUR_RECEIVEENTRY_LK where FSRCBILLNO = '{srcSrcBillNo}' ", srcSrcBillNo); } catch (Exception) @@ -100,10 +101,9 @@ as DynamicObjectCollection; foreach (var entryRow in entryRows) { - string srcSrcBillNo = fldSrcBillNo.DynamicProperty.GetValue<string>(entryRow); - string srcFormId = "PRD_PPBOM"; - srcSrcBillNo = DBServiceHelper.ExecuteScalar<string>(Context, $" select distinct FPPBOMBILLNO from T_PRD_PICKMTRLDATA where FSRCBILLNO = '{srcSrcBillNo}' ", srcSrcBillNo); - + //string srcSrcBillNo = fldSrcBillNo.DynamicProperty.GetValue<string>(entryRow); + string srcFormId = "paez_PODemandPlan"; + string srcSrcBillNo = entryRow["FTLOrderNo"].ToString(); if (string.IsNullOrWhiteSpace(srcFormId) || string.IsNullOrWhiteSpace(srcSrcBillNo) @@ -131,7 +131,7 @@ linkRows.Add(linkRow); allNewLinkRows.Add(linkRow); } - } + } // 涓烘柊寤虹殑婧愬崟鍏宠仈淇℃伅锛岃缃唴鐮� IDBService dbService = ServiceHelper.GetService<IDBService>(); dbService.AutoSetPrimaryKey(this.Context, allNewLinkRows.ToArray(), linkEntry.DynamicObjectType); @@ -145,19 +145,17 @@ private DynamicObject[] LoadPurchaseOrder(HashSet<string> poBillNos) { IViewService viewService = ServiceHelper.GetService<IViewService>(); - string formId = "PRD_PPBOM"; + string formId = "paez_PODemandPlan"; // 鎸囧畾闇�瑕佸姞杞界殑閿�鍞鍗曞瓧娈� List<SelectorItemInfo> fields = new List<SelectorItemInfo>(); fields.Add(new SelectorItemInfo("FID")); // 鍗曟嵁涓婚敭 - fields.Add(new SelectorItemInfo("FTreeEntity_FEntryID")); // 鍗曟嵁浣撲富閿� + fields.Add(new SelectorItemInfo("FEntity_FEntryID")); // 鍗曟嵁浣撲富閿� fields.Add(new SelectorItemInfo("FBillNo")); // 鍗曟嵁缂栧彿 - fields.Add(new SelectorItemInfo("FBFLowId")); // 涓氬姟娴佺▼ - fields.Add(new SelectorItemInfo("FMaterialId")); // 鐗╂枡 - fields.Add(new SelectorItemInfo("FMaterialID2")); // 鐗╂枡 - fields.Add(new SelectorItemInfo("FBASENEEDQTY")); // 鍩烘湰鍗曚綅鏁伴噺 - fields.Add(new SelectorItemInfo("FBASEPICKEDQTY")); // 鍩烘湰鍗曚綅鍏宠仈鏁伴噺 - fields.Add(new SelectorItemInfo("FBFLOWID")); // + //fields.Add(new SelectorItemInfo("FBFLowId")); // 涓氬姟娴佺▼ + fields.Add(new SelectorItemInfo("FHMaterID")); // 鐗╂枡 + fields.Add(new SelectorItemInfo("FHQty")); // 鍩烘湰鍗曚綅鏁伴噺 + //fields.Add(new SelectorItemInfo("FBFLOWID")); // // 鎸囧畾杩囨护鏉′欢 string filter = string.Format(" FBillNo IN ('{0}') ", string.Join("','", poBillNos)); @@ -178,10 +176,10 @@ { string billNo = Convert.ToString(poObj["BillNo"]); Dictionary<string, DynamicObject> dctOneBill = new Dictionary<string, DynamicObject>(); - DynamicObjectCollection entryRows = poObj["PPBomEntry"] as DynamicObjectCollection; + DynamicObjectCollection entryRows = poObj["FEntity"] as DynamicObjectCollection; foreach (var entryRow in entryRows) { - DynamicObject materialObj = entryRow["MaterialId"] as DynamicObject; + DynamicObject materialObj = entryRow["FHMaterID"] as DynamicObject; if (materialObj == null) continue; string materialNumber = Convert.ToString(materialObj["number"]); dctOneBill[materialNumber] = entryRow; @@ -208,16 +206,16 @@ /// <param name="linkRow">鍏宠仈琛�</param> private void FillLinkRow(DynamicObject srcRow, DynamicObject toRow, DynamicObject linkRow) { - linkRow["FlowId"] = srcRow["BFLowId_Id"]; + //linkRow["FlowId"] = srcRow["BFLowId_Id"]; linkRow["FlowLineId"] = 0; - linkRow["RuleId"] = "PRD_PPBOM2PICKMTRL_NORMAL"; + linkRow["RuleId"] = Guid.NewGuid().ToString(); linkRow["SBillId"] = ((DynamicObject)srcRow.Parent)[0]; linkRow["SId"] = srcRow[0]; // 鍘熷鎼哄甫閲� - decimal baseUnitQty = Convert.ToDecimal(srcRow["BaseNeedQty"]);//鐢ㄦ枡娓呭崟鍗曚綅鏁伴噺 - decimal joinUnitQty = Convert.ToDecimal(srcRow["BasePickedQty"]);//鐢ㄦ枡娓呭崟鍗曚綅棰嗘枡鏁伴噺 - linkRow["BaseActualQtyOld"] = baseUnitQty - joinUnitQty; - linkRow["BaseActualQty"] = toRow["BASEACTUALQTY"]; //鍩烘湰鍗曚綅瀹炲彂鏁伴噺 + decimal baseUnitQty = Convert.ToDecimal(srcRow["FHQty"]);//鐢ㄦ枡娓呭崟鍗曚綅鏁伴噺 + decimal joinUnitQty = Convert.ToDecimal(srcRow["FHQty"]);//鐢ㄦ枡娓呭崟鍗曚綅棰嗘枡鏁伴噺 + linkRow["BASEUNITQTY"] = baseUnitQty; + linkRow["STOCKBASEQTY"] = baseUnitQty; //鍩烘湰鍗曚綅瀹炲彂鏁伴噺 } /// <summary> @@ -226,7 +224,7 @@ /// <returns></returns> public bool SourceVerification(string FTID) { - string sql = $" select count(*) from T_BF_INSTANCEENTRY where FSTABLENAME= 'T_PRD_PPBOMENTRY' and FTID = '{FTID}'"; + string sql = $" select count(*) from T_BF_INSTANCEENTRY where FSTABLENAME= 'Cg_PODemandPlanBillSub' and FTID = '{FTID}'"; int count = DBServiceHelper.ExecuteScalar<int>(Context, sql, 0); if (count == 0) return true; diff --git a/src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs b/src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs index 07e1916..0daf256 100644 --- a/src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs +++ b/src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs @@ -12,73 +12,37 @@ using System.ComponentModel; using System.Data; using Newtonsoft.Json.Linq; -using ZD.Cloud.WebApi; using ZD.Cloud.Logger; using Demo.Model.Model; using ZD.Share.Common; using System.Linq; +using Demo.Utility; namespace Demo.BillView.PRD { - [Description("鐢熶骇鏃ヨ鍒掑鍏�")] [HotUpdate] public class Pro_ScDayImport : AbstractDynamicFormPlugIn { - - CloudClient cloudClient = new CloudClient("http://localhost/K3Cloud/"); private string fileFullPath = string.Empty; - //public override void BarItemClick(Kingdee.BOS.Core.DynamicForm.PlugIn.Args.BarItemClickEventArgs e) + + //public override void OnLoad(EventArgs e) //{ - // base.BarItemClick(e); - // if (e.BarItemKey.ToUpper().Equals("TBIMPORT")) - // { - // } - - // if (e.BarItemKey.ToUpper().Equals("TBWJSC")) - // { - // //Control updateControl = this.View.GetControl("fileFullPath"); - // //// 涓婁紶鍦板潃 - // //string uploadUrl = "FileUpLoadServices/FileService.svc/upload2attachment/"; - // //updateControl.SetCustomPropertyValue("ExtandUrl", uploadUrl); - // //// 涓嬭浇鍦板潃 - // //string downloadUrl = "FileUpLoadServices/download.aspx"; - // //updateControl.SetCustomPropertyValue("ExDownLoadUrl", downloadUrl); - - // ImportData(fileFullPath); - // } - + // base.OnLoad(e); + // throw new Exception("1"); //} - public override void OnLoad(EventArgs e) - { - base.OnLoad(e); - throw new Exception("1"); - } - - public override void BarItemClick(BarItemClickEventArgs e) { - base.BarItemClick(e); - throw new Exception("1"); - LogHelper.Info("瀵煎叆鍔熻兘鐐瑰嚮鎸夐挳锛�"); if (e.BarItemKey.ToUpper().Equals("TBIMPORT")) { - this.View.ShowErrMessage("娴嬭瘯瀵煎叆鍔熻兘鐐瑰嚮鎸夐挳"); LogHelper.Info("瀵煎叆鍔熻兘鐐瑰嚮鎸夐挳锛�"); ImportData(); + //this.View.ShowErrMessage("娴嬭瘯瀵煎叆鍔熻兘鐐瑰嚮鎸夐挳"); } if (e.BarItemKey.ToUpper().Equals("TBWJSC")) { - this.View.ShowErrMessage("娴嬭瘯鏂囦欢涓婁紶鍔熻兘鐐瑰嚮鎸夐挳"); - //Control updateControl = this.View.GetControl("fileFullPath"); - //// 涓婁紶鍦板潃 - //string uploadUrl = "FileUpLoadServices/FileService.svc/upload2attachment/"; - //updateControl.SetCustomPropertyValue("ExtandUrl", uploadUrl); - //// 涓嬭浇鍦板潃 - //string downloadUrl = "FileUpLoadServices/download.aspx"; - //updateControl.SetCustomPropertyValue("ExDownLoadUrl", downloadUrl); LogHelper.Info("鏂囦欢涓婁紶鍔熻兘鐐瑰嚮鎸夐挳锛�"); ImportDataSC(fileFullPath); } @@ -260,6 +224,7 @@ { try { + CloudClient cloudClient = new CloudClient("http://localhost//k3cloud/"); string sql; DateTime date = Convert.ToDateTime(this.Model.GetValue("F_Paez_Date")); //鑾峰彇鍗曟嵁浣撲俊鎭� diff --git a/src/BLL/Demo.BillView/PRD/Pro_TlPush.cs b/src/BLL/Demo.BillView/PRD/Pro_TlPush.cs index b555b37..5225edc 100644 --- a/src/BLL/Demo.BillView/PRD/Pro_TlPush.cs +++ b/src/BLL/Demo.BillView/PRD/Pro_TlPush.cs @@ -1,99 +1,177 @@ 锘縰sing System; -using System.Collections.Generic; -using System.Collections.ObjectModel; using System.ComponentModel; -using System.Data; -using System.Linq; -using System.Text; -using Demo.Model.Model; -using Kingdee.BOS; -using Kingdee.BOS.Core.Attachment; +using Demo.Utility; using Kingdee.BOS.Core.Bill; using Kingdee.BOS.Core.Bill.PlugIn; -using Kingdee.BOS.Core.Bill.PlugIn.Args; -using Kingdee.BOS.Core.CommonFilter; using Kingdee.BOS.Core.DynamicForm; -using Kingdee.BOS.Core.DynamicForm.DiffCompare; -using Kingdee.BOS.Core.DynamicForm.Operation; using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; -using Kingdee.BOS.Core.List; using Kingdee.BOS.Core.Metadata; -using Kingdee.BOS.Core.Metadata.BarElement; -using Kingdee.BOS.Core.Metadata.ConvertElement; -using Kingdee.BOS.Core.Metadata.ConvertElement.ServiceArgs; using Kingdee.BOS.Core.Metadata.EntityElement; -using Kingdee.BOS.Core.Metadata.FormElement; -using Kingdee.BOS.Core.Metadata.QueryElement; -using Kingdee.BOS.Core.Msg; -using Kingdee.BOS.Core.Permission; -using Kingdee.BOS.Log; -using Kingdee.BOS.Msg; -using Kingdee.BOS.Orm; using Kingdee.BOS.Orm.DataEntity; -using Kingdee.BOS.Orm.Metadata.DataEntity; -using Kingdee.BOS.Resource; -using Kingdee.BOS.ServiceHelper; -using Kingdee.BOS.Util; -using Kingdee.K3.SCM.Business; -using Kingdee.K3.SCM.Core.SCP; -using Kingdee.K3.SCM.ServiceHelper; using Newtonsoft.Json.Linq; +using ZD.Cloud.Logger; namespace Demo.BillView.PRD { - [Description("鎻愭枡涓嬫帹閫佽揣閫氱煡鍗�")] [Kingdee.BOS.Util.HotUpdate] public class Pro_TlPush : AbstractBillPlugIn { + CloudClient cloudClient = new CloudClient("http://localhost//k3cloud/"); public override void BarItemClick(BarItemClickEventArgs e) { - string a; - if ((a = e.BarItemKey.ToUpperInvariant()) != null) + try { - if (a == "TBPUSH") + string a; + if ((a = e.BarItemKey.ToUpperInvariant()) != null) { - // 鑾峰彇鐖跺崟鎹綋 - Entity entity = this.View.BillBusinessInfo.GetEntity("FEntity");//鏍囪瘑 - //DynamicObjectCollection entityRows = entity.DynamicProperty.GetValue(this.Model.DataObject) as DynamicObjectCollection;//鑾峰彇鐖跺崟鎹綋琛岄泦鍚� - DynamicObjectCollection entityRows = this.Model.GetEntityDataObject(entity);//鑾峰彇鐖跺崟鎹綋琛岄泦鍚� - // 1鍜�2鍧囧彲 - // 鍙栧綋鍓嶉〉闈㈠瓙鍗曟嵁浣� - //Entity subEntity = this.View.BillBusinessInfo.GetEntity("FEntity");//鏍囪瘑 - //DynamicObjectCollection rows = this.Model.GetEntityDataObject(subEntity);//鑾峰緱瀛愬崟鎹綋琛岄泦鍚� - - string sql = $"select * from "; - - - JObject model = new JObject(); - model.Add("FHDate", ""); - model.Add("FSettleCurrId", new JObject() { ["Fnumber"] = "PRE001" }); - model.Add("FSupplierID", new JObject() { ["Fnumber"] = "" }); - - JArray Fentity = new JArray(); - for (int i = 0; i < 10; i++) + if (a == "TBPUSH") { - JObject FentityModel = new JObject(); + // 鑾峰彇鐖跺崟鎹綋 + Entity entity = this.View.BillBusinessInfo.GetEntity("FEntity");//鏍囪瘑 + //DynamicObjectCollection entityRows = entity.DynamicProperty.GetValue(this.Model.DataObject) as DynamicObjectCollection;//鑾峰彇鐖跺崟鎹綋琛岄泦鍚� + DynamicObjectCollection entityRows = this.Model.GetEntityDataObject(entity);//鑾峰彇鐖跺崟鎹綋琛岄泦鍚� + // 1鍜�2鍧囧彲 + // 鍙栧綋鍓嶉〉闈㈠瓙鍗曟嵁浣� + //Entity subEntity = this.View.BillBusinessInfo.GetEntity("FEntity");//鏍囪瘑 + //DynamicObjectCollection rows = this.Model.GetEntityDataObject(subEntity);//鑾峰緱瀛愬崟鎹綋琛岄泦鍚� + //鏋勫缓 model 涓昏〃 + JObject model = new JObject(); + model.Add("FBILLTYPEID", new JObject() { ["Fnumber"] = "SLD01_SYS" }); //鍗曟嵁绫诲瀷 + model.Add("FDate", DateTime.Now.ToString("yyyy-MM-dd")); //閫氱煡鏃ユ湡 + model.Add("FStockOrgId", new JObject() { ["Fnumber"] = (this.Model.GetValue("FHPURCHASEORGID") as DynamicObject)?["Number"].ToString() ?? "" }); // 鏀舵枡缁勭粐 + model.Add("FPurOrgId", new JObject() { ["Fnumber"] = (this.Model.GetValue("FHPURCHASEORGID") as DynamicObject)?["Number"].ToString() ?? "" }); //閲囪喘缁勭粐 + model.Add("FSupplierId", new JObject() { ["Fnumber"] = (this.Model.GetValue("FSupplierID") as DynamicObject)?["Number"].ToString() ?? "" }); //渚涘簲鍟� + model.Add("FOwnerTypeIdHead", "BD_OwnerOrg");// 璐т富绫诲瀷 + model.Add("FOwnerIdHead", new JObject() { ["Fnumber"] = (this.Model.GetValue("FHPURCHASEORGID") as DynamicObject)?["Number"].ToString() ?? "" });//璐т富 - FentityModel.Add("FUnitID", new JObject() { ["Fnumber"] = "Pcs" }); //鍙戞枡鏂瑰紡 - Fentity.Add(FentityModel); + //model.Add("FPurchaserId", new JObject() { ["Fnumber"] = "" }); //閲囪喘鍛� + //model.Add("FReceiverId", new JObject() { ["Fnumber"] = "" }); //鏀舵枡鍛� + //model.Add("FSupplyAddress", ""); //渚涜揣鏂瑰湴鍧� + //model.Add("FConfirmerId", new JObject() { ["FUserID"] = "" }); // 纭浜� + //model.Add("FConfirmDate", "1900-01-01"); //纭鏃ユ湡 + //model.Add("FSupplyId", new JObject() { ["Fnumber"] = "" }); // 渚涜揣鏂� + //model.Add("FChargeId", new JObject() { ["Fnumber"] = "" }); // 鏀舵鏂� + //model.Add("FSettleId", new JObject() { ["Fnumber"] = "" }); // 缁撶畻鏂� + //model.Add("FIsInsideBill", "false"); // 澶栭儴鍗曟嵁 + //model.Add("FScanBox", "false"); // 搴忓垪鍙蜂笂浼� + + //瀛愯〃 鏁版嵁妯″瀷 + JArray Fentity = new JArray(); + foreach (var item in entityRows) + { + JObject FentityModel = new JObject(); + FentityModel.Add("FMaterialId", new JObject() { ["Fnumber"] = (item["FHMaterID"] as DynamicObject)?["Number"].ToString() ?? "" }); // 鐗╂枡缂栫爜 + FentityModel.Add("FUnitID", new JObject() { ["Fnumber"] = (item["FUnitID"] as DynamicObject)?["Number"].ToString() ?? "" }); // 鍗曚綅 + FentityModel.Add("FPreDeliveryDate", this.Model.GetValue("FHDate").ToString()); // 棰勮鍒拌揣鏃ユ湡 + FentityModel.Add("FPriceUnitId", new JObject() { ["Fnumber"] = (item["FUnitID"] as DynamicObject)?["Number"].ToString() ?? "" }); // 璁′环鍗曚綅 + FentityModel.Add("FStockUnitID", new JObject() { ["Fnumber"] = (item["FUnitID"] as DynamicObject)?["Number"].ToString() ?? "" }); // 搴撳瓨鍗曚綅 + FentityModel.Add("FActReceiveQty", item["FHQty"].ToString()); // 渚涘簲鍟嗛�佽揣鏁伴噺 + FentityModel.Add("FOwnerTypeId", "BD_OwnerOrg");// 璐т富绫诲瀷 + FentityModel.Add("FOwnerID", new JObject() { ["Fnumber"] = (this.Model.GetValue("FHPURCHASEORGID") as DynamicObject)?["Number"].ToString() ?? "" });//璐т富 + FentityModel.Add("FSrcId", item["FHPOOrderInterID"].ToString());// 婧愬崟鍐呯爜 + FentityModel.Add("FSRCFORMID", "PUR_PurchaseOrder");// 婧愬崟绫诲瀷 + FentityModel.Add("FSrcBillNo", item["FHPOOrderBillNo"].ToString());// 婧愬崟鍗曞彿 + FentityModel.Add("FSRCENTRYID", item["FHPOOrderEntryID"].ToString());// 婧愬崟鍒嗗綍鍐呯爜 + FentityModel.Add("FORDERBILLNO", item["FHPOOrderBillNo"].ToString());// 婧愬崟鍗曞彿 + FentityModel.Add("FPOORDERENTRYID", item["FHPOOrderEntryID"].ToString());// 婧愬崟鍒嗗綍鍐呯爜 + FentityModel.Add("FTLId", this.View.Model.DataObject["Id"].ToString());// 鎻愭枡婧愬崟鍐呯爜 + FentityModel.Add("FTLentryId", item["Id"].ToString());// 鎻愭枡婧愬崟鍒嗗綍鍐呯爜 + FentityModel.Add("FTLOrderNo", this.Model.GetValue("FBillNo").ToString());// 鎻愭枡婧愬崟鍒嗗綍鍐呯爜 + + JArray Fentity2 = new JArray(); + JObject FentityModel2 = new JObject(); + FentityModel2.Add("FDetailEntity_Link_FRULEID", "a8c6b6e5-a8c0-4fc1-8592-6b76c2136cf9"); + FentityModel2.Add("FDetailEntity_Link_FSTableName", "t_PUR_POOrderEntry"); + FentityModel2.Add("FDetailEntity_Link_FSBillId", item["FHPOOrderInterID"].ToString()); + FentityModel2.Add("FDetailEntity_Link_FSId", item["FHPOOrderEntryID"].ToString()); + Fentity2.Add(FentityModel2); + FentityModel.Add("FDetailEntity_Link", Fentity2); + //鍗曟嵁杞崲鍏宠仈鍏崇郴 + //FentityModel.Add("FAuxPropId", new JObject() { }); // 鐗╂枡缂栫爜 + //FentityModel.Add("FConfirmDeliQty", 0); // 鐗╂枡缂栫爜 + //FentityModel.Add("FConfirmDeliDate", "1900-01-01"); // 鐗╂枡缂栫爜 + //FentityModel.Add("FConfirmInfo", ""); // 鐗╂枡缂栫爜 + //FentityModel.Add("FDescription", ""); // 鐗╂枡缂栫爜 + //FentityModel.Add("FBomId", new JObject() { ["Fnumber"] = "" }); // 鐗╂枡缂栫爜 + //FentityModel.Add("FLot", new JObject() { ["Fnumber"] = "" }); // 鐗╂枡缂栫爜 + //FentityModel.Add("FSupplierLot", ""); // 鐗╂枡缂栫爜 + //FentityModel.Add("FPrice", 0); // 鐗╂枡缂栫爜 + //FentityModel.Add("FTaxPrice", 0); // 鐗╂枡缂栫爜 + //FentityModel.Add("FDiscountRate", 0); // 鐗╂枡缂栫爜 + //FentityModel.Add("FEntryTaxRate", 0); // 鐗╂枡缂栫爜 + //FentityModel.Add("FStockBaseQty", 0); // 鐗╂枡缂栫爜 + //FentityModel.Add("FStockQty", 0); // 鐗╂枡缂栫爜 + //FentityModel.Add("FTaxCombination", new JObject() { ["Fnumber"] = "" }); // 鐗╂枡缂栫爜 + //FentityModel.Add("FPriceBaseQty", 0); // 鐗╂枡缂栫爜 + //FentityModel.Add("FStockInMaxQty", 0); // 鐗╂枡缂栫爜 + //FentityModel.Add("FBaseStockInMaxQty", 0); // 鐗╂枡缂栫爜 + //FentityModel.Add("FCheckInComing", "false"); // 鐗╂枡缂栫爜 + //FentityModel.Add("FStockID", new JObject() { ["Fnumber"] = "" }); // 鐗╂枡缂栫爜 + //FentityModel.Add("FStockLocId", new JObject() { }); // 鐗╂枡缂栫爜 + //FentityModel.Add("FStockStatusId", new JObject() { ["Fnumber"] = "" }); // 鐗╂枡缂栫爜 + //FentityModel.Add("FProduceDate", "1900-01-01"); // 鐗╂枡缂栫爜 + //FentityModel.Add("FExpiryDate", "1900-01-01"); // 鐗╂枡缂栫爜 + + Fentity.Add(FentityModel); + } + model.Add("FDetailEntity", Fentity); //鏄庣粏淇℃伅 + + JObject _FentityModel = new JObject(); + _FentityModel.Add("FSettleOrgId", new JObject() { ["Fnumber"] = (this.Model.GetValue("FHPURCHASEORGID") as DynamicObject)?["Number"].ToString() ?? "" }); // 缁撶畻缁勭粐 + _FentityModel.Add("FSettleCurrId", new JObject() { ["Fnumber"] = (this.Model.GetValue("FSettleCurrId") as DynamicObject)?["Number"].ToString() ?? "" }); // 缁撶畻甯佸埆 + _FentityModel.Add("FPricePoint", 0); // 瀹氫环鏃剁偣 + //FPricePoint + model.Add("FinanceEntity ", _FentityModel);//璐㈠姟淇℃伅 + + //model.Add("FinanceEntity ", new JObject() { + //"FSettleOrgId", new JObject() { ["Fnumber"] = (this.Model.GetValue("FHPURCHASEORGID") as DynamicObject)?["Number"].ToString() ?? "" }, + //"FSettleCurrId", new JObject() { ["Fnumber"] = (this.Model.GetValue("FSettleCurrId") as DynamicObject)?["Number"].ToString() ?? "" } + //}); + + JObject jsonRoot = new JObject() + { + ["Creator"] = "", + ["NeedUpDateFields"] = new JArray(), + ["NeedReturnFields"] = new JArray(), + ["IsDeleteEntry"] = "false", + ["SubSystemId"] = "", + ["IsVerifyBaseDataField"] = "false", + ["IsAutoSubmitAndAudit"] = true,//鑷姩璋冪敤鎻愪氦鍜屽鏍稿姛鑳� + ["Model"] = model + }; + + var result = cloudClient.Save("PUR_ReceiveBill", jsonRoot.ToString()); + JObject saveObj = JObject.Parse(result); + string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper(); + if (saveIsSuc == "TRUE") + { + // 鎵撳紑鍗曟嵁缁存姢鐣岄潰锛氫互鎵撳紑閿�鍞鍗�100001涓轰緥 + // using Kingdee.BOS.Core.Bill; + string pageId = Guid.NewGuid().ToString(); + BillShowParameter showParameter = new BillShowParameter(); + showParameter.FormId = "SCP_ReceiveBill"; + showParameter.OpenStyle.ShowType = ShowType.MainNewTabPage; + showParameter.PageId = pageId; + showParameter.Status = OperationStatus.EDIT; + // 浼犲叆闇�瑕佷慨鏀圭殑閿�鍞鍗曞唴鐮侊紝婕旂ず浠g爜鐩存帴鍥哄畾鍐欐涓�100001 + showParameter.PKey = saveObj["Result"]["Id"].ToString(); + this.View.ShowForm(showParameter); + } + else + { + LogHelper.Error(jsonRoot.ToString()); + this.View.ShowErrMessage(jsonRoot.ToString()); + } } - model.Add("FEntity", Fentity); - JObject jsonRoot = new JObject() - { - ["Creator"] = "", - ["NeedUpDateFields"] = new JArray(), - ["NeedReturnFields"] = new JArray(), - ["IsDeleteEntry"] = "false", - ["SubSystemId"] = "", - ["IsVerifyBaseDataField"] = "false", - ["Model"] = model - }; } } + catch (Exception ex) + { + throw ex; + } } - - } } + diff --git a/src/BLL/Demo.BillView/PRD/Pro_TlPushAudit.cs b/src/BLL/Demo.BillView/PRD/Pro_TlPushAudit.cs new file mode 100644 index 0000000..46e94b5 --- /dev/null +++ b/src/BLL/Demo.BillView/PRD/Pro_TlPushAudit.cs @@ -0,0 +1,238 @@ +锘縰sing System; +using System.Collections.Generic; +using Kingdee.BOS.Util; +using Kingdee.BOS.Core.Metadata; +using Kingdee.BOS.Core.Metadata.EntityElement; +using Kingdee.BOS.Core.DynamicForm.PlugIn; +using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; +using Kingdee.BOS.Orm.DataEntity; +using Kingdee.BOS.Contracts; +using Kingdee.BOS.App; +using Kingdee.BOS.Core.Metadata.FieldElement; +using System.ComponentModel; +using Kingdee.BOS.ServiceHelper; +using Kingdee.K3.SCM.App; + +namespace Demo.DynamicForm.PRD +{ + /// <summary> + /// 鎻掍欢绀轰緥锛氬紩鍏ラ攢鍞嚭搴撳崟锛屽缓绔嬩笌閿�鍞鍗曠殑鍏宠仈 + /// </summary> + /// <remarks> + /// 瑕佹眰锛� + /// 1. 闇�瑕佸紩鍏ュ崟鎹綋鐨勬簮鍗曠被鍨嬨�佹簮鍗曠紪鍙峰瓧娈� + /// 2. 鏈彃浠舵寕鍦ㄩ攢鍞嚭搴撳崟鐨勪繚瀛樻搷浣滀笂 + /// 鍑哄簱鍏宠仈閿�鍞鍗� + /// </remarks> + [Description("寮曞叆鐢熶骇棰嗘枡鍗曪紝寤虹珛涓庣敓浜ц鍗曠殑鍏宠仈,鏃ヨ鍒掔敤鏂欐竻鍗�")] + [HotUpdate] + public class Pro_MaterialRequisitionAuditDayPlan : AbstractOperationServicePlugIn + { + public override void OnPreparePropertys(PreparePropertysEventArgs e) + { + base.OnPreparePropertys(e); + e.FieldKeys.Add("FSrcBillType"); + e.FieldKeys.Add("FSrcBillNo"); + e.FieldKeys.Add("FID"); + e.FieldKeys.Add("FTreeEntity_FEntryID"); + e.FieldKeys.Add("FBillNo"); + e.FieldKeys.Add("FBFLowId"); + e.FieldKeys.Add("FMaterialId"); + e.FieldKeys.Add("FBaseUnitQty"); + e.FieldKeys.Add("FBaseJoinQty"); + } + private const string POFormId = "PRD_PPBOM"; + public override void BeforeExecuteOperationTransaction(BeforeExecuteOperationTransaction e) + { + base.BeforeExecuteOperationTransaction(e); + HashSet<string> poBillNos = new HashSet<string>(); + Entity entity = this.BusinessInfo.GetEntity("FEntity");//鑾峰彇鏄庣粏淇℃伅 + Entity linkEntry = this.BusinessInfo.GetEntity("FEntity_Link"); + Field fldSrcFormId = this.BusinessInfo.GetField("FSrcBillType"); + Field fldSrcBillNo = this.BusinessInfo.GetField("FSrcBillNo"); + // 瀵瑰崟鎹綋杩涜寰幆锛屽彇鍏宠仈鐨勬簮鍗曠紪鍙� + foreach (var billObj in e.SelectedRows) + { + DynamicObjectCollection entryRows = entity.DynamicProperty.GetValue(billObj.DataEntity) + as DynamicObjectCollection; + foreach (var entryRow in entryRows) + { + string srcFormId = ""; + string srcSrcBillNo = ""; + try + { + srcFormId = "PRD_PPBOM"; + srcSrcBillNo = fldSrcBillNo.DynamicProperty.GetValue<string>(entryRow); + srcSrcBillNo = DBServiceHelper.ExecuteScalar<string>(Context, $" select distinct FPPBOMBILLNO from T_PRD_PICKMTRLDATA where FSRCBILLNO = '{srcSrcBillNo}' ", srcSrcBillNo); + + } + catch (Exception) + { + } + if (string.IsNullOrWhiteSpace(srcFormId) + || string.IsNullOrWhiteSpace(srcSrcBillNo) + ) + {// 婧愬崟涓嶆槸閲囪喘璁㈠崟锛岀暐杩� + continue; + } + // 婧愬崟缂栧彿宸茬粡鐧昏锛屼笉鍐嶉噸澶嶈褰曪紝鐣ヨ繃 + if (poBillNos.Contains(srcSrcBillNo)) continue; + // Link宸茬粡璁板綍浜嗘簮鍗曚俊鎭紝鐣ヨ繃 + //DynamicObjectCollection linkRows = linkEntry.DynamicProperty.GetValue(entryRow) + // as DynamicObjectCollection; + //if (linkRows.Count > 0) continue; + bool Ret = SourceVerification(Convert.ToString(entryRow["Id"])); + if (!Ret) continue; + + poBillNos.Add(srcSrcBillNo); + } + } + if (poBillNos.Count == 0) return; + DynamicObject[] poObjs = this.LoadPurchaseOrder(poBillNos); + if (poObjs == null || poObjs.Length == 0) return; + Dictionary<string, Dictionary<string, DynamicObject>> dctAllBills = this.BuildDictionary(poObjs); + string srcTableNumber = this.GetPOEntryTableNumber(); + List<DynamicObject> allNewLinkRows = new List<DynamicObject>(); + // 寰幆鍗曟嵁浣擄紝涓哄崟鎹綋锛屽缓绔嬭捣婧愬崟鍏宠仈淇℃伅锛� + foreach (var billObj in e.SelectedRows) + { + DynamicObjectCollection entryRows = entity.DynamicProperty.GetValue(billObj.DataEntity) + as DynamicObjectCollection; + foreach (var entryRow in entryRows) + { + string srcSrcBillNo = fldSrcBillNo.DynamicProperty.GetValue<string>(entryRow); + string srcFormId = "PRD_PPBOM"; + srcSrcBillNo = DBServiceHelper.ExecuteScalar<string>(Context, $" select distinct FPPBOMBILLNO from T_PRD_PICKMTRLDATA where FSRCBILLNO = '{srcSrcBillNo}' ", srcSrcBillNo); + + + if (string.IsNullOrWhiteSpace(srcFormId) + || string.IsNullOrWhiteSpace(srcSrcBillNo) + ) + {// 婧愬崟涓嶆槸閿�鍞鍗曪紝鐣ヨ繃 + continue; + } + Dictionary<string, DynamicObject> dctOneBill = null; + if (dctAllBills.TryGetValue(srcSrcBillNo, out dctOneBill) == false) continue; + DynamicObject materialObj = entryRow["MaterialId"] as DynamicObject; + if (materialObj == null) continue; + string materialNumber = Convert.ToString(materialObj["number"]); + DynamicObject srcRow = null; + if (dctOneBill.TryGetValue(materialNumber, out srcRow) == false) continue; + // Link宸茬粡璁板綍浜嗘簮鍗曚俊鎭紝鐣ヨ繃 + bool Ret = SourceVerification(Convert.ToString(entryRow["Id"])); + if (!Ret) continue; + + DynamicObjectCollection linkRows = linkEntry.DynamicProperty.GetValue(entryRow) + as DynamicObjectCollection; + linkRows.Clear(); + DynamicObject linkRow = new DynamicObject(linkEntry.DynamicObjectType); + linkRow["STableName"] = srcTableNumber; + this.FillLinkRow(srcRow, entryRow, linkRow); + linkRows.Add(linkRow); + allNewLinkRows.Add(linkRow); + } + } + // 涓烘柊寤虹殑婧愬崟鍏宠仈淇℃伅锛岃缃唴鐮� + IDBService dbService = ServiceHelper.GetService<IDBService>(); + dbService.AutoSetPrimaryKey(this.Context, allNewLinkRows.ToArray(), linkEntry.DynamicObjectType); + } + + /// <summary> + /// 鍔犺浇鐩稿叧鐨勯攢鍞鍗曟暟鎹� + /// </summary> + /// <param name="poBillNos"></param> + /// <returns></returns> + private DynamicObject[] LoadPurchaseOrder(HashSet<string> poBillNos) + { + IViewService viewService = ServiceHelper.GetService<IViewService>(); + string formId = "PRD_PPBOM"; + + // 鎸囧畾闇�瑕佸姞杞界殑閿�鍞鍗曞瓧娈� + List<SelectorItemInfo> fields = new List<SelectorItemInfo>(); + fields.Add(new SelectorItemInfo("FID")); // 鍗曟嵁涓婚敭 + fields.Add(new SelectorItemInfo("FTreeEntity_FEntryID")); // 鍗曟嵁浣撲富閿� + fields.Add(new SelectorItemInfo("FBillNo")); // 鍗曟嵁缂栧彿 + fields.Add(new SelectorItemInfo("FBFLowId")); // 涓氬姟娴佺▼ + fields.Add(new SelectorItemInfo("FMaterialId")); // 鐗╂枡 + fields.Add(new SelectorItemInfo("FMaterialID2")); // 鐗╂枡 + fields.Add(new SelectorItemInfo("FBASENEEDQTY")); // 鍩烘湰鍗曚綅鏁伴噺 + fields.Add(new SelectorItemInfo("FBASEPICKEDQTY")); // 鍩烘湰鍗曚綅鍏宠仈鏁伴噺 + fields.Add(new SelectorItemInfo("FBFLOWID")); // + + // 鎸囧畾杩囨护鏉′欢 + string filter = string.Format(" FBillNo IN ('{0}') ", string.Join("','", poBillNos)); + OQLFilter ofilter = OQLFilter.CreateHeadEntityFilter(filter); + var objs = viewService.Load(this.Context, formId, fields, ofilter); + return objs; + } + /// <summary> + /// 鎶婇攢鍞鍗曞崟鎹綋琛屾瀯寤轰负瀛楀吀锛欴ictionary(鍗曟嵁缂栧彿, Dictionary(鐗╂枡缂栫爜, 婧愬崟琛�)); + /// </summary> + /// <param name="poObjs"></param> + /// <returns></returns> + private Dictionary<string, Dictionary<string, DynamicObject>> BuildDictionary(DynamicObject[] poObjs) + { + Dictionary<string, Dictionary<string, DynamicObject>> dctAllBills = + new Dictionary<string, Dictionary<string, DynamicObject>>(); + foreach (var poObj in poObjs) + { + string billNo = Convert.ToString(poObj["BillNo"]); + Dictionary<string, DynamicObject> dctOneBill = new Dictionary<string, DynamicObject>(); + DynamicObjectCollection entryRows = poObj["PPBomEntry"] as DynamicObjectCollection; + foreach (var entryRow in entryRows) + { + DynamicObject materialObj = entryRow["MaterialId"] as DynamicObject; + if (materialObj == null) continue; + string materialNumber = Convert.ToString(materialObj["number"]); + dctOneBill[materialNumber] = entryRow; + } + dctAllBills.Add(billNo, dctOneBill); + } + return dctAllBills; + } + /// <summary> + /// 鑾峰彇閿�鍞鍗曞叧鑱斾富瀹炰綋琛ㄦ牸缂栫爜 + /// </summary> + /// <returns></returns> + private string GetPOEntryTableNumber() + { + IBusinessFlowService bfMetaService = ServiceHelper.GetService<IBusinessFlowService>(); + var tableDefine = bfMetaService.LoadTableDefine(this.Context, POFormId, "FEntity"); + return tableDefine.TableNumber; + } + /// <summary> + /// 濉啓婧愬崟淇℃伅 + /// </summary> + /// <param name="srcRow">婧愬崟琛�</param> + /// <param name="toRow">鐩爣鍗曡</param> + /// <param name="linkRow">鍏宠仈琛�</param> + private void FillLinkRow(DynamicObject srcRow, DynamicObject toRow, DynamicObject linkRow) + { + linkRow["FlowId"] = srcRow["BFLowId_Id"]; + linkRow["FlowLineId"] = 0; + linkRow["RuleId"] = "PRD_PPBOM2PICKMTRL_NORMAL"; + linkRow["SBillId"] = ((DynamicObject)srcRow.Parent)[0]; + linkRow["SId"] = srcRow[0]; + // 鍘熷鎼哄甫閲� + decimal baseUnitQty = Convert.ToDecimal(srcRow["BaseNeedQty"]);//鐢ㄦ枡娓呭崟鍗曚綅鏁伴噺 + decimal joinUnitQty = Convert.ToDecimal(srcRow["BasePickedQty"]);//鐢ㄦ枡娓呭崟鍗曚綅棰嗘枡鏁伴噺 + linkRow["BaseActualQtyOld"] = baseUnitQty - joinUnitQty; + linkRow["BaseActualQty"] = toRow["BASEACTUALQTY"]; //鍩烘湰鍗曚綅瀹炲彂鏁伴噺 + } + + /// <summary> + /// 楠岃瘉鏄惁鐢熸垚杩囩敓浜х敤鏂欐竻鍗曞搴旂殑婧愬崟 + /// </summary> + /// <returns></returns> + public bool SourceVerification(string FTID) + { + string sql = $" select count(*) from T_BF_INSTANCEENTRY where FSTABLENAME= 'T_PRD_PPBOMENTRY' and FTID = '{FTID}'"; + int count = DBServiceHelper.ExecuteScalar<int>(Context, sql, 0); + if (count == 0) + return true; + else + return false; + } + + } +} diff --git a/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs b/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs index 54dce4c..b54443b 100644 --- a/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs +++ b/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs @@ -1,5 +1,6 @@ 锘縰sing Demo.Model.Model; using Demo.Model.Model.PODemandPlan; +using Demo.Utility; using K3Cloud.Extend.Utils; using Kingdee.BOS.Core; using Kingdee.BOS.Core.Bill.PlugIn; @@ -38,7 +39,6 @@ using System.Web; using System.Windows.Documents; using ZD.Cloud.Logger; -using ZD.Cloud.WebApi; using ZD.Share.Common; namespace Demo.DynamicForm.PRD @@ -645,7 +645,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(); @@ -896,7 +896,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(); @@ -1489,7 +1489,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(); @@ -1644,13 +1644,13 @@ ["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(); } @@ -2073,7 +2073,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(); diff --git a/src/BLL/Demo.BillView/packages.config b/src/BLL/Demo.BillView/packages.config index 12f2e02..058107e 100644 --- a/src/BLL/Demo.BillView/packages.config +++ b/src/BLL/Demo.BillView/packages.config @@ -7,7 +7,6 @@ <package id="SharpZipLib" version="1.2.0" targetFramework="net472" /> <package id="ZD.Cloud.Common" version="7.2.3" targetFramework="net472" /> <package id="ZD.Cloud.Logger" version="1.1.0" targetFramework="net472" /> - <package id="ZD.Cloud.WebApi" version="7.3.2.3" targetFramework="net472" /> <package id="ZD.Newtonsoft.Json" version="1.0.0" targetFramework="net472" /> <package id="ZD.Share" version="1.0.0" targetFramework="net472" /> </packages> \ No newline at end of file diff --git a/src/BLL/Demo.OperationService/Config/kdapi.config b/src/BLL/Demo.OperationService/Config/kdapi.config deleted file mode 100644 index 25b63df..0000000 --- a/src/BLL/Demo.OperationService/Config/kdapi.config +++ /dev/null @@ -1,9 +0,0 @@ -锘�<?xml version="1.0" encoding="utf-8" ?> -<configuration> - <appSettings> - <add key="DbId" value="5e8c33972fbb61"></add> - <add key="UserName" value="Administrator"></add> - <add key="PassWord" value="888888"></add> - <add key="KDApiUrl" value="http://localhost/K3Cloud/"></add> - </appSettings> -</configuration> \ No newline at end of file diff --git a/src/BLL/Demo.OperationService/Demo.OperationService.csproj b/src/BLL/Demo.OperationService/Demo.OperationService.csproj index bd9794a..738c18e 100644 --- a/src/BLL/Demo.OperationService/Demo.OperationService.csproj +++ b/src/BLL/Demo.OperationService/Demo.OperationService.csproj @@ -83,12 +83,6 @@ <Reference Include="Kingdee.BOS.Web.HTML, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Web.HTML.dll</HintPath> </Reference> - <Reference Include="Kingdee.BOS.WebApi.Client, Version=7.3.1150.7, Culture=neutral, processorArchitecture=MSIL"> - <HintPath>..\..\..\packages\ZD.Cloud.WebApi.7.3.2.3\lib\net452\Kingdee.BOS.WebApi.Client.dll</HintPath> - </Reference> - <Reference Include="Kingdee.BOS.WebApi.ServicesStub, Version=7.3.1150.7, Culture=neutral, processorArchitecture=MSIL"> - <HintPath>..\..\..\packages\ZD.Cloud.WebApi.7.3.2.3\lib\net452\Kingdee.BOS.WebApi.ServicesStub.dll</HintPath> - </Reference> <Reference Include="Kingdee.BOS.WeiXin.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.WeiXin.Core.dll</HintPath> </Reference> @@ -127,9 +121,6 @@ <Reference Include="System.Data" /> <Reference Include="System.Net.Http" /> <Reference Include="System.Xml" /> - <Reference Include="ZD.Cloud.WebApi, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> - <HintPath>..\..\..\packages\ZD.Cloud.WebApi.7.3.2.3\lib\net452\ZD.Cloud.WebApi.dll</HintPath> - </Reference> <Reference Include="ZD.Share, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\..\..\packages\ZD.Share.1.0.2\lib\net452\ZD.Share.dll</HintPath> </Reference> @@ -140,7 +131,6 @@ <Compile Include="SCM\SAL_SaleOrder\SAL_SaleOrderSubmit.cs" /> </ItemGroup> <ItemGroup> - <None Include="Config\kdapi.config" /> <None Include="packages.config" /> </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> diff --git a/src/BLL/Demo.OperationService/packages.config b/src/BLL/Demo.OperationService/packages.config index 2591833..7eacc2b 100644 --- a/src/BLL/Demo.OperationService/packages.config +++ b/src/BLL/Demo.OperationService/packages.config @@ -1,7 +1,6 @@ 锘�<?xml version="1.0" encoding="utf-8"?> <packages> <package id="ZD.Cloud.Common" version="7.5.1.2" targetFramework="net452" /> - <package id="ZD.Cloud.WebApi" version="7.3.2.3" targetFramework="net452" /> <package id="ZD.Newtonsoft.Json" version="1.0.0" targetFramework="net452" /> <package id="ZD.Share" version="1.0.2" targetFramework="net452" /> </packages> \ No newline at end of file diff --git a/src/BLL/Demo.TimedTaskPlugIn/Config/kdapi.config b/src/BLL/Demo.TimedTaskPlugIn/Config/kdapi.config deleted file mode 100644 index 25b63df..0000000 --- a/src/BLL/Demo.TimedTaskPlugIn/Config/kdapi.config +++ /dev/null @@ -1,9 +0,0 @@ -锘�<?xml version="1.0" encoding="utf-8" ?> -<configuration> - <appSettings> - <add key="DbId" value="5e8c33972fbb61"></add> - <add key="UserName" value="Administrator"></add> - <add key="PassWord" value="888888"></add> - <add key="KDApiUrl" value="http://localhost/K3Cloud/"></add> - </appSettings> -</configuration> \ No newline at end of file diff --git a/src/BLL/Demo.TimedTaskPlugIn/Demo.TimedTaskPlugIn.csproj b/src/BLL/Demo.TimedTaskPlugIn/Demo.TimedTaskPlugIn.csproj index d5ac8b8..f70a271 100644 --- a/src/BLL/Demo.TimedTaskPlugIn/Demo.TimedTaskPlugIn.csproj +++ b/src/BLL/Demo.TimedTaskPlugIn/Demo.TimedTaskPlugIn.csproj @@ -9,9 +9,10 @@ <AppDesignerFolder>Properties</AppDesignerFolder> <RootNamespace>Demo.TimedTaskPlugIn</RootNamespace> <AssemblyName>Demo.TimedTaskPlugIn</AssemblyName> - <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion> + <TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion> <FileAlignment>512</FileAlignment> <Deterministic>true</Deterministic> + <TargetFrameworkProfile /> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> @@ -82,11 +83,8 @@ <Reference Include="Kingdee.BOS.Web.HTML, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Web.HTML.dll</HintPath> </Reference> - <Reference Include="Kingdee.BOS.WebApi.Client, Version=7.3.1150.7, Culture=neutral, processorArchitecture=MSIL"> - <HintPath>..\..\..\packages\ZD.Cloud.WebApi.7.3.2.3\lib\net452\Kingdee.BOS.WebApi.Client.dll</HintPath> - </Reference> - <Reference Include="Kingdee.BOS.WebApi.ServicesStub, Version=7.3.1150.7, Culture=neutral, processorArchitecture=MSIL"> - <HintPath>..\..\..\packages\ZD.Cloud.WebApi.7.3.2.3\lib\net452\Kingdee.BOS.WebApi.ServicesStub.dll</HintPath> + <Reference Include="Kingdee.BOS.WebApi.Client"> + <HintPath>C:\Users\14027\Desktop\鏈�鏂扮増bin鏂囦欢\Kingdee.BOS.WebApi.Client.dll</HintPath> </Reference> <Reference Include="Kingdee.BOS.WeiXin.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.WeiXin.Core.dll</HintPath> @@ -135,11 +133,9 @@ <Reference Include="ZD.Cloud.Logger, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\..\..\packages\ZD.Cloud.Logger.1.1.0\lib\net40\ZD.Cloud.Logger.dll</HintPath> </Reference> - <Reference Include="ZD.Cloud.WebApi, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> - <HintPath>..\..\..\packages\ZD.Cloud.WebApi.7.3.2.3\lib\net452\ZD.Cloud.WebApi.dll</HintPath> - </Reference> <Reference Include="ZD.Share, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> - <HintPath>..\..\..\packages\ZD.Share.1.0.3\lib\net452\ZD.Share.dll</HintPath> + <SpecificVersion>False</SpecificVersion> + <HintPath>C:\Users\14027\Desktop\bin鏂囦欢\ZD.Share.dll</HintPath> </Reference> </ItemGroup> <ItemGroup> @@ -149,7 +145,6 @@ <Compile Include="Properties\AssemblyInfo.cs" /> </ItemGroup> <ItemGroup> - <None Include="Config\kdapi.config" /> <None Include="packages.config" /> </ItemGroup> <ItemGroup> @@ -165,6 +160,10 @@ <Project>{c13e0c61-b1c8-45dd-96f6-3c7dd573c6e4}</Project> <Name>Demo.BLL</Name> </ProjectReference> + <ProjectReference Include="..\Demo.Utility\Demo.Utility.csproj"> + <Project>{0AF059FC-D287-42C4-8835-133C3D96243A}</Project> + <Name>Demo.Utility</Name> + </ProjectReference> </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> </Project> \ No newline at end of file diff --git a/src/BLL/Demo.TimedTaskPlugIn/PRD/DayPlanChangeDynamicAlignment.cs b/src/BLL/Demo.TimedTaskPlugIn/PRD/DayPlanChangeDynamicAlignment.cs index 749cccc..2aa3928 100644 --- a/src/BLL/Demo.TimedTaskPlugIn/PRD/DayPlanChangeDynamicAlignment.cs +++ b/src/BLL/Demo.TimedTaskPlugIn/PRD/DayPlanChangeDynamicAlignment.cs @@ -1,756 +1,756 @@ -锘縰sing System.ComponentModel; -using Kingdee.BOS.Contracts; -using Kingdee.BOS; -using Kingdee.BOS.Core; -using Kingdee.BOS.ServiceHelper; -using System.Data; -using ZD.Cloud.Logger; -using Newtonsoft.Json.Linq; -using System; -using Kingdee.BOS.Util; -using System.Linq; -using ZD.Cloud.WebApi; -using Demo.Model.Model; -using Demo.Model.Model.PODemandPlan; -using System.Diagnostics; -using System.Collections.Generic; -using ZD.Share.Common; +锘�//using System.ComponentModel; +//using Kingdee.BOS.Contracts; +//using Kingdee.BOS; +//using Kingdee.BOS.Core; +//using Kingdee.BOS.ServiceHelper; +//using System.Data; +//using ZD.Cloud.Logger; +//using Newtonsoft.Json.Linq; +//using System; +//using Kingdee.BOS.Util; +//using System.Linq; +//using ZD.Cloud.WebApi; +//using Demo.Model.Model; +//using Demo.Model.Model.PODemandPlan; +//using System.Diagnostics; +//using System.Collections.Generic; +//using ZD.Share.Common; -namespace Demo.TimedTaskPlugIn.PRD -{ - [Description("鏃ヨ鍒掑彂鐢熷彉鍔ㄦ椂鎵ц")] - [HotUpdate] - public class DayPlanChangeDynamicAlignment : Kingdee.BOS.Contracts.IScheduleService - { - CloudClient cloudClient = new CloudClient("http://localhost/K3Cloud/"); - public Context Context; - List<PRD_Inventory> ListInventory;//搴撳瓨鏄庣粏 - List<PRD_Inventory> ListInventoryByStockOrgId;//鐗╂枡鎬诲簱瀛� +//namespace Demo.TimedTaskPlugIn.PRD +//{ +// [Description("鏃ヨ鍒掑彂鐢熷彉鍔ㄦ椂鎵ц")] +// [HotUpdate] +// public class DayPlanChangeDynamicAlignment : Kingdee.BOS.Contracts.IScheduleService +// { +// CloudClient cloudClient = new CloudClient("http://localhost//k3cloud/"); +// public Context Context; +// List<PRD_Inventory> ListInventory;//搴撳瓨鏄庣粏 +// List<PRD_Inventory> ListInventoryByStockOrgId;//鐗╂枡鎬诲簱瀛� - public void Run(Context ctx, Schedule schedule) - { - try - { - Context = ctx; - int Count = DBServiceHelper.ExecuteScalar<int>(Context, "/*dialect*/ select count(*) from SC_WORKBILLSORTBILLSub where ISNULL(FCOMPLETE,'')='' ", 0); - if (Count > 0) - { - CompleteSetAnalysis(); - DayPlanPPBomBill(); - Extraction(); - } - } - catch (System.Exception ex) - { - LogHelper.Error(ex.Message.ToString()); - } - } +// public void Run(Context ctx, Schedule schedule) +// { +// try +// { +// Context = ctx; +// int Count = DBServiceHelper.ExecuteScalar<int>(Context, "/*dialect*/ select count(*) from SC_WORKBILLSORTBILLSub where ISNULL(FCOMPLETE,'')='' ", 0); +// if (Count > 0) +// { +// CompleteSetAnalysis(); +// DayPlanPPBomBill(); +// Extraction(); +// } +// } +// catch (System.Exception ex) +// { +// LogHelper.Error(ex.Message.ToString()); +// } +// } - /// <summary> - /// 榻愬鍒嗘瀽 - /// </summary> - public void CompleteSetAnalysis() - { - try - { - Stopwatch sw = new Stopwatch(); - sw.Start();//寮�濮嬭鏃� - //娓呯┖榻愬涓存椂琛� - DBServiceHelper.Execute(Context, "/*dialect*/ delete JIT_MOMaterReadysBill "); - //鏇存柊鐘舵�� - DBServiceHelper.Execute(Context, "/*dialect*/ update Sc_WorkBillSortBillsub set FCOMPLETE='' "); - //鑾峰彇褰撳墠鍗虫椂搴撳瓨 鎸夌収鐗╂枡+搴撳瓨缁勭粐+璐т富+搴撳瓨鏁伴噺 - DataSet ds = DBServiceHelper.ExecuteDataSet(Context, @" -/*dialect*/ - select isnull(a.FBASEQTY,0)-ISNULL(b.FHUseQty,0) FBASEQTY,T1.FStockOrgId,T1.FMATERIALID,a.FOWNERID,c.FNUMBER from -( -select a.FHPRDORGID FStockOrgId,T2.FMATERIALID from SC_WORKBILLSORTBILLMAIN a -join SC_WORKBILLSORTBILLSub b on a.FID = b.FID -join T_PRD_PPBOM T1 on a.FPRDMOMAINID = t1.FMoId and a.FPRDMOENTYID = t1.FMOENTRYID -LEFT JOIN(select FID,FMATERIALID from T_PRD_PPBOMENTRY -group by FMATERIALID,FID) T2 on T1.FID = t2.FID -group by a.FHPRDORGID,T2.FMATERIALID -) 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 and a.FOwnerId = b.FOwnerId -LEFT join T_ORG_Organizations c on a.FOWNERID = c.FORGID ---where T1.FMATERIALID in (105773) -"); - ListInventory = ds.ToModelList<PRD_Inventory>(); - //鎬诲簱瀛� 鐗╂枡+搴撳瓨缁勭粐+搴撳瓨鏁伴噺 - ds = DBServiceHelper.ExecuteDataSet(Context, @" -/*dialect*/ - select sum(isnull(a.FBASEQTY,0)-ISNULL(b.FHUseQty,0))FBASEQTY,T1.FStockOrgId,T1.FMATERIALID from -( -select a.FHPRDORGID FStockOrgId,T2.FMATERIALID from SC_WORKBILLSORTBILLMAIN a -join SC_WORKBILLSORTBILLSub b on a.FID = b.FID -join T_PRD_PPBOM T1 on a.FPRDMOMAINID = t1.FMoId and a.FPRDMOENTYID = t1.FMOENTRYID -LEFT JOIN(select FID,FMATERIALID from T_PRD_PPBOMENTRY -group by FMATERIALID,FID) T2 on T1.FID = t2.FID -group by a.FHPRDORGID,T2.FMATERIALID -) 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 ---where T1.FMATERIALID in (105773) -group by T1.FStockOrgId,T1.FMATERIALID -"); - ListInventoryByStockOrgId = ds.ToModelList<PRD_Inventory>(); - //闇�瑕侀綈濂楀垎鏋愮殑鏁版嵁 - string sql = @" -/*dialect*/ -select a.FPRDMOMAINID,a.FPRDMOENTYID,a.FID,b.FEntryID,a.FHPRDORGID FStockOrgId,t5.FNUMBER as OrgFnumber,a.FHOrderLev,b.FHQTY,b.FHMASTERDATE,T1.FBillNo,T1.FMOBillNO,T1.FMOEntrySeq,T1.FMoId,T1.FMaterialID,T1.FQty, -T2.FMATERIALID FMATERIALID2, T4.FNumber,T2.FNeedQty,FNeedQty/FQty dwyl,(FHQTY-ISNULL(FProductNum,0))*(FNeedQty/FQty) PlanCount from SC_WORKBILLSORTBILLMAIN a -join SC_WORKBILLSORTBILLSub b on a.FID = b.FID -join T_PRD_PPBOM T1 on a.FPRDMOMAINID = t1.FMoId and a.FPRDMOENTYID = t1.FMOENTRYID -LEFT JOIN(select FID, MAX(FENTRYID) FENTRYID, SUM(FNeedQty) FNeedQty, FMATERIALID from T_PRD_PPBOMENTRY -group by FMATERIALID, FID ) T2 on T1.FID = t2.FID - --LEFT JOIN T_STK_Inventory T3 on t2.FMATERIALID = t3.FMATERIALID -JOIN T_BD_MATERIAL T4 on T2.FMATERIALID = T4.FMATERIALID -JOIN T_ORG_Organizations t5 on a.FHPRDORGID = t5.FORGID ---鏉′欢涓轰粖澶╁線鍚庣殑鏃ヨ鍒� + 浠婂ぉ涔嬪墠鏈叧闂殑鏃ヨ鍒� -where (FHEntryCloseDate is null and DATEDIFF(D,GETDATE(),FHMASTERDATE)<0)or DATEDIFF(D,GETDATE(),FHMASTERDATE)>=0 -ORDER BY b.FHMASTERDATE,a.FHOrderLev -"; - ds = DBServiceHelper.ExecuteDataSet(Context, sql); - List<PRD_PPBOM> BomList = ds.ToModelList<PRD_PPBOM>(); - //鏃ヨ鍒�+鐢熶骇璁㈠崟瀛愯〃缂栫爜ID - var DatePlanList = BomList.GroupBy(p => new { p.FHMASTERDATE, p.FPRDMOENTYID }).Select(x => new PRD_PPBOM { FHMASTERDATE = x.Key.FHMASTERDATE, FPRDMOENTYID = x.Key.FPRDMOENTYID }).ToList(); - //CompleteAnalysisTempModel 鐢ㄤ簬瀛樺偍涓存椂闇�瑕佹彃鍏ユ暟鎹� - List<CompleteAnalysisTempModel> completeAnalysisTempModel = new List<CompleteAnalysisTempModel>(); - int i = 1; - //鍒涘缓瀛楀吀 鐢ㄤ簬鍌ㄥ瓨鐗╂枡 + 鍗犵敤鏁伴噺 - Dictionary<string, decimal> occupyDic = new Dictionary<string, decimal>(); - foreach (var item in DatePlanList) - { - //绛涢�夊嚭褰撴棩璁″垝鏁版嵁 - var _BomList = BomList.Where(x => x.FHMASTERDATE == item.FHMASTERDATE && x.FPRDMOENTYID == item.FPRDMOENTYID).ToList(); - foreach (var _item in _BomList) - { - //璇ユ棩璁″垝鐗╂枡闇�瑕佹暟 - decimal need = _item.PlanCount; - var sjkcList = ListInventoryByStockOrgId.Where(x => x.FMATERIALID == _item.FMATERIALID2 && x.FStockOrgId == _item.FStockOrgId).FirstOrDefault(); - //鐪熸闇�瑕佸彇璁$畻鐨勬暟閲忥紙鎷嗗垎璐т富锛� - //璐т富鍖归厤 - List<PRD_Inventory> _ListInventory = ListInventory.Where(c => c.FMATERIALID == _item.FMATERIALID2 && c.FStockOrgId == _item.FStockOrgId && c.FBASEQTY > 0).ToList(); - if (_ListInventory.Count > 0) - { - decimal _fLackCount = _item.PlanCount > sjkcList.FBASEQTY ? (_item.PlanCount - sjkcList.FBASEQTY) : 0;//缂烘枡鏁伴噺 - foreach (var Inventory in _ListInventory) - { +// /// <summary> +// /// 榻愬鍒嗘瀽 +// /// </summary> +// public void CompleteSetAnalysis() +// { +// try +// { +// Stopwatch sw = new Stopwatch(); +// sw.Start();//寮�濮嬭鏃� +// //娓呯┖榻愬涓存椂琛� +// DBServiceHelper.Execute(Context, "/*dialect*/ delete JIT_MOMaterReadysBill "); +// //鏇存柊鐘舵�� +// DBServiceHelper.Execute(Context, "/*dialect*/ update Sc_WorkBillSortBillsub set FCOMPLETE='' "); +// //鑾峰彇褰撳墠鍗虫椂搴撳瓨 鎸夌収鐗╂枡+搴撳瓨缁勭粐+璐т富+搴撳瓨鏁伴噺 +// DataSet ds = DBServiceHelper.ExecuteDataSet(Context, @" +///*dialect*/ +// select isnull(a.FBASEQTY,0)-ISNULL(b.FHUseQty,0) FBASEQTY,T1.FStockOrgId,T1.FMATERIALID,a.FOWNERID,c.FNUMBER from +//( +//select a.FHPRDORGID FStockOrgId,T2.FMATERIALID from SC_WORKBILLSORTBILLMAIN a +//join SC_WORKBILLSORTBILLSub b on a.FID = b.FID +//join T_PRD_PPBOM T1 on a.FPRDMOMAINID = t1.FMoId and a.FPRDMOENTYID = t1.FMOENTRYID +//LEFT JOIN(select FID,FMATERIALID from T_PRD_PPBOMENTRY +//group by FMATERIALID,FID) T2 on T1.FID = t2.FID +//group by a.FHPRDORGID,T2.FMATERIALID +//) 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 and a.FOwnerId = b.FOwnerId +//LEFT join T_ORG_Organizations c on a.FOWNERID = c.FORGID +//--where T1.FMATERIALID in (105773) +//"); +// ListInventory = ds.ToModelList<PRD_Inventory>(); +// //鎬诲簱瀛� 鐗╂枡+搴撳瓨缁勭粐+搴撳瓨鏁伴噺 +// ds = DBServiceHelper.ExecuteDataSet(Context, @" +///*dialect*/ +// select sum(isnull(a.FBASEQTY,0)-ISNULL(b.FHUseQty,0))FBASEQTY,T1.FStockOrgId,T1.FMATERIALID from +//( +//select a.FHPRDORGID FStockOrgId,T2.FMATERIALID from SC_WORKBILLSORTBILLMAIN a +//join SC_WORKBILLSORTBILLSub b on a.FID = b.FID +//join T_PRD_PPBOM T1 on a.FPRDMOMAINID = t1.FMoId and a.FPRDMOENTYID = t1.FMOENTRYID +//LEFT JOIN(select FID,FMATERIALID from T_PRD_PPBOMENTRY +//group by FMATERIALID,FID) T2 on T1.FID = t2.FID +//group by a.FHPRDORGID,T2.FMATERIALID +//) 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 +//--where T1.FMATERIALID in (105773) +//group by T1.FStockOrgId,T1.FMATERIALID +//"); +// ListInventoryByStockOrgId = ds.ToModelList<PRD_Inventory>(); +// //闇�瑕侀綈濂楀垎鏋愮殑鏁版嵁 +// string sql = @" +///*dialect*/ +//select a.FPRDMOMAINID,a.FPRDMOENTYID,a.FID,b.FEntryID,a.FHPRDORGID FStockOrgId,t5.FNUMBER as OrgFnumber,a.FHOrderLev,b.FHQTY,b.FHMASTERDATE,T1.FBillNo,T1.FMOBillNO,T1.FMOEntrySeq,T1.FMoId,T1.FMaterialID,T1.FQty, +//T2.FMATERIALID FMATERIALID2, T4.FNumber,T2.FNeedQty,FNeedQty/FQty dwyl,(FHQTY-ISNULL(FProductNum,0))*(FNeedQty/FQty) PlanCount from SC_WORKBILLSORTBILLMAIN a +//join SC_WORKBILLSORTBILLSub b on a.FID = b.FID +//join T_PRD_PPBOM T1 on a.FPRDMOMAINID = t1.FMoId and a.FPRDMOENTYID = t1.FMOENTRYID +//LEFT JOIN(select FID, MAX(FENTRYID) FENTRYID, SUM(FNeedQty) FNeedQty, FMATERIALID from T_PRD_PPBOMENTRY +//group by FMATERIALID, FID ) T2 on T1.FID = t2.FID +// --LEFT JOIN T_STK_Inventory T3 on t2.FMATERIALID = t3.FMATERIALID +//JOIN T_BD_MATERIAL T4 on T2.FMATERIALID = T4.FMATERIALID +//JOIN T_ORG_Organizations t5 on a.FHPRDORGID = t5.FORGID +//--鏉′欢涓轰粖澶╁線鍚庣殑鏃ヨ鍒� + 浠婂ぉ涔嬪墠鏈叧闂殑鏃ヨ鍒� +//where (FHEntryCloseDate is null and DATEDIFF(D,GETDATE(),FHMASTERDATE)<0)or DATEDIFF(D,GETDATE(),FHMASTERDATE)>=0 +//ORDER BY b.FHMASTERDATE,a.FHOrderLev +//"; +// ds = DBServiceHelper.ExecuteDataSet(Context, sql); +// List<PRD_PPBOM> BomList = ds.ToModelList<PRD_PPBOM>(); +// //鏃ヨ鍒�+鐢熶骇璁㈠崟瀛愯〃缂栫爜ID +// var DatePlanList = BomList.GroupBy(p => new { p.FHMASTERDATE, p.FPRDMOENTYID }).Select(x => new PRD_PPBOM { FHMASTERDATE = x.Key.FHMASTERDATE, FPRDMOENTYID = x.Key.FPRDMOENTYID }).ToList(); +// //CompleteAnalysisTempModel 鐢ㄤ簬瀛樺偍涓存椂闇�瑕佹彃鍏ユ暟鎹� +// List<CompleteAnalysisTempModel> completeAnalysisTempModel = new List<CompleteAnalysisTempModel>(); +// int i = 1; +// //鍒涘缓瀛楀吀 鐢ㄤ簬鍌ㄥ瓨鐗╂枡 + 鍗犵敤鏁伴噺 +// Dictionary<string, decimal> occupyDic = new Dictionary<string, decimal>(); +// foreach (var item in DatePlanList) +// { +// //绛涢�夊嚭褰撴棩璁″垝鏁版嵁 +// var _BomList = BomList.Where(x => x.FHMASTERDATE == item.FHMASTERDATE && x.FPRDMOENTYID == item.FPRDMOENTYID).ToList(); +// foreach (var _item in _BomList) +// { +// //璇ユ棩璁″垝鐗╂枡闇�瑕佹暟 +// decimal need = _item.PlanCount; +// var sjkcList = ListInventoryByStockOrgId.Where(x => x.FMATERIALID == _item.FMATERIALID2 && x.FStockOrgId == _item.FStockOrgId).FirstOrDefault(); +// //鐪熸闇�瑕佸彇璁$畻鐨勬暟閲忥紙鎷嗗垎璐т富锛� +// //璐т富鍖归厤 +// List<PRD_Inventory> _ListInventory = ListInventory.Where(c => c.FMATERIALID == _item.FMATERIALID2 && c.FStockOrgId == _item.FStockOrgId && c.FBASEQTY > 0).ToList(); +// if (_ListInventory.Count > 0) +// { +// decimal _fLackCount = _item.PlanCount > sjkcList.FBASEQTY ? (_item.PlanCount - sjkcList.FBASEQTY) : 0;//缂烘枡鏁伴噺 +// foreach (var Inventory in _ListInventory) +// { - if (need == 0) - break; - decimal fCompleteCount = need >= Inventory.FBASEQTY ? Inventory.FBASEQTY : need;//榻愬鏁伴噺 - decimal occupyMaterial = 0; - if (!occupyDic.ContainsKey(_item.FMATERIALID2)) - { - occupyDic.Add(_item.FMATERIALID2, fCompleteCount); - } - else - { - occupyMaterial = occupyDic[_item.FMATERIALID2]; - occupyDic[_item.FMATERIALID2] = occupyMaterial + fCompleteCount; - } - completeAnalysisTempModel.Add(new Demo.Model.Model.CompleteAnalysisTempModel - { - FHMainICMOInterIDr = _item.FPRDMOMAINID, - FHMainICMOEntryID = _item.FPRDMOENTYID, - FHICMOInterID = _item.FID.ToString(), - FHICMOEntryID = _item.FEntryID.ToString(), - FHMaterID = _item.FNumber, - FHStockOrgID = _item.OrgFnumber, - FHPRDORGID = _item.OrgFnumber, - FPRDBillNo = _item.FMOBillNO, - FOwnerTypeId = "BD_OwnerOrg", - FOwnerId = Inventory.Fnumber, - FUnitDosage = _item.dwyl.ToString(),//鍗曚綅鐢ㄩ噺 - FSumPlanCount = _item.PlanCount.ToString(),//璁″垝鎬绘暟閲� - FCompleteCount = fCompleteCount, //榻愬鏁伴噺 - FLackCount = _fLackCount,//缂烘枡鏁伴噺 - FHStockQty = sjkcList.FBASEQTY,//鍗虫椂搴撳瓨 - FHLeftQty = Inventory.FBASEQTY,//鍙敤鏁伴噺 - FOccupyCount = occupyMaterial,//鍗犵敤鏁伴噺 - FComPlete = sjkcList.FBASEQTY >= _item.PlanCount ? "榻愬" : "鏈綈濂�", - FPlanDate = item.FHMASTERDATE // 鏃ヨ鍒掓棩鏈� - }); - //鎵e噺鎬诲簱瀛樻暟閲� - sjkcList.FBASEQTY = sjkcList.FBASEQTY >= fCompleteCount ? sjkcList.FBASEQTY - fCompleteCount : 0; - //鍓╀綑鏃ヨ鍒掗渶姹傛暟閲� - need = need >= Inventory.FBASEQTY ? need - Inventory.FBASEQTY : 0; - //鎵e噺娑堣�楀簱瀛� - Inventory.FBASEQTY = Inventory.FBASEQTY - fCompleteCount; - } - } - else - { - decimal occupyMaterial = 0; - if (occupyDic.ContainsKey(_item.FMATERIALID2)) - occupyMaterial = occupyDic[_item.FMATERIALID2]; - completeAnalysisTempModel.Add(new Demo.Model.Model.CompleteAnalysisTempModel - { - FHMainICMOInterIDr = _item.FPRDMOMAINID, - FHMainICMOEntryID = _item.FPRDMOENTYID, - FHICMOInterID = _item.FID.ToString(), - FHICMOEntryID = _item.FEntryID.ToString(), - FHMaterID = _item.FNumber, - FHStockOrgID = _item.OrgFnumber, - FHPRDORGID = _item.OrgFnumber, - FPRDBillNo = _item.FMOBillNO, - FOwnerTypeId = "BD_OwnerOrg", - FUnitDosage = _item.dwyl.ToString(),//鍗曚綅鐢ㄩ噺 - FSumPlanCount = _item.PlanCount.ToString(),//璁″垝鎬绘暟閲� - FCompleteCount = 0, //榻愬鏁伴噺 - FLackCount = _item.PlanCount,//缂烘枡鏁伴噺 - FHStockQty = 0,//鍗虫椂搴撳瓨 - FHLeftQty = 0,//鍙敤鏁伴噺 - FOccupyCount = occupyMaterial,//鍗犵敤鏁伴噺 - FComPlete = "鏈綈濂�", - FPlanDate = item.FHMASTERDATE // 鏃ヨ鍒掓棩鏈� - }); - } - } - //Thread.Sleep(100); - i++; - } - i = 1; - foreach (var item in completeAnalysisTempModel) - { - // this.View.Session["ProcessRateValue"] = Convert.ToInt32(this.View.Session["ProcessRateValue"]) + Convert.ToInt32(1 / completeAnalysisTempModel.Count * 90); - JObject jsonRoot = new JObject(); - jsonRoot.Add("Creator", ""); - jsonRoot.Add("NeedUpDateFields", new JArray()); - jsonRoot.Add("NeedReturnFields", new JArray()); - jsonRoot.Add("IsDeleteEntry", "true"); - jsonRoot.Add("SubSystemId", ""); - jsonRoot.Add("IsVerifyBaseDataField", ""); - JObject jsonModel = new JObject(); - jsonModel.Add("FHMainICMOInterIDr", item.FHMainICMOInterIDr); - jsonModel.Add("FHMainICMOEntryID", item.FHMainICMOEntryID); - jsonModel.Add("FHICMOInterID", item.FHICMOInterID); - jsonModel.Add("FHICMOEntryID", item.FHICMOEntryID); - jsonModel.Add("FHMaterID", new JObject() { ["FNUMBER"] = item.FHMaterID }); - jsonModel.Add("FHUseQty", item.FHUseQty); - jsonModel.Add("FHStockOrgID", new JObject() { ["FNUMBER"] = item.FHStockOrgID }); - jsonModel.Add("FHStockQty", item.FHStockQty); - jsonModel.Add("FHLeftQty", item.FHLeftQty); - jsonModel.Add("FHPRDORGID", new JObject() { ["FNUMBER"] = item.FHStockOrgID }); - jsonModel.Add("FUnitDosage", item.FUnitDosage); - jsonModel.Add("FSumPlanCount", item.FSumPlanCount); - jsonModel.Add("FCompleteCount", item.FCompleteCount); - jsonModel.Add("FPRDBillNo", item.FPRDBillNo); - jsonModel.Add("FOwnerTypeId", item.FOwnerTypeId); - jsonModel.Add("FComPlete", item.FComPlete); - jsonModel.Add("FLackCount", item.FLackCount); - jsonModel.Add("FOccupyCount", item.FOccupyCount); - jsonModel.Add("FPlanDate", item.FPlanDate); - if (item.FOwnerId != null) - jsonModel.Add("FOwnerId", new JObject() { ["FNUMBER"] = item.FOwnerId }); - jsonRoot.Add("Model", jsonModel); - var result = cloudClient.Save("paez_CompleteAnalysisTemp", jsonRoot.ToString()); - JObject saveObj = JObject.Parse(result); - string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper(); - if (saveIsSuc != "TRUE") - { - LogHelper.Error(jsonRoot.ToString()); - } - i++; - } - //鎵ц瀹屾垚鍚� 鏇存柊鏃ヨ鍒掑伐鍗曠姸鎬� - DBServiceHelper.Execute(Context, @" -/*dialect*/update Sc_WorkBillSortBillSub set FComplete = '鏈綈濂�' where FEntryID IN (select distinct FHICMOEntryID from JIT_MOMaterReadysBill where isnull(FCOMPLETE,'鏈綈濂�') ='鏈綈濂�') -"); - DBServiceHelper.Execute(Context, @" -/*dialect*/update Sc_WorkBillSortBillSub set FComplete = '榻愬' where FEntryID NOT IN (select distinct FHICMOEntryID from JIT_MOMaterReadysBill where isnull(FCOMPLETE,'鏈綈濂�') ='鏈綈濂�') -"); - sw.Stop();//缁撴潫璁℃椂 - LogHelper.Info("杩愯鎬绘椂闀匡細" + sw.Elapsed); - } - catch (Exception ex) - { - LogHelper.Error(ex.Message.ToString()); - } - } +// if (need == 0) +// break; +// decimal fCompleteCount = need >= Inventory.FBASEQTY ? Inventory.FBASEQTY : need;//榻愬鏁伴噺 +// decimal occupyMaterial = 0; +// if (!occupyDic.ContainsKey(_item.FMATERIALID2)) +// { +// occupyDic.Add(_item.FMATERIALID2, fCompleteCount); +// } +// else +// { +// occupyMaterial = occupyDic[_item.FMATERIALID2]; +// occupyDic[_item.FMATERIALID2] = occupyMaterial + fCompleteCount; +// } +// completeAnalysisTempModel.Add(new Demo.Model.Model.CompleteAnalysisTempModel +// { +// FHMainICMOInterIDr = _item.FPRDMOMAINID, +// FHMainICMOEntryID = _item.FPRDMOENTYID, +// FHICMOInterID = _item.FID.ToString(), +// FHICMOEntryID = _item.FEntryID.ToString(), +// FHMaterID = _item.FNumber, +// FHStockOrgID = _item.OrgFnumber, +// FHPRDORGID = _item.OrgFnumber, +// FPRDBillNo = _item.FMOBillNO, +// FOwnerTypeId = "BD_OwnerOrg", +// FOwnerId = Inventory.Fnumber, +// FUnitDosage = _item.dwyl.ToString(),//鍗曚綅鐢ㄩ噺 +// FSumPlanCount = _item.PlanCount.ToString(),//璁″垝鎬绘暟閲� +// FCompleteCount = fCompleteCount, //榻愬鏁伴噺 +// FLackCount = _fLackCount,//缂烘枡鏁伴噺 +// FHStockQty = sjkcList.FBASEQTY,//鍗虫椂搴撳瓨 +// FHLeftQty = Inventory.FBASEQTY,//鍙敤鏁伴噺 +// FOccupyCount = occupyMaterial,//鍗犵敤鏁伴噺 +// FComPlete = sjkcList.FBASEQTY >= _item.PlanCount ? "榻愬" : "鏈綈濂�", +// FPlanDate = item.FHMASTERDATE // 鏃ヨ鍒掓棩鏈� +// }); +// //鎵e噺鎬诲簱瀛樻暟閲� +// sjkcList.FBASEQTY = sjkcList.FBASEQTY >= fCompleteCount ? sjkcList.FBASEQTY - fCompleteCount : 0; +// //鍓╀綑鏃ヨ鍒掗渶姹傛暟閲� +// need = need >= Inventory.FBASEQTY ? need - Inventory.FBASEQTY : 0; +// //鎵e噺娑堣�楀簱瀛� +// Inventory.FBASEQTY = Inventory.FBASEQTY - fCompleteCount; +// } +// } +// else +// { +// decimal occupyMaterial = 0; +// if (occupyDic.ContainsKey(_item.FMATERIALID2)) +// occupyMaterial = occupyDic[_item.FMATERIALID2]; +// completeAnalysisTempModel.Add(new Demo.Model.Model.CompleteAnalysisTempModel +// { +// FHMainICMOInterIDr = _item.FPRDMOMAINID, +// FHMainICMOEntryID = _item.FPRDMOENTYID, +// FHICMOInterID = _item.FID.ToString(), +// FHICMOEntryID = _item.FEntryID.ToString(), +// FHMaterID = _item.FNumber, +// FHStockOrgID = _item.OrgFnumber, +// FHPRDORGID = _item.OrgFnumber, +// FPRDBillNo = _item.FMOBillNO, +// FOwnerTypeId = "BD_OwnerOrg", +// FUnitDosage = _item.dwyl.ToString(),//鍗曚綅鐢ㄩ噺 +// FSumPlanCount = _item.PlanCount.ToString(),//璁″垝鎬绘暟閲� +// FCompleteCount = 0, //榻愬鏁伴噺 +// FLackCount = _item.PlanCount,//缂烘枡鏁伴噺 +// FHStockQty = 0,//鍗虫椂搴撳瓨 +// FHLeftQty = 0,//鍙敤鏁伴噺 +// FOccupyCount = occupyMaterial,//鍗犵敤鏁伴噺 +// FComPlete = "鏈綈濂�", +// FPlanDate = item.FHMASTERDATE // 鏃ヨ鍒掓棩鏈� +// }); +// } +// } +// //Thread.Sleep(100); +// i++; +// } +// i = 1; +// foreach (var item in completeAnalysisTempModel) +// { +// // this.View.Session["ProcessRateValue"] = Convert.ToInt32(this.View.Session["ProcessRateValue"]) + Convert.ToInt32(1 / completeAnalysisTempModel.Count * 90); +// JObject jsonRoot = new JObject(); +// jsonRoot.Add("Creator", ""); +// jsonRoot.Add("NeedUpDateFields", new JArray()); +// jsonRoot.Add("NeedReturnFields", new JArray()); +// jsonRoot.Add("IsDeleteEntry", "true"); +// jsonRoot.Add("SubSystemId", ""); +// jsonRoot.Add("IsVerifyBaseDataField", ""); +// JObject jsonModel = new JObject(); +// jsonModel.Add("FHMainICMOInterIDr", item.FHMainICMOInterIDr); +// jsonModel.Add("FHMainICMOEntryID", item.FHMainICMOEntryID); +// jsonModel.Add("FHICMOInterID", item.FHICMOInterID); +// jsonModel.Add("FHICMOEntryID", item.FHICMOEntryID); +// jsonModel.Add("FHMaterID", new JObject() { ["FNUMBER"] = item.FHMaterID }); +// jsonModel.Add("FHUseQty", item.FHUseQty); +// jsonModel.Add("FHStockOrgID", new JObject() { ["FNUMBER"] = item.FHStockOrgID }); +// jsonModel.Add("FHStockQty", item.FHStockQty); +// jsonModel.Add("FHLeftQty", item.FHLeftQty); +// jsonModel.Add("FHPRDORGID", new JObject() { ["FNUMBER"] = item.FHStockOrgID }); +// jsonModel.Add("FUnitDosage", item.FUnitDosage); +// jsonModel.Add("FSumPlanCount", item.FSumPlanCount); +// jsonModel.Add("FCompleteCount", item.FCompleteCount); +// jsonModel.Add("FPRDBillNo", item.FPRDBillNo); +// jsonModel.Add("FOwnerTypeId", item.FOwnerTypeId); +// jsonModel.Add("FComPlete", item.FComPlete); +// jsonModel.Add("FLackCount", item.FLackCount); +// jsonModel.Add("FOccupyCount", item.FOccupyCount); +// jsonModel.Add("FPlanDate", item.FPlanDate); +// if (item.FOwnerId != null) +// jsonModel.Add("FOwnerId", new JObject() { ["FNUMBER"] = item.FOwnerId }); +// jsonRoot.Add("Model", jsonModel); +// var result = cloudClient.Save("paez_CompleteAnalysisTemp", jsonRoot.ToString()); +// JObject saveObj = JObject.Parse(result); +// string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper(); +// if (saveIsSuc != "TRUE") +// { +// LogHelper.Error(jsonRoot.ToString()); +// } +// i++; +// } +// //鎵ц瀹屾垚鍚� 鏇存柊鏃ヨ鍒掑伐鍗曠姸鎬� +// DBServiceHelper.Execute(Context, @" +///*dialect*/update Sc_WorkBillSortBillSub set FComplete = '鏈綈濂�' where FEntryID IN (select distinct FHICMOEntryID from JIT_MOMaterReadysBill where isnull(FCOMPLETE,'鏈綈濂�') ='鏈綈濂�') +//"); +// DBServiceHelper.Execute(Context, @" +///*dialect*/update Sc_WorkBillSortBillSub set FComplete = '榻愬' where FEntryID NOT IN (select distinct FHICMOEntryID from JIT_MOMaterReadysBill where isnull(FCOMPLETE,'鏈綈濂�') ='鏈綈濂�') +//"); +// sw.Stop();//缁撴潫璁℃椂 +// LogHelper.Info("杩愯鎬绘椂闀匡細" + sw.Elapsed); +// } +// catch (Exception ex) +// { +// LogHelper.Error(ex.Message.ToString()); +// } +// } - /// <summary> - /// 鏃ヨ鍒掔敤鏂欐竻鍗曠敓鎴� - /// </summary> - public void DayPlanPPBomBill() - { - //閿佸畾鐨勬棩璁″垝涓嶇敓鎴� - try - { - 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 -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_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 -LEFT JOIN T_BD_UNIT T8 ON T4.FUNITID = T8.FUNITID - LEFT JOIN Sc_DayPlanPPBomBillMain T9 ON T1.FEntryID=T9.FDayPlanFID - LEFT join T_ORG_Organizations t10 on t2.FHPRDORGID = t10.FORGID - LEFT join T_ENG_WORKCENTER t11 on t2.FHSOURCEID = t11.FID -" -); - DataSet ds = DBServiceHelper.ExecuteDataSet(Context, sql); - DataTable dt = ds.Tables[0]; - List<DayPlanMaterial> DayPlanMaterial = new List<DayPlanMaterial>(); - if (dt.Rows.Count > 0) - { - foreach (DataRow dr in dt.Rows) - { - DayPlanMaterial.Add(new Demo.Model.Model.DayPlanMaterial - { - FID = dr["DayPlanFID"].ToString(), - FEntryID = dr["FEntryID"].ToString(), - FHDate = DateTime.Now.ToString(), - FOrgId = dr["FORGNUMBER"].ToString(), - FHMaterID = dr["FNUMBER"].ToString(), - FHWorkDate = dr["FHMASTERDATE"].ToString(), - FHQty = dr["FHQTY"].ToString(), - FHUnitID = dr["FUNITNUMBER"].ToString(), - FDayPlanFID = dr["FEntryID"].ToString(), - FHMaterSubID = dr["FNUMBER2"].ToString(), - FHUnitSubID = dr["FUNITNUMBER2"].ToString(), - FHQtyMust = dr["FHQtyMust"].ToString(), - FHQtySub = dr["FHQtyMust"].ToString(), - FHPPBomInterID = dr["FPPBOM"].ToString(), - FHPPBomEntryID = dr["FENTRYID"].ToString(), - FHSourceID = dr["FHSOURCENUMBER"].ToString(), - FNumerator = dr["FNumerator"].ToString(), - FDenominator = dr["FDenominator"].ToString(), - FFIXSCRAPQTY = dr["FFIXSCRAPQTY"].ToString(), - FHQtyScrap = dr["FSCRAPRATE"].ToString(), - }); - } - var fidList = DayPlanMaterial.Select(x => x.FEntryID).Distinct().ToList(); - foreach (var item in fidList) - { - var _DayPlanMaterial = DayPlanMaterial.Where(x => x.FEntryID == item).ToList(); - JObject model = new JObject(); - model.Add("FHDate", DateTime.Now); - model.Add("FOrgId", new JObject() { ["Fnumber"] = _DayPlanMaterial[0].FOrgId });//鍙戞枡缁勭粐 - model.Add("FHMaterID", new JObject() { ["Fnumber"] = _DayPlanMaterial[0].FHMaterID });//鐗╂枡 - model.Add("FHWorkDate", _DayPlanMaterial[0].FHWorkDate);//鏃ュ伐鍗曟棩鏈� FHWorkDate - model.Add("FHQty", _DayPlanMaterial[0].FHQty);//涓讳骇鍝佹暟閲忥細FHQty - model.Add("FHUnitID", new JObject() { ["Fnumber"] = _DayPlanMaterial[0].FHUnitID });//鍗曚綅锛欶HUnitID - model.Add("FDayPlanFID", _DayPlanMaterial[0].FDayPlanFID);//鏃ヨ鍒掑伐鍗曞唴鐮� - JArray Entry = new JArray(); - foreach (var _item in _DayPlanMaterial) - { - JObject ModelEnty = new JObject(); - ModelEnty.Add("FHMaterSubID", new JObject() { ["Fnumber"] = _item.FHMaterSubID });//瀛愮墿鏂橣HMaterSubID - ModelEnty.Add("FHUnitSubID", new JObject() { ["Fnumber"] = _item.FHUnitSubID });//鍗曚綅FHUnitSubID - ModelEnty.Add("FHQtyMust", _item.FHQtyMust);//搴斿彂鏁伴噺FHQtyMust - ModelEnty.Add("FHQtySub", _item.FHQtySub);//鏁伴噺FHQtySub - ModelEnty.Add("FHPPBomInterID", _item.FHPPBomInterID);//鐢ㄦ枡娓呭崟涓诲唴鐮丗HPPBomInterID - ModelEnty.Add("FHPPBomEntryID", _item.FHPPBomEntryID);//鐢ㄦ枡娓呭崟瀛愬唴鐮丗HPPBomEntryID - ModelEnty.Add("FHSourceID", new JObject() { ["Fnumber"] = _item.FHSourceID });//鐢熶骇璧勬簮FHSourceID - ModelEnty.Add("FNumerator", _item.FNumerator);//鍒嗘瘝 - ModelEnty.Add("FDenominator", _item.FDenominator);//鍒嗗瓙 - ModelEnty.Add("FDwyl", Convert.ToDecimal(_item.FNumerator) / Convert.ToDecimal(_item.FDenominator));//鍗曚綅鐢ㄦ枡 - ModelEnty.Add("FFIXSCRAPQTY", _item.FFIXSCRAPQTY);//鍥哄畾鎹熻�� - ModelEnty.Add("FHQtyScrap", _item.FHQtyScrap);//鍙樺姩鎹熻�楃巼% - Entry.Add(ModelEnty); - } - model.Add("FEntity", Entry); - if (!string.IsNullOrEmpty(_DayPlanMaterial[0].FID)) - model.Add("FID", _DayPlanMaterial[0].FID); - JObject jsonRoot = new JObject() - { - ["Creator"] = "", - ["NeedUpDateFields"] = new JArray(), - ["NeedReturnFields"] = new JArray(), - ["IsDeleteEntry"] = "true", - ["SubSystemId"] = "", - ["IsVerifyBaseDataField"] = "false", - ["Model"] = model - }; - var result = cloudClient.Save("Paez_Sc_DayPlanPPBomBill", jsonRoot.ToString()); - JObject saveObj = JObject.Parse(result); - string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper(); - if (saveIsSuc != "TRUE") - LogHelper.Error(saveIsSuc); - } - } - } - catch (Exception ex) - { - LogHelper.Error(ex.Message.ToString()); - } - } - /// <summary> - /// 鎻愭枡璁″垝 - /// </summary> - public void Extraction() - { - string sql = string.Format(@"/*dialect*/ select t1.FID from Sc_WorkBillSortBillMain t1"); - DataTable fidDt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0]; - string FDayPlanWorkID = ""; - foreach (DataRow dr in fidDt.Rows) - { - FDayPlanWorkID += Convert.ToString(dr["FID"]) + ","; - } - FDayPlanWorkID = FDayPlanWorkID.Substring(0, FDayPlanWorkID.Length - 1); - //鎻愭枡璁″垝棰勫鐞� 娓呯悊鎻愭枡璁″垝鍗曟暟鎹� 鏇存柊閲囪喘璁㈠崟鎻愭枡璁″垝鏁伴噺 - sql = string.Format(@" - /*dialect*/ - exec [鎻愭枡璁″垝棰勫鐞哴 '{0}' - ", FDayPlanWorkID.Replace(",", "-")); +// /// <summary> +// /// 鏃ヨ鍒掔敤鏂欐竻鍗曠敓鎴� +// /// </summary> +// public void DayPlanPPBomBill() +// { +// //閿佸畾鐨勬棩璁″垝涓嶇敓鎴� +// try +// { +// 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 +//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_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 +//LEFT JOIN T_BD_UNIT T8 ON T4.FUNITID = T8.FUNITID +// LEFT JOIN Sc_DayPlanPPBomBillMain T9 ON T1.FEntryID=T9.FDayPlanFID +// LEFT join T_ORG_Organizations t10 on t2.FHPRDORGID = t10.FORGID +// LEFT join T_ENG_WORKCENTER t11 on t2.FHSOURCEID = t11.FID +//" +//); +// DataSet ds = DBServiceHelper.ExecuteDataSet(Context, sql); +// DataTable dt = ds.Tables[0]; +// List<DayPlanMaterial> DayPlanMaterial = new List<DayPlanMaterial>(); +// if (dt.Rows.Count > 0) +// { +// foreach (DataRow dr in dt.Rows) +// { +// DayPlanMaterial.Add(new Demo.Model.Model.DayPlanMaterial +// { +// FID = dr["DayPlanFID"].ToString(), +// FEntryID = dr["FEntryID"].ToString(), +// FHDate = DateTime.Now.ToString(), +// FOrgId = dr["FORGNUMBER"].ToString(), +// FHMaterID = dr["FNUMBER"].ToString(), +// FHWorkDate = dr["FHMASTERDATE"].ToString(), +// FHQty = dr["FHQTY"].ToString(), +// FHUnitID = dr["FUNITNUMBER"].ToString(), +// FDayPlanFID = dr["FEntryID"].ToString(), +// FHMaterSubID = dr["FNUMBER2"].ToString(), +// FHUnitSubID = dr["FUNITNUMBER2"].ToString(), +// FHQtyMust = dr["FHQtyMust"].ToString(), +// FHQtySub = dr["FHQtyMust"].ToString(), +// FHPPBomInterID = dr["FPPBOM"].ToString(), +// FHPPBomEntryID = dr["FENTRYID"].ToString(), +// FHSourceID = dr["FHSOURCENUMBER"].ToString(), +// FNumerator = dr["FNumerator"].ToString(), +// FDenominator = dr["FDenominator"].ToString(), +// FFIXSCRAPQTY = dr["FFIXSCRAPQTY"].ToString(), +// FHQtyScrap = dr["FSCRAPRATE"].ToString(), +// }); +// } +// var fidList = DayPlanMaterial.Select(x => x.FEntryID).Distinct().ToList(); +// foreach (var item in fidList) +// { +// var _DayPlanMaterial = DayPlanMaterial.Where(x => x.FEntryID == item).ToList(); +// JObject model = new JObject(); +// model.Add("FHDate", DateTime.Now); +// model.Add("FOrgId", new JObject() { ["Fnumber"] = _DayPlanMaterial[0].FOrgId });//鍙戞枡缁勭粐 +// model.Add("FHMaterID", new JObject() { ["Fnumber"] = _DayPlanMaterial[0].FHMaterID });//鐗╂枡 +// model.Add("FHWorkDate", _DayPlanMaterial[0].FHWorkDate);//鏃ュ伐鍗曟棩鏈� FHWorkDate +// model.Add("FHQty", _DayPlanMaterial[0].FHQty);//涓讳骇鍝佹暟閲忥細FHQty +// model.Add("FHUnitID", new JObject() { ["Fnumber"] = _DayPlanMaterial[0].FHUnitID });//鍗曚綅锛欶HUnitID +// model.Add("FDayPlanFID", _DayPlanMaterial[0].FDayPlanFID);//鏃ヨ鍒掑伐鍗曞唴鐮� +// JArray Entry = new JArray(); +// foreach (var _item in _DayPlanMaterial) +// { +// JObject ModelEnty = new JObject(); +// ModelEnty.Add("FHMaterSubID", new JObject() { ["Fnumber"] = _item.FHMaterSubID });//瀛愮墿鏂橣HMaterSubID +// ModelEnty.Add("FHUnitSubID", new JObject() { ["Fnumber"] = _item.FHUnitSubID });//鍗曚綅FHUnitSubID +// ModelEnty.Add("FHQtyMust", _item.FHQtyMust);//搴斿彂鏁伴噺FHQtyMust +// ModelEnty.Add("FHQtySub", _item.FHQtySub);//鏁伴噺FHQtySub +// ModelEnty.Add("FHPPBomInterID", _item.FHPPBomInterID);//鐢ㄦ枡娓呭崟涓诲唴鐮丗HPPBomInterID +// ModelEnty.Add("FHPPBomEntryID", _item.FHPPBomEntryID);//鐢ㄦ枡娓呭崟瀛愬唴鐮丗HPPBomEntryID +// ModelEnty.Add("FHSourceID", new JObject() { ["Fnumber"] = _item.FHSourceID });//鐢熶骇璧勬簮FHSourceID +// ModelEnty.Add("FNumerator", _item.FNumerator);//鍒嗘瘝 +// ModelEnty.Add("FDenominator", _item.FDenominator);//鍒嗗瓙 +// ModelEnty.Add("FDwyl", Convert.ToDecimal(_item.FNumerator) / Convert.ToDecimal(_item.FDenominator));//鍗曚綅鐢ㄦ枡 +// ModelEnty.Add("FFIXSCRAPQTY", _item.FFIXSCRAPQTY);//鍥哄畾鎹熻�� +// ModelEnty.Add("FHQtyScrap", _item.FHQtyScrap);//鍙樺姩鎹熻�楃巼% +// Entry.Add(ModelEnty); +// } +// model.Add("FEntity", Entry); +// if (!string.IsNullOrEmpty(_DayPlanMaterial[0].FID)) +// model.Add("FID", _DayPlanMaterial[0].FID); +// JObject jsonRoot = new JObject() +// { +// ["Creator"] = "", +// ["NeedUpDateFields"] = new JArray(), +// ["NeedReturnFields"] = new JArray(), +// ["IsDeleteEntry"] = "true", +// ["SubSystemId"] = "", +// ["IsVerifyBaseDataField"] = "false", +// ["Model"] = model +// }; +// var result = cloudClient.Save("Paez_Sc_DayPlanPPBomBill", jsonRoot.ToString()); +// JObject saveObj = JObject.Parse(result); +// string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper(); +// if (saveIsSuc != "TRUE") +// LogHelper.Error(saveIsSuc); +// } +// } +// } +// catch (Exception ex) +// { +// LogHelper.Error(ex.Message.ToString()); +// } +// } +// /// <summary> +// /// 鎻愭枡璁″垝 +// /// </summary> +// public void Extraction() +// { +// string sql = string.Format(@"/*dialect*/ select t1.FID from Sc_WorkBillSortBillMain t1"); +// DataTable fidDt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0]; +// string FDayPlanWorkID = ""; +// foreach (DataRow dr in fidDt.Rows) +// { +// FDayPlanWorkID += Convert.ToString(dr["FID"]) + ","; +// } +// FDayPlanWorkID = FDayPlanWorkID.Substring(0, FDayPlanWorkID.Length - 1); +// //鎻愭枡璁″垝棰勫鐞� 娓呯悊鎻愭枡璁″垝鍗曟暟鎹� 鏇存柊閲囪喘璁㈠崟鎻愭枡璁″垝鏁伴噺 +// sql = string.Format(@" +// /*dialect*/ +// exec [鎻愭枡璁″垝棰勫鐞哴 '{0}' +// ", FDayPlanWorkID.Replace(",", "-")); - DBServiceHelper.Execute(Context, sql); - //閲囪喘璁㈠崟鏁版嵁 - 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 -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') -"; - List<PurchaseInventory> PurchaseInventory = DBServiceHelper.ExecuteDataSet(Context, sql).ToModelList<PurchaseInventory>(); - LogHelper.Info("閲囪喘璁㈠崟鏁版嵁" + sql); +// DBServiceHelper.Execute(Context, sql); +// //閲囪喘璁㈠崟鏁版嵁 +// 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 +//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') +//"; +// List<PurchaseInventory> PurchaseInventory = DBServiceHelper.ExecuteDataSet(Context, sql).ToModelList<PurchaseInventory>(); +// LogHelper.Info("閲囪喘璁㈠崟鏁版嵁" + sql); - sql = string.Format(@" - /*dialect*/ - SELECT T1.FID,FHMATERID,FHMASTERDATE,FHQTY,FCOMPLETECOUNT,FPRDMOMAINID,T2.FENTRYID,T1.FBILLNO, FNeedQty,(FLeadtime+FLeadTtime2)FFIXLEADTIME,t5.FMAXPOQTY,FJITBatch FMINPOQTY,FJITMATERIALGROUP,FJITMaterielDemand,FJITSafeStock,t3.FMATERIALID,t6.FNumber,FHQTY*FNeedQty NeedQty,FHPRDORGID FStockOrgId FROM SC_WORKBILLSORTBILLMAIN T1 -JOIN SC_WORKBILLSORTBILLSUB T2 ON T1.FID=T2.FID -LEFT JOIN(SELECT T1.FID,max(t2.FMATERIALID)FMATERIALIDMAIN, max(t2.FMoId)FMoId,MAX(FENTRYID) FENTRYID, SUM(convert(decimal(18, 2), FBASENUMERATOR / FBASEDENOMINATOR))FNeedQty, T1.FMATERIALID from T_PRD_PPBOMENTRY T1 -JOIN T_PRD_PPBOM T2 on t1.FID = t2.FID -group by T1.FMATERIALID, T1.FID) T3 on T1.FPRDMOMAINID = t3.FMoId and T1.FHMATERID = t3.FMATERIALIDMAIN -JOIN T_BD_MATERIAL T6 ON T3.FMATERIALID = T6.FMATERIALID -join t_BD_MaterialBase t4 on t3.FMATERIALID = t4.FMATERIALID -join t_BD_MaterialPlan t5 on t3.FMATERIALID = t5.FMATERIALID -WHERE DATEDIFF(D,GETDATE(),FHMASTERDATE) >=0 -AND FDayPlanQuantity>FCOMPLETECOUNT -AND FERPCLSID=1 - AND T2.FENTRYID not in (select distinct FHSOURCEENTRYID from CG_PODEMANDPLANBILLSUB where FHSOURCEINTERID IN ({0})) -AND T1.FID in ({0}) -order by FHMASTERDATE -", FDayPlanWorkID); - LogHelper.Info("鎻愭枡鏁版嵁" + sql); - DataSet ds = DBServiceHelper.ExecuteDataSet(Context, sql); - List<DayPlanPpbom> DayPlanPpbom = ds.ToModelList<DayPlanPpbom>(); +// sql = string.Format(@" +// /*dialect*/ +// SELECT T1.FID,FHMATERID,FHMASTERDATE,FHQTY,FCOMPLETECOUNT,FPRDMOMAINID,T2.FENTRYID,T1.FBILLNO, FNeedQty,(FLeadtime+FLeadTtime2)FFIXLEADTIME,t5.FMAXPOQTY,FJITBatch FMINPOQTY,FJITMATERIALGROUP,FJITMaterielDemand,FJITSafeStock,t3.FMATERIALID,t6.FNumber,FHQTY*FNeedQty NeedQty,FHPRDORGID FStockOrgId FROM SC_WORKBILLSORTBILLMAIN T1 +//JOIN SC_WORKBILLSORTBILLSUB T2 ON T1.FID=T2.FID +//LEFT JOIN(SELECT T1.FID,max(t2.FMATERIALID)FMATERIALIDMAIN, max(t2.FMoId)FMoId,MAX(FENTRYID) FENTRYID, SUM(convert(decimal(18, 2), FBASENUMERATOR / FBASEDENOMINATOR))FNeedQty, T1.FMATERIALID from T_PRD_PPBOMENTRY T1 +//JOIN T_PRD_PPBOM T2 on t1.FID = t2.FID +//group by T1.FMATERIALID, T1.FID) T3 on T1.FPRDMOMAINID = t3.FMoId and T1.FHMATERID = t3.FMATERIALIDMAIN +//JOIN T_BD_MATERIAL T6 ON T3.FMATERIALID = T6.FMATERIALID +//join t_BD_MaterialBase t4 on t3.FMATERIALID = t4.FMATERIALID +//join t_BD_MaterialPlan t5 on t3.FMATERIALID = t5.FMATERIALID +//WHERE DATEDIFF(D,GETDATE(),FHMASTERDATE) >=0 +//AND FDayPlanQuantity>FCOMPLETECOUNT +//AND FERPCLSID=1 +// AND T2.FENTRYID not in (select distinct FHSOURCEENTRYID from CG_PODEMANDPLANBILLSUB where FHSOURCEINTERID IN ({0})) +//AND T1.FID in ({0}) +//order by FHMASTERDATE +//", FDayPlanWorkID); +// LogHelper.Info("鎻愭枡鏁版嵁" + sql); +// DataSet ds = DBServiceHelper.ExecuteDataSet(Context, sql); +// 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 == "105773").ToList(); +// 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 == "105773").ToList(); - LogHelper.Info("鐗╂枡琛屾暟" + MaterialIDList.Count); +// LogHelper.Info("鐗╂枡琛屾暟" + MaterialIDList.Count); - //鎻愭枡璁″垝鏁版嵁闆嗕复鏃跺瓨鍌ㄩ泦鍚� - List<PODemandPlanTemp> PODemandPlanTemp = new List<PODemandPlanTemp>(); - //sql闆嗗悎 鏇存柊閲囪喘璁㈠崟鍗犵敤鐨勬彁鏂欒鍒掓暟閲� - List<string> sqlList = new List<string>(); - //MaterialIDList = new List<string> { "105773" }; - foreach (var item in MaterialIDList) - { - LogHelper.Info(item.FMATERIALID.ToString()); - List<DayPlanPpbom> _DayPlanPpbom = DayPlanPpbom.Where(x => x.FMATERIALID == item.FMATERIALID && x.FStockOrgId == item.FStockOrgId).ToList(); +// //鎻愭枡璁″垝鏁版嵁闆嗕复鏃跺瓨鍌ㄩ泦鍚� +// List<PODemandPlanTemp> PODemandPlanTemp = new List<PODemandPlanTemp>(); +// //sql闆嗗悎 鏇存柊閲囪喘璁㈠崟鍗犵敤鐨勬彁鏂欒鍒掓暟閲� +// List<string> sqlList = new List<string>(); +// //MaterialIDList = new List<string> { "105773" }; +// foreach (var item in MaterialIDList) +// { +// 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;//鎻愬墠鏈� - string FJITmaterialGroup = _DayPlanPpbom.FirstOrDefault().FJITmaterialGroup;//jit鐗╂枡鍒嗙被 - string FJITMaterielDemand = _DayPlanPpbom.FirstOrDefault().FJITMaterielDemand; //JIT鐗╂枡闇�姹備緵璐у懆鏈� - string FJITSafeStock = _DayPlanPpbom.FirstOrDefault().FJITSafeStock; //JIT瀹夊叏搴撳瓨 - decimal NeedQty = 0; - DateTime DATE = _DayPlanPpbom.FirstOrDefault().FHMASTERDATE; - int i = 1; - //璁板綍鍦ㄦ渶灏忛噰璐噺闇�姹備笅鐨勬棩璁″垝鏄庣粏FentyrID - List<int> FEntryIdList = new List<int>(); - foreach (var _item in _DayPlanPpbom) - { - if (NeedQty == 0) - DATE = Convert.ToDateTime(_item.FHMASTERDATE).AddDays(-FFIXLEADTIME); - FEntryIdList.Add(_item.FENTRYID); - NeedQty += _item.NeedQty; - if ((FJITmaterialGroup == "鎬婚噺鎺у埗瑙勬牸绫�" || FJITmaterialGroup == "璁㈠崟涓撶敤涓�х被") && FEntryIdList.Count < Convert.ToInt32(FJITMaterielDemand)) //璁㈠崟涓撶敤涓�х被 - continue; - if (NeedQty >= FMINPOQTY) - { - List<PurchaseInventory> _PurchaseInventory = PurchaseInventory.Where(x => x.FMATERIALID == item.FMATERIALID && x.FStockOrgId == item.FStockOrgId && x.FQTY > 0).ToList(); - if (_PurchaseInventory.Count == 0) - { - NeedQty = 0; - break; - } - foreach (var Purchase in _PurchaseInventory) - { - LogHelper.Info("Purchase"); - LogHelper.Info("鐗╂枡锛�" + Purchase.FMATERIALID + ",鏁伴噺锛�" + Purchase.FQTY); - if (Purchase.FQTY >= NeedQty) - { - List<int> mmm = new List<int>(); - foreach (int id in FEntryIdList) - { - mmm.Add(id); - var DayPlanPpbomls = DayPlanPpbom.Where(c => c.FENTRYID == id && c.FMATERIALID == _item.FMATERIALID).FirstOrDefault(); - PODemandPlanTemp.Add(new Demo.Model.Model.PODemandPlan.PODemandPlanTemp - { - FID = DayPlanPpbomls.FID, - FHMASTERDATE = DATE, - FQty = DayPlanPpbomls.NeedQty, - FBILLNO = DayPlanPpbomls.FBILLNO, - FENTRYID = DayPlanPpbomls.FENTRYID, - FMATERIALID = DayPlanPpbomls.FMATERIALID, - FNumber = DayPlanPpbomls.FNumber, - OLDDATE = DayPlanPpbomls.FHMASTERDATE, - FFIXLEADTIME = FFIXLEADTIME, +// decimal FMINPOQTY = _DayPlanPpbom.FirstOrDefault().FMINPOQTY;//鏈�灏忚捣璁㈤噺 +// double FFIXLEADTIME = _DayPlanPpbom.FirstOrDefault().FFIXLEADTIME;//鎻愬墠鏈� +// string FJITmaterialGroup = _DayPlanPpbom.FirstOrDefault().FJITmaterialGroup;//jit鐗╂枡鍒嗙被 +// string FJITMaterielDemand = _DayPlanPpbom.FirstOrDefault().FJITMaterielDemand; //JIT鐗╂枡闇�姹備緵璐у懆鏈� +// string FJITSafeStock = _DayPlanPpbom.FirstOrDefault().FJITSafeStock; //JIT瀹夊叏搴撳瓨 +// decimal NeedQty = 0; +// DateTime DATE = _DayPlanPpbom.FirstOrDefault().FHMASTERDATE; +// int i = 1; +// //璁板綍鍦ㄦ渶灏忛噰璐噺闇�姹備笅鐨勬棩璁″垝鏄庣粏FentyrID +// List<int> FEntryIdList = new List<int>(); +// foreach (var _item in _DayPlanPpbom) +// { +// if (NeedQty == 0) +// DATE = Convert.ToDateTime(_item.FHMASTERDATE).AddDays(-FFIXLEADTIME); +// FEntryIdList.Add(_item.FENTRYID); +// NeedQty += _item.NeedQty; +// if ((FJITmaterialGroup == "鎬婚噺鎺у埗瑙勬牸绫�" || FJITmaterialGroup == "璁㈠崟涓撶敤涓�х被") && FEntryIdList.Count < Convert.ToInt32(FJITMaterielDemand)) //璁㈠崟涓撶敤涓�х被 +// continue; +// if (NeedQty >= FMINPOQTY) +// { +// List<PurchaseInventory> _PurchaseInventory = PurchaseInventory.Where(x => x.FMATERIALID == item.FMATERIALID && x.FStockOrgId == item.FStockOrgId && x.FQTY > 0).ToList(); +// if (_PurchaseInventory.Count == 0) +// { +// NeedQty = 0; +// break; +// } +// foreach (var Purchase in _PurchaseInventory) +// { +// LogHelper.Info("Purchase"); +// LogHelper.Info("鐗╂枡锛�" + Purchase.FMATERIALID + ",鏁伴噺锛�" + Purchase.FQTY); +// if (Purchase.FQTY >= NeedQty) +// { +// List<int> mmm = new List<int>(); +// foreach (int id in FEntryIdList) +// { +// mmm.Add(id); +// var DayPlanPpbomls = DayPlanPpbom.Where(c => c.FENTRYID == id && c.FMATERIALID == _item.FMATERIALID).FirstOrDefault(); +// PODemandPlanTemp.Add(new Demo.Model.Model.PODemandPlan.PODemandPlanTemp +// { +// FID = DayPlanPpbomls.FID, +// FHMASTERDATE = DATE, +// FQty = DayPlanPpbomls.NeedQty, +// FBILLNO = DayPlanPpbomls.FBILLNO, +// FENTRYID = DayPlanPpbomls.FENTRYID, +// FMATERIALID = DayPlanPpbomls.FMATERIALID, +// FNumber = DayPlanPpbomls.FNumber, +// OLDDATE = DayPlanPpbomls.FHMASTERDATE, +// FFIXLEADTIME = FFIXLEADTIME, - PurchseFID = Purchase.FID, - PurchseFentryID = Purchase.FENTRYID, - FSUPPLIERID = Purchase.FSUPPLIERID, - PurchseFNUMBER = Purchase.FNUMBER, - PurchseFBillNo = Purchase.FBillNo, - PurchseFqty = Purchase.FQTY, - FStockOrgId = Purchase.FStockOrgId, //閲囪喘缁勭粐 - FORGNumber = Purchase.FORGNumber - }); - //鎵i櫎鏃ヨ鍒掓槑缁嗗凡琚垎閰嶇殑鏁伴噺 - DayPlanPpbomls.NeedQty = 0; - } - FEntryIdList.Clear(); - //鏇存柊閲囪喘璁㈠崟 - sqlList.Add($"/*dialect*/ update t_PUR_POOrderEntry set FPODemandPlanCount =isnull(FPODemandPlanCount,0)+ '{NeedQty}' where FENTRYID = {Purchase.FENTRYID}"); - //鎵i櫎褰撳墠琛屽搴旈噰璐鍗曟暟閲� - var ls = PurchaseInventory.Where(c => c.FENTRYID == Purchase.FENTRYID).FirstOrDefault(); - ls.FQTY -= NeedQty; - break; - } - else - { - NeedQty = NeedQty - Purchase.FQTY; - decimal _NeedQty = Purchase.FQTY;//閲囪喘璁㈠崟鏁伴噺 - List<int> mmm = new List<int>(); - foreach (int id in FEntryIdList) - { - var DayPlanPpbomls = DayPlanPpbom.Where(c => c.FENTRYID == id && c.FMATERIALID == _item.FMATERIALID).FirstOrDefault(); - decimal Qty = DayPlanPpbomls.NeedQty; - if (Qty > _NeedQty) - Qty = _NeedQty; - _NeedQty = _NeedQty - DayPlanPpbomls.NeedQty; - PODemandPlanTemp.Add(new Demo.Model.Model.PODemandPlan.PODemandPlanTemp - { - FID = DayPlanPpbomls.FID, - FHMASTERDATE = DATE, - FQty = Qty, - FBILLNO = DayPlanPpbomls.FBILLNO, - FENTRYID = DayPlanPpbomls.FENTRYID, - FMATERIALID = DayPlanPpbomls.FMATERIALID, - FNumber = DayPlanPpbomls.FNumber, - OLDDATE = DayPlanPpbomls.FHMASTERDATE, - FFIXLEADTIME = FFIXLEADTIME, +// PurchseFID = Purchase.FID, +// PurchseFentryID = Purchase.FENTRYID, +// FSUPPLIERID = Purchase.FSUPPLIERID, +// PurchseFNUMBER = Purchase.FNUMBER, +// PurchseFBillNo = Purchase.FBillNo, +// PurchseFqty = Purchase.FQTY, +// FStockOrgId = Purchase.FStockOrgId, //閲囪喘缁勭粐 +// FORGNumber = Purchase.FORGNumber +// }); +// //鎵i櫎鏃ヨ鍒掓槑缁嗗凡琚垎閰嶇殑鏁伴噺 +// DayPlanPpbomls.NeedQty = 0; +// } +// FEntryIdList.Clear(); +// //鏇存柊閲囪喘璁㈠崟 +// sqlList.Add($"/*dialect*/ update t_PUR_POOrderEntry set FPODemandPlanCount =isnull(FPODemandPlanCount,0)+ '{NeedQty}' where FENTRYID = {Purchase.FENTRYID}"); +// //鎵i櫎褰撳墠琛屽搴旈噰璐鍗曟暟閲� +// var ls = PurchaseInventory.Where(c => c.FENTRYID == Purchase.FENTRYID).FirstOrDefault(); +// ls.FQTY -= NeedQty; +// break; +// } +// else +// { +// NeedQty = NeedQty - Purchase.FQTY; +// decimal _NeedQty = Purchase.FQTY;//閲囪喘璁㈠崟鏁伴噺 +// List<int> mmm = new List<int>(); +// foreach (int id in FEntryIdList) +// { +// var DayPlanPpbomls = DayPlanPpbom.Where(c => c.FENTRYID == id && c.FMATERIALID == _item.FMATERIALID).FirstOrDefault(); +// decimal Qty = DayPlanPpbomls.NeedQty; +// if (Qty > _NeedQty) +// Qty = _NeedQty; +// _NeedQty = _NeedQty - DayPlanPpbomls.NeedQty; +// PODemandPlanTemp.Add(new Demo.Model.Model.PODemandPlan.PODemandPlanTemp +// { +// FID = DayPlanPpbomls.FID, +// FHMASTERDATE = DATE, +// FQty = Qty, +// FBILLNO = DayPlanPpbomls.FBILLNO, +// FENTRYID = DayPlanPpbomls.FENTRYID, +// FMATERIALID = DayPlanPpbomls.FMATERIALID, +// FNumber = DayPlanPpbomls.FNumber, +// OLDDATE = DayPlanPpbomls.FHMASTERDATE, +// FFIXLEADTIME = FFIXLEADTIME, - PurchseFID = Purchase.FID, - PurchseFentryID = Purchase.FENTRYID, - FSUPPLIERID = Purchase.FSUPPLIERID, - PurchseFNUMBER = Purchase.FNUMBER, - PurchseFBillNo = Purchase.FBillNo, - PurchseFqty = Purchase.FQTY, - FStockOrgId = Purchase.FStockOrgId, //閲囪喘缁勭粐 - FORGNumber = Purchase.FORGNumber - }); - DayPlanPpbomls.NeedQty -= Qty; - //鏇存柊閲囪喘璁㈠崟 - sqlList.Add($"/*dialect*/ update t_PUR_POOrderEntry set FPODemandPlanCount = isnull(FPODemandPlanCount,0)+ '{Qty}' where FENTRYID = {Purchase.FENTRYID}"); - //鏇存柊Model - var ls = PurchaseInventory.Where(c => c.FENTRYID == Purchase.FENTRYID).FirstOrDefault(); - ls.FQTY -= Qty; - if (_NeedQty < 0) - { - foreach (var mm in mmm) - { - FEntryIdList.Remove(mm); - } - break; - } - mmm.Add(id); - } - foreach (var mm in mmm) - { - FEntryIdList.Remove(mm); - } - } - } - NeedQty = 0; - } +// PurchseFID = Purchase.FID, +// PurchseFentryID = Purchase.FENTRYID, +// FSUPPLIERID = Purchase.FSUPPLIERID, +// PurchseFNUMBER = Purchase.FNUMBER, +// PurchseFBillNo = Purchase.FBillNo, +// PurchseFqty = Purchase.FQTY, +// FStockOrgId = Purchase.FStockOrgId, //閲囪喘缁勭粐 +// FORGNumber = Purchase.FORGNumber +// }); +// DayPlanPpbomls.NeedQty -= Qty; +// //鏇存柊閲囪喘璁㈠崟 +// sqlList.Add($"/*dialect*/ update t_PUR_POOrderEntry set FPODemandPlanCount = isnull(FPODemandPlanCount,0)+ '{Qty}' where FENTRYID = {Purchase.FENTRYID}"); +// //鏇存柊Model +// var ls = PurchaseInventory.Where(c => c.FENTRYID == Purchase.FENTRYID).FirstOrDefault(); +// ls.FQTY -= Qty; +// if (_NeedQty < 0) +// { +// foreach (var mm in mmm) +// { +// FEntryIdList.Remove(mm); +// } +// break; +// } +// mmm.Add(id); +// } +// foreach (var mm in mmm) +// { +// FEntryIdList.Remove(mm); +// } +// } +// } +// NeedQty = 0; +// } - #region 鍓╀笅涓嶈冻鏃舵寜鏈�灏忛噰璐壒娆$敓鎴� - //鍓╀笅涓嶈冻鏃舵寜鏈�灏忛噰璐壒娆$敓鎴� - //else if (i == _DayPlanPpbom.Count && NeedQty > 0) - //{ - // NeedQty = FMINPOQTY; - // List<PurchaseInventory> _PurchaseInventory = PurchaseInventory.Where(x => x.FMATERIALID == item.FMATERIALID && x.FStockOrgId == item.FStockOrgId && x.FQTY > 0).ToList(); - // if (_PurchaseInventory.Count == 0) - // { - // NeedQty = 0; - // break; - // } +// #region 鍓╀笅涓嶈冻鏃舵寜鏈�灏忛噰璐壒娆$敓鎴� +// //鍓╀笅涓嶈冻鏃舵寜鏈�灏忛噰璐壒娆$敓鎴� +// //else if (i == _DayPlanPpbom.Count && NeedQty > 0) +// //{ +// // NeedQty = FMINPOQTY; +// // List<PurchaseInventory> _PurchaseInventory = PurchaseInventory.Where(x => x.FMATERIALID == item.FMATERIALID && x.FStockOrgId == item.FStockOrgId && x.FQTY > 0).ToList(); +// // if (_PurchaseInventory.Count == 0) +// // { +// // NeedQty = 0; +// // break; +// // } - // foreach (var Purchase in _PurchaseInventory) - // { - // if (Purchase.FQTY >= NeedQty) - // { +// // foreach (var Purchase in _PurchaseInventory) +// // { +// // if (Purchase.FQTY >= NeedQty) +// // { - // List<int> mmm = new List<int>(); - // foreach (int id in FEntryIdList) - // { - // mmm.Add(id); - // var DayPlanPpbomls = DayPlanPpbom.Where(c => c.FENTRYID == id && c.FMATERIALID == _item.FMATERIALID).FirstOrDefault(); - // PODemandPlanTemp.Add(new Demo.Model.Model.PODemandPlan.PODemandPlanTemp - // { - // FID = DayPlanPpbomls.FID, - // FHMASTERDATE = DATE, - // FQty = DayPlanPpbomls.NeedQty, - // FBILLNO = DayPlanPpbomls.FBILLNO, - // FENTRYID = DayPlanPpbomls.FENTRYID, - // FMATERIALID = DayPlanPpbomls.FMATERIALID, - // FNumber = DayPlanPpbomls.FNumber, - // OLDDATE = DayPlanPpbomls.FHMASTERDATE, - // FFIXLEADTIME = FFIXLEADTIME, +// // List<int> mmm = new List<int>(); +// // foreach (int id in FEntryIdList) +// // { +// // mmm.Add(id); +// // var DayPlanPpbomls = DayPlanPpbom.Where(c => c.FENTRYID == id && c.FMATERIALID == _item.FMATERIALID).FirstOrDefault(); +// // PODemandPlanTemp.Add(new Demo.Model.Model.PODemandPlan.PODemandPlanTemp +// // { +// // FID = DayPlanPpbomls.FID, +// // FHMASTERDATE = DATE, +// // FQty = DayPlanPpbomls.NeedQty, +// // FBILLNO = DayPlanPpbomls.FBILLNO, +// // FENTRYID = DayPlanPpbomls.FENTRYID, +// // FMATERIALID = DayPlanPpbomls.FMATERIALID, +// // FNumber = DayPlanPpbomls.FNumber, +// // OLDDATE = DayPlanPpbomls.FHMASTERDATE, +// // FFIXLEADTIME = FFIXLEADTIME, - // PurchseFID = Purchase.FID, - // PurchseFentryID = Purchase.FENTRYID, - // FSUPPLIERID = Purchase.FSUPPLIERID, - // PurchseFNUMBER = Purchase.FNUMBER, - // PurchseFBillNo = Purchase.FBillNo, - // PurchseFqty = Purchase.FQTY +// // PurchseFID = Purchase.FID, +// // PurchseFentryID = Purchase.FENTRYID, +// // FSUPPLIERID = Purchase.FSUPPLIERID, +// // PurchseFNUMBER = Purchase.FNUMBER, +// // PurchseFBillNo = Purchase.FBillNo, +// // PurchseFqty = Purchase.FQTY - // }); - // //鎵i櫎鏃ヨ鍒掓槑缁嗗凡琚垎閰嶇殑鏁伴噺 - // DayPlanPpbomls.NeedQty = 0; - // } - // FEntryIdList.Clear(); - // //鏇存柊閲囪喘璁㈠崟 - // sqlList.Add($"/*dialect*/ update t_PUR_POOrderEntry set FPODemandPlanCount =isnull(FPODemandPlanCount,0)+ '{NeedQty}' where FENTRYID = {Purchase.FENTRYID}"); - // //鎵i櫎褰撳墠琛屽搴旈噰璐鍗曟暟閲� - // var ls = PurchaseInventory.Where(c => c.FENTRYID == Purchase.FENTRYID).FirstOrDefault(); - // ls.FQTY -= NeedQty; - // break; - // } - // else - // { - // NeedQty = NeedQty - Purchase.FQTY; - // decimal _NeedQty = Purchase.FQTY;//閲囪喘璁㈠崟鏁伴噺 - // List<int> mmm = new List<int>(); - // foreach (int id in FEntryIdList) - // { +// // }); +// // //鎵i櫎鏃ヨ鍒掓槑缁嗗凡琚垎閰嶇殑鏁伴噺 +// // DayPlanPpbomls.NeedQty = 0; +// // } +// // FEntryIdList.Clear(); +// // //鏇存柊閲囪喘璁㈠崟 +// // sqlList.Add($"/*dialect*/ update t_PUR_POOrderEntry set FPODemandPlanCount =isnull(FPODemandPlanCount,0)+ '{NeedQty}' where FENTRYID = {Purchase.FENTRYID}"); +// // //鎵i櫎褰撳墠琛屽搴旈噰璐鍗曟暟閲� +// // var ls = PurchaseInventory.Where(c => c.FENTRYID == Purchase.FENTRYID).FirstOrDefault(); +// // ls.FQTY -= NeedQty; +// // break; +// // } +// // else +// // { +// // NeedQty = NeedQty - Purchase.FQTY; +// // decimal _NeedQty = Purchase.FQTY;//閲囪喘璁㈠崟鏁伴噺 +// // List<int> mmm = new List<int>(); +// // foreach (int id in FEntryIdList) +// // { - // var DayPlanPpbomls = DayPlanPpbom.Where(c => c.FENTRYID == id && c.FMATERIALID == _item.FMATERIALID).FirstOrDefault(); - // decimal Qty = DayPlanPpbomls.NeedQty; - // if (Qty > _NeedQty) - // Qty = _NeedQty; - // _NeedQty = _NeedQty - DayPlanPpbomls.NeedQty; - // PODemandPlanTemp.Add(new Demo.Model.Model.PODemandPlan.PODemandPlanTemp - // { - // FID = DayPlanPpbomls.FID, - // FHMASTERDATE = DATE, - // FQty = Qty, - // FBILLNO = DayPlanPpbomls.FBILLNO, - // FENTRYID = DayPlanPpbomls.FENTRYID, - // FMATERIALID = DayPlanPpbomls.FMATERIALID, - // FNumber = DayPlanPpbomls.FNumber, - // OLDDATE = DayPlanPpbomls.FHMASTERDATE, - // FFIXLEADTIME = FFIXLEADTIME, +// // var DayPlanPpbomls = DayPlanPpbom.Where(c => c.FENTRYID == id && c.FMATERIALID == _item.FMATERIALID).FirstOrDefault(); +// // decimal Qty = DayPlanPpbomls.NeedQty; +// // if (Qty > _NeedQty) +// // Qty = _NeedQty; +// // _NeedQty = _NeedQty - DayPlanPpbomls.NeedQty; +// // PODemandPlanTemp.Add(new Demo.Model.Model.PODemandPlan.PODemandPlanTemp +// // { +// // FID = DayPlanPpbomls.FID, +// // FHMASTERDATE = DATE, +// // FQty = Qty, +// // FBILLNO = DayPlanPpbomls.FBILLNO, +// // FENTRYID = DayPlanPpbomls.FENTRYID, +// // FMATERIALID = DayPlanPpbomls.FMATERIALID, +// // FNumber = DayPlanPpbomls.FNumber, +// // OLDDATE = DayPlanPpbomls.FHMASTERDATE, +// // FFIXLEADTIME = FFIXLEADTIME, - // PurchseFID = Purchase.FID, - // PurchseFentryID = Purchase.FENTRYID, - // FSUPPLIERID = Purchase.FSUPPLIERID, - // PurchseFNUMBER = Purchase.FNUMBER, - // PurchseFBillNo = Purchase.FBillNo, - // PurchseFqty = Purchase.FQTY +// // PurchseFID = Purchase.FID, +// // PurchseFentryID = Purchase.FENTRYID, +// // FSUPPLIERID = Purchase.FSUPPLIERID, +// // PurchseFNUMBER = Purchase.FNUMBER, +// // PurchseFBillNo = Purchase.FBillNo, +// // PurchseFqty = Purchase.FQTY - // }); - // DayPlanPpbomls.NeedQty -= Qty; - // //鏇存柊閲囪喘璁㈠崟 - // sqlList.Add($"/*dialect*/ update t_PUR_POOrderEntry set FPODemandPlanCount = isnull(FPODemandPlanCount,0)+ '{Qty}' where FENTRYID = {Purchase.FENTRYID}"); +// // }); +// // DayPlanPpbomls.NeedQty -= Qty; +// // //鏇存柊閲囪喘璁㈠崟 +// // sqlList.Add($"/*dialect*/ update t_PUR_POOrderEntry set FPODemandPlanCount = isnull(FPODemandPlanCount,0)+ '{Qty}' where FENTRYID = {Purchase.FENTRYID}"); - // //鏇存柊Model - // var ls = PurchaseInventory.Where(c => c.FENTRYID == Purchase.FENTRYID).FirstOrDefault(); - // ls.FQTY -= Qty; +// // //鏇存柊Model +// // var ls = PurchaseInventory.Where(c => c.FENTRYID == Purchase.FENTRYID).FirstOrDefault(); +// // ls.FQTY -= Qty; - // if (_NeedQty < 0) - // { - // foreach (var mm in mmm) - // { - // FEntryIdList.Remove(mm); - // } - // break; - // } +// // if (_NeedQty < 0) +// // { +// // foreach (var mm in mmm) +// // { +// // FEntryIdList.Remove(mm); +// // } +// // break; +// // } - // mmm.Add(id); - // } - // foreach (var mm in mmm) - // { - // FEntryIdList.Remove(mm); - // } +// // mmm.Add(id); +// // } +// // foreach (var mm in mmm) +// // { +// // FEntryIdList.Remove(mm); +// // } - // } - // } - // NeedQty = 0; - //} - #endregion - i++; - } - } - var PODemandPlanList222 = PODemandPlanTemp.GroupBy(p => new PODemandPlanTemp { PurchseFNUMBER = p.PurchseFNUMBER, FHMASTERDATE = p.FHMASTERDATE }).Select(x => new PODemandPlanTemp { PurchseFNUMBER = x.Key.PurchseFNUMBER, FHMASTERDATE = x.Key.FHMASTERDATE }).ToList(); - var PODemandPlanList = PODemandPlanTemp.GroupBy(p => new { p.PurchseFNUMBER, p.FHMASTERDATE }).Select(x => new PODemandPlanTemp { PurchseFNUMBER = x.Key.PurchseFNUMBER, FHMASTERDATE = x.Key.FHMASTERDATE }).ToList(); - foreach (var item in PODemandPlanList) - { - DateTime date = item.FHMASTERDATE; - string PurchseFNUMBER = item.PurchseFNUMBER; - JObject model = new JObject(); - model.Add("FHDate", date); - model.Add("FHRemark", "鐢熶骇璁㈠崟鍙凤細" + "娴嬭瘯鍛㈠憿"); - model.Add("FSupplierID", new JObject() { ["Fnumber"] = PurchseFNUMBER }); - JArray Fentity = new JArray(); - List<PODemandPlanTemp> _PODemandPlanList = PODemandPlanTemp.Where(x => x.FHMASTERDATE == date && x.PurchseFNUMBER == PurchseFNUMBER).ToList(); - foreach (var _item in _PODemandPlanList) - { - JObject FentityModel = new JObject(); - FentityModel.Add("FHPURCHASEORGID", new JObject() { ["Fnumber"] = _item.FORGNumber });//閲囪喘缁勭粐 - FentityModel.Add("FHMaterID", new JObject() { ["Fnumber"] = _item.FNumber });//鐗╂枡 - FentityModel.Add("FHQty", _item.FQty);//鏁伴噺 - FentityModel.Add("FHSourceInterID", _item.FID);//鏃ヨ鍒掑伐鍗旻ID - FentityModel.Add("FHSourceEntryID", _item.FENTRYID);//鏃ヨ鍒掑伐鍗旻ENTRYID - FentityModel.Add("FHSourceBillNo", _item.FBILLNO);//鏃ヨ鍒掑伐鍗曞崟鍙� - FentityModel.Add("FHSourceBillType", "");//鏃ヨ鍒掑伐鍗曠被鍨� - FentityModel.Add("FDayPlanDate", _item.OLDDATE);//鏃ヨ鍒掑伐鍗曠被鍨� - FentityModel.Add("FHRelationQty", _item.PurchseFqty);//鍏宠仈鏁伴噺 - FentityModel.Add("FFIXLEADTIME", _item.FFIXLEADTIME);//鎻愬墠鏈� +// // } +// // } +// // NeedQty = 0; +// //} +// #endregion +// i++; +// } +// } +// var PODemandPlanList222 = PODemandPlanTemp.GroupBy(p => new PODemandPlanTemp { PurchseFNUMBER = p.PurchseFNUMBER, FHMASTERDATE = p.FHMASTERDATE }).Select(x => new PODemandPlanTemp { PurchseFNUMBER = x.Key.PurchseFNUMBER, FHMASTERDATE = x.Key.FHMASTERDATE }).ToList(); +// var PODemandPlanList = PODemandPlanTemp.GroupBy(p => new { p.PurchseFNUMBER, p.FHMASTERDATE }).Select(x => new PODemandPlanTemp { PurchseFNUMBER = x.Key.PurchseFNUMBER, FHMASTERDATE = x.Key.FHMASTERDATE }).ToList(); +// foreach (var item in PODemandPlanList) +// { +// DateTime date = item.FHMASTERDATE; +// string PurchseFNUMBER = item.PurchseFNUMBER; +// JObject model = new JObject(); +// model.Add("FHDate", date); +// model.Add("FHRemark", "鐢熶骇璁㈠崟鍙凤細" + "娴嬭瘯鍛㈠憿"); +// model.Add("FSupplierID", new JObject() { ["Fnumber"] = PurchseFNUMBER }); +// JArray Fentity = new JArray(); +// List<PODemandPlanTemp> _PODemandPlanList = PODemandPlanTemp.Where(x => x.FHMASTERDATE == date && x.PurchseFNUMBER == PurchseFNUMBER).ToList(); +// foreach (var _item in _PODemandPlanList) +// { +// JObject FentityModel = new JObject(); +// FentityModel.Add("FHPURCHASEORGID", new JObject() { ["Fnumber"] = _item.FORGNumber });//閲囪喘缁勭粐 +// FentityModel.Add("FHMaterID", new JObject() { ["Fnumber"] = _item.FNumber });//鐗╂枡 +// FentityModel.Add("FHQty", _item.FQty);//鏁伴噺 +// FentityModel.Add("FHSourceInterID", _item.FID);//鏃ヨ鍒掑伐鍗旻ID +// FentityModel.Add("FHSourceEntryID", _item.FENTRYID);//鏃ヨ鍒掑伐鍗旻ENTRYID +// FentityModel.Add("FHSourceBillNo", _item.FBILLNO);//鏃ヨ鍒掑伐鍗曞崟鍙� +// FentityModel.Add("FHSourceBillType", "");//鏃ヨ鍒掑伐鍗曠被鍨� +// FentityModel.Add("FDayPlanDate", _item.OLDDATE);//鏃ヨ鍒掑伐鍗曠被鍨� +// FentityModel.Add("FHRelationQty", _item.PurchseFqty);//鍏宠仈鏁伴噺 +// FentityModel.Add("FFIXLEADTIME", _item.FFIXLEADTIME);//鎻愬墠鏈� - FentityModel.Add("FPURCHASEORGID", new JObject() { ["Fnumber"] = _item.FORGNumber });//閲囪喘缁勭粐 - FentityModel.Add("FHPOOrderInterID", _item.PurchseFID);// 閲囪喘璁㈠崟鍐呯爜锛欶HPOOrderInterID - FentityModel.Add("FHPOOrderEntryID", _item.PurchseFentryID); //閲囪喘璁㈠崟瀛愬唴鐮侊細FHPOOrderEntryID - FentityModel.Add("FHPOOrderBillNo", _item.PurchseFBillNo); //閲囪喘璁㈠崟鍙凤細FHPOOrderBillNo - Fentity.Add(FentityModel); - } - model.Add("FEntity", Fentity); - JObject jsonRoot = new JObject() - { - ["Creator"] = "", - ["NeedUpDateFields"] = new JArray(), - ["NeedReturnFields"] = new JArray(), - ["IsDeleteEntry"] = "false", - ["SubSystemId"] = "", - ["IsVerifyBaseDataField"] = "false", - ["Model"] = model - }; - var result = cloudClient.Save("paez_PODemandPlan", jsonRoot.ToString()); - JObject saveObj = JObject.Parse(result); - string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper(); - LogHelper.Info("鏈�鍚�"); - LogHelper.Info(jsonRoot.ToString()); - if (saveIsSuc != "TRUE") - LogHelper.Error(saveIsSuc); - } - DBServiceHelper.ExecuteBatch(Context, sqlList); - } - } -} +// FentityModel.Add("FPURCHASEORGID", new JObject() { ["Fnumber"] = _item.FORGNumber });//閲囪喘缁勭粐 +// FentityModel.Add("FHPOOrderInterID", _item.PurchseFID);// 閲囪喘璁㈠崟鍐呯爜锛欶HPOOrderInterID +// FentityModel.Add("FHPOOrderEntryID", _item.PurchseFentryID); //閲囪喘璁㈠崟瀛愬唴鐮侊細FHPOOrderEntryID +// FentityModel.Add("FHPOOrderBillNo", _item.PurchseFBillNo); //閲囪喘璁㈠崟鍙凤細FHPOOrderBillNo +// Fentity.Add(FentityModel); +// } +// model.Add("FEntity", Fentity); +// JObject jsonRoot = new JObject() +// { +// ["Creator"] = "", +// ["NeedUpDateFields"] = new JArray(), +// ["NeedReturnFields"] = new JArray(), +// ["IsDeleteEntry"] = "false", +// ["SubSystemId"] = "", +// ["IsVerifyBaseDataField"] = "false", +// ["Model"] = model +// }; +// var result = cloudClient.Save("paez_PODemandPlan", jsonRoot.ToString()); +// JObject saveObj = JObject.Parse(result); +// string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper(); +// LogHelper.Info("鏈�鍚�"); +// LogHelper.Info(jsonRoot.ToString()); +// if (saveIsSuc != "TRUE") +// LogHelper.Error(saveIsSuc); +// } +// DBServiceHelper.ExecuteBatch(Context, sqlList); +// } +// } +//} diff --git a/src/BLL/Demo.TimedTaskPlugIn/PRD/DayPlanPPBomBillTimeTask.cs b/src/BLL/Demo.TimedTaskPlugIn/PRD/DayPlanPPBomBillTimeTask.cs index bef3380..79292d3 100644 --- a/src/BLL/Demo.TimedTaskPlugIn/PRD/DayPlanPPBomBillTimeTask.cs +++ b/src/BLL/Demo.TimedTaskPlugIn/PRD/DayPlanPPBomBillTimeTask.cs @@ -9,7 +9,7 @@ using System; using Kingdee.BOS.Util; using System.Linq; -using ZD.Cloud.WebApi; +using Demo.Utility; namespace Demo.TimedTaskPlugIn.PRD { @@ -19,7 +19,7 @@ { public void Run(Context ctx, Schedule schedule) { - CloudClient cloudClient = new CloudClient("http://localhost/K3Cloud/"); + CloudClient cloudClient = new CloudClient("http://localhost//k3cloud/"); try { string sql = string.Format(@" diff --git a/src/BLL/Demo.TimedTaskPlugIn/PRD/StockChangeDynamicAlignment.cs b/src/BLL/Demo.TimedTaskPlugIn/PRD/StockChangeDynamicAlignment.cs index b8f3e36..c913233 100644 --- a/src/BLL/Demo.TimedTaskPlugIn/PRD/StockChangeDynamicAlignment.cs +++ b/src/BLL/Demo.TimedTaskPlugIn/PRD/StockChangeDynamicAlignment.cs @@ -9,7 +9,6 @@ using System; using Kingdee.BOS.Util; using System.Linq; -using ZD.Cloud.WebApi; using Demo.Model.Model; using Demo.Model.Model.PODemandPlan; using System.Diagnostics; @@ -18,6 +17,7 @@ using Kingdee.K3.Core.SCM.STK; using Kingdee.BOS.Orm.DataEntity; using Kingdee.K3.SCM.ServiceHelper; +using Demo.Utility; namespace Demo.TimedTaskPlugIn.PRD { @@ -25,7 +25,7 @@ [HotUpdate] public class StockChangeDynamicAlignment : Kingdee.BOS.Contracts.IScheduleService { - CloudClient cloudClient = new CloudClient("http://localhost/K3Cloud/"); + CloudClient cloudClient = new CloudClient("http://localhost//k3cloud/"); public Context Context; List<PRD_Inventory> ListInventory;//搴撳瓨鏄庣粏 List<PRD_Inventory> ListInventoryByStockOrgId;//鐗╂枡鎬诲簱瀛� diff --git a/src/BLL/Demo.TimedTaskPlugIn/packages.config b/src/BLL/Demo.TimedTaskPlugIn/packages.config index 6660b02..1b80aa8 100644 --- a/src/BLL/Demo.TimedTaskPlugIn/packages.config +++ b/src/BLL/Demo.TimedTaskPlugIn/packages.config @@ -3,7 +3,6 @@ <package id="log4net" version="1.2.10" targetFramework="net472" /> <package id="ZD.Cloud.Common" version="7.5.1.2" targetFramework="net472" /> <package id="ZD.Cloud.Logger" version="1.1.0" targetFramework="net472" /> - <package id="ZD.Cloud.WebApi" version="7.3.2.3" targetFramework="net472" /> <package id="ZD.Newtonsoft.Json" version="1.0.0" targetFramework="net472" /> <package id="ZD.Share" version="1.0.3" targetFramework="net472" /> </packages> \ No newline at end of file diff --git a/src/BLL/Demo.Utility/CloudClient.cs b/src/BLL/Demo.Utility/CloudClient.cs new file mode 100644 index 0000000..9df6bb6 --- /dev/null +++ b/src/BLL/Demo.Utility/CloudClient.cs @@ -0,0 +1,60 @@ +锘縰sing Kingdee.BOS.WebApi.Client; +using Newtonsoft.Json.Linq; +using System; +using System.Collections.Generic; +using System.Configuration; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Demo.Utility +{ + public class CloudClient : K3CloudApiClient + { + public const string KDApiUrl = "http://localhost//k3cloud/"; + public CloudClient(string serverUrl = KDApiUrl) : base(serverUrl) + { + var dbId = GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "DbId"); + var useName = GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "UserName"); + var pwd = GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "PassWord"); + //var url = GetKey(AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "/kdapi.config", "KDApiUrl"); + var loginResult = ValidateLogin(dbId, useName, pwd, 2052); + var resultType = JObject.Parse(loginResult)["LoginResultType"].Value<int>(); + //鐧诲綍缁撴灉绫诲瀷绛変簬1锛屼唬琛ㄧ櫥褰曟垚鍔� + if (resultType != 1) + { + throw new Exception("鐧诲綍澶辫触锛�"); + } + } + + public CloudClient(string serverUrl = KDApiUrl, int timeout = 3600) : base(serverUrl, timeout) + { + var dbId = GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "DbId"); + var useName = GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "UserName"); + var pwd = GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "PassWord"); + //var url = GetKey(AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "/kdapi.config", "KDApiUrl"); + var loginResult = ValidateLogin(dbId, useName, pwd, 2052); + var resultType = JObject.Parse(loginResult)["LoginResultType"].Value<int>(); + //鐧诲綍缁撴灉绫诲瀷绛変簬1锛屼唬琛ㄧ櫥褰曟垚鍔� + if (resultType != 1) + { + throw new Exception("鐧诲綍澶辫触锛�"); + } + } + + public static String GetConfigKey(String configPath, String key) + { + Configuration ConfigurationInstance = ConfigurationManager.OpenMappedExeConfiguration(new ExeConfigurationFileMap() + { + ExeConfigFilename = configPath + }, ConfigurationUserLevel.None); + + + if (ConfigurationInstance.AppSettings.Settings[key] != null) + return ConfigurationInstance.AppSettings.Settings[key].Value; + else + + return string.Empty; + } + } +} diff --git a/src/BLL/Demo.Utility/Demo.Utility.csproj b/src/BLL/Demo.Utility/Demo.Utility.csproj index b0dc0d8..27b5b29 100644 --- a/src/BLL/Demo.Utility/Demo.Utility.csproj +++ b/src/BLL/Demo.Utility/Demo.Utility.csproj @@ -9,9 +9,10 @@ <AppDesignerFolder>Properties</AppDesignerFolder> <RootNamespace>Demo.Utility</RootNamespace> <AssemblyName>Demo.Utility</AssemblyName> - <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion> + <TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion> <FileAlignment>512</FileAlignment> <Deterministic>true</Deterministic> + <TargetFrameworkProfile /> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> @@ -37,6 +38,12 @@ <Reference Include="ICSharpCode.SharpZipLib, Version=1.2.0.246, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL"> <HintPath>..\..\..\packages\SharpZipLib.1.2.0\lib\net45\ICSharpCode.SharpZipLib.dll</HintPath> </Reference> + <Reference Include="Kingdee.BOS.WebApi.Client"> + <HintPath>C:\Users\14027\Desktop\鏈�鏂扮増bin鏂囦欢\Kingdee.BOS.WebApi.Client.dll</HintPath> + </Reference> + <Reference Include="Newtonsoft.Json, Version=4.0.0.0, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\..\..\packages\ZD.Newtonsoft.Json.1.0.0\lib\Newtonsoft.Json.dll</HintPath> + </Reference> <Reference Include="NPOI, Version=2.5.1.0, Culture=neutral, PublicKeyToken=0df73ec7942b34e1, processorArchitecture=MSIL"> <HintPath>..\..\..\packages\NPOI.2.5.1\lib\net45\NPOI.dll</HintPath> </Reference> @@ -50,6 +57,7 @@ <HintPath>..\..\..\packages\NPOI.2.5.1\lib\net45\NPOI.OpenXmlFormats.dll</HintPath> </Reference> <Reference Include="System" /> + <Reference Include="System.Configuration" /> <Reference Include="System.Core" /> <Reference Include="System.Drawing" /> <Reference Include="System.Web" /> @@ -62,6 +70,7 @@ <Reference Include="System.Xml" /> </ItemGroup> <ItemGroup> + <Compile Include="CloudClient.cs" /> <Compile Include="Properties\AssemblyInfo.cs" /> </ItemGroup> <ItemGroup> diff --git a/src/BLL/Demo.Utility/packages.config b/src/BLL/Demo.Utility/packages.config index ffcc8bc..d590a1f 100644 --- a/src/BLL/Demo.Utility/packages.config +++ b/src/BLL/Demo.Utility/packages.config @@ -3,4 +3,5 @@ <package id="NPOI" version="2.5.1" targetFramework="net472" /> <package id="Portable.BouncyCastle" version="1.8.6" targetFramework="net472" /> <package id="SharpZipLib" version="1.2.0" targetFramework="net472" /> + <package id="ZD.Newtonsoft.Json" version="1.0.0" targetFramework="net472" /> </packages> \ No newline at end of file diff --git a/src/ProductizationTemplate/Config/kdapi.config b/src/ProductizationTemplate/Config/kdapi.config deleted file mode 100644 index 25b63df..0000000 --- a/src/ProductizationTemplate/Config/kdapi.config +++ /dev/null @@ -1,9 +0,0 @@ -锘�<?xml version="1.0" encoding="utf-8" ?> -<configuration> - <appSettings> - <add key="DbId" value="5e8c33972fbb61"></add> - <add key="UserName" value="Administrator"></add> - <add key="PassWord" value="888888"></add> - <add key="KDApiUrl" value="http://localhost/K3Cloud/"></add> - </appSettings> -</configuration> \ No newline at end of file diff --git a/src/ProductizationTemplate/Constants/Url.cs b/src/ProductizationTemplate/Constants/Url.cs index 8e61bd8..d00e54a 100644 --- a/src/ProductizationTemplate/Constants/Url.cs +++ b/src/ProductizationTemplate/Constants/Url.cs @@ -14,7 +14,7 @@ /// #if DEBUG - public const string KDApiUrl = "http://localhost/K3Cloud/"; + public const string KDApiUrl = "http://localhost//k3cloud/"; #else public const string KDApiUrl = "http://192.168.0.2/K3Cloud/"; public const string OMSAccount = "xherp"; diff --git a/src/ProductizationTemplate/ProductizationTemplate.csproj b/src/ProductizationTemplate/ProductizationTemplate.csproj index f4083cc..63e7cca 100644 --- a/src/ProductizationTemplate/ProductizationTemplate.csproj +++ b/src/ProductizationTemplate/ProductizationTemplate.csproj @@ -84,11 +84,9 @@ <Reference Include="Kingdee.BOS.Web.HTML, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Web.HTML.dll</HintPath> </Reference> - <Reference Include="Kingdee.BOS.WebApi.Client, Version=7.3.1150.7, Culture=neutral, processorArchitecture=MSIL"> - <HintPath>..\..\packages\ZD.Cloud.WebApi.7.3.2.3\lib\net452\Kingdee.BOS.WebApi.Client.dll</HintPath> - </Reference> - <Reference Include="Kingdee.BOS.WebApi.ServicesStub, Version=7.3.1150.7, Culture=neutral, processorArchitecture=MSIL"> - <HintPath>..\..\packages\ZD.Cloud.WebApi.7.3.2.3\lib\net452\Kingdee.BOS.WebApi.ServicesStub.dll</HintPath> + <Reference Include="Kingdee.BOS.WebApi.Client, Version=7.6.2003.9, Culture=neutral, processorArchitecture=MSIL"> + <SpecificVersion>False</SpecificVersion> + <HintPath>C:\Users\14027\Desktop\鏈�鏂扮増bin鏂囦欢3.16\Kingdee.BOS.WebApi.Client.dll</HintPath> </Reference> <Reference Include="Kingdee.BOS.WeiXin.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.WeiXin.Core.dll</HintPath> @@ -138,9 +136,6 @@ <Reference Include="ZD.Cloud.Logger, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\..\packages\ZD.Cloud.Logger.1.1.0\lib\net40\ZD.Cloud.Logger.dll</HintPath> </Reference> - <Reference Include="ZD.Cloud.WebApi, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> - <HintPath>..\..\packages\ZD.Cloud.WebApi.7.3.2.3\lib\net452\ZD.Cloud.WebApi.dll</HintPath> - </Reference> <Reference Include="ZD.Share, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\..\packages\ZD.Share.1.0.2\lib\net452\ZD.Share.dll</HintPath> </Reference> @@ -173,7 +168,6 @@ <Link>.editorconfig</Link> </None> <None Include="app.config" /> - <None Include="Config\kdapi.config" /> <None Include="packages.config" /> </ItemGroup> <ItemGroup> diff --git a/src/ProductizationTemplate/Untity/CloudClient.cs b/src/ProductizationTemplate/Untity/CloudClient.cs index 4f77e00..9bbd29d 100644 --- a/src/ProductizationTemplate/Untity/CloudClient.cs +++ b/src/ProductizationTemplate/Untity/CloudClient.cs @@ -1,23 +1,19 @@ -锘縰sing Kingdee.BOS.WebApi.Client; -using Newtonsoft.Json.Linq; +锘縰sing Newtonsoft.Json.Linq; using XhOA.Constants; using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using Kingdee.BOS.WebApi.Client; namespace XhOA.Untity { public class CloudClient : K3CloudApiClient { #if DEBUG - public const string DbId = "5df2f8e7f1848b";//MDM + public const string DbId = " ";//MDM #else public const string DbId = "5ce8f62da69d38"; #endif public const string UserName = "Administrator"; - public const string PassWord = "Xhgj1234"; + public const string PassWord = "888888"; public CloudClient(string serverUrl = Url.KDApiUrl) : base(serverUrl) { var loginResult = ValidateLogin(DbId, UserName, PassWord, 2052); diff --git a/src/ProductizationTemplate/packages.config b/src/ProductizationTemplate/packages.config index 164f68d..095c4ed 100644 --- a/src/ProductizationTemplate/packages.config +++ b/src/ProductizationTemplate/packages.config @@ -4,7 +4,6 @@ <package id="RestSharp" version="106.11.4" targetFramework="net452" /> <package id="ZD.Cloud.Common" version="7.5.1.2" targetFramework="net452" /> <package id="ZD.Cloud.Logger" version="1.1.0" targetFramework="net452" /> - <package id="ZD.Cloud.WebApi" version="7.3.2.3" targetFramework="net452" /> <package id="ZD.Newtonsoft.Json" version="1.0.0" targetFramework="net452" /> <package id="ZD.Share" version="1.0.2" targetFramework="net452" /> </packages> \ No newline at end of file -- Gitblit v1.9.1