From 33ea398cbab8ca06c953672ed2b677968bec3d5d Mon Sep 17 00:00:00 2001
From: 王 垚 <1402714037@qq.com>
Date: 星期五, 29 一月 2021 11:03:03 +0800
Subject: [PATCH] 提料计划+齐套分析 写入日志
---
src/BLL/Demo.BillView/PRD/ProCompleteAnalysisDetails.cs | 6
src/BLL/Demo.Report/PRD/prd_ExtractionPlanDetail.cs | 2
src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs | 8
src/Model/Demo.Model/Model/CompleteAnalysisTempModel.cs | 1
src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs | 1128 +++++++++++++++++---------------------------------------
5 files changed, 353 insertions(+), 792 deletions(-)
diff --git a/src/BLL/Demo.BillView/PRD/ProCompleteAnalysisDetails.cs b/src/BLL/Demo.BillView/PRD/ProCompleteAnalysisDetails.cs
index 106122c..4a0ac45 100644
--- a/src/BLL/Demo.BillView/PRD/ProCompleteAnalysisDetails.cs
+++ b/src/BLL/Demo.BillView/PRD/ProCompleteAnalysisDetails.cs
@@ -42,7 +42,7 @@
this.Model.SetValue("FSEQ", i + 1, i);//搴忓彿
this.Model.SetValue("FMateralDetailId", dt.Rows[i]["FHMATERID"], i);
this.Model.SetValue("FPlanIssueCount", dt.Rows[i]["FSumPlanCount"], i);//璁″垝鍙戞枡鏁伴噺
- this.Model.SetValue("FCompleteCount", dt.Rows[i]["FCompleteCount"], i);//榻愬鏁伴噺
+ this.Model.SetValue("FCompleteCount", dt.Rows[i]["FCompleteCount1"], i);//榻愬鏁伴噺
this.Model.SetValue("FLackCount", dt.Rows[i]["FLackCount"], i);//缂烘枡鏁伴噺
this.Model.SetValue("FPassableCount", dt.Rows[i]["FHLeftQty"].ToString(), i);//鍙敤鏁伴噺
this.Model.SetValue("FMateralCount", dt.Rows[i]["FHStockQty"].ToString(), i);//鐗╂枡鏁伴噺
@@ -153,7 +153,7 @@
this.Model.SetValue("FSEQ", i + 1, i);//搴忓彿
this.Model.SetValue("FMateralDetailId", dt.Rows[i]["FHMATERID"], i);
this.Model.SetValue("FPlanIssueCount", dt.Rows[i]["FSumPlanCount"], i);//璁″垝鍙戞枡鏁伴噺
- this.Model.SetValue("FCompleteCount", dt.Rows[i]["FCompleteCount"], i);//榻愬鏁伴噺
+ this.Model.SetValue("FCompleteCount", dt.Rows[i]["FCompleteCount1"], i);//榻愬鏁伴噺
this.Model.SetValue("FLackCount", dt.Rows[i]["FLackCount"], i);//缂烘枡鏁伴噺
this.Model.SetValue("FPassableCount", dt.Rows[i]["FHLeftQty"].ToString(), i);//鍙敤鏁伴噺
this.Model.SetValue("FMateralCount", dt.Rows[i]["FHStockQty"].ToString(), i);//鐗╂枡鏁伴噺
@@ -172,3 +172,5 @@
}
}
}
+
+
\ No newline at end of file
diff --git a/src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs b/src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs
index 37b460c..6aacb61 100644
--- a/src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs
+++ b/src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs
@@ -55,6 +55,7 @@
base.AfterBarItemClick(e);
if (e.BarItemKey.ToUpper().Equals("TBIMPORT"))
{
+ LogService.WriteAsync("瀵煎叆鍔熻兘锛�");
ImportData();
}
@@ -67,7 +68,8 @@
//// 涓嬭浇鍦板潃
//string downloadUrl = "FileUpLoadServices/download.aspx";
//updateControl.SetCustomPropertyValue("ExDownLoadUrl", downloadUrl);
-
+ LogHelper.Info("222222");
+ LogService.WriteAsync("涓婁紶鍔熻兘锛�");
ImportDataSC(fileFullPath);
}
}
@@ -105,7 +107,7 @@
{
DataSet ds = helper.ReadFromFile(fileFullPath, 1);
DataTable dt = ds.Tables[0];
-
+ LogService.WriteAsync("瀵煎叆鍔熻兘锛歞t琛屾暟锛�" + dt.Rows.Count);
DateTime date = Convert.ToDateTime(this.Model.GetValue("F_Paez_Date"));
if (dt.Rows.Count > 0)
{
@@ -136,7 +138,7 @@
string fDayPlanBillNo = "";
sql = string.Format(@"select a.FID,FBILLNO,FSCOrderNo,FHMaterID,FHSourceID from Sc_WorkBillSortBillMain a JOIN T_BD_MATERIAL b ON a.FHMaterID = b.FMATERIALID
left join T_ENG_WORKCENTER c on a.FHSourceID=c.fid
- where FSCOrderNo ='{0}' and b.FNUMBER ='{1}' and isnull(c.FNUMBER,'') ='{2}' ", dt.Rows[i][1].ToString(), dt.Rows[i][5].ToString(), dt.Rows[i][4].ToString());
+ where FSCOrderNo ='{0}' and b.FNUMBER ='{1}' and (isnull(c.FNUMBER,'') ='{2}' or (select count(*) from T_ENG_WORKCENTER where isnull(c.FNUMBER,'') ='{2}')=0)", dt.Rows[i][1].ToString(), dt.Rows[i][5].ToString(), dt.Rows[i][4].ToString());
DataTable dayPlanDt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0];
if (dayPlanDt.Rows.Count > 0)
{
diff --git a/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs b/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs
index 26391a6..1325b4a 100644
--- a/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs
+++ b/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs
@@ -90,6 +90,7 @@
//CompleteSetAnalysis();
//COMPLETEMAIN();
COMPLETE();
+ SearchList();
}
//鎻愭枡璁″垝
if (e.BarItemKey.ToUpper() == "TBEXTRACTION")
@@ -732,6 +733,7 @@
{
Stopwatch sw = new Stopwatch();
sw.Start();//寮�濮嬭鏃�
+ LogHelper.Info("榻愬鍒嗘瀽寮�濮嬪噯澶囨暟鎹細" + sw.Elapsed);
//娓呯┖榻愬涓存椂琛�
DBServiceHelper.Execute(Context, "/*dialect*/ delete JIT_MOMaterReadysBill ");
//鏇存柊鐘舵��
@@ -844,11 +846,15 @@
FUnitDosage = _item.dwyl.ToString(),//鍗曚綅鐢ㄩ噺
FSumPlanCount = _item.PlanCount.ToString(),//璁″垝鎬绘暟閲�
FCompleteCount = fCompleteCount, //榻愬鏁伴噺
+ FCompleteCount1 = fCompleteCount, //榻愬鏁伴噺
FLackCount = _fLackCount,//缂烘枡鏁伴噺
FHStockQty = sjkcList.FBASEQTY,//鍗虫椂搴撳瓨
FHLeftQty = Inventory.FBASEQTY,//鍙敤鏁伴噺
FOccupyCount = occupyMaterial,//鍗犵敤鏁伴噺
+ /* 2021 1.26 鏇存敼涓簄eed
FComPlete = sjkcList.FBASEQTY >= _item.PlanCount ? "榻愬" : "鏈綈濂�",
+ */
+ FComPlete = sjkcList.FBASEQTY >= need ? "榻愬" : "鏈綈濂�",
FPlanDate = item.FHMASTERDATE // 鏃ヨ鍒掓棩鏈�
});
//鎵e噺鎬诲簱瀛樻暟閲�
@@ -878,6 +884,7 @@
FUnitDosage = _item.dwyl.ToString(),//鍗曚綅鐢ㄩ噺
FSumPlanCount = _item.PlanCount.ToString(),//璁″垝鎬绘暟閲�
FCompleteCount = 0, //榻愬鏁伴噺
+ FCompleteCount1 = 0, //榻愬鏁伴噺
FLackCount = _item.PlanCount,//缂烘枡鏁伴噺
FHStockQty = 0,//鍗虫椂搴撳瓨
FHLeftQty = 0,//鍙敤鏁伴噺
@@ -888,10 +895,11 @@
}
}
//Thread.Sleep(100);
- this.View.Session["ProcessRateValue"] = Convert.ToInt32((Convert.ToDecimal(40) / DatePlanList.Count) * i);
+ // this.View.Session["ProcessRateValue"] = Convert.ToInt32((Convert.ToDecimal(40) / DatePlanList.Count) * i);
i++;
}
+ LogHelper.Info($"榻愬鍒嗘瀽锛屾暟鎹噯澶囧畬鎴愶紝淇濆瓨鍒癕odel瀹炰綋锛屾�昏鏁帮細{completeAnalysisTempModel.Count}锛岃�楁椂锛�" + sw.Elapsed);
i = 1;
foreach (var item in completeAnalysisTempModel)
{
@@ -917,6 +925,7 @@
jsonModel.Add("FUnitDosage", item.FUnitDosage);
jsonModel.Add("FSumPlanCount", item.FSumPlanCount);
jsonModel.Add("FCompleteCount", item.FCompleteCount);
+ jsonModel.Add("FCompleteCount1", item.FCompleteCount1);
jsonModel.Add("FPRDBillNo", item.FPRDBillNo);
jsonModel.Add("FOwnerTypeId", item.FOwnerTypeId);
jsonModel.Add("FComPlete", item.FComPlete);
@@ -934,7 +943,7 @@
{
LogHelper.Error(jsonRoot.ToString());
}
- this.View.Session["ProcessRateValue"] = 40 + Convert.ToInt32((Convert.ToDecimal(60) / completeAnalysisTempModel.Count) * i);
+ this.View.Session["ProcessRateValue"] = Convert.ToInt32((Convert.ToDecimal(100) / completeAnalysisTempModel.Count) * i);
i++;
}
//鎵ц瀹屾垚鍚� 鏇存柊鏃ヨ鍒掑伐鍗曠姸鎬�
@@ -945,11 +954,11 @@
/*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);
+ LogHelper.Info("榻愬鍒嗘瀽杩愯鎬绘椂闀匡細" + sw.Elapsed);
}
catch (Exception ex)
{
- LogHelper.Error(ex.Message.ToString());
+ LogHelper.Error("榻愬鍒嗘瀽璺冲嚭锛�" + ex.Message.ToString());
}
}
/// <summary>
@@ -1190,486 +1199,14 @@
}
}
- /// <summary>
- /// 鎻愭枡璁″垝
- /// </summary>
- public void Extraction3()
- {
- 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(@"
-
- 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);
- 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>();
- //鎵�鏈夌墿鏂欑殑搴撳瓨
- ds = DBServiceHelper.ExecuteDataSet(Context, @" /*dialect*/ select sum(FBASEQTY)FBASEQTY,FMATERIALID,FStockOrgId from T_STK_Inventory group by FMATERIALID, FStockOrgId ");
- ListInventoryByStockOrgId = ds.ToModelList<PRD_Inventory>();
- List<PODemandPlanTemp> deleteList = new List<PODemandPlanTemp>();
- foreach (var item in DayPlanPpbom)
- {
- string FmaterialID = item.FMATERIALID;
- string FStockOrgId = item.FStockOrgId.ToString();
- decimal NeedQty = item.NeedQty;
- var kcList = ListInventoryByStockOrgId.Where(c => c.FMATERIALID == FmaterialID && c.FStockOrgId == FStockOrgId && c.FBASEQTY > 0).FirstOrDefault();
- if (kcList != null)
- {
- if (kcList.FBASEQTY >= NeedQty)
- {
- deleteList.Add(new PODemandPlanTemp
- {
- FENTRYID = item.FENTRYID,
- FMATERIALID = item.FMATERIALID
- });
- kcList.FBASEQTY = kcList.FBASEQTY - NeedQty;
- }
- else
- {
- item.NeedQty -= kcList.FBASEQTY;
- kcList.FBASEQTY = 0;
- }
- }
- }
- foreach (var item in deleteList)
- {
- DayPlanPpbom.RemoveAll(p => p.FENTRYID == item.FENTRYID && p.FMATERIALID == item.FMATERIALID);
- }
- sql = @"select T1.FID,FDayPlanQuantity,FCOMPLETECOUNT,t2.FHQTY, FHPRDORGID FStockOrgId from SC_WORKBILLSORTBILLMAIN T1
-JOIN SC_WORKBILLSORTBILLSUB T2 ON T1.FID=T2.FID WHERE DATEDIFF(D,GETDATE(),FHMASTERDATE) >=0 AND FDayPlanQuantity>FCOMPLETECOUNT AND T1.FID in (" + FDayPlanWorkID + ")";
- DataSet Complete = DBServiceHelper.ExecuteDataSet(Context, sql);
- List<DayPlanPpbom> CompleteList = ds.ToModelList<DayPlanPpbom>();
- #region
- /*
- //FID闆嗗悎
- var FIDList = CompleteList.Select(x => x.FID).Distinct().ToList();
- foreach (var item in FIDList)
- {
- var _CompleteList = CompleteList.Where(p => p.FID == item).ToList();
- decimal FComplete = _CompleteList.FirstOrDefault().FCOMPLETECOUNT;
- if (FComplete == 0)
- continue;
- foreach (var _item in _CompleteList)
- {
- FComplete = FComplete - _item.FHQTY;
- if (FComplete >= 0)
- {
- DayPlanPpbom.RemoveAll(p => p.FENTRYID == _item.FENTRYID);
- }
- else
- {
- DayPlanPpbom.FindAll(p => p.FENTRYID == _item.FENTRYID).ForEach(x =>
- {
- x.NeedQty = -(x.FNeedQty * FComplete);
- });
- break;
- }
-
-
- }
-
- }
- */
- #endregion
- //鑾峰彇褰撳墠鍗虫椂搴撳瓨
- DataSet JSKCds = DBServiceHelper.ExecuteDataSet(Context, " /*dialect*/ select DISTINCT FBASEQTY,FMATERIALID,FStockOrgId,FOwnerId from T_STK_Inventory");
- var InventoryList = ds.ToModelList<PRD_Inventory>();
-
-
- //鐗╂枡闆嗗悎 鐢辩墿鏂欏幓鍒嗙粍
- // List<string> MaterialIDList = DayPlanPpbom.Select(x => x.FMATERIALID).Distinct().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);
-
- //鎻愭枡璁″垝鏁版嵁闆嗕复鏃跺瓨鍌ㄩ泦鍚�
- 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;//鎻愬墠鏈�
- 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 (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
-
-
- });
- 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;
- // }
-
- // 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,
-
- // 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)
- // {
-
- // 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
-
-
- // });
- // 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;
- //}
- #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
- };
-
- CloudClient cloudClient = new CloudClient("http://localhost/K3Cloud/");
- 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")
- {
- }
- else
- {
- LogHelper.Error(saveIsSuc);
-
- }
-
- }
- DBServiceHelper.ExecuteBatch(Context, sqlList);
- this.View.ShowMessage("鎿嶄綔鎴愬姛");
- // var PODemandPlanList22 = PODemandPlanTemp.GroupBy(p => new {p.FSUPPLIERID, p.FHMASTERDATE }).ToList();
- }
/// <summary>
/// 鏃ヨ鍒掔敤鏂欐竻鍗曠敓鎴�
/// </summary>
public void DayPlanPPBomBill()
{
+ LogHelper.Info("鐢熶骇鐢ㄦ枡娓呭崟鍑嗗鏁版嵁");
+
//閿佸畾鐨勬棩璁″垝涓嶇敓鎴�
try
{
@@ -1721,6 +1258,7 @@
});
}
var fidList = DayPlanMaterial.Select(x => x.FEntryID).Distinct().ToList();
+ LogHelper.Error("鐢熶骇鐢ㄦ枡娓呭崟鍑嗗鏁版嵁" + fidList.Count);
foreach (var item in fidList)
{
var _DayPlanMaterial = DayPlanMaterial.Where(x => x.FEntryID == item).ToList();
@@ -1751,8 +1289,8 @@
Entry.Add(ModelEnty);
}
model.Add("FEntity", Entry);
- if (!string.IsNullOrEmpty(_DayPlanMaterial[0].FID))
- model.Add("FID", _DayPlanMaterial[0].FID);
+ //if (!string.IsNullOrEmpty(_DayPlanMaterial[0].FID))
+ // model.Add("FID", _DayPlanMaterial[0].FID);
JObject jsonRoot = new JObject()
{
["Creator"] = "",
@@ -1769,7 +1307,10 @@
JObject saveObj = JObject.Parse(result);
string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
if (saveIsSuc != "TRUE")
- LogHelper.Error(saveIsSuc);
+ {
+ LogHelper.Error(jsonRoot.ToString());
+
+ }
}
}
}
@@ -1783,22 +1324,26 @@
/// </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)
+ try
{
- FDayPlanWorkID += Convert.ToString(dr["FID"]) + ",";
- }
- FDayPlanWorkID = FDayPlanWorkID.Substring(0, FDayPlanWorkID.Length - 1);
- //鎻愭枡璁″垝棰勫鐞� 娓呯悊鎻愭枡璁″垝鍗曟暟鎹� 鏇存柊閲囪喘璁㈠崟鎻愭枡璁″垝鏁伴噺
- sql = string.Format(@"
+ Stopwatch sw = new Stopwatch();
+ sw.Start();//寮�濮嬭鏃�
+ 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 = @"
+ 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
@@ -1808,9 +1353,9 @@
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(@"
+ List<PurchaseInventory> PurchaseInventory = DBServiceHelper.ExecuteDataSet(Context, sql).ToModelList<PurchaseInventory>();
+ LogHelper.Info("[鎻愭枡璁″垝鍑嗗闃舵]鍙敤閲囪喘璁㈠崟鏁版嵁sql锛�" + 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
@@ -1821,323 +1366,332 @@
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 FComplete ='鏈綈濂�'
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();
- 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)
- {
- //褰撳墠鐗╂枡娌℃湁閲囪喘璁㈠崟鏃� 鐩存帴璺冲嚭
- List<PurchaseInventory> _PurchaseInventory = PurchaseInventory.Where(x => x.FMATERIALID == item.FMATERIALID && x.FStockOrgId == item.FStockOrgId && x.FQTY > 0).ToList();
- if (_PurchaseInventory.Count == 0)
+ 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 == "105773").ToList();
+ 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 + " 搴撳瓨缁勭粐锛�" + item.FStockOrgId);
- continue;
- }
- //LogHelper.Info(item.FMATERIALID.ToString());
- //褰撳墠鐗╂枡鍜屽簱瀛樼粍缁囧搴旂殑闇�杩涜鎻愭枡璁″垝鐨勬暟鎹�
- List<DayPlanPpbom> _DayPlanPpbom = DayPlanPpbom.Where(x => x.FMATERIALID == item.FMATERIALID && x.FStockOrgId == item.FStockOrgId).ToList();
- decimal FMINPOQTY = _DayPlanPpbom.FirstOrDefault().FMINPOQTY;//鏈�灏忚捣璁㈤噺
- double FFIXLEADTIME = _DayPlanPpbom.FirstOrDefault().FFIXLEADTIME;//鎻愬墠鏈�
- 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)
{
- /*淇敼鍓� 鍒ゆ柇鏂瑰紡
- List<PurchaseInventory> _PurchaseInventory = PurchaseInventory.Where(x => x.FMATERIALID == item.FMATERIALID && x.FStockOrgId == item.FStockOrgId && x.FQTY > 0).ToList();
- if (_PurchaseInventory.Count == 0)
+ LogHelper.Info("[鎻愭枡璁″垝寮�濮媇褰撳墠鐗╂枡鏃犻噰璐俊鎭細" + item.FMATERIALID + " 搴撳瓨缁勭粐锛�" + item.FStockOrgId);
+ continue;
+ }
+ //LogHelper.Info(item.FMATERIALID.ToString());
+ //褰撳墠鐗╂枡鍜屽簱瀛樼粍缁囧搴旂殑闇�杩涜鎻愭枡璁″垝鐨勬暟鎹�
+ List<DayPlanPpbom> _DayPlanPpbom = DayPlanPpbom.Where(x => x.FMATERIALID == item.FMATERIALID && x.FStockOrgId == item.FStockOrgId).ToList();
+ decimal FMINPOQTY = _DayPlanPpbom.FirstOrDefault().FMINPOQTY;//鏈�灏忚捣璁㈤噺
+ double FFIXLEADTIME = _DayPlanPpbom.FirstOrDefault().FFIXLEADTIME;//鎻愬墠鏈�
+ 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)
{
- NeedQty = 0;
- break;
- }
- */
- foreach (var Purchase in _PurchaseInventory)
- {
- //LogHelper.Info("Purchase");
- //LogHelper.Info("鐗╂枡锛�" + Purchase.FMATERIALID + ",鏁伴噺锛�" + Purchase.FQTY);
- if (Purchase.FQTY >= NeedQty)
+ /*淇敼鍓� 鍒ゆ柇鏂瑰紡
+ List<PurchaseInventory> _PurchaseInventory = PurchaseInventory.Where(x => x.FMATERIALID == item.FMATERIALID && x.FStockOrgId == item.FStockOrgId && x.FQTY > 0).ToList();
+ if (_PurchaseInventory.Count == 0)
{
- 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,
-
- 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;
+ NeedQty = 0;
break;
}
- else
+ */
+ foreach (var Purchase in _PurchaseInventory)
{
- //鏇存柊鎬婚渶姹傛暟閲�
- NeedQty = NeedQty - Purchase.FQTY;
- decimal _NeedQty = Purchase.FQTY;//閲囪喘璁㈠崟鏁伴噺
- List<int> mmm = new List<int>();
- foreach (int id in FEntryIdList)
+ //LogHelper.Info("Purchase");
+ //LogHelper.Info("鐗╂枡锛�" + Purchase.FMATERIALID + ",鏁伴噺锛�" + Purchase.FQTY);
+ if (Purchase.FQTY >= NeedQty)
{
- 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
+ foreach (int id in FEntryIdList)
{
- 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)
+ var DayPlanPpbomls = DayPlanPpbom.Where(c => c.FENTRYID == id && c.FMATERIALID == _item.FMATERIALID).FirstOrDefault();
+ PODemandPlanTemp.Add(new Demo.Model.Model.PODemandPlan.PODemandPlanTemp
{
- FEntryIdList.Remove(mm);
- }
- break;
+ 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;
}
- mmm.Add(id);
+ 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;
}
- foreach (var mm in mmm)
+ else
{
- FEntryIdList.Remove(mm);
+ //鏇存柊鎬婚渶姹傛暟閲�
+ 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;
}
- 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;
+ // }
+ // 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,
+ // 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)
+ // {
+ // 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
+ // });
+ // 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;
+ //}
+ #endregion
+ i++;
}
- #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)
- // {
- // 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
- // });
- // //鎵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
- // });
- // 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;
- //}
- #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();
+ LogHelper.Info($"鎻愭枡璁″垝锛屾暟鎹噯澶囧畬鎴愶紝淇濆瓨鍒癕odel瀹炰綋锛屾�昏鏁帮細{PODemandPlanTemp.Count}锛岃�楁椂锛�" + sw.Elapsed);
+ 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
+ };
+ CloudClient cloudClient = new CloudClient("http://localhost/K3Cloud/");
+ var result = cloudClient.Save("paez_PODemandPlan", jsonRoot.ToString());
+ JObject saveObj = JObject.Parse(result);
+ string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
+ if (saveIsSuc != "TRUE")
+ {
+ LogHelper.Info(jsonRoot.ToString());
+ LogHelper.Error(saveIsSuc);
+ }
+ }
+ sw.Stop();//缁撴潫璁℃椂
+ LogHelper.Info("鎻愭枡璁″垝鎵ц瀹屾垚锛岃繍琛屾�绘椂闀匡細" + sw.Elapsed);
+ DBServiceHelper.ExecuteBatch(Context, sqlList);
}
- 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)
+ catch (Exception ex)
{
- 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
- };
- CloudClient cloudClient = new CloudClient("http://localhost/K3Cloud/");
- 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);
+ LogHelper.Info("鎻愭枡璁″垝璺冲嚭锛�" + ex.Message.ToString());
}
- DBServiceHelper.ExecuteBatch(Context, sqlList);
// var PODemandPlanList22 = PODemandPlanTemp.GroupBy(p => new {p.FSUPPLIERID, p.FHMASTERDATE }).ToList();
}
/// <summary>
diff --git a/src/BLL/Demo.Report/PRD/prd_ExtractionPlanDetail.cs b/src/BLL/Demo.Report/PRD/prd_ExtractionPlanDetail.cs
index 3310e1a..cfa9397 100644
--- a/src/BLL/Demo.Report/PRD/prd_ExtractionPlanDetail.cs
+++ b/src/BLL/Demo.Report/PRD/prd_ExtractionPlanDetail.cs
@@ -175,6 +175,8 @@
{
TableName = tableName;
string Filter = GetFilterWhere(filter);
+ string seqFld = string.Format(base.KSQL_SEQ, OrderColumn(filter));
+
// 鍙栨暟SQL
// FID, FEntryId, 缂栧彿銆佺姸鎬併�佺墿鏂欍�佹暟閲忋�佸崟浣嶃�佸崟浣嶇簿搴︺�佸崟浠枫�佷环绋庡悎璁� ,t1M_L.FNAME as FMaterialName
string sql = string.Format(@"/*dialect*/exec 鎻愭枡璁″垝鎶ヨ〃 '{0}','{1}'", tableName, Filter.Trim());
diff --git a/src/Model/Demo.Model/Model/CompleteAnalysisTempModel.cs b/src/Model/Demo.Model/Model/CompleteAnalysisTempModel.cs
index e9a8c92..6ce0f34 100644
--- a/src/Model/Demo.Model/Model/CompleteAnalysisTempModel.cs
+++ b/src/Model/Demo.Model/Model/CompleteAnalysisTempModel.cs
@@ -123,6 +123,7 @@
/// 榻愬鏁伴噺锛欶CompleteCount q
/// </summary>
public decimal FCompleteCount { get; set; }
+ public decimal FCompleteCount1 { get; set; }
/// <summary>
/// 鏃ヨ鍒掓棩鏈�
/// </summary>
--
Gitblit v1.9.1