diff --git a/ProductionMgr/Tnb.ProductionMgr/RedisBackGround.cs b/ProductionMgr/Tnb.ProductionMgr/RedisBackGround.cs
index 5a84eae9..32f0d48d 100644
--- a/ProductionMgr/Tnb.ProductionMgr/RedisBackGround.cs
+++ b/ProductionMgr/Tnb.ProductionMgr/RedisBackGround.cs
@@ -3091,8 +3091,7 @@ where carry_code = '{coderesult}' and status = '{WmsWareHouseConst.TASK_BILL_STA
MaterialTransferDDistributeToZCCInput input = new MaterialTransferDDistributeToZCCInput();
input.source_id = _wmsMaterialTransferD.id;
input.xf_qty = can_qty;
- input.dbConn = db_WmsMaterialkit;
- WarehouseMgr.Entities.Dto.Outputs.Result result = await _wmsMaterialTransferService.DistributeDetailToZCC(input);
+ WarehouseMgr.Entities.Dto.Outputs.Result result = await _wmsMaterialTransferService.DistributeDetailToZCC(input, db_WmsMaterialkit);
if (result.code.ToString() != "OK")
{
LoggerWmsMaterialkit.LogWarning($"转库单{wmsMaterialTransfer.bill_code} 明细id{_wmsMaterialTransferD.id} 物料{_wmsMaterialTransferD.material_code} 批次{_wmsMaterialTransferD.code_batch} 中储仓出库时数量不匹配!");
diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Consts/ModuleConsts.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Consts/ModuleConsts.cs
index e04b50f0..e56c9c70 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Consts/ModuleConsts.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Consts/ModuleConsts.cs
@@ -293,7 +293,7 @@ public class ModuleConsts
///
/// 模块标识-委外收货
///
- public const string MODULE_WMSOUTSOURCE_ID = "36207808903445";
+ public const string MODULE_WMSOUTSOURCE_ID = "37513122815509";
///
/// 模块标识-委外收货子表
///
diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/MaterialTransferDDistributeToZCCInput.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/MaterialTransferDDistributeToZCCInput.cs
index 186b6271..07cea3d0 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/MaterialTransferDDistributeToZCCInput.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/MaterialTransferDDistributeToZCCInput.cs
@@ -26,6 +26,6 @@ namespace Tnb.WarehouseMgr.Entities.Dto
///
public decimal? xf_qty { get; set; }
- public ISqlSugarClient dbConn { get; set; } = null;
+ //public ISqlSugarClient dbConn { get; set; } = null;
}
}
diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Queries/InStockStrategyQuery.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Queries/InStockStrategyQuery.cs
index 2c73df19..951d9eb0 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Queries/InStockStrategyQuery.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Queries/InStockStrategyQuery.cs
@@ -38,6 +38,6 @@ namespace Tnb.WarehouseMgr.Entities.Dto
public string PolicyCode { get; set; }
// 策略编号
- public ISqlSugarClient dbConn { get; set; } = null;
+ //public ISqlSugarClient dbConn { get; set; } = null;
}
}
diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Queries/OutStockStrategyQuery.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Queries/OutStockStrategyQuery.cs
index f8435da9..354c2dfc 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Queries/OutStockStrategyQuery.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Queries/OutStockStrategyQuery.cs
@@ -60,6 +60,6 @@ namespace Tnb.WarehouseMgr.Entities.Dto
///
public List qcres_list { get; set; }
- public ISqlSugarClient dbConn { get; set; } = null;
+ //public ISqlSugarClient dbConn { get; set; } = null;
}
}
diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Queries/OutStockStrategyZCC2Floor2Query.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Queries/OutStockStrategyZCC2Floor2Query.cs
index cdb8ae79..53f8637f 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Queries/OutStockStrategyZCC2Floor2Query.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Queries/OutStockStrategyZCC2Floor2Query.cs
@@ -56,6 +56,6 @@ namespace Tnb.WarehouseMgr.Entities.Dto
///
public string[] endlocations { get; set; }
- public ISqlSugarClient dbConn { get; set; } = null;
+ //public ISqlSugarClient dbConn { get; set; } = null;
}
}
diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWareHouseService.cs b/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWareHouseService.cs
index 72b1afa7..6cc5251f 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWareHouseService.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWareHouseService.cs
@@ -64,25 +64,25 @@ namespace Tnb.WarehouseMgr.Interfaces
///
///
///
- Task> InStockStrategy([FromQuery] InStockStrategyQuery input);
+ Task> InStockStrategy([FromQuery] InStockStrategyQuery input, ISqlSugarClient dbConn = null);
///
/// 入库策略(包材库)
///
///
///
- Task> InStockStrategyBCK([FromQuery] InStockStrategyQuery input);
+ Task> InStockStrategyBCK([FromQuery] InStockStrategyQuery input, ISqlSugarClient dbConn = null);
///
/// 包材库2楼入库策略
///
///
///
- Task> BCKF2InStockStrategy([FromQuery] InStockStrategyQuery input);
+ Task> BCKF2InStockStrategy([FromQuery] InStockStrategyQuery input, ISqlSugarClient dbConn = null);
///
/// 出库策略
///
///
///
- Task> OutStockStrategy([FromQuery] OutStockStrategyQuery input);
+ Task> OutStockStrategy([FromQuery] OutStockStrategyQuery input, ISqlSugarClient dbConn = null);
///
/// 缓存仓出库策略
///
@@ -96,14 +96,14 @@ namespace Tnb.WarehouseMgr.Interfaces
///
///
///
- Task>> OutStockStrategyZCC2Floor2([FromQuery] OutStockStrategyZCC2Floor2Query input);
+ Task>> OutStockStrategyZCC2Floor2([FromQuery] OutStockStrategyZCC2Floor2Query input, ISqlSugarClient dbConn = null);
///
/// 出库策略-销售出库下发
///
///
///
- Task>> OutStockStrategy_saleRelease([FromQuery] OutStockStrategyQuery input);
+ Task>> OutStockStrategy_saleRelease([FromQuery] OutStockStrategyQuery input, ISqlSugarClient dbConn = null);
///
/// 路径算法
///
diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWmsMaterialTransferService.cs b/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWmsMaterialTransferService.cs
index 99ca5f8a..d9bf892a 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWmsMaterialTransferService.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWmsMaterialTransferService.cs
@@ -5,6 +5,7 @@ using System.Text;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
+using SqlSugar;
using Tnb.WarehouseMgr.Entities.Dto;
namespace Tnb.WarehouseMgr.Interfaces
@@ -18,6 +19,6 @@ namespace Tnb.WarehouseMgr.Interfaces
///
///
[HttpPost, NonUnify, AllowAnonymous]
- Task DistributeDetailToZCC(MaterialTransferDDistributeToZCCInput input);
+ Task DistributeDetailToZCC(MaterialTransferDDistributeToZCCInput input, ISqlSugarClient dbConn = null);
}
}
diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs
index 302fff30..f62f0dfe 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs
@@ -285,13 +285,13 @@ namespace Tnb.WarehouseMgr
///
///
[HttpGet]
- public async Task> InStockStrategy([FromQuery] InStockStrategyQuery input)
+ public async Task> InStockStrategy([FromQuery] InStockStrategyQuery input, ISqlSugarClient dbConn = null)
{
List items = new();
try
{
- var db = input.dbConn;
- if (input.dbConn == null)
+ var db = dbConn;
+ if (dbConn == null)
{
db = _db.CopyNew();
}
@@ -340,13 +340,13 @@ namespace Tnb.WarehouseMgr
///
///
[HttpGet]
- public async Task> InStockStrategyBCK([FromQuery] InStockStrategyQuery input)
+ public async Task> InStockStrategyBCK([FromQuery] InStockStrategyQuery input, ISqlSugarClient dbConn = null)
{
List items = new();
try
{
- var db = input.dbConn;
- if (input.dbConn == null)
+ var db = dbConn;
+ if (dbConn == null)
{
db = _db.CopyNew();
}
@@ -376,13 +376,13 @@ namespace Tnb.WarehouseMgr
///
///
[HttpGet]
- public async Task> BCKF2InStockStrategy([FromQuery] InStockStrategyQuery input)
+ public async Task> BCKF2InStockStrategy([FromQuery] InStockStrategyQuery input, ISqlSugarClient dbConn = null)
{
List items = new();
try
{
- var db = input.dbConn;
- if (input.dbConn == null)
+ var db = dbConn;
+ if (dbConn == null)
{
db = _db.CopyNew();
}
@@ -482,7 +482,7 @@ namespace Tnb.WarehouseMgr
///
///
[HttpGet]
- public async Task>> OutStockStrategy_saleRelease([FromQuery] OutStockStrategyQuery input)
+ public async Task>> OutStockStrategy_saleRelease([FromQuery] OutStockStrategyQuery input, ISqlSugarClient dbConn = null)
{
Expressionable whereExprable = Expressionable.Create()
.And((a, b, c) => a.is_lock == 0 && c.is_lock == 0)
@@ -502,8 +502,8 @@ namespace Tnb.WarehouseMgr
_ = whereExprable.And(carryStatusFilterExp);
Expression> whereExpr = whereExprable.ToExpression();
- var cyDb = input.dbConn;
- if (input.dbConn == null)
+ var cyDb = dbConn;
+ if (dbConn == null)
{
cyDb = _db.CopyNew();
}
@@ -545,10 +545,10 @@ namespace Tnb.WarehouseMgr
return items;
}
- public async Task> OutStockStrategy([FromQuery] OutStockStrategyQuery input)
+ public async Task> OutStockStrategy([FromQuery] OutStockStrategyQuery input, ISqlSugarClient dbConn = null)
{
- var cyDb = input.dbConn;
- if (input.dbConn == null)
+ var cyDb = dbConn;
+ if (dbConn == null)
{
cyDb = _db.CopyNew();
}
@@ -662,10 +662,10 @@ namespace Tnb.WarehouseMgr
///
///
///
- public async Task>> OutStockStrategyZCC2Floor2([FromQuery] OutStockStrategyZCC2Floor2Query input)
+ public async Task>> OutStockStrategyZCC2Floor2([FromQuery] OutStockStrategyZCC2Floor2Query input, ISqlSugarClient dbConn = null)
{
- var cyDb = input.dbConn;
- if (input.dbConn == null)
+ var cyDb = dbConn;
+ if (dbConn == null)
{
cyDb = _db.CopyNew();
}
@@ -3689,7 +3689,7 @@ namespace Tnb.WarehouseMgr
points.Add(wmsPointHs.Where(r => r.point_code == $"DT-C-04-0{elevatorSno}").First());
points.Add(wmsPointHs.Where(r => r.point_code == $"DT-4-{elevatorSno}").First());
points.Add(wmsPointHs.Where(r => r.point_code == $"DT-3-{elevatorSno}").First());
- points.Add(wmsPointHs.Where(r => r.point_code == $"DT-R-03-0{elevatorSno}").First());
+ points.Add(wmsPointHs.Where(r => r.point_code == $"DT-03-0{elevatorSno}").First());
points.Add(wmsPointHs.Where(r => r.id == pEndId).First());
}
else
diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsMaterialTransferService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsMaterialTransferService.cs
index 125a7ac9..c8128e88 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr/WmsMaterialTransferService.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsMaterialTransferService.cs
@@ -485,7 +485,7 @@ namespace Tnb.WarehouseMgr
///
///
[HttpPost]
- public async Task DistributeJZCToCPC(DistributeF4JXCInput input)
+ public async Task DistributeJZCToCPC(DistributeF4JXCInput input)
{
SemaphoreSlim semaphoreSlim_MJC = null;
SemaphoreSlim semaphoreSlim_CPK = null;
@@ -512,6 +512,7 @@ namespace Tnb.WarehouseMgr
await _db.Ado.BeginTranAsync();
+ int xfCarrysCount = 0;
foreach (WmsMaterialTransferD wmsMaterialTransferD in wmsMaterialTransferDs)
{
// 转库单载具子表
@@ -526,10 +527,9 @@ namespace Tnb.WarehouseMgr
warehouse_id = WmsWareHouseConst.WAREHOUSE_MJC_ID,
material_id = wmsMaterialTransferD.material_id,
code_batch = wmsMaterialTransferD.code_batch,
- qty = needOut,
- dbConn = _db
+ qty = needOut
};
- List> carryitems = await _wareHouseService.OutStockStrategy_saleRelease(outStockStrategyInput);
+ List> carryitems = await _wareHouseService.OutStockStrategy_saleRelease(outStockStrategyInput, _db);
List> items_pretask = carryitems.Where(r => r.Item1 == "预任务").ToList();
decimal canOutstockQty = items_pretask.Sum(r => r.Item3.codeqty).ParseToDecimal();
@@ -554,21 +554,18 @@ namespace Tnb.WarehouseMgr
&& r.status == WmsWareHouseConst.BILLSTATUS_ADD_ID && r.origin == "外协调拨入库").FirstAsync();
if (wmsSterilizationInstockH == null)
{
- Logger.LogWarning($"【四楼静置仓到成品库】载具{wmsCarryH.carry_code}没有找到新增状态且来源是外协调拨入库的灭菌入库记录!");
- continue;
+ throw new Exception($"【四楼静置仓到成品库】载具{wmsCarryH.carry_code}没有找到新增状态且来源是外协调拨入库的灭菌入库记录!");
}
if (wmsCarryH.location_id != wmsSterilizationInstockH.location_id)
{
- Logger.LogWarning($"【四楼静置仓到成品库】载具{wmsCarryH.carry_code}实际位置与灭菌入库记录位置不一致");
- continue;
+ throw new Exception($"【四楼静置仓到成品库】载具{wmsCarryH.carry_code}实际位置与灭菌入库记录位置不一致");
}
BasLocation startlocation = await _db.Queryable().Where(r => r.id == wmsCarryH.location_id).FirstAsync();
if (startlocation.is_lock == 1)
{
- Logger.LogWarning($"【四楼静置仓到成品库】 起点库位{startlocation.location_code}已锁定");
- continue;
+ throw new Exception($"【四楼静置仓到成品库】 起点库位{startlocation.location_code}已锁定");
}
wmsSterilizationInstockH.status = WmsWareHouseConst.BILLSTATUS_ON_ID;
@@ -633,13 +630,16 @@ namespace Tnb.WarehouseMgr
await _db.Insertable(wmsMaterialTransferCarrys).ExecuteCommandAsync();
Logger.LogInformation($"【DistributeF4JXC】插入转库单{wmsMaterialTransfer.bill_code}载具表的数据");
+ xfCarrysCount += wmsMaterialTransferCarrys.Count;
Logger.LogInformation($"转库单{wmsMaterialTransfer.bill_code} 行号 {wmsMaterialTransferD.lineno}预任务{wmsMaterialTransferCarrys.Count}条全部生成成功");
}
+ if (xfCarrysCount == 0)
+ {
+ throw new AppFriendlyException($"可下发数量为0", 500);
+ }
+
await _db.Ado.CommitTranAsync();
-
-
-
}
catch(Exception ex)
{
@@ -1590,10 +1590,9 @@ namespace Tnb.WarehouseMgr
needOut = needOut,
material_code = wmsMaterialTransferD.material_code,
endlocations = new string[2] { WmsWareHouseConst.ZZCSSX121009, WmsWareHouseConst.ZZCSSX121010 },
- dbConn = _db
};
- List>? carrys = await _wareHouseService.OutStockStrategyZCC2Floor2(OutStockStrategyInput);
+ List>? carrys = await _wareHouseService.OutStockStrategyZCC2Floor2(OutStockStrategyInput, _db);
foreach (var item in carrys)
{
@@ -1682,11 +1681,11 @@ namespace Tnb.WarehouseMgr
///
///
[HttpPost, NonUnify, AllowAnonymous]
- public async Task DistributeDetailToZCC(MaterialTransferDDistributeToZCCInput input)
+ public async Task DistributeDetailToZCC(MaterialTransferDDistributeToZCCInput input, ISqlSugarClient dbConn = null)
{
await _s_taskExecuteSemaphore_F1ZCCOutstock.WaitAsync();
- var db = input.dbConn;
- if (input.dbConn == null)
+ var db = dbConn;
+ if (dbConn == null)
db = _db;
Logger.LogInformation($"中储仓下发到二楼暂存仓");
diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsOutsourceDService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsOutsourceDService.cs
index 4dfcd340..0b44141d 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr/WmsOutsourceDService.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsOutsourceDService.cs
@@ -90,7 +90,7 @@ namespace Tnb.WarehouseMgr
if (qcRes != (wmsOutsourceD.qc_res ?? ""))
{
- BasMaterial basMaterial = await _db.Queryable().Where(r => r.id == wmsOutsourceD.matcode_id).FirstAsync();
+ BasMaterial basMaterial = await _db.Queryable().Where(r => r.code == wmsOutsourceD.matcode).FirstAsync();
WmsPurchaseQcrecord wmsPurchaseQcrecord = new WmsPurchaseQcrecord();
wmsPurchaseQcrecord.create_id = create_id;
wmsPurchaseQcrecord.create_time = DateTime.Now;
@@ -122,7 +122,7 @@ namespace Tnb.WarehouseMgr
// 托盘对应入库单
List instock_mains = await _db.Queryable().Where(x => x.source_id == wmsOutsourceD.fk_wms_outsource_order_id).ToListAsync();
- List allInstockDetails = await _db.Queryable().Where(it => instock_mains.Select(r => r.id).Contains(it.bill_id) && it.material_id == wmsOutsourceD.matcode_id && it.code_batch == wmsOutsourceD.code_batch).OrderBy(x=>x.id).ToListAsync();
+ List allInstockDetails = await _db.Queryable().Where(it => instock_mains.Select(r => r.id).Contains(it.bill_id) && it.material_code == wmsOutsourceD.matcode && it.code_batch == wmsOutsourceD.code_batch).OrderBy(x=>x.id).ToListAsync();
List> requestData = new List>();
List carryIds = instock_mains.Select(x => x.carry_id).ToList();
diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsOutsourceService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsOutsourceService.cs
index f99357a4..c570d842 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr/WmsOutsourceService.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsOutsourceService.cs
@@ -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 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().SetColumns(r => r.make_method == "自制").Where(r => r.id == id).ExecuteCommandAsync();
+ }
+ else
+ {
+ await _db.Updateable().SetColumns(r => r.make_method == "同步").Where(r => r.id == id).ExecuteCommandAsync();
+ }
+
+ await _db.Updateable().SetColumns(r => r.qc_res == "await").Where(r => r.fk_wms_outsource_order_id == id).ExecuteCommandAsync();
+
+ return "保存成功";
+ }
+
+ // List wmsDistaskH = await _db.Queryable().Where(r => r.source_id == id).ToListAsync();
+ private async Task Delete(string id)
+ {
+ await _db.Ado.BeginTranAsync();
+
+ WmsOutsourceH wmsOutsourceH = await _db.Queryable().Where(r => r.id == id).FirstAsync();
+ if (wmsOutsourceH != null)
+ {
+ _ = await _db.Deleteable(wmsOutsourceH).ExecuteCommandAsync();
+ List wmsoutsourceDs = await _db.Queryable().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().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 wmsTempCodes = new();
- decimal? minPacking = (await _db.Queryable().FirstAsync(it => it.id == WmsOutsourceD.matcode_id))?.minpacking;
+ decimal? minPacking = (await _db.Queryable().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().Where(r => r.id == WmsOutsourceD.matcode_id).FirstAsync();
+ BasMaterial basMaterial = await _db.Queryable().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,
diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAScanInStockService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAScanInStockService.cs
index d4021e40..04db7178 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAScanInStockService.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAScanInStockService.cs
@@ -430,7 +430,7 @@ namespace Tnb.WarehouseMgr
case WmsWareHouseConst.BILLTYPE_OUTSOURCE_ID:
{
bill_type = WmsWareHouseConst.BILLTYPE_OUTSOURCEINSTOCK_ID;
- biz_type = WmsWareHouseConst.BIZTYPE_OUTSOURCE_ID;
+ source_main_id = (await _dbScanInStockByRedis.Queryable().FirstAsync(it => it.id == source_id)).erp_outsource_order_d_pk;
break;
}
case WmsWareHouseConst.BILLTYPE_RAWMATTRANSFERINSTOCK_ID:
diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPurchaseQcrecordService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPurchaseQcrecordService.cs
index e6caf1cf..368fb7c3 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPurchaseQcrecordService.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPurchaseQcrecordService.cs
@@ -79,7 +79,8 @@ namespace Tnb.WarehouseMgr
batchno = JObject.Parse(input.queryJson).Value("batchno");
material_specification = JObject.Parse(input.queryJson).Value(nameof(WmsCarryCode.material_specification));
container_no = JObject.Parse(input.queryJson).Value(nameof(WmsCarryCode.container_no));
- time = JObject.Parse(input.queryJson).Value("time");
+ if (JObject.Parse(input.queryJson).ContainsKey("time"))
+ time = JObject.Parse(input.queryJson).Value("time");
}
decimal total_qty = 0;
diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPurchaseService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPurchaseService.cs
index 7f971beb..c3d62f60 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPurchaseService.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPurchaseService.cs
@@ -41,6 +41,7 @@ using Tnb.BasicData.Interfaces;
using JNPF.Common.Enums;
using System.Reflection;
using Aop.Api.Domain;
+using Tnb.EquipMgr.Entities;
namespace Tnb.WarehouseMgr
{
@@ -72,11 +73,10 @@ namespace Tnb.WarehouseMgr
_thirdApiRecordService = thirdApiRecordService;
_visualDevService = visualDevService;
OverideFuncs.CreateAsync += Create;
+ OverideFuncs.DeleteAsync = Delete;
}
- ///
- /// 保存工序工位关联表
- ///
+
[HttpPost]
public async Task Create(VisualDevModelDataCrInput visualDevModelDataCrInput)
{
@@ -100,6 +100,31 @@ namespace Tnb.WarehouseMgr
return "保存成功";
}
+ // List wmsDistaskH = await _db.Queryable().Where(r => r.source_id == id).ToListAsync();
+ private async Task Delete(string id)
+ {
+ await _db.Ado.BeginTranAsync();
+
+ WmsPurchaseH wmsPurchaseH = await _db.Queryable().Where(r => r.id == id).FirstAsync();
+ if (wmsPurchaseH != null)
+ {
+ _ = await _db.Deleteable(wmsPurchaseH).ExecuteCommandAsync();
+ List wmsPurchaseDs = await _db.Queryable().Where(r => r.bill_id == id).ToListAsync();
+ Logger.Information($"删除采购收货单{wmsPurchaseH.bill_code} 收货明细{wmsPurchaseDs.Count}条");
+ foreach (WmsPurchaseD wmsPurchaseD in wmsPurchaseDs)
+ {
+ WmsPurchaseOrderD wmsPurchaseOrderD = await _db.Queryable().Where(r => r.erp_line_pk == wmsPurchaseD.erp_purchase_order_d_pk).FirstAsync();
+ if (wmsPurchaseOrderD != null)
+ {
+ Logger.Information($"采购收货单{wmsPurchaseH.bill_code} 收货明细id{wmsPurchaseOrderD.id} 删除后回退采购订单明细id{wmsPurchaseOrderD.id}已到货数量 {wmsPurchaseOrderD.actual_quantity} -> {wmsPurchaseOrderD.actual_quantity - wmsPurchaseD.purchase_arriveqty}");
+ wmsPurchaseOrderD.actual_quantity -= wmsPurchaseD.purchase_prqty;
+ await _db.Updateable(wmsPurchaseOrderD).UpdateColumns(r => r.actual_quantity).ExecuteCommandAsync();
+ }
+ }
+ _ = await _db.Deleteable(wmsPurchaseDs).ExecuteCommandAsync();
+ }
+ await _db.Ado.CommitTranAsync();
+ }
private async Task xxx(VisualDevModelDataCrInput input)
{
diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsSaleReleaseService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsSaleReleaseService.cs
index 82666bcc..3233d335 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr/WmsSaleReleaseService.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsSaleReleaseService.cs
@@ -180,8 +180,8 @@ namespace Tnb.WarehouseMgr
}
await _db.Ado.BeginTranAsync();
//入库取终点 //出库起点
- OutStockStrategyQuery outStockStrategyInput = new() { warehouse_id = WmsWareHouseConst.WAREHOUSE_CP_ID, material_id = wmsOutstockD.material_id, qty = input.qty, code_batch = wmsOutstockD.code_batch, Region_id = WmsWareHouseConst.REGION_CPOutstock_ID, dbConn = _db };
- List> items = await _wareHouseService.OutStockStrategy_saleRelease(outStockStrategyInput);
+ OutStockStrategyQuery outStockStrategyInput = new() { warehouse_id = WmsWareHouseConst.WAREHOUSE_CP_ID, material_id = wmsOutstockD.material_id, qty = input.qty, code_batch = wmsOutstockD.code_batch, Region_id = WmsWareHouseConst.REGION_CPOutstock_ID };
+ List> items = await _wareHouseService.OutStockStrategy_saleRelease(outStockStrategyInput, _db);
decimal canOutstockQty = items.Sum(r => r.Item3.codeqty).ParseToDecimal();
if (canOutstockQty < input.qty)
@@ -215,8 +215,8 @@ namespace Tnb.WarehouseMgr
//人工发货
else
{
- InStockStrategyQuery inStockStrategyInput = new() { warehouse_id = WmsWareHouseConst.WAREHOUSE_CP_ID, Size = items_pretask.Count, Region_id = WmsWareHouseConst.REGION_CPManualOutstock_ID, dbConn = _db };
- endLocations = await _wareHouseService.InStockStrategy(inStockStrategyInput);
+ InStockStrategyQuery inStockStrategyInput = new() { warehouse_id = WmsWareHouseConst.WAREHOUSE_CP_ID, Size = items_pretask.Count, Region_id = WmsWareHouseConst.REGION_CPManualOutstock_ID };
+ endLocations = await _wareHouseService.InStockStrategy(inStockStrategyInput, _db);
if (endLocations.Count < items_pretask.Count)
{
@@ -267,8 +267,8 @@ namespace Tnb.WarehouseMgr
//人工发货
else
{
- InStockStrategyQuery inStockStrategyInput = new() { warehouse_id = WmsWareHouseConst.WAREHOUSE_CP_ID, Size = 1, Region_id = WmsWareHouseConst.REGION_CPManualOutstock_ID, dbConn = _db };
- endLocations = await _wareHouseService.InStockStrategy(inStockStrategyInput);
+ InStockStrategyQuery inStockStrategyInput = new() { warehouse_id = WmsWareHouseConst.WAREHOUSE_CP_ID, Size = 1, Region_id = WmsWareHouseConst.REGION_CPManualOutstock_ID };
+ endLocations = await _wareHouseService.InStockStrategy(inStockStrategyInput, _db);
if (endLocations.Count < 1)
{
diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsTransferOutstockService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsTransferOutstockService.cs
index 7f695e72..5bf449bc 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr/WmsTransferOutstockService.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsTransferOutstockService.cs
@@ -96,8 +96,8 @@ namespace Tnb.WarehouseMgr
WmsTransferOutstockD wmsOutstockD = await _db.Queryable().FirstAsync(it => it.id == input.source_id);
await _db.Ado.BeginTranAsync();
//入库取终点 //出库起点
- OutStockStrategyQuery outStockStrategyInput = new() { warehouse_id = WmsWareHouseConst.WAREHOUSE_CP_ID, material_id = wmsOutstockD.material_id, qty = input.qty, code_batch = wmsOutstockD.pi_code, Region_id = WmsWareHouseConst.REGION_CPOutstock_ID, dbConn = _db };
- List> items = await _wareHouseService.OutStockStrategy_saleRelease(outStockStrategyInput);
+ OutStockStrategyQuery outStockStrategyInput = new() { warehouse_id = WmsWareHouseConst.WAREHOUSE_CP_ID, material_id = wmsOutstockD.material_id, qty = input.qty, code_batch = wmsOutstockD.pi_code, Region_id = WmsWareHouseConst.REGION_CPOutstock_ID };
+ List> items = await _wareHouseService.OutStockStrategy_saleRelease(outStockStrategyInput, _db);
decimal canOutstockQty = items.Sum(r => r.Item3.codeqty).ParseToDecimal();
if (canOutstockQty < input.qty)