|
|
@@ -70,15 +70,22 @@ namespace Business.ResourceExamineManagement
|
|
|
/// </summary>
|
|
|
private readonly ProductExamineAppService _productExamineAppService;
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 在途检查
|
|
|
+ /// </summary>
|
|
|
+ private readonly PurchaseOrderAppService _purchaseOrderAppService;
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 构造函数
|
|
|
/// </summary>
|
|
|
/// <param name="morderAppService"></param>
|
|
|
public CalcBomViewAppService(MorderAppService morderAppService,
|
|
|
- ProductExamineAppService productExamineAppService)
|
|
|
+ ProductExamineAppService productExamineAppService,
|
|
|
+ PurchaseOrderAppService purchaseOrderAppService)
|
|
|
{
|
|
|
_morderAppService = morderAppService;
|
|
|
_productExamineAppService = productExamineAppService;
|
|
|
+ _purchaseOrderAppService = purchaseOrderAppService;
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -504,32 +511,40 @@ namespace Business.ResourceExamineManagement
|
|
|
else if (item.erp_cls == 3)
|
|
|
{
|
|
|
//先找在途
|
|
|
-
|
|
|
-
|
|
|
- //采购申请
|
|
|
- var SRMPRDto = CreateSRMPR(item, input.tenantId, input.factoryId, bangid, item.erp_cls, leadTimeList, supplierList, planList, plan_date.Value);
|
|
|
- item.purchase_qty = item.lack_qty;
|
|
|
- item.purchase_list = new List<purchase>();
|
|
|
- if (SRMPRDto.srm_Pr_Main != null)
|
|
|
+ var occoupylist = _purchaseOrderAppService.CheckPurchaseOrder(sentrys, item.item_id, item.lack_qty, plan_date.GetValueOrDefault(), planList, bangid);
|
|
|
+ if (occoupylist.Any())
|
|
|
{
|
|
|
- purchase pur = new purchase();
|
|
|
- pur.pr_billno = SRMPRDto.srm_Pr_Main.pr_billno;
|
|
|
- pur.pr_purchasenumber = SRMPRDto.srm_Pr_Main.pr_purchasenumber;
|
|
|
- pur.pr_purchasename = SRMPRDto.srm_Pr_Main.pr_purchasename;
|
|
|
- pur.pr_rqty = SRMPRDto.srm_Pr_Main.pr_rqty;
|
|
|
- pur.pr_aqty = SRMPRDto.srm_Pr_Main.pr_aqty;
|
|
|
- pur.pr_sqty = SRMPRDto.srm_Pr_Main.pr_sqty;
|
|
|
- pur.pr_parrive_date = SRMPRDto.srm_Pr_Main.pr_parrive_date;
|
|
|
- pur.pr_rarrive_date = SRMPRDto.srm_Pr_Main.pr_rarrive_date;
|
|
|
- pur.pr_pur_affirm_date = SRMPRDto.srm_Pr_Main.pr_pur_affirm_date;
|
|
|
- pur.pr_sysprice = SRMPRDto.srm_Pr_Main.pr_sysprice;
|
|
|
- pur.pr_orderprice = SRMPRDto.srm_Pr_Main.pr_orderprice;
|
|
|
- pur.pr_price = SRMPRDto.srm_Pr_Main.pr_price;
|
|
|
- pur.pr_rate = SRMPRDto.srm_Pr_Main.pr_rate;
|
|
|
- item.purchase_list.Add(pur);
|
|
|
+ decimal occqty = occoupylist.Sum(s => s.qty.GetValueOrDefault());
|
|
|
+ item.purchase_occupy_qty = occqty;
|
|
|
+ item.lack_qty -= occqty;
|
|
|
+ }
|
|
|
+ if (item.lack_qty > 0)
|
|
|
+ {
|
|
|
+ //采购申请
|
|
|
+ var SRMPRDto = CreateSRMPR(item, input.tenantId, input.factoryId, bangid, item.erp_cls, leadTimeList, supplierList, planList, plan_date.Value);
|
|
|
+ item.purchase_qty = item.lack_qty;
|
|
|
+ item.purchase_list = new List<purchase>();
|
|
|
+ if (SRMPRDto.srm_Pr_Main != null)
|
|
|
+ {
|
|
|
+ purchase pur = new purchase();
|
|
|
+ pur.pr_billno = SRMPRDto.srm_Pr_Main.pr_billno;
|
|
|
+ pur.pr_purchasenumber = SRMPRDto.srm_Pr_Main.pr_purchasenumber;
|
|
|
+ pur.pr_purchasename = SRMPRDto.srm_Pr_Main.pr_purchasename;
|
|
|
+ pur.pr_rqty = SRMPRDto.srm_Pr_Main.pr_rqty;
|
|
|
+ pur.pr_aqty = SRMPRDto.srm_Pr_Main.pr_aqty;
|
|
|
+ pur.pr_sqty = SRMPRDto.srm_Pr_Main.pr_sqty;
|
|
|
+ pur.pr_parrive_date = SRMPRDto.srm_Pr_Main.pr_parrive_date;
|
|
|
+ pur.pr_rarrive_date = SRMPRDto.srm_Pr_Main.pr_rarrive_date;
|
|
|
+ pur.pr_pur_affirm_date = SRMPRDto.srm_Pr_Main.pr_pur_affirm_date;
|
|
|
+ pur.pr_sysprice = SRMPRDto.srm_Pr_Main.pr_sysprice;
|
|
|
+ pur.pr_orderprice = SRMPRDto.srm_Pr_Main.pr_orderprice;
|
|
|
+ pur.pr_price = SRMPRDto.srm_Pr_Main.pr_price;
|
|
|
+ pur.pr_rate = SRMPRDto.srm_Pr_Main.pr_rate;
|
|
|
+ item.purchase_list.Add(pur);
|
|
|
+ }
|
|
|
+ item.kitting_time = SRMPRDto.lastStartTmie;
|
|
|
+ SRMPRDtoList.Add(SRMPRDto);
|
|
|
}
|
|
|
- item.kitting_time = SRMPRDto.lastStartTmie;
|
|
|
- SRMPRDtoList.Add(SRMPRDto);
|
|
|
}
|
|
|
else if (item.erp_cls == 2)
|
|
|
{
|