From 54a976bab1ce8da78435bbdf8a651aa2d1af0898 Mon Sep 17 00:00:00 2001
From: 王 垚 <1402714037@qq.com>
Date: 星期三, 14 九月 2022 17:22:48 +0800
Subject: [PATCH] nothing
---
MES/src/BLL/Demo.BillView/Demo.BillView.csproj | 2
/dev/null | 360 ------------------
MES/src/BLL/Demo.BillView/PRD/ProCompleteAnalysisDetails.cs | 1
MES/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs | 769 --------------------------------------
MES/src/BLL/Demo.BillView/PRD/Pur_ReceiveByExcel.cs | 1
MES/src/BLL/Demo.BillView/PRD/SalOrderSaveVal.cs | 10
MES/src/BLL/Demo.BillView/PRD/Pro_DayPlanAduit.cs | 3
MES/src/BLL/Demo.BillView/PRD/Pro_DayPlanDeleteVal.cs | 1
MES/src/BLL/Demo.BillView/PRD/Pro_DayPlanList.cs | 4
MES/src/BLL/Demo.TimedTaskPlugIn/Demo.TimedTaskPlugIn.csproj | 1
10 files changed, 16 insertions(+), 1,136 deletions(-)
diff --git a/MES/src/BLL/Demo.BillView/Demo.BillView.csproj b/MES/src/BLL/Demo.BillView/Demo.BillView.csproj
index 41b5901..442a940 100644
--- a/MES/src/BLL/Demo.BillView/Demo.BillView.csproj
+++ b/MES/src/BLL/Demo.BillView/Demo.BillView.csproj
@@ -188,7 +188,6 @@
<ItemGroup>
<Compile Include="PRD\LogService.cs" />
<Compile Include="PRD\PODemandPlanListFilter.cs" />
- <Compile Include="PRD\PODemandPlanListLoad.cs" />
<Compile Include="PRD\ProductScheduleButtonClick.cs" />
<Compile Include="PRD\ProductScheduleShowList.cs" />
<Compile Include="PRD\ProTardinessDetails.cs" />
@@ -200,7 +199,6 @@
<Compile Include="PRD\Pro_DayPlan.cs" />
<Compile Include="PRD\Pro_DayPlanCheckSelectMenu.cs" />
<Compile Include="PRD\Pro_DayPlanPushSCHB.cs" />
- <Compile Include="PRD\Pro_DayPlanBG.cs" />
<Compile Include="PRD\Pro_ScDayImportMonth.cs" />
<Compile Include="PRD\Pro_DayPlanAduit.cs" />
<Compile Include="PRD\Pro_WorkBillPlatformMonth.cs" />
diff --git a/MES/src/BLL/Demo.BillView/PRD/PODemandPlanListLoad.cs b/MES/src/BLL/Demo.BillView/PRD/PODemandPlanListLoad.cs
deleted file mode 100644
index aac0f63..0000000
--- a/MES/src/BLL/Demo.BillView/PRD/PODemandPlanListLoad.cs
+++ /dev/null
@@ -1,69 +0,0 @@
-锘縰sing Kingdee.BOS.Core.List.PlugIn;
-using Kingdee.BOS.Core.Metadata;
-using System.Drawing;
-using System;
-using Kingdee.BOS;
-using System.ComponentModel;
-using Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel;
-using Kingdee.BOS.Util;
-using System.Data;
-using Kingdee.BOS.ServiceHelper;
-
-namespace Demo.BillView.PRD
-{
- [Description("鍒楄〃鎻掍欢璁剧疆棰滆壊")]
- [HotUpdate]
- public class PODemandPlanListLoad : AbstractListPlugIn
- {
- public override void OnFormatRowConditions(Kingdee.BOS.Core.List.PlugIn.Args.ListFormatConditionArgs args)
- {
- base.OnFormatRowConditions(args);
- try
- {
- FormatCondition fc = new FormatCondition();
- fc.ApplayRow = true;
- DataTable dt = new DataTable();
- dt = DBServiceHelper.ExecuteDataSet(Context, "/*dialect*/select * from Jit_TlPlanConfigureDetail").Tables[0];
- foreach (DataRow dr in dt.Rows)
- {
- if (args.DataRow["FLateReason2"].ToString() == dr["FLateReason"].ToString())
- {
- fc.BackColor = ColorTranslator.ToHtml(Color.FromName(dr["FSYSTEMCOLOR"].ToString()));
- }
- }
- args.FormatConditions.Add(fc);
- }
- catch (Exception ex)
- {
- //LogService.WriteAsync("娴嬭瘯");
- }
- }
-
- #region [棰滆壊锛�16杩涘埗杞垚RGB]
- /// <summary>
- /// [棰滆壊锛�16杩涘埗杞垚RGB]
- /// </summary>
- /// <param name="strColor">璁剧疆16杩涘埗棰滆壊 [杩斿洖RGB]</param>
- /// <returns></returns>
- public static System.Drawing.Color colorHx16toRGB(string strHxColor)
- {
- try
- {
- if (strHxColor.Length == 0)
- {//濡傛灉涓虹┖
- return System.Drawing.Color.FromArgb(0, 0, 0);//璁句负榛戣壊
- }
- else
- {//杞崲棰滆壊
- return System.Drawing.Color.FromArgb(System.Int32.Parse(strHxColor.Substring(1, 2), System.Globalization.NumberStyles.AllowHexSpecifier), System.Int32.Parse(strHxColor.Substring(3, 2), System.Globalization.NumberStyles.AllowHexSpecifier), System.Int32.Parse(strHxColor.Substring(5, 2), System.Globalization.NumberStyles.AllowHexSpecifier));
- }
- }
- catch
- {//璁句负榛戣壊
- return System.Drawing.Color.FromArgb(0, 0, 0);
- }
- }
- #endregion
-
- }
-}
diff --git a/MES/src/BLL/Demo.BillView/PRD/ProCompleteAnalysisDetails.cs b/MES/src/BLL/Demo.BillView/PRD/ProCompleteAnalysisDetails.cs
index 83f460a..09c2353 100644
--- a/MES/src/BLL/Demo.BillView/PRD/ProCompleteAnalysisDetails.cs
+++ b/MES/src/BLL/Demo.BillView/PRD/ProCompleteAnalysisDetails.cs
@@ -114,7 +114,6 @@
var entryRowIndex = this.Model.GetEntryCurrentRowIndex("FEntity");
// 鑾峰彇鍒嗗綍褰撳墠閫変腑琛屼腑鐨勭墿鏂欐暟鎹寘
materialNumber = (this.Model.GetValue("FMateralDetailID", entryRowIndex) as DynamicObject)?["Number"].ToString();
- LogService.Write("FMateralDetailNumber:" + materialNumber);
// 鎵撳紑鍗曟嵁鑱旀煡鍒楄〃锛氫互鑱旀煡閿�鍞鍗曚负渚�
IRegularFilterParameter filterParameter = new ListRegularFilterParameter();
filterParameter.Filter = string.Format(" FMaterialId.FNumber = '{0}' and FStockOrgId = '{1}'", materialNumber, Context.CurrentOrganizationInfo.ID);
diff --git a/MES/src/BLL/Demo.BillView/PRD/Pro_DayPlanAduit.cs b/MES/src/BLL/Demo.BillView/PRD/Pro_DayPlanAduit.cs
index d4b1166..a3ef26e 100644
--- a/MES/src/BLL/Demo.BillView/PRD/Pro_DayPlanAduit.cs
+++ b/MES/src/BLL/Demo.BillView/PRD/Pro_DayPlanAduit.cs
@@ -169,7 +169,6 @@
["Model"] = model
};
CloudClient cloudClient = new CloudClient("http://localhost//k3cloud/");
- //LogService.Write("鐢熶骇璁㈠崟json:" + jsonRoot.ToString());
var _result = cloudClient.Save("PRD_MO", jsonRoot.ToString());
var _saveObj = JObject.Parse(_result);
var saveIsSuc = _saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
@@ -177,6 +176,7 @@
{
e.CancelOperation = true;
dictionary.Add(dr["FDAYPLANBILLNO"].ToString(), "鐢熶骇璁㈠崟鐢熸垚澶辫触锛�" + _saveObj["Result"]["ResponseStatus"]["Errors"][0]["Message"].ToString());
+ LogService.Write("鐢熶骇璁㈠崟鐢熸垚澶辫触json" + jsonRoot.ToString());
//this.View.ShowErrMessage("鐢熶骇璁㈠崟鐢熸垚澶辫触锛�" + _saveObj["Result"]["ResponseStatus"]["Errors"][0]["Message"].ToString());
continue;
}
@@ -295,7 +295,6 @@
["IsAutoSubmitAndAudit"] = true,//鑷姩璋冪敤鎻愪氦鍜屽鏍稿姛鑳�
["Model"] = model
};
- //LogService.Write("鐢熶骇璁㈠崟鍙樻洿鍗昷son:" + jsonRoot.ToString());
_result = cloudClient.Save("PRD_MOChange", jsonRoot.ToString());
_saveObj = JObject.Parse(_result);
saveIsSuc = _saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
diff --git a/MES/src/BLL/Demo.BillView/PRD/Pro_DayPlanBG.cs b/MES/src/BLL/Demo.BillView/PRD/Pro_DayPlanBG.cs
deleted file mode 100644
index d37bb34..0000000
--- a/MES/src/BLL/Demo.BillView/PRD/Pro_DayPlanBG.cs
+++ /dev/null
@@ -1,103 +0,0 @@
-锘縰sing System;
-using System.ComponentModel;
-using System.Data;
-using Kingdee.BOS.Core.Bill.PlugIn;
-using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
-using Kingdee.BOS.Orm.DataEntity;
-using Kingdee.BOS.ServiceHelper;
-using ZD.Cloud.WebApi;
-using System.Linq;
-using Kingdee.BOS.Core.Bill.PlugIn.Args;
-using Kingdee.K3.SCM.Core;
-
-namespace Demo.BillView.PRD
-{
- /// <summary>
- /// 鏃ヨ鍒掔敤鏂欐竻鍗曞彉鏇村崟 琛ㄥ崟鎻掍欢
- /// </summary>
- [Description("鏃ヨ鍒掔敤鏂欐竻鍗曞彉鏇村崟琛ㄥ崟鎻掍欢")]
- [Kingdee.BOS.Util.HotUpdate]
- public class Pro_DayPlanBG : AbstractBillPlugIn
- {
- CloudClient cloudClient = new CloudClient("http://localhost//k3cloud/");
-
- public override void DataChanged(DataChangedEventArgs e)
- {
- base.DataChanged(e);
- var model = this.View.Model;
- decimal FHQty = Convert.ToDecimal(model.GetValue("FHQty"));
- if (e.Field.Key.Contains("FUseRateNew"))
- {
- if (e.OldValue == e.NewValue || e.NewValue == null)
- return;
- decimal FNumerator = Convert.ToDecimal(model.GetValue("FNumerator", e.Row));//鍒嗗瓙
- decimal FDenominator = Convert.ToDecimal(model.GetValue("FDenominator", e.Row));//鍒嗘瘝
- decimal FUseRateNew = Convert.ToDecimal(model.GetValue("FUseRateNew", e.Row));//浣跨敤姣斾緥
- decimal Hqty;
- if (FNumerator == 0 || FDenominator == 0)
- {
- Hqty = Math.Ceiling(FHQty * (FUseRateNew / 100));
- }
- Hqty = Math.Ceiling((FNumerator / FDenominator) * FHQty * (FUseRateNew / 100));
- this.View.Model.SetValue("FHQtyMustNew", Hqty, e.Row);//鏂拌鍒掓暟閲�
- var m = e.Row;
- //椤规
- var pro = model.GetValue("FReplaceGroup", m).ToString();
- var entrys = model.DataObject.GetValue<DynamicObjectCollection>("FEntity");
- //LogService.WriteAsync(entrys);
- //鏌ユ壘鍒扮殑鍚屾壒椤规
- var finds = entrys.Where(entry => entry.GetValue<string>("FReplaceGroup") == pro && entry.GetValue<int>("Seq") != (m + 1));
- if (finds.Count() == 0) return;
- var seq = finds.First().GetValue<int>("Seq");
- model.SetValue("FUseRateNew", 100 - Convert.ToDecimal(e.NewValue), seq - 1);
- }
- if (e.Field.Key.Contains("FHQtyMustNew"))
- {
- if (e.OldValue == e.NewValue || e.NewValue == null)
- return;
- var m = e.Row;
- decimal FNumerator = Convert.ToDecimal(model.GetValue("FNumerator", e.Row));//鍒嗗瓙
- decimal FDenominator = Convert.ToDecimal(model.GetValue("FDenominator", e.Row));//鍒嗘瘝
- decimal FHQtyMustNew = Convert.ToDecimal(model.GetValue("FHQtyMustNew", e.Row));//鏂拌鍒掓暟閲�
- decimal Hqty;
- decimal zero = 0;
- if (FNumerator == 0 || FDenominator == 0)
- {
- Hqty = Math.Ceiling(FHQtyMustNew / FHQty * 100);
- }
- Hqty = Math.Ceiling(FHQtyMustNew / ((FNumerator / FDenominator) * FHQty) * 100);
- this.View.Model.SetValue("FUseRateNew", Hqty, e.Row);//鏂扮敤鏂欐瘮渚�
- }
- }
-
- public override void BeforeSave(BeforeSaveEventArgs e)
- {
- base.BeforeSave(e);
- var entrys = this.View.Model.DataObject.GetValue<DynamicObjectCollection>("FEntity");
- string resultMes = "";
- foreach (var entry in entrys)
- {
- var fReplaceGroup = entry["FReplaceGroup"].ToString();
- //LogService.WriteAsync(entrys);
- //鏌ユ壘鍒扮殑鍚屾壒椤规
- var finds = entrys.Where(trys => trys.GetValue<string>("FReplaceGroup") == fReplaceGroup);
- if (finds.Count() > 1) return;
-
- string sql = string.Format(@"/*dialect*/
-select count(*) from Sc_DayPlanPPBomBillSub a
-join Sc_DayPlanPPBomBillMain b on a.FID = b.FID
-where FREPLACEGROUP = '{0}' and FHMaterSubID<> '{1}' and(FPickedQty + FTranslateQty) > FHQty * ((100 - {2}) / 100.0) * FDwyl and a.FID = {3}", entry["FReplaceGroup"].ToString(), entry["FHMaterSubID_Id"].ToString(), entry["FUseRateNew"].ToString(), entry["FDayPlanId"].ToString());
- int result = DBServiceHelper.ExecuteScalar<int>(Context, sql, 0);
- if (result > 0)
- resultMes += $"琛屽彿:" + entry["Seq"].ToString() + ",瀛樺湪鏇夸唬鏂欏叧绯伙紝浣跨敤姣斾緥鍙樻洿鍚庤秴鍑轰簡棰嗙敤鏁伴噺";
- }
- if (resultMes != "")
- {
- e.Cancel = true;
- this.View.ShowErrMessage(resultMes);
- }
-
- }
- }
-}
-
diff --git a/MES/src/BLL/Demo.BillView/PRD/Pro_DayPlanDeleteVal.cs b/MES/src/BLL/Demo.BillView/PRD/Pro_DayPlanDeleteVal.cs
index 94a4ac9..ba183e2 100644
--- a/MES/src/BLL/Demo.BillView/PRD/Pro_DayPlanDeleteVal.cs
+++ b/MES/src/BLL/Demo.BillView/PRD/Pro_DayPlanDeleteVal.cs
@@ -46,7 +46,6 @@
foreach (var data in dataEntities)
{
DynamicObject item = data.DataEntity;
- //LogService.Write(item);
var FId = Convert.ToInt32(item["Id"].ToString());
var FBillNo = item["BillNo"].ToString();
var FMoEntryId = Convert.ToInt32(item["FMoEntryId"].ToString());
diff --git a/MES/src/BLL/Demo.BillView/PRD/Pro_DayPlanList.cs b/MES/src/BLL/Demo.BillView/PRD/Pro_DayPlanList.cs
index 829c3bf..a6a141e 100644
--- a/MES/src/BLL/Demo.BillView/PRD/Pro_DayPlanList.cs
+++ b/MES/src/BLL/Demo.BillView/PRD/Pro_DayPlanList.cs
@@ -432,7 +432,6 @@
["Model"] = model
};
CloudClient cloudClient = new CloudClient("http://localhost//k3cloud/");
- LogService.Write("鐢熶骇璁㈠崟json:" + jsonRoot.ToString());
var _result = cloudClient.Save("PRD_MO", jsonRoot.ToString());
var _saveObj = JObject.Parse(_result);
var saveIsSuc = _saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
@@ -441,11 +440,8 @@
this.View.ShowErrMessage("鐢熶骇璁㈠崟鐢熸垚澶辫触锛�" + _saveObj["Result"]["ResponseStatus"]["Errors"][0]["Message"].ToString());
return;
}
- //LogService.Write(_saveObj);
var fBillNo = _saveObj["Result"]["Number"].ToString();
var fID = _saveObj["Result"]["Id"].ToString();
- //LogService.Write(_saveObj);
-
//this.View.ShowMessage("鐢熶骇璁㈠崟鐢熸垚鎴愬姛锛屽崟鍙凤細" + fBillNo);
//鐢熸垚涓�寮犵敓浜ц鍗曞彉鏇村崟
model = new JObject();
diff --git a/MES/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs b/MES/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs
index 1657a8f..ecb4809 100644
--- a/MES/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs
+++ b/MES/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs
@@ -109,7 +109,6 @@
base.BarItemClick(e);
try
{
- //LogService.Write("鐢熶骇璁″垝骞冲彴鎸夐挳:" + e.BarItemKey.ToUpper().ToString());
if (e.BarItemKey.ToUpper() == "BTEXPORT")
{
ExportExcel();
@@ -228,17 +227,6 @@
if (e.BarItemKey.ToUpper() == "TB_TONGBU")
{
TongBu();
- }
-
- //鎻愭枡璁″垝閲嶇畻
- if (e.BarItemKey.ToUpper() == "TB_EXTRACTIONTL")
- {
- ExtractionTLPLAN();
- }
- //瑕佹枡璁″垝閲嶇畻
- if (e.BarItemKey.ToUpper() == "TB_EXTRACTIONYL")
- {
- ExtractionYLPLAN();
}
//鏃ヨ鍒掔敤鏂欐竻鍗�
if (e.BarItemKey.ToUpper() == "TB_DAYPLANBOM")
@@ -671,7 +659,6 @@
JOIN T_BAS_BILLTYPE_L B ON A.FBILLTYPEID =B.FBILLTYPEID
where FBILLFORMID in ('PRD_MO','SUB_SUBREQORDER') AND b.FLOCALEID = 2052)t4 on t1.FBILLTYPE =t4.FBILLTYPEID
WHERE T1.FBILLNO = '{2}' AND T2.FMATERIALID = '{3}' AND T2.FSEQ = '{4}'", FTempName, FTempNameEntry, Convert.ToString(current["FSCOrderNo"]), Convert.ToString(current["FMatrailId_Id"]), Convert.ToString(current["FSRCBILLENTRYSEQ"]));
- //LogService.Write(sql);
DataTable dt = new DataTable();
dt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0];
if (dt.Rows.Count == 0)
@@ -1225,7 +1212,7 @@
List<string> sqlList = new List<string>();
DataTable insertDT = new DataTable();
insertDT.TableName = "JIT_MOMaterReadysBill";
- insertDT.Columns.Add("FID", typeof(long));
+ //insertDT.Columns.Add("FID", typeof(long));
//insertDT.Columns.Add("FBILLNO", typeof(string));
insertDT.Columns.Add("FDOCUMENTSTATUS", typeof(string));
insertDT.Columns.Add("FHMAINICMOINTERIDR", typeof(long));
@@ -1259,7 +1246,7 @@
foreach (var item in completeAnalysisTempModel)
{
DataRow dr = insertDT.NewRow();
- dr["FID"] = maxFid + jdtmmm;
+ //dr["FID"] = maxFid + jdtmmm;
//dr["FBILLNO"] = "";
dr["FDOCUMENTSTATUS"] = "A";
dr["FHMAINICMOINTERIDR"] = item.FHMainICMOInterIDr;
@@ -1299,10 +1286,10 @@
DBServiceHelper.BulkInserts(this.Context, string.Empty, string.Empty, insertDT);
LogService.Write("鎵归噺鎻掑叆鍒版暟鎹簱鐢ㄦ椂锛�" + sw.Elapsed);
//鎵ц瀹屾垚鍚� 鏇存柊鏃ヨ鍒掑伐鍗曠姸鎬�
- DBServiceHelper.Execute(Context, @"
-/*dialect*/update Sc_WorkBillSortBillSub set FComplete = '鏈綈濂�' where FEntryID IN (select distinct FHICMOEntryID from JIT_MOMaterReadysBill where isnull(FCOMPLETE,'鏈綈濂�') ='鏈綈濂�') and FID IN (" + fDayPlanFids + ") ");
- DBServiceHelper.Execute(Context, @"
-/*dialect*/update Sc_WorkBillSortBillSub set FComplete = '榻愬' where FEntryID NOT IN (select distinct FHICMOEntryID from JIT_MOMaterReadysBill where isnull(FCOMPLETE,'鏈綈濂�') ='鏈綈濂�') and FID IN (" + fDayPlanFids + ") ");
+// DBServiceHelper.Execute(Context, @"
+///*dialect*/update Sc_WorkBillSortBillSub set FComplete = '鏈綈濂�' where FEntryID IN (select distinct FHICMOEntryID from JIT_MOMaterReadysBill where isnull(FCOMPLETE,'鏈綈濂�') ='鏈綈濂�') and FID IN (" + fDayPlanFids + ") ");
+// DBServiceHelper.Execute(Context, @"
+///*dialect*/update Sc_WorkBillSortBillSub set FComplete = '榻愬' where FEntryID NOT IN (select distinct FHICMOEntryID from JIT_MOMaterReadysBill where isnull(FCOMPLETE,'鏈綈濂�') ='鏈綈濂�') and FID IN (" + fDayPlanFids + ") ");
//閲婃斁榻愬鎿嶄綔 閬垮厤澶氫汉鍚屾椂杩涜榻愬鍒嗘瀽
DBServiceHelper.Execute(Context, $"/*dialect*/ update T_PRD_QTFX set FSTATUS = 0 where FPRDORGID ={fPrdOrgId} and FSTATUS = 1 ");
sw.Stop();//缁撴潫璁℃椂
@@ -1607,7 +1594,7 @@
List<string> sqlList = new List<string>();
DataTable insertDT = new DataTable();
insertDT.TableName = "JIT_MOMaterReadysBillXn";
- insertDT.Columns.Add("FID", typeof(long));
+ //insertDT.Columns.Add("FID", typeof(long));
//insertDT.Columns.Add("FBILLNO", typeof(string));
insertDT.Columns.Add("FDOCUMENTSTATUS", typeof(string));
insertDT.Columns.Add("FHMAINICMOINTERIDR", typeof(long));
@@ -1641,7 +1628,7 @@
foreach (var item in completeAnalysisTempModel)
{
DataRow dr = insertDT.NewRow();
- dr["FID"] = maxFid + jdtmmm;
+ //dr["FID"] = maxFid + jdtmmm;
//dr["FBILLNO"] = "";
dr["FDOCUMENTSTATUS"] = "A";
dr["FHMAINICMOINTERIDR"] = item.FHMainICMOInterIDr;
@@ -3660,746 +3647,6 @@
else
{
this.View.ShowMessage("璇峰嬀閫夋暟鎹�");
- }
- }
-
- /// <summary>
- /// 鎻愭枡璁″垝杩涘害鏉�
- /// </summary>
- [Obsolete]
- private void ExtractionTLPLAN()
- {
- // 鏄剧ず涓�涓繘搴︽樉绀虹晫闈細鏄剧ず涓�涓笉鍋滄粴鍔ㄧ殑妯℃嫙杩涘害
- // bUseTruePro鍙傛暟锛氭槸鍚︽樉绀虹湡瀹炵殑杩涘害銆�
- // bUseTruePro = false 锛�
- // 鏄剧ず涓�涓笉鍋滄粴鍔ㄧ殑妯℃嫙杩涘害锛屼笌瀹為檯澶勭悊杩涘害娌℃湁鍏宠仈銆�
- // 姝ゆ柟妗堜紭鐐癸細瀹為檯澶勭悊浠g爜鏃犻渶璁$畻杩涘害
- // 姝ゆ柟妗堢己鐐癸細杩涘害涓嶅噯纭紝涓旇繘搴﹂〉闈笉浼氳嚜鍔ㄥ叧闂��
- // bUseTruePro = true: 杩涘害鐣岄潰鏄剧ず鐪熷疄杩涘害
- // 姝ゆ柟妗堜紭鐐癸細杩涘害鐪熷疄
- // 姝ゆ柟妗堢己鐐癸細闇�瑕佸湪澶勭悊浠g爜涓紝涓嶆柇鐨勬洿鏂扮湡瀹炶繘搴︼紝鏇存柊璇彞
- // this.View.Session["ProcessRateValue"] = 100;
- // 鐗瑰埆璇存槑锛屽綋杩涘害鏇存柊鍒�100鏃讹紝杩涘害鐣岄潰浼氳嚜鍔ㄥ叧闂�
- // 鏈渚嬮�夌敤姝ゆ柟妗�
- var processForm = this.View.ShowProcessForm(
- new Action<FormResult>(t => { }),
- true,
- "姝e湪鐢熸垚锛岃绋嶅��...");
-
- // 寮�鍚竴涓紓姝ョ嚎绋嬶紝澶勭悊寮曞叆鍔熻兘
- // using Kingdee.BOS.KDThread;
- MainWorker.QuequeTask(() =>
- {
- var resuult = "";
- try
- {
- // 闇�瑕佹崟鑾烽敊璇紝浠ョ‘淇濆鐞嗙粨鏉熸椂锛屽叧闂繘搴︽粴鍔ㄧ晫闈�
- // 寮曞叆鍔熻兘瀹為檯澶勭悊鍑芥暟
- resuult = this.ExtractionTL();
- }
- finally
- {
- // 纭繚鏍囪杩涘害宸茬粡鍒拌揪100%
- this.View.Session["ProcessRateValue"] = 100;
- // 寮曞叆瀹屾瘯锛屽叧闂繘搴︽樉绀洪〉闈�
- var processView = this.View.GetView(processForm.PageId);
- if (processView != null)
- {
- processView.Close();
- this.View.SendDynamicFormAction(processView);
- }
- this.View.ShowMessage(resuult);
- }
- },
- (t) => { });
- }
- /// <summary>
- /// 鎻愭枡璁″垝
- /// </summary>
- public string ExtractionTL()
- {
- try
- {
- var fProWorkShopId = (this.Model.GetValue("FProWorkShopId") as DynamicObject)?["Id"].ToString();
- var fPrdOrgId = (this.Model.GetValue("FPRDOrgId") as DynamicObject)?["Id"].ToString();
- if (String.IsNullOrEmpty(fProWorkShopId) || String.IsNullOrEmpty(fPrdOrgId))
- {
- return "璇烽�夋嫨缁勭粐鐢熶骇杞﹂棿";
- }
- LogService.Write($"杞﹂棿锛歿fProWorkShopId}锛岀粍缁囷細{fPrdOrgId}");
- Stopwatch sw = new Stopwatch();
- sw.Start();//寮�濮嬭鏃�
- //鎻愭枡璁″垝棰勫鐞� 娓呯悊鎻愭枡璁″垝鍗曟暟鎹� 鏇存柊閲囪喘璁㈠崟鎻愭枡璁″垝鏁伴噺
- string sql = string.Format($"/*dialect*/exec PRD_TLPLANYCL '{fProWorkShopId}','{fPrdOrgId}'");
- DBServiceHelper.Execute(Context, sql);
- //閲囪喘璁㈠崟鏁版嵁 锛堝墿浣欐敹鏂欐暟閲忥級
- sql = @"
- /*dialect*/
-select t1.FID,t1.FBillNo,t2.FENTRYID,t1.FSUPPLIERID,t3.fnumber,t2.FMATERIALID,(t4.FREMAINRECEIVEQTY-t2.FPODemandPlanCount)FQTY
-,FPurchaseOrgId FStockOrgId,t5.FNUMBER FORGNumber,FCloseStatus,FMRPCLOSESTATUS
-,'' FXQD,t1.FCREATORID,t8.FName ,t1.FDate,tD.FDeliveryDate,'' F_QIMB_NOTE,t2.FNOTE,
-isnull((select top 1 FLEADTIME + FLEADTTIME2 from T_PRD_TLPlanConfig a
- join T_PRD_TLPlanConfigEntry b on a.FID =b.FID
- where a.FORGID = t1.FPurchaseOrgId and b.FSUPPLIERID = t1.FSUPPLIERID), 0)FFIXLEADTIME
- 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_PUR_POORDERENTRY_D tD on t2.FENTRYID = tD.FENTRYID
-join T_ORG_Organizations t5 on t1.FPurchaseOrgId = t5.FORGID
-join T_SEC_user t8 on t1.FCREATORID = t8.FuserId
-where t4.FREMAINRECEIVEQTY-t2.FPODemandPlanCount>0
- and FCloseStatus in('A') and FMRPCLOSESTATUS in('A')
- and t1.FBillTypeID in('83d822ca3e374b4ab01e5dd46a0062bd','6d01d059713d42a28bb976c90a121142')
-";
- LogService.Write("鏌ヨ閲囪喘璁㈠崟鏁版嵁鐢ㄦ椂锛�" + sw.Elapsed);
- List<PurchaseInventory> PurchaseInventory = DBServiceHelper.ExecuteDataSet(Context, sql).ToModelList<PurchaseInventory>();
- ////LogHelper.Info("[鎻愭枡璁″垝鍑嗗闃舵]鍙敤閲囪喘璁㈠崟鏁版嵁sql锛�" + sql);
- sql = string.Format(@"
- /*dialect*/
-SELECT T1.FID,FHMASTERDATE,T1.FENTRYID,t2.FHSeOrderBillNo as FXQD,T1.FBILLNO, FNEEDQTY,0 as FFIXLEADTIME
-,FMAXPOQTY,0 as FMINPOQTY,0 as FJITMATERIALGROUP,0 as FJITMATERIELDEMAND,0 as FJITSAFESTOCK,T1.FMATERIALID,T6.FNUMBER,NEEDQTY, FSTOCKORGID ,FERPCLSID
-FROM (
-SELECT FHICMOINTERID FID,FHICMOENTRYID FENTRYID,FPLANDATE FHMASTERDATE,FLACKCOUNT NEEDQTY,FHMATERID FMATERIALID,FHSTOCKORGID FSTOCKORGID,FPRDBILLNO FBILLNO,FSUMPLANCOUNT FNEEDQTY FROM JIT_MOMATERREADYSBILL A
-RIGHT JOIN (SELECT MAX(FID)FID FROM JIT_MOMATERREADYSBILL GROUP BY FHICMOENTRYID,FHMATERID) B ON A.FID = B.FID
-)T1
-JOIN Sc_WorkBillSortBillMain T2 ON T1.FID = T2.FID
-JOIN T_BD_MATERIAL T6 ON T1.FMATERIALID = T6.FMATERIALID
-JOIN T_BD_MATERIALBASE T4 ON T1.FMATERIALID = T4.FMATERIALID
-JOIN T_BD_MATERIALPLAN T5 ON T1.FMATERIALID = T5.FMATERIALID
-AND FERPCLSID IN ('1','3')
-AND T1.NEEDQTY>0
-AND T1.FENTRYID NOT IN (SELECT DISTINCT FHSOURCEENTRYID FROM CG_PODEMANDPLANBILLSUB)
-AND T2.FHPRDORGID='{0}'
-AND T2.FHWORKSHOPID = '{1}'
-ORDER BY FHMASTERDATE
-", fPrdOrgId, fProWorkShopId);
- ////LogHelper.Info("[鎻愭枡璁″垝鍑嗗闃舵]闇�瑕佹彁鏂欐暟鎹畇ql锛�" + 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 == "163165").ToList();
- //鎻愭枡璁″垝鏁版嵁闆嗕复鏃跺瓨鍌ㄩ泦鍚�
- List<PODemandPlanTemp> PODemandPlanTemp = new List<PODemandPlanTemp>();
- //sql闆嗗悎 鏇存柊閲囪喘璁㈠崟鍗犵敤鐨勬彁鏂欒鍒掓暟閲�
- List<string> sqlList = new List<string>();
- //MaterialIDList = new List<string> { "105773" };
- int i = 1;//鐢ㄤ簬杩涘害鏉″姞杞�
- foreach (var item in MaterialIDList)
- {
- this.View.Session["ProcessRateValue"] = Convert.ToInt32((Convert.ToDecimal(80) / MaterialIDList.Count) * i);
- //褰撳墠鐗╂枡娌℃湁閲囪喘璁㈠崟鏃� 鐩存帴璺冲嚭
- List<PurchaseInventory> _PurchaseInventory = PurchaseInventory.Where(x => x.FMATERIALID == item.FMATERIALID && x.FStockOrgId == item.FStockOrgId && x.FQTY > 0).OrderBy(x => x.FENTRYID).ToList();
- if (_PurchaseInventory.Count == 0)
- {
- LogHelper.Info("[鎻愭枡璁″垝寮�濮媇褰撳墠鐗╂枡鏃犻噰璐俊鎭細" + item.FMATERIALID + " 搴撳瓨缁勭粐锛�" + item.FStockOrgId);
- continue;
- }
- //褰撳墠鐗╂枡鍜屽簱瀛樼粍缁囧搴旂殑闇�杩涜鎻愭枡璁″垝鐨勬暟鎹�
- 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;//绗竴涓璐ц捣濮嬫棩鏈�
- //璁板綍鍦ㄦ渶灏忛噰璐噺闇�姹備笅鐨勬棩璁″垝鏄庣粏FentyrID
- List<int> FEntryIdList = new List<int>();
- foreach (var _item in _DayPlanPpbom)
- {
- _PurchaseInventory = PurchaseInventory.Where(x => x.FMATERIALID == item.FMATERIALID && x.FStockOrgId == item.FStockOrgId && x.FQTY > 0).OrderBy(x => x.FENTRYID).ToList();
- if (_PurchaseInventory.Count == 0)
- {
- LogHelper.Info("[鎻愭枡璁″垝寮�濮媇鐢熶骇璁㈠崟鍙凤細" + item.FBILLNO + ",褰撳墠鐗╂枡鏄庣粏鏃犻噰璐俊鎭細" + item.FMATERIALID + " 搴撳瓨缁勭粐锛�" + item.FStockOrgId);
- break;
- }
- FEntryIdList.Add(_item.FENTRYID);
- NeedQty += _item.NeedQty;
- //澧炲姞涓�涓攢鍞鍗曞彿鍖归厤鐨勯�昏緫 浼樺厛寰幆
- var PurchaseInventoryElse = _PurchaseInventory.Where(x => x.FXQD != _item.FXQD).OrderBy(x => x.FENTRYID).ToList();
- foreach (var Purchase in PurchaseInventoryElse)
- {
- double _FFIXLEADTIME = Purchase.FFIXLEADTIME;//鎻愬墠鏈�
- DateTime _DATE = Convert.ToDateTime(_item.FHMASTERDATE).AddDays(-_FFIXLEADTIME);
- ////LogHelper.Info("閲囪喘璁㈠崟鍙锋祴璇曪細" + Purchase.FBillNo);
- ////LogHelper.Info("鐗╂枡锛�" + Purchase.FMATERIALID + ",閲囪喘璁㈠崟鏁伴噺锛�" + Purchase.FQTY);
- if (Purchase.FQTY >= NeedQty)
- {
- foreach (int id in FEntryIdList)
- {
- 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,
- FErpClsID = DayPlanPpbomls.FErpClsID,
-
- PurchseFID = Purchase.FID,
- PurchseFentryID = Purchase.FENTRYID,
- FSUPPLIERID = Purchase.FSUPPLIERID,
- PurchseFNUMBER = Purchase.FNUMBER,
- PurchseFBillNo = Purchase.FBillNo,
- PurchseFqty = Purchase.FQTY,
- FStockOrgId = Purchase.FStockOrgId, //閲囪喘缁勭粐
- FORGNumber = Purchase.FORGNumber,
-
- FXQD = Purchase.FXQD,
- FCREATORID = Purchase.FCREATORID,
- FName = Purchase.FName,
- FDate = Purchase.FDate,
- FDeliveryDate = Purchase.FDeliveryDate,
- F_QIMB_NOTE = Purchase.F_QIMB_NOTE,
- FNOTE = Purchase.FNOTE
- });
- //鎵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 == 0)
- // //LogHelper.Info("璁㈠崟鏁伴噺涓�0");
- if (Qty > _NeedQty)
- Qty = _NeedQty; //璁㈠崟鏁伴噺>閲囪喘璁㈠崟鏁伴噺 鍙栭噰璐鍗�
-
- //if (_NeedQty == 0)
- // //LogHelper.Info("璁㈠崟鏁伴噺涓�0");
-
- _NeedQty = _NeedQty - Qty;
- 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,
- FErpClsID = DayPlanPpbomls.FErpClsID,
-
- PurchseFID = Purchase.FID,
- PurchseFentryID = Purchase.FENTRYID,
- FSUPPLIERID = Purchase.FSUPPLIERID,
- PurchseFNUMBER = Purchase.FNUMBER,
- PurchseFBillNo = Purchase.FBillNo,
- PurchseFqty = Purchase.FQTY,
- FStockOrgId = Purchase.FStockOrgId, //閲囪喘缁勭粐
- FORGNumber = Purchase.FORGNumber,
-
- FXQD = Purchase.FXQD,
- FCREATORID = Purchase.FCREATORID,
- FName = Purchase.FName,
- FDate = Purchase.FDate,
- FDeliveryDate = Purchase.FDeliveryDate,
- F_QIMB_NOTE = Purchase.F_QIMB_NOTE,
- FNOTE = Purchase.FNOTE
- });
- //鏇存柊璁″垝鏁伴噺锛堝墿浣欓渶瑕佹帓鐨勶級 缁х画鍘昏绠椾笅涓�涓噰璐鍗�
- 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);
- //}
- }
- }
- if (NeedQty > 0)
- {
- LogHelper.Info("[鎻愭枡璁″垝寮�濮媇鐢熶骇璁㈠崟鍙凤細" + item.FBILLNO + ",褰撳墠鐗╂枡锛�" + item.FMATERIALID + "闇�姹傛暟閲忥細" + _item.NeedQty + " ,鍗犵敤閲囪喘璁㈠崟鍚庢暟閲忓墿浣欙細" + NeedQty);
- }
- NeedQty = 0;
- }
- i++;
- }
- var PODemandPlanList = PODemandPlanTemp.GroupBy(p => new { p.PurchseFNUMBER, p.FHMASTERDATE }).Select(x => new PODemandPlanTemp { PurchseFNUMBER = x.Key.PurchseFNUMBER, FHMASTERDATE = x.Key.FHMASTERDATE }).ToList();
- LogService.Write("鎻愭枡璁″垝锛屾暟鎹噯澶囧畬鎴愶紝淇濆瓨鍒癕odel瀹炰綋 鐢ㄦ椂锛�" + sw.Elapsed + "鎬昏鏁帮細" + PODemandPlanTemp.Count);
- //LogHelper.Info($"鎻愭枡璁″垝锛屾暟鎹噯澶囧畬鎴愶紝淇濆瓨鍒癕odel瀹炰綋锛屾�昏鏁帮細{PODemandPlanTemp.Count}");
- int tlmmm = 1;
- JArray FinalyResult = new JArray();
- foreach (var item in PODemandPlanList)
- {
- this.View.Session["ProcessRateValue"] = 80 + Convert.ToInt32((Convert.ToDecimal(20) / PODemandPlanList.Count) * tlmmm);
- DateTime date = item.FHMASTERDATE;
- string PurchseFNUMBER = item.PurchseFNUMBER;
- JObject model = new JObject();
- model.Add("FHDate", date);
- model.Add("FSettleCurrId", new JObject() { ["Fnumber"] = "PRE001" });
- model.Add("FSupplierID", new JObject() { ["Fnumber"] = PurchseFNUMBER });
-
- JArray Fentity = new JArray();
- List<PODemandPlanTemp> _PODemandPlanList = PODemandPlanTemp.Where(x => x.FHMASTERDATE == date && x.PurchseFNUMBER == PurchseFNUMBER).ToList();
- LogHelper.Info("娴嬭瘯listmodel锛�" + _PODemandPlanList[0].FORGNumber.ToString());
- foreach (var _item in _PODemandPlanList)
- {
- if (!model.ToString().Contains("FHPURCHASEORGID"))
- model.Add("FHPURCHASEORGID", new JObject() { ["Fnumber"] = _item.FORGNumber });
- JObject FentityModel = new JObject();
- 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
- FentityModel.Add("FERPCLSID", _item.FErpClsID); //鍙戞枡鏂瑰紡
- FentityModel.Add("FUnitID", new JObject() { ["Fnumber"] = "Pcs" }); //鍙戞枡鏂瑰紡
-
- FentityModel.Add("FSalOrderNo", _item.FXQD); //闇�姹傚崟鍙�
- FentityModel.Add("FCgddCreaterId", new JObject() { ["FUserID"] = _item.FCREATORID }); //閲囪喘鍛�
- FentityModel.Add("FCgDate", _item.FDate); //閲囪喘璁㈠崟鍗曟嵁鏃ユ湡
- FentityModel.Add("FCgDeliveryDate", _item.FDeliveryDate); //閲囪喘璁㈠崟浜よ揣鏃ユ湡
- FentityModel.Add("F_QIMB_NOTE", _item.F_QIMB_NOTE); //閲囪喘璁㈠崟鎽樿
- FentityModel.Add("FNOTE", _item.FNOTE); //閲囪喘璁㈠崟琛ㄤ綋澶囨敞
-
- Fentity.Add(FentityModel);
- }
- model.Add("FEntity", Fentity);
- FinalyResult.Add(model);
- if ((tlmmm >= 20 || tlmmm == PODemandPlanList.Count) && (tlmmm % 20 == 0 || tlmmm == PODemandPlanList.Count))
- {
- //LogHelper.Info("鎻愭枡璁″垝鏂板鎵归噺鎵ц锛岃褰曞惊鐜殑褰撳墠鏉℃暟" + tlmmm);
- JObject jsonRoot = new JObject()
- {
- ["Creator"] = "",
- ["NeedUpDateFields"] = new JArray(),
- ["NeedReturnFields"] = new JArray(),
- ["IsDeleteEntry"] = "false",
- ["SubSystemId"] = "",
- ["IsVerifyBaseDataField"] = "false",
- ["Model"] = FinalyResult
- };
- LogService.Write(jsonRoot.ToString());
- 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();
- if (saveIsSuc != "TRUE")
- {
- this.View.ShowMessage(saveObj["Result"]["ResponseStatus"]["Errors"][0]["Message"].ToString());
- }
- FinalyResult = new JArray();
- }
- tlmmm++;
- }
- LogService.Write("璋冪敤webapi 鐢ㄦ椂锛�" + sw.Elapsed + "鎬昏鏁帮細" + PODemandPlanTemp.Count);
- sw.Stop();//缁撴潫璁℃椂
- DBServiceHelper.ExecuteBatch(Context, sqlList);
- return "鎿嶄綔鎴愬姛";
- }
- catch (Exception ex)
- {
- LogService.Write("鎻愭枡璁″垝璺冲嚭锛�" + ex.Message.ToString());
- return ex.Message.ToString();
- }
- }
-
- /// <summary>
- /// 瑕佹枡璁″垝杩涘害鏉�
- /// </summary>
- [Obsolete]
- private void ExtractionYLPLAN()
- {
- // 鏄剧ず涓�涓繘搴︽樉绀虹晫闈細鏄剧ず涓�涓笉鍋滄粴鍔ㄧ殑妯℃嫙杩涘害
- // bUseTruePro鍙傛暟锛氭槸鍚︽樉绀虹湡瀹炵殑杩涘害銆�
- // bUseTruePro = false 锛�
- // 鏄剧ず涓�涓笉鍋滄粴鍔ㄧ殑妯℃嫙杩涘害锛屼笌瀹為檯澶勭悊杩涘害娌℃湁鍏宠仈銆�
- // 姝ゆ柟妗堜紭鐐癸細瀹為檯澶勭悊浠g爜鏃犻渶璁$畻杩涘害
- // 姝ゆ柟妗堢己鐐癸細杩涘害涓嶅噯纭紝涓旇繘搴﹂〉闈笉浼氳嚜鍔ㄥ叧闂��
- // bUseTruePro = true: 杩涘害鐣岄潰鏄剧ず鐪熷疄杩涘害
- // 姝ゆ柟妗堜紭鐐癸細杩涘害鐪熷疄
- // 姝ゆ柟妗堢己鐐癸細闇�瑕佸湪澶勭悊浠g爜涓紝涓嶆柇鐨勬洿鏂扮湡瀹炶繘搴︼紝鏇存柊璇彞
- // this.View.Session["ProcessRateValue"] = 100;
- // 鐗瑰埆璇存槑锛屽綋杩涘害鏇存柊鍒�100鏃讹紝杩涘害鐣岄潰浼氳嚜鍔ㄥ叧闂�
- // 鏈渚嬮�夌敤姝ゆ柟妗�
- var processForm = this.View.ShowProcessForm(
- new Action<FormResult>(t => { }),
- true,
- "姝e湪鐢熸垚锛岃绋嶅��...");
-
- // 寮�鍚竴涓紓姝ョ嚎绋嬶紝澶勭悊寮曞叆鍔熻兘
- // using Kingdee.BOS.KDThread;
- MainWorker.QuequeTask(() =>
- {
- var resuult = "";
- try
- {
- // 闇�瑕佹崟鑾烽敊璇紝浠ョ‘淇濆鐞嗙粨鏉熸椂锛屽叧闂繘搴︽粴鍔ㄧ晫闈�
- // 寮曞叆鍔熻兘瀹為檯澶勭悊鍑芥暟
- resuult = this.ExtractionYL();
- }
- finally
- {
- // 纭繚鏍囪杩涘害宸茬粡鍒拌揪100%
- this.View.Session["ProcessRateValue"] = 100;
- // 寮曞叆瀹屾瘯锛屽叧闂繘搴︽樉绀洪〉闈�
- var processView = this.View.GetView(processForm.PageId);
- if (processView != null)
- {
- processView.Close();
- this.View.SendDynamicFormAction(processView);
- }
- this.View.ShowMessage(resuult);
- }
- },
- (t) => { });
- }
- /// <summary>
- /// 瑕佹枡璁″垝
- /// </summary>
- public string ExtractionYL()
- {
- try
- {
- Stopwatch sw = new Stopwatch();
- sw.Start();//寮�濮嬭鏃�
-
- var fProWorkShopId = (this.Model.GetValue("FProWorkShopId") as DynamicObject)?["Id"].ToString();
- var fPrdOrgId = (this.Model.GetValue("FPRDOrgId") as DynamicObject)?["Id"].ToString();
- if (String.IsNullOrEmpty(fProWorkShopId) || String.IsNullOrEmpty(fPrdOrgId))
- {
- //this.View.ShowErrMessage("璇烽�夋嫨缁勭粐鍜岀敓鐢熶骇杞﹂棿");
- return "璇烽�夋嫨缁勭粐鍜岀敓鐢熶骇杞﹂棿";
- }
- string sql = string.Format($"/*dialect*/exec PRD_YLPLANYCL '{fProWorkShopId}','{fPrdOrgId}'");
- DBServiceHelper.Execute(Context, sql);
- //鐢熶骇璁㈠崟鏁版嵁锛堝彇鐢熶骇璁㈠崟鏈叆搴撴暟閲忥級
- sql = @"
- /*DIALECT*/
-SELECT T1.FID,T1.FBILLNO,T2.FENTRYID,T2.FWORKSHOPID AS FSUPPLIERID,T3.FNUMBER,T2.FMATERIALID,(TQ.FNOSTOCKINQTY-T2.FPODEMANDPLANCOUNT)FQTY
-,T1.FPRDORGID FSTOCKORGID,T5.FNUMBER FORGNUMBER,'' FXQD,T1.FCREATORID,T8.FNAME ,T1.FDATE,'' AS F_QIMB_NOTE,'' AS FNOTE,0 AS FFIXLEADTIME
-FROM T_PRD_MO T1
-JOIN T_PRD_MOENTRY T2 ON T1.FID = T2.FID
-JOIN T_PRD_MOENTRY_Q TQ ON T2.FENTRYID = TQ.FENTRYID
-JOIN T_BD_DEPARTMENT T3 ON T2.FWORKSHOPID = T3.FDEPTID
-JOIN T_ORG_ORGANIZATIONS T5 ON T1.FPRDORGID = T5.FORGID
-JOIN T_SEC_USER T8 ON T1.FCREATORID = T8.FUSERID
-WHERE TQ.FNOSTOCKINQTY-T2.FPODEMANDPLANCOUNT>0
-
-";
- List<PurchaseInventory> PurchaseInventory = DBServiceHelper.ExecuteDataSet(Context, sql).ToModelList<PurchaseInventory>();
- sql = string.Format(@"
- /*dialect*/
-SELECT T1.FID,FHMASTERDATE,T1.FENTRYID,t2.FHSeOrderBillNo as FXQD,T1.FBILLNO, FNEEDQTY,0 as FFIXLEADTIME
-,FMAXPOQTY,0 as FMINPOQTY,0 as FJITMATERIALGROUP,0 as FJITMATERIELDEMAND,0 as FJITSAFESTOCK,T1.FMATERIALID,T6.FNUMBER,NEEDQTY, FSTOCKORGID ,FERPCLSID
-FROM (
-SELECT FHICMOINTERID FID,FHICMOENTRYID FENTRYID,FPLANDATE FHMASTERDATE,FLACKCOUNT NEEDQTY,FHMATERID FMATERIALID,FHSTOCKORGID FSTOCKORGID,FPRDBILLNO FBILLNO,FSUMPLANCOUNT FNEEDQTY FROM JIT_MOMATERREADYSBILL A
-RIGHT JOIN (SELECT MAX(FID)FID FROM JIT_MOMATERREADYSBILL GROUP BY FHICMOENTRYID,FHMATERID) B ON A.FID = B.FID
-)T1
-JOIN Sc_WorkBillSortBillMain T2 ON T1.FID = T2.FID
-JOIN T_BD_MATERIAL T6 ON T1.FMATERIALID = T6.FMATERIALID
-JOIN T_BD_MATERIALBASE T4 ON T1.FMATERIALID = T4.FMATERIALID
-JOIN T_BD_MATERIALPLAN T5 ON T1.FMATERIALID = T5.FMATERIALID
-where FERPCLSID IN ('2')
-AND T1.NEEDQTY>0
-AND T1.FENTRYID NOT IN (SELECT DISTINCT FHSOURCEENTRYID FROM t_Prd_ProductPlanEntry)
-AND T2.FHPRDORGID='{0}'
-AND T2.FHWORKSHOPID = '{1}'
-ORDER BY FHMASTERDATE
-", fPrdOrgId, fProWorkShopId);
- 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 == "163165").ToList();
- ////LogService.Write("[鎻愭枡璁″垝鍑嗗闃舵]鎬荤墿鏂欒鏁�" + MaterialIDList.Count);
- //鎻愭枡璁″垝鏁版嵁闆嗕复鏃跺瓨鍌ㄩ泦鍚�
- List<PODemandPlanTemp> PODemandPlanTemp = new List<PODemandPlanTemp>();
- //sql闆嗗悎 鏇存柊閲囪喘璁㈠崟鍗犵敤鐨勬彁鏂欒鍒掓暟閲�
- List<string> sqlList = new List<string>();
- //MaterialIDList = new List<string> { "105773" };
- int i = 1;//鐢ㄤ簬杩涘害鏉″姞杞�
- foreach (var item in MaterialIDList)
- {
- this.View.Session["ProcessRateValue"] = Convert.ToInt32((Convert.ToDecimal(80) / MaterialIDList.Count) * i);
- //褰撳墠鐗╂枡娌℃湁閲囪喘璁㈠崟鏃� 鐩存帴璺冲嚭
- List<PurchaseInventory> _PurchaseInventory = PurchaseInventory.Where(x => x.FMATERIALID == item.FMATERIALID && x.FStockOrgId == item.FStockOrgId && x.FQTY > 0).OrderBy(x => x.FENTRYID).ToList();
- if (_PurchaseInventory.Count == 0)
- {
- LogService.Write($"鐗╂枡锛歿 item.FMATERIALID},闇�姹傚崟鍙凤細{item.FXQD},鐢熶骇璁㈠崟鍙凤細{item.FBILLNO},鏃ヨ鍒掑伐鍗旻ID:{item.FID}...鏈壘鍒板搴旂敓浜ц鍗曚俊鎭�");
- continue;
- }
- ////LogService.Write(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;//绗竴涓璐ц捣濮嬫棩鏈�
- //璁板綍鍦ㄦ渶灏忛噰璐噺闇�姹備笅鐨勬棩璁″垝鏄庣粏FentyrID
- List<int> FEntryIdList = new List<int>();
- foreach (var _item in _DayPlanPpbom)
- {
- var PurchaseInventory_scdd = _PurchaseInventory.Where(x => x.FQTY > 0).OrderBy(x => x.FENTRYID).ToList();
- if (PurchaseInventory_scdd.Count == 0)
- {
- LogService.Write($"鐗╂枡锛歿 _item.FMATERIALID},闇�姹傚崟鍙凤細{item.FXQD},鐢熶骇璁㈠崟鍙凤細{_item.FBILLNO},鏃ヨ鍒掑伐鍗旻ID:{_item.FID}...鐢熶骇璁㈠崟鏁伴噺宸茶鍗犵敤瀹�");
- break;
- }
- FEntryIdList.Add(_item.FENTRYID);
- NeedQty += _item.NeedQty;
- //澧炲姞涓�涓攢鍞鍗曞彿鍖归厤鐨勯�昏緫 浼樺厛寰幆
- if (PurchaseInventory_scdd.Count > 0)
- {
- foreach (var Purchase in PurchaseInventory_scdd)
- {
- double _FFIXLEADTIME = Purchase.FFIXLEADTIME;//鎻愬墠鏈�
- DateTime _DATE = Convert.ToDateTime(_item.FHMASTERDATE).AddDays(-_FFIXLEADTIME);
- ////LogService.Write("閲囪喘璁㈠崟鍙锋祴璇曪細" + Purchase.FBillNo);
- ////LogService.Write("鐗╂枡锛�" + Purchase.FMATERIALID + ",閲囪喘璁㈠崟鏁伴噺锛�" + Purchase.FQTY);
- if (Purchase.FQTY >= NeedQty)
- {
- foreach (int id in FEntryIdList)
- {
- 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,
- FErpClsID = DayPlanPpbomls.FErpClsID,
-
- PurchseFID = Purchase.FID,
- PurchseFentryID = Purchase.FENTRYID,
- FSUPPLIERID = Purchase.FSUPPLIERID,
- PurchseFNUMBER = Purchase.FNUMBER,
- PurchseFBillNo = Purchase.FBillNo,
- PurchseFqty = Purchase.FQTY,
- FStockOrgId = Purchase.FStockOrgId, //閲囪喘缁勭粐
- FORGNumber = Purchase.FORGNumber,
-
- FXQD = Purchase.FXQD,
- FCREATORID = Purchase.FCREATORID,
- FName = Purchase.FName,
- FDate = Purchase.FDate,
- //FDeliveryDate = Purchase.FDeliveryDate,
- F_QIMB_NOTE = Purchase.F_QIMB_NOTE,
- FNOTE = Purchase.FNOTE
- });
- //鎵i櫎鏃ヨ鍒掓槑缁嗗凡琚垎閰嶇殑鏁伴噺
- DayPlanPpbomls.NeedQty = 0;
- }
- FEntryIdList.Clear();
- //鏇存柊閲囪喘璁㈠崟
- sqlList.Add($"/*dialect*/ update T_PRD_MOEntry 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 == 0)
- // //LogService.Write("璁㈠崟鏁伴噺涓�0");
- if (Qty > _NeedQty)
- Qty = _NeedQty; //璁㈠崟鏁伴噺>閲囪喘璁㈠崟鏁伴噺 鍙栭噰璐鍗�
-
- //if (_NeedQty == 0)
- // //LogService.Write("璁㈠崟鏁伴噺涓�0");
-
- _NeedQty = _NeedQty - Qty;
- 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,
- FErpClsID = DayPlanPpbomls.FErpClsID,
-
- PurchseFID = Purchase.FID,
- PurchseFentryID = Purchase.FENTRYID,
- FSUPPLIERID = Purchase.FSUPPLIERID,
- PurchseFNUMBER = Purchase.FNUMBER,
- PurchseFBillNo = Purchase.FBillNo,
- PurchseFqty = Purchase.FQTY,
- FStockOrgId = Purchase.FStockOrgId, //閲囪喘缁勭粐
- FORGNumber = Purchase.FORGNumber,
-
- FXQD = Purchase.FXQD,
- FCREATORID = Purchase.FCREATORID,
- FName = Purchase.FName,
- FDate = Purchase.FDate,
- //FDeliveryDate = Purchase.FDeliveryDate,
- F_QIMB_NOTE = Purchase.F_QIMB_NOTE,
- FNOTE = Purchase.FNOTE
- });
- //鏇存柊璁″垝鏁伴噺锛堝墿浣欓渶瑕佹帓鐨勶級 缁х画鍘昏绠椾笅涓�涓噰璐鍗�
- DayPlanPpbomls.NeedQty -= Qty;
- //鏇存柊閲囪喘璁㈠崟
- sqlList.Add($"/*dialect*/ update T_PRD_MOEntry 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);
- }
- }
- }
- }
- //if (NeedQty > 0)
- //{
- // LogService.Write("[瑕佹枡璁″垝]鐢熶骇璁㈠崟鍙凤細" + item.FBILLNO + ",褰撳墠鐗╂枡锛�" + item.FMATERIALID + ",闇�姹傛暟閲忥細" + _item.NeedQty + " ,鍗犵敤閲囪喘璁㈠崟鍚庢暟閲忓墿浣欙細" + NeedQty);
- //}
- NeedQty = 0;
- }
- i++;
- }
- var PODemandPlanList = PODemandPlanTemp.GroupBy(p => new { p.PurchseFNUMBER, p.FHMASTERDATE }).Select(x => new PODemandPlanTemp { PurchseFNUMBER = x.Key.PurchseFNUMBER, FHMASTERDATE = x.Key.FHMASTERDATE }).ToList();
- int tlmmm = 1;
- JArray FinalyResult = new JArray();
- foreach (var item in PODemandPlanList)
- {
- this.View.Session["ProcessRateValue"] = 80 + Convert.ToInt32((Convert.ToDecimal(20) / PODemandPlanList.Count) * tlmmm);
- DateTime date = item.FHMASTERDATE;
- string PurchseFNUMBER = item.PurchseFNUMBER;
- JObject model = new JObject();
- model.Add("FHDate", date);
- model.Add("FSettleCurrId", new JObject() { ["Fnumber"] = "PRE001" });
- model.Add("FSupplierID", new JObject() { ["Fnumber"] = PurchseFNUMBER });
-
- JArray Fentity = new JArray();
- List<PODemandPlanTemp> _PODemandPlanList = PODemandPlanTemp.Where(x => x.FHMASTERDATE == date && x.PurchseFNUMBER == PurchseFNUMBER).ToList();
- foreach (var _item in _PODemandPlanList)
- {
- if (!model.ToString().Contains("FHPURCHASEORGID"))
- model.Add("FHPURCHASEORGID", new JObject() { ["Fnumber"] = _item.FORGNumber });
- JObject FentityModel = new JObject();
- 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
- FentityModel.Add("FERPCLSID", _item.FErpClsID); //鍙戞枡鏂瑰紡
- FentityModel.Add("FUnitID", new JObject() { ["Fnumber"] = "Pcs" }); //鍙戞枡鏂瑰紡
-
- FentityModel.Add("FSalOrderNo", _item.FXQD); //闇�姹傚崟鍙�
- FentityModel.Add("FCgddCreaterId", new JObject() { ["FUserID"] = _item.FCREATORID }); //閲囪喘鍛�
- FentityModel.Add("FCgDate", _item.FDate); //閲囪喘璁㈠崟鍗曟嵁鏃ユ湡
- //FentityModel.Add("FCgDeliveryDate", _item.FDeliveryDate); //閲囪喘璁㈠崟浜よ揣鏃ユ湡
- FentityModel.Add("F_QIMB_NOTE", _item.F_QIMB_NOTE); //閲囪喘璁㈠崟鎽樿
- FentityModel.Add("FNOTE", _item.FNOTE); //閲囪喘璁㈠崟琛ㄤ綋澶囨敞
-
- Fentity.Add(FentityModel);
- }
- model.Add("FEntity", Fentity);
- FinalyResult.Add(model);
- if ((tlmmm >= 20 || tlmmm == PODemandPlanList.Count) && (tlmmm % 20 == 0 || tlmmm == PODemandPlanList.Count))
- {
- JObject jsonRoot = new JObject()
- {
- ["Creator"] = "",
- ["NeedUpDateFields"] = new JArray(),
- ["NeedReturnFields"] = new JArray(),
- ["IsDeleteEntry"] = "false",
- ["SubSystemId"] = "",
- ["IsVerifyBaseDataField"] = "false",
- ["Model"] = FinalyResult
- };
- CloudClient cloudClient = new CloudClient("http://localhost//k3cloud/");
- var result = cloudClient.BatchSave("bsv_ProductPlan", jsonRoot.ToString());
- JObject saveObj = JObject.Parse(result);
- string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
- if (saveIsSuc != "TRUE")
- {
- this.View.ShowMessage(saveObj["Result"]["ResponseStatus"]["Errors"][0]["Message"].ToString());
- }
- FinalyResult = new JArray();
- }
- tlmmm++;
- }
- sw.Stop();//缁撴潫璁℃椂
- LogService.Write("瑕佹枡璁″垝鎵ц瀹屾垚 璋冪敤webapi 鐢ㄦ椂锛�" + sw.Elapsed + "鎬昏鏁帮細" + PODemandPlanTemp.Count);
- DBServiceHelper.ExecuteBatch(Context, sqlList);
- return "鎿嶄綔鎴愬姛";
- }
- catch (Exception ex)
- {
- LogService.Write(ex.Message.ToString());
- return ex.Message.ToString();
}
}
}
diff --git a/MES/src/BLL/Demo.BillView/PRD/Pur_ReceiveByExcel.cs b/MES/src/BLL/Demo.BillView/PRD/Pur_ReceiveByExcel.cs
index 8b27712..3ac7690 100644
--- a/MES/src/BLL/Demo.BillView/PRD/Pur_ReceiveByExcel.cs
+++ b/MES/src/BLL/Demo.BillView/PRD/Pur_ReceiveByExcel.cs
@@ -352,7 +352,6 @@
};
CloudClient cloudClient = new CloudClient("http://localhost//k3cloud/");
var result = cloudClient.Save("PUR_ReceiveBill", jsonRoot.ToString());
- //LogService.Write("result"+ result);
JObject saveObj = JObject.Parse(result);
string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
if (saveIsSuc == "TRUE")
diff --git a/MES/src/BLL/Demo.BillView/PRD/SalOrderSaveVal.cs b/MES/src/BLL/Demo.BillView/PRD/SalOrderSaveVal.cs
index fd19a41..4f50b7b 100644
--- a/MES/src/BLL/Demo.BillView/PRD/SalOrderSaveVal.cs
+++ b/MES/src/BLL/Demo.BillView/PRD/SalOrderSaveVal.cs
@@ -36,12 +36,10 @@
//for寰幆,璇诲彇鏁版嵁
foreach (var data in dataEntities)
{
- //LogService.Write("鏍¢獙鍣ㄦ祴璇�");
var FID = data.DataEntity["Id"]?.ToString();//鏃ヨ鍒掑伐鍗旻ID
var FPRDMOENTYID = Convert.ToInt32(data.DataEntity["FPRDMOENTYID"]?.ToString());//鐢熶骇璁㈠崟鏄庣粏 FentryID
var FSRCBILLENTRYSEQ = data.DataEntity["FSRCBILLENTRYSEQ"]?.ToString();//鐢熶骇璁㈠崟鏄庣粏琛屽彿
var FSCOrderNo = data.DataEntity["FSCOrderNo"]?.ToString(); //鐢熶骇璁㈠崟鍙�
- var FOrderQuantity = Convert.ToDecimal(data.DataEntity["FOrderQuantity"]?.ToString()); //鐢熶骇璁㈠崟鎬绘暟
var FDayPlanQuantity = Convert.ToDecimal(data.DataEntity["FDayPlanQuantity"]?.ToString()); //鏃ヨ鍒掓暟閲忔�婚噺
var FMOENTRYID = Convert.ToInt32(data.DataEntity["FMOENTRYID"]?.ToString());//鐢熶骇璁㈠崟鏄庣粏 FMOENTRYID(鏂�)
@@ -50,9 +48,12 @@
if (FMOENTRYID == 0 || FMOENTRYID == FPRDMOENTYID)
{
- //LogService.Write($"{FPRDMOENTYID},,{FSRCBILLENTRYSEQ},,{FSCOrderNo},,{FOrderQuantity},,{FOrderQuantity},,{FDayPlanQuantity},,,,");
+ var FOrderQuantity = DBServiceHelper.ExecuteScalar<decimal>(Context, "select Fqty from t_prd_moentry where fentryid ="+ FPRDMOENTYID.ToString(), 0);
string sql = $"select convert(decimal(18,2),sum(FDayPlanQuantity)) from Sc_WorkBillSortBillMain where FPRDMOENTYID = {FPRDMOENTYID} and (FMoEntryId = 0 or FMoEntryId = FPRDMOENTYID ) and FID <>{FID}";
decimal FOrderCount = DBServiceHelper.ExecuteScalar<decimal>(Context, sql, 0);
+ LogService.Write("sql:" + sql);
+ LogService.Write("FOrderCount:" + FOrderCount);
+
bool isSave = FOrderCount + FDayPlanQuantity > FOrderQuantity;
if (isSave)
{
@@ -87,8 +88,11 @@
where FPRDMOENTYID ={0} and FMOENTRYID in({0},0 )
and FID <> {1}
) t1", FMOENTRYID, FID);
+ LogService.Write("_sql:"+ _sql);
//string sql = $"select convert(decimal(18,2),sum(FDayPlanQuantity)) from Sc_WorkBillSortBillMain where FMoEntryId = {FMOENTRYID} and FID <>{FID}";
decimal FOrderCount = DBServiceHelper.ExecuteScalar<decimal>(Context, _sql, 0);
+ var FOrderQuantity = DBServiceHelper.ExecuteScalar<decimal>(Context, "select Fqty from t_prd_moentry where fentryid =" + FMOENTRYID.ToString(), 0);
+ //LogService.Write("FOrderCount:" + FOrderCount);
bool isSave = FOrderCount + FDayPlanQuantity > FOrderQuantity;
if (isSave)
{
diff --git a/MES/src/BLL/Demo.TimedTaskPlugIn/Demo.TimedTaskPlugIn.csproj b/MES/src/BLL/Demo.TimedTaskPlugIn/Demo.TimedTaskPlugIn.csproj
index 39da281..5d67c32 100644
--- a/MES/src/BLL/Demo.TimedTaskPlugIn/Demo.TimedTaskPlugIn.csproj
+++ b/MES/src/BLL/Demo.TimedTaskPlugIn/Demo.TimedTaskPlugIn.csproj
@@ -134,7 +134,6 @@
<ItemGroup>
<Compile Include="PRD\DayPlanAddTask.cs" />
<Compile Include="PRD\TLPlanMessege.cs" />
- <Compile Include="PRD\TLPlanTimeTaskYl.cs" />
<Compile Include="PRD\TLPlanTimeTaskByPurchase.cs" />
<Compile Include="PRD\TLPlanTimeTask.cs" />
<Compile Include="PRD\DayPlanPPBomBillTimeTask.cs" />
diff --git a/MES/src/BLL/Demo.TimedTaskPlugIn/PRD/TLPlanTimeTaskYl.cs b/MES/src/BLL/Demo.TimedTaskPlugIn/PRD/TLPlanTimeTaskYl.cs
deleted file mode 100644
index 07dff7d..0000000
--- a/MES/src/BLL/Demo.TimedTaskPlugIn/PRD/TLPlanTimeTaskYl.cs
+++ /dev/null
@@ -1,360 +0,0 @@
-锘縰sing System.ComponentModel;
-using Kingdee.BOS;
-using Kingdee.BOS.Core;
-using Kingdee.BOS.ServiceHelper;
-using System.Data;
-
-using Newtonsoft.Json.Linq;
-using System;
-using Kingdee.BOS.Util;
-using System.Linq;
-using ZD.Cloud.WebApi;
-using Demo.Model.Model.PODemandPlan;
-
-using System.Collections.Generic;
-using ZD.Share.Common;
-using Demo.BillView.PRD;
-
-namespace Demo.TimedTaskPlugIn.PRD
-{
- [Description("瑕佹枡璁″垝")]
- [HotUpdate]
- public class TLPlanTimeTaskYl : Kingdee.BOS.Contracts.IScheduleService
- {
-
- public Context Context;
- public void Run(Context ctx, Schedule schedule)
- {
- try
- {
- LogService.Write("鎻愭枡璁″垝娴嬭瘯");
- Context = ctx;
- string sql = "/*dialect*/ select FID,FDAYPLANID from sc_TLPLANZXJH where FISZX = 1";
- List<string> sqlList = new List<string>();
- DataTable dt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0];
- if (dt.Rows.Count > 0)
- {
- Extraction();
- sqlList.Add($"/*dialect*/ update sc_TLPLANZXJH set FZXDATE = getdate(), FISZX = 2 where FISZX = 1 ");
- DBServiceHelper.ExecuteBatch(Context, sqlList);
- }
- }
- catch (System.Exception ex)
- {
- //LogHelper.Error(ex.Message.ToString());
- }
- }
-
- public void Extraction()
- {
- try
- {
- LogService.Write("鎻愭枡璁″垝娴嬭瘯寮�濮�");
- //Stopwatch sw = new Stopwatch();
- //sw.Start();//寮�濮嬭鏃�
- //鎻愭枡璁″垝棰勫鐞� 娓呯悊鎻愭枡璁″垝鍗曟暟鎹� 鏇存柊閲囪喘璁㈠崟鎻愭枡璁″垝鏁伴噺
- string sql = string.Format(@"
- /*dialect*/
- exec [瑕佹枡璁″垝棰勫鐞哴
- ");
- DBServiceHelper.Execute(Context, sql);
- ////LogService.Write("[鎻愭枡璁″垝鍑嗗闃舵]鎻愭枡璁″垝棰勫鐞唖ql锛�" + sql);
- //閲囪喘璁㈠崟鏁版嵁
- sql = @"
- /*dialect*/
-select t1.FID,t1.FBillNo,t2.FENTRYID,t2.FWorkShopID as FSUPPLIERID,t3.FNUMBER,t2.FMATERIALID,(t2.FQTY-t2.FPODemandPlanCount)FQTY
-,t1.FPrdOrgId FStockOrgId,t5.FNUMBER FORGNumber
-,t2.FXQD,t1.FCREATORID,t8.FName ,t1.FDate,'' as F_QIMB_NOTE,'' as FNOTE,
-0 as FFIXLEADTIME
- from T_PRD_MO t1
-join T_PRD_MOEntry t2 on t1.FID = t2.FID
-join T_BD_DEPARTMENT t3 on t2.FWorkShopID = t3.FDEPTID
-join T_ORG_Organizations t5 on t1.FPrdOrgId = t5.FORGID
-join T_SEC_user t8 on t1.FCREATORID = t8.FuserId
-where t2.FQTY-t2.FPODemandPlanCount>0
-and t2.FXQD in (
-select FHSeOrderBillNo from Sc_WorkBillSortBillMain where fid in (SELECT DISTINCT FDAYPLANID FROM SC_TLPLANZXJH WHERE FISZX = 1)
-)
-";
- List<PurchaseInventory> PurchaseInventory = DBServiceHelper.ExecuteDataSet(Context, sql).ToModelList<PurchaseInventory>();
- ////LogService.Write("[鎻愭枡璁″垝鍑嗗闃舵]鍙敤閲囪喘璁㈠崟鏁版嵁sql锛�" + sql);
- sql = string.Format(@"
- /*dialect*/
-SELECT T1.FID,FHMASTERDATE,T1.FENTRYID,t2.FHSeOrderBillNo as FXQD,T1.FBILLNO, FNEEDQTY,0 as FFIXLEADTIME
-,FMAXPOQTY,0 as FMINPOQTY,0 as FJITMATERIALGROUP,0 as FJITMATERIELDEMAND,0 as FJITSAFESTOCK,T1.FMATERIALID,T6.FNUMBER,NEEDQTY, FSTOCKORGID ,FERPCLSID
-FROM (
-SELECT FHICMOINTERID FID,FHICMOENTRYID FENTRYID,FPLANDATE FHMASTERDATE,FLACKCOUNT NEEDQTY,FHMATERID FMATERIALID,FHSTOCKORGID FSTOCKORGID,FPRDBILLNO FBILLNO,FSUMPLANCOUNT FNEEDQTY FROM JIT_MOMATERREADYSBILL A
-RIGHT JOIN (SELECT MAX(FID)FID FROM JIT_MOMATERREADYSBILL GROUP BY FHICMOENTRYID,FHMATERID) B ON A.FID = B.FID
-)T1
-JOIN Sc_WorkBillSortBillMain T2 ON T1.FID = T2.FID
-JOIN T_BD_MATERIAL T6 ON T1.FMATERIALID = T6.FMATERIALID
-JOIN T_BD_MATERIALBASE T4 ON T1.FMATERIALID = T4.FMATERIALID
-JOIN T_BD_MATERIALPLAN T5 ON T1.FMATERIALID = T5.FMATERIALID
-where FERPCLSID IN ('2')
-AND T1.NEEDQTY>0
-AND T1.FENTRYID NOT IN (SELECT DISTINCT FHSOURCEENTRYID FROM t_Prd_ProductPlanEntry WHERE FHSOURCEINTERID IN (SELECT DISTINCT FDAYPLANID FROM SC_TLPLANZXJH WHERE FISZX = 1))
-AND T1.FID IN (SELECT DISTINCT FDAYPLANID FROM SC_TLPLANZXJH WHERE FISZX = 1)
-ORDER BY FHMASTERDATE
-");
- ////LogService.Write("[鎻愭枡璁″垝鍑嗗闃舵]闇�瑕佹彁鏂欐暟鎹畇ql锛�" + 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 == "163165").ToList();
- ////LogService.Write("[鎻愭枡璁″垝鍑嗗闃舵]鎬荤墿鏂欒鏁�" + 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)
- {
- //褰撳墠鐗╂枡娌℃湁閲囪喘璁㈠崟鏃� 鐩存帴璺冲嚭
- List<PurchaseInventory> _PurchaseInventory = PurchaseInventory.Where(x => x.FMATERIALID == item.FMATERIALID && x.FStockOrgId == item.FStockOrgId && x.FQTY > 0).OrderBy(x => x.FENTRYID).ToList();
- if (_PurchaseInventory.Count == 0)
- {
- LogService.Write($"鐗╂枡锛歿 item.FMATERIALID},闇�姹傚崟鍙凤細{item.FXQD},鐢熶骇璁㈠崟鍙凤細{item.FBILLNO},鏃ヨ鍒掑伐鍗旻ID:{item.FID}...鏈壘鍒板搴旂敓浜ц鍗曚俊鎭�");
- continue;
- }
- ////LogService.Write(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;//绗竴涓璐ц捣濮嬫棩鏈�
- //璁板綍鍦ㄦ渶灏忛噰璐噺闇�姹備笅鐨勬棩璁″垝鏄庣粏FentyrID
- List<int> FEntryIdList = new List<int>();
- foreach (var _item in _DayPlanPpbom)
- {
- var PurchaseInventory_scdd = _PurchaseInventory.Where(x => x.FQTY > 0 && x.FXQD == _item.FXQD).OrderBy(x => x.FENTRYID).ToList();
- if (PurchaseInventory_scdd.Count == 0)
- {
- LogService.Write($"鐗╂枡锛歿 _item.FMATERIALID},闇�姹傚崟鍙凤細{item.FXQD},鐢熶骇璁㈠崟鍙凤細{_item.FBILLNO},鏃ヨ鍒掑伐鍗旻ID:{_item.FID}...鐢熶骇璁㈠崟鏁伴噺宸茶鍗犵敤瀹�");
- break;
- }
- FEntryIdList.Add(_item.FENTRYID);
- NeedQty += _item.NeedQty;
- //澧炲姞涓�涓攢鍞鍗曞彿鍖归厤鐨勯�昏緫 浼樺厛寰幆
- if (PurchaseInventory_scdd.Count > 0)
- {
- foreach (var Purchase in PurchaseInventory_scdd)
- {
- double _FFIXLEADTIME = Purchase.FFIXLEADTIME;//鎻愬墠鏈�
- DateTime _DATE = Convert.ToDateTime(_item.FHMASTERDATE).AddDays(-_FFIXLEADTIME);
- ////LogService.Write("閲囪喘璁㈠崟鍙锋祴璇曪細" + Purchase.FBillNo);
- ////LogService.Write("鐗╂枡锛�" + Purchase.FMATERIALID + ",閲囪喘璁㈠崟鏁伴噺锛�" + Purchase.FQTY);
- if (Purchase.FQTY >= NeedQty)
- {
- foreach (int id in FEntryIdList)
- {
- 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,
- FErpClsID = DayPlanPpbomls.FErpClsID,
-
- PurchseFID = Purchase.FID,
- PurchseFentryID = Purchase.FENTRYID,
- FSUPPLIERID = Purchase.FSUPPLIERID,
- PurchseFNUMBER = Purchase.FNUMBER,
- PurchseFBillNo = Purchase.FBillNo,
- PurchseFqty = Purchase.FQTY,
- FStockOrgId = Purchase.FStockOrgId, //閲囪喘缁勭粐
- FORGNumber = Purchase.FORGNumber,
-
- FXQD = Purchase.FXQD,
- FCREATORID = Purchase.FCREATORID,
- FName = Purchase.FName,
- FDate = Purchase.FDate,
- //FDeliveryDate = Purchase.FDeliveryDate,
- F_QIMB_NOTE = Purchase.F_QIMB_NOTE,
- FNOTE = Purchase.FNOTE
- });
- //鎵i櫎鏃ヨ鍒掓槑缁嗗凡琚垎閰嶇殑鏁伴噺
- DayPlanPpbomls.NeedQty = 0;
- }
- FEntryIdList.Clear();
- //鏇存柊閲囪喘璁㈠崟
- sqlList.Add($"/*dialect*/ update T_PRD_MOEntry 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 == 0)
- // //LogService.Write("璁㈠崟鏁伴噺涓�0");
- if (Qty > _NeedQty)
- Qty = _NeedQty; //璁㈠崟鏁伴噺>閲囪喘璁㈠崟鏁伴噺 鍙栭噰璐鍗�
-
- //if (_NeedQty == 0)
- // //LogService.Write("璁㈠崟鏁伴噺涓�0");
-
- _NeedQty = _NeedQty - Qty;
- 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,
- FErpClsID = DayPlanPpbomls.FErpClsID,
-
- PurchseFID = Purchase.FID,
- PurchseFentryID = Purchase.FENTRYID,
- FSUPPLIERID = Purchase.FSUPPLIERID,
- PurchseFNUMBER = Purchase.FNUMBER,
- PurchseFBillNo = Purchase.FBillNo,
- PurchseFqty = Purchase.FQTY,
- FStockOrgId = Purchase.FStockOrgId, //閲囪喘缁勭粐
- FORGNumber = Purchase.FORGNumber,
-
- FXQD = Purchase.FXQD,
- FCREATORID = Purchase.FCREATORID,
- FName = Purchase.FName,
- FDate = Purchase.FDate,
- //FDeliveryDate = Purchase.FDeliveryDate,
- F_QIMB_NOTE = Purchase.F_QIMB_NOTE,
- FNOTE = Purchase.FNOTE
- });
- //鏇存柊璁″垝鏁伴噺锛堝墿浣欓渶瑕佹帓鐨勶級 缁х画鍘昏绠椾笅涓�涓噰璐鍗�
- DayPlanPpbomls.NeedQty -= Qty;
- //鏇存柊閲囪喘璁㈠崟
- sqlList.Add($"/*dialect*/ update T_PRD_MOEntry 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);
- }
- }
- }
- }
- //if (NeedQty > 0)
- //{
- // LogService.Write("[瑕佹枡璁″垝]鐢熶骇璁㈠崟鍙凤細" + item.FBILLNO + ",褰撳墠鐗╂枡锛�" + item.FMATERIALID + ",闇�姹傛暟閲忥細" + _item.NeedQty + " ,鍗犵敤閲囪喘璁㈠崟鍚庢暟閲忓墿浣欙細" + NeedQty);
- //}
- NeedQty = 0;
- }
- }
- 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();
- LogService.Write($"鎻愭枡璁″垝锛屾暟鎹噯澶囧畬鎴愶紝淇濆瓨鍒癕odel瀹炰綋锛屾�昏鏁帮細{PODemandPlanTemp.Count}");
- int tlmmm = 1;
- JArray FinalyResult = new JArray();
- foreach (var item in PODemandPlanList)
- {
- DateTime date = item.FHMASTERDATE;
- string PurchseFNUMBER = item.PurchseFNUMBER;
- JObject model = new JObject();
- model.Add("FHDate", date);
- model.Add("FSettleCurrId", new JObject() { ["Fnumber"] = "PRE001" });
- model.Add("FSupplierID", new JObject() { ["Fnumber"] = PurchseFNUMBER });
-
- JArray Fentity = new JArray();
- List<PODemandPlanTemp> _PODemandPlanList = PODemandPlanTemp.Where(x => x.FHMASTERDATE == date && x.PurchseFNUMBER == PurchseFNUMBER).ToList();
- foreach (var _item in _PODemandPlanList)
- {
- if (!model.ToString().Contains("FHPURCHASEORGID"))
- model.Add("FHPURCHASEORGID", new JObject() { ["Fnumber"] = _item.FORGNumber });
- JObject FentityModel = new JObject();
- 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
- FentityModel.Add("FERPCLSID", _item.FErpClsID); //鍙戞枡鏂瑰紡
- FentityModel.Add("FUnitID", new JObject() { ["Fnumber"] = "Pcs" }); //鍙戞枡鏂瑰紡
-
- FentityModel.Add("FSalOrderNo", _item.FXQD); //闇�姹傚崟鍙�
- FentityModel.Add("FCgddCreaterId", new JObject() { ["FUserID"] = _item.FCREATORID }); //閲囪喘鍛�
- FentityModel.Add("FCgDate", _item.FDate); //閲囪喘璁㈠崟鍗曟嵁鏃ユ湡
- //FentityModel.Add("FCgDeliveryDate", _item.FDeliveryDate); //閲囪喘璁㈠崟浜よ揣鏃ユ湡
- FentityModel.Add("F_QIMB_NOTE", _item.F_QIMB_NOTE); //閲囪喘璁㈠崟鎽樿
- FentityModel.Add("FNOTE", _item.FNOTE); //閲囪喘璁㈠崟琛ㄤ綋澶囨敞
-
- Fentity.Add(FentityModel);
- }
- model.Add("FEntity", Fentity);
- FinalyResult.Add(model);
- if ((tlmmm >= 20 || tlmmm == PODemandPlanList.Count) && (tlmmm % 20 == 0 || tlmmm == PODemandPlanList.Count))
- {
- //LogService.Write("鎻愭枡璁″垝鏂板鎵归噺鎵ц锛岃褰曞惊鐜殑褰撳墠鏉℃暟" + tlmmm);
- JObject jsonRoot = new JObject()
- {
- ["Creator"] = "",
- ["NeedUpDateFields"] = new JArray(),
- ["NeedReturnFields"] = new JArray(),
- ["IsDeleteEntry"] = "false",
- ["SubSystemId"] = "",
- ["IsVerifyBaseDataField"] = "false",
- ["Model"] = FinalyResult
- };
- CloudClient cloudClient = new CloudClient("http://localhost//k3cloud/");
- //LogService.Write("鎻愭枡璁″垝鎵归噺鎵цjson:" + jsonRoot.ToString());
- var result = cloudClient.BatchSave("bsv_ProductPlan", jsonRoot.ToString());
- JObject saveObj = JObject.Parse(result);
- string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
- if (saveIsSuc != "TRUE")
- {
- LogService.Write("api閿欒:" + saveObj);
- }
- FinalyResult = new JArray();
- }
- tlmmm++;
- }
- //sw.Stop();//缁撴潫璁℃椂
- ////LogService.Write("鎻愭枡璁″垝鎵ц瀹屾垚锛岃繍琛屾�绘椂闀匡細" + sw.Elapsed);
- DBServiceHelper.ExecuteBatch(Context, sqlList);
- }
- catch (Exception ex)
- {
- LogService.Write("鎻愭枡璁″垝璺冲嚭锛�" + ex.Message.ToString());
- }
-
- // var PODemandPlanList22 = PODemandPlanTemp.GroupBy(p => new {p.FSUPPLIERID, p.FHMASTERDATE }).ToList();
- }
- }
-}
--
Gitblit v1.9.1