优化采购收货,销售发货同步mes数据代码

This commit is contained in:
yang.lee
2023-11-10 11:02:48 +08:00
parent 92a3e9904f
commit 86b766500b
3 changed files with 22 additions and 17 deletions

View File

@@ -11,6 +11,9 @@ using JNPF.FriendlyException;
using SqlSugar; using SqlSugar;
using Tnb.BasicData.Entities; using Tnb.BasicData.Entities;
using Tnb.Common.Utils; using Tnb.Common.Utils;
using Tnb.QcMgr.Entities;
using Tnb.QcMgr.Entities.Enums;
using Tnb.QcMgr.Interfaces;
using Tnb.WarehouseMgr.Entities; using Tnb.WarehouseMgr.Entities;
using Tnb.WarehouseMgr.Entities.Consts; using Tnb.WarehouseMgr.Entities.Consts;
using Tnb.WarehouseMgr.Entities.Dto; using Tnb.WarehouseMgr.Entities.Dto;
@@ -30,11 +33,13 @@ namespace Tnb.WarehouseMgr
private readonly ISqlSugarClient _db; private readonly ISqlSugarClient _db;
private readonly IUserManager _userManager; private readonly IUserManager _userManager;
private static Dictionary<string, object> s_materialMap = new(); private static Dictionary<string, object> s_materialMap = new();
private readonly IQcCheckPlanService _qcCheckPlanService;
public WmsPurchaseAndSaleCommonService(ISqlSugarRepository<WmsPurchaseH> repo, IUserManager userManager) public WmsPurchaseAndSaleCommonService(ISqlSugarRepository<WmsPurchaseH> repo, IUserManager userManager, IQcCheckPlanService qcCheckPlanService)
{ {
_db = repo.AsSugarClient(); _db = repo.AsSugarClient();
_userManager = userManager; _userManager = userManager;
_qcCheckPlanService = qcCheckPlanService;
} }
protected async Task<List<TSubEntity>> PurchaseAndSaleUpdate(PurchaseAndReceiveUpInput input) protected async Task<List<TSubEntity>> PurchaseAndSaleUpdate(PurchaseAndReceiveUpInput input)
@@ -120,6 +125,16 @@ namespace Tnb.WarehouseMgr
return await _db.Updateable<TEntity>().SetColumns(it => it.audit_status == (int)input.auditType).Where(it => input.ids.Contains(it.id)).ExecuteCommandHasChangeAsync(); return await _db.Updateable<TEntity>().SetColumns(it => it.audit_status == (int)input.auditType).Where(it => input.ids.Contains(it.id)).ExecuteCommandHasChangeAsync();
} }
protected Task SyncMesData(string maintableId,List<string> materialIds,EnumTriggerEvent triggerEvent)
{
CreateTaskEntity ctEntity = new();
ctEntity.maintableid = maintableId;
ctEntity.materialids = materialIds;
ctEntity.triggerevent = triggerEvent;
return _qcCheckPlanService.CreateWmsTask(ctEntity);
}
protected async Task<bool> UpdateChackStatus<TEntity>(MesCheckdCallbackUpinput input) where TEntity : BaseEntity<string>, InOutCheckStatusUpdateEntity, new() protected async Task<bool> UpdateChackStatus<TEntity>(MesCheckdCallbackUpinput input) where TEntity : BaseEntity<string>, InOutCheckStatusUpdateEntity, new()
{ {
var stock = await _db.Queryable<TEntity>().SingleAsync(it => it.id == input.maintableid); var stock = await _db.Queryable<TEntity>().SingleAsync(it => it.id == input.maintableid);

View File

@@ -37,13 +37,11 @@ namespace Tnb.WarehouseMgr
{ {
private readonly ISqlSugarClient _db; private readonly ISqlSugarClient _db;
private readonly IUserManager _userManager; private readonly IUserManager _userManager;
private readonly IQcCheckPlanService _qcCheckPlanService;
public WmsPurchaseService(ISqlSugarRepository<WmsPurchaseH> repo, IUserManager userManager, IQcCheckPlanService qcCheckPlanService) public WmsPurchaseService(ISqlSugarRepository<WmsPurchaseH> repo, IUserManager userManager, IQcCheckPlanService qcCheckPlanService)
: base(repo, userManager) : base(repo, userManager, qcCheckPlanService)
{ {
_db = repo.AsSugarClient(); _db = repo.AsSugarClient();
_userManager = userManager; _userManager = userManager;
_qcCheckPlanService = qcCheckPlanService;
} }
private async Task<dynamic> xxx(VisualDevModelDataCrInput input) private async Task<dynamic> xxx(VisualDevModelDataCrInput input)
@@ -89,11 +87,7 @@ namespace Tnb.WarehouseMgr
await _db.Insertable(instockDs).ExecuteCommandAsync(); await _db.Insertable(instockDs).ExecuteCommandAsync();
} }
//通知Mes接口 //通知Mes接口
CreateTaskEntity ctEntity = new(); _ = SyncMesData(instock.id, instockDs.Select(x => x.material_id).ToList(), EnumTriggerEvent.);
ctEntity.maintableid = instock.id;
ctEntity.materialids = instockDs.Select(x => x.material_id).ToList();
ctEntity.triggerevent = EnumTriggerEvent.;
_ = _qcCheckPlanService.CreateWmsTask(ctEntity);
await _db.Ado.CommitTranAsync(); await _db.Ado.CommitTranAsync();
} }
catch (Exception ex) catch (Exception ex)

View File

@@ -27,8 +27,9 @@ namespace Tnb.WarehouseMgr
private readonly IWmsOutStockService _wmsOutStockService; private readonly IWmsOutStockService _wmsOutStockService;
private readonly IQcCheckPlanService _qcCheckPlanService; private readonly IQcCheckPlanService _qcCheckPlanService;
public WmsSaleService(ISqlSugarRepository<WmsPurchaseH> repo, IUserManager userManager, IWmsOutStockService wmsOutStockService, IQcCheckPlanService qcCheckPlanService) public WmsSaleService(ISqlSugarRepository<WmsPurchaseH> repo, IUserManager userManager,
: base(repo, userManager) IWmsOutStockService wmsOutStockService, IQcCheckPlanService qcCheckPlanService)
: base(repo, userManager, qcCheckPlanService)
{ {
_wmsOutStockService = wmsOutStockService; _wmsOutStockService = wmsOutStockService;
_qcCheckPlanService = qcCheckPlanService; _qcCheckPlanService = qcCheckPlanService;
@@ -50,12 +51,7 @@ namespace Tnb.WarehouseMgr
visualDevModelDataInput.data["location_code"] = "YCL01-01-01"; visualDevModelDataInput.data["location_code"] = "YCL01-01-01";
(string pkId, List <WmsOutstockD> outStockDList) multi = await _wmsOutStockService.OutStockApplyFor(visualDevModelDataInput); (string pkId, List <WmsOutstockD> outStockDList) multi = await _wmsOutStockService.OutStockApplyFor(visualDevModelDataInput);
_ = SyncMesData(multi.pkId, multi.outStockDList?.Select(x => x.material_id!).ToList() ?? Array.Empty<string>().ToList(), EnumTriggerEvent.);
CreateTaskEntity ctEntity = new();
ctEntity.maintableid = multi.pkId;
ctEntity.materialids = multi.outStockDList?.Select(x => x.material_id!).ToList() ?? Array.Empty<string>().ToList();
ctEntity.triggerevent = EnumTriggerEvent.;
_ = _qcCheckPlanService.CreateWmsTask(ctEntity);
return await Task.FromResult(1); return await Task.FromResult(1);
} }