采购/委外调整
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using COSXML.Model.Tag;
|
||||
using JNPF.Common.Contracts;
|
||||
using JNPF.Common.Core.Manager;
|
||||
using JNPF.Common.Dtos.VisualDev;
|
||||
@@ -11,6 +12,7 @@ using JNPF.Logging;
|
||||
using JNPF.Systems.Entitys.System;
|
||||
using JNPF.Systems.Interfaces.System;
|
||||
using JNPF.VisualDev;
|
||||
using JNPF.VisualDev.Entitys;
|
||||
using JNPF.VisualDev.Interfaces;
|
||||
using Mapster;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
@@ -64,8 +66,60 @@ namespace Tnb.WarehouseMgr
|
||||
_visualDevService = visualDevService;
|
||||
_wareHouseService = wareHouseService;
|
||||
_thirdApiRecordService = thirdApiRecordService;
|
||||
OverideFuncs.CreateAsync += Create;
|
||||
OverideFuncs.DeleteAsync = Delete;
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public async Task<dynamic> Create(VisualDevModelDataCrInput visualDevModelDataCrInput)
|
||||
{
|
||||
string outsource_order = visualDevModelDataCrInput.data["erp_bill_code"].ToString();
|
||||
VisualDevEntity? templateEntity = await _visualDevService.GetInfoById(ModuleId, true);
|
||||
await _runService.Create(templateEntity, visualDevModelDataCrInput);
|
||||
|
||||
string id = visualDevModelDataCrInput.data["ReturnIdentity"].ToString();
|
||||
string type = "";
|
||||
if (string.IsNullOrEmpty(outsource_order))
|
||||
{
|
||||
await _db.Updateable<WmsOutsourceH>().SetColumns(r => r.make_method == "自制").Where(r => r.id == id).ExecuteCommandAsync();
|
||||
}
|
||||
else
|
||||
{
|
||||
await _db.Updateable<WmsOutsourceH>().SetColumns(r => r.make_method == "同步").Where(r => r.id == id).ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
await _db.Updateable<WmsOutsourceD>().SetColumns(r => r.qc_res == "await").Where(r => r.fk_wms_outsource_order_id == id).ExecuteCommandAsync();
|
||||
|
||||
return "保存成功";
|
||||
}
|
||||
|
||||
// List<WmsDistaskH> wmsDistaskH = await _db.Queryable<WmsDistaskH>().Where(r => r.source_id == id).ToListAsync();
|
||||
private async Task Delete(string id)
|
||||
{
|
||||
await _db.Ado.BeginTranAsync();
|
||||
|
||||
WmsOutsourceH wmsOutsourceH = await _db.Queryable<WmsOutsourceH>().Where(r => r.id == id).FirstAsync();
|
||||
if (wmsOutsourceH != null)
|
||||
{
|
||||
_ = await _db.Deleteable(wmsOutsourceH).ExecuteCommandAsync();
|
||||
List<WmsOutsourceD> wmsoutsourceDs = await _db.Queryable<WmsOutsourceD>().Where(r => r.fk_wms_outsource_order_id == id).ToListAsync();
|
||||
Logger.Information($"删除委外收货单{wmsOutsourceH.bill_code} 收货明细{wmsoutsourceDs.Count}条");
|
||||
foreach (WmsOutsourceD wmsOutsourceD in wmsoutsourceDs)
|
||||
{
|
||||
WmsOutsourceOrderD wmsOutsourceOrderD = await _db.Queryable<WmsOutsourceOrderD>().Where(r => r.erp_line_pk == wmsOutsourceD.erp_outsource_order_d_pk).FirstAsync();
|
||||
if (wmsOutsourceOrderD != null)
|
||||
{
|
||||
Logger.Information($"委外收货单{wmsOutsourceH.bill_code} 收货明细id{wmsOutsourceOrderD.id} 删除后回退委外订单明细id{wmsOutsourceOrderD.id}已到货数量 {wmsOutsourceOrderD.actual_quantity} -> {wmsOutsourceOrderD.actual_quantity - wmsOutsourceD.outsource_arriveqty}");
|
||||
wmsOutsourceOrderD.actual_quantity -= wmsOutsourceD.actual_quantity;
|
||||
await _db.Updateable(wmsOutsourceOrderD).UpdateColumns(r => r.actual_quantity).ExecuteCommandAsync();
|
||||
}
|
||||
}
|
||||
_ = await _db.Deleteable(wmsoutsourceDs).ExecuteCommandAsync();
|
||||
}
|
||||
await _db.Ado.CommitTranAsync();
|
||||
}
|
||||
|
||||
|
||||
public override async Task ModifyAsync(WareHouseUpInput input)
|
||||
{
|
||||
if (input == null)
|
||||
@@ -103,10 +157,10 @@ namespace Tnb.WarehouseMgr
|
||||
};
|
||||
|
||||
List<WmsTempCode> wmsTempCodes = new();
|
||||
decimal? minPacking = (await _db.Queryable<BasMaterial>().FirstAsync(it => it.id == WmsOutsourceD.matcode_id))?.minpacking;
|
||||
decimal? minPacking = (await _db.Queryable<BasMaterial>().FirstAsync(it => it.code == WmsOutsourceD.matcode))?.minpacking;
|
||||
if (!minPacking.HasValue || minPacking.Value <= 0)
|
||||
{
|
||||
throw new AppFriendlyException($"物料{WmsOutsourceD.matcode} {WmsOutsourceD.matcode_id} 包装数量为空或者等于0,无法打印!", 500);
|
||||
throw new AppFriendlyException($"物料{WmsOutsourceD.matcode} 包装数量为空或者等于0,无法打印!", 500);
|
||||
};
|
||||
int codeNum = 0;
|
||||
|
||||
@@ -124,7 +178,7 @@ namespace Tnb.WarehouseMgr
|
||||
}
|
||||
|
||||
|
||||
BasMaterial basMaterial = await _db.Queryable<BasMaterial>().Where(r => r.id == WmsOutsourceD.matcode_id).FirstAsync();
|
||||
BasMaterial basMaterial = await _db.Queryable<BasMaterial>().Where(r => r.code == WmsOutsourceD.matcode).FirstAsync();
|
||||
for (int j = 0; j < codeNum; j++)
|
||||
{
|
||||
int index = j + 1;
|
||||
@@ -140,7 +194,7 @@ namespace Tnb.WarehouseMgr
|
||||
string code = $"{WmsOutsourceD.matcode}-{WmsOutsourceD.code_batch}-{watercode}";
|
||||
WmsTempCode barCode = new()
|
||||
{
|
||||
material_id = WmsOutsourceD.matcode_id,
|
||||
material_id = basMaterial.id,
|
||||
material_code = WmsOutsourceD.matcode,
|
||||
barcode = code,
|
||||
code_batch = WmsOutsourceD.code_batch,
|
||||
|
||||
Reference in New Issue
Block a user