Browse Source

解决冲突

Murphy 3 years ago
parent
commit
a73ef99181

+ 2 - 0
MicroServices/Business/Business.Application/ResourceExamineManagement/CalcBomViewAppService.cs

@@ -165,6 +165,7 @@ namespace Business.ResourceExamineManagement
             CaclMaterialShortage(returnlist);
 
             Mes_MorderDto mes_MorderDto = null;
+            level1Dto.is_use = true;
             if (level1Dto.lack_qty > 0)
             {
                 //直接占用库存,缺料就生成采购
@@ -231,6 +232,7 @@ namespace Business.ResourceExamineManagement
                     //先设定在制的齐套时间
                     //level1Dto.satisfy_time = mooccupylist[0]?.moo_etime;
                     level1Dto.stock_state = 0;
+                    level1Dto.make_qty = level1Dto.lack_qty;
                     if (param.checkflag)
                     {
                         //生成主工单

+ 1 - 1
MicroServices/Business/Business.Application/ResourceExamineManagement/PretreatmentAppService.cs

@@ -273,7 +273,7 @@ namespace Business.ResourceExamineManagement
             dto.qty = dtl.replace_amount == null ? 1 : dtl.replace_amount.Value;
             dto.is_replace = 0;
             dto.haveicsubs = 0;
-            dto.substitute_code = "";
+            dto.substitute_code = sl.substitute_code;
             dto.icitem_ids = "";
             dto.substitute_strategy = sl.substitute_strategy == null ? 0 : sl.substitute_strategy.Value;//替代策略
             dto.substitute_mode = sl.substitute_mode == null ? 0 : sl.substitute_mode.Value;//替代方式

+ 39 - 7
MicroServices/Business/Business.Application/ResourceExamineManagement/ResourceExamineAppService.cs

@@ -504,6 +504,8 @@ namespace Business.ResourceExamineManagement
                 dtl.entry_seq = item.entry_seq;
                 //TODO:最早开始时间默认3天后(后期调整)
                 dtl.earliest_times = DateTime.Now.Date.AddDays(3);
+                dtl.need_qty = item.qty.GetValueOrDefault();
+                dtl.bom_number = item.bom_number;
 
                 //获取当前物料bom数据
                 var childBom = boms.Where(p => p.item_number == item.item_number).FirstOrDefault();
@@ -512,11 +514,13 @@ namespace Business.ResourceExamineManagement
                 //bom替代关系组装
                 _pretreatmentAppService.BomSubstitute(getBomList, bomlist, bomchildlist, icitemlist, sublist, suballlist, subdtllist);
 
+                GenerateSort(getBomList);
+
                 getBomList.ForEach(s => s.sentry_id = item.Id);
                 //库存初始化
                 _CalcBomViewAppService.BomStock(getBomList, stocklist, bangid);
                 //计算
-                _CalcBomViewAppService.CalcView(getBomList, bangid, item.qty.Value, item.plan_date, sklist, item, icitemlist);
+                _CalcBomViewAppService.CalcView(getBomList, bangid, item.qty.GetValueOrDefault(), item.plan_date, sklist, item, icitemlist);
 
                 //TODO:最晚开始时间
                 var curFacDtl = leadTimeList.FirstOrDefault(p => p.item_id == childBom.icitem_id);
@@ -580,41 +584,56 @@ namespace Business.ResourceExamineManagement
             foreach (var ex in rtn.examines)
             {
                 var b_ex = ObjectMapper.Map<ExamineResult, b_examine_result>(ex);
+                b_ex.GenerateNewId();// = help.NextId();
+                b_ex.create_time = DateTime.Now;
+                b_ex.tenant_id = param.tenantId;
+                b_ex.factory_id = param.factoryId;
                 examineList.Add(b_ex);
                 ex.BomChildExamineList.ForEach(s => {
                     var bc_ex = ObjectMapper.Map<BomChildExamineDto, b_bom_child_examine>(s);
-                    b_ex.GenerateNewId();// = help.NextId();
                     bc_ex.examine_id = b_ex.Id;
+                    bc_ex.tenant_id = param.tenantId;
+                    bc_ex.factory_id = param.factoryId;
                     bomExamineList.Add(bc_ex);
 
                     if(s.mo_occupy_list != null)
                     {
                         var olist = ObjectMapper.Map<List<mo_occupy>, List<b_mo_occupy>>(s.mo_occupy_list);
-                        olist.ForEach(o => { o.bom_child_examine_id = bc_ex.Id; });
+                        olist.ForEach(o => { o.bom_child_examine_id = bc_ex.Id; o.tenant_id = param.tenantId;
+                            o.factory_id = param.factoryId;
+                        });
                         mooccupyList.AddRange(olist);
                     }
                     if (s.make_list != null)
                     {
                         var mlist = ObjectMapper.Map<List<moorder>, List<b_mo_order>>(s.make_list);
-                        mlist.ForEach(o => { o.bom_child_examine_id = bc_ex.Id; });
+                        mlist.ForEach(o => { o.bom_child_examine_id = bc_ex.Id; o.tenant_id = param.tenantId;
+                            o.factory_id = param.factoryId;
+                        });
                         moorderList.AddRange(mlist);
                     }
                     if (s.subcontracting_list != null)
                     {
                         var slist = ObjectMapper.Map<List<ooder>, List<b_ooder>>(s.subcontracting_list);
-                        slist.ForEach(o => { o.bom_child_examine_id = bc_ex.Id; });
+                        slist.ForEach(o => { o.bom_child_examine_id = bc_ex.Id; o.tenant_id = param.tenantId;
+                            o.factory_id = param.factoryId;
+                        });
                         ooderList.AddRange(slist);
                     }
                     if (s.purchase_list != null)
                     {
                         var plist = ObjectMapper.Map<List<purchase>, List<b_purchase>>(s.purchase_list);
-                        plist.ForEach(o => { o.bom_child_examine_id = bc_ex.Id; });
+                        plist.ForEach(o => { o.bom_child_examine_id = bc_ex.Id; o.tenant_id = param.tenantId;
+                            o.factory_id = param.factoryId;
+                        });
                         purchaseList.AddRange(plist);
                     }
                     if (s.purchase_occupy_list != null)
                     {
                         var purlist = ObjectMapper.Map<List<purchase_occupy>, List<b_purchase_occupy>>(s.purchase_occupy_list);
-                        purlist.ForEach(o => { o.bom_child_examine_id = bc_ex.Id; });
+                        purlist.ForEach(o => { o.bom_child_examine_id = bc_ex.Id; o.tenant_id = param.tenantId;
+                            o.factory_id = param.factoryId;
+                        });
                         purchaseoccupyList.AddRange(purlist);
                     }
                     /*s.mo_occupy_list.ForEach(o => {
@@ -1403,6 +1422,7 @@ namespace Business.ResourceExamineManagement
                 var getBomList = _pretreatmentAppService.BomPretreatment(childBom.mysql_id, bomlist, bomchildlist, icitemlist);
                 //bom替代关系组装
                 _pretreatmentAppService.BomSubstitute(getBomList, bomlist, bomchildlist, icitemlist, sublist, suballlist, subdtllist);
+                GenerateSort(getBomList);
                 if (sentry != null)
                 {
                     dtl.sentry_id = sentry.Id;
@@ -1525,5 +1545,17 @@ namespace Business.ResourceExamineManagement
             _CalcBomViewAppService.srm_Po_Lists = poDetailList; //采购明细
             _CalcBomViewAppService.srm_Po_Occupies = poOccupys; //采购占用表
         }
+
+        public void GenerateSort(List<BomChildExamineDto> returnlist)
+        {
+            int level = returnlist.Max(s => s.level);
+            returnlist.ForEach(s => {
+                int num = level - s.level;
+                if (num > 0)
+                {
+                    s.num_order = long.Parse((s.num_order * Math.Pow(1000, num)).ToString());
+                }
+            });
+        }
     }
 }

+ 1 - 1
MicroServices/Business/Business.Application/SyncDataManagement/SyncMySQLDataAppService.cs

@@ -185,7 +185,7 @@ namespace Business.SyncDataManagement
             }
 
             //同步物料BOM明细数据
-            var icbom_childs =  _mysql_ic_bom_child.GetListAsync().Result;
+            var icbom_childs = _mysql_ic_bom_child.GetListAsync(s => s.tenant_id == 101).Result;
             if (icbom_childs.Count > 0)
             {
                 //先清空表数据

+ 2 - 2
MicroServices/Business/Bussiness.Model/MES/IC/ic_bom.cs

@@ -48,12 +48,12 @@ namespace Bussiness.Model.MES.IC
         /// 序号
         /// </summary>
         [Comment("序号")]
-        public int bom_num { get; set; }
+        public int? bom_num { get; set; }
         /// <summary>
         /// 使用状态
         /// </summary>
         [Comment("使用状态")]
-        public int fse_status { get; set; }
+        public int? fse_status { get; set; }
         /// <summary>
         /// 生效日期
         /// </summary>

+ 10 - 10
MicroServices/Business/Bussiness.Model/MES/IC/ic_bom_child.cs

@@ -31,7 +31,7 @@ namespace Bussiness.Model.MES.IC
         /// </summary>
         [Required]
         [Comment("是否是BOM")]
-        public int is_bom { get; set; }
+        public int? is_bom { get; set; }
         /// <summary>
         /// 物料id
         /// </summary>
@@ -72,17 +72,17 @@ namespace Bussiness.Model.MES.IC
         /// 是否倒冲
         /// </summary>
         [Comment("是否倒冲")]
-        public int backflush { get; set; }
+        public int? backflush { get; set; }
         /// <summary>
         /// 是否关键件
         /// </summary>
         [Comment("是否关键件")]
-        public int iskeyitem { get; set; }
+        public int? iskeyitem { get; set; }
         /// <summary>
         /// 存在替代关系
         /// </summary>
         [Comment("存在替代关系")]
-        public int haveicsubs { get; set; }
+        public int? haveicsubs { get; set; }
         /// <summary>
         /// 群组代码
         /// </summary>
@@ -93,7 +93,7 @@ namespace Bussiness.Model.MES.IC
         /// 是否群组替代
         /// </summary>
         [Comment("是否群组替代")]
-        public int is_replace { get; set; }
+        public int? is_replace { get; set; }
         /// <summary>
         /// 组合模式
         /// </summary>
@@ -110,22 +110,22 @@ namespace Bussiness.Model.MES.IC
         /// 顺序号
         /// </summary>
         [Comment("顺序号")]
-        public int entryid { get; set; }
+        public int? entryid { get; set; }
         /// <summary>
         /// 物料类型
         /// </summary>
         [Comment("物料类型")]
-        public int type { get; set; }
+        public int? type { get; set; }
         /// <summary>
         /// 物料属性
         /// </summary>
         [Comment("物料属性")]
-        public int erp_cls { get; set; }
+        public int? erp_cls { get; set; }
         /// <summary>
         /// 使用状态
         /// </summary>
         [Comment("使用状态")]
-        public int use_status { get; set; }
+        public int? use_status { get; set; }
         /// <summary>
         /// 生效日期
         /// </summary>
@@ -145,7 +145,7 @@ namespace Bussiness.Model.MES.IC
         /// 序号
         /// </summary>
         [Comment("序号")]
-        public int child_num { get; set; }
+        public int? child_num { get; set; }
 
        /// <summary>
         /// 版本

+ 7 - 7
MicroServices/Business/Bussiness.Model/MES/IC/ic_item.cs

@@ -74,7 +74,7 @@ namespace Bussiness.Model.MES.IC
         /// 物料属性
         /// </summary>
         [Comment("物料属性")]
-        public int erp_cls { get; set; }
+        public int? erp_cls { get; set; }
         /// <summary>
         /// 物料属性名称
         /// </summary>
@@ -136,7 +136,7 @@ namespace Bussiness.Model.MES.IC
         /// 是否关键件
         /// </summary>
         [Comment("是否关键件")]
-        public int iskeyitem { get; set; }
+        public int? iskeyitem { get; set; }
         /// <summary>
         /// 毛重
         /// </summary>
@@ -194,27 +194,27 @@ namespace Bussiness.Model.MES.IC
         /// 允许采购
         /// </summary>
         [Comment("允许采购")]
-        public int allowpur { get; set; }
+        public int? allowpur { get; set; }
         /// <summary>
         /// 允许销售
         /// </summary>
         [Comment("允许销售")]
-        public int allowsale { get; set; }
+        public int? allowsale { get; set; }
         /// <summary>
         /// 允许生产
         /// </summary>
         [Comment("允许生产")]
-        public int allowmanu { get; set; }
+        public int? allowmanu { get; set; }
         /// <summary>
         /// 允许委外
         /// </summary>
         [Comment("允许委外")]
-        public int allowout { get; set; }
+        public int? allowout { get; set; }
         /// <summary>
         /// 批号管理
         /// </summary>
         [Comment("批号管理")]
-        public int allowbatch { get; set; }
+        public int? allowbatch { get; set; }
         /// <summary>
         /// 序列号管理
         /// </summary>

+ 2 - 2
MicroServices/Business/Bussiness.Model/MES/IC/ic_plan.cs

@@ -57,12 +57,12 @@ namespace Bussiness.Model.MES.IC
         /// 计划策略
         /// </summary>
         [Comment("计划策略")]
-        public int plan_trategy { get; set; }
+        public int? plan_trategy { get; set; }
         /// <summary>
         /// 订货策略
         /// </summary>
         [Comment("订货策略")]
-        public int order_trategy { get; set; }
+        public int? order_trategy { get; set; }
         /// <summary>
         /// 订货间隔期_天
         /// </summary>

+ 1 - 1
MicroServices/Business/Bussiness.Model/MES/IC/ic_substitute.cs

@@ -29,7 +29,7 @@ namespace Bussiness.Model.MES.IC
         /// 替代类型
         /// </summary>
         [Comment("替代类型")]
-        public int substitute_type { get; set; }
+        public int? substitute_type { get; set; }
 
         /// <summary>
         /// 替代策略

+ 1 - 1
MicroServices/Business/Bussiness.Model/MES/IC/ic_substitute_all.cs

@@ -64,7 +64,7 @@ namespace Bussiness.Model.MES.IC
         /// 群组优先级
         /// </summary>
         [Comment("群组优先级")]
-        public int order_num { get; set; }
+        public int? order_num { get; set; }
 
         /// <summary>
         /// 主料/替代料

+ 1 - 1
MicroServices/Business/Bussiness.Model/Sale/crm_seorderentry.cs

@@ -262,7 +262,7 @@ namespace Bussiness.Model.Sale
         /// </summary>
         [Comment("数据状态标识 0停用 1启用")]
         [DefaultValue(true)]
-        public bool state { get; set; }
+        public bool? state { get; set; }
 
         /// <summary>
         /// 评审状态