|
@@ -6381,8 +6381,9 @@ namespace Business.Replenishment
|
|
|
Msg = "NO|没有可用的货源清单";
|
|
Msg = "NO|没有可用的货源清单";
|
|
|
return Msg;
|
|
return Msg;
|
|
|
}
|
|
}
|
|
|
- //获取采购明细数据:未关闭,且未交货数量(需求数量-已收数量)>0
|
|
|
|
|
- List<PurOrdDetail> purOrdDetails = _PurOrdDetail.Select(p => p.Domain == domain && itemnums.Contains(p.ItemNum) && p.Status.ToUpper() != "C" && (p.QtyOrded - p.RctQty)>0).OrderBy(p=>p.DueDate).ToList();
|
|
|
|
|
|
|
+ //获取采购明细数据:未关闭,且未交货数量(需求数量-已收数量)>0,且日期小于2024-01-01
|
|
|
|
|
+ DateTime endTime = Convert.ToDateTime("2024-01-01 00:00:00.000");
|
|
|
|
|
+ List<PurOrdDetail> purOrdDetails = _PurOrdDetail.Select(p => p.Domain == domain && p.CreateTime >= endTime && itemnums.Contains(p.ItemNum) && p.Status.ToUpper() != "C" && (p.QtyOrded - p.RctQty) > 0).OrderBy(p => p.DueDate).ToList();
|
|
|
if (!purOrdDetails.Any())
|
|
if (!purOrdDetails.Any())
|
|
|
{
|
|
{
|
|
|
Msg = "NO|没有可用的采购单";
|
|
Msg = "NO|没有可用的采购单";
|
|
@@ -6522,7 +6523,7 @@ namespace Business.Replenishment
|
|
|
info.Icdsid = item.Id;
|
|
info.Icdsid = item.Id;
|
|
|
info.ItemNum = item.itemnum;
|
|
info.ItemNum = item.itemnum;
|
|
|
info.CreateTime = DateTime.Now;
|
|
info.CreateTime = DateTime.Now;
|
|
|
- info.Remark = "物料[" + item.itemnum + "]对应供应商["+ pch.supplier_name + "]没有可用采购明细,无法转交货单";
|
|
|
|
|
|
|
+ info.Remark = "交货计划[" + item.itemnum + ":" + item.requestdate.ToString("yyyy-MM-dd") + "]对应供应商[" + pch.supplier_name + "]没有可用采购明细,无法转交货单";
|
|
|
info.OptTime = optime;
|
|
info.OptTime = optime;
|
|
|
exceptions.Add(info);
|
|
exceptions.Add(info);
|
|
|
|
|
|
|
@@ -6562,7 +6563,7 @@ namespace Business.Replenishment
|
|
|
info.Icdsid = item.Id;
|
|
info.Icdsid = item.Id;
|
|
|
info.ItemNum = item.itemnum;
|
|
info.ItemNum = item.itemnum;
|
|
|
info.CreateTime = DateTime.Now;
|
|
info.CreateTime = DateTime.Now;
|
|
|
- info.Remark = "物料[" + item.itemnum + "]对应供应商[" + pch.supplier_name + "]采购明细可用数量不足,无法转交货单";
|
|
|
|
|
|
|
+ info.Remark = "交货计划[" + item.itemnum + ":" + item.requestdate.ToString("yyyy-MM-dd") + "]对应供应商[" + pch.supplier_name + "]采购明细可用数量不足,无法转交货单";
|
|
|
info.OptTime = optime;
|
|
info.OptTime = optime;
|
|
|
exceptions.Add(info);
|
|
exceptions.Add(info);
|
|
|
|
|
|
|
@@ -6570,67 +6571,6 @@ namespace Business.Replenishment
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- //如果当前供应商为要货令,则查找对应的要货令,直接转成交货单
|
|
|
|
|
- if (pch.IsRequireGoods == 1)
|
|
|
|
|
- {
|
|
|
|
|
- DateTime startDay = item.requestdate.AddDays(-10);
|
|
|
|
|
- DateTime endDay = item.requestdate.AddDays(-4);
|
|
|
|
|
- //获取对应要货令数据
|
|
|
|
|
- var yhlDtls = pchPurDtls.Where(p=> p.PurOrd.StartsWith("DO") && (p.QtyOrded - p.RctQty) == needQty && p.DueDate >= startDay && p.DueDate <= endDay).ToList();
|
|
|
|
|
- if (yhlDtls.Any())
|
|
|
|
|
- {
|
|
|
|
|
- foreach (var yhl in yhlDtls)
|
|
|
|
|
- {
|
|
|
|
|
- //生成实体
|
|
|
|
|
- entity = new srm_polist_ds();
|
|
|
|
|
- entity.Id = help.NextId();
|
|
|
|
|
- entity.domain = domain;
|
|
|
|
|
- entity.icdsid = item.Id;
|
|
|
|
|
- //交货单号最后一次性生成
|
|
|
|
|
- entity.dsnum = "";
|
|
|
|
|
- entity.status = "N";
|
|
|
|
|
- entity.itemnum = item.itemnum;
|
|
|
|
|
- entity.um = "";
|
|
|
|
|
- entity.purgroup = "";
|
|
|
|
|
- entity.suppliercode = pch.supplier_number;
|
|
|
|
|
- entity.supplier = pch.supplier_name;
|
|
|
|
|
- entity.requestdate = item.arrivaldate;
|
|
|
|
|
- entity.needdate = item.requestdate;
|
|
|
|
|
- entity.ponumber = yhl.PurOrd;
|
|
|
|
|
- entity.poline = yhl.Line;
|
|
|
|
|
- entity.schedqty = needQty;
|
|
|
|
|
- entity.lastsentqty = 0m;
|
|
|
|
|
- entity.sentqty = 0m;
|
|
|
|
|
- entity.restqty = needQty;
|
|
|
|
|
- entity.createtime = DateTime.Now;
|
|
|
|
|
- entity.createuser = user;
|
|
|
|
|
- entity.remarks = "";
|
|
|
|
|
- entity.isactive = 1;
|
|
|
|
|
- curInserts.Add(entity);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- //当前交货计划已分配数量累加
|
|
|
|
|
- allQty += needQty;
|
|
|
|
|
- //当前供应商已分配数量累加
|
|
|
|
|
- sumNeedQty += needQty;
|
|
|
|
|
- continue;
|
|
|
|
|
- }
|
|
|
|
|
- else {
|
|
|
|
|
- //当前供应商可用采购单明细不足,则当前交货计划无法转交货单
|
|
|
|
|
- info = new DeliveryExceptionMaster();
|
|
|
|
|
- info.Domain = domain;
|
|
|
|
|
- info.Icdsid = item.Id;
|
|
|
|
|
- info.ItemNum = item.itemnum;
|
|
|
|
|
- info.CreateTime = DateTime.Now;
|
|
|
|
|
- info.Remark = "物料[" + item.itemnum + "]对应供应商[" + pch.supplier_name + "]要货令明细可用数量不足,无法转交货单";
|
|
|
|
|
- info.OptTime = optime;
|
|
|
|
|
- exceptions.Add(info);
|
|
|
|
|
-
|
|
|
|
|
- flag = true;
|
|
|
|
|
- break;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
foreach (var pud in pchPurDtls)
|
|
foreach (var pud in pchPurDtls)
|
|
|
{
|
|
{
|
|
|
if (sumNeedQty >= needQty)
|
|
if (sumNeedQty >= needQty)
|