|
|
@@ -129,13 +129,11 @@ namespace Business.ResourceExamineManagement
|
|
|
/// 采购订单表
|
|
|
/// </summary>
|
|
|
private readonly IRepository<mo_srm_po_main, long> _srm_po_main;
|
|
|
- private IRepository<srm_po_main, long> _mysql_srm_po_main;
|
|
|
|
|
|
/// <summary>
|
|
|
/// 采购订单明细表
|
|
|
/// </summary>
|
|
|
private readonly IRepository<mo_srm_po_list, long> _srm_po_list;
|
|
|
- private IRepository<srm_po_list, long> _mysql_srm_po_list;
|
|
|
private readonly IRepository<ReplenishmentWeekPlan, long> _replenishmentWeekPlan;
|
|
|
|
|
|
/// <summary>
|
|
|
@@ -463,8 +461,6 @@ namespace Business.ResourceExamineManagement
|
|
|
IRepository<mes_moentry, long> mysql_mes_moentry,
|
|
|
IRepository<mes_process, long> mysql_mes_process,
|
|
|
IRepository<mes_tech_process, long> mysql_mes_tech_process,
|
|
|
- IRepository<srm_po_main, long> mysql_srm_po_main,
|
|
|
- IRepository<srm_po_list, long> mysql_srm_po_list,
|
|
|
IRepository<srm_po_occupy, long> mysql_srm_po_occupy,
|
|
|
IRepository<srm_purchase, long> mysql_srm_purchase,
|
|
|
IRepository<b_examine_result, long> mysql_examine_result,
|
|
|
@@ -575,8 +571,6 @@ namespace Business.ResourceExamineManagement
|
|
|
_mysql_mes_mooccupy = mysql_mes_mooccupy;
|
|
|
_mysql_mes_morder = mysql_mes_morder;
|
|
|
_mysql_mes_moentry = mysql_mes_moentry;
|
|
|
- _mysql_srm_po_main = mysql_srm_po_main;
|
|
|
- _mysql_srm_po_list = mysql_srm_po_list;
|
|
|
_mysql_srm_po_occupy = mysql_srm_po_occupy;
|
|
|
_mysql_srm_purchase = mysql_srm_purchase;
|
|
|
_mysql_examine_result = mysql_examine_result;
|
|
|
@@ -1669,14 +1663,9 @@ namespace Business.ResourceExamineManagement
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
- if (poaction.poMain.Any())
|
|
|
+ if (poaction.poMasterList.Any())
|
|
|
{
|
|
|
_businessDbContext.UpdateRange(alllist);
|
|
|
- await _businessDbContext.AddRangeAsync(poaction.poMain);
|
|
|
- }
|
|
|
- if (poaction.polist.Any())
|
|
|
- {
|
|
|
- await _businessDbContext.AddRangeAsync(poaction.polist);
|
|
|
}
|
|
|
if (poaction.poOccupiesList.Any())
|
|
|
{
|
|
|
@@ -1793,14 +1782,9 @@ namespace Business.ResourceExamineManagement
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
- if (poaction.poMain.Any())
|
|
|
+ if ( poaction.poMasterList.Any())
|
|
|
{
|
|
|
_businessDbContext.UpdateRange(prlist);
|
|
|
- await _businessDbContext.AddRangeAsync(poaction.poMain);
|
|
|
- }
|
|
|
- if (poaction.polist.Any())
|
|
|
- {
|
|
|
- await _businessDbContext.AddRangeAsync(poaction.polist);
|
|
|
}
|
|
|
if (poaction.poOccupiesList.Any())
|
|
|
{
|
|
|
@@ -2363,28 +2347,73 @@ namespace Business.ResourceExamineManagement
|
|
|
await MongoHelper<mo_mes_mooccupy>.InsertManyAsync(moMes_mooccupy);
|
|
|
}
|
|
|
}
|
|
|
- //根据物料信息,只同步在途未关闭的采购订单和采购申请
|
|
|
+ //根据物料信息,只同步在途未关闭的采购订单和采购申请(主数据来自 PurOrdMaster / PurOrdDetail)
|
|
|
|
|
|
- //采购订单明细
|
|
|
- var srm_po_list = _mysql_srm_po_list.GetListAsync(x => x.company_id == companyId && x.factory_id == factoryId && itemIds.Contains(x.icitem_id.GetValueOrDefault())).Result;
|
|
|
- if (srm_po_list.Count > 0)
|
|
|
+ //采购订单明细 - 通过 ItemNum 关联 ic_item
|
|
|
+ var itemList = _mysql_ic_item.GetListAsync(x => x.factory_id == factoryId && x.company_id == companyId && itemIds.Contains(x.Id)).Result;
|
|
|
+ var itemNumbers = itemList.Select(x => x.number).ToList();
|
|
|
+ var purOrdDetails = _purOrdDetail.Select(x => x.Domain == factoryId.ToString() && itemNumbers.Contains(x.ItemNum)).ToList();
|
|
|
+ if (purOrdDetails.Count > 0)
|
|
|
{
|
|
|
- //采购订单--取出状态为在途的PO
|
|
|
- var srm_po_main = _mysql_srm_po_main.GetListAsync(x => x.company_id == companyId && x.factory_id == factoryId && srm_po_list.Select(c => c.po_id).Contains(x.Id) && x.state != 3).Result;
|
|
|
- if (srm_po_main.Count > 0)
|
|
|
+ var purOrdMasters = _purOrdMaster.Select(x => x.Domain == factoryId.ToString() && purOrdDetails.Select(c => c.PurOrdRecID).Contains(x.RecID) && (x.Status == null || x.Status.ToUpper() != "C")).ToList();
|
|
|
+ if (purOrdMasters.Count > 0)
|
|
|
{
|
|
|
- var moSrm_po_main = ObjectMapper.Map<List<srm_po_main>, List<mo_srm_po_main>>(srm_po_main);
|
|
|
+ var srm_po_main_list = new List<srm_po_main>();
|
|
|
+ foreach (var master in purOrdMasters)
|
|
|
+ {
|
|
|
+ srm_po_main_list.Add(new srm_po_main
|
|
|
+ {
|
|
|
+ po_billno = master.PurOrd,
|
|
|
+ supplier_no = master.Supp,
|
|
|
+ po_ssend_date = master.OrdDate,
|
|
|
+ po_tax_rate = master.Tax1,
|
|
|
+ supplier_type = master.USAGE,
|
|
|
+ currency = master.Curr == "CNY" ? 1 : 0,
|
|
|
+ suppliertelephone = master.CustPhone,
|
|
|
+ supplierdddress = master.CustAddress,
|
|
|
+ state = master.Status == null || master.Status.ToUpper() != "C" ? 1 : 3,
|
|
|
+ factory_id = factoryId,
|
|
|
+ company_id = companyId,
|
|
|
+ tenant_id = companyId
|
|
|
+ });
|
|
|
+ }
|
|
|
+ var moSrm_po_main = ObjectMapper.Map<List<srm_po_main>, List<mo_srm_po_main>>(srm_po_main_list);
|
|
|
moSrm_po_main.ForEach(item => { item.GenerateNewId(help.NextId()); item.bang_id = bangid; item.create_time = DateTime.Now; });
|
|
|
await MongoHelper<mo_srm_po_main>.InsertManyAsync(moSrm_po_main);
|
|
|
|
|
|
- //订单明细--根据在途PO过滤出有效的Po_list
|
|
|
- srm_po_list = srm_po_list.Where(s => srm_po_main.Select(x => x.Id).Contains(s.po_id.GetValueOrDefault())).ToList();
|
|
|
- var moSrm_po_list = ObjectMapper.Map<List<srm_po_list>, List<mo_srm_po_list>>(srm_po_list);
|
|
|
+ purOrdDetails = purOrdDetails.Where(s => purOrdMasters.Select(x => x.RecID).Contains(s.PurOrdRecID)).ToList();
|
|
|
+ var srm_po_list_data = new List<srm_po_list>();
|
|
|
+ foreach (var detail in purOrdDetails)
|
|
|
+ {
|
|
|
+ var icitem = itemList.Find(a => a.number == detail.ItemNum);
|
|
|
+ srm_po_list_data.Add(new srm_po_list
|
|
|
+ {
|
|
|
+ po_id = detail.PurOrdRecID,
|
|
|
+ po_billno = detail.PurOrd,
|
|
|
+ polist_row = detail.Line,
|
|
|
+ ItemNum = detail.ItemNum,
|
|
|
+ qty = detail.QtyOrded,
|
|
|
+ plan_qty = detail.QtyOrded,
|
|
|
+ rqty = detail.RctQty,
|
|
|
+ rarrdate = detail.DueDate,
|
|
|
+ price = detail.PurCost.GetValueOrDefault(),
|
|
|
+ netprice = detail.PurCost.GetValueOrDefault(),
|
|
|
+ total_price = detail.QtyOrded * detail.PurCost.GetValueOrDefault(),
|
|
|
+ netmoney = detail.QtyOrded * detail.PurCost.GetValueOrDefault(),
|
|
|
+ rate = detail.TaxRate,
|
|
|
+ state = detail.Status == null || detail.Status.ToUpper() != "C" ? 1 : 0,
|
|
|
+ pr_billno = detail.Req,
|
|
|
+ icitem_id = icitem?.Id,
|
|
|
+ factory_id = factoryId,
|
|
|
+ company_id = companyId,
|
|
|
+ tenant_id = companyId
|
|
|
+ });
|
|
|
+ }
|
|
|
+ var moSrm_po_list = ObjectMapper.Map<List<srm_po_list>, List<mo_srm_po_list>>(srm_po_list_data);
|
|
|
moSrm_po_list.ForEach(item => { item.GenerateNewId(help.NextId()); item.bang_id = bangid; item.create_time = DateTime.Now; });
|
|
|
await MongoHelper<mo_srm_po_list>.InsertManyAsync(moSrm_po_list);
|
|
|
}
|
|
|
- //采购订单明细占用详情
|
|
|
- var srm_po_occupy = _mysql_srm_po_occupy.GetListAsync(x => x.company_id == companyId && x.factory_id == factoryId && srm_po_list.Select(c => c.Id).Contains(x.polist_id.GetValueOrDefault())).Result;
|
|
|
+ var srm_po_occupy = _mysql_srm_po_occupy.GetListAsync(x => x.company_id == companyId && x.factory_id == factoryId && purOrdDetails.Select(c => (long)c.RecID).Contains(x.polist_id.GetValueOrDefault())).Result;
|
|
|
if (srm_po_occupy.Count > 0)
|
|
|
{
|
|
|
var moSrm_po_occupy = ObjectMapper.Map<List<srm_po_occupy>, List<mo_srm_po_occupy>>(srm_po_occupy);
|
|
|
@@ -2728,9 +2757,6 @@ namespace Business.ResourceExamineManagement
|
|
|
row++;
|
|
|
});
|
|
|
}
|
|
|
- poaction.poMain.AddRange(polist);
|
|
|
- poaction.polist.AddRange(podetaillist);
|
|
|
-
|
|
|
var nbrlistDto = _serialNumberAppService.GetBillNo(domain, "DO", polist.Count, "admin", 1);
|
|
|
int index = 0;
|
|
|
foreach (var p in polist)
|
|
|
@@ -4949,23 +4975,23 @@ namespace Business.ResourceExamineManagement
|
|
|
leadTimeList = GetLeadTime(icitemlist, param.company_id, param.factoryId);//提前期列表
|
|
|
supplierList = GetSupplier(itemIds, param.company_id, param.factoryId);//供应商列表
|
|
|
|
|
|
- //交期回复
|
|
|
- var sql = $"SELECT b.id AS polist_id,b.po_id,a.id,a.wlbm,a.cgdd, a.ddhh, IF(a.jhdsl > c.QtyOrded, c.QtyOrded, a.jhdsl) AS jhdsl, DATE(a.jqhf) AS jqhf,a.flag,a.gysdm,b.pr_purchase_id " +
|
|
|
+ //交期回复(采购行来自 PurOrdDetail,对应原 srm_po_list)
|
|
|
+ var sql = $"SELECT c.RecID AS polist_id, c.PurOrdRecID AS po_id, a.id, a.wlbm, a.cgdd, a.ddhh, IF(a.jhdsl > c.QtyOrded, c.QtyOrded, a.jhdsl) AS jhdsl, DATE(a.jqhf) AS jqhf, a.flag, a.gysdm, CAST(0 AS SIGNED) AS pr_purchase_id " +
|
|
|
$"FROM (SELECT wlbm,cgdd,ddhh, flag, gysdm,SUM(CAST(IFNULL(jhdsl, 0) AS DECIMAL(18,8))) AS jhdsl,MAX(DATE(jqhf)) AS jqhf, MAX(id) AS id FROM scm_jhjh_jq WHERE flag = 0 OR (flag = 2 AND DATEDIFF(CURDATE(), IFNULL(DATE(jqhf), CURDATE())) >= 1) GROUP BY wlbm, cgdd, ddhh, flag, gysdm) a " +
|
|
|
- $"INNER JOIN srm_po_list b ON a.cgdd = b.po_billno AND a.ddhh = b.polist_row INNER JOIN PurOrdDetail c ON b.po_billno = c.PurOrd AND b.polist_row = c.Line WHERE c.status != 'C' AND c.QtyOrded > c.RctQty;";
|
|
|
+ $"INNER JOIN PurOrdDetail c ON a.cgdd = c.PurOrd AND a.ddhh = c.Line WHERE (c.Status IS NULL OR UPPER(c.Status) <> 'C') AND c.QtyOrded > c.RctQty;";
|
|
|
_CalcBomViewAppService.scm_Jhjh_Jqs = _businessDbContext.scm_jhjh_jqDto.FromSqlRaw(sql).ToList();
|
|
|
//送货单子表所有未完成的数据,并且排除检验中数量
|
|
|
- sql = $"SELECT b.id,b.po_billline,b.jhdbh,IFNULL(a.shzt, '待收') AS shzt,b.jhdhh,b.sh_material_code,b.sh_material_name, b.po_bill, b.sh_delivery_quantity - IFNULL(m.qty, 0) AS sh_delivery_quantity, a.sh_purchase_num, c.id AS sh_purchase_id,DATE(a.jhshrq) AS jhshrq,DATE(a.yjdhrq) AS yjdhrq,d.id AS polist_id FROM scm_shd a " +
|
|
|
- $"INNER JOIN scm_shdzb b ON a.id = b.glid INNER JOIN srm_po_list d ON b.sh_material_code = d.ItemNum AND b.po_bill = d.po_billno AND b.po_billline = d.polist_row AND d.state = 1 LEFT JOIN srm_po_main e ON d.po_id = e.id LEFT JOIN srm_supplier c ON a.sh_purchase_num = c.supplier_no " +
|
|
|
+ sql = $"SELECT b.id,b.po_billline,b.jhdbh,IFNULL(a.shzt, '待收') AS shzt,b.jhdhh,b.sh_material_code,b.sh_material_name, b.po_bill, b.sh_delivery_quantity - IFNULL(m.qty, 0) AS sh_delivery_quantity, a.sh_purchase_num, c.id AS sh_purchase_id,DATE(a.jhshrq) AS jhshrq,DATE(a.yjdhrq) AS yjdhrq,d.RecID AS polist_id FROM scm_shd a " +
|
|
|
+ $"INNER JOIN scm_shdzb b ON a.id = b.glid INNER JOIN PurOrdDetail d ON b.sh_material_code = d.ItemNum AND b.po_bill = d.PurOrd AND CAST(b.po_billline AS SIGNED) = d.Line AND (d.Status IS NULL OR UPPER(d.Status) <> 'C') LEFT JOIN PurOrdMaster e ON d.PurOrdRecID = e.RecID LEFT JOIN srm_supplier c ON a.sh_purchase_num = c.supplier_no " +
|
|
|
$"LEFT JOIN (SELECT PurOrd,PurLine,ShipperNbr,ShipperLine, SUM(qty) AS qty FROM MissedPrint WHERE Status = 'I' GROUP BY PurOrd, PurLine, ShipperNbr, ShipperLine) m ON b.po_bill = m.PurOrd AND b.po_billline = m.PurLine AND m.ShipperNbr = a.shddh AND m.ShipperLine = b.hh " +
|
|
|
- $"WHERE b.jhdbh != '' AND e.state != '3' AND IFNULL(a.shzt, '待收') != '完成' AND (IFNULL(m.qty, 0) = 0 OR IFNULL(m.qty, 0) < b.sh_delivery_quantity);";
|
|
|
+ $"WHERE b.jhdbh != '' AND (e.Status IS NULL OR UPPER(IFNULL(e.Status,'')) <> 'C') AND IFNULL(a.shzt, '待收') != '完成' AND (IFNULL(m.qty, 0) = 0 OR IFNULL(m.qty, 0) < b.sh_delivery_quantity);";
|
|
|
_CalcBomViewAppService.scm_Shdzbs = _businessDbContext.scm_shdzbDto.FromSqlRaw(sql).ToList();
|
|
|
|
|
|
//送货单子表所有待检验数据
|
|
|
- sql = $"SELECT b.id,b.po_billline,b.jhdbh,IFNULL(a.shzt, '待收') AS shzt,b.jhdhh,b.sh_material_code,b.sh_material_name, b.po_bill,IFNULL(m.qty, 0) AS sh_delivery_quantity,a.sh_purchase_num,c.id AS sh_purchase_id, DATE(a.jhshrq) AS jhshrq,DATE(a.yjdhrq) AS yjdhrq,d.id AS polist_id FROM scm_shd a " +
|
|
|
- $"INNER JOIN scm_shdzb b ON a.id = b.glid INNER JOIN srm_po_list d ON b.sh_material_code = d.ItemNum AND b.po_bill = d.po_billno AND b.po_billline = d.polist_row AND d.state = 1 LEFT JOIN srm_po_main e ON d.po_id = e.id LEFT JOIN srm_supplier c ON a.sh_purchase_num = c.supplier_no " +
|
|
|
+ sql = $"SELECT b.id,b.po_billline,b.jhdbh,IFNULL(a.shzt, '待收') AS shzt,b.jhdhh,b.sh_material_code,b.sh_material_name, b.po_bill,IFNULL(m.qty, 0) AS sh_delivery_quantity,a.sh_purchase_num,c.id AS sh_purchase_id, DATE(a.jhshrq) AS jhshrq,DATE(a.yjdhrq) AS yjdhrq,d.RecID AS polist_id FROM scm_shd a " +
|
|
|
+ $"INNER JOIN scm_shdzb b ON a.id = b.glid INNER JOIN PurOrdDetail d ON b.sh_material_code = d.ItemNum AND b.po_bill = d.PurOrd AND CAST(b.po_billline AS SIGNED) = d.Line AND (d.Status IS NULL OR UPPER(d.Status) <> 'C') LEFT JOIN PurOrdMaster e ON d.PurOrdRecID = e.RecID LEFT JOIN srm_supplier c ON a.sh_purchase_num = c.supplier_no " +
|
|
|
$"LEFT JOIN (SELECT PurOrd,PurLine,ShipperNbr,ShipperLine,SUM(qty) AS qty FROM MissedPrint WHERE Status = 'I' GROUP BY PurOrd, PurLine, ShipperNbr, ShipperLine) m ON b.po_bill = m.PurOrd AND b.po_billline = m.PurLine AND m.ShipperNbr = a.shddh AND m.ShipperLine = b.hh " +
|
|
|
- $"WHERE b.jhdbh != '' AND IFNULL(m.qty, 0) >= b.sh_delivery_quantity AND IFNULL(m.qty, 0) != 0 AND e.state != '3';";
|
|
|
+ $"WHERE b.jhdbh != '' AND IFNULL(m.qty, 0) >= b.sh_delivery_quantity AND IFNULL(m.qty, 0) != 0 AND (e.Status IS NULL OR UPPER(IFNULL(e.Status,'')) <> 'C');";
|
|
|
_CalcBomViewAppService.scm_ShdzbJYs = _businessDbContext.scm_shdzbDto.FromSqlRaw(sql).ToList();
|
|
|
|
|
|
|
|
|
@@ -5050,31 +5076,30 @@ namespace Business.ResourceExamineManagement
|
|
|
leadTimeList = GetLeadTime(icitemlist, param.company_id, param.factoryId);//提前期列表
|
|
|
supplierList = GetSupplier(itemIds, param.company_id, param.factoryId);//供应商列表
|
|
|
|
|
|
- //交期回复
|
|
|
- var sql = $"SELECT b.id AS polist_id,b.po_id,a.id,a.wlbm,a.cgdd,a.ddhh,IF(a.jhdsl > c.QtyOrded, c.QtyOrded, a.jhdsl) AS jhdsl, DATE(a.jqhf) AS jqhf,a.flag,a.gysdm,b.pr_purchase_id " +
|
|
|
+ //交期回复(采购行来自 PurOrdDetail)
|
|
|
+ var sql = $"SELECT c.RecID AS polist_id, c.PurOrdRecID AS po_id, a.id, a.wlbm, a.cgdd, a.ddhh, IF(a.jhdsl > c.QtyOrded, c.QtyOrded, a.jhdsl) AS jhdsl, DATE(a.jqhf) AS jqhf, a.flag, a.gysdm, CAST(0 AS SIGNED) AS pr_purchase_id " +
|
|
|
$"FROM (SELECT wlbm,cgdd,ddhh,flag,gysdm,SUM(CAST(IFNULL(jhdsl, 0) AS DECIMAL(18,8))) AS jhdsl,MAX(DATE(jqhf)) AS jqhf, MAX(id) AS id " +
|
|
|
$"FROM scm_jhjh_jq WHERE flag = 0 OR (flag = 2 AND DATEDIFF(CURDATE(), IFNULL(DATE(jqhf), CURDATE())) >= 1) GROUP BY wlbm, cgdd, ddhh, flag, gysdm) a " +
|
|
|
- $"INNER JOIN srm_po_list b ON a.cgdd = b.po_billno AND a.ddhh = b.polist_row " +
|
|
|
- $"INNER JOIN PurOrdDetail c ON b.po_billno = c.PurOrd AND b.polist_row = c.Line " +
|
|
|
- $"WHERE c.status != 'C' AND c.QtyOrded > c.RctQty ";
|
|
|
+ $"INNER JOIN PurOrdDetail c ON a.cgdd = c.PurOrd AND a.ddhh = c.Line " +
|
|
|
+ $"WHERE (c.Status IS NULL OR UPPER(c.Status) <> 'C') AND c.QtyOrded > c.RctQty ";
|
|
|
_CalcBomViewAppService.scm_Jhjh_Jqs = _businessDbContext.scm_jhjh_jqDto.FromSqlRaw(sql).ToList();
|
|
|
//送货单子表所有未完成的数据,并且排除检验中数量
|
|
|
- sql = $"SELECT b.id,po_billline,jhdbh,IFNULL(a.shzt, '待收') AS shzt,jhdhh, b.sh_material_code, b.sh_material_name, b.po_bill, b.sh_delivery_quantity - IFNULL(m.qty, 0) AS sh_delivery_quantity,a.sh_purchase_num,c.id AS sh_purchase_id,DATE(a.jhshrq) AS jhshrq,DATE(a.yjdhrq) AS yjdhrq, d.id AS polist_id " +
|
|
|
+ sql = $"SELECT b.id,po_billline,jhdbh,IFNULL(a.shzt, '待收') AS shzt,jhdhh, b.sh_material_code, b.sh_material_name, b.po_bill, b.sh_delivery_quantity - IFNULL(m.qty, 0) AS sh_delivery_quantity,a.sh_purchase_num,c.id AS sh_purchase_id,DATE(a.jhshrq) AS jhshrq,DATE(a.yjdhrq) AS yjdhrq, d.RecID AS polist_id " +
|
|
|
$"FROM scm_shd a INNER JOIN scm_shdzb b ON a.id = b.glid " +
|
|
|
- $"INNER JOIN srm_po_list d ON b.sh_material_code = d.ItemNum AND b.po_bill = d.po_billno AND b.po_billline = d.polist_row AND d.state = 1 " +
|
|
|
- $"LEFT JOIN srm_po_main e ON d.po_id = e.id " +
|
|
|
+ $"INNER JOIN PurOrdDetail d ON b.sh_material_code = d.ItemNum AND b.po_bill = d.PurOrd AND CAST(b.po_billline AS SIGNED) = d.Line AND (d.Status IS NULL OR UPPER(d.Status) <> 'C') " +
|
|
|
+ $"LEFT JOIN PurOrdMaster e ON d.PurOrdRecID = e.RecID " +
|
|
|
$"LEFT JOIN srm_supplier c ON a.sh_purchase_num = c.supplier_no " +
|
|
|
$"LEFT JOIN (SELECT PurOrd, PurLine, ShipperNbr,ShipperLine, SUM(qty) AS qty FROM MissedPrint WHERE Status = 'I' GROUP BY PurOrd, PurLine, ShipperNbr, ShipperLine) m " +
|
|
|
- $"ON b.po_bill = m.PurOrd AND b.po_billline = m.PurLine AND m.ShipperNbr = a.shddh AND m.ShipperLine = b.hh WHERE jhdbh != '' AND e.state <> '3' AND IFNULL(a.shzt, '待收') != '完成' AND (IFNULL(m.qty, 0) = 0 OR IFNULL(m.qty, 0) < b.sh_delivery_quantity)";
|
|
|
+ $"ON b.po_bill = m.PurOrd AND b.po_billline = m.PurLine AND m.ShipperNbr = a.shddh AND m.ShipperLine = b.hh WHERE jhdbh != '' AND (e.Status IS NULL OR UPPER(IFNULL(e.Status,'')) <> 'C') AND IFNULL(a.shzt, '待收') != '完成' AND (IFNULL(m.qty, 0) = 0 OR IFNULL(m.qty, 0) < b.sh_delivery_quantity)";
|
|
|
_CalcBomViewAppService.scm_Shdzbs = _businessDbContext.scm_shdzbDto.FromSqlRaw(sql).ToList();
|
|
|
|
|
|
//送货单子表所有待检验数据
|
|
|
- sql = $"SELECT b.id,po_billline,jhdbh, IFNULL(a.shzt, '待收') AS shzt,jhdhh, b.sh_material_code, b.sh_material_name, b.po_bill,IFNULL(m.qty, 0) AS sh_delivery_quantity, a.sh_purchase_num,c.id AS sh_purchase_id, DATE(a.jhshrq) AS jhshrq, DATE(a.yjdhrq) AS yjdhrq,d.id AS polist_id FROM scm_shd a INNER JOIN scm_shdzb b ON a.id = b.glid " +
|
|
|
- $"INNER JOIN srm_po_list d ON b.sh_material_code = d.ItemNum AND b.po_bill = d.po_billno AND b.po_billline = d.polist_row AND d.state = 1 " +
|
|
|
- $"LEFT JOIN srm_po_main e ON d.po_id = e.id " +
|
|
|
+ sql = $"SELECT b.id,po_billline,jhdbh, IFNULL(a.shzt, '待收') AS shzt,jhdhh, b.sh_material_code, b.sh_material_name, b.po_bill,IFNULL(m.qty, 0) AS sh_delivery_quantity, a.sh_purchase_num,c.id AS sh_purchase_id, DATE(a.jhshrq) AS jhshrq, DATE(a.yjdhrq) AS yjdhrq,d.RecID AS polist_id FROM scm_shd a INNER JOIN scm_shdzb b ON a.id = b.glid " +
|
|
|
+ $"INNER JOIN PurOrdDetail d ON b.sh_material_code = d.ItemNum AND b.po_bill = d.PurOrd AND CAST(b.po_billline AS SIGNED) = d.Line AND (d.Status IS NULL OR UPPER(d.Status) <> 'C') " +
|
|
|
+ $"LEFT JOIN PurOrdMaster e ON d.PurOrdRecID = e.RecID " +
|
|
|
$"LEFT JOIN srm_supplier c ON a.sh_purchase_num = c.supplier_no " +
|
|
|
$"LEFT JOIN (SELECT PurOrd, PurLine, ShipperNbr, ShipperLine, SUM(qty) AS qty FROM MissedPrint WHERE Status = 'I' GROUP BY PurOrd, PurLine, ShipperNbr, ShipperLine) m ON b.po_bill = m.PurOrd AND b.po_billline = m.PurLine AND m.ShipperNbr = a.shddh AND m.ShipperLine = b.hh " +
|
|
|
- $"WHERE jhdbh != '' AND IFNULL(m.qty, 0) >= b.sh_delivery_quantity AND IFNULL(m.qty, 0) <> 0 AND e.state <> '3'";
|
|
|
+ $"WHERE jhdbh != '' AND IFNULL(m.qty, 0) >= b.sh_delivery_quantity AND IFNULL(m.qty, 0) <> 0 AND (e.Status IS NULL OR UPPER(IFNULL(e.Status,'')) <> 'C')";
|
|
|
_CalcBomViewAppService.scm_ShdzbJYs = _businessDbContext.scm_shdzbDto.FromSqlRaw(sql).ToList();
|
|
|
|
|
|
|