|
|
@@ -1040,7 +1040,7 @@ namespace Business.ResourceExamineManagement
|
|
|
{
|
|
|
//物料、供应商为相同才允许合并。
|
|
|
var idList = AnalysisIdList(ids);
|
|
|
- List<srm_pr_main> prlist = _mysql_srm_pr_main.GetListAsync(s => idList.Contains(s.Id)).Result;
|
|
|
+ List<srm_pr_main> prlist = _mysql_srm_pr_main.GetListAsync(s => idList.Contains(s.Id) && s.IsRequireGoods == 1).Result;
|
|
|
if (prlist.Any())
|
|
|
{
|
|
|
if (prlist.Where(s => s.state == 0).Count() > 0)
|
|
|
@@ -1142,7 +1142,8 @@ namespace Business.ResourceExamineManagement
|
|
|
DateTime toTime = DateTime.Now; //new DateTime(2023, 7, 6);
|
|
|
DateTime starttime = toTime.Date.AddDays(1);
|
|
|
DateTime endtime = toTime.Date.AddDays(7);
|
|
|
- List<srm_pr_main> prlist = _mysql_srm_pr_main.GetListAsync(s => s.company_id.ToString() == companyid && s.pr_ssend_date >= starttime && s.pr_ssend_date <= endtime && s.state == 1).Result;
|
|
|
+ //只合并要货令
|
|
|
+ List<srm_pr_main> prlist = _mysql_srm_pr_main.GetListAsync(s => s.company_id.ToString() == companyid && s.pr_ssend_date >= starttime && s.pr_ssend_date <= endtime && s.state == 1 && s.IsRequireGoods == 1).Result;
|
|
|
List<ic_item> ic_Items = _mysql_ic_item.GetListAsync(s => s.company_id.ToString() == companyid && prlist.Select(c => c.icitem_id).Contains(s.Id)).Result;
|
|
|
|
|
|
var occupylist = _mysql_srm_po_occupy.GetListAsync(s => prlist.Select(c => c.Id).Contains(s.polist_id.GetValueOrDefault()) && s.company_id.ToString() == companyid && s.IsDeleted == false).Result;
|
|
|
@@ -1152,6 +1153,7 @@ namespace Business.ResourceExamineManagement
|
|
|
List<srm_pr_main> insetPrList = new List<srm_pr_main>();
|
|
|
List<srm_pr_main> updatePrList = new List<srm_pr_main>();
|
|
|
var moPrlist = ObjectMapper.Map<List<srm_pr_main>, List<mo_srm_pr_main>>(prlist);
|
|
|
+ long Nbr = help.NextId();
|
|
|
foreach (var pr in prlist)
|
|
|
{
|
|
|
bool bl = pr.sentry_id == null;//区分是销售订单和非销售订单的合并。
|
|
|
@@ -1172,7 +1174,7 @@ namespace Business.ResourceExamineManagement
|
|
|
prRefoccupy.ForEach(a => {
|
|
|
a.polist_id = newPr.Id;
|
|
|
});
|
|
|
- newPr.pr_billno = pr.pr_type == 2 ? _CalcBomViewAppService.getOrderNum("WWPR") : _CalcBomViewAppService.getOrderNum("PR");//pr单号
|
|
|
+ newPr.pr_billno = Nbr.ToString();//pr单号
|
|
|
newPr.state = pr.state;
|
|
|
newPr.pr_rqty = ilist.Sum(s => s.pr_rqty);//需求数量
|
|
|
newPr.pr_aqty = ilist.Sum(s => s.pr_aqty);//申请数量
|
|
|
@@ -1190,6 +1192,7 @@ namespace Business.ResourceExamineManagement
|
|
|
insetPrList.Add(newPr);
|
|
|
ilist.ForEach(s => { s.state = 0; });
|
|
|
updatePrList.AddRange(ilist);
|
|
|
+ Nbr++;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -2210,7 +2213,7 @@ namespace Business.ResourceExamineManagement
|
|
|
poDto.polist = new List<srm_po_list>();
|
|
|
pOGroupDtos.Add(poDto);
|
|
|
}
|
|
|
- item.state = 0;
|
|
|
+ item.state = 4;
|
|
|
srm_po_list podetail = new srm_po_list();
|
|
|
podetail.GenerateNewId(help.NextId());
|
|
|
podetail.pr_id = item.Id;
|
|
|
@@ -3521,16 +3524,14 @@ namespace Business.ResourceExamineManagement
|
|
|
|
|
|
List<long> occoupyRefId = new List<long>();
|
|
|
//物料采购订单明细
|
|
|
- var poDetailList = _srm_po_list.GetListAsync(x => icitemlist.Select(p => p.mysql_id).ToList().Contains(x.icitem_id.Value) && x.bang_id == bangid && x.state == 1 && x.rstate == 1 && !x.IsDeleted).Result;
|
|
|
+ var poDetailList = _srm_po_list.GetListAsync(x => icitemlist.Select(p => p.mysql_id).ToList().Contains(x.icitem_id.Value) && x.bang_id == bangid && x.state == 1 && !x.IsDeleted).Result;
|
|
|
occoupyRefId.AddRange(poDetailList.Select(p => p.Id).ToList());
|
|
|
- var srm_pr_mains = _srm_pr_main.GetListAsync(x => icitemlist.Select(p => p.mysql_id).ToList().Contains(x.icitem_id.Value) && x.bang_id == bangid && x.state != 0 && !x.IsDeleted).Result;
|
|
|
+ var srm_pr_mains = _srm_pr_main.GetListAsync(x => icitemlist.Select(p => p.mysql_id).ToList().Contains(x.icitem_id.Value) && x.bang_id == bangid && x.state != 0 && x.state != 4 && !x.IsDeleted).Result;
|
|
|
occoupyRefId.AddRange(srm_pr_mains.Select(p => p.Id).ToList());
|
|
|
//采购订单或采购申请占用数据
|
|
|
var poOccupys = _srm_po_occupy.GetListAsync(x => occoupyRefId.Contains(x.polist_id) && x.bang_id == bangid && !x.IsDeleted).Result;
|
|
|
#endregion
|
|
|
|
|
|
- //处理一下已经插入得占用记录
|
|
|
-
|
|
|
//物料库存
|
|
|
stocklist.AddRange(_ic_item_stock.GetListAsync(p => p.factory_id == param.factoryId && p.bang_id == bangid && itemIds.Contains(p.icitem_id)).Result);
|
|
|
//物料库存占用表
|
|
|
@@ -3561,7 +3562,7 @@ namespace Business.ResourceExamineManagement
|
|
|
DateTime dt = DateTime.Now;
|
|
|
_CalcBomViewAppService.quarter_starttime = dt.AddMonths(0 - (dt.Month - 1) % 3).AddDays(1 - dt.Day).Date;
|
|
|
_CalcBomViewAppService.quarter_endtime = _CalcBomViewAppService.quarter_starttime.AddMonths(3);
|
|
|
- _CalcBomViewAppService.quarter_srm_pr_mains = srm_pr_mains.Where(s => s.pr_psend_date >= _CalcBomViewAppService.quarter_starttime && s.pr_psend_date < _CalcBomViewAppService.quarter_endtime).ToList();//本季度PR
|
|
|
+ _CalcBomViewAppService.quarter_srm_pr_mains = _srm_pr_main.GetListAsync(s => s.state != 0 && s.pr_psend_date >= _CalcBomViewAppService.quarter_starttime && s.pr_psend_date < _CalcBomViewAppService.quarter_endtime).Result;//本季度PR
|
|
|
}
|
|
|
|
|
|
public void GenerateSort(List<BomChildExamineDto> returnlist)
|
|
|
@@ -4252,13 +4253,13 @@ namespace Business.ResourceExamineManagement
|
|
|
woDetail.Domain = item.factory_id.ToString();
|
|
|
woDetail.WorkOrd = item.morder_no;
|
|
|
woDetail.Op = caleList.Max(f => f.Op);
|
|
|
- woDetail.ItemNum =caleNumber;
|
|
|
+ woDetail.ItemNum = caleNumber;
|
|
|
woDetail.QtyPosted = 0m;
|
|
|
woDetail.QtyReturned = 0m;
|
|
|
woDetail.Status = "";
|
|
|
woDetail.IsActive = true;
|
|
|
woDetail.CreateTime = DateTime.Now;
|
|
|
- woDetail.QtyRequired= caleList.Sum(c => c.needCount.GetValueOrDefault());
|
|
|
+ woDetail.QtyRequired = caleList.Sum(c => c.needCount.GetValueOrDefault());
|
|
|
if (workOrd.QtyOrded != 0)
|
|
|
{
|
|
|
woDetail.FrozenBOMQty = Math.Round(woDetail.QtyRequired / workOrd.QtyOrded, 10);
|