Browse Source

Merge branch 'dev' of http://123.60.180.165:4647/ZZYDOP/DOPCore into dev

Murphy 2 years ago
parent
commit
2a7b6fc2b9
18 changed files with 78 additions and 392 deletions
  1. 2 2
      MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/Dto/PschedDto.cs
  2. 1 1
      MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/Dto/ResourceCheckInputDto.cs
  3. 66 380
      MicroServices/Business/Business.Application/ResourceExamineManagement/ResourceExamineAppService.cs
  4. 1 1
      MicroServices/Business/Business.HttpApi/Controllers/ResourceExamineController.cs
  5. 2 2
      MicroServices/Business/Bussiness.ApplicationTest/ResourceExamineManagement/ResourceExamineAppService_Tests.cs
  6. BIN
      MicroServices/Procurement/.vs/Procurement/v17/.suo
  7. 1 1
      MicroServices/Procurement/Procurement.Application.Contracts/obj/Debug/net6.0/Procurement.Application.Contracts.GeneratedMSBuildEditorConfig.editorconfig
  8. BIN
      MicroServices/Procurement/Procurement.Application.Contracts/obj/Debug/net6.0/Procurement.Application.Contracts.assets.cache
  9. 1 1
      MicroServices/Procurement/Procurement.Application/obj/Debug/net6.0/Procurement.Application.GeneratedMSBuildEditorConfig.editorconfig
  10. BIN
      MicroServices/Procurement/Procurement.Application/obj/Debug/net6.0/Procurement.Application.assets.cache
  11. BIN
      MicroServices/Procurement/Procurement.Application/obj/Debug/net6.0/Procurement.Application.csproj.AssemblyReference.cache
  12. 1 1
      MicroServices/Procurement/Procurement.Domain/obj/Debug/net6.0/Procurement.Domain.GeneratedMSBuildEditorConfig.editorconfig
  13. BIN
      MicroServices/Procurement/Procurement.Domain/obj/Debug/net6.0/Procurement.Domain.assets.cache
  14. 1 1
      MicroServices/Procurement/Procurement.EntityFrameworkCore/obj/Debug/net6.0/Procurement.EntityFrameworkCore.GeneratedMSBuildEditorConfig.editorconfig
  15. BIN
      MicroServices/Procurement/Procurement.EntityFrameworkCore/obj/Debug/net6.0/Procurement.EntityFrameworkCore.assets.cache
  16. BIN
      MicroServices/Procurement/Procurement.EntityFrameworkCore/obj/Debug/net6.0/Procurement.EntityFrameworkCore.csproj.AssemblyReference.cache
  17. 2 2
      MicroServices/Procurement/Procurement.Host/obj/Debug/net6.0/Procurement.Host.GeneratedMSBuildEditorConfig.editorconfig
  18. BIN
      MicroServices/Procurement/Procurement.Host/obj/Debug/net6.0/Procurement.Host.assets.cache

+ 2 - 2
MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/Dto/PschedDto.cs

@@ -18,7 +18,7 @@ namespace Business.ResourceExamineManagement.Dto
         /// <summary>
         /// 订单id
         /// </summary>
-        public long? sorderid { get; set; }
+        public List<long> sorderid { get; set; }
 
         /// <summary>
         /// 资源检查明细list
@@ -126,7 +126,7 @@ namespace Business.ResourceExamineManagement.Dto
         public DateTime kitting_times { get; set; }
 
         /// <summary>
-        /// 替代关系展开
+        /// BOM层级关系展开
         /// </summary>
         public List<BomChildExamineDto> BomChildExamineList { get; set; }
     }

+ 1 - 1
MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/Dto/ResourceCheckInputDto.cs

@@ -15,7 +15,7 @@ namespace Business.ResourceExamineManagement.Dto
         /// <summary>
         /// 订单id
         /// </summary>
-        public long sorderId { get; set; }
+        public List<long> sorderId { get; set; }
 
         /// <summary>
         /// 企业id

+ 66 - 380
MicroServices/Business/Business.Application/ResourceExamineManagement/ResourceExamineAppService.cs

@@ -444,6 +444,8 @@ namespace Business.ResourceExamineManagement
     }
         #endregion
 
+
+
         /// <summary>
         /// 资源检查
         /// </summary>
@@ -453,7 +455,6 @@ namespace Business.ResourceExamineManagement
         public async Task<string> ReceiveResult(ResourceCheckInputDto input)
         {
             //资源检查入参全局变量赋值
-            param.sorderId = input.sorderId;
             param.tenantId = input.tenantId;
             param.factoryId = input.factoryId;
             param.checkflag = true;
@@ -468,15 +469,15 @@ namespace Business.ResourceExamineManagement
             //生成当前计算bangid
             long bangid = help.NextId();
             //获取订单数据
-            crm_seorder sorder = _mysql_crm_seorder.GetListAsync(p => p.tenant_id == input.tenantId && p.factory_id == input.factoryId && p.Id == input.sorderId && !p.IsDeleted).Result.FirstOrDefault();
-            if (sorder == null)
+            List<crm_seorder> sorders = _mysql_crm_seorder.GetListAsync(p => p.tenant_id == input.tenantId && p.factory_id == input.factoryId && input.sorderId.Contains(p.Id) && !p.IsDeleted).Result;
+            if (!sorders.Any())
             {
                 new NLogHelper("ResourceExamineAppService").WriteLog("ReceiveResult", "订单数据不存在", _currentTenant.Id.ToString());
                 throw new NotImplementedException("订单数据不存在!");
             }
 
             //获取订单行数据
-            List<crm_seorderentry> sentrys = await _mysql_crm_seorderentry.GetListAsync(p => p.tenant_id == input.tenantId && p.factory_id == input.factoryId && p.seorder_id == input.sorderId && !p.IsDeleted);
+            List<crm_seorderentry> sentrys = await _mysql_crm_seorderentry.GetListAsync(p => p.tenant_id == input.tenantId && p.factory_id == input.factoryId && input.sorderId.Contains(p.seorder_id.GetValueOrDefault()) && !p.IsDeleted);
 
             //删除同步Mysql后旧数据
             await DeleteMySqlOldData(sentrys);
@@ -509,52 +510,64 @@ namespace Business.ResourceExamineManagement
                 pretreatments = _mysql_b_bom_pretreatment.GetListAsync(s => boms.Select(c => c.mysql_id).ToList().Contains(s.sourceid)).Result;
             }
 
-            DataInitialization(boms, bangid, sorder, icitemlist, stocklist, pretreatments);
-            foreach (var item in sentrys)
-            {
-                //获取销售订单“是否加急”字段
-                int urgent = sorder.urgent;
-
-                //工单资源检查信息
-                dtl = new ExamineResult();
-                dtl.sorderid = rtn.sorderid;
-                dtl.bill_no = sorder.bill_no;
-                dtl.sentry_id = item.Id;
-                dtl.entry_seq = item.entry_seq;
-                dtl.need_qty = item.qty.GetValueOrDefault();
-                dtl.need_time = item.plan_date;
-                //获取当前物料bom数据
-                var childBom = boms.Where(p => p.item_number == item.item_number).FirstOrDefault();
-                dtl.bom_number = childBom.bom_number;
-
-                var itemPrelist = pretreatments.Where(s => s.sourceid == childBom.mysql_id).ToList();
-                if (!itemPrelist.Any())
+            DataInitialization(boms, bangid, icitemlist, stocklist, pretreatments);
+            foreach (var sorder in sorders)
+            {
+                param.sorderId = sorder.Id;
+                param.tenantId = input.tenantId;
+                param.factoryId = input.factoryId;
+                param.checkflag = true;
+                _morderAppService.param = param;
+                _purchaseOrderAppService.param = param;
+                _CalcBomViewAppService.param = param;
+                _CalcBomViewAppService.seorder = sorder;//销售订单
+                foreach (var item in sentrys)
                 {
-                    continue;
-                }
-
-                var getBomList = ObjectMapper.Map<List<b_bom_pretreatment>, List<BomChildExamineDto>>(itemPrelist);
-
-                getBomList.ForEach(s => s.sentry_id = item.Id);
-                //库存初始化
-                _CalcBomViewAppService.BomStock(getBomList, stocklist, bangid);
-                //计算
-                _CalcBomViewAppService.CalcView(getBomList, bangid, item.qty.GetValueOrDefault(), item.plan_date, sklist, item, urgent, icitemlist);
+                    //获取销售订单“是否加急”字段
+                    int urgent = sorder.urgent;
+
+                    //工单资源检查信息
+                    dtl = new ExamineResult();
+                    dtl.sorderid = sorder.Id;
+                    dtl.bill_no = sorder.bill_no;
+                    dtl.sentry_id = item.Id;
+                    dtl.entry_seq = item.entry_seq;
+                    dtl.need_qty = item.qty.GetValueOrDefault();
+                    dtl.need_time = item.plan_date;
+                    //获取当前物料bom数据
+                    var childBom = boms.Where(p => p.item_number == item.item_number).FirstOrDefault();
+                    dtl.bom_number = childBom.bom_number;
+
+                    var itemPrelist = pretreatments.Where(s => s.sourceid == childBom.mysql_id).ToList();
+                    if (!itemPrelist.Any())
+                    {
+                        continue;
+                    }
 
-                //TODO:最晚开始时间
-                var curFacDtl = leadTimeList.FirstOrDefault(p => p.item_id == childBom.icitem_id);
-                //最晚开工时间=订单行客户要求交期-运输提前期-库存提前期-生产提前期-下单提前期-生产时间
-                dtl.latest_times = item.plan_date.GetValueOrDefault().AddDays(-Convert.ToDouble(curFacDtl?.transportation_leadtime.GetValueOrDefault() + curFacDtl?.stock_leadtime.GetValueOrDefault() + curFacDtl?.production_leadtime.GetValueOrDefault() + curFacDtl?.order_leadtime.GetValueOrDefault() + _CalcBomViewAppService.ProductionTimeDay));
-                //物料齐套时间
-                dtl.kitting_times = getBomList.Where(p => p.is_use).OrderByDescending(m => m.kitting_time).First().kitting_time.GetValueOrDefault();
-                //TODO:最早开始时间默认3天后(后期调整,因为要计算排产,计算产能这一类,才能得到开工时间)
-                dtl.earliest_times = dtl.kitting_times.AddDays(1);
+                    var getBomList = ObjectMapper.Map<List<b_bom_pretreatment>, List<BomChildExamineDto>>(itemPrelist);
 
-                //替代关系展开list
-                dtl.BomChildExamineList = getBomList;
-                //添加订单行开工信息
-                examines.Add(dtl);
+                    getBomList.ForEach(s => s.sentry_id = item.Id);
+                    //库存初始化
+                    _CalcBomViewAppService.BomStock(getBomList, stocklist, bangid);
+                    //计算
+                    _CalcBomViewAppService.CalcView(getBomList, bangid, item.qty.GetValueOrDefault(), item.plan_date, sklist, item, urgent, icitemlist);
+
+                    //TODO:最晚开始时间
+                    var curFacDtl = leadTimeList.FirstOrDefault(p => p.item_id == childBom.icitem_id);
+                    //最晚开工时间=订单行客户要求交期-运输提前期-库存提前期-生产提前期-下单提前期-生产时间
+                    dtl.latest_times = item.plan_date.GetValueOrDefault().AddDays(-Convert.ToDouble(curFacDtl?.transportation_leadtime.GetValueOrDefault() + curFacDtl?.stock_leadtime.GetValueOrDefault() + curFacDtl?.production_leadtime.GetValueOrDefault() + curFacDtl?.order_leadtime.GetValueOrDefault() + _CalcBomViewAppService.ProductionTimeDay));
+                    //物料齐套时间
+                    dtl.kitting_times = getBomList.Where(p => p.is_use).OrderByDescending(m => m.kitting_time).First().kitting_time.GetValueOrDefault();
+                    //TODO:最早开始时间默认3天后(后期调整,因为要计算排产,计算产能这一类,才能得到开工时间)
+                    dtl.earliest_times = dtl.kitting_times.AddDays(1);
+
+                    //替代关系展开list
+                    dtl.BomChildExamineList = getBomList;
+                    //添加订单行开工信息
+                    examines.Add(dtl);
+                }
             }
+            
             //批量保存 后期考虑子工单
             if (_CalcBomViewAppService.mordersInsertList.Any())
             {
@@ -994,333 +1007,6 @@ namespace Business.ResourceExamineManagement
             return _ic_plan.Find(p => icItemIds.Contains(p.icitem_id) && p.tenant_id == tenantId && p.factory_id == factoryid && !p.IsDeleted).Result;
         }
 
-
-        /// <summary>
-        /// 检查在途量
-        /// </summary>
-        /// <param name="returnlist">物料列表</param>
-        /// <param name="factoryid">工厂id</param>
-        /// <param name="deliveryDate">销售订单交付日期</param>
-        /// <returns></returns>
-        private async Task<List<ICItemDateDto>> CheckOnOrder(List<BomChildExamineDto> returnlist, long tenantId, long factoryid, DateTime deliveryDate, long bangid)
-        {
-            //ToDo:企业Id,数据状态过滤以及isdeleted
-            var po_list = _srm_po_list.Find(p => returnlist.Select(x => x.item_id).Contains(p.icitem_id.Value) && p.tenant_id == tenantId && p.factory_id == factoryid && p.rarrdate >= DateTime.Now && p.rarrdate < deliveryDate && !p.IsDeleted).Result;
-            var itemlist = new List<ICItemDateDto>();//需要生成采购申请单的物料信息
-            var leadTimeList = GetLeadTime(returnlist.Select(p => p.item_id).ToList(), tenantId, factoryid);//提前期列表
-            var supplierList = GetSupplier(returnlist.Select(p => p.item_id).ToList(), tenantId, factoryid);//供应商列表
-            var planList = GetICPlan(returnlist.Select(p => p.item_id).ToList(), tenantId, factoryid);//plan列表
-            foreach (var item in returnlist)
-            {
-                //缺料
-                if (item.lack_qty > 0)
-                {
-                    var itemPO = po_list.FindAll(x => x.icitem_id == item.item_id).OrderBy(v => v.rarrdate).ToList();
-                    if (itemPO.Count <= 0 || itemPO.Sum(p => (p.qty - p.esqty)) < item.lack_qty)
-                    {
-                        //外购生成采购申请单
-                        if (item.erp_cls == 3)
-                        {
-                            //DateTime lastTime = CreateSRMPR(item, tenantId, factoryid, bangid, 2, leadTimeList, supplierList, planList, deliveryDate);
-                            //itemlist.Add(new ICItemDateDto { item_id = item.item_id, dateTime = lastTime });
-                        }
-                        else if (item.erp_cls == 2)
-                        {
-                            //委外生成委外采购申请单和委外工单
-                            //DateTime lastTime = CreateSRMPR(item, tenantId, factoryid, bangid, 1, leadTimeList, supplierList, planList, deliveryDate);
-                            //CreateMesOOder(item, tenantId, factoryid, bangid, leadTimeList, supplierList, deliveryDate);
-                            //itemlist.Add(new ICItemDateDto { item_id = item.item_id, dateTime = lastTime });
-                        }
-                    }
-                    else
-                    {
-                        decimal? itemPOQty = 0;//当前物料已抵扣数量
-                        for (int i = 0; i < itemPO.Count; i++)
-                        {
-                            if (itemPOQty + itemPO[i].qty - itemPO[i].esqty >= item.lack_qty)
-                            {
-                                //在途满足,写占用表
-                                itemlist.Add(new ICItemDateDto { item_id = itemPO[i].icitem_id.Value, dateTime = itemPO[i].rarrdate });
-                                mo_srm_po_occupy po_Occupy = new mo_srm_po_occupy();
-                                po_Occupy.GenerateNewId();
-                                po_Occupy.polist_id = itemPO[i].po_id;//采购订单id
-                                po_Occupy.polist_row = itemPO[i].polist_row;//采购订单行号
-                                po_Occupy.eid = 111;//客户订单行id
-                                po_Occupy.bill_no = 111;//客户订单id
-                                po_Occupy.type = "在途占用";//类型
-                                po_Occupy.entry_id = 1;//行号
-                                po_Occupy.qty = item.lack_qty - itemPOQty;//占用量
-                                po_Occupy.stime = DateTime.Now;//开始时间
-                                po_Occupy.etime = deliveryDate;//结束时间
-                                po_Occupy.state = 1;//占用状态
-                                po_Occupy.cby = "";//变更人
-                                po_Occupy.creason = "";//变更原因
-                                po_Occupy.ctime = DateTime.Now;//变更时间
-                                po_Occupy.bang_id = bangid;
-                                await _srm_po_occupy.InsertOne(po_Occupy);
-                                break;
-                            }
-                            else
-                            {
-                                //不满足逐步扣减
-                                itemPOQty = itemPOQty + itemPO[i].qty - itemPO[i].esqty;
-                                mo_srm_po_occupy po_Occupy = new mo_srm_po_occupy();
-                                po_Occupy.GenerateNewId();
-                                po_Occupy.polist_id = itemPO[i].po_id;//采购订单id
-                                po_Occupy.polist_row = itemPO[i].polist_row;//采购订单行号
-                                po_Occupy.eid = 111;//客户订单行id
-                                po_Occupy.bill_no = 111;//客户订单id
-                                po_Occupy.type = "在途占用";//类型
-                                po_Occupy.entry_id = 1;//行号
-                                po_Occupy.qty = itemPO[i].qty - itemPO[i].esqty;//占用量
-                                po_Occupy.stime = DateTime.Now;//开始时间
-                                po_Occupy.etime = deliveryDate;//结束时间
-                                po_Occupy.state = 1;//占用状态
-                                po_Occupy.cby = "";//变更人
-                                po_Occupy.creason = "";//变更原因
-                                po_Occupy.ctime = DateTime.Now;//变更时间
-                                po_Occupy.bang_id = bangid;
-                                await _srm_po_occupy.InsertOne(po_Occupy);
-                            }
-                        }
-                    }
-                }
-            }
-            return itemlist;
-        }
-
-        ///// <summary>
-        ///// 生成委外工单
-        ///// </summary>
-        ///// <param name="returnlist"></param>
-        ///// <param name="factoryid"></param>
-        //private DateTime CreateMesOOder(BomChildExamineDto returnlist, long tenantId, long factoryid, long bangId, List<ICItemLeadTimeDto> iCItemLeadTimes, List<ic_item_pur> supplierList, DateTime deliveryDate)
-        //{
-        //    mes_oorder oOrder = new mes_oorder();
-        //    oOrder.GenerateNewId();
-        //    oOrder.oorder_no = getOrderNum("WW");//生产工单编号
-        //    oOrder.oorder_type = "委外工单";//生产工单类型
-        //    oOrder.oorder_date = DateTime.Now;//委外订单日期
-        //    oOrder.oorder_state = "已提交";//订单状态
-        //    oOrder.ooentry_prd = 10000;//生产组织
-        //    oOrder.ooentry_prdname = "1000";//生产组织名称
-        //    oOrder.ooentry_wrkc = 10000;//工作中心id
-        //    oOrder.ooentry_wrkcname = "10001";//工作中心名称
-        //    oOrder.planner_num = "wwww";//计划员工号
-        //    oOrder.planner_name = "qqq";//计划员名称
-        //    oOrder.ooentry_stime = DateTime.Now;//计划开工日期
-        //    oOrder.ooentry_etime = DateTime.Now;//计划完工日期
-        //    oOrder.product_code = "产品代码";//产品代码
-        //    oOrder.ffms_number = "1000";//fms旧料号
-        //    oOrder.product_name = "test";//产品名称
-        //    oOrder.specification_model = returnlist.model;//规格型号
-        //    oOrder.bom_number = "";//bom编码
-        //    oOrder.unit = returnlist.unit;//单位
-        //    oOrder.morder_progress = "";//工单进度
-        //    oOrder.morder_production_number = returnlist.lack_qty;//工单生产数量(计划数量)
-        //    oOrder.need_number = returnlist.lack_qty;//需求数量
-        //    oOrder.remaining_number = returnlist.lack_qty;//剩余可用数量
-        //    oOrder.work_number = 0;//报工数量
-        //    oOrder.inspection_number = 0;//报检数量
-        //    oOrder.qualified_number = 0;//合格数量
-        //    oOrder.inventory_number = 0;//入库数量
-        //    oOrder.notice_qty = 0;//已开通知单数量
-        //    oOrder.moentry_on = 1;//启动状态
-        //    //oOrder.start_time = DateTime.Now;//开始时间
-        //    //oOrder.pause_time = DateTime.Now;//最近暂停时间
-        //    //oOrder.restart_time = DateTime.Now;//最近重启时间
-        //    oOrder.project_name = returnlist.item_name;//项目名称
-        //    oOrder.sent_status = 1;//发料状态 1-待发料  2-已发料
-        //    oOrder.production_unit = returnlist.unit;//加工单位
-        //    oOrder.production_unit_code = "";//加工单位编码
-        //    oOrder.need_icitem_status = 1;//所需物料是否充足  1-充足 0-缺料
-        //    oOrder.tenant_id = tenantId;
-        //    oOrder.factory_id = factoryid;
-        //    oOrder.bang_id = bangId;
-        //    _mes_oorder.InsertOne(oOrder);
-        //    return DateTime.Now;
-        //}
-
-        /// <summary>
-        /// 生成委外工单
-        /// </summary>
-        /// <param name="returnlist"></param>
-        /// <param name="factoryid"></param>
-        private mo_mes_oorder CreateMesOOder(BomChildExamineDto returnlist, long tenantId, long factoryid, long bangId, List<ICItemLeadTimeDto> iCItemLeadTimes, List<srm_purchase> supplierList, DateTime deliveryDate)
-        {
-            mo_mes_oorder oOrder = new mo_mes_oorder();
-            oOrder.GenerateNewId();
-            oOrder.oorder_no = getOrderNum("WW");//生产工单编号
-            oOrder.oorder_type = "委外工单";//生产工单类型
-            oOrder.oorder_date = DateTime.Now;//委外订单日期
-            oOrder.oorder_state = "已提交";//订单状态
-            oOrder.ooentry_prd = 10000;//生产组织
-            oOrder.ooentry_prdname = "1000";//生产组织名称
-            oOrder.ooentry_wrkc = 10000;//工作中心id
-            oOrder.ooentry_wrkcname = "10001";//工作中心名称
-            oOrder.planner_num = "wwww";//计划员工号
-            oOrder.planner_name = "qqq";//计划员名称
-            oOrder.ooentry_stime = DateTime.Now;//计划开工日期
-            oOrder.ooentry_etime = DateTime.Now;//计划完工日期
-            oOrder.product_code = "产品代码";//产品代码
-            oOrder.ffms_number = "1000";//fms旧料号
-            oOrder.product_name = "test";//产品名称
-            oOrder.specification_model = returnlist.model;//规格型号
-            oOrder.bom_number = returnlist.bom_number;//bom编码
-            oOrder.unit = returnlist.unit;//单位
-            oOrder.morder_progress = "";//工单进度
-            oOrder.morder_production_number = returnlist.lack_qty;//工单生产数量(计划数量)
-            oOrder.need_number = returnlist.lack_qty;//需求数量
-            oOrder.remaining_number = returnlist.lack_qty;//剩余可用数量
-            oOrder.work_number = 0;//报工数量
-            oOrder.inspection_number = 0;//报检数量
-            oOrder.qualified_number = 0;//合格数量
-            oOrder.inventory_number = 0;//入库数量
-            oOrder.notice_qty = 0;//已开通知单数量
-            oOrder.moentry_on = 1;//启动状态
-            //oOrder.start_time = DateTime.Now;//开始时间
-            //oOrder.pause_time = DateTime.Now;//最近暂停时间
-            //oOrder.restart_time = DateTime.Now;//最近重启时间
-            oOrder.project_name = returnlist.item_name;//项目名称
-            oOrder.sent_status = 1;//发料状态 1-待发料  2-已发料
-            oOrder.production_unit = returnlist.unit;//加工单位
-            oOrder.production_unit_code = "";//加工单位编码
-            oOrder.need_icitem_status = 1;//所需物料是否充足  1-充足 0-缺料
-            oOrder.tenant_id = tenantId;
-            oOrder.factory_id = factoryid;
-            oOrder.bang_id = bangId;
-            return oOrder;
-            //_mes_oorder.InsertOne(oOrder);
-        }
-
-
-        ///// <summary>
-        ///// 生成采购申请单,颗粒度是一个物料一个单,没必要弄列表
-        ///// </summary>
-        ///// <param name="returnlist"></param>
-        ///// <param name="factoryid"></param>
-        ///// <param name="orderType">2委外采购申请单,3采购申请单</param>
-        //private DateTime CreateSRMPR(BomChildExamineDto returnlist, long tenantId, long factoryid, long bangId, int orderType, List<ICItemLeadTimeDto> iCItemLeadTimes, List<ic_item_pur> supplierList, List<ic_plan> planList, DateTime deliveryDate)
-        //{
-        //    var leadTime = iCItemLeadTimes.Find(x => x.item_id == returnlist.item_id);
-        //    var supplier = supplierList.Find(x => x.icitem_id == returnlist.item_id);//默认取第一个供应商
-        //    var plan = planList.Find(x => x.icitem_id == returnlist.item_id);
-        //    if (leadTime == null || supplier == null || plan == null)
-        //    {
-        //        throw new NotImplementedException("未找到物料ic_factory_details或ic_item_pur或ic_plan信息!");
-        //    }
-        //    srm_pr_main srm_Pr = new srm_pr_main();
-        //    srm_Pr.GenerateNewId();
-        //    srm_Pr.pr_billno = getOrderNum("PR");//pr单号
-        //    srm_Pr.pr_mono = "";//关联工单号
-        //    srm_Pr.entity_id = 1;//工单行号
-        //    srm_Pr.pr_purchaseid = supplier.supplier_id;//供应商id  
-        //    srm_Pr.pr_purchasenumber = supplier.supplier_number;//供应商编码
-        //    srm_Pr.pr_purchasename = supplier.supplier_name;//供应商名称
-        //    srm_Pr.pr_purchaser = supplier.purcher;//采购员
-        //    srm_Pr.pr_purchaser_num = "";//采购员工号(采购信息表)
-        //    srm_Pr.pr_rqty = returnlist.lack_qty;//需求数量
-        //    srm_Pr.pr_aqty = returnlist.lack_qty;//申请数量
-        //    srm_Pr.pr_sqty = returnlist.lack_qty;//建议数量
-        //    srm_Pr.icitem_id = returnlist.item_id;//物料id
-        //    srm_Pr.icitem_name = returnlist.item_name;//物料名称
-        //    srm_Pr.pr_order_type = 1;//单据类型
-        //    srm_Pr.pr_ssend_date = deliveryDate.AddDays((double)leadTime.order_leadtime * -1);//系统建议下单日期
-        //    srm_Pr.pr_sarrive_date = deliveryDate.AddDays((double)leadTime.transportation_leadtime * -1);//系统建议到达日期(建议到货日期)
-        //    srm_Pr.pr_psend_date = deliveryDate.AddDays((double)leadTime.order_leadtime * -1);//计划下单日期
-        //    srm_Pr.pr_parrive_date = deliveryDate.AddDays((double)leadTime.transportation_leadtime * -1);//计划到达日期
-        //    srm_Pr.pr_psend_date = deliveryDate.AddDays((double)leadTime.order_leadtime * -1);//计划下单日期
-        //    srm_Pr.pr_sysprice = returnlist.lack_qty * supplier.netpurchase_price * (1 + supplier.taxrate);//系统价格(含税)
-        //    srm_Pr.pr_orderprice = returnlist.lack_qty * supplier.netpurchase_price * (1 + supplier.taxrate);//订单价格(含税)
-        //    srm_Pr.pr_price = supplier.netpurchase_price;//采购净价(不含税)
-        //    srm_Pr.pr_rate = supplier.taxrate;//税率
-        //    srm_Pr.pr_unit = returnlist.unit;//单位
-        //    srm_Pr.state = 1;//状态
-        //    srm_Pr.old_apply_aqty = 0;//已申请数量
-        //    srm_Pr.pr_type = orderType;//申请类型
-        //    srm_Pr.currencytype = supplier.currency_type;//币种
-        //    srm_Pr.secInv_ratio = plan.secinv_ratio;//安全库存触发采购比例
-        //    srm_Pr.tenant_id = tenantId;
-        //    srm_Pr.factory_id = factoryid;
-        //    srm_Pr.bang_id = bangId;
-        //    _srm_pr_main.InsertOne(srm_Pr);
-        //    decimal? totalLeadTime = leadTime.transportation_leadtime + leadTime.stock_leadtime + leadTime.production_leadtime + leadTime.order_leadtime;
-        //    return deliveryDate.AddDays((double)totalLeadTime * -1);//减去提前期
-        //}
-
-        /// <summary>
-        /// 生成采购申请单,颗粒度是一个物料一个单,没必要弄列表
-        /// </summary>
-        /// <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<srm_purchase> supplierList, List<ic_plan> planList, DateTime deliveryDate)
-        {
-            SRMPRDto sRMPR = new SRMPRDto();
-            mo_srm_pr_main srm_Pr = new mo_srm_pr_main();
-            var leadTime = iCItemLeadTimes.Find(x => x.item_id == returnlist.item_id);
-            var supplier = supplierList.Find(x => x.icitem_id == returnlist.item_id);//默认取第一个供应商
-            var plan = planList.Find(x => x.icitem_id == returnlist.item_id);
-            if (leadTime == null || supplier == null || plan == null)
-            {
-                sRMPR.srm_Pr_Main = null;
-                sRMPR.lastStartTmie = deliveryDate.AddDays(7 * -1);//减去提前期
-                return sRMPR;
-                //throw new NotImplementedException("未找到物料ic_factory_details或ic_item_pur或ic_plan信息!");
-            }
-
-            srm_Pr.GenerateNewId();
-            srm_Pr.pr_billno = returnlist.erp_cls == 2 ? GetMaxSerialNumber(416555183259717) : GetMaxSerialNumber(416188596088901);//pr单号
-            srm_Pr.pr_mono = "";//关联工单号
-            srm_Pr.entity_id = 1;//工单行号
-            srm_Pr.pr_purchaseid = supplier.supplier_id;//供应商id  
-            srm_Pr.pr_purchasenumber = supplier.supplier_number;//供应商编码
-            srm_Pr.pr_purchasename = supplier.supplier_name;//供应商名称
-            srm_Pr.pr_purchaser = supplier.purcher;//采购员
-            srm_Pr.pr_purchaser_num = "";//采购员工号(采购信息表)
-            srm_Pr.pr_rqty = returnlist.lack_qty;//需求数量
-            srm_Pr.pr_aqty = returnlist.lack_qty;//申请数量
-            srm_Pr.pr_sqty = returnlist.lack_qty;//建议数量
-            srm_Pr.icitem_id = returnlist.item_id;//物料id
-            srm_Pr.icitem_name = returnlist.item_name;//物料名称
-            srm_Pr.pr_order_type = 1;//单据类型
-            srm_Pr.pr_ssend_date = deliveryDate.AddDays((double)leadTime.order_leadtime * -1);//系统建议下单日期
-            srm_Pr.pr_sarrive_date = deliveryDate.AddDays((double)leadTime.transportation_leadtime * -1);//系统建议到达日期(建议到货日期)
-            srm_Pr.pr_psend_date = deliveryDate.AddDays((double)leadTime.order_leadtime * -1);//计划下单日期
-            srm_Pr.pr_parrive_date = deliveryDate.AddDays((double)leadTime.transportation_leadtime * -1);//计划到达日期
-            srm_Pr.pr_psend_date = deliveryDate.AddDays((double)leadTime.order_leadtime * -1);//计划下单日期
-            srm_Pr.pr_sysprice = returnlist.lack_qty * supplier.netpurchase_price * (1 + supplier.taxrate);//系统价格(含税)
-            srm_Pr.pr_orderprice = returnlist.lack_qty * supplier.netpurchase_price * (1 + supplier.taxrate);//订单价格(含税)
-            srm_Pr.pr_price = supplier.netpurchase_price;//采购净价(不含税)
-            srm_Pr.pr_rate = supplier.taxrate;//税率
-            srm_Pr.pr_unit = returnlist.unit;//单位
-            srm_Pr.state = 1;//状态
-            srm_Pr.old_apply_aqty = 0;//已申请数量
-            srm_Pr.pr_type = orderType;//申请类型
-            srm_Pr.currencytype = supplier.currency_type;//币种
-            srm_Pr.secInv_ratio = plan.secinv_ratio;//安全库存触发采购比例
-            srm_Pr.tenant_id = tenantId;
-            srm_Pr.factory_id = factoryid;
-            srm_Pr.bang_id = bangId;
-            //_srm_pr_main.InsertOne(srm_Pr);
-            decimal? totalLeadTime = leadTime.transportation_leadtime + leadTime.stock_leadtime + leadTime.production_leadtime + leadTime.order_leadtime;
-
-            sRMPR.srm_Pr_Main.Add(srm_Pr);
-            sRMPR.lastStartTmie = deliveryDate.AddDays((double)totalLeadTime * -1);//减去提前期
-            return sRMPR;
-        }
-
-        // 生成订单编号 字母+年月日+8位随机数+时间戳
-        private string getOrderNum(string preCode)
-        {
-            string Dates = DateTime.Now.ToString("yyyyMMdd");//获取当前时间
-            Random Rdm = new Random(Guid.NewGuid().GetHashCode());//随机数
-            TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);//时间戳
-            string newts = Convert.ToInt64(ts.TotalMilliseconds).ToString();//时间戳          
-            string new_orderNum = preCode + Dates + Rdm.Next(0, 100000000) + newts;
-            return new_orderNum;
-        }
-
         /// <summary>
         /// 同一周以周五为合并采购申请单截点判断是否为同一周
         /// </summary>
@@ -2068,8 +1754,10 @@ namespace Business.ResourceExamineManagement
                 pretreatments = _mysql_b_bom_pretreatment.GetListAsync(s => boms.Select(c => c.mysql_id).ToList().Contains(s.sourceid)).Result;
             }
 
-            DataInitialization(boms, bangid, null, icitemlist, stocklist, pretreatments);
-
+            DataInitialization(boms, bangid, icitemlist, stocklist, pretreatments);
+            _morderAppService.param = param;
+            _purchaseOrderAppService.param = param;
+            _CalcBomViewAppService.param = param;
             foreach (var item in mo_Mes_Morders)
             {
                 var moentry = mo_Mes_Moentries.Find(s => s.moentry_moid == item.Id);
@@ -2140,7 +1828,7 @@ namespace Business.ResourceExamineManagement
         /// <param name="stocklist"></param>
         /// <param name="sklist"></param>
         /// <exception cref="NotImplementedException"></exception>
-        public void DataInitialization(List<mo_ic_bom> boms, long bangid, crm_seorder sorder, List<mo_ic_item> icitemlist, List<mo_ic_item_stock> stocklist, List<b_bom_pretreatment> pretreatments)
+        public void DataInitialization(List<mo_ic_bom> boms, long bangid, List<mo_ic_item> icitemlist, List<mo_ic_item_stock> stocklist, List<b_bom_pretreatment> pretreatments)
         {
             List<long> itemIds = pretreatments.Select(p => p.item_id.GetValueOrDefault()).ToList();
             icitemlist.AddRange(_ic_item.GetManyByCondition(p => itemIds.Contains(p.mysql_id) && !p.IsDeleted).Result);
@@ -2190,9 +1878,7 @@ namespace Business.ResourceExamineManagement
             supplierList = GetSupplier(itemIds, param.tenantId, param.factoryId);//供应商列表
             planList = GetICPlan(itemIds, param.tenantId, param.factoryId);//plan列表
 
-            _morderAppService.param = param;
-            _purchaseOrderAppService.param = param;
-            _CalcBomViewAppService.param = param;
+            
             _CalcBomViewAppService.planList = planList;
             _CalcBomViewAppService.leadTimeList = leadTimeList;
             _CalcBomViewAppService.supplierList = supplierList;
@@ -2204,7 +1890,7 @@ namespace Business.ResourceExamineManagement
             _CalcBomViewAppService.mordersList = mo_Mes_Morders;//工单
             _CalcBomViewAppService.moentriesList = mo_Mes_Moentry;//工单子表
             _CalcBomViewAppService.mooccupyAllList = mes_mooccupyList;//工单占用表
-            _CalcBomViewAppService.seorder = sorder;//销售订单
+            
             _CalcBomViewAppService.srm_Po_Lists = poDetailList; //采购明细
             _CalcBomViewAppService.srm_Po_Occupies = poOccupys; //采购占用表
         }

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

@@ -31,7 +31,7 @@ namespace Business.Controllers
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
-        [HttpGet]
+        [HttpPost]
         [Route("receiveresult")]
         public Task<string> ReceiveResult(ResourceCheckInputDto input)
         {

+ 2 - 2
MicroServices/Business/Bussiness.ApplicationTest/ResourceExamineManagement/ResourceExamineAppService_Tests.cs

@@ -24,7 +24,7 @@ namespace Bussiness.ApplicationTest.ResourceExamineManagement
         [Fact]
         public async Task Should_ThrowExcetion()
         {
-            var testInput = new ResourceCheckInputDto { factoryId = 10201, sorderId = 111111, tenantId = 102 };
+            var testInput = new ResourceCheckInputDto { factoryId = 10201, sorderId = new List<long> { 111111 }, tenantId = 102 };
             await Xunit.Assert.ThrowsAsync<NotImplementedException>(async () => await _resourceExamineAppService.ReceiveResult(testInput));
         }
 
@@ -32,7 +32,7 @@ namespace Bussiness.ApplicationTest.ResourceExamineManagement
         [ExpectedException(typeof(NotImplementedException))]
         public async Task Should_ThrowExcetion_Second()
         {
-            var testInput = new ResourceCheckInputDto { factoryId = 10201, sorderId = 111111, tenantId = 102 };
+            var testInput = new ResourceCheckInputDto { factoryId = 10201, sorderId = new List<long> { 111111 }, tenantId = 102 };
             await _resourceExamineAppService.ReceiveResult(testInput);
         }
     }

BIN
MicroServices/Procurement/.vs/Procurement/v17/.suo


+ 1 - 1
MicroServices/Procurement/Procurement.Application.Contracts/obj/Debug/net6.0/Procurement.Application.Contracts.GeneratedMSBuildEditorConfig.editorconfig

@@ -8,4 +8,4 @@ build_property.PlatformNeutralAssembly =
 build_property.EnforceExtendedAnalyzerRules = 
 build_property._SupportedPlatformList = Linux,macOS,Windows
 build_property.RootNamespace = Procurement
-build_property.ProjectDir = E:\ProjectsZZY\DOPCore\MicroServices\Procurement\Procurement.Application.Contracts\
+build_property.ProjectDir = E:\ProjectZZY\DOPCore\MicroServices\Procurement\Procurement.Application.Contracts\

BIN
MicroServices/Procurement/Procurement.Application.Contracts/obj/Debug/net6.0/Procurement.Application.Contracts.assets.cache


+ 1 - 1
MicroServices/Procurement/Procurement.Application/obj/Debug/net6.0/Procurement.Application.GeneratedMSBuildEditorConfig.editorconfig

@@ -8,4 +8,4 @@ build_property.PlatformNeutralAssembly =
 build_property.EnforceExtendedAnalyzerRules = 
 build_property._SupportedPlatformList = Linux,macOS,Windows
 build_property.RootNamespace = Procurement
-build_property.ProjectDir = E:\ProjectsZZY\DOPCore\MicroServices\Procurement\Procurement.Application\
+build_property.ProjectDir = E:\ProjectZZY\DOPCore\MicroServices\Procurement\Procurement.Application\

BIN
MicroServices/Procurement/Procurement.Application/obj/Debug/net6.0/Procurement.Application.assets.cache


BIN
MicroServices/Procurement/Procurement.Application/obj/Debug/net6.0/Procurement.Application.csproj.AssemblyReference.cache


+ 1 - 1
MicroServices/Procurement/Procurement.Domain/obj/Debug/net6.0/Procurement.Domain.GeneratedMSBuildEditorConfig.editorconfig

@@ -8,4 +8,4 @@ build_property.PlatformNeutralAssembly =
 build_property.EnforceExtendedAnalyzerRules = 
 build_property._SupportedPlatformList = Linux,macOS,Windows
 build_property.RootNamespace = Procurement
-build_property.ProjectDir = E:\ProjectsZZY\DOPCore\MicroServices\Procurement\Procurement.Domain\
+build_property.ProjectDir = E:\ProjectZZY\DOPCore\MicroServices\Procurement\Procurement.Domain\

BIN
MicroServices/Procurement/Procurement.Domain/obj/Debug/net6.0/Procurement.Domain.assets.cache


+ 1 - 1
MicroServices/Procurement/Procurement.EntityFrameworkCore/obj/Debug/net6.0/Procurement.EntityFrameworkCore.GeneratedMSBuildEditorConfig.editorconfig

@@ -8,4 +8,4 @@ build_property.PlatformNeutralAssembly =
 build_property.EnforceExtendedAnalyzerRules = 
 build_property._SupportedPlatformList = Linux,macOS,Windows
 build_property.RootNamespace = Procurement
-build_property.ProjectDir = E:\ProjectsZZY\DOPCore\MicroServices\Procurement\Procurement.EntityFrameworkCore\
+build_property.ProjectDir = E:\ProjectZZY\DOPCore\MicroServices\Procurement\Procurement.EntityFrameworkCore\

BIN
MicroServices/Procurement/Procurement.EntityFrameworkCore/obj/Debug/net6.0/Procurement.EntityFrameworkCore.assets.cache


BIN
MicroServices/Procurement/Procurement.EntityFrameworkCore/obj/Debug/net6.0/Procurement.EntityFrameworkCore.csproj.AssemblyReference.cache


+ 2 - 2
MicroServices/Procurement/Procurement.Host/obj/Debug/net6.0/Procurement.Host.GeneratedMSBuildEditorConfig.editorconfig

@@ -9,9 +9,9 @@ build_property.EnforceExtendedAnalyzerRules =
 build_property._SupportedPlatformList = Linux,macOS,Windows
 build_property.RootNamespace = Procurement
 build_property.RootNamespace = Procurement
-build_property.ProjectDir = E:\ProjectsZZY\DOPCore\MicroServices\Procurement\Procurement.Host\
+build_property.ProjectDir = E:\ProjectZZY\DOPCore\MicroServices\Procurement\Procurement.Host\
 build_property.RazorLangVersion = 6.0
 build_property.SupportLocalizedComponentNames = 
 build_property.GenerateRazorMetadataSourceChecksumAttributes = true
-build_property.MSBuildProjectDirectory = E:\ProjectsZZY\DOPCore\MicroServices\Procurement\Procurement.Host
+build_property.MSBuildProjectDirectory = E:\ProjectZZY\DOPCore\MicroServices\Procurement\Procurement.Host
 build_property._RazorSourceGeneratorDebug = 

BIN
MicroServices/Procurement/Procurement.Host/obj/Debug/net6.0/Procurement.Host.assets.cache