From 6d40f7c8b19efc612f824ee7e778d5be9f8382f5 Mon Sep 17 00:00:00 2001 From: Tjiny <Tjinyu23@163.com> Date: 星期五, 11 七月 2025 17:04:03 +0800 Subject: [PATCH] 2025-07-11日提交 --- HH.WCS.Mobox3.RiDong/api/SynthesizeController.cs | 4 HH.WCS.Mobox3.RiDong/generalMethod/PipeLineHelper.cs | 23 +++- HH.WCS.Mobox3.RiDong/generalMethod/OnOffShelvesMethod.cs | 95 +++++++++++++++++++ HH.WCS.Mobox3.RiDong/Program.cs | 3 HH.WCS.Mobox3.RiDong/apiMethod/EnterWareHouseService.cs | 9 + HH.WCS.Mobox3.RiDong/models/OnOffShelves.cs | 136 +++++++++++++++++++++++++++ HH.WCS.Mobox3.RiDong/models/OutboundException.cs | 25 +++++ 7 files changed, 285 insertions(+), 10 deletions(-) diff --git a/HH.WCS.Mobox3.RiDong/Program.cs b/HH.WCS.Mobox3.RiDong/Program.cs index c9ad460..c5a6b55 100644 --- a/HH.WCS.Mobox3.RiDong/Program.cs +++ b/HH.WCS.Mobox3.RiDong/Program.cs @@ -85,7 +85,6 @@ /// </summary> public class WorkThread { - public void Start() { List<Task> tasks = new List<Task> @@ -109,8 +108,6 @@ }; Task.WaitAll(tasks.ToArray()); } - - public void Stop() { diff --git a/HH.WCS.Mobox3.RiDong/api/SynthesizeController.cs b/HH.WCS.Mobox3.RiDong/api/SynthesizeController.cs index 0a2cf40..d93de3e 100644 --- a/HH.WCS.Mobox3.RiDong/api/SynthesizeController.cs +++ b/HH.WCS.Mobox3.RiDong/api/SynthesizeController.cs @@ -114,8 +114,10 @@ /// 浠诲姟浼樺厛绾� /// </summary> /// <returns></returns> + [HttpPost] public ApiModel.SimpleResult TaskPriority(ApiModel.MoboxTaskBase model) { + var result = new ApiModel.SimpleResult(); var operation = AdoSqlMethod<Operation>.QueryFirst(p => p.S_CODE == model.TaskNo); @@ -123,7 +125,7 @@ if (operation == null) { result.resultCode = -1; - result.resultMsg = "浠诲姟涓嶅瓨鍦紒"; + result.resultMsg = $"浣滀笟涓嶅瓨鍦紒锛屼紶閫掔殑浠诲姟鍙蜂负{model.TaskNo}"; return result; } diff --git a/HH.WCS.Mobox3.RiDong/apiMethod/EnterWareHouseService.cs b/HH.WCS.Mobox3.RiDong/apiMethod/EnterWareHouseService.cs index 10ba86d..aaaddd3 100644 --- a/HH.WCS.Mobox3.RiDong/apiMethod/EnterWareHouseService.cs +++ b/HH.WCS.Mobox3.RiDong/apiMethod/EnterWareHouseService.cs @@ -155,10 +155,16 @@ } db.Updateable(cntrItemDetails).UpdateColumns(p => new { p.N_ALR_ENTR, p.T_INBOUND_TIME }).ExecuteCommand(); + + // 鍏ュ簱璁板綍 + OnOffShelvesMethod.CreateRKOnOffShelves(task); } // 鍑哄簱 else if (task.N_TYPE == 2 || task.N_TYPE == 4 || task.N_TYPE == 6) { + // 鍑哄簱璁板綍 + OnOffShelvesMethod.CreateCKOnOffShelves(task); + // 璐т綅瑙i攣 LocationHelper.UnBindingLoc(task.S_START_LOC, new List<string> { task.S_CNTR_CODE }); @@ -185,6 +191,9 @@ // 鎸囧紩鍑哄簱 else if (task.N_TYPE == 5) { + // 鍑哄簱璁板綍 + OnOffShelvesMethod.CreateCKOnOffShelves(task); + // 璐т綅瑙i攣 LocationHelper.UnBindingLoc(task.S_START_LOC, new List<string> { task.S_CNTR_CODE }); diff --git a/HH.WCS.Mobox3.RiDong/generalMethod/OnOffShelvesMethod.cs b/HH.WCS.Mobox3.RiDong/generalMethod/OnOffShelvesMethod.cs new file mode 100644 index 0000000..b1b1d55 --- /dev/null +++ b/HH.WCS.Mobox3.RiDong/generalMethod/OnOffShelvesMethod.cs @@ -0,0 +1,95 @@ +using System.Collections.Generic; +using HH.WCS.Mobox3.RiDong.models; + +namespace HH.WCS.Mobox3.RiDong.generalMethod; + +/// <summary> +/// 鍑哄叆搴撹褰曡〃 +/// </summary> +public static class OnOffShelvesMethod +{ + /// <summary> + /// 鍒涘缓鍑哄叆搴撹褰�+ /// </summary> + /// <param name="task"></param> + /// <returns></returns> + public static bool CreateRKOnOffShelves(Task task) + { + var result = false; + + var cntritem = AdoSqlMethod<CntrItemDetail>.QueryList(p => p.S_CNTR_CODE == task.S_CNTR_CODE); + + if (cntritem.Count > 0) + { + var onOffShelvesList = new List<OnOffShelves>(); + + foreach (var item in cntritem) + { + var onOffShelves = new OnOffShelves(); + + onOffShelves.S_LOC_CODE = task.S_END_LOC; + onOffShelves.S_CNTR_CODE = task.S_CNTR_CODE; + onOffShelves.S_ITEM_CODE = item.S_ITEM_CODE.Trim(); + onOffShelves.S_ITEM_NAME = item.S_ITEM_NAME; + onOffShelves.S_MATERIAL_TYPE = item.S_EXT_ATTR1; + + onOffShelves.S_OP_TYPE = "涓婃灦"; + onOffShelves.F_QTY = item.F_QTY; + + onOffShelvesList.Add(onOffShelves); + + } + + if (onOffShelvesList.Count > 0) + { + AdoSqlMethod<OnOffShelves>.AddList(onOffShelvesList); + result = true; + } + } + return result; + } + + + /// <summary> + /// 鍒涘缓鍑哄叆搴撹褰�+ /// </summary> + /// <param name="task"></param> + /// <returns></returns> + public static bool CreateCKOnOffShelves(Task task) + { + var result = false; + + var cntritem = AdoSqlMethod<CntrItemDetail>.QueryList(p => p.S_CNTR_CODE == task.S_CNTR_CODE); + + if (cntritem.Count > 0) + { + var onOffShelvesList = new List<OnOffShelves>(); + + foreach (var item in cntritem) + { + if (item.F_ALLOC_QTY > 0) + { + var onOffShelves = new OnOffShelves(); + + onOffShelves.S_LOC_CODE = task.S_START_LOC; + onOffShelves.S_CNTR_CODE = task.S_CNTR_CODE; + onOffShelves.S_ITEM_CODE = item.S_ITEM_CODE.Trim(); + onOffShelves.S_ITEM_NAME = item.S_ITEM_NAME; + onOffShelves.S_MATERIAL_TYPE = item.S_EXT_ATTR1; + + onOffShelves.S_OP_TYPE = "涓嬫灦"; + onOffShelves.F_QTY = item.F_ALLOC_QTY; + + onOffShelvesList.Add(onOffShelves); + } + } + + if (onOffShelvesList.Count > 0) + { + AdoSqlMethod<OnOffShelves>.AddList(onOffShelvesList); + result = true; + } + } + return result; + } +} \ No newline at end of file diff --git a/HH.WCS.Mobox3.RiDong/generalMethod/PipeLineHelper.cs b/HH.WCS.Mobox3.RiDong/generalMethod/PipeLineHelper.cs index a65041b..99f56d1 100644 --- a/HH.WCS.Mobox3.RiDong/generalMethod/PipeLineHelper.cs +++ b/HH.WCS.Mobox3.RiDong/generalMethod/PipeLineHelper.cs @@ -152,9 +152,10 @@ } else if (conveyorLinesInfo.PURPOSE == "鍑哄簱鍙�) { - if (conveyorLinesInfo.TASKFINISH == 1) + if (conveyorLinesInfo.TASKFINISH == 1 || conveyorLinesInfo.TASKFINISH == 2) { - var task = AdoSqlMethod<Task>.QueryFirst(p => p.S_CNTR_CODE == conveyorLinesInfo.BARCODE && p.N_B_STATE == 1 && p.N_SCHEDULE_TYPE == 1); + var task = AdoSqlMethod<Task>.QueryFirst(p => + p.S_CNTR_CODE == conveyorLinesInfo.BARCODE && p.N_B_STATE == 1 && p.N_SCHEDULE_TYPE == 1); if (task != null) { @@ -199,11 +200,21 @@ } AdoSqlMethod<LEDDemo>.UpdateFirst(ledDemo, p => new { p.OUTBOUNDTYPE, p.DIRECTION, p.FREIGHTTYPE }); + + if (conveyorLinesInfo.TASKFINISH == 2) + { + var outboundException = + AdoSqlMethod<OutboundException>.QueryFirst(p => + p.WMS_CNTR_CODE == conveyorLinesInfo.BARCODE); + + if (outboundException != null) + { + outboundException.S_CODE = task.S_OP_CODE; + + AdoSqlMethod<OutboundException>.UpdateFirst(outboundException, p => new { p.S_CODE }); + } + } } - } - else if (conveyorLinesInfo.TASKFINISH == 2) - { - // 鐩墠鏆傚畾浜哄伐纭畾 } } else if (conveyorLinesInfo.PURPOSE == "闂ㄧ") diff --git a/HH.WCS.Mobox3.RiDong/models/OnOffShelves.cs b/HH.WCS.Mobox3.RiDong/models/OnOffShelves.cs new file mode 100644 index 0000000..8de6a9f --- /dev/null +++ b/HH.WCS.Mobox3.RiDong/models/OnOffShelves.cs @@ -0,0 +1,136 @@ +using System; +using SqlSugar; + +namespace HH.WCS.Mobox3.RiDong.models; + +/// <summary> +/// 鍑哄叆搴撲腑闂磋褰曡〃 +/// </summary> +[SugarTable("TN_OnOff_Shelves")] +public class OnOffShelves : BaseModel +{ + /// <summary> + /// 鍔ㄤ綔绫诲瀷 + /// </summary> + public int N_ACTION { get; set; } + + /// <summary> + /// 鍔ㄤ綔绫诲瀷 + /// </summary> + public string S_ACTION { get; set; } + + /// <summary> + /// 璐т綅缂栫爜 + /// </summary> + public string S_LOC_CODE { get; set; } + + /// <summary> + /// 瀹瑰櫒缂栫爜 + /// </summary> + public string S_CNTR_CODE { get; set; } + + /// <summary> + /// 浠撳簱缂栫爜 + /// </summary> + public string S_WH_CODE { get; set; } = "RDCK"; + + /// <summary> + /// 搴撳尯缂栫爜 + /// </summary> + public string S_AREA_CODE { get; set; } = "LKQ"; + + /// <summary> + /// 璐у搧缂栫爜 + /// </summary> + public string S_ITEM_CODE { get; set; } + + /// <summary> + /// 璐у搧鍚嶇О + /// </summary> + public string S_ITEM_NAME { get; set; } + + /// <summary> + /// 璐у搧鐘舵� + /// </summary> + public string S_ITEM_STATE { get; set; } + + /// <summary> + /// 鎵规鍙�+ /// </summary> + public string S_BATCH_NO { get; set; } + + /// <summary> + /// 璐у搧瑙勬牸 + /// </summary> + public string S_ITEM_SPEC { get; set; } + + /// <summary> + /// 浜у搧搴忓垪鍙�+ /// </summary> + public string S_SERIAL_NO { get; set; } + + /// <summary> + /// 鐢熶骇鏃ユ湡 + /// </summary> + public DateTime? D_PRD_DATE { get; set; } + + /// <summary> + /// 杩囨湡鏃ュ織 + /// </summary> + public DateTime? D_EXP_DATE { get; set; } + + /// <summary> + /// 澶囨敞 + /// </summary> + public string S_NOTE { get; set; } + + /// <summary> + /// 涓氬姟绫诲瀷 + /// </summary> + public string S_OP_TYPE { get; set; } + + /// <summary> + /// 鏉ユ簮绫诲瀷 + /// </summary> + public string S_SOURCE_TYPE { get; set; } + + /// <summary> + /// 鏉ユ簮鍗曞彿 + /// </summary> + public string S_SOURCE_NO { get; set; } + + /// <summary> + /// 鏁伴噺 + /// </summary> + public float F_QTY { get; set; } + + /// <summary> + /// 璁¢噺鍗曚綅 + /// </summary> + public string S_UOM { get; set; } + + /// <summary> + /// 浜у搧绫诲瀷 + /// </summary> + public string S_MATERIAL_TYPE { get; set; } + + /// <summary> + /// 鐗╂枡鐘舵� + /// </summary> + public int N_ITEM_STATE { get; set; } + + /// <summary> + /// 绠辨牸鍙�+ /// </summary> + public string S_CELL_NO { get; set; } + + /// <summary> + /// 鍙樺寲鍓嶆暟閲�+ /// </summary> + public float F_BEFORE_QTY { get; set; } + + /// <summary> + /// 鍙樺寲鍚庢暟閲�+ /// </summary> + public float F_AETER_QTY { get; set; } +} \ No newline at end of file diff --git a/HH.WCS.Mobox3.RiDong/models/OutboundException.cs b/HH.WCS.Mobox3.RiDong/models/OutboundException.cs new file mode 100644 index 0000000..7f7cf62 --- /dev/null +++ b/HH.WCS.Mobox3.RiDong/models/OutboundException.cs @@ -0,0 +1,25 @@ +using SqlSugar; + +namespace HH.WCS.Mobox3.RiDong.models; + +/// <summary> +/// 鍑哄簱寮傚父琛�+/// </summary> +[SugarTable("TN_Outbound_Exception")] +public class OutboundException : BaseModel +{ + /// <summary> + /// 浣滀笟缂栫爜 + /// </summary> + public string S_CODE { get; set; } + + /// <summary> + /// WMS璺熻釜鏉$爜 + /// </summary> + public string WMS_CNTR_CODE { get; set; } + + /// <summary> + /// 瀹為檯鏉$爜 + /// </summary> + public string REAL_CNTR_CODE { get; set; } +} \ No newline at end of file -- Gitblit v1.9.1