48 lines
1.6 KiB
C#
48 lines
1.6 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 : TaskManagerDelBase<WmsDistaskH>
|
|
{
|
|
private readonly ISqlSugarClient _db;
|
|
|
|
public WmsDistaskService(ISqlSugarRepository<WmsDistaskH> repository):base(repository.AsSugarClient())
|
|
{
|
|
_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<WmsElevatorUnexecute>().Where(it => it.distask_id == id).ExecuteCommandAsync();
|
|
_ = await _db.Deleteable(disTask).ExecuteCommandAsync();
|
|
}
|
|
|
|
await _db.Ado.CommitTranAsync();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
await _db.Ado.RollbackTranAsync();
|
|
throw;
|
|
}
|
|
}
|
|
}
|
|
}
|