载具解绑服务加了2个不需要事务的接口

This commit is contained in:
2024-10-10 09:06:03 +08:00
parent 7438376ab1
commit a3596e4e5b
3 changed files with 149 additions and 4 deletions

View File

@@ -736,7 +736,7 @@ namespace Tnb.ProductionMgr
}
else
{
Tnb.WarehouseMgr.Entities.Dto.Outputs.Result result = await _wmsCarryUnbindService.CarryCodeUnbind(new CarryCodeUnbindInput()
Tnb.WarehouseMgr.Entities.Dto.Outputs.Result result = await _wmsCarryUnbindService.CarryCodeUnbindWithoutTran(new CarryCodeUnbindInput()
{
carry_id = detail.member_carry_id
},db);
@@ -752,7 +752,7 @@ namespace Tnb.ProductionMgr
if (carry.carrystd_id == WmsWareHouseConst.CARRY_ZYXCSTD_ID || carry.carrystd_id == WmsWareHouseConst.CARRY_ZYLJSTD_ID)
{
Tnb.WarehouseMgr.Entities.Dto.Outputs.Result result = await _wmsCarryUnbindService.CarryCodeUnbind(new CarryCodeUnbindInput()
Tnb.WarehouseMgr.Entities.Dto.Outputs.Result result = await _wmsCarryUnbindService.CarryCodeUnbindWithoutTran(new CarryCodeUnbindInput()
{
carry_id = carry.id
},db);
@@ -772,7 +772,7 @@ namespace Tnb.ProductionMgr
if (carry.carrystd_id==WmsWareHouseConst.CARRY_LXSTD_ID || carry.carrystd_id==WmsWareHouseConst.CARRY_LJSTD_ID)
{
Tnb.WarehouseMgr.Entities.Dto.Outputs.Result result2 = await _wmsCarryUnbindService.CarryUnbind(new CarryBindInput()
Tnb.WarehouseMgr.Entities.Dto.Outputs.Result result2 = await _wmsCarryUnbindService.CarryUnbindWithoutTran(new CarryBindInput()
{
org = prdFeedingH.org_id,
create_id = prdFeedingH.create_id,

View File

@@ -14,6 +14,19 @@ namespace Tnb.WarehouseMgr.Interfaces
Task<Result> CarryCodeUnbind(CarryCodeUnbindInput input, ISqlSugarClient dbConn = null);
Task<Result> CarryCodeUnbindCode(CarryCodeUnbindCodeInput input, ISqlSugarClient dbConn = null);
/// <summary>
/// WmsCarryD解绑 传dbConn方法不控制事务 不传dbConn则方法自带事务
/// </summary>
/// <param name="input"></param>
/// <param name="dbConn"></param>
/// <returns></returns>
Task<Result> CarryUnbindWithoutTran(CarryBindInput input, ISqlSugarClient dbConn = null);
/// <summary>
/// WmsCarryCode解绑 传dbConn方法不控制事务 不传dbConn则方法自带事务
/// </summary>
/// <param name="input"></param>
/// <param name="dbConn"></param>
/// <returns></returns>
Task<Result> CarryCodeUnbindWithoutTran(CarryCodeUnbindInput input, ISqlSugarClient dbConn = null);
}
}

View File

@@ -287,5 +287,137 @@ namespace Tnb.WarehouseMgr
}
return await ToApiResult(JNPF.Common.Enums.HttpStatusCode.OK, "成功");
}
public async Task<Result> CarryUnbindWithoutTran(CarryBindInput input, ISqlSugarClient dbConn = null)
{
bool isOk = false;
ISqlSugarClient db = null;
bool tranFlag = true;
if (dbConn == null)
{
db = _db;
}
else
{
tranFlag = false;
db = dbConn;
}
try
{
if (input == null)
{
throw new ArgumentNullException(nameof(input));
}
WmsCarryH? carry = await db.Queryable<WmsCarryH>().SingleAsync(it => it.id == input.carry_id);
if (carry != null)
{
// 插入子载具绑定记录
//VisualDevModelDataCrInput visualDevModelCrInput = new() { data = new Dictionary<string, object>() };
//visualDevModelCrInput.data[nameof(WmsCarrybindH.carry_id)] = input.carry_id;
//visualDevModelCrInput.data[nameof(WmsCarrybindH.carry_code)] = input.carry_code;
//visualDevModelCrInput.data[nameof(WmsCarrybindH.membercarry_id)] = input.membercarry_id;
//visualDevModelCrInput.data[nameof(WmsCarrybindH.membercarry_code)] = input.membercarry_code;
//visualDevModelCrInput.data[nameof(WmsCarrybindH.type)] = 0;
//visualDevModelCrInput.data[nameof(WmsCarrybindH.carrystd_id)] = carry.carrystd_id;
//if (!string.IsNullOrEmpty(input.create_id))
// visualDevModelCrInput.data[nameof(WmsCarrybindH.create_id)] = input.create_id;
//visualDevModelCrInput.data[nameof(WmsCarrybindH.create_time)] = DateTime.Now;
//visualDevModelCrInput.data[nameof(WmsCarrybindH.loc)] = 1;
//VisualDevEntity? templateEntity = await _visualDevService.GetInfoById(ModuleConsts.MODULE_WMSCARRYUNBIND_ID, true);
//await _runService.Create(templateEntity, visualDevModelCrInput);
if (tranFlag) await db.Ado.BeginTranAsync();
int row = await db.Deleteable<WmsCarryD>().Where(r => r.carry_id == input.carry_id).ExecuteCommandAsync();
//isOk = row > 0;
//if (!isOk)
//{
// throw new Exception($"料架id{input.carry_id}载具解绑失败");
//}
Logger.LogInformation($"【CarryUnbindWithoutTran】料架{carry.carry_code}已解绑,解绑条数{row}");
if (tranFlag) await db.Ado.CommitTranAsync();
}
else
{
if (carry == null)
{
throw new AppFriendlyException("没有可用的主载具", 500);
}
}
}
catch (Exception ex)
{
Logger.LogError($"【CarryUnbindWithoutTran】 {ex.Message}");
Logger.LogError($"【CarryUnbindWithoutTran】 {ex.StackTrace}");
if (tranFlag) await db.Ado.RollbackTranAsync();
throw Oops.Bah(ex.Message);
}
return await ToApiResult(JNPF.Common.Enums.HttpStatusCode.OK, "成功");
}
public async Task<Result> CarryCodeUnbindWithoutTran(CarryCodeUnbindInput input, ISqlSugarClient dbConn = null)
{
bool isOk = false;
ISqlSugarClient db = null;
bool tranFlag = true;
if (dbConn == null)
{
db = _db;
}
else
{
tranFlag = false;
db = dbConn;
}
try
{
if (input == null)
{
throw new ArgumentNullException(nameof(input));
}
WmsCarryH? carry = await db.Queryable<WmsCarryH>().SingleAsync(it => it.id == input.carry_id);
if (carry != null)
{
if (tranFlag) await db.Ado.BeginTranAsync();
int row = await db.Deleteable<WmsCarryCode>().Where(r => r.carry_id == input.carry_id).ExecuteCommandAsync();
if (tranFlag) await db.Ado.CommitTranAsync();
isOk = row > 0;
Logger.LogInformation($"【CarryCodeUnbindWithoutTran】载具{carry.carry_code}已解绑,解绑条数{row}");
//if (!isOk)
//{
// throw Oops.Oh(ErrorCode.COM1001);
//}
}
else
{
if (carry == null)
{
throw new AppFriendlyException("没有可用的主载具", 500);
}
}
}
catch (Exception ex)
{
Logger.LogError($"【CarryCodeUnbindWithoutTran】 {ex.Message}");
Logger.LogError($"【CarryCodeUnbindWithoutTran】 {ex.StackTrace}");
if (tranFlag) await db.Ado.RollbackTranAsync();
throw Oops.Bah(ex.Message);
}
return await ToApiResult(JNPF.Common.Enums.HttpStatusCode.OK, "成功");
}
}
}