Преглед изворни кода

生成工单数量值修改

zhengly пре 3 година
родитељ
комит
c1d4d68d47

+ 15 - 13
MicroServices/Business/Business.Application/ResourceExamineManagement/ResourceExamineAppService.cs

@@ -396,7 +396,7 @@ namespace Business.ResourceExamineManagement
             long bangid = snow.NextId();
 
             //获取订单数据
-            crm_seorder sorder = _mysql_crm_seorder.GetListAsync(p=>p.Id == input.sorderId && p.IsDeleted ==false).Result.FirstOrDefault();
+            crm_seorder sorder = _mysql_crm_seorder.GetListAsync(p => p.Id == input.sorderId && p.IsDeleted == false).Result.FirstOrDefault();
             if (sorder == null)
             {
                 throw new NotImplementedException("订单数据不存在!");
@@ -737,7 +737,7 @@ namespace Business.ResourceExamineManagement
         /// <param name="DeliverDate">交付日期</param>
         /// <param name="seorderentry_id">销售订单子表ID</param>
         /// <returns></returns>
-        public async Task GenerateMorder(crm_seorderentry seorderentry)
+        public async Task GenerateMorder(crm_seorderentry seorderentry, decimal? Quantity)
         {
             //1.库存、在制工单检查完成后 当前BOM需要自制时 产生工单。
 
@@ -751,6 +751,8 @@ namespace Business.ResourceExamineManagement
 
             var ic_bom = _ic_bom.GetManyByCondition(x => x.bom_number == seorderentry.bom_number).Result.FirstOrDefault();
 
+            var Number = seorderentry.qty - Quantity;
+
             mes_morder mes_Morder = new mes_morder();
             mes_Morder.GenerateNewId();
             mes_Morder.morder_type = "销售工单";
@@ -765,7 +767,7 @@ namespace Business.ResourceExamineManagement
             //根绝系统配置参数 取最早或者最晚开始日期
             var StartDate = DateTime.Now.Date.AddDays(3);
             mes_Morder.moentry_sys_stime = StartDate;
-            var ProductiveDate = ProductiveExamine(ic_bom.bom_number, (int)(seorderentry.qty.Value));
+            var ProductiveDate = ProductiveExamine(ic_bom.bom_number, (int)(Number.Value));
             //系统建议完工日期为 开工日期+产能检查时间=完工日期
             var Day = ProductiveDate.Result / (60 * 10); //返回的分钟除以十个小时得出工作天数;
             mes_Morder.moentry_sys_etime = StartDate.AddDays((double)Day);
@@ -788,8 +790,8 @@ namespace Business.ResourceExamineManagement
             mes_Morder.picking_qty = 0;
             //TODO:可删除主表字段
             mes_Morder.unit = seorderentry.unit;
-            mes_Morder.morder_production_number = seorderentry.qty;
-            mes_Morder.need_number = seorderentry.qty;
+            mes_Morder.morder_production_number = Number;
+            mes_Morder.need_number = Number;
             mes_Morder.remaining_number = 0;
             //生成工单子表数据
             mes_moentry mes_Moentry = new mes_moentry();
@@ -800,8 +802,8 @@ namespace Business.ResourceExamineManagement
             mes_Moentry.fbill_no = seorderentry.bill_no;
             mes_Moentry.fentry_id = seorderentry.entry_seq.Value;
             mes_Moentry.unit = seorderentry.unit;
-            mes_Moentry.morder_production_number = seorderentry.qty;
-            mes_Moentry.need_number = seorderentry.qty;
+            mes_Moentry.morder_production_number = Number;
+            mes_Moentry.need_number = Number;
             mes_Moentry.remaining_number = 0;
             mes_Moentry.factory_id = seorderentry.factory_id;
             //using (TransactionScope scope = new TransactionScope())
@@ -1877,15 +1879,15 @@ namespace Business.ResourceExamineManagement
                         //外购生成采购申请单
                         if (item.erp_cls == 3)
                         {
-                            DateTime lastTime=CreateSRMPR(item, tenantId, factoryid, bangid,2, leadTimeList, supplierList, planList,deliveryDate);
+                            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});
+                            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
@@ -1950,7 +1952,7 @@ namespace Business.ResourceExamineManagement
         /// </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)
+        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();
@@ -2004,7 +2006,7 @@ namespace Business.ResourceExamineManagement
         /// <param name="returnlist"></param>
         /// <param name="factoryid"></param>
         /// <param name="orderType">1委外采购申请单,2采购申请单</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)
+        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);//默认取第一个供应商