From 3fea7b751b0fe095dd05ce772f364e55bf1f7fdb Mon Sep 17 00:00:00 2001 From: 王 垚 <1402714037@qq.com> Date: 星期一, 28 十二月 2020 17:41:19 +0800 Subject: [PATCH] 代码上传 --- src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs | 47 +++++++++++++++++++++-------------------------- 1 files changed, 21 insertions(+), 26 deletions(-) diff --git a/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs b/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs index 75a9132..c9d38b4 100644 --- a/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs +++ b/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs @@ -1212,7 +1212,7 @@ sql = string.Format(@" /*dialect*/ - SELECT T1.FID,FHMATERID,FHMASTERDATE,FHQTY,FCOMPLETECOUNT,FPRDMOMAINID,T2.FENTRYID,T1.FBILLNO, FNeedQty,t5.FFIXLEADTIME,t5.FMAXPOQTY,t5.FMINPOQTY,t3.FMATERIALID,t6.FNumber,FHQTY*FNeedQty NeedQty,FHPRDORGID FStockOrgId FROM SC_WORKBILLSORTBILLMAIN T1 + 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 @@ -1223,7 +1223,7 @@ 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 T2.FENTRYID not in (select distinct FHSOURCEENTRYID from CG_PODEMANDPLANBILLSUB where FHSOURCEINTERID IN ({0})) AND T1.FID in ({0}) order by FHMASTERDATE ", FDayPlanWorkID); @@ -1659,6 +1659,7 @@ /// </summary> public void DayPlanPPBomBill() { + //閿佸畾鐨勬棩璁″垝涓嶇敓鎴� try { string sql = string.Format(@" @@ -1803,15 +1804,19 @@ sql = string.Format(@" /*dialect*/ - select T1.*,t5.FFIXLEADTIME,t5.FMAXPOQTY,t5.FMINPOQTY,t6.FNumber from ( -select FHICMOINTERID FID,FHICMOENTRYID FEntryID,FPlanDate FHMASTERDATE,FLackCount NeedQty,FHMATERID FMATERIALID,FHStockOrgID FStockOrgId,FPRDBILLNO FBillNo from JIT_MOMaterReadysBill -)T1 -join t_BD_MaterialBase t4 on T1.FMATERIALID = t4.FMATERIALID -join t_BD_MaterialPlan t5 on T1.FMATERIALID = t5.FMATERIALID -JOIN T_BD_MATERIAL T6 ON T1.FMATERIALID = T6.FMATERIALID -WHERE T1.NeedQty >0 AND FERPCLSID=1 -AND T1.FENTRYID not in (select distinct FHSOURCEENTRYID from CG_PODEMANDPLANBILLSUB where FHSOURCEINTERID IN ({0})) -AND T1.FID in ({0}) + 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); @@ -1835,6 +1840,9 @@ 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; @@ -1842,13 +1850,12 @@ 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(); @@ -1857,12 +1864,10 @@ 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>(); @@ -1890,7 +1895,6 @@ PurchseFqty = Purchase.FQTY, FStockOrgId = Purchase.FStockOrgId, //閲囪喘缁勭粐 FORGNumber = Purchase.FORGNumber - }); //鎵i櫎鏃ヨ鍒掓槑缁嗗凡琚垎閰嶇殑鏁伴噺 DayPlanPpbomls.NeedQty = 0; @@ -1910,7 +1914,6 @@ 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) @@ -1928,7 +1931,6 @@ OLDDATE = DayPlanPpbomls.FHMASTERDATE, FFIXLEADTIME = FFIXLEADTIME, - PurchseFID = Purchase.FID, PurchseFentryID = Purchase.FENTRYID, FSUPPLIERID = Purchase.FSUPPLIERID, @@ -1937,18 +1939,13 @@ 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) @@ -1957,14 +1954,12 @@ } break; } - mmm.Add(id); } foreach (var mm in mmm) { FEntryIdList.Remove(mm); } - } } NeedQty = 0; -- Gitblit v1.9.1