Files
tnb.server/WarehouseMgr/Tnb.WarehouseMgr/WmsDistaskService.cs

47 lines
1.5 KiB
C#

using JNPF.VisualDev;
using SqlSugar;
using Tnb.WarehouseMgr.Entities;
using Tnb.WarehouseMgr.Entities.Consts;
namespace Tnb.WarehouseMgr
{
[OverideVisualDev(ModuleConsts.MODULE_WMSDISTASK_ID)]
public class WmsDistaskService : BaseWareHouseService
{
private readonly ISqlSugarClient _db;
public WmsDistaskService(ISqlSugarRepository<WmsDistaskH> repository)
{
_db = repository.AsSugarClient();
OverideFuncs.DeleteAsync = Delete;
}
private async Task Delete(string id)
{
try
{
await _db.Ado.BeginTranAsync();
WmsDistaskH disTask = await _db.Queryable<WmsDistaskH>().SingleAsync(it => it.id == id);
if (disTask != null)
{
WmsPretaskH preTask = await _db.Queryable<WmsPretaskH>().SingleAsync(it => it.id == disTask.pretask_id);
if (preTask != null)
{
preTask.status = WmsWareHouseConst.PRETASK_BILL_STATUS_DXF_ID;
_ = await _db.Updateable(preTask).UpdateColumns(it => it.status).ExecuteCommandAsync();
}
_ = await _db.Deleteable(disTask).ExecuteCommandAsync();
}
await _db.Ado.CommitTranAsync();
}
catch (Exception)
{
await _db.Ado.RollbackTranAsync();
throw;
}
}
}
}