diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Consts/WmsWareHouseConst.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Consts/WmsWareHouseConst.cs
index 7af0180e..1e0c4ff8 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Consts/WmsWareHouseConst.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Consts/WmsWareHouseConst.cs
@@ -27,6 +27,17 @@ namespace Tnb.WarehouseMgr.Entities.Consts
/// 预任务生成EnCode
///
public const string WMS_PRETASK_H_ENCODE = "PreTaskGen";
+ /// 齐套出库生成Encode
+ ///
+ public const string WMS_KITTINGOUTSTK_ENCODE = "WmsKittingOutStk";
+ ///
+ /// 空载具出库生成Encode
+ ///
+ public const string WMS_EMPTYOUTSTK_ENCODE = "EptyCarryOutStk";
+ ///
+ /// 空载具入库生成Encode
+ ///
+ public const string WMS_EMPTYINSTK_ENCODE = "EptyCarryInbound";
///
/// 载具移入生成Encode
///
diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/MESCarryQueryInput.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/MESCarryQueryInput.cs
new file mode 100644
index 00000000..4215b2fc
--- /dev/null
+++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/MESCarryQueryInput.cs
@@ -0,0 +1,28 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tnb.WarehouseMgr.Entities.Dto.Inputs
+{
+ ///
+ /// MES载具查询接口输入
+ ///
+ public class MESCarryQueryInput
+ {
+ ///
+ /// 组织ID
+ ///
+ public string org_id { get; set; }
+ ///
+ /// 载具编号
+ ///
+ public string carry_code { get; set; }
+ ///
+ /// 齐套搭配方案名称
+ ///
+ public string collocation_scheme_name { get; set; }
+ }
+}
+
diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/MESCarryQueryResultInput.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/MESCarryQueryResultInput.cs
new file mode 100644
index 00000000..668a580c
--- /dev/null
+++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/MESCarryQueryResultInput.cs
@@ -0,0 +1,23 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tnb.WarehouseMgr.Entities.Dto.Inputs
+{
+ ///
+ /// MES载具查询返回接口输入
+ ///
+ public class MESCarryQueryResultInput
+ {
+ ///
+ /// 组织ID
+ ///
+ public string org_id { get; set; }
+ ///
+ /// 载具编号
+ ///
+ public string carry_code { get; set; }
+ }
+}
diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/MESCarrySignInput.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/MESCarrySignInput.cs
new file mode 100644
index 00000000..8c6ae151
--- /dev/null
+++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/MESCarrySignInput.cs
@@ -0,0 +1,21 @@
+namespace Tnb.WarehouseMgr
+{
+ ///
+ /// MES载具签收接口输入
+ ///
+ public class MESCarrySignInput
+ {
+ ///
+ /// 组织ID
+ ///
+ public string? org_id { get; set; }
+ ///
+ /// 载具Id
+ ///
+ public string? carry_id { get; set;}
+ ///
+ /// 创建热Id
+ ///
+ public string? create_id { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/MESCollocationSchemeQueryInput.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/MESCollocationSchemeQueryInput.cs
new file mode 100644
index 00000000..9ad7c3c1
--- /dev/null
+++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/MESCollocationSchemeQueryInput.cs
@@ -0,0 +1,26 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tnb.WarehouseMgr.Entities.Dto.Inputs
+{
+ public class MESCollocationSchemeQueryInput
+ {
+ ///
+ /// 齐套出库主表
+ ///
+ //public WmsCollocationSchemeH wmsCollocationSchemeH { get; set; }
+
+ ///
+ /// 产品ID
+ ///
+ public string material_id { get; set; }
+
+ ///
+ /// 组织ID
+ ///
+ public string org_id { get; set; }
+ }
+}
diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/MESCreateInstockInput.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/MESCreateInstockInput.cs
index fc452810..1b126500 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/MESCreateInstockInput.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/MESCreateInstockInput.cs
@@ -6,6 +6,9 @@ using System.Threading.Tasks;
namespace Tnb.WarehouseMgr.Entities.Dto.Inputs
{
+ ///
+ /// MES入库输入
+ ///
public class MESCreateInstockInput
{
///
diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/MESCreateOutstockInput.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/MESCreateOutstockInput.cs
index 7b955ca4..ad5d3924 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/MESCreateOutstockInput.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/MESCreateOutstockInput.cs
@@ -6,6 +6,9 @@ using System.Threading.Tasks;
namespace Tnb.WarehouseMgr.Entities.Dto.Inputs
{
+ ///
+ /// MES出库输入
+ ///
public class MESCreateOutstockInput
{
///
diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/MESEmptyCarryInStockInput.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/MESEmptyCarryInStockInput.cs
new file mode 100644
index 00000000..f72c2175
--- /dev/null
+++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/MESEmptyCarryInStockInput.cs
@@ -0,0 +1,35 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tnb.WarehouseMgr.Entities.Dto.Inputs
+{
+ ///
+ /// MES空载具入库输入
+ ///
+ public class MESEmptyCarryInStockInput
+ {
+ ///
+ /// 组织ID
+ ///
+ public string? org_id { get; set; }
+ ///
+ /// 库位编号
+ ///
+ public string? location_code { get; set; }
+ ///
+ /// 载具编号
+ ///
+ public string? carry_code { get; set; }
+ ///
+ /// 创建用户
+ ///
+ public string? create_id { get; set; }
+ ///
+ /// 入库仓库
+ ///
+ public string? warehouse_id { get; set; }
+ }
+}
diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/MESEmptyCarryOutStkInput.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/MESEmptyCarryOutStkInput.cs
new file mode 100644
index 00000000..93f5856d
--- /dev/null
+++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/MESEmptyCarryOutStkInput.cs
@@ -0,0 +1,44 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tnb.WarehouseMgr.Entities.Dto.Inputs
+{
+ ///
+ /// MES空载具出库输入
+ ///
+ public class MESEmptyCarryOutStkInput
+ {
+
+ ///
+ /// 组织ID
+ ///
+ public string org_id { get; set; }
+
+ ///
+ /// 库位编号
+ ///
+ public string location_code { get; set; }
+
+ ///
+ /// 创建用户
+ ///
+ public string? create_id { get; set; }
+ ///
+ /// 入库仓库
+ ///
+ public string? warehouse_id { get; set; }
+
+ ///
+ /// 载具规格编号
+ ///
+ public string? carrystd_id { get; set; }
+
+ ///
+ /// 数量
+ ///
+ public int? qty { get; set; }
+ }
+}
diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/MESKittingOutStkInput.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/MESKittingOutStkInput.cs
new file mode 100644
index 00000000..4382e398
--- /dev/null
+++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/MESKittingOutStkInput.cs
@@ -0,0 +1,140 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tnb.WarehouseMgr.Entities.Dto.Inputs
+{
+ ///
+ /// MES齐套出库输入类
+ ///
+ public class MESKittingOutStkInput
+ {
+ ///
+ /// 所属组织ID
+ ///
+ public string? org_id { get; set; }
+
+ ///
+ /// 出库单创建日期
+ ///
+ public DateTime bill_date { get; set; } = DateTime.Now;
+
+ ///
+ /// 业务类型
+ ///
+ public string biz_type { get; set; } = string.Empty;
+
+ ///
+ /// 发料仓库ID
+ ///
+ public string warehouse_id { get; set; } = string.Empty;
+
+ ///
+ /// 库位ID
+ ///
+ public string? location_id { get; set; }
+
+ ///
+ /// 库位编号
+ ///
+ public string? location_code { get; set; }
+
+ ///
+ /// 载具ID
+ ///
+ public string? carry_id { get; set; }
+
+ ///
+ /// 载具编号
+ ///
+ public string? carry_code { get; set; }
+
+ ///
+ /// 产品ID
+ ///
+ public string? material_id { get; set; }
+
+ ///
+ /// 产品编号
+ ///
+ public string? material_code { get; set; }
+
+ ///
+ /// 齐套搭配方案ID
+ ///
+ public string? collocation_scheme_id { get; set; }
+
+ ///
+ /// 齐套搭配方案编号
+ ///
+ public string collocation_scheme_code { get; set; } = string.Empty;
+
+ ///
+ /// 来源单据ID
+ ///
+ public string? source_id { get; set; }
+
+
+ ///
+ /// 顺序号
+ ///
+ public int seq { get; set; }
+
+ ///
+ /// 创建用户ID
+ ///
+ public string? create_id { get; set; }
+
+ ///
+ /// MES齐套出库明细表输入
+ ///
+ public List? wmsKittingoutDs { get; set; }
+ }
+
+ ///
+ /// MES齐套出库明细表输入类
+ ///
+ public class MESKittingOutStkDInput
+ {
+
+ ///
+ /// 单位ID
+ ///
+ public string unit_id { get; set; } = string.Empty;
+
+
+ ///
+ /// 单位编号
+ ///
+ public string? unit_code { get; set; }
+
+
+ ///
+ /// 产品ID
+ ///
+ public string? material_id { get; set; }
+
+ ///
+ /// 产品编号
+ ///
+ public string? material_code { get; set; }
+
+ ///
+ /// 批次
+ ///
+ public string? code_batch { get; set; }
+
+ ///
+ /// 数量(件数)
+ ///
+ public decimal? pr_qty { get; set; }
+
+ ///
+ /// 箱数
+ ///
+ public int? box { get; set; }
+
+ }
+}
diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/SignForDeliveryInput.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/SignForDeliveryInput.cs
index c1de744a..c4069841 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/SignForDeliveryInput.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/SignForDeliveryInput.cs
@@ -22,6 +22,8 @@ namespace Tnb.WarehouseMgr.Entities.Dto.Inputs
public string new_carry_code { get; set; }
+ public string org_id { get; set; }
+
///
/// 任务执行条码表
///
diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Outputs/CarryQueryOutput.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Outputs/CarryQueryOutput.cs
new file mode 100644
index 00000000..3cf3487c
--- /dev/null
+++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Outputs/CarryQueryOutput.cs
@@ -0,0 +1,146 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tnb.WarehouseMgr.Entities.Dto.Outputs
+{
+ ///
+ /// 载具查询输出类
+ ///
+ public class CarryQueryOutput
+ {
+ public string id { get; set; }
+
+ ///
+ /// 所属组织ID
+ /// ?
+ public string? org_id { get; set; }
+
+ ///
+ /// 载具编号
+ ///
+ public string carry_code { get; set; } = string.Empty;
+
+ ///
+ /// 载具名称
+ ///
+ public string carry_name { get; set; } = string.Empty;
+
+
+ ///
+ /// 载具分类ID
+ ///
+ public string carrystd_id { get; set; } = string.Empty;
+
+ ///
+ /// 载具库位ID
+ ///
+ public string? location_id { get; set; }
+
+ ///
+ /// 载具库位编号
+ ///
+ public string? location_code { get; set; }
+
+ ///
+ /// 来源单据ID
+ ///
+ public string? source_id { get; set; }
+
+ ///
+ /// 打包号
+ ///
+ public string? bale_num { get; set; }
+
+ ///
+ /// 齐套搭配方案ID
+ ///
+ public string? collocation_scheme_id { get; set; }
+
+ ///
+ /// 齐套搭配方案编号
+ ///
+ public string? collocation_scheme_code { get; set; }
+ ///
+ /// 载具条码明细输出
+ ///
+ public List? wmsCarryCodes { get; set; }
+
+ }
+ ///
+ /// 载具查询明细输出类
+ ///
+ public class CarryCodeQueryOutput
+ {
+ ///
+ /// 主键ID
+ ///
+ public string id { get; set; }
+ ///
+ /// 所属组织ID
+ ///
+ public string? org_id { get; set; }
+
+ ///
+ /// 上级载具ID
+ ///
+ public string carry_id { get; set; }
+
+ ///
+ /// 物品ID
+ ///
+ public string material_id { get; set; } = string.Empty;
+
+ ///
+ /// 物品代码
+ ///
+ public string material_code { get; set; } = string.Empty;
+
+ ///
+ /// 条码编号
+ ///
+ public string barcode { get; set; } = string.Empty;
+
+ ///
+ /// 批次
+ ///
+ public string? code_batch { get; set; }
+
+ ///
+ /// 条码数量
+ ///
+ public decimal codeqty { get; set; }
+
+ ///
+ /// 是否出库
+ ///
+ public int is_out { get; set; }
+
+ ///
+ /// 库位ID
+ ///
+ public string location_id { get; set; } = string.Empty;
+
+ ///
+ /// 库位编号
+ ///
+ public string location_code { get; set; } = string.Empty;
+
+ ///
+ /// 单位ID
+ ///
+ public string unit_id { get; set; } = string.Empty;
+
+ ///
+ /// 单位代码
+ ///
+ public string unit_code { get; set; } = string.Empty;
+
+ ///
+ /// 仓库ID
+ ///
+ public string? warehouse_id { get; set; }
+ }
+}
diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Outputs/CollocationSchemeOutput.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Outputs/CollocationSchemeOutput.cs
new file mode 100644
index 00000000..24ef9f82
--- /dev/null
+++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Outputs/CollocationSchemeOutput.cs
@@ -0,0 +1,112 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tnb.WarehouseMgr.Entities.Dto.Outputs
+{
+ ///
+ /// 搭配方案输出类
+ ///
+ public class CollocationSchemeOutput
+ {
+ ///
+ /// 主键
+ ///
+ public string id { get; set; }
+ ///
+ /// 所属组织ID
+ ///
+ public string org_id { get; set; }
+
+ ///
+ /// 搭配方案编号
+ ///
+ public string bill_code { get; set; } = string.Empty;
+
+ ///
+ /// 搭配方案名称
+ ///
+ public string bill_name { get; set; } = string.Empty;
+
+ ///
+ /// 顺序号
+ ///
+ public int seq { get; set; }
+
+ ///
+ /// 产品ID
+ ///
+ public string material_id { get; set; } = string.Empty;
+
+ ///
+ /// 产品代码
+ ///
+ public string material_code { get; set; } = string.Empty;
+
+ ///
+ /// 配送次数
+ ///
+ public int count { get; set; }
+
+ ///
+ /// 最低库存
+ ///
+ public int minimum { get; set; }
+
+ ///
+ /// 库位ID
+ ///
+ public string? location_id { get; set; }
+ ///
+ /// 齐套明细输出
+ ///
+ public List? CollocationSchemeDs { get; set; }
+
+ public List list{ get; set; }
+ }
+
+ public class CollocationSchemeDOutput
+ {
+ ///
+ /// 主键ID
+ ///
+ public string? id { get; set; }
+ ///
+ /// 所属组织ID
+ ///
+ public string? org_id { get; set; }
+
+ ///
+ /// 搭配方案ID
+ ///
+ public string bill_id { get; set; } = string.Empty;
+
+ ///
+ /// 物料ID
+ ///
+ public string material_id { get; set; } = string.Empty;
+
+ ///
+ /// 物料代码
+ ///
+ public string material_code { get; set; } = string.Empty;
+
+ ///
+ /// 载具规格ID
+ ///
+ public string carrystd_id { get; set; } = string.Empty;
+
+ ///
+ /// 数量(件数)
+ ///
+ public decimal qty { get; set; }
+
+ ///
+ /// 箱数
+ ///
+ public int box { get; set; }
+
+ }
+}
diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Mapper/Mapper.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Mapper/Mapper.cs
index c40a0dc2..8cffe67e 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Mapper/Mapper.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Mapper/Mapper.cs
@@ -1,6 +1,7 @@
using Mapster;
using Tnb.WarehouseMgr.Entities;
using Tnb.WarehouseMgr.Entities.Dto;
+using Tnb.WarehouseMgr.Entities.Dto.Inputs;
namespace Tnb.WarehouseMgr.Entities.Mapper
{
@@ -11,6 +12,10 @@ namespace Tnb.WarehouseMgr.Entities.Mapper
config.ForType()
.Map(dest => dest.pretask_id, src => src.id)
.Map(dest => dest.pretask_code, src => src.bill_code);
+
+ config.ForType()
+ .Map(dest => dest.carryId, src => src.carry_id)
+ ;
}
}
}
\ No newline at end of file
diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWareHouseService.cs b/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWareHouseService.cs
index 35f0acb4..0128222d 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWareHouseService.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWareHouseService.cs
@@ -1,8 +1,58 @@
-using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
-using System.Text;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Tnb.BasicData.Entities;
using Tnb.WarehouseMgr.Entities;
using Tnb.WarehouseMgr.Entities.Dto;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Linq.Expressions;
+using System.Text;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Mvc;
+using Tnb.BasicData.Entities;
+using Tnb.WarehouseMgr.Entities;
+using Tnb.WarehouseMgr.Entities.Dto;
using Tnb.WarehouseMgr.Entities.Dto.Inputs;
-namespace Tnb.WarehouseMgr.Interfaces
{
- ///
/// 库房业务(出入库)接口
///
public interface IWareHouseService
{
///
/// 入库策略
///
///
///
Task> InStockStrategy([FromQuery] InStockStrategyQuery input);
///
/// 出库策略
///
///
///
//Task> OutStockStrategy([FromQuery] OutStockStrategyQuery input);
///
/// 路径算法
///
///
///
///
Task> PathAlgorithms(string pStartId, string pEndId);
///
/// 生成预任务
///
///
///
Task GenPreTask(List preTasks,List preTaskCodes);
///
/// 生成预任务成功后操作
///
///
///
Task GenInStockTaskHandleAfter(GenPreTaskUpInput input,Expression> setCarryColumnsExp,Expression> setLocaionColumbExp);
///
/// 任务完成
///
///
///
+namespace Tnb.WarehouseMgr.Interfaces
+{
+ ///
+ /// 库房业务(出入库)接口
+ ///
+ public interface IWareHouseService
+ {
+ ///
+ /// 入库策略
+ ///
+ ///
+ ///
+ Task> InStockStrategy([FromQuery] InStockStrategyQuery input);
+ ///
+ /// 出库策略
+ ///
+ ///
+ ///
+ //Task> OutStockStrategy([FromQuery] OutStockStrategyQuery input);
+ ///
+ /// 路径算法
+ ///
+ ///
+ ///
+ ///
+ Task> PathAlgorithms(string pStartId, string pEndId);
+ ///
+ /// 生成预任务
+ ///
+ ///
+ ///
+ Task GenPreTask(List preTasks,List preTaskCodes);
+ ///
+ /// 生成预任务成功后操作
+ ///
+ ///
+ ///
+ Task GenInStockTaskHandleAfter(GenPreTaskUpInput input,Expression> setCarryColumnsExp,Expression> setLocaionColumbExp);
+ ///
+ /// 任务完成
+ ///
+ ///
+ ///
Task TaskComplate(TaskCompleUpInput input);
- }
}
\ No newline at end of file
+ }
+}
diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWmsCarryQueryService.cs b/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWmsCarryQueryService.cs
new file mode 100644
index 00000000..ddcfaf51
--- /dev/null
+++ b/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWmsCarryQueryService.cs
@@ -0,0 +1,28 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tnb.WarehouseMgr.Entities.Dto.Inputs;
+
+namespace Tnb.WarehouseMgr.Interfaces
+{
+ ///
+ /// WMS载具查询接口
+ ///
+ public interface IWmsCarryQueryService
+ {
+ ///
+ /// MES载具查询接口
+ ///
+ ///
+ ///
+ Task MESCarryQuery(MESCarryQueryInput input);
+ ///
+ /// MES载具查询返回接口
+ ///
+ ///
+ ///
+ Task MESCarryQueryResult(MESCarryQueryResultInput input);
+ }
+}
diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWmsCollocationSchemeSevice.cs b/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWmsCollocationSchemeSevice.cs
index 372cf65d..9e25e026 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWmsCollocationSchemeSevice.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWmsCollocationSchemeSevice.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using Tnb.WarehouseMgr.Entities.Dto.Inputs;
namespace Tnb.WarehouseMgr.Interfaces
{
@@ -11,5 +12,11 @@ namespace Tnb.WarehouseMgr.Interfaces
///
public interface IWmsCollocationSchemeSevice
{
+ ///
+ /// MES齐套搭配方案接口
+ ///
+ ///
+ ///
+ Task MESCollocationSchemeQuery(MESCollocationSchemeQueryInput input);
}
}
diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWmsEmptyInstockService.cs b/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWmsEmptyInstockService.cs
new file mode 100644
index 00000000..915cd531
--- /dev/null
+++ b/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWmsEmptyInstockService.cs
@@ -0,0 +1,22 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tnb.WarehouseMgr.Entities.Dto.Inputs;
+
+namespace Tnb.WarehouseMgr.Interfaces
+{
+ ///
+ /// WMS空载具入库接口
+ ///
+ public interface IWmsEmptyInstockService
+ {
+ ///
+ /// MES空载具入库接口
+ ///
+ ///
+ ///
+ Task MesEmptyCarryInStock(MESEmptyCarryInStockInput input);
+ }
+}
diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWmsEmptyOutstockService.cs b/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWmsEmptyOutstockService.cs
new file mode 100644
index 00000000..8948cbfe
--- /dev/null
+++ b/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWmsEmptyOutstockService.cs
@@ -0,0 +1,22 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tnb.WarehouseMgr.Entities.Dto.Inputs;
+
+namespace Tnb.WarehouseMgr.Interfaces
+{
+ ///
+ /// WMS空载具出库接口
+ ///
+ public interface IWmsEmptyOutstockService
+ {
+ ///
+ /// MES空载具出库接口
+ ///
+ ///
+ ///
+ Task MESEmptyCarryOutStk(MESEmptyCarryOutStkInput input);
+ }
+}
diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWmsSignForDeliveryService.cs b/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWmsSignForDeliveryService.cs
new file mode 100644
index 00000000..84fdc879
--- /dev/null
+++ b/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWmsSignForDeliveryService.cs
@@ -0,0 +1,21 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tnb.WarehouseMgr.Interfaces
+{
+ ///
+ /// WMS签收接口
+ ///
+ public interface IWmsSignForDeliveryService
+ {
+ ///
+ /// MES载具签收接口
+ ///
+ ///
+ ///
+ public Task MESCarrySign(MESCarrySignInput input);
+ }
+}
diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWmskittingOutService.cs b/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWmskittingOutService.cs
index db94d4ad..9267f90b 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWmskittingOutService.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWmskittingOutService.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using Tnb.WarehouseMgr.Entities.Dto.Inputs;
namespace Tnb.WarehouseMgr.Interfaces
{
@@ -11,5 +12,11 @@ namespace Tnb.WarehouseMgr.Interfaces
///
public interface IWmskittingOutService
{
+ ///
+ /// MES齐套出库接口
+ ///
+ ///
+ ///
+ Task MESKittingOutStk(List input);
}
}
diff --git a/WarehouseMgr/Tnb.WarehouseMgr/BaseWareHouseService.cs b/WarehouseMgr/Tnb.WarehouseMgr/BaseWareHouseService.cs
index d3ea2b73..53bbc964 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr/BaseWareHouseService.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr/BaseWareHouseService.cs
@@ -78,6 +78,20 @@ namespace Tnb.WarehouseMgr
result.data = data;
return Task.FromResult(result);
}
+
+
+
+ ///
+ /// Api响应结果
+ ///
+ ///
+ [NonAction]
+ protected Task ToApiResult( object data)
+ {
+ DataResult result = new();
+ result.data = data;
+ return Task.FromResult(result);
+ }
///
/// Api响应结果
///
diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryQueryService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryQueryService.cs
new file mode 100644
index 00000000..793e4e37
--- /dev/null
+++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryQueryService.cs
@@ -0,0 +1,78 @@
+using System;
+using System.Collections.Generic;
+using System.Dynamic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Aop.Api.Domain;
+using Mapster;
+using Microsoft.AspNetCore.Mvc;
+using SqlSugar;
+using Tnb.WarehouseMgr.Entities;
+using Tnb.WarehouseMgr.Entities.Dto;
+using Tnb.WarehouseMgr.Entities.Dto.Inputs;
+using Tnb.WarehouseMgr.Entities.Dto.Outputs;
+using Tnb.WarehouseMgr.Interfaces;
+
+namespace Tnb.WarehouseMgr
+{
+ public class WmsCarryQueryService : BaseWareHouseService, IWmsCarryQueryService
+ {
+ private readonly ISqlSugarClient _db;
+ public WmsCarryQueryService(ISqlSugarRepository repository)
+ {
+ _db = repository.AsSugarClient();
+ }
+
+ ///
+ /// 载具查询接口
+ ///
+ ///
+ ///
+ [HttpPost]
+ public async Task MESCarryQuery(MESCarryQueryInput input)
+ {
+ var results = new List();
+ try
+ {
+ var carrys = await _db.Queryable()
+ .InnerJoin((a, b) => a.collocation_scheme_id == b.id)
+ .Where((a, b) => a.carry_code.Contains(input.carry_code) || b.bill_name.Contains(input.collocation_scheme_name))
+ .ToListAsync();
+
+ results = carrys.Adapt>();
+
+ }
+ catch (Exception ex)
+ {
+ await _db.Ado.RollbackTranAsync();
+ return await ToApiResult(JNPF.Common.Enums.HttpStatusCode.InternalServerError, ex.Message);
+ }
+ return ToApiResult(results);
+ }
+ ///
+ /// 载具查询返回接口
+ ///
+ ///
+ ///
+ [HttpPost]
+ public async Task MESCarryQueryResult(MESCarryQueryResultInput input)
+ {
+ var result = new CarryQueryOutput();
+ try
+ {
+ var carry = await _db.Queryable().SingleAsync(it => it.carry_code == input.carry_code);
+ var carryCodes = await _db.Queryable().Where(it => it.carry_id == carry.id).ToListAsync();
+ result = carry.Adapt();
+ result.wmsCarryCodes = carryCodes.Adapt>();
+
+ }
+ catch (Exception ex)
+ {
+ await _db.Ado.RollbackTranAsync();
+ return await ToApiResult(JNPF.Common.Enums.HttpStatusCode.InternalServerError, ex.Message);
+ }
+ return ToApiResult(JNPF.Common.Enums.HttpStatusCode.OK, result);
+ }
+ }
+}
diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsCollocationSchemeSevice.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsCollocationSchemeSevice.cs
index 9150fd9a..88f7cdc4 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr/WmsCollocationSchemeSevice.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsCollocationSchemeSevice.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using Aop.Api.Domain;
using Aspose.Cells.Drawing;
using JNPF.Common.Dtos.VisualDev;
using JNPF.Common.Extension;
@@ -12,9 +13,12 @@ using JNPF.FriendlyException;
using JNPF.VisualDev;
using JNPF.VisualDev.Entitys;
using JNPF.VisualDev.Interfaces;
+using Mapster;
using Microsoft.AspNetCore.Mvc;
using SqlSugar;
using Tnb.WarehouseMgr.Entities;
+using Tnb.WarehouseMgr.Entities.Dto.Inputs;
+using Tnb.WarehouseMgr.Entities.Dto.Outputs;
using Tnb.WarehouseMgr.Interfaces;
namespace Tnb.WarehouseMgr
@@ -78,5 +82,32 @@ namespace Tnb.WarehouseMgr
}
return await Task.FromResult(true);
}
+ ///
+ /// MES齐套搭配方案查询接口
+ ///
+ ///
+ ///
+ [HttpPost]
+ public async Task MESCollocationSchemeQuery(MESCollocationSchemeQueryInput input)
+ {
+ var results = new List();
+ try
+ {
+ results = await _db.Queryable()
+ .LeftJoin((a, b) => b.bill_id == a.id)
+ .Where(a => a.material_id == input.material_id)
+ .Select((a, b) => new CollocationSchemeOutput
+ {
+ list = SqlFunc.Subqueryable().Where(b => b.bill_id == a.id).ToList(),
+ }, true)
+ .Mapper(it=> it.CollocationSchemeDs = it.list.Adapt>())
+ .ToListAsync();
+ }
+ catch (Exception ex)
+ {
+ return await ToApiResult(JNPF.Common.Enums.HttpStatusCode.InternalServerError, ex.Message);
+ }
+ return await ToApiResult(results);
+ }
}
}
diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsEmptyInstockService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsEmptyInstockService.cs
index 02c57517..75bbfd88 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr/WmsEmptyInstockService.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsEmptyInstockService.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using JNPF.Common.Contracts;
using JNPF.Common.Core.Manager;
using JNPF.Common.Dtos.VisualDev;
using JNPF.Common.Enums;
@@ -22,6 +23,7 @@ using Tnb.WarehouseMgr.Entities;
using Tnb.WarehouseMgr.Entities.Attributes;
using Tnb.WarehouseMgr.Entities.Consts;
using Tnb.WarehouseMgr.Entities.Dto;
+using Tnb.WarehouseMgr.Entities.Dto.Inputs;
using Tnb.WarehouseMgr.Interfaces;
namespace Tnb.WarehouseMgr
@@ -33,7 +35,7 @@ namespace Tnb.WarehouseMgr
[OverideVisualDev(ModuleConsts.MODULE_WMSEMPTYINSTOCK_ID)]
[ServiceModule(BizTypeId)]
- public class WmsEmptyInstockService : BaseWareHouseService
+ public class WmsEmptyInstockService : BaseWareHouseService, IWmsEmptyInstockService
{
private const string BizTypeId = "26121986416677";
private readonly ISqlSugarClient _db;
@@ -116,7 +118,7 @@ namespace Tnb.WarehouseMgr
preTask.create_time = DateTime.Now;
return preTask;
}).ToList();
- var isOk = await _wareHouseService.GenPreTask(preTasks,null!);
+ var isOk = await _wareHouseService.GenPreTask(preTasks, null!);
if (isOk)
{
var preTaskUpInput = new GenPreTaskUpInput();
@@ -161,7 +163,55 @@ namespace Tnb.WarehouseMgr
}
return Task.FromResult(true);
}
+ ///
+ /// MES空载具入库
+ ///
+ ///
+ ///
+ [HttpPost]
+ public async Task MesEmptyCarryInStock(MESEmptyCarryInStockInput input)
+ {
+ try
+ {
+ var carry = await _db.Queryable().SingleAsync(it => it.carry_code == input.carry_code);
+ var location = await _db.Queryable().SingleAsync(it => it.location_code == input.location_code);
+ var emptyInstock = await _db.Queryable().FirstAsync(it => it.carry_code == input.carry_code && it.status == WmsWareHouseConst.BILLSTATUS_ADD_ID);
+ if (emptyInstock != null)
+ {
+ return ToApiResult(HttpStatusCode.InternalServerError, $"空载具{emptyInstock.carry_code},预任务已生成");
+ }
+ if (carry != null && location != null)
+ {
+ var cols = new List();
+ var dic = new Dictionary();
+ dic[nameof(WmsEmptyInstock.id)] = SnowflakeIdHelper.NextId();
+ dic[nameof(WmsEmptyInstock.org_id)] = input.org_id;
+ dic[nameof(WmsEmptyInstock.location_id)] = location.id;
+ dic[nameof(WmsEmptyInstock.bill_code)] = await _billRullService.GetBillNumber(WmsWareHouseConst.WMS_EMPTYINSTK_ENCODE);
+ dic[nameof(WmsEmptyInstock.status)] = WmsWareHouseConst.BILLSTATUS_ADD_ID;
+ dic[nameof(WmsEmptyInstock.carry_id)] = carry.id;
+ dic[nameof(WmsEmptyInstock.carry_code)] = input.carry_code;
+ dic[nameof(WmsEmptyInstock.biz_type)] = WmsWareHouseConst.BIZTYPE_WMSEMPTYINSTOCK_ID;
+ dic[nameof(WmsEmptyInstock.create_id)] = input.create_id;
+ dic[nameof(WmsEmptyInstock.create_time)] = DateTime.Now;
+ dic[nameof(WmsEmptyInstock.warehouse_id)] = input.warehouse_id;
+ VisualDevModelDataCrInput visualDevModelDataCrInput = new ()
+ {
+ data = dic
+ };
+ await WmsEmptyIn(visualDevModelDataCrInput);
+
+ }
+ }
+ catch (Exception ex)
+ {
+ await _db.Ado.RollbackTranAsync();
+ return await ToApiResult(JNPF.Common.Enums.HttpStatusCode.InternalServerError, ex.Message);
+ }
+ return ToApiResult();
+
+ }
public async override Task ModifyAsync(WareHouseUpInput input)
{
if (input == null) throw new ArgumentNullException(nameof(input));
diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsEmptyOutstockService .cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsEmptyOutstockService .cs
index 440ed7ae..9714d409 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr/WmsEmptyOutstockService .cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsEmptyOutstockService .cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using Aop.Api.Domain;
using JNPF.Common.Core.Manager;
using JNPF.Common.Dtos.VisualDev;
using JNPF.Common.Enums;
@@ -21,6 +22,7 @@ using Tnb.WarehouseMgr.Entities;
using Tnb.WarehouseMgr.Entities.Attributes;
using Tnb.WarehouseMgr.Entities.Consts;
using Tnb.WarehouseMgr.Entities.Dto;
+using Tnb.WarehouseMgr.Entities.Dto.Inputs;
using Tnb.WarehouseMgr.Entities.Enums;
using Tnb.WarehouseMgr.Interfaces;
@@ -33,7 +35,7 @@ namespace Tnb.WarehouseMgr
[OverideVisualDev(ModuleConsts.MODULE_WMSEMPTYOUTSTK_ID)]
[ServiceModule(BizTypeId)]
- public class WmsEmptyOutstockService : BaseWareHouseService
+ public class WmsEmptyOutstockService : BaseWareHouseService, IWmsEmptyOutstockService
{
private const string BizTypeId = "26122265173285";
private readonly ISqlSugarClient _db;
@@ -59,6 +61,8 @@ namespace Tnb.WarehouseMgr
OverideFuncs.CreateAsync = PDAWmsEmptyOut;
}
+
+
private async Task PDAWmsEmptyOut(VisualDevModelDataCrInput input)
{
@@ -209,5 +213,42 @@ namespace Tnb.WarehouseMgr
throw;
}
}
+
+ ///
+ /// MES空载具出库接口
+ ///
+ ///
+ ///
+ [HttpPost]
+ public async Task MESEmptyCarryOutStk(MESEmptyCarryOutStkInput input)
+ {
+ try
+ {
+ var location = await _db.Queryable().SingleAsync(it => it.location_code == input.location_code);
+ var dic = new Dictionary();
+ dic[nameof(WmsEmptyOutstockH.id)] = SnowflakeIdHelper.NextId();
+ dic[nameof(WmsEmptyOutstockH.org_id)] = input.org_id;
+ dic[nameof(WmsEmptyOutstockH.location_id)] = location.id;
+ dic[nameof(WmsEmptyOutstockH.carrystd_id)] = input.carrystd_id;
+ dic[nameof(WmsEmptyOutstockH.bill_code)] = _billRullService.GetBillNumber(WmsWareHouseConst.WMS_EMPTYOUTSTK_ENCODE).GetAwaiter().GetResult();
+ dic[nameof(WmsEmptyOutstockH.status)] = WmsWareHouseConst.BILLSTATUS_ADD_ID;
+ dic[nameof(WmsEmptyOutstockH.qty)] = input.qty;
+ dic[nameof(WmsEmptyOutstockH.biz_type)] = WmsWareHouseConst.BIZTYPE_WMSEPTYOUTSTK_ID;
+ dic[nameof(WmsEmptyOutstockH.create_id)] = input.create_id;
+ dic[nameof(WmsEmptyOutstockH.create_time)] = DateTime.Now;
+
+ VisualDevModelDataCrInput visualDevModelDataCrInput = new VisualDevModelDataCrInput
+ {
+ data = dic,
+ };
+ await PDAWmsEmptyOut(visualDevModelDataCrInput);
+ }
+ catch (Exception ex)
+ {
+ await _db.Ado.RollbackTranAsync();
+ return await ToApiResult(JNPF.Common.Enums.HttpStatusCode.InternalServerError, ex.Message);
+ }
+ return ToApiResult();
+ }
}
}
diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsSignForDeliveryService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsSignForDeliveryService.cs
index 2fd9e112..eb5ed107 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr/WmsSignForDeliveryService.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsSignForDeliveryService.cs
@@ -9,6 +9,7 @@ using JNPF.Common.Enums;
using JNPF.Common.Extension;
using JNPF.FriendlyException;
using JNPF.Systems.Interfaces.System;
+using Mapster;
using Microsoft.AspNetCore.Mvc;
using Microsoft.CodeAnalysis.Operations;
using SqlSugar;
@@ -25,7 +26,7 @@ namespace Tnb.WarehouseMgr
///
/// 出库签收
///
- public class WmsSignForDeliveryService : BaseWareHouseService
+ public class WmsSignForDeliveryService : BaseWareHouseService, IWmsSignForDeliveryService
{
private readonly ISqlSugarClient _db;
private readonly IWmsCarryService _wareCarryService;
@@ -112,6 +113,17 @@ namespace Tnb.WarehouseMgr
throw;
}
}
+ ///
+ /// MES调用载具签收接口
+ ///
+ ///
+ ///
+ [HttpPost]
+ public async Task MESCarrySign(MESCarrySignInput input)
+ {
+ var signInput = input.Adapt();
+ await SignForDelivery(signInput);
+ }
}
diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmskittingOutService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmskittingOutService.cs
index 1e03b01e..cf41c1dc 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr/WmskittingOutService.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr/WmskittingOutService.cs
@@ -5,12 +5,14 @@ using System.Text;
using System.Threading.Tasks;
using Aop.Api.Domain;
using JNPF.Common.Core.Manager;
+using JNPF.Common.Dtos.VisualDev;
using JNPF.Common.Enums;
using JNPF.Common.Extension;
using JNPF.Common.Security;
using JNPF.FriendlyException;
using JNPF.Systems.Interfaces.System;
using Mapster;
+using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using SqlSugar;
using Tnb.BasicData.Entities;
@@ -18,6 +20,8 @@ using Tnb.WarehouseMgr.Entities;
using Tnb.WarehouseMgr.Entities.Attributes;
using Tnb.WarehouseMgr.Entities.Consts;
using Tnb.WarehouseMgr.Entities.Dto;
+using Tnb.WarehouseMgr.Entities.Dto.Inputs;
+using Tnb.WarehouseMgr.Entities.Dto.Outputs;
using Tnb.WarehouseMgr.Entities.Enums;
using Tnb.WarehouseMgr.Interfaces;
@@ -278,6 +282,53 @@ namespace Tnb.WarehouseMgr
throw;
}
}
+ ///
+ /// MES齐套出库接口
+ ///
+ ///
+ ///
+ [HttpPost]
+ public async Task MESKittingOutStk(List input)
+ {
+ try
+ {
+ await _db.Ado.BeginTranAsync();
+ List kittingOutDs = new();
+ var kittingOuts = input.Adapt>();
+
+ for (int i = 0; i < kittingOuts.Count; i++)
+ {
+ var x= kittingOuts[i];
+ x.id = SnowflakeIdHelper.NextId();
+ x.bill_code = _billRullService.GetBillNumber(WmsWareHouseConst.WMS_KITTINGOUTSTK_ENCODE).GetAwaiter().GetResult();
+ x.bill_date = DateTime.Now;
+ x.bill_type = WmsWareHouseConst.BIZTYPE_WMSKITTINGOUTSTK_ID;
+ x.status = WmsWareHouseConst.BILLSTATUS_ADD_ID;
+ x.biz_type = WmsWareHouseConst.BIZTYPE_WMSKITTINGOUTSTK_ID;
+ var d = input[i]?.wmsKittingoutDs?.Adapt>();
+ d?.ForEach(it =>
+ {
+ it.id = SnowflakeIdHelper.NextId();
+ it.bill_id = x.id;
+ it.qty = 0;
+ it.real_box = 0;
+ it.warehouse_id = x.warehouse_id;
+ });
+ kittingOutDs.AddRange(d!);
+ }
+ await _db.Insertable(kittingOuts).ExecuteCommandAsync();
+ await _db.Insertable(kittingOutDs).ExecuteCommandAsync();
+ await _db.Ado.CommitTranAsync();
+ }
+ catch (Exception ex)
+ {
+ await _db.Ado.RollbackTranAsync();
+ return await ToApiResult(JNPF.Common.Enums.HttpStatusCode.InternalServerError, ex.Message);
+ }
+ await KittingOutByAdd();
+ return ToApiResult();
+ }
+
}