diff --git a/EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpDaq.cs b/EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpDaq.cs index 9751ecf4..0c1ffae0 100644 --- a/EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpDaq.cs +++ b/EquipMgr/Tnb.EquipMgr.Entities/Entity/EqpDaq.cs @@ -88,5 +88,30 @@ public partial class EqpDaq : BaseEntity /// 流程引擎Id /// public string? f_flowid { get; set; } - + /// + /// + /// + public string? oper { get; set; } + + /// + /// + /// + public string? val { get; set; } + + /// + /// + /// + public string? node { get; set; } + + /// + /// 上料库位 + /// + [SugarColumn(IsIgnore = true)] + public string? upmat_location_code { get; set; } + + /// + /// 下料库位 + /// + [SugarColumn(IsIgnore = true)] + public string? downmat_location_code { get; set; } } \ No newline at end of file diff --git a/ProductionMgr/Tnb.ProductionMgr/RedisBackGround.cs b/ProductionMgr/Tnb.ProductionMgr/RedisBackGround.cs index 91d43652..e2431145 100644 --- a/ProductionMgr/Tnb.ProductionMgr/RedisBackGround.cs +++ b/ProductionMgr/Tnb.ProductionMgr/RedisBackGround.cs @@ -579,7 +579,7 @@ where carry_code = '{coderesult}' and status = '{WmsWareHouseConst.TASK_BILL_STA } // 未锁定且已占用且库位中没有记录托盘 此时认为是叠盘机送过来的 - // 20241018 业务变更 后续删除 + // 20241018 业务变更 var wmsLoc = db_BGWCarrySupplementtimer.Queryable() .LeftJoin((a, b) => a.id == b.location_id) .Where((a, b) => a.is_lock == 0 && a.is_use == "1" diff --git a/Tnb.Server.sln b/Tnb.Server.sln index 8b5c0688..a5406b62 100644 --- a/Tnb.Server.sln +++ b/Tnb.Server.sln @@ -436,6 +436,7 @@ Global {1C97CF6C-B2DE-4261-824C-C2DE99307CCE} = {C617010A-DDB0-4C64-8706-5B9732AEC034} {6ACA8115-4403-4E04-8B4C-A409E0F0B289} = {C617010A-DDB0-4C64-8706-5B9732AEC034} {E600E59F-18EE-4DBC-8298-BEF4307F69D9} = {E4872924-2348-4E06-881A-08625ED98E9F} + {52B19E13-6B04-444C-A38A-B9955B199A98} = {ABE58B5E-610B-4159-BFF0-8B04BF700B3C} {FB41DBE3-4537-47AB-B248-7F6BDC1FC4B3} = {D90E2789-189A-4F05-B081-27F2FABB2E7E} {85E36D25-ACF8-4560-AD3F-05288B1ADD84} = {D90E2789-189A-4F05-B081-27F2FABB2E7E} {9F640B29-9C38-4349-9870-04130162134A} = {D90E2789-189A-4F05-B081-27F2FABB2E7E} diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Consts/WmsWareHouseConst.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Consts/WmsWareHouseConst.cs index e31e3815..8a6ab74c 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Consts/WmsWareHouseConst.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Consts/WmsWareHouseConst.cs @@ -372,6 +372,10 @@ namespace Tnb.WarehouseMgr.Entities.Consts /// public const string BIZTYPE_WMSMATERIALTRANSFER_ID = "34354738929685"; /// + /// 预任务生成业务类型-原材料转库单 + /// + public const string BIZTYPE_EmptyLJInstock_ID = "37759389888277"; + /// /// 预任务生成业务类型-物料齐套配送记录 todo /// public const string BIZTYPE_WmsMaterialkitRecordHService_ID = "WmsMaterialkitRecordHService"; diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Entity/WmsPurchaseQcrecord.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Entity/WmsPurchaseQcrecord.cs index 81bbbe32..4aee859c 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Entity/WmsPurchaseQcrecord.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Entity/WmsPurchaseQcrecord.cs @@ -114,6 +114,11 @@ public partial class WmsPurchaseQcrecord : BaseEntity /// public DateTime? check_time { get; set; } /// + /// 质检时间 + /// + [SugarColumn(IsIgnore = true)] + public string? check_timestr { get; set; } + /// /// /// [SugarColumn(IsIgnore = true)] diff --git a/WarehouseMgr/Tnb.WarehouseMgr/BaseWareHouseService.cs b/WarehouseMgr/Tnb.WarehouseMgr/BaseWareHouseService.cs index 4238fe37..0ddfe429 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/BaseWareHouseService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/BaseWareHouseService.cs @@ -1,4 +1,5 @@ -using System.Reflection; +using System.Data; +using System.Reflection; using System.Runtime.InteropServices; using System.Security.Claims; using System.Text; @@ -22,6 +23,7 @@ using SqlSugar; using Tnb.BasicData.Entities; using Tnb.Common.Core.EventBus.Constants; using Tnb.Common.Core.EventBus.Sources; +using Tnb.EquipMgr.Entities; using Tnb.WarehouseMgr.Entities; using Tnb.WarehouseMgr.Entities.Attributes; using Tnb.WarehouseMgr.Entities.Dto; @@ -46,6 +48,7 @@ namespace Tnb.WarehouseMgr public OverideVisualDevFunc OverideFuncs { get; } = new OverideVisualDevFunc(); public static SemaphoreSlim s_elevatorStatusSemaphore = new(1); + public static List equipdata = null; /// /// 物料签收 /// diff --git a/WarehouseMgr/Tnb.WarehouseMgr/DeviceProviderService.cs b/WarehouseMgr/Tnb.WarehouseMgr/DeviceProviderService.cs index 13eb97e7..42b328dc 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/DeviceProviderService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/DeviceProviderService.cs @@ -930,7 +930,7 @@ namespace Tnb.WarehouseMgr } else { - await _wareHouseService.SsxControl(disTask, "LOAD"); + await _wareHouseService.SsxControl_complete(disTask, "LOAD"); } } else if (input.action == "UNLOAD") diff --git a/WarehouseMgr/Tnb.WarehouseMgr/ErpToWmsService.cs b/WarehouseMgr/Tnb.WarehouseMgr/ErpToWmsService.cs index 1038f8ff..b5b88651 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/ErpToWmsService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/ErpToWmsService.cs @@ -1371,6 +1371,7 @@ namespace Tnb.WarehouseMgr wmsSaleD.material_id = material.id; wmsSaleD.material_name = material.name; wmsSaleD.material_specification = material.material_specification; + wmsSaleD.container_no = material.material_standard; } wmsSaleD.auxprop = detail.auxprop; diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs index d9428c15..53bea1a5 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs @@ -61,6 +61,8 @@ using Aspose.Cells.Drawing; using SQLitePCL; using Tnb.BasicData.Entities.Entity; using Tnb.BasicData.Interfaces; +using System.Data; +using Tnb.EquipMgr.Entities; namespace Tnb.WarehouseMgr { @@ -184,7 +186,13 @@ namespace Tnb.WarehouseMgr _thirdApiRecordService = thirdApiRecordService; _wmsOutinStockDetailService = wmsOutinStockDetailService; //_configuration = configuration; - + equipdata = equipdata ?? _db.Queryable().InnerJoin((a, b) => a.equip_id == b.id) + .InnerJoin((a, b, c) => b.upmat_location_id == c.id) + .InnerJoin((a, b, c, d) => b.downmat_location_id == d.id).Select((a, b, c, d) => new EqpDaq + { + upmat_location_code = c.location_code, + downmat_location_code = d.location_code + }, true).ToList(); } /// @@ -907,111 +915,69 @@ namespace Tnb.WarehouseMgr getdic.Add("ZSSSXCTU02", new string[] { "YTCS", "AllowAgvEmptyOut_CS03" }); #region 注塑车间点位 - putdic.Add("ZS-C01-1", new string[] { "hxjC", "A2允许入空箱", }); - getdic.Add("ZS-C01-2", new string[] { "hxjC", "A2允许取满箱" }); - - putdic.Add("ZS-C02-1", new string[] { "hxjC", "A3允许入空箱", }); - getdic.Add("ZS-C02-2", new string[] { "hxjC", "A3允许取满箱" }); - - putdic.Add("ZS-C03-1", new string[] { "hxjC", "A4允许入空箱", }); - getdic.Add("ZS-C03-2", new string[] { "hxjC", "A4允许取满箱" }); - - putdic.Add("ZS-C04-1", new string[] { "hxjC", "A5允许入空箱", }); - getdic.Add("ZS-C04-2", new string[] { "hxjC", "A5允许取满箱" }); - - putdic.Add("ZS-C05-1", new string[] { "hxjC", "A6允许入空箱", }); - getdic.Add("ZS-C05-2", new string[] { "hxjC", "A6允许取满箱" }); - - putdic.Add("ZS-C06-1", new string[] { "hxjC", "A7允许入空箱", }); - getdic.Add("ZS-C06-2", new string[] { "hxjC", "A7允许取满箱" }); - - putdic.Add("ZS-C07-1", new string[] { "hxjC", "A8允许入空箱", }); - getdic.Add("ZS-C07-2", new string[] { "hxjC", "A8允许取满箱" }); - - putdic.Add("ZS-C08-1", new string[] { "hxjC", "A9允许入空箱", }); - getdic.Add("ZS-C08-2", new string[] { "hxjC", "A9允许取满箱" }); - - putdic.Add("ZS-C09-1", new string[] { "hxjC", "A10允许入空箱", }); - getdic.Add("ZS-C09-2", new string[] { "hxjC", "A10允许取满箱" }); - - putdic.Add("ZS-C10-1", new string[] { "hxjC", "A11允许入空箱", }); - getdic.Add("ZS-C10-2", new string[] { "hxjC", "A11允许取满箱" }); - - putdic.Add("ZS-C11-1", new string[] { "hxjC", "A12允许入空箱", }); - getdic.Add("ZS-C11-2", new string[] { "hxjC", "A12允许取满箱" }); - - putdic.Add("ZS-C12-1", new string[] { "hxjC", "A13允许入空箱", }); - getdic.Add("ZS-C12-2", new string[] { "hxjC", "A13允许取满箱" }); - - putdic.Add("ZS-C13-1", new string[] { "hxjC", "A14允许入空箱", }); - getdic.Add("ZS-C13-2", new string[] { "hxjC", "A14允许取满箱" }); - - putdic.Add("ZS-C14-1", new string[] { "hxjC", "A1允许入空箱", }); - getdic.Add("ZS-C14-2", new string[] { "hxjC", "A1允许取满箱" }); - - - //putdic.Add("ZS-A01-1", new string[] { "hxjA", "A3允许入空箱", }); - //getdic.Add("ZS-A01-2", new string[] { "hxjA", "A3允许取满箱" }); - - //putdic.Add("ZS-A02-1", new string[] { "hxjA", "A4允许入空箱", }); - //getdic.Add("ZS-A02-2", new string[] { "hxjA", "A4允许取满箱" }); - - //putdic.Add("ZS-A03-1", new string[] { "hxjA", "A5允许入空箱", }); - //getdic.Add("ZS-A03-2", new string[] { "hxjA", "A5允许取满箱" }); - + var putdic_注塑车间 = equipdata.Where(r => r.node == "放货请求读"); + foreach (var item in putdic_注塑车间) + putdic.Add(item.upmat_location_code, new string[] { item.equip_code, item.label_name }); + var getdic_注塑车间 = equipdata.Where(r => r.node == "取货请求读"); + foreach (var item in getdic_注塑车间) + getdic.Add(item.downmat_location_code, new string[] { item.equip_code, item.label_name }); + #endregion + //putdic.Add("ZS-C01-1", new string[] { "hxjC", "A2允许入空箱", }); + //getdic.Add("ZS-C01-2", new string[] { "hxjC", "A2允许取满箱" }); + //putdic.Add("ZS-C02-1", new string[] { "hxjC", "A3允许入空箱", }); + //getdic.Add("ZS-C02-2", new string[] { "hxjC", "A3允许取满箱" }); + //putdic.Add("ZS-C03-1", new string[] { "hxjC", "A4允许入空箱", }); + //getdic.Add("ZS-C03-2", new string[] { "hxjC", "A4允许取满箱" }); + //putdic.Add("ZS-C04-1", new string[] { "hxjC", "A5允许入空箱", }); + //getdic.Add("ZS-C04-2", new string[] { "hxjC", "A5允许取满箱" }); + //putdic.Add("ZS-C05-1", new string[] { "hxjC", "A6允许入空箱", }); + //getdic.Add("ZS-C05-2", new string[] { "hxjC", "A6允许取满箱" }); + //putdic.Add("ZS-C06-1", new string[] { "hxjC", "A7允许入空箱", }); + //getdic.Add("ZS-C06-2", new string[] { "hxjC", "A7允许取满箱" }); + //putdic.Add("ZS-C07-1", new string[] { "hxjC", "A8允许入空箱", }); + //getdic.Add("ZS-C07-2", new string[] { "hxjC", "A8允许取满箱" }); + //putdic.Add("ZS-C08-1", new string[] { "hxjC", "A9允许入空箱", }); + //getdic.Add("ZS-C08-2", new string[] { "hxjC", "A9允许取满箱" }); + //putdic.Add("ZS-C09-1", new string[] { "hxjC", "A10允许入空箱", }); + //getdic.Add("ZS-C09-2", new string[] { "hxjC", "A10允许取满箱" }); + //putdic.Add("ZS-C10-1", new string[] { "hxjC", "A11允许入空箱", }); + //getdic.Add("ZS-C10-2", new string[] { "hxjC", "A11允许取满箱" }); + //putdic.Add("ZS-C11-1", new string[] { "hxjC", "A12允许入空箱", }); + //getdic.Add("ZS-C11-2", new string[] { "hxjC", "A12允许取满箱" }); + //putdic.Add("ZS-C12-1", new string[] { "hxjC", "A13允许入空箱", }); + //getdic.Add("ZS-C12-2", new string[] { "hxjC", "A13允许取满箱" }); + //putdic.Add("ZS-C13-1", new string[] { "hxjC", "A14允许入空箱", }); + //getdic.Add("ZS-C13-2", new string[] { "hxjC", "A14允许取满箱" }); + //putdic.Add("ZS-C14-1", new string[] { "hxjC", "A1允许入空箱", }); + //getdic.Add("ZS-C14-2", new string[] { "hxjC", "A1允许取满箱" }); + //putdic.Add("ZS-A07-1", new string[] { "hxjA", "A9允许入空箱", }); + //getdic.Add("ZS-A07-2", new string[] { "hxjA", "A9允许取满箱" }); + //putdic.Add("ZS-A08-1", new string[] { "hxjA", "A10允许入空箱", }); + //getdic.Add("ZS-A08-2", new string[] { "hxjA", "A10允许取满箱" }); + //putdic.Add("ZS-D01-1", new string[] { "hxjA", "A1允许入空箱", }); + //getdic.Add("ZS-D01-2", new string[] { "hxjA", "A1允许取满箱" }); + //putdic.Add("ZS-D02-1", new string[] { "hxjA", "A2允许入空箱", }); + //getdic.Add("ZS-D02-2", new string[] { "hxjA", "A2允许取满箱" }); + //putdic.Add("ZS-D03-1", new string[] { "hxjA", "A3允许入空箱", }); + //getdic.Add("ZS-D03-2", new string[] { "hxjA", "A3允许取满箱" }); + //putdic.Add("ZS-D04-1", new string[] { "hxjA", "A4允许入空箱", }); + //getdic.Add("ZS-D04-2", new string[] { "hxjA", "A4允许取满箱" }); + //putdic.Add("ZS-D05-1", new string[] { "hxjA", "A5允许入空箱", }); + //getdic.Add("ZS-D05-2", new string[] { "hxjA", "A5允许取满箱" }); //putdic.Add("ZS-D06-1", new string[] { "hxjA", "A6允许入空箱", }); //getdic.Add("ZS-D06-2", new string[] { "hxjA", "A6允许取满箱" }); - - //putdic.Add("ZS-A05-1", new string[] { "hxjA", "A7允许入空箱", }); - //getdic.Add("ZS-A05-2", new string[] { "hxjA", "A7允许取满箱" }); - - //putdic.Add("ZS-A06-1", new string[] { "hxjA", "A8允许入空箱", }); - //getdic.Add("ZS-A06-2", new string[] { "hxjA", "A8允许取满箱" }); - - putdic.Add("ZS-A07-1", new string[] { "hxjA", "A9允许入空箱", }); - getdic.Add("ZS-A07-2", new string[] { "hxjA", "A9允许取满箱" }); - - putdic.Add("ZS-A08-1", new string[] { "hxjA", "A10允许入空箱", }); - getdic.Add("ZS-A08-2", new string[] { "hxjA", "A10允许取满箱" }); - - putdic.Add("ZS-D01-1", new string[] { "hxjA", "A1允许入空箱", }); - getdic.Add("ZS-D01-2", new string[] { "hxjA", "A1允许取满箱" }); - - putdic.Add("ZS-D02-1", new string[] { "hxjA", "A2允许入空箱", }); - getdic.Add("ZS-D02-2", new string[] { "hxjA", "A2允许取满箱" }); - - putdic.Add("ZS-D03-1", new string[] { "hxjA", "A3允许入空箱", }); - getdic.Add("ZS-D03-2", new string[] { "hxjA", "A3允许取满箱" }); - - putdic.Add("ZS-D04-1", new string[] { "hxjA", "A4允许入空箱", }); - getdic.Add("ZS-D04-2", new string[] { "hxjA", "A4允许取满箱" }); - - putdic.Add("ZS-D05-1", new string[] { "hxjA", "A5允许入空箱", }); - getdic.Add("ZS-D05-2", new string[] { "hxjA", "A5允许取满箱" }); - - putdic.Add("ZS-D06-1", new string[] { "hxjA", "A6允许入空箱", }); - getdic.Add("ZS-D06-2", new string[] { "hxjA", "A6允许取满箱" }); - - putdic.Add("ZS-D07-1", new string[] { "hxjA", "A7允许入空箱", }); - getdic.Add("ZS-D07-2", new string[] { "hxjA", "A7允许取满箱" }); - - putdic.Add("ZS-D08-1", new string[] { "hxjA", "A8允许入空箱", }); - getdic.Add("ZS-D08-2", new string[] { "hxjA", "A8允许取满箱" }); - - - - putdic.Add("ZS-A09-1", new string[] { "hxjA", "A11允许入空箱", }); - getdic.Add("ZS-A09-2", new string[] { "hxjA", "A11允许取满箱" }); - - putdic.Add("ZS-A10-1", new string[] { "hxjA", "A12允许入空箱", }); - getdic.Add("ZS-A10-2", new string[] { "hxjA", "A12允许取满箱" }); - - putdic.Add("ZS-A11-1", new string[] { "hxjA", "A13允许入空箱", }); - getdic.Add("ZS-A11-2", new string[] { "hxjA", "A13允许取满箱" }); - - putdic.Add("ZS-A12-1", new string[] { "hxjA", "A14允许入空箱", }); - getdic.Add("ZS-A12-2", new string[] { "hxjA", "A14允许取满箱" }); - #endregion + //putdic.Add("ZS-D07-1", new string[] { "hxjA", "A7允许入空箱", }); + //getdic.Add("ZS-D07-2", new string[] { "hxjA", "A7允许取满箱" }); + //putdic.Add("ZS-D08-1", new string[] { "hxjA", "A8允许入空箱", }); + //getdic.Add("ZS-D08-2", new string[] { "hxjA", "A8允许取满箱" }); + //putdic.Add("ZS-A09-1", new string[] { "hxjA", "A11允许入空箱", }); + //getdic.Add("ZS-A09-2", new string[] { "hxjA", "A11允许取满箱" }); + //putdic.Add("ZS-A10-1", new string[] { "hxjA", "A12允许入空箱", }); + //getdic.Add("ZS-A10-2", new string[] { "hxjA", "A12允许取满箱" }); + //putdic.Add("ZS-A11-1", new string[] { "hxjA", "A13允许入空箱", }); + //getdic.Add("ZS-A11-2", new string[] { "hxjA", "A13允许取满箱" }); + //putdic.Add("ZS-A12-1", new string[] { "hxjA", "A14允许入空箱", }); + //getdic.Add("ZS-A12-2", new string[] { "hxjA", "A14允许取满箱" }); var strs = new string[] { }; @@ -1075,49 +1041,48 @@ namespace Tnb.WarehouseMgr getdic.Add("ZZ-01-02", new string[] { "外包装箱码垛线", "WBZX_x1_take_mtp", "true" }); getdic.Add("ZZ-02-02", new string[] { "外包装箱码垛线", "WBZX_x2_take_mtp", "true" }); - + getdic.Add("ZSSSXCTU02", new string[] { "YTCS", "右输送线上层允许出箱3", "true" }); getdic.Add("ZSSSXCTU01", new string[] { "YTCS", "左输送线上层允许出箱1", "true" }); getdic.Add("SSX-011-008", new string[] { "东面提升机输送线", "入库输送线8出箱完毕", "true" }); - getdic.Add("ZS-C01-2", new string[] { "hxjC", "A2AGV允许入满箱", "true" }); - getdic.Add("ZS-C02-2", new string[] { "hxjC", "A3AGV允许入满箱", "true" }); - getdic.Add("ZS-C03-2", new string[] { "hxjC", "A4AGV允许入满箱", "true" }); - getdic.Add("ZS-C04-2", new string[] { "hxjC", "A5AGV允许入满箱", "true" }); - getdic.Add("ZS-C05-2", new string[] { "hxjC", "A6AGV允许入满箱", "true" }); - getdic.Add("ZS-C06-2", new string[] { "hxjC", "A7AGV允许入满箱", "true" }); - getdic.Add("ZS-C07-2", new string[] { "hxjC", "A8AGV允许入满箱", "true" }); - getdic.Add("ZS-C08-2", new string[] { "hxjC", "A9AGV允许入满箱", "true" }); - getdic.Add("ZS-C09-2", new string[] { "hxjC", "A10AGV允许入满箱", "true" }); - getdic.Add("ZS-C10-2", new string[] { "hxjC", "A11AGV允许入满箱", "true" }); - getdic.Add("ZS-C11-2", new string[] { "hxjC", "A12AGV允许入满箱", "true" }); - getdic.Add("ZS-C12-2", new string[] { "hxjC", "A13AGV允许入满箱", "true" }); - getdic.Add("ZS-C13-2", new string[] { "hxjC", "A14AGV允许入满箱", "true" }); - getdic.Add("ZS-C14-2", new string[] { "hxjC", "A1AGV允许入满箱", "true" }); - //getdic.Add("ZS-A01-2", new string[] { "hxjA", "A3AGV允许入满箱", "true" }); - //getdic.Add("ZS-A02-2", new string[] { "hxjA", "A4AGV允许入满箱", "true" }); - //getdic.Add("ZS-A03-2", new string[] { "hxjA", "A5AGV允许入满箱", "true" }); + + + var putdic_注塑车间 = equipdata.Where(r => r.node == "放货请求写"); + foreach (var item in putdic_注塑车间) + putdic.Add(item.upmat_location_code, new string[] { item.equip_code, item.label_name, "true" }); + var getdic_注塑车间 = equipdata.Where(r => r.node == "取货请求写"); + foreach (var item in getdic_注塑车间) + getdic.Add(item.downmat_location_code, new string[] { item.equip_code, item.label_name, "true" }); + //getdic.Add("ZS-C01-2", new string[] { "hxjC", "A2AGV允许入满箱", "true" }); + //getdic.Add("ZS-C02-2", new string[] { "hxjC", "A3AGV允许入满箱", "true" }); + //getdic.Add("ZS-C03-2", new string[] { "hxjC", "A4AGV允许入满箱", "true" }); + //getdic.Add("ZS-C04-2", new string[] { "hxjC", "A5AGV允许入满箱", "true" }); + //getdic.Add("ZS-C05-2", new string[] { "hxjC", "A6AGV允许入满箱", "true" }); + //getdic.Add("ZS-C06-2", new string[] { "hxjC", "A7AGV允许入满箱", "true" }); + //getdic.Add("ZS-C07-2", new string[] { "hxjC", "A8AGV允许入满箱", "true" }); + //getdic.Add("ZS-C08-2", new string[] { "hxjC", "A9AGV允许入满箱", "true" }); + //getdic.Add("ZS-C09-2", new string[] { "hxjC", "A10AGV允许入满箱", "true" }); + //getdic.Add("ZS-C10-2", new string[] { "hxjC", "A11AGV允许入满箱", "true" }); + //getdic.Add("ZS-C11-2", new string[] { "hxjC", "A12AGV允许入满箱", "true" }); + //getdic.Add("ZS-C12-2", new string[] { "hxjC", "A13AGV允许入满箱", "true" }); + //getdic.Add("ZS-C13-2", new string[] { "hxjC", "A14AGV允许入满箱", "true" }); + //getdic.Add("ZS-C14-2", new string[] { "hxjC", "A1AGV允许入满箱", "true" }); + //getdic.Add("ZS-A07-2", new string[] { "hxjA", "A9AGV允许入满箱", "true" }); + //getdic.Add("ZS-A08-2", new string[] { "hxjA", "A10AGV允许入满箱", "true" }); + //getdic.Add("ZS-A09-2", new string[] { "hxjA", "A11AGV允许入满箱", "true" }); + //getdic.Add("ZS-A10-2", new string[] { "hxjA", "A12AGV允许入满箱", "true" }); + //getdic.Add("ZS-A11-2", new string[] { "hxjA", "A13AGV允许入满箱", "true" }); + //getdic.Add("ZS-A12-2", new string[] { "hxjA", "A14AGV允许入满箱", "true" }); + //getdic.Add("ZS-D01-2", new string[] { "hxjA", "A1AGV允许入满箱", "true" }); + //getdic.Add("ZS-D02-2", new string[] { "hxjA", "A2AGV允许入满箱", "true" }); + //getdic.Add("ZS-D03-2", new string[] { "hxjA", "A3AGV允许入满箱", "true" }); + //getdic.Add("ZS-D04-2", new string[] { "hxjA", "A4AGV允许入满箱", "true" }); + //getdic.Add("ZS-D05-2", new string[] { "hxjA", "A5AGV允许入满箱", "true" }); //getdic.Add("ZS-D06-2", new string[] { "hxjA", "A6AGV允许入满箱", "true" }); - //getdic.Add("ZS-A05-2", new string[] { "hxjA", "A7AGV允许入满箱", "true" }); - //getdic.Add("ZS-A06-2", new string[] { "hxjA", "A8AGV允许入满箱", "true" }); - getdic.Add("ZS-A07-2", new string[] { "hxjA", "A9AGV允许入满箱", "true" }); - getdic.Add("ZS-A08-2", new string[] { "hxjA", "A10AGV允许入满箱", "true" }); - getdic.Add("ZS-A09-2", new string[] { "hxjA", "A11AGV允许入满箱", "true" }); - getdic.Add("ZS-A10-2", new string[] { "hxjA", "A12AGV允许入满箱", "true" }); - getdic.Add("ZS-A11-2", new string[] { "hxjA", "A13AGV允许入满箱", "true" }); - getdic.Add("ZS-A12-2", new string[] { "hxjA", "A14AGV允许入满箱", "true" }); - - - getdic.Add("ZS-D01-2", new string[] { "hxjA", "A1AGV允许入满箱", "true" }); - getdic.Add("ZS-D02-2", new string[] { "hxjA", "A2AGV允许入满箱", "true" }); - getdic.Add("ZS-D03-2", new string[] { "hxjA", "A3AGV允许入满箱", "true" }); - getdic.Add("ZS-D04-2", new string[] { "hxjA", "A4AGV允许入满箱", "true" }); - getdic.Add("ZS-D05-2", new string[] { "hxjA", "A5AGV允许入满箱", "true" }); - getdic.Add("ZS-D06-2", new string[] { "hxjA", "A6AGV允许入满箱", "true" }); - getdic.Add("ZS-D07-2", new string[] { "hxjA", "A7AGV允许入满箱", "true" }); - getdic.Add("ZS-D08-2", new string[] { "hxjA", "A8AGV允许入满箱", "true" }); - + //getdic.Add("ZS-D07-2", new string[] { "hxjA", "A7AGV允许入满箱", "true" }); + //getdic.Add("ZS-D08-2", new string[] { "hxjA", "A8AGV允许入满箱", "true" }); putdic.Add("SSX-021-007", new string[] { "东面提升机输送线", "出库输送线7入箱完毕", "true" }); putdic.Add("SSX-011-006", new string[] { "YTCS", "EmptyIn_CS06Done", "true" }); @@ -1128,44 +1093,34 @@ namespace Tnb.WarehouseMgr putdic.Add("SSX-121-009", new string[] { "东面提升机输送线", "上升降机9入箱完毕", "true" }); putdic.Add("SSX-121-010", new string[] { "东面提升机输送线", "上升降机10入箱完毕", "true" }); putdic.Add("YCLCKBGW", new string[] { "CP8", "PutDoneEmptyBox", "true" }); - putdic.Add("ZS-C01-1", new string[] { "hxjC", "A2AGV允许出空箱", "true" }); - putdic.Add("ZS-C02-1", new string[] { "hxjC", "A3AGV允许出空箱", "true" }); - putdic.Add("ZS-C03-1", new string[] { "hxjC", "A4AGV允许出空箱", "true" }); - putdic.Add("ZS-C04-1", new string[] { "hxjC", "A5AGV允许出空箱", "true" }); - putdic.Add("ZS-C05-1", new string[] { "hxjC", "A6AGV允许出空箱", "true" }); - putdic.Add("ZS-C06-1", new string[] { "hxjC", "A7AGV允许出空箱", "true" }); - putdic.Add("ZS-C07-1", new string[] { "hxjC", "A8AGV允许出空箱", "true" }); - putdic.Add("ZS-C08-1", new string[] { "hxjC", "A9AGV允许出空箱", "true" }); - putdic.Add("ZS-C09-1", new string[] { "hxjC", "A10AGV允许出空箱", "true" }); - putdic.Add("ZS-C10-1", new string[] { "hxjC", "A11AGV允许出空箱", "true" }); - putdic.Add("ZS-C11-1", new string[] { "hxjC", "A12AGV允许出空箱", "true" }); - putdic.Add("ZS-C12-1", new string[] { "hxjC", "A13AGV允许出空箱", "true" }); - putdic.Add("ZS-C13-1", new string[] { "hxjC", "A14AGV允许出空箱", "true" }); - putdic.Add("ZS-C14-1", new string[] { "hxjC", "A1AGV允许出空箱", "true" }); - - //putdic.Add("ZS-A01-1", new string[] { "hxjA", "A3AGV允许出空箱", "true" }); - //putdic.Add("ZS-A02-1", new string[] { "hxjA", "A4AGV允许出空箱", "true" }); - //putdic.Add("ZS-A03-1", new string[] { "hxjA", "A5AGV允许出空箱", "true" }); + //putdic.Add("ZS-C01-1", new string[] { "hxjC", "A2AGV允许出空箱", "true" }); + //putdic.Add("ZS-C02-1", new string[] { "hxjC", "A3AGV允许出空箱", "true" }); + //putdic.Add("ZS-C03-1", new string[] { "hxjC", "A4AGV允许出空箱", "true" }); + //putdic.Add("ZS-C04-1", new string[] { "hxjC", "A5AGV允许出空箱", "true" }); + //putdic.Add("ZS-C05-1", new string[] { "hxjC", "A6AGV允许出空箱", "true" }); + //putdic.Add("ZS-C06-1", new string[] { "hxjC", "A7AGV允许出空箱", "true" }); + //putdic.Add("ZS-C07-1", new string[] { "hxjC", "A8AGV允许出空箱", "true" }); + //putdic.Add("ZS-C08-1", new string[] { "hxjC", "A9AGV允许出空箱", "true" }); + //putdic.Add("ZS-C09-1", new string[] { "hxjC", "A10AGV允许出空箱", "true" }); + //putdic.Add("ZS-C10-1", new string[] { "hxjC", "A11AGV允许出空箱", "true" }); + //putdic.Add("ZS-C11-1", new string[] { "hxjC", "A12AGV允许出空箱", "true" }); + //putdic.Add("ZS-C12-1", new string[] { "hxjC", "A13AGV允许出空箱", "true" }); + //putdic.Add("ZS-C13-1", new string[] { "hxjC", "A14AGV允许出空箱", "true" }); + //putdic.Add("ZS-C14-1", new string[] { "hxjC", "A1AGV允许出空箱", "true" }); + //putdic.Add("ZS-A07-1", new string[] { "hxjA", "A9AGV允许出空箱", "true" }); + //putdic.Add("ZS-A08-1", new string[] { "hxjA", "A10AGV允许出空箱", "true" }); + //putdic.Add("ZS-A09-1", new string[] { "hxjA", "A11AGV允许出空箱", "true" }); + //putdic.Add("ZS-A10-1", new string[] { "hxjA", "A12AGV允许出空箱", "true" }); + //putdic.Add("ZS-A11-1", new string[] { "hxjA", "A13AGV允许出空箱", "true" }); + //putdic.Add("ZS-A12-1", new string[] { "hxjA", "A14AGV允许出空箱", "true" }); + //putdic.Add("ZS-D01-1", new string[] { "hxjA", "A1AGV允许出空箱", "true" }); + //putdic.Add("ZS-D02-1", new string[] { "hxjA", "A2AGV允许出空箱", "true" }); + //putdic.Add("ZS-D03-1", new string[] { "hxjA", "A3AGV允许出空箱", "true" }); + //putdic.Add("ZS-D04-1", new string[] { "hxjA", "A4AGV允许出空箱", "true" }); + //putdic.Add("ZS-D05-1", new string[] { "hxjA", "A5AGV允许出空箱", "true" }); //putdic.Add("ZS-D06-1", new string[] { "hxjA", "A6AGV允许出空箱", "true" }); - //putdic.Add("ZS-A05-1", new string[] { "hxjA", "A7AGV允许出空箱", "true" }); - //putdic.Add("ZS-A06-1", new string[] { "hxjA", "A8AGV允许出空箱", "true" }); - - putdic.Add("ZS-A07-1", new string[] { "hxjA", "A9AGV允许出空箱", "true" }); - putdic.Add("ZS-A08-1", new string[] { "hxjA", "A10AGV允许出空箱", "true" }); - putdic.Add("ZS-A09-1", new string[] { "hxjA", "A11AGV允许出空箱", "true" }); - putdic.Add("ZS-A10-1", new string[] { "hxjA", "A12AGV允许出空箱", "true" }); - putdic.Add("ZS-A11-1", new string[] { "hxjA", "A13AGV允许出空箱", "true" }); - putdic.Add("ZS-A12-1", new string[] { "hxjA", "A14AGV允许出空箱", "true" }); - - // D线 待改成配置 - putdic.Add("ZS-D01-1", new string[] { "hxjA", "A1AGV允许出空箱", "true" }); - putdic.Add("ZS-D02-1", new string[] { "hxjA", "A2AGV允许出空箱", "true" }); - putdic.Add("ZS-D03-1", new string[] { "hxjA", "A3AGV允许出空箱", "true" }); - putdic.Add("ZS-D04-1", new string[] { "hxjA", "A4AGV允许出空箱", "true" }); - putdic.Add("ZS-D05-1", new string[] { "hxjA", "A5AGV允许出空箱", "true" }); - putdic.Add("ZS-D06-1", new string[] { "hxjA", "A6AGV允许出空箱", "true" }); - putdic.Add("ZS-D07-1", new string[] { "hxjA", "A7AGV允许出空箱", "true" }); - putdic.Add("ZS-D08-1", new string[] { "hxjA", "A8AGV允许出空箱", "true" }); + //putdic.Add("ZS-D07-1", new string[] { "hxjA", "A7AGV允许出空箱", "true" }); + //putdic.Add("ZS-D08-1", new string[] { "hxjA", "A8AGV允许出空箱", "true" }); if (action == "LOAD")//取货 { @@ -1224,44 +1179,42 @@ namespace Tnb.WarehouseMgr getdic.Add("ZSSSXCTU02", new string[] { "YTCS", "右输送线上层允许出箱3", "true" }); getdic.Add("ZSSSXCTU01", new string[] { "YTCS", "左输送线上层允许出箱1", "true" }); getdic.Add("SSX-011-008", new string[] { "东面提升机输送线", "入库输送线8出箱完毕", "true" }); - getdic.Add("ZS-C01-2", new string[] { "hxjC", "A2AGV允许入满箱", "false" }); - getdic.Add("ZS-C02-2", new string[] { "hxjC", "A3AGV允许入满箱", "false" }); - getdic.Add("ZS-C03-2", new string[] { "hxjC", "A4AGV允许入满箱", "false" }); - getdic.Add("ZS-C04-2", new string[] { "hxjC", "A5AGV允许入满箱", "false" }); - getdic.Add("ZS-C05-2", new string[] { "hxjC", "A6AGV允许入满箱", "false" }); - getdic.Add("ZS-C06-2", new string[] { "hxjC", "A7AGV允许入满箱", "false" }); - getdic.Add("ZS-C07-2", new string[] { "hxjC", "A8AGV允许入满箱", "false" }); - getdic.Add("ZS-C08-2", new string[] { "hxjC", "A9AGV允许入满箱", "false" }); - getdic.Add("ZS-C09-2", new string[] { "hxjC", "A10AGV允许入满箱", "false" }); - getdic.Add("ZS-C10-2", new string[] { "hxjC", "A11AGV允许入满箱", "false" }); - getdic.Add("ZS-C11-2", new string[] { "hxjC", "A12AGV允许入满箱", "false" }); - getdic.Add("ZS-C12-2", new string[] { "hxjC", "A13AGV允许入满箱", "false" }); - getdic.Add("ZS-C13-2", new string[] { "hxjC", "A14AGV允许入满箱", "false" }); - getdic.Add("ZS-C14-2", new string[] { "hxjC", "A1AGV允许入满箱", "false" }); - - //getdic.Add("ZS-A01-2", new string[] { "hxjA", "A3AGV允许入满箱", "true" }); - //getdic.Add("ZS-A02-2", new string[] { "hxjA", "A4AGV允许入满箱", "true" }); - //getdic.Add("ZS-A03-2", new string[] { "hxjA", "A5AGV允许入满箱", "true" }); - //getdic.Add("ZS-D06-2", new string[] { "hxjA", "A6AGV允许入满箱", "true" }); - //getdic.Add("ZS-A05-2", new string[] { "hxjA", "A7AGV允许入满箱", "true" }); - //getdic.Add("ZS-A06-2", new string[] { "hxjA", "A8AGV允许入满箱", "true" }); - getdic.Add("ZS-A07-2", new string[] { "hxjA", "A9AGV允许入满箱", "false" }); - getdic.Add("ZS-A08-2", new string[] { "hxjA", "A10AGV允许入满箱", "false" }); - getdic.Add("ZS-A09-2", new string[] { "hxjA", "A11AGV允许入满箱", "false" }); - getdic.Add("ZS-A10-2", new string[] { "hxjA", "A12AGV允许入满箱", "false" }); - getdic.Add("ZS-A11-2", new string[] { "hxjA", "A13AGV允许入满箱", "false" }); - getdic.Add("ZS-A12-2", new string[] { "hxjA", "A14AGV允许入满箱", "false" }); - - getdic.Add("ZS-D01-2", new string[] { "hxjA", "A1AGV允许入满箱", "false" }); - getdic.Add("ZS-D02-2", new string[] { "hxjA", "A2AGV允许入满箱", "false" }); - getdic.Add("ZS-D03-2", new string[] { "hxjA", "A3AGV允许入满箱", "false" }); - getdic.Add("ZS-D04-2", new string[] { "hxjA", "A4AGV允许入满箱", "false" }); - getdic.Add("ZS-D05-2", new string[] { "hxjA", "A5AGV允许入满箱", "false" }); - getdic.Add("ZS-D06-2", new string[] { "hxjA", "A6AGV允许入满箱", "false" }); - getdic.Add("ZS-D07-2", new string[] { "hxjA", "A7AGV允许入满箱", "false" }); - getdic.Add("ZS-D08-2", new string[] { "hxjA", "A8AGV允许入满箱", "false" }); + var putdic_注塑车间 = equipdata.Where(r => r.node == "放货完成后"); + foreach (var item in putdic_注塑车间) + putdic.Add(item.upmat_location_code, new string[] { item.equip_code, item.label_name, "false" }); + var getdic_注塑车间 = equipdata.Where(r => r.node == "取货完成后"); + foreach (var item in getdic_注塑车间) + getdic.Add(item.downmat_location_code, new string[] { item.equip_code, item.label_name, "false" }); + //getdic.Add("ZS-C01-2", new string[] { "hxjC", "A2AGV允许入满箱", "false" }); + //getdic.Add("ZS-C02-2", new string[] { "hxjC", "A3AGV允许入满箱", "false" }); + //getdic.Add("ZS-C03-2", new string[] { "hxjC", "A4AGV允许入满箱", "false" }); + //getdic.Add("ZS-C04-2", new string[] { "hxjC", "A5AGV允许入满箱", "false" }); + //getdic.Add("ZS-C05-2", new string[] { "hxjC", "A6AGV允许入满箱", "false" }); + //getdic.Add("ZS-C06-2", new string[] { "hxjC", "A7AGV允许入满箱", "false" }); + //getdic.Add("ZS-C07-2", new string[] { "hxjC", "A8AGV允许入满箱", "false" }); + //getdic.Add("ZS-C08-2", new string[] { "hxjC", "A9AGV允许入满箱", "false" }); + //getdic.Add("ZS-C09-2", new string[] { "hxjC", "A10AGV允许入满箱", "false" }); + //getdic.Add("ZS-C10-2", new string[] { "hxjC", "A11AGV允许入满箱", "false" }); + //getdic.Add("ZS-C11-2", new string[] { "hxjC", "A12AGV允许入满箱", "false" }); + //getdic.Add("ZS-C12-2", new string[] { "hxjC", "A13AGV允许入满箱", "false" }); + //getdic.Add("ZS-C13-2", new string[] { "hxjC", "A14AGV允许入满箱", "false" }); + //getdic.Add("ZS-C14-2", new string[] { "hxjC", "A1AGV允许入满箱", "false" }); + //getdic.Add("ZS-A07-2", new string[] { "hxjA", "A9AGV允许入满箱", "false" }); + //getdic.Add("ZS-A08-2", new string[] { "hxjA", "A10AGV允许入满箱", "false" }); + //getdic.Add("ZS-A09-2", new string[] { "hxjA", "A11AGV允许入满箱", "false" }); + //getdic.Add("ZS-A10-2", new string[] { "hxjA", "A12AGV允许入满箱", "false" }); + //getdic.Add("ZS-A11-2", new string[] { "hxjA", "A13AGV允许入满箱", "false" }); + //getdic.Add("ZS-A12-2", new string[] { "hxjA", "A14AGV允许入满箱", "false" }); + //getdic.Add("ZS-D01-2", new string[] { "hxjA", "A1AGV允许入满箱", "false" }); + //getdic.Add("ZS-D02-2", new string[] { "hxjA", "A2AGV允许入满箱", "false" }); + //getdic.Add("ZS-D03-2", new string[] { "hxjA", "A3AGV允许入满箱", "false" }); + //getdic.Add("ZS-D04-2", new string[] { "hxjA", "A4AGV允许入满箱", "false" }); + //getdic.Add("ZS-D05-2", new string[] { "hxjA", "A5AGV允许入满箱", "false" }); + //getdic.Add("ZS-D06-2", new string[] { "hxjA", "A6AGV允许入满箱", "false" }); + //getdic.Add("ZS-D07-2", new string[] { "hxjA", "A7AGV允许入满箱", "false" }); + //getdic.Add("ZS-D08-2", new string[] { "hxjA", "A8AGV允许入满箱", "false" }); putdic.Add("SSX-021-007", new string[] { "东面提升机输送线", "出库输送线7入箱完毕", "true" }); putdic.Add("SSX-011-006", new string[] { "YTCS", "EmptyIn_CS06Done", "true" }); @@ -1272,43 +1225,35 @@ namespace Tnb.WarehouseMgr putdic.Add("SSX-121-009", new string[] { "东面提升机输送线", "上升降机9入箱完毕", "true" }); putdic.Add("SSX-121-010", new string[] { "东面提升机输送线", "上升降机10入箱完毕", "true" }); putdic.Add("YCLCKBGW", new string[] { "CP8", "PutDoneEmptyBox", "true" }); - putdic.Add("ZS-C01-1", new string[] { "hxjC", "A2AGV允许出空箱", "false" }); - putdic.Add("ZS-C02-1", new string[] { "hxjC", "A3AGV允许出空箱", "false" }); - putdic.Add("ZS-C03-1", new string[] { "hxjC", "A4AGV允许出空箱", "false" }); - putdic.Add("ZS-C04-1", new string[] { "hxjC", "A5AGV允许出空箱", "false" }); - putdic.Add("ZS-C05-1", new string[] { "hxjC", "A6AGV允许出空箱", "false" }); - putdic.Add("ZS-C06-1", new string[] { "hxjC", "A7AGV允许出空箱", "false" }); - putdic.Add("ZS-C07-1", new string[] { "hxjC", "A8AGV允许出空箱", "false" }); - putdic.Add("ZS-C08-1", new string[] { "hxjC", "A9AGV允许出空箱", "false" }); - putdic.Add("ZS-C09-1", new string[] { "hxjC", "A10AGV允许出空箱", "false" }); - putdic.Add("ZS-C10-1", new string[] { "hxjC", "A11AGV允许出空箱", "false" }); - putdic.Add("ZS-C11-1", new string[] { "hxjC", "A12AGV允许出空箱", "false" }); - putdic.Add("ZS-C12-1", new string[] { "hxjC", "A13AGV允许出空箱", "false" }); - putdic.Add("ZS-C13-1", new string[] { "hxjC", "A14AGV允许出空箱", "false" }); - putdic.Add("ZS-C14-1", new string[] { "hxjC", "A1AGV允许出空箱", "false" }); - //putdic.Add("ZS-A01-1", new string[] { "hxjA", "A3AGV允许出空箱", "true" }); - //putdic.Add("ZS-A02-1", new string[] { "hxjA", "A4AGV允许出空箱", "true" }); - //putdic.Add("ZS-A03-1", new string[] { "hxjA", "A5AGV允许出空箱", "true" }); + //putdic.Add("ZS-C01-1", new string[] { "hxjC", "A2AGV允许出空箱", "false" }); + //putdic.Add("ZS-C02-1", new string[] { "hxjC", "A3AGV允许出空箱", "false" }); + //putdic.Add("ZS-C03-1", new string[] { "hxjC", "A4AGV允许出空箱", "false" }); + //putdic.Add("ZS-C04-1", new string[] { "hxjC", "A5AGV允许出空箱", "false" }); + //putdic.Add("ZS-C05-1", new string[] { "hxjC", "A6AGV允许出空箱", "false" }); + //putdic.Add("ZS-C06-1", new string[] { "hxjC", "A7AGV允许出空箱", "false" }); + //putdic.Add("ZS-C07-1", new string[] { "hxjC", "A8AGV允许出空箱", "false" }); + //putdic.Add("ZS-C08-1", new string[] { "hxjC", "A9AGV允许出空箱", "false" }); + //putdic.Add("ZS-C09-1", new string[] { "hxjC", "A10AGV允许出空箱", "false" }); + //putdic.Add("ZS-C10-1", new string[] { "hxjC", "A11AGV允许出空箱", "false" }); + //putdic.Add("ZS-C11-1", new string[] { "hxjC", "A12AGV允许出空箱", "false" }); + //putdic.Add("ZS-C12-1", new string[] { "hxjC", "A13AGV允许出空箱", "false" }); + //putdic.Add("ZS-C13-1", new string[] { "hxjC", "A14AGV允许出空箱", "false" }); + //putdic.Add("ZS-C14-1", new string[] { "hxjC", "A1AGV允许出空箱", "false" }); + //putdic.Add("ZS-A07-1", new string[] { "hxjA", "A9AGV允许出空箱", "false" }); + //putdic.Add("ZS-A08-1", new string[] { "hxjA", "A10AGV允许出空箱", "false" }); + //putdic.Add("ZS-A09-1", new string[] { "hxjA", "A11AGV允许出空箱", "false" }); + //putdic.Add("ZS-A10-1", new string[] { "hxjA", "A12AGV允许出空箱", "false" }); + //putdic.Add("ZS-A11-1", new string[] { "hxjA", "A13AGV允许出空箱", "false" }); + //putdic.Add("ZS-A12-1", new string[] { "hxjA", "A14AGV允许出空箱", "false" }); + //putdic.Add("ZS-D01-1", new string[] { "hxjA", "A1AGV允许出空箱", "false" }); + //putdic.Add("ZS-D02-1", new string[] { "hxjA", "A2AGV允许出空箱", "false" }); + //putdic.Add("ZS-D03-1", new string[] { "hxjA", "A3AGV允许出空箱", "false" }); + //putdic.Add("ZS-D04-1", new string[] { "hxjA", "A4AGV允许出空箱", "false" }); + //putdic.Add("ZS-D05-1", new string[] { "hxjA", "A5AGV允许出空箱", "false" }); //putdic.Add("ZS-D06-1", new string[] { "hxjA", "A6AGV允许出空箱", "false" }); - //putdic.Add("ZS-A05-1", new string[] { "hxjA", "A7AGV允许出空箱", "true" }); - //putdic.Add("ZS-A06-1", new string[] { "hxjA", "A8AGV允许出空箱", "true" }); - putdic.Add("ZS-A07-1", new string[] { "hxjA", "A9AGV允许出空箱", "false" }); - putdic.Add("ZS-A08-1", new string[] { "hxjA", "A10AGV允许出空箱", "false" }); - putdic.Add("ZS-A09-1", new string[] { "hxjA", "A11AGV允许出空箱", "false" }); - putdic.Add("ZS-A10-1", new string[] { "hxjA", "A12AGV允许出空箱", "false" }); - putdic.Add("ZS-A11-1", new string[] { "hxjA", "A13AGV允许出空箱", "false" }); - putdic.Add("ZS-A12-1", new string[] { "hxjA", "A14AGV允许出空箱", "false" }); - - // D线 待改成配置 - putdic.Add("ZS-D01-1", new string[] { "hxjA", "A1AGV允许出空箱", "false" }); - putdic.Add("ZS-D02-1", new string[] { "hxjA", "A2AGV允许出空箱", "false" }); - putdic.Add("ZS-D03-1", new string[] { "hxjA", "A3AGV允许出空箱", "false" }); - putdic.Add("ZS-D04-1", new string[] { "hxjA", "A4AGV允许出空箱", "false" }); - putdic.Add("ZS-D05-1", new string[] { "hxjA", "A5AGV允许出空箱", "false" }); - putdic.Add("ZS-D06-1", new string[] { "hxjA", "A6AGV允许出空箱", "false" }); - putdic.Add("ZS-D07-1", new string[] { "hxjA", "A7AGV允许出空箱", "false" }); - putdic.Add("ZS-D08-1", new string[] { "hxjA", "A8AGV允许出空箱", "false" }); + //putdic.Add("ZS-D07-1", new string[] { "hxjA", "A7AGV允许出空箱", "false" }); + //putdic.Add("ZS-D08-1", new string[] { "hxjA", "A8AGV允许出空箱", "false" }); if (action == "LOAD")//取货 { @@ -3010,8 +2955,8 @@ namespace Tnb.WarehouseMgr await db.Ado.BeginTranAsync(); //更新任务执行表,单据状态为 完成 - _ = await db.Updateable().SetColumns(it => new WmsDistaskH { status = WmsWareHouseConst.TASK_BILL_STATUS_COMPLE_ID, act_end_date = DateTime.Now }).Where(it => input.disTaskIds.Contains(it.id)).ExecuteCommandAsync(); List disTasks = await db.Queryable().InnerJoin((a, b) => a.carry_id == b.id).Where(a => input.disTaskIds.Contains(a.id)).Select((a, b) => new WmsDistaskH { carry_status = b.carry_status }, true).ToListAsync(); + _ = await db.Updateable().SetColumns(it => new WmsDistaskH { status = WmsWareHouseConst.TASK_BILL_STATUS_COMPLE_ID, act_end_date = DateTime.Now }).Where(it => input.disTaskIds.Contains(it.id)).ExecuteCommandAsync(); Logger.Information($"【TaskComplate】 disTasks 值 {JsonConvert.SerializeObject(disTasks)}"); if (disTasks?.Count > 0) @@ -3230,7 +3175,7 @@ namespace Tnb.WarehouseMgr upInput.loginType = "web"; }*/ upInput.loginType = "web";//(!string.IsNullOrEmpty(_userManager?.LoginType) ? "app" : "web") ?? "web"; - if (dt.is_sign == 1 && dt.chain_type == "3") + if (dt.is_sign == 1 && dt.chain_type == "3" && dt.status != WmsWareHouseConst.TASK_BILL_STATUS_COMPLE_ID) { await DoUpdate(upInput); } diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryStockReportService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryStockReportService.cs index caa1bae0..68dd19b3 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryStockReportService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryStockReportService.cs @@ -43,6 +43,7 @@ namespace Tnb.WarehouseMgr var material_code = ""; var container_no = ""; var code_batch = ""; + var loc_usestatus = ""; if (!input.queryJson.IsNullOrWhiteSpace()) { warehouse_id = JObject.Parse(input.queryJson).Value(nameof(WmsCarryCode.warehouse_id)); @@ -50,6 +51,7 @@ namespace Tnb.WarehouseMgr material_code = JObject.Parse(input.queryJson).Value(nameof(WmsCarryCode.material_code)); code_batch = JObject.Parse(input.queryJson).Value(nameof(WmsCarryCode.code_batch)); container_no = JObject.Parse(input.queryJson).Value(nameof(WmsCarryCode.container_no)); + loc_usestatus = JObject.Parse(input.queryJson).Value("loc_usestatus"); } @@ -67,6 +69,7 @@ namespace Tnb.WarehouseMgr .WhereIF(!string.IsNullOrEmpty(material_code), (a, b, c, d, e, f) => f.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.material_standard.Contains(container_no)) + .WhereIF(!string.IsNullOrEmpty(loc_usestatus), (a, b, c, d, e, f) => a.is_use == loc_usestatus) //.OrderByDescending((a, b, c, d, e, f) => b.carry_code) .Select((a, b, c, d, e, f, g) => new WmsCarryStockReport { @@ -114,6 +117,7 @@ namespace Tnb.WarehouseMgr .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.material_standard.Contains(container_no)) + .WhereIF(!string.IsNullOrEmpty(loc_usestatus), (a, b, c, d, e, f) => a.is_use == loc_usestatus) .Select((a, b, c, d, e, f, g, h,i) => new WmsCarryStockReport { warehouse_name = c.whname, diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsMaterialTransferService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsMaterialTransferService.cs index 8cdd5cb6..a5e2f4c5 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsMaterialTransferService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsMaterialTransferService.cs @@ -1288,6 +1288,7 @@ namespace Tnb.WarehouseMgr if (input.area_code == "E") await sign(input); + decimal qty = wmsCarryCodes.Sum(r => r.codeqty); // 其它入库 if (wmsMaterialTransfer.type == WmsWareHouseConst.MATERIALTRANSFER_WXDBRK_CODE || wmsMaterialTransfer.type == WmsWareHouseConst.MATERIALTRANSFER_CROSSLAYER_CODE @@ -1310,6 +1311,8 @@ namespace Tnb.WarehouseMgr .FirstAsync(); string unitId = unitData?.Id ?? ""; List ids = new List(); + + // ids.Add(wmsMaterialTransfer.create_id); ids.Add(WmsWareHouseConst.AdministratorOrgId); ids.Add(wmsMaterialTransfer.warehouse_outstock); @@ -1346,7 +1349,7 @@ namespace Tnb.WarehouseMgr erpRequestData2.Add("cwhsmanagerid", ""); erpRequestData2.Add("dbilldate", nowStr); erpRequestData2.Add("dmakedate", nowStr); - erpRequestData2.Add("ntotalnum", wmsMaterialTransferd.qty); + erpRequestData2.Add("ntotalnum", qty); erpRequestData2.Add("pk_group", erpOrg.pk_group); erpRequestData2.Add("pk_org", erpOrg.pk_org); erpRequestData2.Add("pk_org_v", erpOrg.pk_org_v); @@ -1370,7 +1373,7 @@ namespace Tnb.WarehouseMgr ["cvendorid"] = erpExtendFields.Find(x => x.table_id == wmsCarryCodes[0]?.auxprop_gys)?.supplier_id ?? "", ["cvendorvid"] = erpExtendFields.Find(x => x.table_id == wmsCarryCodes[0]?.auxprop_gys)?.supplier_vid ?? "", ["dbizdate"] = nowStr, - ["nnum"] = wmsMaterialTransferd.qty, + ["nnum"] = qty, ["pk_group"] = erpOrg.pk_group, ["pk_org"] = erpOrg.pk_org, ["pk_org_v"] = erpOrg.pk_org_v, @@ -1461,7 +1464,7 @@ namespace Tnb.WarehouseMgr erpRequestData.Add("cwarehouseid", erpWarehouserelaHs.Find(x => x.erp_warehousecode == wmsMaterialTransfer.erp_warehouse_outstock)?.erp_warehouseid ?? ""); erpRequestData.Add("dbilldate", nowStr); erpRequestData.Add("dmakedate", nowStr); - erpRequestData.Add("ntotalnum", wmsCarryCodes.Sum(r => r.codeqty)); + erpRequestData.Add("ntotalnum", qty); erpRequestData.Add("pk_group", erpOrg.pk_group); erpRequestData.Add("pk_org", erpOrg.pk_org); erpRequestData.Add("pk_org_v", erpOrg.pk_org_v); @@ -1485,7 +1488,7 @@ namespace Tnb.WarehouseMgr ["cvendorvid"] = erpExtendFields.Find((x=>x.table_id==wmsCarryCodes[0].auxprop_gys))?.supplier_vid ?? "", ["dbizdate"] = nowStr, ["nnum"] = wmsCarryCodes.Sum(r => r.codeqty), - ["nshouldnum"] = wmsMaterialTransferd.qty, + ["nshouldnum"] = qty, ["pk_group"] = erpOrg.pk_group, ["pk_org"] = erpOrg.pk_org, ["pk_org_v"] = erpOrg.pk_org_v, @@ -2480,7 +2483,7 @@ namespace Tnb.WarehouseMgr commonCreatePretaskInput.carry_id = wmsCarryH.id; commonCreatePretaskInput.carry_code = input.carry_code; commonCreatePretaskInput.task_type = ""; - //commonCreatePretaskInput.biz_type = "FloorCallMaterial"; + commonCreatePretaskInput.biz_type = WmsWareHouseConst.BIZTYPE_EmptyLJInstock_ID; var res = await _wareHouseService.CommonCreatePretask(commonCreatePretaskInput); if (res.code != JNPF.Common.Enums.HttpStatusCode.OK) @@ -2550,7 +2553,7 @@ namespace Tnb.WarehouseMgr commonCreatePretaskInput.carry_id = wmsCarryH.id; commonCreatePretaskInput.carry_code = input.carry_code; commonCreatePretaskInput.task_type = ""; - //commonCreatePretaskInput.biz_type = "FloorCallMaterial"; + commonCreatePretaskInput.biz_type = WmsWareHouseConst.BIZTYPE_EmptyLJInstock_ID; var res = await _wareHouseService.CommonCreatePretask(commonCreatePretaskInput); if (res.code != JNPF.Common.Enums.HttpStatusCode.OK) diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAEmptyOutstockService .cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAEmptyOutstockService .cs index 3a48fbd1..83810fb0 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAEmptyOutstockService .cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAEmptyOutstockService .cs @@ -10,6 +10,7 @@ using JNPF.Systems.Interfaces.System; using JNPF.VisualDev; using JNPF.VisualDev.Entitys; using JNPF.VisualDev.Interfaces; +using NPOI.SS.Formula; using SqlSugar; using Tnb.BasicData.Entities; using Tnb.WarehouseMgr.Entities; @@ -64,7 +65,6 @@ namespace Tnb.WarehouseMgr semaphoreSlim = _wareHouseService.GetSemaphore("outstock", input.data[nameof(OutStockStrategyQuery.warehouse_id)].ToString()); await semaphoreSlim.WaitAsync(); Logger.Information("开始PDA空载具出库"); - await _db.Ado.BeginTranAsync(); //判断目标库位是否自动签收 @@ -81,6 +81,11 @@ namespace Tnb.WarehouseMgr }; List? carrys = await _wareHouseService.OutStockStrategy(OutStockStrategyInput); Logger.Information($"根据出库策略获取的载具数量:{carrys?.Count}"); + if (input.data[nameof(OutStockStrategyQuery.warehouse_id)].ToString() == WmsWareHouseConst.WAREHOUSE_YCL_ID && carrys?.Count == 0) + { + return await KTPSupplymentEmptyOut(input, loc); + } + await _db.Ado.BeginTranAsync(); WmsPointH sPoint = null!; WmsPointH ePoint = null!; @@ -99,7 +104,7 @@ namespace Tnb.WarehouseMgr } //根据每个载具的起始库位做路径运算 - + if (carrys?.Count > 0) { sPoint = await _db.Queryable().FirstAsync(it => it.location_id == carrys[i].location_id); @@ -243,6 +248,186 @@ namespace Tnb.WarehouseMgr return Task.FromResult(true); } + async Task KTPSupplymentEmptyOut(VisualDevModelDataCrInput input, BasLocation loc) + { + Logger.Information($"查找原材料仓空托盘堆垛"); + await _db.Ado.BeginTranAsync(); + var wmsLoc = _db.Queryable() + .LeftJoin((a, b) => a.id == b.location_id) + .Where((a, b) => a.is_lock == 0 && a.is_use == "1" + && a.wh_id == WmsWareHouseConst.WAREHOUSE_YCL_ID && a.location_code.Contains("YCL-") + && a.is_type == "0") + .OrderBy((a, b) => a.location_code) // 当前是按库位排序出库 + .Select((a, b) => new + { + BasLocation = a, + WmsCarryH = b + }).ToList().GroupBy(p => p.BasLocation) + .Where(group => + { + // 是否存在托盘 + bool isExistsCarry = false; + foreach (var item in group) + { + if (!string.IsNullOrEmpty(item.WmsCarryH.carry_code)) + { + isExistsCarry = true; + break; + } + } + if (isExistsCarry) + return false; + else + return true; + }).Select(r => r.Key).ToList(); + + WmsPointH sPoint = null!; + WmsPointH ePoint = null!; + if (input.data.ContainsKey(nameof(WmsPointH.location_id))) + { + ePoint = await _db.Queryable().FirstAsync(it => it.location_id == input.data[nameof(WmsPointH.location_id)].ToString()); + } + int i = 0; + bool isOk = false; + + Logger.Information($"PDA空载具出库实际可出空托盘堆垛数量:{wmsLoc.Count}"); + + if (wmsLoc.Count < 1) + { + throw new AppFriendlyException($"没有可以出库的空托盘堆垛", 500); + } + + + if (wmsLoc?.Count > 0) + { + sPoint = await _db.Queryable().FirstAsync(it => it.location_id == wmsLoc[i].id); + } + + if (sPoint != null && ePoint != null) + { + List points = new List(); + if (sPoint.area_code != ePoint.area_code) + { + points = await _wareHouseService.PathAlgorithms(sPoint.id, ePoint.id); + if (points.Count <= 2) + { + throw new AppFriendlyException($"sPoint {sPoint.point_code} ePoint{ePoint.point_code}该路径不存在", 500); + } + } + else + { + points.Add(sPoint); + points.Add(ePoint); + } + + //根据获取的路径点生成预任务,生成顺序必须预路径算法返回的起终点的顺序一致(预任务顺序) + if (points?.Count > 0) + { + VisualDevEntity? templateEntity = await _visualDevService.GetInfoById(ModuleConsts.MODULE_WMSEMPTYOUTSTKPDA_ID, true); + await _runService.Create(templateEntity, input); + + List preTasks = points.Where(it => !it.location_id.IsNullOrEmpty()).GroupBy(g => g.area_code).Select(it => + { + WmsPointH? sPoint = it.FirstOrDefault(); + WmsPointH? ePoint = it.LastOrDefault(); + //生成预任务 + WmsPretaskH preTask = new() + { + org_id = _userManager.User.OrganizeId, + startlocation_id = sPoint?.location_id!, + startlocation_code = sPoint?.location_code!, + endlocation_id = ePoint?.location_id!, + endlocation_code = ePoint?.location_code!, + start_floor = sPoint?.floor.ToString(), + end_floor = ePoint?.floor.ToString(), + startpoint_id = sPoint?.id!, + startpoint_code = sPoint?.point_code!, + endpoint_id = ePoint?.id!, + endpoint_code = ePoint?.point_code!, + bill_code = _billRullService.GetBillNumber(WmsWareHouseConst.WMS_PRETASK_H_ENCODE).GetAwaiter().GetResult(), + status = WmsWareHouseConst.PRETASK_BILL_STATUS_DXF_ID, + biz_type = WmsWareHouseConst.BIZTYPE_WMSEPTYOUTSTK_ID, + task_type = WmsWareHouseConst.WMS_PRETASK_OUTSTOCK_TYPE_ID, + carry_id = "", + carry_code = "", + area_id = sPoint?.area_id!, + area_code = it.Key, + require_id = input.data["ReturnIdentity"].ToString() + }; + preTask.require_code = input.data[nameof(preTask.bill_code)]?.ToString()!; + preTask.create_id = _userManager.UserId; + preTask.create_time = DateTime.Now; + return preTask; + }).ToList(); + //更新页面 + if (loc.is_sign == 0) + { + preTasks[^1].is_sign = 0; // 修改最后一个元素的是否签收值 + } + isOk = await _wareHouseService.GenPreTask(preTasks, null!, _db); + + } + if (isOk) + { + //生成预任务上传输入 + GenPreTaskUpInput preTaskUpInput = new() + { + RquireId = input.data["ReturnIdentity"].ToString()!, + CarryId = "", + CarryStartLocationId = points.FirstOrDefault()!.location_id!, + CarryStartLocationCode = points.FirstOrDefault()!.location_code!, + LocationIds = points.Select(x => x.location_id).ToList()! + }; + + //更新明细表 + WmsEmptyOutstockD wmsEmptyOutstockD = new() + { + id = SnowflakeIdHelper.NextId(), + bill_id = preTaskUpInput.RquireId, + biz_type = WmsWareHouseConst.BIZTYPE_WMSEPTYOUTSTK_ID, + location_id = ePoint!.location_id!, + status = WmsWareHouseConst.BILLSTATUS_COMPLETE_ID, + carry_id = "", + carry_code = "", + create_id = _userManager.UserId, + create_time = DateTime.Now + }; + _ = await _db.Insertable(wmsEmptyOutstockD) + .ExecuteCommandAsync(); + + //生成操作记录表 + //WmsHandleH handleH = new() + //{ + // org_id = _userManager.User.OrganizeId, + // startlocation_id = carrys?[i].location_id!, + // endlocation_id = ePoint!.location_id!, + // bill_code = input.data[nameof(WmsHandleH.bill_code)]?.ToString()!, + // biz_type = input.data[nameof(WmsHandleH.biz_type)]?.ToString()!, + // carry_id = input.data[nameof(WmsHandleH.carry_id)]?.ToString()!, + // carry_code = input.data[nameof(WmsHandleH.carry_code)]?.ToString()!, + // require_id = input.data["ReturnIdentity"].ToString(), + // require_code = input.data[nameof(WmsHandleH.bill_code)]?.ToString()!, + // create_id = _userManager.UserId, + // create_time = DateTime.Now + //}; + //preTaskUpInput.PreTaskRecord = handleH; + //根据空载具出库Id,回更单据状态 + _ = await _db.Updateable().SetColumns(it => new WmsEmptyOutstockH { status = WmsWareHouseConst.BILLSTATUS_ON_ID }).Where(it => it.id == preTaskUpInput.RquireId).ExecuteCommandAsync(); + + await _wareHouseService.GenInStockTaskHandleAfter(preTaskUpInput, + it => new WmsCarryH { is_lock = 1, location_id = preTaskUpInput.CarryStartLocationId, location_code = preTaskUpInput.CarryStartLocationCode }, + it => new BasLocation { is_lock = 1 }, _db); + } + } + else + { + throw new AppFriendlyException($"【PDAWmsEmptyOut】点位不存在", 500); + } + + await _db.Ado.CommitTranAsync(); + + return Task.FromResult(true); + } public override async Task ModifyAsync(WareHouseUpInput input) { diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPurchaseQcrecordService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPurchaseQcrecordService.cs index c0318539..5bad8c11 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPurchaseQcrecordService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPurchaseQcrecordService.cs @@ -126,7 +126,8 @@ namespace Tnb.WarehouseMgr .ElseIF(a.result.Equals("no")).Return("不合格").End(""), create_time = d.create_time, checker = e.RealName, - check_time = a.check_time + check_time = a.check_time, + check_timestr = a.check_time.Value.ToString("yyyy-MM-dd HH:mm:ss") }).ToListAsync(); total_qty = data.Count; diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsSaleReleaseService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsSaleReleaseService.cs index 3233d335..6d969743 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsSaleReleaseService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsSaleReleaseService.cs @@ -147,7 +147,7 @@ namespace Tnb.WarehouseMgr /// /// [HttpPost, NonUnify, AllowAnonymous] - public async Task Distribute(SaleReleaseDistributeInput input) + public async Task Distribute(SaleReleaseDistributeInput input) { Logger.LogInformation($"【Distribute】 销售出库下发"); SemaphoreSlim semaphoreSlim = null;