打印物料编码规则变更

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

@@ -48,10 +48,9 @@ namespace Tnb.WarehouseMgr.Entities.Dto.ErpInputs
/// </summary>
public string erp_pk { get; set; }
public List<SaleShippingDetail> details { get; set; }
}
public class SaleShippingDetail
{
/// <summary>

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");

View File

@@ -4009,10 +4009,10 @@ namespace Tnb.WarehouseMgr
{
waternumber = basCoderules.waternumber;
waternumber++;
await _db.Updateable<BasCoderules>().SetColumns(r => r.waternumber == waternumber).ExecuteCommandAsync();
await _db.Updateable<BasCoderules>().SetColumns(r => r.waternumber == waternumber).Where(r => r.id == basCoderules.id).ExecuteCommandAsync();
watercode = waternumber.ToString().PadLeft(watercodeLength, '0');
}
return watercode;
return prefix + custom + watercode;
}
catch(Exception ex)
{

View File

@@ -41,18 +41,20 @@ namespace Tnb.WarehouseMgr
private readonly IBillRullService _billRullService;
private readonly IRunService _runService;
private readonly IVisualDevService _visualDevService;
private readonly IWareHouseService _wareHouseService;
public WmsOutsourceService(
ISqlSugarRepository<WmsOutsourceH> repository,
IUserManager userManager,
IBillRullService billRullService,
IRunService runService,
IVisualDevService visualDevService)
IVisualDevService visualDevService, IWareHouseService wareHouseService)
{
_db = repository.AsSugarClient();
_userManager = userManager;
_billRullService = billRullService;
_runService = runService;
_visualDevService = visualDevService;
_wareHouseService = wareHouseService;
}
public override async Task ModifyAsync(WareHouseUpInput input)
@@ -117,9 +119,13 @@ namespace Tnb.WarehouseMgr
int index = j + 1;
//string code = $"{WmsPurchaseD.material_code}-{WmsPurchaseD.code_batch}-{index.ToString().PadLeft(4, '0')}";
// 变更加流水号
string watercode = await _billRullService.GetBillNumber(WmsWareHouseConst.WMS_OUTSOURCE_MAT_ENCODE);
//string watercode = await _billRullService.GetBillNumber(WmsWareHouseConst.WMS_OUTSOURCE_MAT_ENCODE);
//string code = $"WWSH{watercode}";
string code_batch = string.IsNullOrEmpty(WmsOutsourceD.code_batch) ? "" : WmsOutsourceD.code_batch;
string code = await _wareHouseService.CreateCodeRules("", WmsOutsourceD.matcode + code_batch, 4);
string code = $"WWSH{watercode}";
WmsTempCode barCode = new()
{
material_id = WmsOutsourceD.matcode_id,

View File

@@ -47,12 +47,15 @@ namespace Tnb.WarehouseMgr
private readonly IBillRullService _billRullService;
private readonly ISqlSugarClient _db;
private readonly IUserManager _userManager;
public WmsPurchaseService(ISqlSugarRepository<WmsPurchaseH> repo, IUserManager userManager, IQcCheckPlanService qcCheckPlanService, IBillRullService billRullService)
private readonly IWareHouseService _wareHouseService;
public WmsPurchaseService(ISqlSugarRepository<WmsPurchaseH> repo, IUserManager userManager, IQcCheckPlanService qcCheckPlanService, IBillRullService billRullService,
IWareHouseService wareHouseService)
: base(repo, userManager, qcCheckPlanService)
{
_db = repo.AsSugarClient();
_userManager = userManager;
_billRullService = billRullService;
_wareHouseService = wareHouseService;
}
private async Task<dynamic> xxx(VisualDevModelDataCrInput input)
@@ -355,9 +358,12 @@ namespace Tnb.WarehouseMgr
int index = j + 1;
//string code = $"{WmsPurchaseD.material_code}-{WmsPurchaseD.code_batch}-{index.ToString().PadLeft(4, '0')}";
// 变更加流水号
string watercode = await _billRullService.GetBillNumber(WmsWareHouseConst.WMS_PURCHASE_MAT_ENCODE);
//string watercode = await _billRullService.GetBillNumber(WmsWareHouseConst.WMS_PURCHASE_MAT_ENCODE);
string code = $"CGSH{watercode}";
string code_batch = string.IsNullOrEmpty(WmsPurchaseD.code_batch) ? "" : WmsPurchaseD.code_batch;
string code = await _wareHouseService.CreateCodeRules("", WmsPurchaseD.material_code + code_batch, 4);
//string code = $"CGSH{watercode}";
WmsTempCode barCode = new()
{
material_id = WmsPurchaseD.material_id,

View File

@@ -49,18 +49,21 @@ namespace Tnb.WarehouseMgr
private readonly IBillRullService _billRullService;
private readonly IRunService _runService;
private readonly IVisualDevService _visualDevService;
private readonly IWareHouseService _wareHouseService;
public WmsRawmatTransferinstockService(
ISqlSugarRepository<WmsRawmatTransferinstockH> repository,
IUserManager userManager,
IBillRullService billRullService,
IRunService runService,
IVisualDevService visualDevService)
IVisualDevService visualDevService,
IWareHouseService wareHouseService)
{
_db = repository.AsSugarClient();
_userManager = userManager;
_billRullService = billRullService;
_runService = runService;
_visualDevService = visualDevService;
_wareHouseService = wareHouseService;
}
public override async Task ModifyAsync(WareHouseUpInput input)
@@ -241,9 +244,12 @@ namespace Tnb.WarehouseMgr
int index = j + 1;
//string code = $"{WmsPurchaseD.material_code}-{WmsPurchaseD.code_batch}-{index.ToString().PadLeft(4, '0')}";
// 变更加流水号
string watercode = await _billRullService.GetBillNumber(WmsWareHouseConst.WMS_TRANSFER_RAWMAT_ENCODE);
//string watercode = await _billRullService.GetBillNumber(WmsWareHouseConst.WMS_TRANSFER_RAWMAT_ENCODE);
//string code = $"YCLDBRK{watercode}";
string code_batch = string.IsNullOrEmpty(WmsRawmatTransferinstockD.code_batch) ? "" : WmsRawmatTransferinstockD.code_batch;
string code = await _wareHouseService.CreateCodeRules("", WmsRawmatTransferinstockD.matcode + code_batch, 4);
string code = $"YCLDBRK{watercode}";
WmsTempCode barCode = new()
{
material_id = WmsRawmatTransferinstockD.matcode_id,