|
|
@@ -8,9 +8,11 @@ using Business.MongoModel.SRM;
|
|
|
using Business.MongoModel.Tech;
|
|
|
using Business.ResourceExamineManagement.Dto;
|
|
|
using System;
|
|
|
+using System.Collections;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Linq;
|
|
|
using Volo.Abp.Application.Services;
|
|
|
+using static Spire.Pdf.General.Render.Decode.Jpeg2000.j2k.codestream.HeaderInfo;
|
|
|
|
|
|
namespace Business.ResourceExamineManagement
|
|
|
{
|
|
|
@@ -32,6 +34,7 @@ namespace Business.ResourceExamineManagement
|
|
|
public List<mo_mes_morder> mordersList = new List<mo_mes_morder>();
|
|
|
public List<mo_mes_morder> mordersInsertList = new List<mo_mes_morder>();
|
|
|
public List<mo_mes_moentry> moentriesList = new List<mo_mes_moentry>();
|
|
|
+ public List<mo_mes_moentry> moentriesInsertList = new List<mo_mes_moentry>();
|
|
|
public List<mo_mes_mooccupy> mooccupyAllList = new List<mo_mes_mooccupy>();
|
|
|
public List<mo_mes_mooccupy> mooccupyAllInsertList = new List<mo_mes_mooccupy>();
|
|
|
|
|
|
@@ -189,11 +192,12 @@ namespace Business.ResourceExamineManagement
|
|
|
//获取物料详情
|
|
|
var ic_item = icitemlist.Find(s => s.mysql_id == level1Dto.item_id);
|
|
|
_morderAppService.mo_Mes_Morders = mordersList;//工单
|
|
|
+ _morderAppService.mo_Mes_Moentry = moentriesList;//工单子表
|
|
|
_morderAppService.mo_Mes_Mooccupies = mooccupyAllList;//工单占用
|
|
|
List<mo_mes_mooccupy> mooccupylist = new List<mo_mes_mooccupy>();
|
|
|
if (param.checkflag)
|
|
|
{
|
|
|
- //顶级无需检查在制
|
|
|
+ //工单检查无需检查在制
|
|
|
mooccupylist = _morderAppService.CheckMorder(level1Dto.bom_number, level1Dto.lack_qty, plan_date.GetValueOrDefault(), sentrys, ic_item, bangid);
|
|
|
}
|
|
|
|
|
|
@@ -260,37 +264,49 @@ namespace Business.ResourceExamineManagement
|
|
|
}
|
|
|
else if (level1Dto.erp_cls == 3)
|
|
|
{
|
|
|
- //采购申请
|
|
|
- PackageSRMPR(level1Dto, bangid, plan_date, sentrys);
|
|
|
+ //先找在途
|
|
|
+ CalcInTransit(sentrys, level1Dto, bangid, plan_date.GetValueOrDefault());
|
|
|
+ if (level1Dto.lack_qty > 0)
|
|
|
+ {
|
|
|
+ //采购申请
|
|
|
+ PackageSRMPR(level1Dto, bangid, plan_date, sentrys);
|
|
|
+ }
|
|
|
}
|
|
|
else if (level1Dto.erp_cls == 2)
|
|
|
{
|
|
|
- //先计算末级数据的齐套时间。
|
|
|
- if (childList.Count() > 0)
|
|
|
+ //先找在途
|
|
|
+ CalcInTransit(sentrys, level1Dto, bangid, plan_date.GetValueOrDefault());
|
|
|
+ if (level1Dto.lack_qty > 0)
|
|
|
{
|
|
|
- MatterTileDevelop(level1Dto, childList, returnlist, sklist, bangid, plan_date, sentrys, icitemlist);
|
|
|
- level1Dto.kitting_time = childList.Max(s => s.kitting_time);
|
|
|
+ //先计算末级数据的齐套时间。
|
|
|
+ if (childList.Count() > 0)
|
|
|
+ {
|
|
|
+ MatterTileDevelop(level1Dto, childList, returnlist, sklist, bangid, plan_date, sentrys, icitemlist);
|
|
|
+ level1Dto.kitting_time = childList.Max(s => s.kitting_time);
|
|
|
+ }
|
|
|
+ //1.先生成委外工单。
|
|
|
+ var mesorder = CreateMesOOder(level1Dto, param.tenantId, param.factoryId, bangid, leadTimeList, supplierList, plan_date.Value);
|
|
|
+ level1Dto.subcontracting_qty = level1Dto.lack_qty;
|
|
|
+ level1Dto.subcontracting_list = new List<ooder>();
|
|
|
+ ooder oo = new ooder();
|
|
|
+ oo.Id = mesorder.id;
|
|
|
+ oo.morder_production_number = mesorder.morder_production_number;
|
|
|
+ oo.production_unit = mesorder.production_unit;
|
|
|
+ oo.production_unit_code = mesorder.production_unit_code;
|
|
|
+ oo.ooentry_prdname = mesorder.ooentry_prdname;
|
|
|
+ oo.ooentry_stime = mesorder.ooentry_stime;
|
|
|
+ oo.ooentry_etime = mesorder.ooentry_etime;
|
|
|
+ oo.oorder_date = mesorder.oorder_date;
|
|
|
+ oo.oorder_no = mesorder.oorder_no;
|
|
|
+ level1Dto.subcontracting_list.Add(oo);
|
|
|
+ level1Dto.kitting_time = mesorder.ooentry_etime;
|
|
|
+ orderList.Add(mesorder);
|
|
|
+ //2.生成采购申请
|
|
|
+ //采购申请
|
|
|
+ PackageSRMPR(level1Dto, bangid, plan_date, sentrys);
|
|
|
}
|
|
|
- //1.先生成委外工单。
|
|
|
- var mesorder = CreateMesOOder(level1Dto, param.tenantId, param.factoryId, bangid, leadTimeList, supplierList, plan_date.Value);
|
|
|
- level1Dto.subcontracting_qty = level1Dto.lack_qty;
|
|
|
- level1Dto.subcontracting_list = new List<ooder>();
|
|
|
- ooder oo = new ooder();
|
|
|
- oo.Id = mesorder.id;
|
|
|
- oo.morder_production_number = mesorder.morder_production_number;
|
|
|
- oo.production_unit = mesorder.production_unit;
|
|
|
- oo.production_unit_code = mesorder.production_unit_code;
|
|
|
- oo.ooentry_prdname = mesorder.ooentry_prdname;
|
|
|
- oo.ooentry_stime = mesorder.ooentry_stime;
|
|
|
- oo.ooentry_etime = mesorder.ooentry_etime;
|
|
|
- oo.oorder_date = mesorder.oorder_date;
|
|
|
- oo.oorder_no = mesorder.oorder_no;
|
|
|
- level1Dto.subcontracting_list.Add(oo);
|
|
|
- level1Dto.kitting_time = mesorder.ooentry_etime;
|
|
|
- orderList.Add(mesorder);
|
|
|
- //2.生成采购申请
|
|
|
- //采购申请
|
|
|
- PackageSRMPR(level1Dto, bangid, plan_date, sentrys);
|
|
|
+
|
|
|
+
|
|
|
|
|
|
}
|
|
|
}
|
|
|
@@ -387,6 +403,7 @@ namespace Business.ResourceExamineManagement
|
|
|
mordersList.AddRange(mes_MorderDto.mes_Morders);
|
|
|
mordersInsertList.AddRange(mes_MorderDto.mes_Morders);
|
|
|
moentriesList.AddRange(mes_MorderDto.mes_Moentries);
|
|
|
+ moentriesInsertList.AddRange(mes_MorderDto.mes_Moentries);
|
|
|
}
|
|
|
}
|
|
|
}
|