打印物料编码规则变更

This commit is contained in:
2024-08-28 17:23:39 +08:00
parent 68f4b5c5af
commit 8d3120f578
6 changed files with 145 additions and 15 deletions

View File

@@ -567,6 +567,25 @@ namespace Tnb.WarehouseMgr
}
await db.Ado.BeginTranAsync();
// 判断是否为重复传输
WmsOutsourceOrderH wmsOutsourceOrderHRep = await db.Queryable<WmsOutsourceOrderH>().Where(r => r.erp_pk == input.erp_pk).FirstAsync();
if (wmsOutsourceOrderHRep != null)
{
// 判断是否已经下发
WmsOutsourceH wmsOutsourceH = await db.Queryable<WmsOutsourceH>().Where(r => r.outsource_order == wmsOutsourceOrderHRep.outsource_order).FirstAsync();
if (wmsOutsourceH != null)
{
_LoggerErp2Mes.LogWarning($@"【OutsourceOrder】wms已创建收货单{wmsOutsourceH.outsource_order}");
throw new AppFriendlyException($@"wms已创建收货单{wmsOutsourceH.outsource_order}", 500);
}
else // 删除数据重新插入
{
await db.Deleteable<WmsOutsourceOrderH>().Where(r => r.id == wmsOutsourceOrderHRep.id).ExecuteCommandAsync();
await db.Deleteable<WmsOutsourceOrderD>().Where(r => r.fk_wms_outsource_order_id == wmsOutsourceOrderHRep.id).ExecuteCommandAsync();
}
}
WmsOutsourceOrderH wmsOutsourceOrderH = new WmsOutsourceOrderH();
string Code = await _billRuleService.GetBillNumber("WmsOutsourceOrder");
@@ -751,6 +770,25 @@ namespace Tnb.WarehouseMgr
await db.Ado.BeginTranAsync();
// 判断是否重复传输
WmsMaterialTransfer wmsMaterialTransferRep = await db.Queryable<WmsMaterialTransfer>().Where(r => r.erp_pk == input.erp_pk).FirstAsync();
if (wmsMaterialTransferRep != null)
{
// 判断单据是否已经下发
List<WmsMaterialTransferD> _wmsMaterialTransferDs = await db.Queryable<WmsMaterialTransferD>().Where(r => r.bill_id == wmsMaterialTransferRep.id).ToListAsync();
bool isxf = _wmsMaterialTransferDs.Where(r => r.yxfqty > 0).Any();
if (isxf)
{
_LoggerErp2Mes.LogWarning($@"【TransferOutstock】wms已下发使用转库单{input.bill_code}");
throw new AppFriendlyException($@"wms已下发使用转库单{input.bill_code}", 500);
}
else // 删除数据重新插入
{
await db.Deleteable<WmsMaterialTransfer>().Where(r => r.id == wmsMaterialTransferRep.id).ExecuteCommandAsync();
await db.Deleteable<WmsMaterialTransferD>().Where(r => r.bill_id == wmsMaterialTransferRep.id).ExecuteCommandAsync();
}
}
List<MaterialTransferDetail> details = input.details.Where(r => r.qty > 0).ToList();
List<MaterialTransferDetail> details_return = input.details.Where(r => r.qty < 0).ToList();
@@ -945,6 +983,26 @@ namespace Tnb.WarehouseMgr
return await ToApiResult(HttpStatusCode.InternalServerError, $"无法查询到出库仓库{warehouse_outstock_code}的档案记录!");
}
await db.Ado.BeginTranAsync();
// 判断是否重复传输
WmsSaleH wmsSaleHRep = await db.Queryable<WmsSaleH>().Where(r => r.erp_pk == input.erp_pk).FirstAsync();
if (wmsSaleHRep != null)
{
// 判断单据是否已经下发
List<WmsSaleD> _wmsSaleDs = await db.Queryable<WmsSaleD>().Where(r => r.bill_id == wmsSaleHRep.id).ToListAsync();
bool isxf = _wmsSaleDs.Where(r => r.purchase_arriveqty > 0).Any();
if (isxf)
{
_LoggerErp2Mes.LogWarning($@"【TransferOutstock】wms已下发使用销售出库单{input.bill_code}");
throw new AppFriendlyException($@"wms已下发使用销售出库单{input.bill_code}", 500);
}
else // 删除数据重新插入
{
await db.Deleteable<WmsSaleH>().Where(r => r.id == wmsSaleHRep.id).ExecuteCommandAsync();
await db.Deleteable<WmsSaleD>().Where(r => r.bill_id == wmsSaleHRep.id).ExecuteCommandAsync();
}
}
WmsSaleH wmsSaleH = new WmsSaleH();
string Code = await _billRuleService.GetBillNumber("WmsSale");
@@ -1239,14 +1297,14 @@ namespace Tnb.WarehouseMgr
_LoggerErp2Mes.LogWarning($@"【TransferOutstock】表体明细中单位{detail.unit_code}在wms系统中未找到");
throw new AppFriendlyException($@"表体明细中单位{detail.unit_code}在wms系统中未找到", 500);
}
wmsTransferInstockD.qty = detail.qty;
wmsTransferInstockD.qty = 0;
wmsTransferInstockD.stock_location = detail.stock_location;
wmsTransferInstockD.pi_code = detail.code_batch;
wmsTransferInstockD.erp_line_pk = detail.erp_line_pk;
wmsTransferInstockD.create_id = WmsWareHouseConst.ErpUserId;
wmsTransferInstockD.create_time = DateTime.Now;
wmsTransferInstockD.xf_qty = 0;
wmsTransferInstockD.pr_qty = 0;
wmsTransferInstockD.pr_qty = detail.qty;
wmsTransferInstockD.lineno = detail.lineno;
var material = await db.Queryable<BasMaterial>().Where(p => p.code == detail.material_code).FirstAsync();
if (material != null)
@@ -1521,6 +1579,25 @@ namespace Tnb.WarehouseMgr
if (details_WAREHOUSE_YCL_ID.Count > 0)
{
// 判断是否重复传输
WmsRawmatTransferoutstockH wmsRawmatTransferoutstockHRep = await db.Queryable<WmsRawmatTransferoutstockH>().Where(r => r.erp_pk == input.erp_pk).FirstAsync();
if (wmsRawmatTransferoutstockHRep != null)
{
// 判断单据是否已经下发
List<WmsRawmatTransferoutstockD> _wmsRawmatTransferoutstockDs = await db.Queryable<WmsRawmatTransferoutstockD>().Where(r => r.bill_id == wmsRawmatTransferoutstockHRep.id).ToListAsync();
bool isxf = _wmsRawmatTransferoutstockDs.Where(r => r.actual_qty > 0).Any();
if (isxf)
{
_LoggerErp2Mes.LogWarning($@"【TransferOutstock】wms已下发使用调拨订单{input.transfer_order}");
throw new AppFriendlyException($@"wms已下发使用调拨订单{input.transfer_order}", 500);
}
else // 删除数据重新插入
{
await db.Deleteable<WmsRawmatTransferoutstockH>().Where(r => r.id == wmsRawmatTransferoutstockHRep.id).ExecuteCommandAsync();
await db.Deleteable<WmsRawmatTransferoutstockD>().Where(r => r.bill_id == wmsRawmatTransferoutstockHRep.id).ExecuteCommandAsync();
}
}
WmsRawmatTransferoutstockH wmsRawmatTransferoutstockH = new WmsRawmatTransferoutstockH();
string code = await _billRuleService.GetBillNumber("RawmatTransferoutstock");
wmsRawmatTransferoutstockH.bill_code = code;
@@ -1580,6 +1657,24 @@ namespace Tnb.WarehouseMgr
}
if(details_WAREHOUSE_CP_ID.Count > 0)
{
// 判断是否重复传输
WmsTransferOutstockH wmsTransferOutstockHRep = await db.Queryable<WmsTransferOutstockH>().Where(r => r.erp_pk == input.erp_pk).FirstAsync();
if (wmsTransferOutstockHRep != null)
{
// 判断单据是否已经下发
List<WmsTransferOutstockD> _wmsTransferOutstockDs = await db.Queryable<WmsTransferOutstockD>().Where(r => r.bill_id == wmsTransferOutstockHRep.id).ToListAsync();
bool isxf = _wmsTransferOutstockDs.Where(r => r.xf_qty > 0).Any();
if (isxf)
{
_LoggerErp2Mes.LogWarning($@"【TransferOutstock】wms已下发使用调拨订单{input.transfer_order}");
throw new AppFriendlyException($@"wms已下发使用调拨订单{input.transfer_order}", 500);
}
else // 删除数据重新插入
{
await db.Deleteable<WmsTransferOutstockH>().Where(r => r.id == wmsTransferOutstockHRep.id).ExecuteCommandAsync();
await db.Deleteable<WmsTransferOutstockD>().Where(r => r.bill_id == wmsTransferOutstockHRep.id).ExecuteCommandAsync();
}
}
WmsTransferOutstockH wmsTransferOutstockH = new WmsTransferOutstockH();
string code = await _billRuleService.GetBillNumber("WmsTransferOutstock");
@@ -1691,6 +1786,24 @@ namespace Tnb.WarehouseMgr
}
await db.Ado.BeginTranAsync();
// 判断是否重复传输
WmsRawmatOutstockH wmsRawmatOutstockHRep = await db.Queryable<WmsRawmatOutstockH>().Where(r => r.erp_pk == input.erp_pk).FirstAsync();
if (wmsRawmatOutstockHRep != null)
{
// 判断单据是否已经下发
List<WmsRawmatOutstockD> _wmsRawmatOutstockDs = await db.Queryable<WmsRawmatOutstockD>().Where(r => r.bill_id == wmsRawmatOutstockHRep.id).ToListAsync();
bool isxf = _wmsRawmatOutstockDs.Where(r => r.actual_outstock_qty > 0).Any();
if (isxf)
{
_LoggerErp2Mes.LogWarning($@"【RawmatOutstock】wms已下发使用材料出库单{input.outstock_order}");
throw new AppFriendlyException($@"wms已下发使用材料出库单{input.outstock_order}", 500);
}
else // 删除数据重新插入
{
await db.Deleteable<WmsRawmatOutstockH>().Where(r => r.id == wmsRawmatOutstockHRep.id).ExecuteCommandAsync();
await db.Deleteable<WmsRawmatOutstockD>().Where(r => r.bill_id == wmsRawmatOutstockHRep.id).ExecuteCommandAsync();
}
}
WmsRawmatOutstockH wmsRawmatOutstockH = new WmsRawmatOutstockH();
string code = await _billRuleService.GetBillNumber("rawmatoutstock");