打印物料编码规则变更

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> /// </summary>
public string erp_pk { get; set; } public string erp_pk { get; set; }
public List<SaleShippingDetail> details { get; set; } public List<SaleShippingDetail> details { get; set; }
} }
public class SaleShippingDetail public class SaleShippingDetail
{ {
/// <summary> /// <summary>

View File

@@ -567,6 +567,25 @@ namespace Tnb.WarehouseMgr
} }
await db.Ado.BeginTranAsync(); 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(); WmsOutsourceOrderH wmsOutsourceOrderH = new WmsOutsourceOrderH();
string Code = await _billRuleService.GetBillNumber("WmsOutsourceOrder"); string Code = await _billRuleService.GetBillNumber("WmsOutsourceOrder");
@@ -751,6 +770,25 @@ namespace Tnb.WarehouseMgr
await db.Ado.BeginTranAsync(); 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 = input.details.Where(r => r.qty > 0).ToList();
List<MaterialTransferDetail> details_return = 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}的档案记录!"); return await ToApiResult(HttpStatusCode.InternalServerError, $"无法查询到出库仓库{warehouse_outstock_code}的档案记录!");
} }
await db.Ado.BeginTranAsync(); 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(); WmsSaleH wmsSaleH = new WmsSaleH();
string Code = await _billRuleService.GetBillNumber("WmsSale"); string Code = await _billRuleService.GetBillNumber("WmsSale");
@@ -1239,14 +1297,14 @@ namespace Tnb.WarehouseMgr
_LoggerErp2Mes.LogWarning($@"【TransferOutstock】表体明细中单位{detail.unit_code}在wms系统中未找到"); _LoggerErp2Mes.LogWarning($@"【TransferOutstock】表体明细中单位{detail.unit_code}在wms系统中未找到");
throw new AppFriendlyException($@"表体明细中单位{detail.unit_code}在wms系统中未找到", 500); throw new AppFriendlyException($@"表体明细中单位{detail.unit_code}在wms系统中未找到", 500);
} }
wmsTransferInstockD.qty = detail.qty; wmsTransferInstockD.qty = 0;
wmsTransferInstockD.stock_location = detail.stock_location; wmsTransferInstockD.stock_location = detail.stock_location;
wmsTransferInstockD.pi_code = detail.code_batch; wmsTransferInstockD.pi_code = detail.code_batch;
wmsTransferInstockD.erp_line_pk = detail.erp_line_pk; wmsTransferInstockD.erp_line_pk = detail.erp_line_pk;
wmsTransferInstockD.create_id = WmsWareHouseConst.ErpUserId; wmsTransferInstockD.create_id = WmsWareHouseConst.ErpUserId;
wmsTransferInstockD.create_time = DateTime.Now; wmsTransferInstockD.create_time = DateTime.Now;
wmsTransferInstockD.xf_qty = 0; wmsTransferInstockD.xf_qty = 0;
wmsTransferInstockD.pr_qty = 0; wmsTransferInstockD.pr_qty = detail.qty;
wmsTransferInstockD.lineno = detail.lineno; wmsTransferInstockD.lineno = detail.lineno;
var material = await db.Queryable<BasMaterial>().Where(p => p.code == detail.material_code).FirstAsync(); var material = await db.Queryable<BasMaterial>().Where(p => p.code == detail.material_code).FirstAsync();
if (material != null) if (material != null)
@@ -1521,6 +1579,25 @@ namespace Tnb.WarehouseMgr
if (details_WAREHOUSE_YCL_ID.Count > 0) 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(); WmsRawmatTransferoutstockH wmsRawmatTransferoutstockH = new WmsRawmatTransferoutstockH();
string code = await _billRuleService.GetBillNumber("RawmatTransferoutstock"); string code = await _billRuleService.GetBillNumber("RawmatTransferoutstock");
wmsRawmatTransferoutstockH.bill_code = code; wmsRawmatTransferoutstockH.bill_code = code;
@@ -1580,6 +1657,24 @@ namespace Tnb.WarehouseMgr
} }
if(details_WAREHOUSE_CP_ID.Count > 0) 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(); WmsTransferOutstockH wmsTransferOutstockH = new WmsTransferOutstockH();
string code = await _billRuleService.GetBillNumber("WmsTransferOutstock"); string code = await _billRuleService.GetBillNumber("WmsTransferOutstock");
@@ -1691,6 +1786,24 @@ namespace Tnb.WarehouseMgr
} }
await db.Ado.BeginTranAsync(); 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(); WmsRawmatOutstockH wmsRawmatOutstockH = new WmsRawmatOutstockH();
string code = await _billRuleService.GetBillNumber("rawmatoutstock"); string code = await _billRuleService.GetBillNumber("rawmatoutstock");

View File

@@ -4009,10 +4009,10 @@ namespace Tnb.WarehouseMgr
{ {
waternumber = basCoderules.waternumber; waternumber = basCoderules.waternumber;
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'); watercode = waternumber.ToString().PadLeft(watercodeLength, '0');
} }
return watercode; return prefix + custom + watercode;
} }
catch(Exception ex) catch(Exception ex)
{ {

View File

@@ -41,18 +41,20 @@ namespace Tnb.WarehouseMgr
private readonly IBillRullService _billRullService; private readonly IBillRullService _billRullService;
private readonly IRunService _runService; private readonly IRunService _runService;
private readonly IVisualDevService _visualDevService; private readonly IVisualDevService _visualDevService;
private readonly IWareHouseService _wareHouseService;
public WmsOutsourceService( public WmsOutsourceService(
ISqlSugarRepository<WmsOutsourceH> repository, ISqlSugarRepository<WmsOutsourceH> repository,
IUserManager userManager, IUserManager userManager,
IBillRullService billRullService, IBillRullService billRullService,
IRunService runService, IRunService runService,
IVisualDevService visualDevService) IVisualDevService visualDevService, IWareHouseService wareHouseService)
{ {
_db = repository.AsSugarClient(); _db = repository.AsSugarClient();
_userManager = userManager; _userManager = userManager;
_billRullService = billRullService; _billRullService = billRullService;
_runService = runService; _runService = runService;
_visualDevService = visualDevService; _visualDevService = visualDevService;
_wareHouseService = wareHouseService;
} }
public override async Task ModifyAsync(WareHouseUpInput input) public override async Task ModifyAsync(WareHouseUpInput input)
@@ -117,9 +119,13 @@ namespace Tnb.WarehouseMgr
int index = j + 1; int index = j + 1;
//string code = $"{WmsPurchaseD.material_code}-{WmsPurchaseD.code_batch}-{index.ToString().PadLeft(4, '0')}"; //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() WmsTempCode barCode = new()
{ {
material_id = WmsOutsourceD.matcode_id, material_id = WmsOutsourceD.matcode_id,

View File

@@ -47,12 +47,15 @@ namespace Tnb.WarehouseMgr
private readonly IBillRullService _billRullService; private readonly IBillRullService _billRullService;
private readonly ISqlSugarClient _db; private readonly ISqlSugarClient _db;
private readonly IUserManager _userManager; 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) : base(repo, userManager, qcCheckPlanService)
{ {
_db = repo.AsSugarClient(); _db = repo.AsSugarClient();
_userManager = userManager; _userManager = userManager;
_billRullService = billRullService; _billRullService = billRullService;
_wareHouseService = wareHouseService;
} }
private async Task<dynamic> xxx(VisualDevModelDataCrInput input) private async Task<dynamic> xxx(VisualDevModelDataCrInput input)
@@ -355,9 +358,12 @@ namespace Tnb.WarehouseMgr
int index = j + 1; int index = j + 1;
//string code = $"{WmsPurchaseD.material_code}-{WmsPurchaseD.code_batch}-{index.ToString().PadLeft(4, '0')}"; //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() WmsTempCode barCode = new()
{ {
material_id = WmsPurchaseD.material_id, material_id = WmsPurchaseD.material_id,

View File

@@ -49,18 +49,21 @@ namespace Tnb.WarehouseMgr
private readonly IBillRullService _billRullService; private readonly IBillRullService _billRullService;
private readonly IRunService _runService; private readonly IRunService _runService;
private readonly IVisualDevService _visualDevService; private readonly IVisualDevService _visualDevService;
private readonly IWareHouseService _wareHouseService;
public WmsRawmatTransferinstockService( public WmsRawmatTransferinstockService(
ISqlSugarRepository<WmsRawmatTransferinstockH> repository, ISqlSugarRepository<WmsRawmatTransferinstockH> repository,
IUserManager userManager, IUserManager userManager,
IBillRullService billRullService, IBillRullService billRullService,
IRunService runService, IRunService runService,
IVisualDevService visualDevService) IVisualDevService visualDevService,
IWareHouseService wareHouseService)
{ {
_db = repository.AsSugarClient(); _db = repository.AsSugarClient();
_userManager = userManager; _userManager = userManager;
_billRullService = billRullService; _billRullService = billRullService;
_runService = runService; _runService = runService;
_visualDevService = visualDevService; _visualDevService = visualDevService;
_wareHouseService = wareHouseService;
} }
public override async Task ModifyAsync(WareHouseUpInput input) public override async Task ModifyAsync(WareHouseUpInput input)
@@ -241,9 +244,12 @@ namespace Tnb.WarehouseMgr
int index = j + 1; int index = j + 1;
//string code = $"{WmsPurchaseD.material_code}-{WmsPurchaseD.code_batch}-{index.ToString().PadLeft(4, '0')}"; //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() WmsTempCode barCode = new()
{ {
material_id = WmsRawmatTransferinstockD.matcode_id, material_id = WmsRawmatTransferinstockD.matcode_id,