BIP异常信息接口:采购订单删除,修改接口

This commit is contained in:
2024-10-29 10:31:39 +08:00
parent bd984ed0aa
commit 45d5eff708
4 changed files with 173 additions and 4 deletions

View File

@@ -546,6 +546,128 @@ namespace Tnb.WarehouseMgr
}
}
/// <summary>
/// 删除采购订单
/// </summary>
[HttpPost, NonUnify, AllowAnonymous]
public async Task<Entities.Dto.Outputs.Result> DeletePurchaseOrder(PurchaseOrderDeleteInput input)
{
LoggerErp2Mes.LogInformation($"【PurchaseOrderDeleteInput】ERP传入数据:{JsonConvert.SerializeObject(input)}");
var db = _repository.AsSugarClient();
try
{
if (string.IsNullOrEmpty(input.erp_pk))
{
_LoggerErp2Mes.LogWarning($"【PurchaseOrderDeleteInput】主表主键不能为空");
throw new AppFriendlyException($@"主表主键不能为空!", 500);
}
await db.Ado.BeginTranAsync();
// 判断采购订单是否存在
WmsPurchaseOrderH wmsPurchaseOrderRep = await db.Queryable<WmsPurchaseOrderH>().Where(r => r.erp_pk == input.erp_pk).FirstAsync();
if (wmsPurchaseOrderRep != null)
{
// 判断收货单是否已经生成
WmsPurchaseH wmsPurchaseH = await db.Queryable<WmsPurchaseH>().Where(r => r.source_id == wmsPurchaseOrderRep.id).FirstAsync();
if (wmsPurchaseH != null)
{
_LoggerErp2Mes.LogWarning($@"【PurchaseOrderDeleteInput】wms已创建收货单{wmsPurchaseH.bill_code}");
throw new AppFriendlyException($@"wms已创建收货单{wmsPurchaseH.bill_code}", 500);
}
else // 删除数据重新插入
{
await db.Deleteable<WmsPurchaseOrderH>().Where(r => r.id == wmsPurchaseOrderRep.id).ExecuteCommandAsync();
await db.Deleteable<WmsPurchaseOrderD>().Where(r => r.fk_wms_purchase_order_id == wmsPurchaseOrderRep.id).ExecuteCommandAsync();
}
}
await db.Ado.CommitTranAsync();
return await ToApiResult(HttpStatusCode.OK, "成功");
}
catch (Exception ex)
{
LoggerErp2Mes.LogError($"【PurchaseOrderDeleteInput】{ex.Message}");
LoggerErp2Mes.LogError($"【PurchaseOrderDeleteInput】{ex.StackTrace}");
await db.Ado.RollbackTranAsync();
return await ToApiResult(HttpStatusCode.InternalServerError, ex.Message);
}
finally
{
}
}
/// <summary>
/// 修改采购订单
/// </summary>
[HttpPost, NonUnify, AllowAnonymous]
public async Task<Entities.Dto.Outputs.Result> UpdatePurchaseOrder(PurchaseOrderUpdateInput input)
{
LoggerErp2Mes.LogInformation($"【PurchaseOrderUpdateInput】ERP传入数据:{JsonConvert.SerializeObject(input)}");
var db = _repository.AsSugarClient();
try
{
if (string.IsNullOrEmpty(input.erp_pk))
{
_LoggerErp2Mes.LogWarning($"【PurchaseOrderUpdateInput】主表主键不能为空");
throw new AppFriendlyException($@"主表主键不能为空!", 500);
}
await db.Ado.BeginTranAsync();
// 判断采购订单是否存在
WmsPurchaseOrderH wmsPurchaseOrderH = await db.Queryable<WmsPurchaseOrderH>().Where(r => r.erp_pk == input.erp_pk).FirstAsync();
if(wmsPurchaseOrderH == null)
{
_LoggerErp2Mes.LogWarning($"【PurchaseOrderUpdateInput】未找到采购订单erp_pk:{input.erp_pk}");
throw new AppFriendlyException($@"未找到采购订单erp_pk:{input.erp_pk}", 500);
}
if(input.details!=null && input.details.Count > 0)
{
foreach(var item in input.details)
{
WmsPurchaseOrderD wmsPurchaseOrderD = await db.Queryable<WmsPurchaseOrderD>().Where(r => r.fk_wms_purchase_order_id == wmsPurchaseOrderH.id && r.erp_line_pk == item.erp_line_pk).FirstAsync();
if(wmsPurchaseOrderD==null)
{
_LoggerErp2Mes.LogWarning($"【PurchaseOrderUpdateInput】未找到采购订单明细数据erp_pk:{input.erp_pk},erp_line_pk:{item.erp_line_pk}");
throw new AppFriendlyException($@"未找到采购订单明细数据erp_pk:{input.erp_pk}erp_line_pk{item.erp_line_pk}", 500);
}
else
{
await db.Updateable<WmsPurchaseOrderD>()
.SetColumns(r => r.net_price == item.net_price)
.SetColumns(r => r.purchase_quantity == item.purchase_quantity)
.SetColumns(r => r.actual_quantity == item.actual_quantity)
.Where(r => r.id == wmsPurchaseOrderD.id).ExecuteCommandAsync();
}
}
}
await db.Ado.CommitTranAsync();
return await ToApiResult(HttpStatusCode.OK, "成功");
}
catch (Exception ex)
{
LoggerErp2Mes.LogError($"【PurchaseOrderUpdateInput】{ex.Message}");
LoggerErp2Mes.LogError($"【PurchaseOrderUpdateInput】{ex.StackTrace}");
await db.Ado.RollbackTranAsync();
return await ToApiResult(HttpStatusCode.InternalServerError, ex.Message);
}
finally
{
}
}
/// <summary>
/// 委外订单
/// </summary>