diff --git a/BasicData/Tnb.BasicData.Entities/Entity/BasMbomProcess.cs b/BasicData/Tnb.BasicData.Entities/Entity/BasMbomProcess.cs index c6c79b0a..cb5b4f99 100644 --- a/BasicData/Tnb.BasicData.Entities/Entity/BasMbomProcess.cs +++ b/BasicData/Tnb.BasicData.Entities/Entity/BasMbomProcess.cs @@ -53,5 +53,15 @@ public partial class BasMbomProcess : BaseEntity /// 工艺路线子表id /// public string route_detail_id { get; set; } + + /// + /// 是否时最后一道工序 + /// + public int is_last { get; set; } + + /// + /// 排序 + /// + public int ordinal { get; set; } } diff --git a/BasicData/Tnb.BasicData/BasMbomService.cs b/BasicData/Tnb.BasicData/BasMbomService.cs index 7c441b64..4eae1f35 100644 --- a/BasicData/Tnb.BasicData/BasMbomService.cs +++ b/BasicData/Tnb.BasicData/BasMbomService.cs @@ -282,6 +282,7 @@ namespace Tnb.BasicData if (mbomSaveDataInput != null && mbomSaveDataInput.processes != null) { + int index = 0; foreach (var process in mbomSaveDataInput.processes) { string mbomProcessId = SnowflakeIdHelper.NextId(); @@ -296,6 +297,8 @@ namespace Tnb.BasicData byproduct_status = process.byproduct_status, production_method = process.production_method, route_detail_id = process.route_detail_id, + ordinal = ++index, + is_last = index==mbomSaveDataInput.processes.Count ? 1 : 0, }); diff --git a/ProductionMgr/Tnb.ProductionMgr.Entities/Entity/PrdMoTask.cs b/ProductionMgr/Tnb.ProductionMgr.Entities/Entity/PrdMoTask.cs index 16772015..097e9df0 100644 --- a/ProductionMgr/Tnb.ProductionMgr.Entities/Entity/PrdMoTask.cs +++ b/ProductionMgr/Tnb.ProductionMgr.Entities/Entity/PrdMoTask.cs @@ -182,4 +182,10 @@ public partial class PrdMoTask : BaseEntity /// 生产bom工序id /// public string? mbom_process_id { get; set; } + + /// + /// 最后一道工序完成数量 + /// + public int? last_process_complete_qty { get; set; } + } diff --git a/ProductionMgr/Tnb.ProductionMgr/PrdCancelCloseDownService.cs b/ProductionMgr/Tnb.ProductionMgr/PrdCancelCloseDownService.cs index 77744e16..e3f6a029 100644 --- a/ProductionMgr/Tnb.ProductionMgr/PrdCancelCloseDownService.cs +++ b/ProductionMgr/Tnb.ProductionMgr/PrdCancelCloseDownService.cs @@ -14,6 +14,7 @@ using JNPF.DynamicApiController; using JNPF.FriendlyException; using JNPF.Logging; using JNPF.Systems.Entitys.Permission; +using JNPF.Systems.Interfaces.System; using Mapster; using Microsoft.AspNetCore.Mvc; using SqlSugar; @@ -40,6 +41,7 @@ namespace Tnb.ProductionMgr private readonly IToolMoldsService _moldService; private readonly IPrdMoTaskService _prdMoTaskService; private readonly IUserManager _userManager; + private readonly IBillRullService _billRullService; private static Dictionary _dicWorkStationAndShopRelacion = new Dictionary(); private static Dictionary _dicWorkShop = new Dictionary(); @@ -51,6 +53,7 @@ namespace Tnb.ProductionMgr IPrdMoTaskService prdMoTaskService, IToolMoldsService moldsService, IToolMoldMaintainTaskService maintainTaskService, + IBillRullService billRullService, IUserManager userManager ) { @@ -58,6 +61,7 @@ namespace Tnb.ProductionMgr _maintainTaskService = maintainTaskService; _moldService = moldsService; _userManager = userManager; + _billRullService = billRullService; _db = repository.AsSugarClient(); } /// @@ -226,6 +230,30 @@ namespace Tnb.ProductionMgr await _maintainTaskService.Create(maintaindTask); } + string reason = ""; + if (!string.IsNullOrEmpty(input.reason)) + { + List prdCancelClosedownReasons = await _db.Queryable().ToListAsync(); + string[] reasonArr = input.reason.Split(","); + var reasonList = prdCancelClosedownReasons.Where(x => reasonArr.Contains(x.id)).Select(x => x.reason).ToList(); + reason = string.Join(',', reasonList); + + } + string code = await _billRullService.GetBillNumber("EqpRepair"); + EqpRepairApply eqpRepairApply = new EqpRepairApply() + { + code = code, + name = eqp.name + "停机", + equip_id = input.eqp_id, + status = Tnb.EquipMgr.RepairApplyStatus.TOBEEXECUTED, + description = reason, + create_id = _userManager.UserId, + create_time = DateTime.Now, + remark = input.remark, + }; + + await _db.Insertable(eqpRepairApply).ExecuteCommandAsync(); + } else throw Oops.Oh(ErrorCode.COM1001); diff --git a/ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs b/ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs index 69c422d5..79fe64ea 100644 --- a/ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs +++ b/ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs @@ -320,8 +320,9 @@ namespace Tnb.ProductionMgr result = await _db.Queryable().LeftJoin((a, b) => a.mo_id == b.id) .LeftJoin((a, b, c) => a.material_id == c.id) .LeftJoin((a, b, c, d) => a.workline_id == d.Id) + .LeftJoin((a,b,c,d,e)=>a.process_id==e.id) .Where((a, b, c, d) => b.id == moId || b.parent_id == moId) - .Select((a, b, c, d) => new PrdMoTaskOutput + .Select((a, b, c, d,e) => new PrdMoTaskOutput { mo_task_code = a.mo_task_code, mo_task_status = a.mo_task_status, @@ -329,10 +330,12 @@ namespace Tnb.ProductionMgr workline_name = d.FullName, material_code = c.code, material_name = c.name, + process_code = e.process_code, + process_name = e.process_name, mo_task_qty = SqlFunc.Subqueryable().Where(a => a.mo_id == moId).Count(), estimated_start_date = a.estimated_start_date.Value.ToString("yyyy-MM-dd HH"), estimated_end_date = a.estimated_end_date.Value.ToString("yyyy-MM-dd HH"), - plan_qty = b.scheduled_qty, + plan_qty = a.scheduled_qty, complete_qty = a.complete_qty, }) .Mapper(it => @@ -1263,7 +1266,22 @@ namespace Tnb.ProductionMgr .SetColumns(x => x.reported_work_qty == x.reported_work_qty + input.reported_qty) .Where(x => x.id == input.mo_task_id).ExecuteCommandAsync(); } - + var mbomProcess = await db.Queryable().SingleAsync(x => x.id == prdMoTask.mbom_process_id); + if (mbomProcess.is_last==1 && prdMoTask != null && !string.IsNullOrEmpty(prdMoTask.parent_id)) + { + var parentMoTask = await db.Queryable().SingleAsync(x => x.id == prdMoTask.parent_id); + if (parentMoTask?.last_process_complete_qty == null) + { + await db.Updateable() + .SetColumns(x => x.last_process_complete_qty == input.reported_qty) + .Where(x => x.id == prdMoTask.parent_id).ExecuteCommandAsync(); + }else if (parentMoTask?.last_process_complete_qty != null) + { + await db.Updateable() + .SetColumns(x => x.last_process_complete_qty == x.last_process_complete_qty + input.reported_qty) + .Where(x => x.id == prdMoTask.parent_id).ExecuteCommandAsync(); + } + } var master = await db.Queryable().FirstAsync(it => it.mo_task_id == input.mo_task_id); if (master != null) @@ -1318,6 +1336,9 @@ namespace Tnb.ProductionMgr } deductNum = deductNum - (detail.num - detail.use_num); + + if (deductNum <= 0) + break; } if (deductNum > 0) @@ -1329,9 +1350,9 @@ namespace Tnb.ProductionMgr { foreach (var detail in details) { - db.Updateable().SetColumns(x => x.use_num == x.num) + await db.Updateable().SetColumns(x => x.use_num == x.num) .SetColumns(x=>x.status=="2") - .Where(x => x.id == detail.id); + .Where(x => x.id == detail.id).ExecuteCommandAsync(); } } @@ -1341,6 +1362,10 @@ namespace Tnb.ProductionMgr } } + else + { + //throw new Exception("无投入物料"); + } } } diff --git a/ProductionMgr/Tnb.ProductionMgr/PrdPackReportService.cs b/ProductionMgr/Tnb.ProductionMgr/PrdPackReportService.cs index 8b47fbca..a285f4b6 100644 --- a/ProductionMgr/Tnb.ProductionMgr/PrdPackReportService.cs +++ b/ProductionMgr/Tnb.ProductionMgr/PrdPackReportService.cs @@ -70,7 +70,7 @@ namespace Tnb.ProductionMgr plan_end_date = a.estimated_end_date, plan_qty = c.plan_qty, // complete_qty = SqlFunc.Subqueryable().Where(it => it.mo_task_code == a.mo_task_code).Sum(it => it.reported_work_qty), - complete_qty = a.reported_work_qty+a.scrap_qty, + complete_qty = a.last_process_complete_qty, mo_task_status = a.mo_task_status, }) @@ -94,8 +94,8 @@ namespace Tnb.ProductionMgr node.workline_id = $"{workLine.Item1}/{workLine.Item2}"; } } - node.plan_start_date = item.estimated_start_date.HasValue ? item.estimated_start_date.Value.ToString("yyyy-MM-dd HH:mm:ss") : ""; - node.plan_end_date = item.estimated_end_date.HasValue ? item.estimated_end_date.Value.ToString("yyyy-MM-dd HH:mm:ss") : ""; + node.plan_start_date = item.plan_start_date.HasValue ? item.plan_start_date.Value.ToString("yyyy-MM-dd HH:mm:ss") : ""; + node.plan_end_date = item.plan_end_date.HasValue ? item.plan_end_date.Value.ToString("yyyy-MM-dd HH:mm:ss") : ""; await GetChild(item.id, trees, dic); trees.Add(node); } @@ -116,8 +116,12 @@ namespace Tnb.ProductionMgr private async Task GetChild(string parentId, List nodes, Dictionary dic) { - var items = await _db.Queryable().LeftJoin((a, b) => a.process_id == b.id).LeftJoin((a, b, c) => a.mo_id == c.id) + var items = await _db.Queryable() + .LeftJoin((a, b) => a.process_id == b.id) + .LeftJoin((a, b, c) => a.mo_id == c.id) + .LeftJoin((a,b,c,d)=>a.mbom_process_id==d.id) .Where(a => a.parent_id == parentId && a.mo_task_status != "ToBeScheduled") + .OrderBy((a,b,c,d)=>d.ordinal) .Select((a, b, c) => new PrdMoTask { id = a.id, @@ -129,7 +133,8 @@ namespace Tnb.ProductionMgr plan_start_date = a.estimated_start_date, plan_end_date = a.estimated_end_date, plan_qty = c.plan_qty, - complete_qty = SqlFunc.Subqueryable().Where(it => it.mo_task_code == a.mo_task_code).Sum(it => it.reported_work_qty), + //complete_qty = SqlFunc.Subqueryable().Where(it => it.mo_task_code == a.mo_task_code).Sum(it => it.reported_work_qty), + complete_qty = a.reported_work_qty+a.scrap_qty, mo_task_status = a.mo_task_status, }).ToListAsync(); @@ -147,6 +152,15 @@ namespace Tnb.ProductionMgr nsChild[i].process_id = $"{items[i].process_code}/{items[i].process_name}"; nsChild[i].plan_start_date = items[i].estimated_start_date.HasValue ? items[i].estimated_start_date.Value.ToString("yyyy-MM-dd HH:mm:ss") : ""; nsChild[i].plan_end_date = items[i].estimated_end_date.HasValue ? items[i].estimated_end_date.Value.ToString("yyyy-MM-dd HH:mm:ss") : ""; + + if (nsChild[i].workline_id.IsNotEmptyOrNull()) + { + var workLine = _dicWorkLine.ContainsKey(nsChild[i].workline_id) ? (Tuple)_dicWorkLine[nsChild[i].workline_id] : null; + if (workLine != null) + { + nsChild[i].workline_id = $"{workLine.Item1}/{workLine.Item2}"; + } + } } nodes.AddRange(nsChild); diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryBindService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryBindService.cs index bb1412d5..377f2f6d 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryBindService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryBindService.cs @@ -67,15 +67,13 @@ namespace Tnb.WarehouseMgr var subCarryId = input.data.ContainsKey("membercarry_id") ? input.data["membercarry_id"]?.ToString() : ""; var carry = await _db.Queryable().SingleAsync(it => it.id == carryId); var subCarry = await _db.Queryable().SingleAsync(it => it.id == subCarryId); - - //WmsCarrybindH wmsCarrybindH = carry?.Adapt()!; if (carry != null && subCarry != null) { - carry.carry_status = "1"; var row = await _db.Updateable(carry).ExecuteCommandAsync(); subCarry.carry_status = "1"; row = await _db.Updateable(subCarry).ExecuteCommandAsync(); + //更新载具明细表 WmsCarryD wmsCarryD = new() { id = SnowflakeIdHelper.NextId(), @@ -89,6 +87,7 @@ namespace Tnb.WarehouseMgr }; row = await _db.Insertable(wmsCarryD).ExecuteCommandAsync(); var items = await _db.Queryable().Where(it => it.carry_id == subCarryId).ToListAsync(); + //更新载具绑定条码表 for (int i = 0; i < items.Count; i++) { WmsCarrybindCode wmsCarrybindCode = new(); diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryService.cs index f032da98..d7c079df 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryService.cs @@ -98,12 +98,14 @@ namespace Tnb.WarehouseMgr var row = await _db.Updateable(newCarry).ExecuteCommandAsync(); WmsCarryReplaceH wmsCarryReplaceH = oldCarry.Adapt(); wmsCarryReplaceH.id = SnowflakeIdHelper.NextId(); - wmsCarryReplaceH.org_id = oldCarry.org_id; + wmsCarryReplaceH.org_id = _userManager.User.OrganizeId; wmsCarryReplaceH.bill_code = await _billRullService.GetBillNumber(WmsCarryConst.WMS_CARRY_REPLACE_ENCODE); wmsCarryReplaceH.carry_id = oldCarry.id; wmsCarryReplaceH.carry_code = oldCarry.carry_code; wmsCarryReplaceH.newcarry_id = newCarry.id; wmsCarryReplaceH.newcarry_code = newCarry.carry_code; + wmsCarryReplaceH.create_id = _userManager.UserId; + wmsCarryReplaceH.create_time = DateTime.Now; wmsCarryReplaceH.modify_id = null; wmsCarryReplaceH.modify_time = null; row = await _db.Insertable(wmsCarryReplaceH).ExecuteCommandAsync(); diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryUnbindService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryUnbindService.cs index 92bacdd8..739d972f 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryUnbindService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryUnbindService.cs @@ -71,6 +71,7 @@ namespace Tnb.WarehouseMgr { var row = await _db.Deleteable().Where(it => it.carry_id == carryId && it.membercarry_id == subCarryId).ExecuteCommandAsync(); var items = await _db.Queryable().Where(it => it.carry_id == subCarryId).ToListAsync(); + //更新载具解绑记录条码表 WmsCarryunbindCode wmsCarryUnbindCode = new(); for (int i = 0; i < items.Count; i++) { diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryBindService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryBindService.cs index 8f9f52cd..eecedd09 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryBindService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryBindService.cs @@ -51,7 +51,7 @@ namespace Tnb.WarehouseMgr _billRullService = billRullService; OverideFuncs.CreateAsync = PDACarryBind; } - + private async Task PDACarryBind(VisualDevModelDataCrInput input) { var isOk = false; @@ -67,27 +67,28 @@ namespace Tnb.WarehouseMgr var subCarryId = input.data.ContainsKey("membercarry_id") ? input.data["membercarry_id"]?.ToString() : ""; var carry = await _db.Queryable().SingleAsync(it => it.id == carryId); var subCarry = await _db.Queryable().SingleAsync(it => it.id == subCarryId); - WmsCarryD wmsCarryD = new() - { - id = SnowflakeIdHelper.NextId(), - carry_id = carry.id, - org_id = carry?.org_id!, - membercarry_id = subCarry.id, - membercarry_code = subCarry.carry_code, - loc = input.data[nameof(WmsCarrybindH.loc)].ParseToInt(1), - create_id = _userManager.UserId, - create_time = DateTime.Now - }; - //WmsCarrybindH wmsCarrybindH = carry?.Adapt()!; if (carry != null && subCarry != null) { + //更新载具明细 + WmsCarryD wmsCarryD = new() + { + id = SnowflakeIdHelper.NextId(), + carry_id = carry.id, + org_id = carry?.org_id!, + membercarry_id = subCarry.id, + membercarry_code = subCarry.carry_code, + loc = input.data[nameof(WmsCarrybindH.loc)].ParseToInt(1), + create_id = _userManager.UserId, + create_time = DateTime.Now + }; var row = await _db.Insertable(wmsCarryD).ExecuteCommandAsync(); carry.carry_status = "1"; row = await _db.Updateable(carry).ExecuteCommandAsync(); subCarry.carry_status = "1"; row = await _db.Updateable(subCarry).ExecuteCommandAsync(); var items = await _db.Queryable().Where(it => it.carry_id == subCarryId).ToListAsync(); + //更新载具绑定条码表 for (int i = 0; i < items.Count; i++) { WmsCarrybindCode wmsCarrybindCode = new(); diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryMoveOutStockService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryMoveOutStockService.cs index 3193b41b..2cd84bfc 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryMoveOutStockService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryMoveOutStockService.cs @@ -65,8 +65,7 @@ namespace Tnb.WarehouseMgr VisualDevEntity? templateEntity = await _visualDevService.GetInfoById(ModuleConsts.MODULE_WMSCARRYMOOUTSTKPDA_ID, true); await _runService.Create(templateEntity, input); - //入库取终点 - //var OutStockStrategyInput = new OutStockStrategyQuery { carry_id = input.data[nameof(OutStockStrategyQuery.carry_id)].ToString(), Size = 1 }; + //出库取起点 var carry = await _db.Queryable().FirstAsync(it => it.id == input.data[nameof(WmsMoveOutstock.carry_id)].ToString()); WmsPointH sPoint = null; WmsPointH ePoint = null; diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryUnbindService .cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryUnbindService .cs index 113907a3..37b39ebf 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryUnbindService .cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryUnbindService .cs @@ -66,11 +66,11 @@ namespace Tnb.WarehouseMgr var subCarryId = input.data.ContainsKey("membercarry_id") ? input.data["membercarry_id"]?.ToString() : ""; var carry = await _db.Queryable().FirstAsync(it => it.id == carryId); var subCarry = await _db.Queryable().FirstAsync(it => it.id == subCarryId); - //WmsCarryunbindH wmsCarryUnbindH = carry.Adapt(); if (carry != null && subCarry != null) { var row = await _db.Deleteable().Where(it => it.carry_id == carryId && it.membercarry_id == subCarryId).ExecuteCommandAsync(); var items = await _db.Queryable().Where(it => it.carry_id == subCarryId).ToListAsync(); + //更新载具解绑记录 WmsCarryunbindCode wmsCarryUnbindCode = new(); for (int i = 0; i < items.Count; i++) { diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAEmptyOutstockService .cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAEmptyOutstockService .cs index 91abdd0c..0f4dbfda 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAEmptyOutstockService .cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAEmptyOutstockService .cs @@ -68,9 +68,6 @@ namespace Tnb.WarehouseMgr VisualDevEntity? templateEntity = await _visualDevService.GetInfoById(ModuleConsts.MODULE_WMSEMPTYOUTSTKPDA_ID, true); await _runService.Create(templateEntity, input); - /*//入库取终点 - var inStockStrategyInput = new InStockStrategyQuery { warehouse_id = input.data[nameof(InStockStrategyQuery.warehouse_id)].ToString(), Size = 1 }; - var endLocations = await _wareHouseService.InStockStrategy(inStockStrategyInput);*/ //判断目标库位是否自动签收 var loc = await _db.Queryable().SingleAsync(it => it.id == input.data[nameof(WmsPointH.location_id)].ToString()); diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs index 1ecf696c..45fbce7b 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs @@ -75,12 +75,13 @@ namespace Tnb.WarehouseMgr var carryId = input.data.ContainsKey("carry_id") ? input.data["carry_id"]?.ToString() : ""; var feedBoxCode = input.data.ContainsKey("feedbox_code") ? input.data["feedbox_code"]?.ToString() : ""; - var carry = await _db.Queryable().FirstAsync(it => it.id == carryId); - var feedBox = await _db.Queryable().FirstAsync(it => it.id == feedBoxCode); + var carry = await _db.Queryable().SingleAsync(it => it.id == carryId); + var feedBox = await _db.Queryable().SingleAsync(it => it.feedbox_code == feedBoxCode); var carryMaterial = await _db.Queryable().FirstAsync(it => it.carry_id == carryId); - var carryCodes = await _db.Queryable().Where(it=>it.carry_id == carryId).ToListAsync(); + var carryCodes = await _db.Queryable().Where(it => it.carry_id == carryId).ToListAsync(); if (carry != null && feedBox != null) { + //更新投料箱 feedBox.material_id = carryMaterial.material_id; feedBox.material_code = carryMaterial.material_code; feedBox.qty = carryMaterial.qty; @@ -89,7 +90,8 @@ namespace Tnb.WarehouseMgr feedBox.create_id = _userManager.UserId; feedBox.create_time = DateTime.Now; var row = await _db.Updateable(feedBox).ExecuteCommandAsync(); - foreach(var carryCode in carryCodes) + //更新投料记录条码表 + foreach (var carryCode in carryCodes) { WmsFeedingrecordCode wmsFeedingrecordCode = new(); wmsFeedingrecordCode.id = SnowflakeIdHelper.NextId(); @@ -97,7 +99,7 @@ namespace Tnb.WarehouseMgr wmsFeedingrecordCode.record_id = input.data["ReturnIdentity"]?.ToString()!; wmsFeedingrecordCode.material_id = carryCode.material_id; wmsFeedingrecordCode.material_code = carryCode.material_code; - wmsFeedingrecordCode.barcode = carryCode.barcode; + wmsFeedingrecordCode.barcode = carryCode.barcode; wmsFeedingrecordCode.code_batch = carryCode.code_batch; wmsFeedingrecordCode.codeqty = carryCode.codeqty; wmsFeedingrecordCode.unit_id = carryCode.unit_id; @@ -106,6 +108,7 @@ namespace Tnb.WarehouseMgr wmsFeedingrecordCode.create_time = DateTime.Now; row = await _db.Insertable(wmsFeedingrecordCode).ExecuteCommandAsync(); } + //更新载具 row = await UpdateNullCarry(carry); isOk = (row > 0); if (!isOk) throw Oops.Oh(ErrorCode.COM1001); diff --git a/system/Tnb.Systems/Permission/DepartmentService.cs b/system/Tnb.Systems/Permission/DepartmentService.cs index 0e74df6e..85325c15 100644 --- a/system/Tnb.Systems/Permission/DepartmentService.cs +++ b/system/Tnb.Systems/Permission/DepartmentService.cs @@ -6,6 +6,7 @@ using JNPF.Common.Security; using JNPF.DependencyInjection; using JNPF.DynamicApiController; using JNPF.FriendlyException; +using JNPF.Logging; using JNPF.Systems.Entitys.Dto.Department; using JNPF.Systems.Entitys.Dto.Organize; using JNPF.Systems.Entitys.Dto.SysConfig; @@ -248,7 +249,8 @@ public class DepartmentService : IDepartmentService, IDynamicApiController, ITra if (await _repository.IsAnyAsync(o => o.ParentId == input.parentId && o.FullName == input.fullName && o.Category == "department" && o.DeleteMark == null)) throw Oops.Oh(ErrorCode.D2019); OrganizeEntity? entity = input.Adapt(); - entity.Category = "department"; + // entity.Category = "department"; + entity.Category = input.category; entity.Id = SnowflakeIdHelper.NextId(); entity.EnabledMark = 1; entity.CreatorTime = DateTime.Now; @@ -473,7 +475,8 @@ public class DepartmentService : IDepartmentService, IDynamicApiController, ITra var processVal = jsonObj.GetValue("rowprocess"); if (processVal is not null) { - var dic = _repository.GetList().ToDictionary(x => x.FullName, x => x.Id); + //modifyby zhoukeda 2023.06.25 + var dic = _repository.GetList(x=>x.DeleteMark==null).ToDictionary(x => x.FullName, x => x.Id); var procList = jsonObj.Value("rowprocess"); var pids = procList.Select(x => x.Value("id")).Distinct().ToList(); var dbProcIds = await _repository.AsSugarClient().Queryable().Where(it => pids.Contains(it.process_id)).Select(it => it.process_id).ToListAsync(); @@ -517,8 +520,9 @@ public class DepartmentService : IDepartmentService, IDynamicApiController, ITra if (sysConfig.qyhIsSynOrg) await _synThirdInfoService.SynDep(1, 1, sysConfig, orgList); } - catch (Exception) + catch (Exception e) { + Log.Error(e.Message); } #endregion } diff --git a/system/Tnb.Systems/Tnb.Systems.csproj b/system/Tnb.Systems/Tnb.Systems.csproj index 35ba2198..49f58031 100644 --- a/system/Tnb.Systems/Tnb.Systems.csproj +++ b/system/Tnb.Systems/Tnb.Systems.csproj @@ -17,4 +17,8 @@ + + + +