|
|
@@ -708,7 +708,7 @@ namespace Business.ResourceExamineManagement
|
|
|
List<KittingTimeDto> kittingTimes = new List<KittingTimeDto>();
|
|
|
DataInitialization(boms, bangid, icitemlist, stocklist, pretreatments, sklist);
|
|
|
|
|
|
- _CalcBomViewAppService.morder_type = MorderEnum.XsMorder;
|
|
|
+
|
|
|
foreach (var sorder in sorders)
|
|
|
{
|
|
|
param.sorderId = sorder.Id;
|
|
|
@@ -717,6 +717,13 @@ namespace Business.ResourceExamineManagement
|
|
|
//param.checkflag = true;
|
|
|
_morderAppService.param = param;
|
|
|
_purchaseOrderAppService.param = param;
|
|
|
+ if (sorder.order_type.GetValueOrDefault() == 1)
|
|
|
+ {
|
|
|
+ _CalcBomViewAppService.morder_type = MorderEnum.XsMorder;
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ _CalcBomViewAppService.morder_type = MorderEnum.JhMorder;
|
|
|
+ }
|
|
|
_CalcBomViewAppService.param = param;
|
|
|
//_CalcBomViewAppService.IsStraight = true;
|
|
|
_CalcBomViewAppService.seorder = sorder;//销售订单
|
|
|
@@ -1060,7 +1067,14 @@ namespace Business.ResourceExamineManagement
|
|
|
List<srm_po_occupy> occupylist = _mysql_srm_po_occupy.GetListAsync(s => idList.Contains(s.polist_id.GetValueOrDefault())).Result;
|
|
|
srm_pr_main srm_Pr = help.DeepCopy(prlist[0]);
|
|
|
srm_Pr.GenerateNewId(help.NextId());
|
|
|
- srm_Pr.pr_billno = prlist[0].pr_type == 2 ? _CalcBomViewAppService.getOrderNum("WWPR") : _CalcBomViewAppService.getOrderNum("PR");//pr单号
|
|
|
+ var nbrResult = _serialNumberAppService.GetBillNo(srm_Pr.factory_id.ToString(), "PR", 1, "admin", 1);
|
|
|
+ if (nbrResult.Any())
|
|
|
+ {
|
|
|
+ srm_Pr.pr_billno = nbrResult[0].NbrResult;
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ srm_Pr.pr_billno = prlist[0].pr_type == 2 ? _CalcBomViewAppService.getOrderNum("WWPR") : _CalcBomViewAppService.getOrderNum("PR");//pr单号
|
|
|
+ }
|
|
|
srm_Pr.state = 1;
|
|
|
/*if (mes_morder != null)
|
|
|
{
|
|
|
@@ -1179,7 +1193,37 @@ namespace Business.ResourceExamineManagement
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+ if (insetPrList.Any())
|
|
|
+ {
|
|
|
+ var nbrlistDto = _serialNumberAppService.GetBillNo(insetPrList[0].factory_id.ToString(), "PR", insetPrList.Count, "admin", 1);
|
|
|
+ int index = 0;
|
|
|
+ foreach (var p in insetPrList)
|
|
|
+ {
|
|
|
+ if (nbrlistDto[index] != null)
|
|
|
+ {
|
|
|
+ updatePrList.Where(x => x.refer_pr_billno == p.pr_billno).ToList().ForEach(c =>
|
|
|
+ {
|
|
|
+ c.refer_pr_billno = nbrlistDto[index].NbrResult.ToString();
|
|
|
+ });
|
|
|
+ p.pr_billno = nbrlistDto[index].NbrResult.ToString();
|
|
|
+ }
|
|
|
+ index++;
|
|
|
+ if (p.pr_purchaseid.GetValueOrDefault() == 0)
|
|
|
+ {
|
|
|
+ //数据丢失
|
|
|
+ var list = _mysql_srm_purchase.GetListAsync(s => s.icitem_id == p.icitem_id).Result;
|
|
|
+ if (list.Any())
|
|
|
+ {
|
|
|
+ var purchase = list.OrderBy(s => s.quota_priority).FirstOrDefault();
|
|
|
+ p.pr_purchaseid = purchase.supplier_id;
|
|
|
+ p.pr_purchasename = purchase.supplier_name;
|
|
|
+ p.pr_purchasenumber = purchase.supplier_number;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
#region 此逻辑是处理按每周几送货实现,先屏蔽
|
|
|
/*foreach (var pr in moPrlist)
|
|
|
{
|
|
|
@@ -1375,7 +1419,15 @@ namespace Business.ResourceExamineManagement
|
|
|
var nbrList = _purOrdMaster.Select(a => a.Domain == poaction.poMasterList[0].Domain && nbrs.Contains(a.PurOrd));
|
|
|
poaction.poDetailList.ForEach(c =>
|
|
|
{
|
|
|
- c.PurOrdRecID = nbrList.Where(a => a.PurOrd == c.PurOrd).First().RecID;
|
|
|
+ var master = nbrList.Where(a => a.PurOrd == c.PurOrd).FirstOrDefault();
|
|
|
+ if (master != null)
|
|
|
+ {
|
|
|
+ c.PurOrdRecID = master.RecID;
|
|
|
+ if (master.FSTID == "3")
|
|
|
+ {
|
|
|
+ c.Location = "VMI01";
|
|
|
+ }
|
|
|
+ }
|
|
|
});
|
|
|
_purOrdDetail.Insert(poaction.poDetailList);
|
|
|
}
|
|
|
@@ -1920,7 +1972,7 @@ namespace Business.ResourceExamineManagement
|
|
|
await _ic_item_stock.InsertManyAsync(moIcitemStokc);
|
|
|
}
|
|
|
|
|
|
- var workordmsters = _workOrdMaster.Select(s => s.Domain == factoryId.ToString() && s.Status.ToLower() != "c");
|
|
|
+ var workordmsters = _workOrdMaster.Select(s => s.Domain == factoryId.ToString() && string.IsNullOrEmpty(s.Status) != true && s.Status.ToLower() != "c");
|
|
|
if (workordmsters.Any())
|
|
|
{
|
|
|
//根据工单表找到工单明细,然后根据DOP工单占用记录,对比工单明细发货数量,来做冲销。
|
|
|
@@ -1961,7 +2013,7 @@ namespace Business.ResourceExamineManagement
|
|
|
}
|
|
|
|
|
|
//工单主表
|
|
|
- var mes_morder = _mysql_mes_morder.GetListAsync(x => x.company_id == companyId && x.factory_id == factoryId && workordmsters.Select(c => c.WorkOrd).Contains(x.morder_no)).Result;
|
|
|
+ var mes_morder = _mysql_mes_morder.GetListAsync(x => string.IsNullOrEmpty(x.morder_state) == false && x.morder_state != "完成" && x.company_id == companyId && x.factory_id == factoryId && workordmsters.Select(c => c.WorkOrd).Contains(x.morder_no)).Result;
|
|
|
if (mes_morder.Count > 0)
|
|
|
{
|
|
|
mes_morder.ForEach(item => { item.bang_id = bangid; });
|
|
|
@@ -2163,12 +2215,11 @@ namespace Business.ResourceExamineManagement
|
|
|
{
|
|
|
AutoCreatePOFromPRByType(zcPr, icitemlist, itemsupplierList, purchaselist, poaction,1);
|
|
|
}
|
|
|
-
|
|
|
- var wwPr = list.Where(a => a.pr_billno.StartsWith("WWPR")).ToList();
|
|
|
+ /*var wwPr = list.Where(a => a.pr_billno.StartsWith("WWPR")).ToList();
|
|
|
if (wwPr.Any())
|
|
|
{
|
|
|
AutoCreatePOFromPRByType(wwPr, icitemlist, itemsupplierList, purchaselist, poaction,2);
|
|
|
- }
|
|
|
+ }*/
|
|
|
}
|
|
|
/// <summary>
|
|
|
/// 根据PR生成PO
|
|
|
@@ -2373,7 +2424,8 @@ namespace Business.ResourceExamineManagement
|
|
|
USAGE = a.supplier_type,
|
|
|
IsActive = true,
|
|
|
CreateTime = a.create_time,
|
|
|
- UpdateTime = a.update_time
|
|
|
+ UpdateTime = a.update_time,
|
|
|
+ FSTID = a.supplier_type == "VMI" ? "3" : ""
|
|
|
});
|
|
|
});
|
|
|
poaction.poMasterList.AddRange(purOrdMasters);
|
|
|
@@ -4215,6 +4267,7 @@ namespace Business.ResourceExamineManagement
|
|
|
woRouting.IsActive = true;
|
|
|
woRouting.CommentIndex = dtl.CommentIndex;
|
|
|
woRouting.CreateTime = DateTime.Now;
|
|
|
+ woRouting.StdOp = dtl.StdOp;
|
|
|
woRouting.PackingQty = dtl.PackingQty.GetValueOrDefault();
|
|
|
workOrdRoutings.Add(woRouting);
|
|
|
}
|