diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Consts/WmsWareHouseConst.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Consts/WmsWareHouseConst.cs index 03775ecf..beedd9b8 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Consts/WmsWareHouseConst.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Consts/WmsWareHouseConst.cs @@ -318,6 +318,10 @@ /// public const string AdministratorOrgId = "25193668006933"; /// + /// ERPId(天益4厂) + /// + public const string ErpUserId = "34995305856535"; + /// /// 盘点任务计算状态-未结算 /// public const string CLOSINGSTATUS_WJS_ID = "27674058079509"; diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/ErpInputs/MaterialTransferInput.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/ErpInputs/MaterialTransferInput.cs index a4518e10..f34e5b4e 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/ErpInputs/MaterialTransferInput.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/ErpInputs/MaterialTransferInput.cs @@ -77,11 +77,6 @@ namespace Tnb.WarehouseMgr.Entities.Dto.ErpInputs /// public string? material_code { get; set; } - /// - /// 规格型号 - /// - public string material_specification { get; set; } - /// /// 单位代码 /// @@ -101,10 +96,5 @@ namespace Tnb.WarehouseMgr.Entities.Dto.ErpInputs /// 应转主数量 /// public decimal? qty { get; set; } - - /// - /// 物料描述 - /// - public string? material_ex { get; set; } } } diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Entity/WmsMaterialTransfer.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Entity/WmsMaterialTransfer.cs index a02aa0f3..9aa556cb 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Entity/WmsMaterialTransfer.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Entity/WmsMaterialTransfer.cs @@ -124,4 +124,14 @@ public partial class WmsMaterialTransfer : BaseEntity /// public int? remainbindracknum { get; set; } + /// + /// erp转库单号 + /// + public string? erp_bill_code { get; set; } + + /// + /// 转库类型 + /// + public string? transfer_type { get; set; } + } diff --git a/WarehouseMgr/Tnb.WarehouseMgr/ErpToWmsService.cs b/WarehouseMgr/Tnb.WarehouseMgr/ErpToWmsService.cs index 43a7fe3d..a1475505 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/ErpToWmsService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/ErpToWmsService.cs @@ -8,6 +8,7 @@ using Tnb.WarehouseMgr.Entities; using Tnb.WarehouseMgr.Entities.Consts; using Tnb.WarehouseMgr.Entities.Dto.ErpInputs; using Tnb.WarehouseMgr.Entities.Entity; +using Top.Api; namespace Tnb.WarehouseMgr { @@ -287,6 +288,26 @@ namespace Tnb.WarehouseMgr public async Task MaterialTransfer(MaterialTransferInput input) { var db = _repository.AsSugarClient(); + + try + { + + } + catch (Exception ex) + { + + } + + + BasWarehouse warehouse_outstock = await db.Queryable().Where(r => r.whcode == input.warehouse_outstock).FirstAsync(); + BasWarehouse warehouse_instock = await db.Queryable().Where(r => r.whcode == input.warehouse_instock).FirstAsync(); + if (warehouse_outstock == null) + { + + } + + + WmsMaterialTransfer wmsMaterialTransfer = new WmsMaterialTransfer(); string Code = await _billRuleService.GetBillNumber("MaterialTransfer"); wmsMaterialTransfer.bill_code = Code; @@ -300,26 +321,24 @@ namespace Tnb.WarehouseMgr wmsMaterialTransfer.depart_in = input.depart_in; wmsMaterialTransfer.deliver_date = input.deliver_date; wmsMaterialTransfer.arrival_date = input.arrival_date; - wmsMaterialTransfer.create_id = ""; + wmsMaterialTransfer.create_id = WmsWareHouseConst.ErpUserId; wmsMaterialTransfer.create_time = DateTime.Now; wmsMaterialTransfer.org_id = WmsWareHouseConst.AdministratorOrgId; + wmsMaterialTransfer.erp_bill_code = input.bill_code; await db.Insertable(wmsMaterialTransfer).ExecuteCommandAsync(); - List wmsMaterialTransferDs = new List(); foreach (var detail in input.details) { WmsMaterialTransferD wmsMaterialTransferD = new WmsMaterialTransferD(); wmsMaterialTransferD.lineno = detail.lineno; wmsMaterialTransferD.material_code = detail.material_code; - wmsMaterialTransferD.material_specification = detail.material_specification; wmsMaterialTransferD.unit_code = detail.unit_code; wmsMaterialTransferD.code_batch = detail.code_batch; wmsMaterialTransferD.station_code = detail.station_code; wmsMaterialTransferD.qty = detail.qty; wmsMaterialTransferD.bill_id = ""; - wmsMaterialTransferD.material_specification = detail.material_ex; var material = await db.Queryable().Where(p => p.code == detail.material_code).FirstAsync(); if (material != null) diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsMaterialTransferService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsMaterialTransferService.cs index c1b4a939..795b37cf 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsMaterialTransferService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsMaterialTransferService.cs @@ -658,6 +658,13 @@ namespace Tnb.WarehouseMgr List wmsMaterialTransferds = _db.Queryable().Where(r => r.bill_id == input.source_id).ToList(); + int count = wmsMaterialTransferds.Where(r => string.IsNullOrEmpty(r.station_code)).Count(); + if (count > 0) + { + Logger.LogWarning($@"转库单{wmsMaterialTransfer.bill_code}表体存在未填写工位的明细!"); + throw new AppFriendlyException($@"转库单{wmsMaterialTransfer.bill_code}表体存在未填写工位的明细!", 500); + } + // 转库单载具子表 List wmsMaterialTransferCarrys = new List(); diff --git a/system/Tnb.Systems/System/BillRuleService.cs b/system/Tnb.Systems/System/BillRuleService.cs index 8c603332..d60eacca 100644 --- a/system/Tnb.Systems/System/BillRuleService.cs +++ b/system/Tnb.Systems/System/BillRuleService.cs @@ -318,50 +318,52 @@ public class BillRuleService : IBillRullService, IDynamicApiController, ITransie /// private async Task GetNumber(string enCode) { - ISqlSugarClient db = _repository.CopyNew(); - StringBuilder strNumber = new StringBuilder(); - var entity = db.Queryable().Where(m => m.EnCode == enCode && m.DeleteMark == null).ToList()[0]; - //var entity = await _repository.GetFirstAsync(m => m.EnCode == enCode && m.DeleteMark == null); - if (entity != null) + using (ISqlSugarClient db = _repository.CopyNew()) { - // 处理隔天流水号归0 - if (entity.OutputNumber != null) + StringBuilder strNumber = new StringBuilder(); + var entity = db.Queryable().Where(m => m.EnCode == enCode && m.DeleteMark == null).ToList()[0]; + //var entity = await _repository.GetFirstAsync(m => m.EnCode == enCode && m.DeleteMark == null); + if (entity != null) { - var serialDate = entity.OutputNumber.Remove(entity.OutputNumber.Length - (int)entity.Digit).Replace(entity.Prefix, string.Empty); - var thisDate = entity.DateFormat == "no" ? string.Empty : DateTime.Now.ToString(entity.DateFormat); - if (serialDate != thisDate) + // 处理隔天流水号归0 + if (entity.OutputNumber != null) { - entity.ThisNumber = 0; + var serialDate = entity.OutputNumber.Remove(entity.OutputNumber.Length - (int)entity.Digit).Replace(entity.Prefix, string.Empty); + var thisDate = entity.DateFormat == "no" ? string.Empty : DateTime.Now.ToString(entity.DateFormat); + if (serialDate != thisDate) + { + entity.ThisNumber = 0; + } + else + { + entity.ThisNumber++; + } } else { - entity.ThisNumber++; + entity.ThisNumber = 0; } + + // 拼接单据编码 + // 前缀 + strNumber.Append(entity.Prefix); + if (entity.DateFormat != "no") + strNumber.Append(DateTime.Now.ToString(entity.DateFormat)); // 日期格式 + + var number = int.Parse(entity.StartNumber) + entity.ThisNumber; + strNumber.Append(number.ToString().PadLeft((int)entity.Digit, '0')); // 流水号 + entity.OutputNumber = strNumber.ToString(); + var str = strNumber.ToString(); + // 更新流水号 + await db.Updateable(entity).IgnoreColumns(ignoreAllNullColumns: true).CallEntityMethod(m => m.LastModify()).ExecuteCommandHasChangeAsync(); } else { - entity.ThisNumber = 0; + strNumber.Append("单据规则不存在"); } - // 拼接单据编码 - // 前缀 - strNumber.Append(entity.Prefix); - if (entity.DateFormat != "no") - strNumber.Append(DateTime.Now.ToString(entity.DateFormat)); // 日期格式 - - var number = int.Parse(entity.StartNumber) + entity.ThisNumber; - strNumber.Append(number.ToString().PadLeft((int)entity.Digit, '0')); // 流水号 - entity.OutputNumber = strNumber.ToString(); - var str = strNumber.ToString(); - // 更新流水号 - await db.Updateable(entity).IgnoreColumns(ignoreAllNullColumns: true).CallEntityMethod(m => m.LastModify()).ExecuteCommandHasChangeAsync(); + return strNumber.ToString(); } - else - { - strNumber.Append("单据规则不存在"); - } - - return strNumber.ToString(); } #endregion } \ No newline at end of file