erp仓库映射关系、erp同步完善、库存报表添加箱号 批次号查询;载具库存报表添加箱号 批次号查询
This commit is contained in:
@@ -722,7 +722,7 @@ where carry_code = '{coderesult}' and status = '{WmsWareHouseConst.TASK_BILL_STA
|
||||
{
|
||||
_wareHouseService.s_taskExecuteSemaphore_YCLInstock.Release();
|
||||
_wareHouseService.s_taskExecuteSemaphore_YCLOutstock.Release();
|
||||
|
||||
|
||||
stopwatch.Stop();
|
||||
Console.WriteLine($"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")} 结束执行YCLInternalTransfer {stopwatch.ElapsedMilliseconds} ms");
|
||||
LoggerTimer.LogInformation($"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")} 结束执行YCLInternalTransfer {stopwatch.ElapsedMilliseconds} ms");
|
||||
|
||||
@@ -258,17 +258,17 @@
|
||||
/// </summary>
|
||||
public const string BIZTYPE_WMSEMPTYINSTOCK_ID = "26121986416677";
|
||||
/// <summary>
|
||||
/// 预任务生成业务类型-签收回库 todo
|
||||
/// 预任务生成业务类型-签收回库
|
||||
/// </summary>
|
||||
public const string BIZTYPE_WmsMaterialSign_ID = "BIZTYPE_WmsMaterialSign_ID";
|
||||
public const string BIZTYPE_WmsMaterialSign_ID = "36318841764117";
|
||||
/// <summary>
|
||||
/// 预任务生成业务类型-载具移入
|
||||
/// </summary>
|
||||
public const string BIZTYPE_CARRYMOVEINSTOCK_ID = "26121988909861";
|
||||
/// <summary>
|
||||
/// 预任务生成业务类型-成品调拨出库 todo
|
||||
/// 预任务生成业务类型-成品调拨出库
|
||||
/// </summary>
|
||||
public const string BIZTYPE_WmsTransferOutstock_ID = "BIZTYPE_WmsTransferOutstock_ID";
|
||||
public const string BIZTYPE_WmsTransferOutstock_ID = "36318847981589";
|
||||
/// <summary>
|
||||
/// 预任务生成业务类型-库内转移
|
||||
/// </summary>
|
||||
@@ -320,19 +320,19 @@
|
||||
/// <summary>
|
||||
/// 预任务生成业务类型-调拨出库单(原材料)
|
||||
/// </summary>
|
||||
public const string BIZTYPE_WmsRawmatTransferoutstock_ID = "BIZTYPE_WmsRawmatTransferoutstock_ID";
|
||||
public const string BIZTYPE_WmsRawmatTransferoutstock_ID = "36318854044437";
|
||||
/// <summary>
|
||||
/// 预任务生成业务类型-生产退料单 todo
|
||||
/// 预任务生成业务类型-生产退料单
|
||||
/// </summary>
|
||||
public const string BIZTYPE_PRDRETURN_ID = "BIZTYPE_PRDRETURN_ID";
|
||||
public const string BIZTYPE_PRDRETURN_ID = "36318858573333";
|
||||
/// <summary>
|
||||
/// 预任务生成业务类型-包材入库 todo
|
||||
/// 预任务生成业务类型-包材入库
|
||||
/// </summary>
|
||||
public const string BIZTYPE_WMSPACKINSTOCK_ID = "BIZTYPE_WMSPACKINSTOCK_ID";
|
||||
public const string BIZTYPE_WMSPACKINSTOCK_ID = "36318862414357";
|
||||
/// <summary>
|
||||
/// 预任务生成业务类型-包材出库 todo
|
||||
/// 预任务生成业务类型-包材出库
|
||||
/// </summary>
|
||||
public const string BIZTYPE_WMSPACKOUTSTOCK_ID = "BIZTYPE_WMSPACKOUTSTOCK_ID";
|
||||
public const string BIZTYPE_WMSPACKOUTSTOCK_ID = "36318866547989";
|
||||
/// <summary>
|
||||
/// 预任务生成业务类型-载具绑定
|
||||
/// </summary>
|
||||
@@ -353,9 +353,9 @@
|
||||
public const string BIZTYPE_WMSPRDINSTOCK_ID = "34840264160277";
|
||||
|
||||
/// <summary>
|
||||
/// 灭菌入库 todo
|
||||
/// 灭菌入库
|
||||
/// </summary>
|
||||
public const string BIZTYPE_WMSSTERILIZATIONINSTOCKCH_ID = "BIZTYPE_WMSSTERILIZATIONINSTOCKCH_ID";
|
||||
public const string BIZTYPE_WMSSTERILIZATIONINSTOCKCH_ID = "36318871067413";
|
||||
|
||||
/// <summary>
|
||||
/// 条码打印状态-已完成
|
||||
|
||||
@@ -43,6 +43,11 @@ namespace Tnb.WarehouseMgr.Entities.Dto.ErpInputs
|
||||
/// </summary>
|
||||
public string? erp_pk { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// erp仓库类型
|
||||
/// </summary>
|
||||
public string erp_wh_type { get; set; }
|
||||
|
||||
public List<PurchaseOrderDetail> details { get; set; }
|
||||
}
|
||||
public class PurchaseOrderDetail
|
||||
|
||||
@@ -1,92 +1,93 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Transactions;
|
||||
|
||||
namespace Tnb.WarehouseMgr.Entities.Dto.ErpInputs
|
||||
{
|
||||
public class TransferOrderInput
|
||||
{
|
||||
/// <summary>
|
||||
/// 单号
|
||||
/// </summary>
|
||||
public string? transfer_order { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 部门编码
|
||||
/// </summary>
|
||||
public string? dept_code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 业务员编码
|
||||
/// </summary>
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Transactions;
|
||||
|
||||
namespace Tnb.WarehouseMgr.Entities.Dto.ErpInputs
|
||||
{
|
||||
public class TransferOrderInput
|
||||
{
|
||||
/// <summary>
|
||||
/// 单号
|
||||
/// </summary>
|
||||
public string? transfer_order { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 部门编码
|
||||
/// </summary>
|
||||
public string? dept_code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 业务员编码
|
||||
/// </summary>
|
||||
public string? biller { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 出库仓库
|
||||
/// </summary>
|
||||
/// <summary>
|
||||
/// 出库仓库
|
||||
/// </summary>
|
||||
public string? warehouse_outstock { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 入库组织编号
|
||||
/// </summary>
|
||||
public string? instockorg_code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 供货日期
|
||||
/// </summary>
|
||||
/// <summary>
|
||||
/// 入库组织编号
|
||||
/// </summary>
|
||||
public string? instockorg_code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 供货日期
|
||||
/// </summary>
|
||||
public DateTime? ship_date { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 主表pk
|
||||
/// </summary>
|
||||
|
||||
/// <summary>
|
||||
/// 主表pk
|
||||
/// </summary>
|
||||
public string? erp_pk { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 交易类型
|
||||
/// </summary>
|
||||
|
||||
/// <summary>
|
||||
/// 交易类型
|
||||
/// </summary>
|
||||
public string? transaction_type { get; set; }
|
||||
|
||||
|
||||
public List<TransferOrderInputDetail> details { get; set; }
|
||||
}
|
||||
public class TransferOrderInputDetail
|
||||
{
|
||||
/// <summary>
|
||||
/// 行号
|
||||
/// </summary>
|
||||
public string? lineno { get; set; }
|
||||
/// <summary>
|
||||
/// erp仓库类型
|
||||
/// <summary>
|
||||
/// 物品代码
|
||||
/// </summary>
|
||||
public string? material_code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 单位代码
|
||||
/// </summary>
|
||||
public string? unit_code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 采购数量
|
||||
/// </summary>
|
||||
/// </summary>
|
||||
public string erp_wh_type { get; set; }
|
||||
|
||||
public List<TransferOrderInputDetail> details { get; set; }
|
||||
}
|
||||
public class TransferOrderInputDetail
|
||||
{
|
||||
/// <summary>
|
||||
/// 行号
|
||||
/// </summary>
|
||||
public string? lineno { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 物品代码
|
||||
/// </summary>
|
||||
public string? material_code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 单位代码
|
||||
/// </summary>
|
||||
public string? unit_code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
|
||||
/// <summary>
|
||||
/// 批次
|
||||
/// </summary>
|
||||
public string? code_batch { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 交货日期
|
||||
/// </summary>
|
||||
public DateTime? delivery_date { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 子表主键
|
||||
/// </summary>
|
||||
public string erp_line_pk { get; set; }
|
||||
}
|
||||
}
|
||||
/// 采购数量
|
||||
/// </summary>
|
||||
public decimal? qty { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 批次
|
||||
/// </summary>
|
||||
public string? code_batch { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 交货日期
|
||||
/// </summary>
|
||||
public DateTime? delivery_date { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 子表主键
|
||||
/// </summary>
|
||||
|
||||
@@ -58,6 +58,11 @@ namespace Tnb.WarehouseMgr.Entities.Dto.ErpInputs
|
||||
/// </summary>
|
||||
public string? erp_pk { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// erp仓库类型
|
||||
/// </summary>
|
||||
public string? erp_wh_type { get; set; }
|
||||
|
||||
public List<RawMatTransferInstockDetail> details { get; set; }
|
||||
}
|
||||
public class RawMatTransferInstockDetail
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
using JNPF.Common.Contracts;
|
||||
using JNPF.Common.Security;
|
||||
using SqlSugar;
|
||||
|
||||
namespace Tnb.WarehouseMgr.Entities.Entity;
|
||||
|
||||
/// <summary>
|
||||
/// ERP仓库映射关系表
|
||||
/// </summary>
|
||||
[SugarTable("wms_erp_warehouserela_h")]
|
||||
public partial class WmsErpWarehouserelaH : BaseEntity<string>
|
||||
{
|
||||
public WmsErpWarehouserelaH()
|
||||
{
|
||||
id = SnowflakeIdHelper.NextId();
|
||||
}
|
||||
/// <summary>
|
||||
/// 创建用户
|
||||
/// </summary>
|
||||
public string? create_id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间
|
||||
/// </summary>
|
||||
public DateTime? create_time { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 修改用户
|
||||
/// </summary>
|
||||
public string? modify_id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 修改时间
|
||||
/// </summary>
|
||||
public DateTime? modify_time { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 所属组织
|
||||
/// </summary>
|
||||
public string? org_id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// erp仓库编码
|
||||
/// </summary>
|
||||
public string? erp_warehousecode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// wms仓库编码
|
||||
/// </summary>
|
||||
public string? wms_warehousecode { get; set; }
|
||||
|
||||
}
|
||||
@@ -54,4 +54,9 @@ public partial class WmsMaterialSignH : BaseEntity<string>
|
||||
/// </summary>
|
||||
public string? warehouse_instock_id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 业务类型
|
||||
/// </summary>
|
||||
public string? biz_type { get; set; }
|
||||
|
||||
}
|
||||
|
||||
@@ -159,9 +159,4 @@ public partial class WmsPurchaseH : BaseEntity<string>, IPurchaseAndSaleAuitEnti
|
||||
/// erp到货单主表pk
|
||||
/// </summary>
|
||||
public string erp_arriveorder_pk { get;set; }
|
||||
|
||||
/// <summary>
|
||||
/// 来源
|
||||
/// </summary>
|
||||
public string create_origin { get; set; }
|
||||
}
|
||||
|
||||
@@ -119,4 +119,8 @@ public partial class WmsPurchaseOrderH : BaseEntity<string>
|
||||
/// </summary>
|
||||
public DateTime? ship_date { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// erp仓库类型
|
||||
/// </summary>
|
||||
public string erp_wh_type { get; set; }
|
||||
}
|
||||
|
||||
@@ -119,4 +119,8 @@ public partial class WmsRawmatTransferinstockH : BaseEntity<string>
|
||||
/// </summary>
|
||||
public string? biller { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// erp仓库类型
|
||||
/// </summary>
|
||||
public string? erp_wh_type { get; set; }
|
||||
}
|
||||
|
||||
@@ -124,4 +124,9 @@ public partial class WmsRawmatTransferoutstockH : BaseEntity<string>
|
||||
/// </summary>
|
||||
public string? transfer_order_id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// erp仓库类型
|
||||
/// </summary>
|
||||
public string erp_wh_type { get; set; }
|
||||
|
||||
}
|
||||
|
||||
@@ -84,4 +84,8 @@ public partial class WmsTransferOrderH : BaseEntity<string>
|
||||
/// </summary>
|
||||
public string? transaction_type { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// erp仓库类型
|
||||
/// </summary>
|
||||
public string erp_wh_type { get; set; }
|
||||
}
|
||||
|
||||
@@ -108,4 +108,9 @@ public partial class WmsTransferOutstockH : BaseEntity<string>
|
||||
/// 调拨订单id
|
||||
/// </summary>
|
||||
public string? transfer_order_id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// erp仓库类型
|
||||
/// </summary>
|
||||
public string erp_wh_type { get; set; }
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ using Microsoft.AspNetCore.Components.Forms;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Newtonsoft.Json;
|
||||
using NPOI.OpenXmlFormats;
|
||||
using NPOI.SS.Formula.Functions;
|
||||
using SqlSugar;
|
||||
using Tnb.BasicData.Entities;
|
||||
@@ -295,7 +296,6 @@ namespace Tnb.WarehouseMgr
|
||||
await db.Insertable(WmsInstockDs).ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 采购订单
|
||||
/// </summary>
|
||||
@@ -345,6 +345,7 @@ namespace Tnb.WarehouseMgr
|
||||
wmsPurchaseOrderH.erp_pk = input.erp_pk;
|
||||
wmsPurchaseOrderH.create_id = WmsWareHouseConst.ErpUserId;
|
||||
wmsPurchaseOrderH.create_time = DateTime.Now;
|
||||
wmsPurchaseOrderH.erp_wh_type = input.erp_wh_type;
|
||||
var supplier = await db.Queryable<BasSupplier>().Where(p => p.supplier_code == input.supplier_code).FirstAsync();
|
||||
if (supplier != null)
|
||||
{
|
||||
@@ -354,7 +355,6 @@ namespace Tnb.WarehouseMgr
|
||||
|
||||
await db.Insertable(wmsPurchaseOrderH).ExecuteCommandAsync();
|
||||
|
||||
|
||||
List<WmsPurchaseOrderD> wmsPurchaseOrderDs = new List<WmsPurchaseOrderD>();
|
||||
foreach (var detail in input.details)
|
||||
{
|
||||
@@ -374,7 +374,6 @@ namespace Tnb.WarehouseMgr
|
||||
throw new AppFriendlyException($@"表体明细中单位{detail.unit_code}在wms系统中未找到!", 500);
|
||||
}
|
||||
|
||||
|
||||
wmsPurchaseOrderD.purchase_quantity = detail.purchase_quantity;
|
||||
wmsPurchaseOrderD.stock_location = detail.stock_location;
|
||||
wmsPurchaseOrderD.code_batch = detail.code_batch;
|
||||
@@ -882,7 +881,7 @@ namespace Tnb.WarehouseMgr
|
||||
wmsRawmatTransferinstockH.create_time = DateTime.Now;
|
||||
wmsRawmatTransferinstockH.dept_code = input.dept_code;
|
||||
wmsRawmatTransferinstockH.biller = input.biller;
|
||||
|
||||
wmsRawmatTransferinstockH.erp_wh_type = input.erp_wh_type;
|
||||
await db.Insertable(wmsRawmatTransferinstockH).ExecuteCommandAsync();
|
||||
|
||||
List<WmsRawmatTransferinstockD> wmsRawmatTransferinstockDs = new List<WmsRawmatTransferinstockD>();
|
||||
@@ -980,11 +979,20 @@ namespace Tnb.WarehouseMgr
|
||||
throw new AppFriendlyException($@"表体存在物料和批号重复的明细!", 500);
|
||||
}
|
||||
|
||||
BasWarehouse warehouse_outstock = await db.Queryable<BasWarehouse>().Where(r => r.whcode == input.warehouse_outstock).FirstAsync();
|
||||
WmsErpWarehouserelaH wmsErpWarehouserelaH = await db.Queryable<WmsErpWarehouserelaH>().Where(r => r.erp_warehousecode == input.erp_wh_type).FirstAsync();
|
||||
if (wmsErpWarehouserelaH == null)
|
||||
{
|
||||
_LoggerErp2Mes.LogWarning($@"【TransferOrder】不存在erp仓库类型{input.erp_wh_type}对应wms系统的映射关系!");
|
||||
throw new AppFriendlyException($@"不存在erp仓库类型{input.erp_wh_type}对应wms系统的映射关系!", 500);
|
||||
}
|
||||
|
||||
string warehouse_outstock_code = wmsErpWarehouserelaH.wms_warehousecode;
|
||||
|
||||
BasWarehouse warehouse_outstock = await db.Queryable<BasWarehouse>().Where(r => r.whcode == warehouse_outstock_code).FirstAsync();
|
||||
if (warehouse_outstock == null)
|
||||
{
|
||||
_LoggerErp2Mes.LogWarning($"【MaterialTransfer】无法查询到出库仓库{input.warehouse_outstock}的档案记录!");
|
||||
return await ToApiResult(HttpStatusCode.InternalServerError, $"无法查询到出库仓库{input.warehouse_outstock}的档案记录!");
|
||||
_LoggerErp2Mes.LogWarning($"【MaterialTransfer】无法查询到出库仓库{warehouse_outstock_code}的档案记录!");
|
||||
return await ToApiResult(HttpStatusCode.InternalServerError, $"无法查询到出库仓库{warehouse_outstock_code}的档案记录!");
|
||||
}
|
||||
|
||||
try
|
||||
@@ -1001,6 +1009,7 @@ namespace Tnb.WarehouseMgr
|
||||
wmsTransferOrderH.create_id = WmsWareHouseConst.ErpUserId;
|
||||
wmsTransferOrderH.create_time = DateTime.Now;
|
||||
wmsTransferOrderH.org_id = WmsWareHouseConst.AdministratorOrgId;
|
||||
wmsTransferOrderH.erp_wh_type = input.erp_wh_type;
|
||||
|
||||
var _erpExtendField = await db.Queryable<ErpExtendField>().InnerJoin<DictionaryDataEntity>((a, b) => a.table_id == b.Id)
|
||||
.Where((a, b) => a.transaction_type_id == input.transaction_type).Select((a, b) => b).FirstAsync();
|
||||
@@ -1033,7 +1042,6 @@ namespace Tnb.WarehouseMgr
|
||||
throw new AppFriendlyException($@"表体明细中单位{detail.unit_code}在wms系统中未找到!", 500);
|
||||
}
|
||||
|
||||
|
||||
wmsTransferOrderD.qty = detail.qty;
|
||||
wmsTransferOrderD.batchno = detail.code_batch;
|
||||
wmsTransferOrderD.erp_line_pk = detail.erp_line_pk;
|
||||
@@ -1070,6 +1078,7 @@ namespace Tnb.WarehouseMgr
|
||||
wmsRawmatTransferoutstockH.issuance_status = "0";
|
||||
wmsRawmatTransferoutstockH.transaction_type = _erpExtendField.EnCode;
|
||||
wmsRawmatTransferoutstockH.org_id = WmsWareHouseConst.AdministratorOrgId;
|
||||
wmsRawmatTransferoutstockH.erp_wh_type = input.erp_wh_type;
|
||||
List<WmsRawmatTransferoutstockD> wmsRawmatTransferoutstockDs = new List <WmsRawmatTransferoutstockD>();
|
||||
foreach (var detail in input.details)
|
||||
{
|
||||
@@ -1122,6 +1131,7 @@ namespace Tnb.WarehouseMgr
|
||||
wmsTransferOutstockH.issuance_status = "0";
|
||||
wmsTransferOutstockH.transaction_type = _erpExtendField.EnCode;
|
||||
wmsTransferOutstockH.org_id = WmsWareHouseConst.AdministratorOrgId;
|
||||
wmsTransferOutstockH.erp_wh_type = input.erp_wh_type;
|
||||
List<WmsTransferOutstockD> wmsTransferOutstockDs = new List<WmsTransferOutstockD>();
|
||||
foreach (var detail in input.details)
|
||||
{
|
||||
|
||||
@@ -1672,13 +1672,13 @@ namespace Tnb.WarehouseMgr
|
||||
}
|
||||
else
|
||||
{
|
||||
Logger.Information($"【GenTaskExecute】判断为非三四号梯任务");
|
||||
if (e != null)
|
||||
{
|
||||
wmsDistaskHs[0].device_id = e.device_id;
|
||||
}
|
||||
Logger.Information($"【GenTaskExecute】呼叫电梯");
|
||||
_ = ExecuteTargetFloorTask(wmsDistaskHs);
|
||||
//Logger.Information($"【GenTaskExecute】判断为非三四号梯任务");
|
||||
//if (e != null)
|
||||
//{
|
||||
// wmsDistaskHs[0].device_id = e.device_id;
|
||||
//}
|
||||
//Logger.Information($"【GenTaskExecute】呼叫电梯");
|
||||
//_ = ExecuteTargetFloorTask(wmsDistaskHs);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -379,7 +379,7 @@ namespace Tnb.WarehouseMgr
|
||||
throw new AppFriendlyException($"【MaterialByCarry】托盘{input.carry_code}不存在", 500);
|
||||
}
|
||||
|
||||
List<WmsCarryCode> wmsCarryCodes = _db.Queryable<WmsCarryCode>().Where(r => r.carry_id == wmsCarryH.id).ToList();
|
||||
List<WmsCarryCode> wmsCarryCodes = _db.Queryable<WmsCarryCode>().Where(r => r.carry_id == wmsCarryH.id && r.codeqty > 0).ToList();
|
||||
|
||||
return await ToApiResult(HttpStatusCode.OK, "成功", wmsCarryCodes);
|
||||
}
|
||||
|
||||
@@ -40,11 +40,15 @@ namespace Tnb.WarehouseMgr
|
||||
var warehouse_id = "";
|
||||
var carry_code = "";
|
||||
var material_code = "";
|
||||
var container_no = "";
|
||||
var code_batch = "";
|
||||
if (!input.queryJson.IsNullOrWhiteSpace())
|
||||
{
|
||||
warehouse_id = JObject.Parse(input.queryJson).Value<string>(nameof(WmsCarryCode.warehouse_id));
|
||||
carry_code = JObject.Parse(input.queryJson).Value<string>(nameof(WmsCarryCode.carry_code));
|
||||
material_code = JObject.Parse(input.queryJson).Value<string>(nameof(WmsCarryCode.material_code));
|
||||
code_batch = JObject.Parse(input.queryJson).Value<string>(nameof(WmsCarryCode.code_batch));
|
||||
container_no = JObject.Parse(input.queryJson).Value<string>(nameof(WmsCarryCode.container_no));
|
||||
}
|
||||
|
||||
|
||||
@@ -60,6 +64,8 @@ namespace Tnb.WarehouseMgr
|
||||
.WhereIF(!string.IsNullOrEmpty(warehouse_id), (a, b, c, d) => c.id == warehouse_id)
|
||||
.WhereIF(!string.IsNullOrEmpty(carry_code), (a, b, c, d) => b.carry_code.Contains(carry_code))
|
||||
.WhereIF(!string.IsNullOrEmpty(material_code), (a, b, c, d, e, f) => e.material_code.Contains(material_code))
|
||||
.WhereIF(!string.IsNullOrEmpty(code_batch), (a, b, c, d, e, f) => e.code_batch.Contains(code_batch))
|
||||
.WhereIF(!string.IsNullOrEmpty(container_no), (a, b, c, d, e, f) => f.container_no.Contains(container_no))
|
||||
.OrderByDescending((a, b, c, d, e, f) => b.carry_code)
|
||||
.Select((a, b, c, d, e, f) => new WmsCarryStockReport
|
||||
{
|
||||
@@ -99,6 +105,8 @@ namespace Tnb.WarehouseMgr
|
||||
.WhereIF(!string.IsNullOrEmpty(warehouse_id), (a, b, c, d) => c.id == warehouse_id)
|
||||
.WhereIF(!string.IsNullOrEmpty(carry_code), (a, b, c, d, e, f, g, h) => b.carry_code.Contains(carry_code)|| h.carry_code.Contains(carry_code))
|
||||
.WhereIF(!string.IsNullOrEmpty(material_code), (a, b, c, d, e, f, g) => g.code.Contains(material_code))
|
||||
.WhereIF(!string.IsNullOrEmpty(code_batch), (a, b, c, d, e, f, g) => f.code_batch.Contains(code_batch))
|
||||
.WhereIF(!string.IsNullOrEmpty(container_no), (a, b, c, d, e, f, g) => g.container_no.Contains(container_no))
|
||||
.Select((a, b, c, d, e, f, g, h) => new WmsCarryStockReport
|
||||
{
|
||||
warehouse_name = c.whname,
|
||||
|
||||
@@ -96,6 +96,12 @@ namespace Tnb.WarehouseMgr
|
||||
throw new AppFriendlyException($"【MaterialSign】载具{input.carry_code}当前库位为空,无法签收", 500);
|
||||
}
|
||||
|
||||
BasLocation carryLoc = await _db.Queryable<BasLocation>().Where(r => r.id == wmsCarryH.location_id).FirstAsync();
|
||||
if (carryLoc != null && carryLoc.is_type == "0")
|
||||
{
|
||||
throw new Exception($"托盘{wmsCarryH.carry_code}在存储库位中,不能签收!");
|
||||
}
|
||||
|
||||
List<WmsCarryCode> wmsCarryCodes = _db.Queryable<WmsCarryCode>().Where(r => r.carry_id == wmsCarryH.id).ToList();
|
||||
|
||||
WmsMaterialSignH wmsMaterialSignH = new WmsMaterialSignH();
|
||||
@@ -103,6 +109,16 @@ namespace Tnb.WarehouseMgr
|
||||
wmsMaterialSignH.create_time = DateTime.Now;
|
||||
wmsMaterialSignH.carry_id = wmsCarryH.id;
|
||||
wmsMaterialSignH.carry_code = wmsCarryH.carry_code;
|
||||
WmsDistaskH wmsDistaskH = await _db.Queryable<WmsDistaskH>().Where(r => r.carry_id == wmsCarryH.id).OrderByDescending(r => r.id).FirstAsync();
|
||||
if (wmsDistaskH == null)
|
||||
{
|
||||
throw new AppFriendlyException($"【MaterialSign】无法找到载具{input.carry_code}的执行任务", 500);
|
||||
}
|
||||
if (string.IsNullOrEmpty(wmsDistaskH.biz_type))
|
||||
{
|
||||
throw new AppFriendlyException($"【MaterialSign】载具{input.carry_code}任务{wmsDistaskH.bill_code}的业务类型异常", 500);
|
||||
}
|
||||
wmsMaterialSignH.biz_type = wmsDistaskH.biz_type;
|
||||
List<WmsMaterialSignD> wmsMaterialSignDs = new List<WmsMaterialSignD>();
|
||||
await _db.Ado.BeginTranAsync();
|
||||
foreach (var item in input.details)
|
||||
@@ -147,15 +163,10 @@ namespace Tnb.WarehouseMgr
|
||||
CarryCodeUnbindCodeInput carryCodeUnbindCodeInput = new CarryCodeUnbindCodeInput();
|
||||
await _wmsCarryUnbindService.CarryCodeUnbindCode(carryCodeUnbindCodeInput, _db);
|
||||
}
|
||||
await _db.Updateable<WmsTempCode>().SetColumns(r => r.codeqty == wmsCarryCode.codeqty)
|
||||
.Where(r => r.barcode == wmsCarryCode.barcode).ExecuteCommandAsync();
|
||||
//await _db.Updateable<WmsTempCode>().SetColumns(r => r.codeqty == wmsCarryCode.codeqty)
|
||||
// .Where(r => r.barcode == wmsCarryCode.barcode).ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
BasLocation carryLoc = await _db.Queryable<BasLocation>().Where(r => r.id == wmsCarryH.location_id).FirstAsync();
|
||||
if (carryLoc != null && carryLoc.is_type == "0")
|
||||
{
|
||||
throw new Exception($"托盘{wmsCarryH.carry_code}在存储库位中,不能签收!");
|
||||
}
|
||||
|
||||
switch (carryLoc.wh_id)
|
||||
{
|
||||
|
||||
@@ -16,6 +16,7 @@ using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NPOI.HPSF;
|
||||
using Senparc.Weixin.Work.AdvancedAPIs.OaDataOpen;
|
||||
using SqlSugar;
|
||||
using Tnb.BasicData.Entities;
|
||||
@@ -96,10 +97,19 @@ namespace Tnb.WarehouseMgr
|
||||
WmsRawmatTransferoutstockH wmsRawmatTransferoutstockH = await _db.Queryable<WmsRawmatTransferoutstockH>().FirstAsync(it => it.id == wmsRawmatTransferoutstockD.bill_id);
|
||||
|
||||
List<WmsCarryH> items = await _db.Queryable<WmsCarryH>().Where(r => input.carrys.Contains(r.carry_code)).ToListAsync();
|
||||
|
||||
|
||||
|
||||
|
||||
foreach (var item in items)
|
||||
{
|
||||
if (item.is_lock == 1)
|
||||
{
|
||||
throw new AppFriendlyException($"载具{item.carry_code}已锁定", 500);
|
||||
}
|
||||
BasLocation carrryLoc = await _db.Queryable<BasLocation>().Where(r => r.id == item.location_id).FirstAsync();
|
||||
if (carrryLoc == null || carrryLoc.is_type != "0")
|
||||
{
|
||||
throw new Exception($"托盘{item.carry_code}已经不在存储库位中,不能出库!");
|
||||
}
|
||||
}
|
||||
|
||||
List<WmsCarryCode> wmsCarryCodes = await _db.Queryable<WmsCarryCode>().Where(r => items.Select(c => c.id).Contains(r.carry_id)
|
||||
&& r.material_id == wmsRawmatTransferoutstockD.matcode_id && r.code_batch == wmsRawmatTransferoutstockD.code_batch).ToListAsync();
|
||||
|
||||
@@ -39,11 +39,13 @@ namespace Tnb.WarehouseMgr
|
||||
var supplier_code = "";
|
||||
var code_batch = "";
|
||||
var material_specification = "";
|
||||
var container_no = "";
|
||||
if (!input.queryJson.IsNullOrWhiteSpace())
|
||||
{
|
||||
supplier_code = JObject.Parse(input.queryJson).Value<string>("supplier_code");
|
||||
code_batch = JObject.Parse(input.queryJson).Value<string>(nameof(WmsCarryCode.code_batch));
|
||||
material_specification = JObject.Parse(input.queryJson).Value<string>(nameof(WmsCarryCode.material_specification));
|
||||
container_no = JObject.Parse(input.queryJson).Value<string>(nameof(WmsCarryCode.container_no));
|
||||
}
|
||||
|
||||
List<WmsStockReportH?> result = new List<WmsStockReportH?>();
|
||||
@@ -57,6 +59,7 @@ namespace Tnb.WarehouseMgr
|
||||
.LeftJoin<WmsPurchaseH>((a, b, c, d, e, f, g, h) => h.id == g.bill_id)
|
||||
.WhereIF(!string.IsNullOrEmpty(material_specification), (a, b, c, d, e, f) => f.material_specification.Contains(material_specification))
|
||||
.WhereIF(!string.IsNullOrEmpty(code_batch), (a, b, c, d, e, f) => a.code_batch.Contains(code_batch))
|
||||
.WhereIF(!string.IsNullOrEmpty(container_no), (a, b, c, d, e, f) => f.container_no.Contains(container_no))
|
||||
.Select((a, b, c, d, e, f, g, h) => new WmsStockReportH
|
||||
{
|
||||
org_id = e.org_id,
|
||||
@@ -119,6 +122,7 @@ namespace Tnb.WarehouseMgr
|
||||
.WhereIF(!string.IsNullOrEmpty(material_specification), (a, b, c, d, e, f) => f.material_specification.Contains(material_specification))
|
||||
.WhereIF(!string.IsNullOrEmpty(code_batch), (a, b, c, d, e, f) => a.code_batch.Contains(code_batch))
|
||||
.WhereIF(!string.IsNullOrEmpty(supplier_code), (a, b, c, d, e, f, g, h) => h.supplier_code.Contains(supplier_code))
|
||||
.WhereIF(!string.IsNullOrEmpty(container_no), (a, b, c, d, e, f, g, h) => f.container_no.Contains(container_no))
|
||||
.Select((a, b, c, d, e, f, g, h) => new WmsStockReportH
|
||||
{
|
||||
org_id = e.org_id,
|
||||
|
||||
Reference in New Issue
Block a user