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

53 lines
1.6 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using JNPF.VisualDev;
using SqlSugar;
using Tnb.WarehouseMgr.Entities;
using Tnb.WarehouseMgr.Entities.Consts;
using Tnb.WarehouseMgr.Entities.Entity;
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();
var disTask = await _db.Queryable<WmsDistaskH>().SingleAsync(it => it.id == id);
if (disTask != null)
{
var 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;
}
}
}
}