| | |
| | | DataTable dt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0]; |
| | | if (dt.Rows.Count > 0) |
| | | { |
| | | foreach (DataRow dr in dt.Rows) |
| | | { |
| | | Extraction(dr["FDAYPLANID"].ToString()); |
| | | sqlList.Add($"/*dialect*/ update sc_TLPLANZXJH set FZXDATE = getdate(), FISZX = 1 where FID={dr["FID"]}"); |
| | | } |
| | | Extraction(); |
| | | sqlList.Add($"/*dialect*/ update sc_TLPLANZXJH set FZXDATE = getdate(), FISZX = 1 where FISZX = 0 "); |
| | | DBServiceHelper.ExecuteBatch(Context, sqlList); |
| | | } |
| | | LogHelper.Info("提料计划时长:" + sw.Elapsed); |
| | |
| | | } |
| | | } |
| | | |
| | | public void Extraction(string FDayPlanWorkID) |
| | | public void Extraction() |
| | | { |
| | | LogHelper.Info("[提料计划准备阶段]:测试测试测试测试测试测试测试测试"); |
| | | try |
| | |
| | | //提料计划预处理 清理提料计划单数据 更新采购订单提料计划数量 |
| | | string sql = string.Format(@" |
| | | /*dialect*/ |
| | | exec [提料计划预处理] '{0}' |
| | | ", FDayPlanWorkID.Replace(",", "-")); |
| | | exec [提料计划预处理] |
| | | "); |
| | | DBServiceHelper.Execute(Context, sql); |
| | | LogHelper.Info("[提料计划准备阶段]提料计划预处理sql:" + sql); |
| | | //采购订单数据 |
| | |
| | | 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 |
| | | 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 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); |
| | | sql = string.Format(@" |
| | | /*dialect*/ |
| | | SELECT T1.FID,FHMASTERDATE,t1.FEntryID,T1.FBILLNO, FNeedQty,(FLeadtime+FLeadTtime2)FFIXLEADTIME,t5.FMAXPOQTY,FJITBatch FMINPOQTY,FJITMATERIALGROUP,FJITMaterielDemand,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 |
| | |
| | | WHERE DATEDIFF(D,GETDATE(),FHMASTERDATE) >=0 |
| | | AND FERPCLSID in ('1','3') |
| | | AND T1.NeedQty>0 |
| | | AND T1.FENTRYID not in (select distinct FHSOURCEENTRYID from CG_PODEMANDPLANBILLSUB where FHSOURCEINTERID IN ({0})) |
| | | AND T1.FID in ({0}) |
| | | AND T1.FENTRYID not in (select distinct FHSOURCEENTRYID from CG_PODEMANDPLANBILLSUB where FHSOURCEINTERID IN (select distinct FDAYPLANID from sc_TLPLANZXJH where FISZX = 0)) |
| | | AND T1.FID in (select distinct FDAYPLANID from sc_TLPLANZXJH where FISZX = 0) |
| | | order by FHMASTERDATE |
| | | ", FDayPlanWorkID); |
| | | "); |
| | | //LogHelper.Info("[提料计划准备阶段]需要提料数据sql:" + sql); |
| | | DataSet ds = DBServiceHelper.ExecuteDataSet(Context, sql); |
| | | List<DayPlanPpbom> DayPlanPpbom = ds.ToModelList<DayPlanPpbom>(); |