From c321182cdcbc7d6489d969810f0610e48ac2b5ed Mon Sep 17 00:00:00 2001 From: 杨张扬 <634643841@qq.com> Date: 星期三, 23 七月 2025 17:40:22 +0800 Subject: [PATCH] 双钱-需求变更:增加了两个搬送流程,增加了两个库区,主要是修改对空托上线脱皮机的逻辑 --- api/ApiHelper.cs | 133 ++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 132 insertions(+), 1 deletions(-) diff --git a/api/ApiHelper.cs b/api/ApiHelper.cs index b28f30d..9424570 100644 --- a/api/ApiHelper.cs +++ b/api/ApiHelper.cs @@ -326,6 +326,132 @@ } /// <summary> + /// 绾胯竟绌烘墭鍒扮┖鎵樺爢鍙犲尯 + /// </summary> + /// <param name="model"></param> + /// <returns></returns> + internal static SimpleResult EmptyLineToEmptyMax(EmptyLineToEmptyMaxInfo model) + { + LogHelper.Info("瑙﹀彂API锛氱嚎杈圭┖鎵樺埌绌烘墭鍫嗗彔鍖� + JsonConvert.SerializeObject(model), "API"); + var result = new SimpleResult();//杩斿洖缁撴灉 + try + { + var db = new SqlHelper<object>().GetInstance(); + + if (model.cntCount<=0) + { + result.resultCode = 1; + result.resultMsg = $"鍙傛暟cntCount蹇呴』澶т簬0锛屽嵆鏈�皯瑕佹湁涓�釜绌烘墭"; + LogHelper.Info(result.resultMsg); + return result; + } + + var startLoc = db.Queryable<TN_Location>().First(it => it.S_CODE == model.startLoc); + + if (startLoc == null) + { + result.resultCode = 2; + result.resultMsg = $"鏈壘鍒拌璧风偣{model.startLoc}"; + LogHelper.Info(result.resultMsg); + return result; + } + + var settingArea = Settings.Areas[13]; + if (startLoc.S_AREA_CODE != settingArea) + { + result.resultCode = 3; + result.resultMsg = $"璇ヨ捣鐐箋model.startLoc}蹇呴』鍦ㄦ搴撳尯鍐厈settingArea}"; + LogHelper.Info(result.resultMsg); + return result; + } + + if (startLoc.N_LOCK_STATE != 0 || startLoc.S_LOCK_STATE != "鏃�) + { + result.resultCode = 4; + result.resultMsg = $"璇ヨ捣鐐箋model.startLoc}宸查攣瀹氾紝浠诲姟姝e湪鎼�"; + LogHelper.Info(result.resultMsg); + return result; + } + + //鏌ヨ绗﹀悎鐨勬湭閿佸畾宸插惎鐢ㄦ寚瀹氳揣鍖虹殑褰撳墠鏁伴噺鍚堣鍚庢渶鎺ヨ繎瀹归噺鐨勮揣浣嶏紝缁堢偣 + var endLoc = db.Queryable<TN_Location>(). + Where(a => a.N_CURRENT_NUM + model.cntCount <= a.N_CAPACITY && a.S_AREA_CODE == Settings.Areas[3] && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y"). + ToList().OrderByDescending(a => a.N_CURRENT_NUM + model.cntCount - a.N_CAPACITY).ThenBy(a => a.N_ROW).ThenBy(a => a.N_COL).ToList().First(); + + using (var trans = db.Ado.UseTran()) + { + startLoc.N_CURRENT_NUM = model.cntCount; + startLoc.N_LOCK_STATE = 2; + startLoc.S_LOCK_STATE = "鍑哄簱閿�; + + endLoc.N_LOCK_STATE = 1; + endLoc.S_LOCK_STATE = "鍏ュ簱閿�; + + string cntStr = ""; + for (int i = 0; i < model.cntCount; i++) + { + cntStr += Guid.NewGuid().ToString("D")+","; + } + cntStr.Trim(','); + var locCnt = new TN_Loc_Container() + { + S_LOC_CODE = startLoc.S_CODE, + S_CNTR_CODE = cntStr, + }; + + var task = new TN_Task() + { + S_CODE = WCSHelper.GenerateTaskNo(), + S_START_AREA = startLoc.S_AREA_CODE, + S_END_AREA = endLoc.S_AREA_CODE, + S_START_LOC = startLoc.S_CODE, + S_END_LOC = endLoc.S_CODE, + S_TYPE = "绌烘墭涓嬬嚎鍫嗗彔", + N_PRIORITY = 3, + N_SCHEDULE_TYPE = 1, + N_B_STATE = 0, + S_B_STATE = "绛夊緟", + S_CNTR_CODE = locCnt.S_CNTR_CODE, + }; + + if ( + db.Updateable<TN_Location>(startLoc).UpdateColumns(it => new { it.N_CURRENT_NUM, it.N_LOCK_STATE, it.S_LOCK_STATE }).ExecuteCommand() == 1 && + db.Updateable<TN_Location>(endLoc).UpdateColumns(it => new { it.N_LOCK_STATE, it.S_LOCK_STATE }).ExecuteCommand() == 1 && + db.Insertable<TN_Loc_Container>(locCnt).ExecuteCommand() == 1 && + db.Insertable<TN_Task>(task).ExecuteCommand() == 1 + ) + { + Task task1 = Task.Run(() => + { + WMSHelper.InsertOpInfo(model.staff, "鐐瑰鐐�, locCnt.S_CNTR_CODE); + }); + + trans.CommitTran(); + result.resultCode = 0; + result.resultMsg = $"鍒涘缓 绌烘墭涓嬬嚎鍫嗗彔 浠诲姟鎴愬姛锛岃捣鐐癸細{startLoc.S_CODE}锛岀粓鐐癸細{endLoc.S_CODE}"; + LogHelper.Info(result.resultMsg); + return result; + } + else + { + trans.RollbackTran(); + result.resultCode = 12; + result.resultMsg = $"鍒涘缓 绌烘墭涓嬬嚎鍫嗗彔 浠诲姟澶辫触锛岃捣鐐癸細{startLoc.S_CODE}锛岀粓鐐癸細{endLoc.S_CODE}"; + LogHelper.Info(result.resultMsg); + return result; + } + } + } + catch (Exception ex) + { + result.resultCode = -1; + result.resultMsg = $"PDA婊℃墭澶嶆鍒ゆ柇锛屽彂鐢熶簡寮傚父锛歿ex.Message}"; + LogHelper.Info(result.resultMsg); + return result; + } + } + + /// <summary> /// 绾胯竟绌烘墭鍒板師鏉愭枡杈撻�绾� /// </summary> /// <param name="model"></param> @@ -398,7 +524,7 @@ if (endLoc.S_AREA_CODE != endLocArea) { result.resultCode = 8; - result.resultMsg = $"姝よ揣浣嶏細{endLoc.S_CODE}锛屼笉灞炰簬鍘熸潗鏂欎骇绾跨┖鎵樺尯{endLocArea}"; + result.resultMsg = $"姝よ揣浣嶏細{endLoc.S_CODE}锛屼笉灞炰簬鍘熸潗鏂欎骇绾跨┖鎵樹笂绾垮彛搴撳尯{endLocArea}"; LogHelper.Info(result.resultMsg); return result; } @@ -472,6 +598,11 @@ Settings.LineSorting = 0; } + Task task1 = Task.Run(() => + { + WMSHelper.InsertOpInfo(model.staff, "鐐瑰鐐�, Cnt); + }); + trans.CommitTran(); result.resultCode = 0; -- Gitblit v1.9.1