|
@@ -6317,7 +6317,7 @@ namespace Business.Replenishment
|
|
|
//获取已发布且净需求数量大于0的交货计划数据
|
|
//获取已发布且净需求数量大于0的交货计划数据
|
|
|
var demandplans = _icdemandschedule.GetListAsync(p=>p.factory_id.ToString() == domain && p.status.ToUpper() == "P" && p.tosechedqty > 0 && !p.IsDeleted).Result;
|
|
var demandplans = _icdemandschedule.GetListAsync(p=>p.factory_id.ToString() == domain && p.status.ToUpper() == "P" && p.tosechedqty > 0 && !p.IsDeleted).Result;
|
|
|
//获取已以生成交货单的交货计划
|
|
//获取已以生成交货单的交货计划
|
|
|
- var alreadys = _srmpolistds.Select(p => p.domain == domain && demandplans.Select(m => m.Id).Contains(p.icdsid)).ToList();
|
|
|
|
|
|
|
+ var alreadys = _srmpolistds.Select(p => p.domain == domain && demandplans.Select(m => m.Id).Contains(p.icdsid) && p.isactive == 1).ToList();
|
|
|
if (alreadys.Any())
|
|
if (alreadys.Any())
|
|
|
{
|
|
{
|
|
|
//交货计划存在已发布或者已关闭状态的交货单
|
|
//交货计划存在已发布或者已关闭状态的交货单
|
|
@@ -6326,8 +6326,9 @@ namespace Business.Replenishment
|
|
|
var wfbDs = alreadys.Where(p => !yfbIds.Contains(p.icdsid)).ToList();
|
|
var wfbDs = alreadys.Where(p => !yfbIds.Contains(p.icdsid)).ToList();
|
|
|
if (wfbDs.Any())
|
|
if (wfbDs.Any())
|
|
|
{
|
|
{
|
|
|
|
|
+ wfbDs.ForEach(p => p.isactive = 0);
|
|
|
//删除未发布的交货单
|
|
//删除未发布的交货单
|
|
|
- _srmpolistds.Delete(wfbDs);
|
|
|
|
|
|
|
+ _srmpolistds.Update(wfbDs);
|
|
|
}
|
|
}
|
|
|
//过滤掉存在已发布或者已关闭交货单的交货计划
|
|
//过滤掉存在已发布或者已关闭交货单的交货计划
|
|
|
demandplans = demandplans.Where(p => !yfbIds.Contains(p.Id)).ToList();
|
|
demandplans = demandplans.Where(p => !yfbIds.Contains(p.Id)).ToList();
|
|
@@ -6355,7 +6356,7 @@ namespace Business.Replenishment
|
|
|
//获取采购单数据
|
|
//获取采购单数据
|
|
|
List<PurOrdMaster> purOrdMasters = _PurOrdMaster.Select(p => p.Domain == domain && purOrdDetails.Select(m => m.PurOrd).Distinct().Contains(p.PurOrd)).ToList();
|
|
List<PurOrdMaster> purOrdMasters = _PurOrdMaster.Select(p => p.Domain == domain && purOrdDetails.Select(m => m.PurOrd).Distinct().Contains(p.PurOrd)).ToList();
|
|
|
//获取占用可用PO明细的交货单
|
|
//获取占用可用PO明细的交货单
|
|
|
- List<srm_polist_ds> dbPolistds = _srmpolistds.Select(p => purOrdDetails.Select(m => m.PurOrd).Contains(p.ponumber)).ToList();
|
|
|
|
|
|
|
+ List<srm_polist_ds> dbPolistds = _srmpolistds.Select(p => purOrdDetails.Select(m => m.PurOrd).Contains(p.ponumber) && p.isactive == 1).ToList();
|
|
|
|
|
|
|
|
//生成交货单
|
|
//生成交货单
|
|
|
srm_polist_ds entity;
|
|
srm_polist_ds entity;
|
|
@@ -6599,6 +6600,7 @@ namespace Business.Replenishment
|
|
|
entity.createtime = DateTime.Now;
|
|
entity.createtime = DateTime.Now;
|
|
|
entity.createuser = user;
|
|
entity.createuser = user;
|
|
|
entity.remarks = "";
|
|
entity.remarks = "";
|
|
|
|
|
+ entity.isactive = 1;
|
|
|
curInserts.Add(entity);
|
|
curInserts.Add(entity);
|
|
|
|
|
|
|
|
//当前交货计划已分配数量累加
|
|
//当前交货计划已分配数量累加
|
|
@@ -6610,7 +6612,7 @@ namespace Business.Replenishment
|
|
|
//标志位为true,则当前交货计划无法转交货单
|
|
//标志位为true,则当前交货计划无法转交货单
|
|
|
if (flag)
|
|
if (flag)
|
|
|
{
|
|
{
|
|
|
- break;
|
|
|
|
|
|
|
+ continue;
|
|
|
}
|
|
}
|
|
|
inserts.AddRange(curInserts);
|
|
inserts.AddRange(curInserts);
|
|
|
}
|
|
}
|
|
@@ -6619,7 +6621,7 @@ namespace Business.Replenishment
|
|
|
{
|
|
{
|
|
|
//获取交货单号
|
|
//获取交货单号
|
|
|
List<string> GenerateMoList = new List<string>();
|
|
List<string> GenerateMoList = new List<string>();
|
|
|
- var nbrlist = _serialNumberAppService.GetBillNo(domain, "D8", inserts.Count, "", 1);
|
|
|
|
|
|
|
+ var nbrlist = _serialNumberAppService.GetBillNo(domain, "M8", inserts.Count, "", 1);
|
|
|
if (!nbrlist.Any() || nbrlist.Count != inserts.Count)
|
|
if (!nbrlist.Any() || nbrlist.Count != inserts.Count)
|
|
|
{
|
|
{
|
|
|
Msg = "NO|交货单号生成失败";
|
|
Msg = "NO|交货单号生成失败";
|