Sfoglia il codice sorgente

计划工单资源检查,生成PR根据工单开工时间倒排。

tangdi 2 anni fa
parent
commit
44a7c21189

+ 10 - 0
MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/Dto/BomChildExamineDto.cs

@@ -198,6 +198,16 @@ namespace Business.ResourceExamineManagement.Dto
         /// </summary>
         public DateTime? satisfy_time { get; set; }
 
+        /// <summary>
+        /// 自制时长(天)
+        /// </summary>
+        public int? make_time { get; set; }
+
+        /// <summary>
+        /// 采购前置(需加上自制)
+        /// </summary>
+        public int? pre_time { get; set; }
+
         /// <summary>
         /// 是否BOM
         /// </summary>

+ 1 - 1
MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/IResourceExamineAppService.cs

@@ -53,7 +53,7 @@ namespace Business.ResourceExamineManagement
         /// </summary>
         /// <param name="workOrds"></param>
         /// <returns></returns>
-        Task<string> PlanOrderResourceCheck(string workOrd);
+        Task<string> PlanOrderResourceCheck();
 
         /// <summary>
         /// ×ÊÔ´¼ì²é½á¹ûÆÀÉó

+ 38 - 11
MicroServices/Business/Business.Application/ResourceExamineManagement/CalcBomViewAppService.cs

@@ -291,7 +291,7 @@ namespace Business.ResourceExamineManagement
                             if (level1Dto.lack_qty > 0)
                             {
                                 //采购申请
-                                PackageSRMPR(level1Dto, bangid, plan_date, sentrys);
+                                PackageSRMPR(level1Dto, bangid, sentrys);
                             }
                         }
                         else if (level1Dto.erp_cls == 2)
@@ -325,7 +325,7 @@ namespace Business.ResourceExamineManagement
                                 orderList.Add(mesorder);
                                 //2.生成采购申请
                                 //采购申请
-                                PackageSRMPR(level1Dto, bangid, plan_date, sentrys);
+                                PackageSRMPR(level1Dto, bangid, sentrys);
                             }
 
                            
@@ -339,6 +339,7 @@ namespace Business.ResourceExamineManagement
                     else {
                         MatterTileDevelop(level1Dto, childList, returnlist, sklist, bangid, plan_date, sentrys, icitemlist);
                     }
+                    CalcLevelMakeTime(returnlist);
                 }
             }
             else
@@ -352,6 +353,23 @@ namespace Business.ResourceExamineManagement
             }
         }
 
+        //计算每层物料倒排时,需要根据半成品的工作时长倒排。
+        public void CalcLevelMakeTime(List<BomChildExamineDto> returnlist)
+        {
+            for (int level = 3; level <= returnlist.Max(s => s.level); level++)
+            {
+                var list = returnlist.Where(s => s.level == level).ToList();
+                list.ForEach(s => {
+                    var parent = returnlist.Find(p => p.fid == s.parent_id);
+                    if (parent != null)
+                    {
+                        s.pre_time = parent.make_time.GetValueOrDefault() + parent.pre_time.GetValueOrDefault();
+                    }
+                });
+            }
+        }
+
+
         /// <summary>
         /// 生成主工单
         /// </summary>
@@ -652,9 +670,13 @@ namespace Business.ResourceExamineManagement
                         if (cilList.Count() > 0)
                         {
                             CalcIcitem(cilList, returnlist, bangid, sklist, plan_date, icitemlist, sentrys, childidList);
+                            
                             item.kitting_time = cilList.Max(s => s.kitting_time);
                         }
                         item.make_qty = item.lack_qty;
+                        //默认中间件需要1天的制造周期
+                        item.make_time = 1;
+                        item.kitting_time = item.kitting_time.Value.AddDays(1);
                         /*//走自制
                         ProdExamineParamDto prodExamine = new ProdExamineParamDto()
                         {
@@ -687,7 +709,7 @@ namespace Business.ResourceExamineManagement
                     if (item.lack_qty > 0 && (param.checkflag || (!param.checkflag && param.checkPlan)))
                     {
                         //采购申请
-                        PackageSRMPR(item, bangid, plan_date, sentrys);
+                        PackageSRMPR(item, bangid, sentrys);
                     }
                 }
                 else if (item.erp_cls == 2)
@@ -721,7 +743,7 @@ namespace Business.ResourceExamineManagement
                         orderList.Add(mesorder);
                         //2.生成采购申请
                         //采购申请
-                        PackageSRMPR(item, bangid, plan_date, sentrys);
+                        PackageSRMPR(item, bangid, sentrys);
                     }
                 }
                 else
@@ -1059,6 +1081,10 @@ namespace Business.ResourceExamineManagement
                                 sct.kitting_time = cilList.Max(s => s.kitting_time);
                             }
                             sct.make_qty = sct.lack_qty;
+                            //默认中间件需要1天的制造周期
+                            sct.make_time = 1;
+                            sct.kitting_time = sct.kitting_time.Value.AddDays(1);
+
                             /*//走自制
                             ProdExamineParamDto prodExamine = new ProdExamineParamDto()
                             {
@@ -1086,7 +1112,7 @@ namespace Business.ResourceExamineManagement
                             if (sct.lack_qty > 0 && (param.checkflag || (!param.checkflag && param.checkPlan)))
                             {
                                 //采购申请
-                                PackageSRMPR(sct, bangid, plan_date, sentrys);
+                                PackageSRMPR(sct, bangid, sentrys);
                             }
                         }
                         else if (sct.erp_cls == 2)
@@ -1119,7 +1145,7 @@ namespace Business.ResourceExamineManagement
                                 sct.kitting_time = mesorder.ooentry_etime;
                                 orderList.Add(mesorder);
                                 //采购申请
-                                PackageSRMPR(sct, bangid, plan_date, sentrys);
+                                PackageSRMPR(sct, bangid, sentrys);
                             }
                         }
                         else
@@ -1162,7 +1188,7 @@ namespace Business.ResourceExamineManagement
         /// <param name="returnlist"></param>
         /// <param name="factoryid"></param>
         /// <param name="orderType">2委外采购申请单,3采购申请单</param>
-        private SRMPRDto CreateSRMPR(BomChildExamineDto returnlist, long tenantId, long factoryid, long bangId, int orderType, List<ICItemLeadTimeDto> iCItemLeadTimes, List<mo_srm_purchase> supplierList, List<mo_ic_item> planList, DateTime deliveryDate, crm_seorderentry sentrys)
+        private SRMPRDto CreateSRMPR(BomChildExamineDto returnlist, long tenantId, long factoryid, long bangId, int orderType, List<ICItemLeadTimeDto> iCItemLeadTimes, List<mo_srm_purchase> supplierList, List<mo_ic_item> planList, crm_seorderentry sentrys)
         {
             SRMPRDto sRMPR = new SRMPRDto();
             var supplier = supplierList.Where(x => x.icitem_id == returnlist.item_id).ToList();//默认取第一个供应商
@@ -1170,7 +1196,7 @@ namespace Business.ResourceExamineManagement
             sRMPR.srm_Pr_Main = new List<mo_srm_pr_main>();
             if (!supplier.Any() || plan == null)
             {
-                sRMPR.lastStartTmie = DateTime.Now.AddDays(7);//减去提前期
+                sRMPR.lastStartTmie = DateTime.Now.AddDays(7);//默认采购提前期
                 return sRMPR;
                 //throw new NotImplementedException("未找到物料ic_factory_details或ic_item_pur或ic_plan信息!");
             }
@@ -1198,6 +1224,7 @@ namespace Business.ResourceExamineManagement
                 srm_Pr.pr_sqty = returnlist.lack_qty;//建议数量
                 srm_Pr.icitem_id = returnlist.item_id;//物料id
                 srm_Pr.icitem_name = returnlist.item_name;//物料名称
+                srm_Pr.num = returnlist.num;
                 srm_Pr.pr_order_type = 1;//单据类型
                 srm_Pr.pr_ssend_date = DateTime.Now;//系统建议下单日期
                 srm_Pr.pr_sarrive_date = DateTime.Now.AddDays((double)plan.order_leadtime).AddDays((double)plan.transportation_leadtime);//系统建议到达日期(建议到货日期)
@@ -1236,7 +1263,7 @@ namespace Business.ResourceExamineManagement
             }
             sRMPR.item_no = returnlist.num;
             sRMPR.orderentry_id = returnlist.sentry_id;
-            sRMPR.lastStartTmie = DateTime.Now.AddDays((double)sRMPR.srm_Pr_Main.MinBy(x=>x.totalLeadTime).totalLeadTime);//减去提前期
+            sRMPR.lastStartTmie = DateTime.Now.AddDays((double)(sRMPR.srm_Pr_Main.MinBy(x=>x.totalLeadTime).totalLeadTime.GetValueOrDefault()+plan.clean_leadtime.GetValueOrDefault()));//加上提前期和备料期,得到齐套时间
             return sRMPR;
         }
         // 生成订单编号 字母+年月日+8位随机数+时间戳
@@ -1347,10 +1374,10 @@ namespace Business.ResourceExamineManagement
             }
         }
 
-        public void PackageSRMPR(BomChildExamineDto item,long bangid,DateTime? plan_date, crm_seorderentry sentrys)
+        public void PackageSRMPR(BomChildExamineDto item,long bangid, crm_seorderentry sentrys)
         {
             //采购申请
-            var SRMPRDto = CreateSRMPR(item, param.tenantId, param.factoryId, bangid, item.erp_cls, leadTimeList, supplierList, ic_item_List, plan_date.Value, sentrys);
+            var SRMPRDto = CreateSRMPR(item, param.tenantId, param.factoryId, bangid, item.erp_cls, leadTimeList, supplierList, ic_item_List, sentrys);
             item.purchase_list = new List<purchase>();
             if (SRMPRDto.srm_Pr_Main != null)
             {

+ 17 - 2
MicroServices/Business/Business.Application/ResourceExamineManagement/ProductionScheduleAppService.cs

@@ -163,7 +163,15 @@ namespace Business.ResourceExamineManagement
                 return;
             }
             //获取排产工单的最早计划开工日期
-            DateTime earlist = workOrds.Min(p => p.OrdDate.GetValueOrDefault()).Date;
+            DateTime earlist;
+            if (workOrds.Min(p => p.OrdDate) == null)
+            {
+                earlist = DateTime.Now.Date.AddDays(7);
+            }
+            else {
+                earlist = workOrds.Min(p => p.OrdDate.GetValueOrDefault()).Date;
+            }
+
             //2、获取数据
             //获取工单工艺路径数据
             List<WorkOrdRouting> workOrdRoutings = _workOrdRouting.Select(p => workOrds.Select(m => m.WorkOrd).Contains(p.WorkOrd) && p.Domain == "1001" && p.Status != "C" && p.IsActive);
@@ -237,6 +245,13 @@ namespace Business.ResourceExamineManagement
                 //产线排产
                 LineSchedule(item, routingDtos.OrderBy(p => p.level).ToList(), periodSequenceDtls, scheduleMasters);
 
+                List<ScheduleResultOpMaster> scheduleList = scheduleMasters.Where(s => s.WorkOrd == item.WorkOrd).ToList();
+                if (scheduleList.Any())
+                {
+                    item.OrdDate = scheduleList.Min(s => s.WorkStartTime.Date);
+                    item.DueDate = scheduleList.Max(s => s.WorkEndTime.Date);
+                }
+
                 /*//更新工单表
                 item.Status = "r";*/
             }
@@ -245,7 +260,7 @@ namespace Business.ResourceExamineManagement
                 try
                 {
                     //记录排产数据
-                    /*_workOrdMaster.Update(workOrds);*/
+                    _workOrdMaster.Update(workOrds);
                     _periodSequenceDet.Insert(periodSequenceDtls);
                     _scheduleResultOpMaster.Insert(scheduleMasters);
                     scope.Complete();

+ 85 - 57
MicroServices/Business/Business.Application/ResourceExamineManagement/ResourceExamineAppService.cs

@@ -210,6 +210,11 @@ namespace Business.ResourceExamineManagement
         /// </summary>
         private readonly ISqlRepository<PeriodSequenceDet> _periodSequenceDet;
 
+        /// <summary>
+        /// 排产结果明细
+        /// </summary>
+        private ISqlRepository<ScheduleResultOpMaster> _scheduleResultOpMaster;
+
         /// <summary>
         /// 工作日历
         /// </summary>
@@ -424,6 +429,7 @@ namespace Business.ResourceExamineManagement
             ISqlRepository<LocationDetail> locationDetail,
             ISqlRepository<ItemPackMaster> itemPackMaster,
             ISqlRepository<GeneralizedCodeMaster> generalizedCodeMaster,
+            ISqlRepository<ScheduleResultOpMaster> scheduleResultOpMaster,
             IUnitOfWorkManager unitOfWorkManager
             )
         {
@@ -506,6 +512,7 @@ namespace Business.ResourceExamineManagement
             _itemPackMaster = itemPackMaster;
             _generalizedCodeMaster = generalizedCodeMaster;
             _unitOfWorkManager = unitOfWorkManager;
+            _scheduleResultOpMaster = scheduleResultOpMaster;
         }
         #endregion
 
@@ -979,6 +986,7 @@ namespace Business.ResourceExamineManagement
             srm_Pr.pr_rqty = prlist.Sum(s => s.pr_rqty);//需求数量
             srm_Pr.pr_aqty = prlist.Sum(s => s.pr_aqty);//申请数量
             srm_Pr.pr_sqty = prlist.Sum(s => s.pr_sqty);//建议数量
+            srm_Pr.pr_ssend_date= prlist.Min(s => s.pr_ssend_date);//系统建议下单日期
             srm_Pr.pr_sarrive_date = prlist.Min(s => s.pr_sarrive_date);//系统建议到达日期(建议到货日期)
             srm_Pr.pr_psend_date = prlist.Min(s => s.pr_psend_date);//计划下单日期
             srm_Pr.pr_parrive_date = prlist.Min(s => s.pr_parrive_date);//计划到达日期
@@ -1027,8 +1035,8 @@ namespace Business.ResourceExamineManagement
             //List<srm_pr_main> prlist = _mysql_srm_pr_main.GetListAsync(s => s.state == 1 || s.state == 2).Result;
             //直接按间隔多少天一次来处理数据,定时任务按周四来考虑。
             DateTime toTime = new DateTime(2023, 7, 6);
-            DateTime starttime = toTime.AddDays(1);
-            DateTime endtime = toTime.AddDays(8);
+            DateTime starttime = toTime.Date.AddDays(8);
+            DateTime endtime = toTime.Date.AddDays(14);
             List<srm_pr_main> prlist = _mysql_srm_pr_main.GetListAsync(s => s.pr_rarrive_date >= starttime && s.pr_rarrive_date <= endtime && (s.state == 1 || s.state == 3)).Result;
             //List<srm_pr_main> prlist = _mysql_srm_pr_main.GetListAsync(s => s.icitem_id == 1949).Result;
             //List<srm_purchase> purchaselist = _mysql_srm_purchase.GetListAsync(s => prlist.Select(c => c.icitem_id).Contains(s.icitem_id) && prlist.Select(c => c.pr_purchaseid).Contains(s.supplier_id)).Result;
@@ -2149,21 +2157,33 @@ namespace Business.ResourceExamineManagement
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
-        public async Task<string> PlanOrderResourceCheck(string workOrd)
+        public async Task<string> PlanOrderResourceCheck()
         {
-            List<string> workOrds = workOrd.Split(",").ToList();
+            /*List<string> workOrds = workOrd.Split(",").ToList();
             if (workOrds.Count == 0)
             {
                 return "";
-            }
-            List<mes_morder> mo_Mes_Morders = _mysql_mes_morder.GetListAsync(x => workOrds.Contains(x.morder_no)).Result;
-            if (mo_Mes_Morders.Any())
+            }*/
+            List<mes_morder> Mes_Morders = _mysql_mes_morder.GetListAsync(x => x.morder_type == "计划工单").Result;
+            //先排除锁定期内的工单 //优先级排序
+            DateTime lookTime = DateTime.Now.Date.AddDays((double)8);
+            Mes_Morders = Mes_Morders.Where(s => s.moentry_sys_stime > lookTime).OrderBy(s => s.moentry_sys_stime).ToList();
+
+            if (Mes_Morders.Any())
             {
+                List<string> monolist = Mes_Morders.Select(c => c.morder_no).ToList();
+                //清理PR的占用。
+                List<srm_po_occupy> occupy = await _mysql_srm_po_occupy.GetListAsync(s => monolist.Contains(s.morder_mo));
+                _businessDbContext.BulkDelete(occupy);
+
+                //清理锁定期外的排程数据
+                _periodSequenceDet.Delete(s => monolist.Contains(s.WorkOrds));
+                _scheduleResultOpMaster.Delete(s => monolist.Contains(s.WorkOrd));
                 //只走计划工单
-                await OrderKittingCheck(mo_Mes_Morders, true);
+                await OrderKittingCheck(Mes_Morders, true);
             }
             else {
-                JsonConvert.SerializeObject("未查找到对应的计划工单,请联系管理员。");
+                return JsonConvert.SerializeObject("未查找到对应的计划工单,请联系管理员。");
             }
             return JsonConvert.SerializeObject("ok");
         }
@@ -2187,7 +2207,7 @@ namespace Business.ResourceExamineManagement
             }
             else
             {
-                mo_Mes_Morders = _mysql_mes_morder.GetListAsync(x => x.start_time > DateTime.Now.Date.AddDays(1) && x.start_time < DateTime.Now.Date.AddDays(day) && x.morder_state != MorderEnum.Accomplish_state && !x.IsDeleted).Result;
+                mo_Mes_Morders = _mysql_mes_morder.GetListAsync(x => x.start_time > DateTime.Now.Date.AddDays(1) && x.start_time < DateTime.Now.Date.AddDays(day) && x.morder_state == MorderEnum.Xd_state && !x.IsDeleted).Result;
             }
             //只做库存是否齐套检查
             if (mo_Mes_Morders.Any())
@@ -2503,7 +2523,7 @@ namespace Business.ResourceExamineManagement
 
                 //计算
                 _CalcBomViewAppService.CalcView(getBomList, bangid, item.need_number.GetValueOrDefault(), item.start_time, sklist, sentry, item.urgent, icitemlist);
-
+                
                 //TODO:最晚开始时间
                 var curFacDtl = leadTimeList.FirstOrDefault(p => p.item_id == childBom.icitem_id);
                 //物料齐套时间
@@ -2534,63 +2554,71 @@ namespace Business.ResourceExamineManagement
                     if (list.Any())
                         rtn.srm_pr_list = _CalcBomViewAppService.SRMPRDtoList;
                 }
-                var itemsupplierList = _srm_supplier.Find(a => prmainlist.Select(i => i.pr_purchaseid).Contains(a.mysql_id) && a.tenant_id == input.tenantId && a.factory_id == input.factoryId).Result;
-                if (prmainlist.Any())
+
+
+                //获取工单数据
+                var workOrdMasters = _workOrdMaster.Select(p => mo_Mes_Morders.Select(c=>c.morder_no).Contains(p.WorkOrd));
+                workOrdMasters.ForEach(s => {
+                    s.OrdDate = DateTime.Now.Date.AddDays(7);//锁定期
+                    s.DueDate = DateTime.Now.Date.AddDays(7);
+                });
+                //优先级排序
+                workOrdMasters = workOrdMasters.OrderBy(s => s.OrdDate).ToList();
+                //排产
+                await _productionScheduleAppService.DoProductShcedule(workOrdMasters);
+                
+                foreach (var wod in workOrdMasters)
                 {
-                    var pr_mainlist = ObjectMapper.Map<List<mo_srm_pr_main>, List<srm_pr_main>>(prmainlist);
-                    PoActionListDto poaction = new PoActionListDto();
-                    //TODO:工单齐套检查需要调整
-                    //AutoCreatePOFromPR(prmainlist, bangid, icitemlist, itemsupplierList, poaction);
-                    using (var unitOfWork = _unitOfWorkManager.Begin(false, true))
+                    var morder = mo_Mes_Morders.Find(s => s.morder_no == wod.WorkOrd);
+                    morder.moentry_sys_stime = wod.OrdDate;
+                    morder.moentry_sys_etime = wod.DueDate;
+
+                    var exa = rtn.examines.Find(s => s.morder_no == wod.WorkOrd);
+                    //根据排产后得日期,反推PR。
+                    var wkordPrList = prmainlist.Where(s => s.pr_mono == wod.WorkOrd).ToList();
+
+                    //反算所有的PR,根据时间减去提前期
+                    wkordPrList.ForEach(pr =>
                     {
-                        try
+                        var ts = pr.pr_parrive_date - pr.pr_psend_date;
+                        var icitem = icitemlist.Find(s => s.mysql_id == pr.icitem_id);
+                        if (icitem != null)
                         {
-                            await _srm_pr_main.InsertMany(prmainlist);
-                            _businessDbContext.BulkInsert(pr_mainlist);
-                            if (poaction.mopoMain.Any())
-                            {
-                                await _srm_po_main.InsertMany(poaction.mopoMain);
-                            }
-                            if (poaction.mopolist.Any())
+                            var bce = exa.BomChildExamineList.Find(s => s.item_id == pr.icitem_id && s.num == pr.num);
+                            pr.pr_sarrive_date = morder.moentry_sys_stime.Value.AddDays((double)(0 - bce.pre_time.GetValueOrDefault() - 1 - icitem.clean_leadtime.GetValueOrDefault()));//到货还需要向前推 物料的预处理时间。到货日期必须提前一天到
+                            pr.pr_ssend_date = pr.pr_sarrive_date.GetValueOrDefault().AddDays(0 - ts.Value.Days);
+                            if (pr.pr_ssend_date > DateTime.Now)
                             {
-                                await _srm_po_list.InsertMany(poaction.mopolist);
-                            }
-                            if (poaction.poMain.Any())
-                            {
-                                _businessDbContext.BulkInsert(poaction.poMain);
-                            }
-                            if (poaction.polist.Any())
-                            {
-                                _businessDbContext.BulkInsert(poaction.polist);
-                            }
-                            if (poaction.mopoOccupiesList.Any())
-                            {
-                                var poOccupies = ObjectMapper.Map<List<mo_srm_po_occupy>, List<srm_po_occupy>>(poaction.mopoOccupiesList);
-                                _businessDbContext.BulkInsert(poOccupies);
+                                pr.pr_ssend_date = DateTime.Now;
                             }
+                        }
+                    });
+                }
 
-                            if (poaction.poMasterList.Any())
-                            {
-                                _purOrdMaster.Insert(poaction.poMasterList);
-                                //快开平台用自增列RecId关联,所以需要插入后再查给明细表赋相应的值
-                                List<string> nbrs = poaction.poMasterList.Select(a => a.PurOrd).ToList();
-                                var nbrList = _purOrdMaster.Select(a => a.Domain == "1001" && nbrs.Contains(a.PurOrd));
-                                poaction.poDetailList.ForEach(c =>
-                                {
-                                    c.PurOrdRecID = nbrList.Where(a => a.PurOrd == c.PurOrd).First().RecID;
-                                });
-                                _purOrdDetail.Insert(poaction.poDetailList);
-                            }
-                            await unitOfWork.CompleteAsync();
+                using (var unitOfWork = _unitOfWorkManager.Begin(false, true))
+                {
+                    try
+                    {
+                        _businessDbContext.BulkUpdate(mo_Mes_Morders);
+                        if (prmainlist.Any())
+                        {
+                            var pr_mainlist = ObjectMapper.Map<List<mo_srm_pr_main>, List<srm_pr_main>>(prmainlist);
+                            _businessDbContext.BulkInsert(pr_mainlist);
                         }
-                        catch (Exception e)
+                        if (_CalcBomViewAppService.srm_Po_OccupiesInsert.Any())
                         {
-                            unitOfWork.Dispose();
-                            new NLogHelper("ResourceExamineAppService").WriteLog("OrderKittingCheck", "工单检查数据更新失败:" + e.Message, _currentTenant.Id.ToString());
+                            _CalcBomViewAppService.srm_Po_OccupiesInsert.ForEach(s => { s.tenant_id = param.tenantId; s.factory_id = param.factoryId; });
+                            await _srm_po_occupy.InsertMany(_CalcBomViewAppService.srm_Po_OccupiesInsert);
                         }
+                        await unitOfWork.CompleteAsync();
+                    }
+                    catch (Exception e)
+                    {
+                        unitOfWork.Dispose();
+                        new NLogHelper("ResourceExamineAppService").WriteLog("OrderKittingCheck", "工单检查数据更新失败:" + e.Message, _currentTenant.Id.ToString());
                     }
                 }
-
+                
                 //检查结果写入数据库
                 var b_Examine_Results = ObjectMapper.Map<List<ExamineResult>, List<b_examine_result>>(rtn.examines);
                 List<b_examine_result> examineList = new List<b_examine_result>();

+ 2 - 2
MicroServices/Business/Business.HttpApi/Controllers/ResourceExamineController.cs

@@ -97,9 +97,9 @@ namespace Business.Controllers
         /// <returns></returns>
         [HttpPost]
         [Route("PlanOrderResourceCheck")]
-        public Task<string> PlanOrderResourceCheck(string workOrd)
+        public Task<string> PlanOrderResourceCheck()
         {
-            return _ResourceExamineAppService.PlanOrderResourceCheck(workOrd);
+            return _ResourceExamineAppService.PlanOrderResourceCheck();
         }
         /// <summary>
         /// BOM清单批量预处理

+ 12 - 0
MicroServices/Business/Bussiness.Model/Bang/b_bom_child_examine.cs

@@ -221,6 +221,18 @@ namespace Business.Model.Bang
         [Comment("齐套时间")]
         public DateTime? kitting_time { get; set; }
 
+        /// <summary>
+        /// 自制时长(天)
+        /// </summary>
+        [Comment("自制时长(天)")]
+        public int? make_time { get; set; }
+
+        /// <summary>
+        /// 采购前置(需加上自制)
+        /// </summary>
+        [Comment("采购前置时间")]
+        public int? pre_time { get; set; }
+
         /// <summary>
         /// 满足时间
         /// </summary>

+ 6 - 0
MicroServices/Business/Bussiness.Model/Production/WorkOrdMaster.cs

@@ -34,6 +34,12 @@ namespace Business.Model.Production
         [Comment("计划开始日期")]
         public DateTime? OrdDate { get; set; }
 
+        /// <summary>
+        /// 计划结束日期
+        /// </summary>
+        [Comment("计划结束日期")]
+        public DateTime? DueDate { get; set; }
+
         /// <summary>
         /// 下达日期
         /// </summary>

+ 7 - 0
MicroServices/Business/Bussiness.Model/SRM/srm_pr_main.cs

@@ -230,5 +230,12 @@ namespace Business.Model.SRM
         /// </summary>
         [Comment("订单行id")]
         public long? sentry_id { get; set; }
+
+        /// <summary>
+        /// 项次号
+        /// </summary>
+        [StringLength(50)]
+        [Comment("项次号")]
+        public string? num { get; set; }
     }
 }

+ 2 - 2
MicroServices/Business/Bussiness.Model/SRM/srm_purchase.cs

@@ -146,7 +146,7 @@ namespace Business.Model.SRM
         [Comment("批量增量")]
         public decimal? batch_append_qty { get; set; }
 
-        /// <summary>
+        /*/// <summary>
         /// 是否周期送货
         /// </summary>
         [Comment("是否周期送货")]
@@ -157,7 +157,7 @@ namespace Business.Model.SRM
         /// </summary>
         [StringLength(80)]
         [Comment("每周几送货")]
-        public string is_days { get; set; }
+        public string is_days { get; set; }*/
 
         /// <summary>
         /// 计算ID

+ 7 - 0
MicroServices/Business/Bussiness.MongoModel/SRM/mo_srm_pr_main.cs

@@ -240,5 +240,12 @@ namespace Business.MongoModel.SRM
         [BsonIgnore]
         [NotMapped]
         public decimal? totalLeadTime { get; set; }
+
+        /// <summary>
+        /// 项次号
+        /// </summary>
+        [StringLength(50)]
+        [Comment("项次号")]
+        public string? num { get; set; }
     }
 }