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