| | |
| | | { |
| | | Save(); |
| | | } |
| | | |
| | | if (e.BarItemKey.ToUpper() == "TBCOMPLETE") |
| | | { |
| | | //CompleteSetAnalysis(); |
| | | //COMPLETEMAIN(); |
| | | COMPLETE(); |
| | | SearchList(); |
| | | } |
| | | //提料计划 |
| | | if (e.BarItemKey.ToUpper() == "TBEXTRACTION") |
| | |
| | | finally |
| | | { |
| | | this.View.ShowMessage("操作成功!"); |
| | | |
| | | } |
| | | |
| | | } |
| | | //预留 |
| | | if (e.BarItemKey.ToUpper() == "TBRESERVE") |
| | |
| | | //释放 |
| | | if (e.BarItemKey.ToUpper() == "TBRELEASE") |
| | | { |
| | | |
| | | Release(); |
| | | } |
| | | } |
| | |
| | | { |
| | | // 需要捕获错误,以确保处理结束时,关闭进度滚动界面 |
| | | // 引入功能实际处理函数 |
| | | //this.CompleteSetAnalysis(); |
| | | this.CompleteSetAnalysisBySQL(); |
| | | |
| | | } |
| | | finally |
| | | { |
| | |
| | | LEFT JOIN T_STK_Inventory a on T1.FStockOrgId = a.FStockOrgId and T1.FMATERIALID =a.FMATERIALID |
| | | LEFT JOIN JIT_MOMaterReadysBill B ON T1.FStockOrgId = b.FHSTOCKORGID and T1.FMATERIALID =b.FHMATERID and a.FOwnerId = b.FOwnerId |
| | | LEFT join T_ORG_Organizations c on a.FOWNERID = c.FORGID |
| | | join t_BD_Stock d on a.FSTOCKID =d.FSTOCKID |
| | | where d.FAvailableComplete<>0 |
| | | --join t_BD_Stock d on a.FSTOCKID =d.FSTOCKID |
| | | --where d.FAvailableComplete<>0 |
| | | --where T1.FMATERIALID in (105773) |
| | | "); |
| | | ListInventory = ds.ToModelList<PRD_Inventory>(); |
| | |
| | | LEFT JOIN T_STK_Inventory a on T1.FStockOrgId = a.FStockOrgId and T1.FMATERIALID =a.FMATERIALID |
| | | LEFT JOIN JIT_MOMaterReadysBill B ON T1.FStockOrgId = b.FHSTOCKORGID and T1.FMATERIALID =b.FHMATERID |
| | | --where T1.FMATERIALID in (105773) |
| | | join t_BD_Stock d on a.FSTOCKID =d.FSTOCKID |
| | | where d.FAvailableComplete<>0 |
| | | --join t_BD_Stock d on a.FSTOCKID =d.FSTOCKID |
| | | --where d.FAvailableComplete<>0 |
| | | group by T1.FStockOrgId,T1.FMATERIALID |
| | | "); |
| | | ListInventoryByStockOrgId = ds.ToModelList<PRD_Inventory>(); |
| | |
| | | if (item.FOwnerId != null) |
| | | FBatchModel.Add("FOwnerId", new JObject() { ["FNUMBER"] = item.FOwnerId }); |
| | | Fentity.Add(FBatchModel); |
| | | if (i >= 20 && (i % 20 == 0 || i == completeAnalysisTempModel.Count)) |
| | | if ((i >= 20 || i == completeAnalysisTempModel.Count) && (i % 20 == 0 || i == completeAnalysisTempModel.Count)) |
| | | { |
| | | LogHelper.Info("齐套分析批量执行,记录循环的当前条数" + i); |
| | | JObject jsonRoot = new JObject() |
| | |
| | | LEFT JOIN T_STK_Inventory a on T1.FStockOrgId = a.FStockOrgId and T1.FMATERIALID =a.FMATERIALID |
| | | LEFT JOIN JIT_MOMaterReadysBill B ON T1.FStockOrgId = b.FHSTOCKORGID and T1.FMATERIALID =b.FHMATERID and a.FOwnerId = b.FOwnerId |
| | | LEFT join T_ORG_Organizations c on a.FOWNERID = c.FORGID |
| | | join t_BD_Stock d on a.FSTOCKID =d.FSTOCKID |
| | | where d.FAvailableComplete<>0 |
| | | --join t_BD_Stock d on a.FSTOCKID =d.FSTOCKID |
| | | --where d.FAvailableComplete<>0 |
| | | --where T1.FMATERIALID in (105773) |
| | | "); |
| | | ListInventory = ds.ToModelList<PRD_Inventory>(); |
| | |
| | | ) T1 |
| | | LEFT JOIN T_STK_Inventory a on T1.FStockOrgId = a.FStockOrgId and T1.FMATERIALID =a.FMATERIALID |
| | | LEFT JOIN JIT_MOMaterReadysBill B ON T1.FStockOrgId = b.FHSTOCKORGID and T1.FMATERIALID =b.FHMATERID |
| | | join t_BD_Stock d on a.FSTOCKID =d.FSTOCKID |
| | | where d.FAvailableComplete<>0 |
| | | --join t_BD_Stock d on a.FSTOCKID =d.FSTOCKID |
| | | --where d.FAvailableComplete<>0 |
| | | --where T1.FMATERIALID in (105773) |
| | | group by T1.FStockOrgId,T1.FMATERIALID |
| | | "); |
| | |
| | | JOIN T_ORG_Organizations t5 on a.FHPRDORGID = t5.FORGID |
| | | --条件为今天往后的日计划 + 今天之前未关闭的日计划 |
| | | where (FHEntryCloseDate is null and DATEDIFF(D,GETDATE(),FHMASTERDATE)<0)or DATEDIFF(D,GETDATE(),FHMASTERDATE)>=0 |
| | | and b.FHQTY>0 |
| | | ORDER BY b.FHMASTERDATE,a.FHOrderLev |
| | | "; |
| | | ds = DBServiceHelper.ExecuteDataSet(Context, sql); |
| | |
| | | var _BomList = BomList.Where(x => x.FHMASTERDATE == item.FHMASTERDATE && x.FPRDMOENTYID == item.FPRDMOENTYID).ToList(); |
| | | foreach (var _item in _BomList) |
| | | { |
| | | //该日计划物料需要数 |
| | | //该日计划物料需要数 |
| | | decimal need = _item.PlanCount; |
| | | var sjkcList = ListInventoryByStockOrgId.Where(x => x.FMATERIALID == _item.FMATERIALID2 && x.FStockOrgId == _item.FStockOrgId).FirstOrDefault(); |
| | | //真正需要取计算的数量(拆分货主) |
| | |
| | | { |
| | | decimal occupyMaterial = 0; |
| | | if (occupyDic.ContainsKey(_item.FMATERIALID2)) |
| | | { |
| | | occupyMaterial = occupyDic[_item.FMATERIALID2]; |
| | | } |
| | | completeAnalysisTempModel.Add(new Demo.Model.Model.CompleteAnalysisTempModel |
| | | { |
| | | FHMainICMOInterIDr = _item.FPRDMOMAINID, |
| | |
| | | |
| | | } |
| | | LogHelper.Info($"齐套分析,数据准备完成,保存到Model实体,总行数:{completeAnalysisTempModel.Count},耗时:" + sw.Elapsed); |
| | | |
| | | List<string> sqlList = new List<string>(); |
| | | int jdtmmm = 1; |
| | | foreach (var item in completeAnalysisTempModel) |
| | | { |
| | | sql = string.Format(@" |
| | |
| | | delete z_JIT_MOMaterReadysBill |
| | | ", item.FHMainICMOInterIDr, item.FHMainICMOEntryID, item.FHICMOInterID, item.FHICMOEntryID, item.FHMaterID, item.FHStockOrgID, item.FHStockQty, item.FHLeftQty, item.FHPRDORGID, item.FUnitDosage, item.FSumPlanCount, item.FPRDBillNo, item.FOwnerId == null ? "0" : item.FOwnerId, item.FPlanDate.ToString("yyyy-MM-dd"), item.FComPlete, item.FLackCount, item.FOccupyCount, item.FCompleteCount1); |
| | | sqlList.Add(sql); |
| | | |
| | | //if (sql.Contains("559")) |
| | | // LogHelper.Info("记录sql559:" + sql); |
| | | |
| | | this.View.Session["ProcessRateValue"] = Convert.ToInt32((Convert.ToDecimal(98) / completeAnalysisTempModel.Count) * jdtmmm); |
| | | jdtmmm++; |
| | | } |
| | | LogHelper.Info("批量执行sql开始:"); |
| | | DBServiceHelper.ExecuteBatch(Context, sqlList); |
| | | LogHelper.Info("批量执行sql结束:"); |
| | | //执行完成后 更新日计划工单状态 |
| | | DBServiceHelper.Execute(Context, @" |
| | | /*dialect*/update Sc_WorkBillSortBillSub set FComplete = '未齐套' where FEntryID IN (select distinct FHICMOEntryID from JIT_MOMaterReadysBill where isnull(FCOMPLETE,'未齐套') ='未齐套') |
| | |
| | | //if (!string.IsNullOrEmpty(_DayPlanMaterial[0].FID)) |
| | | // model.Add("FID", _DayPlanMaterial[0].FID); |
| | | Fentity.Add(model); |
| | | if (i >= 20 && (i % 20 == 0 || i == fidList.Count)) |
| | | if ((i >= 20 || i == fidList.Count) && (i % 20 == 0 || i == fidList.Count)) |
| | | { |
| | | LogHelper.Info("日计划用料清单批量执行,记录循环的当前条数" + i); |
| | | JObject jsonRoot = new JObject() |
| | |
| | | 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 |
| | | FROM ( |
| | | select FHICMOINTERID FID,FHICMOENTRYID FEntryID,FPlanDate FHMASTERDATE,FLackCount NeedQty,FHMATERID FMATERIALID,FHStockOrgID FStockOrgId,FPRDBILLNO FBillNo,FSumPlanCount FNeedQty from JIT_MOMaterReadysBill |
| | | )T1 |
| | | 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 DATEDIFF(D,GETDATE(),FHMASTERDATE) >=0 |
| | | AND FERPCLSID=1 |
| | | AND T1.NeedQty>0 |
| | | AND T1.FENTRYID not in (select distinct FHSOURCEENTRYID from CG_PODEMANDPLANBILLSUB where FHSOURCEINTERID IN ({0})) |
| | | AND T1.FID in ({0}) |
| | | order by FHMASTERDATE |
| | | ", FDayPlanWorkID); |
| | |
| | | } |
| | | model.Add("FEntity", Fentity); |
| | | FinalyResult.Add(model); |
| | | if (tlmmm >= 20 && (tlmmm % 20 == 0 || tlmmm == PODemandPlanList.Count)) |
| | | if ((tlmmm >= 20 || tlmmm == PODemandPlanList.Count) && (tlmmm % 20 == 0 || tlmmm == PODemandPlanList.Count)) |
| | | { |
| | | LogHelper.Info("齐套分析批量执行,记录循环的当前条数" + tlmmm); |
| | | JObject jsonRoot = new JObject() |