From d944fda9f2fbf27d83e8fdf880e8fe5267e1f541 Mon Sep 17 00:00:00 2001 From: kazelee <1847801760@qq.com> Date: 星期三, 04 六月 2025 17:24:13 +0800 Subject: [PATCH] 优化空托空箱入库兼容出库容器回库场景,修复货位容器绑定的类型丢失问题 --- api/ApiHelper.cs | 272 +++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 227 insertions(+), 45 deletions(-) diff --git a/api/ApiHelper.cs b/api/ApiHelper.cs index fa5a44d..50eb72a 100644 --- a/api/ApiHelper.cs +++ b/api/ApiHelper.cs @@ -18,6 +18,9 @@ /// <summary> /// 濂借繍绠�婊$涓嬬嚎鍏ュ簱(PDA) /// </summary> + /// <remarks> + /// 娴佺▼锛氫汉宸ュ皢婊$浠庝骇绾挎惉杩愬埌鎿嶄綔鍖哄悗锛屼娇鐢≒DA璋冪敤鎺ュ彛锛屽懠鍙獳GV灏嗘弧绠辨惉杩愬埌璐ф灦鍖猴紙涓嶆寚瀹氱粓鐐硅揣鍖猴級 + /// </remarks> /// <param name="model">鍖呭惈锛氱墿鏂欎俊鎭�璧风偣璐т綅</param> /// <returns></returns> public static SimpleResult GoodpackOffline(GoodpackOfflineInfo model) { @@ -34,8 +37,8 @@ var cgDetail = db.Queryable<TN_CG_Detail>() .Where(d => d.S_ITEM_CODE == model.ItemCode && d.S_BATCH_NO == model.BatchNo) // 鎸囧畾锛氱墿鏂欑紪鐮併�鎵规鍙� .Where(d => d.N_ITEM_STATE == 1 && d.S_ITEM_STATE == "寰呮") // 鏂板鐗╂枡锛屾晠鐗╂枡鐘舵�搴旇涓�1寰呮 - // TODO model 涓�鏁伴噺銆佽鏍兼槸鍚︿篃鍙備笌姣斿 寰呭悗缁姹�- .First(); + .First(); // TODO model 涓�鏁伴噺銆佽鏍兼槸鍚︿篃鍙備笌姣斿 寰呭悗缁姹�+ // 濡傛灉鎵句笉鍒版寚瀹氱殑鐗╂枡锛岃鏄庝俊鎭笉涓�嚧锛屾姤閿� if (cgDetail == null) { info = $"PDA鎵爜鐗╂枡淇℃伅涓庤创鏍囨満浼犻�鐨勪俊鎭笉涓�嚧锛� + JsonConvert.SerializeObject(model); @@ -44,6 +47,7 @@ } // 鏌ヨ璧风偣璐т綅锛屾槸鍚︾鍚堣姹傦紙鍒濇涓嬬嚎瑕佹眰璐т綅鏃犲鍣級 + // 娉細璧风偣璐т綅缁戝畾鍓嶆病鏈夎揣鐗╋紝鏁伴噺涓�0 var startLoc = db.Queryable<TN_Location>() .Where(l => l.S_CODE == model.StartLoc) // 鎸囧畾锛氳捣鐐硅揣浣嶅彿 .Where(l => l.N_LOCK_STATE == 0 && l.S_LOCK_STATE == "鏃� && l.C_ENABLE == "Y") // 绛涢�锛氭湭涓婇攣 @@ -57,12 +61,29 @@ return NewSimpleResult(3, info); } + startLoc.N_CURRENT_NUM = 1; // 缁戝畾鍚庯紝淇敼璧风偣璐т綅鏁伴噺涓�1 + // 缁戝畾璐т綅鍜屽鍣ㄥ彿锛堟弧绠变笅绾垮埌鎿嶄綔鍖猴紝姝ゆ椂灏氭湭缁戝畾锛� var locCntrRel = new TN_Loc_Container { S_LOC_CODE = model.StartLoc, S_CNTR_CODE = cgDetail.S_CNTR_CODE, S_CNTR_TYPE = "濂借繍绠�, }; + + // 姣忎釜鏂版彃鍏ュ鍣ㄧ殑閫昏緫锛岄兘闇�鏌ヨ杩欎釜琛ㄦ槸鍚﹀瓨鍦紝濡傛灉涓嶅瓨鍦ㄤ篃鍔犲叆锛屽鏋滃瓨鍦細鏆備笉鏇存柊缁撴灉锛堝緟瀹氾級 + // 鏇磋缁嗙殑锛屾槸绌虹鍏ュ簱锛屽拰婊℃枡涓嬬嚎杩欎袱涓祦绋嬬殑瀹瑰櫒鍙兘鏄柊鐨勶紝鍏朵綑瀹瑰櫒涓�畾鏄棫鐨勶紝鏃犻渶鍐嶅垽鏂�+ // 涓ユ牸鏉ヨ锛屽鍣ㄧ被鍨嬪簲璇ユ斁鍦–ontainer閲岄潰鐨勶紝Loc_Container琛ㄥ彧鏀惧叧绯伙紝涓嶈繃鏆傛椂鍏堣繖鏍锋敼鍚�+ var cntrItemRel = db.Queryable<TN_Container_ItemType>() + .Where(c => c.S_CNTR_CODE == locCntrRel.S_CNTR_CODE).First(); + var insertContainerItemType = false; + if (cntrItemRel == null) { + insertContainerItemType = true; + cntrItemRel = new TN_Container_ItemType { + S_ITEM_CODE = cgDetail.S_ITEM_CODE, // 鐗╂枡绫诲瀷瀵逛簬濂借繍绠辫�瑷�叾瀹炰笉鐢紝涓昏鏄被鍨�+ S_CNTR_TYPE = locCntrRel.S_CNTR_TYPE, + S_CNTR_CODE = locCntrRel.S_CNTR_CODE, + }; + } // TODO 婊$鍏ュ簱绠楁硶寰呬紭鍖� var endLoc = db.Queryable<TN_Location>() @@ -78,6 +99,7 @@ return NewSimpleResult(4, info); } + // 鏁版嵁搴撴搷浣滈儴鍒� var cntId = locCntrRel.S_CNTR_CODE; var task = WCSHelper.BuildTask(startLoc, endLoc, cntId, taskName); @@ -85,6 +107,15 @@ LocationHelper.LockEndLoc(ref endLoc); // 缁堢偣鍏ュ簱閿� using (var tran = db.Ado.UseTran()) { + if (insertContainerItemType) { + if (db.Insertable<TN_Container_ItemType>(cntrItemRel).ExecuteCommand() <= 0) { + info = $"鎻掑叆瀹瑰櫒淇℃伅澶辫触锛� + JsonConvert.SerializeObject(cntrItemRel); + tran.RollbackTran(); + LogHelper.Info(info); + return NewSimpleResult(5, info); + } + } + if (db.Insertable<TN_Loc_Container>(locCntrRel).ExecuteCommand() <= 0) { info = $"鎻掑叆璐т綅瀹瑰櫒鍏崇郴澶辫触锛� + JsonConvert.SerializeObject(locCntrRel); tran.RollbackTran(); @@ -96,7 +127,8 @@ it.N_LOCK_STATE, it.S_LOCK_STATE, it.S_LOCK_OP, - it.T_MODIFY + it.T_MODIFY, + it.N_CURRENT_NUM, // 璧风偣璐т綅缁戝畾鍚庯紝灏嗚揣浣嶇姸鎬佹洿鏂� }).ExecuteCommand() <= 0) { tran.RollbackTran(); info = $"鐢熸垚浠诲姟'{taskName}'澶辫触锛氭洿鏂拌捣鐐硅揣浣峽startLoc.S_CODE}閿佺姸鎬佸け璐�; @@ -139,6 +171,10 @@ /// <summary> /// 鎵樼洏-绌烘墭鍏ュ簱(PDA) /// </summary> + /// <remarks> + /// 浜哄伐灏嗙┖鎵樼洏閫氳繃鎺ラ┏浣嶅叆搴擄紝闇�鏂扮粦瀹氬鍣ㄨ揣浣�br/> + /// 鐢变簬绌烘墭鐩樹竴鑸槸鍑哄簱鍗歌揣鍚庤幏寰楋紝鑰屽嚭搴撴椂娌℃湁鎵嬪姩鍗歌揣鐨勯�杈戯紝鎵�互闇�鍦ㄥ叆搴撶殑鏃跺�鍐嶅垹闄ゆ棫缁戝畾淇℃伅 + /// </remarks> /// <param name="model"></param> /// <returns></returns> public static SimpleResult EmptyInboundPallet(EmptyInboundInfo model) { @@ -164,28 +200,49 @@ return NewSimpleResult(2, info); } - //// 鏌ョ湅瀹瑰櫒鏄惁宸叉湁鐗╂枡缁戝畾 - //var cgDetail = db.Queryable<TN_CG_Detail>() - // .Where(d => d.S_CNTR_CODE == model.CntrCode).First(); - //// 濡傛灉鏈夌粦瀹氱墿鏂欙紝鎶ラ敊锛屽洜涓虹┖鎵樹笉搴旇鏈夌墿鏂�- //if (cgDetail != null) { - // info = $"瀹瑰櫒{model.CntrCode}宸茬粡缁戝畾浜嗙墿鏂檣cgDetail.S_ITEM_CODE}锛屼笉鏄┖鎵樻棤娉曞叆搴�; - // LogHelper.Info(info); - // return NewSimpleResult(3, info); - //} - // 鍋囧畾浜哄伐涓嶄細灏嗘湁鐗╂枡鐨勭瀛愭斁鍦ㄧ┖绠卞叆搴撴帴椹充綅锛屾病鏈夊繀瑕佹鏌� // 濡傛灉浜哄伐灏嗗嚭搴撳悗鐨勬墭鐩樺叆搴擄紝杩欐椂鐗╂枡淇℃伅骞舵病鏈夊垹闄わ紝闇�灏嗘墭鐩樼墿鏂欑殑鍏崇郴瑙i櫎 - var cgDetail = db.Queryable<TN_CG_Detail>() + var cgDetailOld = db.Queryable<TN_CG_Detail>() .Where(d => d.S_CNTR_CODE == model.CntrCode).First(); - var needDeleteDetail = cgDetail != null; - // 缁戝畾璐т綅鍜屽鍣ㄥ彿锛圥DA鍦ㄦ帴椹充綅缁戝畾 + // 濡傛灉浜哄伐灏嗗嚭搴撳悗鐨勬墭鐩樺叆搴擄紝姝ゆ椂瀹瑰櫒浠嶇劧涓庢棫鐨勫嚭搴撹揣浣嶇粦瀹氾紝闇�妫�煡 + var locCntrRelOld = db.Queryable<TN_Loc_Container>() + .Where(c => c.S_CNTR_CODE == model.CntrCode).First(); + + //var locOld = new TN_Location(); + TN_Location locOld = null; + if (locCntrRelOld != null) { // 濡傛灉闇�瑙g粦瀹瑰櫒璐т綅锛屼篃闇�淇敼璐т綅淇℃伅 + locOld = db.Queryable<TN_Location>() + .Where(l => l.S_CODE == locCntrRelOld.S_LOC_CODE).First(); + if (locOld != null) { + locOld.N_CURRENT_NUM = 0; // 濡傛灉鏃ц揣浣嶅瓨鍦紝灏嗘棫璐т綅鐨勬暟閲忚缃负 0 + } + } + //else { + // locOld = null; + //} + + // 缁戝畾璐т綅鍜屽鍣ㄥ彿锛圥DA鍦ㄦ帴椹充綅缁戝畾锛� var locCntrRel = new TN_Loc_Container { S_LOC_CODE = model.StartLoc, S_CNTR_CODE = model.CntrCode, S_CNTR_TYPE = "鎵樼洏", }; + + // 姣忎釜鏂版彃鍏ュ鍣ㄧ殑閫昏緫锛岄兘闇�鏌ヨ杩欎釜琛ㄦ槸鍚﹀瓨鍦紝濡傛灉涓嶅瓨鍦ㄤ篃鍔犲叆锛屽鏋滃瓨鍦細鏆備笉鏇存柊缁撴灉锛堝緟瀹氾級 + // 鏇磋缁嗙殑锛屾槸绌虹鍏ュ簱锛屽拰婊℃枡涓嬬嚎杩欎袱涓祦绋嬬殑瀹瑰櫒鍙兘鏄柊鐨勶紝鍏朵綑瀹瑰櫒涓�畾鏄棫鐨勶紝鏃犻渶鍐嶅垽鏂�+ // 涓ユ牸鏉ヨ锛屽鍣ㄧ被鍨嬪簲璇ユ斁鍦–ontainer閲岄潰鐨勶紝Loc_Container琛ㄥ彧鏀惧叧绯伙紝涓嶈繃鏆傛椂鍏堣繖鏍锋敼鍚�+ var cntrItemRel = db.Queryable<TN_Container_ItemType>() + .Where(c => c.S_CNTR_CODE == locCntrRel.S_CNTR_CODE).First(); + var insertContainerItemType = false; + if (cntrItemRel == null) { + insertContainerItemType = true; + cntrItemRel = new TN_Container_ItemType { + S_ITEM_CODE = "", // 绌烘墭鐩樺垰鍏ュ簱锛屾病鏈夌墿鏂欑被鍨嬶紝灏遍粯璁ゅ厛涓虹┖ + S_CNTR_TYPE = locCntrRel.S_CNTR_TYPE, + S_CNTR_CODE = locCntrRel.S_CNTR_CODE, + }; + } // TODO 鏆傚畾閫夋嫨鏈�綆灞傛寜鍖轰綅椤哄簭鍏ュ簱锛屽悗闈㈠緟淇敼 var endLoc = db.Queryable<TN_Location>() @@ -208,13 +265,49 @@ LocationHelper.LockEndLoc(ref endLoc); // 缁堢偣鍏ュ簱閿� using (var tran = db.Ado.UseTran()) { + if (insertContainerItemType) { + if (db.Insertable<TN_Container_ItemType>(cntrItemRel).ExecuteCommand() <= 0) { + info = $"鎻掑叆瀹瑰櫒淇℃伅澶辫触锛� + JsonConvert.SerializeObject(cntrItemRel); + tran.RollbackTran(); + LogHelper.Info(info); + return NewSimpleResult(5, info); + } + } + + if (cgDetailOld != null) { + if (db.Deleteable<TN_CG_Detail>(cgDetailOld).ExecuteCommand() <= 0) { + info = $"鍒犻櫎鏃х墿鏂欎俊鎭け璐ワ細" + JsonConvert.SerializeObject(cgDetailOld); + tran.RollbackTran(); + LogHelper.Info(info); + return NewSimpleResult(5, info); + } + } + + if (locCntrRelOld != null) { + if (db.Deleteable<TN_Loc_Container>(locCntrRelOld).ExecuteCommand() <= 0) { + info = $"鍒犻櫎鏃ц揣浣嶅鍣ㄥ叧绯诲け璐ワ細" + JsonConvert.SerializeObject(locCntrRelOld); + tran.RollbackTran(); + LogHelper.Info(info); + return NewSimpleResult(5, info); + } + } + + if (locOld != null) { + if (db.Updateable<TN_Location>(locOld).UpdateColumns(l => l.N_CURRENT_NUM).ExecuteCommand() <= 0) { + info = $"鏇存柊鏃ц揣浣嶅鍣ㄦ暟閲忓け璐ワ細" + JsonConvert.SerializeObject(locOld); + tran.RollbackTran(); + LogHelper.Info(info); + return NewSimpleResult(5, info); + } + } + if (db.Insertable<TN_Loc_Container>(locCntrRel).ExecuteCommand() <= 0) { info = $"鎻掑叆璐т綅瀹瑰櫒鍏崇郴澶辫触锛� + JsonConvert.SerializeObject(locCntrRel); tran.RollbackTran(); LogHelper.Info(info); return NewSimpleResult(5, info); } - + if (db.Updateable<TN_Location>(startLoc).UpdateColumns(it => new { it.N_LOCK_STATE, it.S_LOCK_STATE, @@ -262,6 +355,10 @@ /// <summary> /// 濂借繍绠�绌虹鍏ュ簱(PDA) /// </summary> + /// <remarks> + /// 浜哄伐灏嗙┖绠遍�杩囨帴椹充綅鍏ュ簱锛岄渶瑕佹柊缁戝畾瀹瑰櫒璐т綅<br/> + /// 鐢变簬绌虹涓�埇鏄嚭搴撳嵏璐у悗鑾峰緱锛岃�鍑哄簱鏃舵病鏈夋墜鍔ㄥ嵏璐х殑閫昏緫锛屾墍浠ラ渶瑕佸湪鍏ュ簱鐨勬椂鍊欏啀鍒犻櫎鏃х粦瀹氫俊鎭�+ /// </remarks> /// <returns></returns> public static SimpleResult EmptyInboundGoodpack(EmptyInboundInfo model) { var db = new SqlHelper<object>().GetInstance(); @@ -285,15 +382,27 @@ return NewSimpleResult(2, info); } - // 鏌ョ湅瀹瑰櫒鏄惁宸叉湁鐗╂枡缁戝畾 - var cgDetail = db.Queryable<TN_CG_Detail>() + // 鍋囧畾浜哄伐涓嶄細灏嗘湁鐗╂枡鐨勭瀛愭斁鍦ㄧ┖绠卞叆搴撴帴椹充綅锛屾病鏈夊繀瑕佹鏌�+ // 濡傛灉浜哄伐灏嗗嚭搴撳悗鐨勬墭鐩樺叆搴擄紝杩欐椂鐗╂枡淇℃伅骞舵病鏈夊垹闄わ紝闇�灏嗘墭鐩樼墿鏂欑殑鍏崇郴瑙i櫎 + var cgDetailOld = db.Queryable<TN_CG_Detail>() .Where(d => d.S_CNTR_CODE == model.CntrCode).First(); - // 濡傛灉鏈夌粦瀹氱墿鏂欙紝鎶ラ敊锛屽洜涓虹┖绠变笉搴旇鏈夌墿鏂�- if (cgDetail != null) { - info = $"瀹瑰櫒{model.CntrCode}宸茬粡缁戝畾浜嗙墿鏂檣cgDetail.S_ITEM_CODE}锛屼笉鏄┖绠辨棤娉曞叆搴�; - LogHelper.Info(info); - return NewSimpleResult(3, info); + + // 濡傛灉浜哄伐灏嗗嚭搴撳悗鐨勬墭鐩樺叆搴擄紝姝ゆ椂瀹瑰櫒浠嶇劧涓庢棫鐨勫嚭搴撹揣浣嶇粦瀹氾紝闇�妫�煡 + var locCntrRelOld = db.Queryable<TN_Loc_Container>() + .Where(c => c.S_CNTR_CODE == model.CntrCode).First(); + + //var locOld = new TN_Location(); + TN_Location locOld = null; + if (locCntrRelOld != null) { // 濡傛灉闇�瑙g粦瀹瑰櫒璐т綅锛屼篃闇�淇敼璐т綅淇℃伅 + locOld = db.Queryable<TN_Location>() + .Where(l => l.S_CODE == locCntrRelOld.S_LOC_CODE).First(); + if (locOld != null) { + locOld.N_CURRENT_NUM = 0; // 濡傛灉鏃ц揣浣嶅瓨鍦紝灏嗘棫璐т綅鐨勬暟閲忚缃负 0 + } } + //else { + // locOld = null; + //} // 缁戝畾璐т綅鍜屽鍣ㄥ彿 var locCntrRel = new TN_Loc_Container { @@ -301,6 +410,21 @@ S_CNTR_CODE = model.CntrCode, S_CNTR_TYPE = "濂借繍绠�, }; + + // 姣忎釜鏂版彃鍏ュ鍣ㄧ殑閫昏緫锛岄兘闇�鏌ヨ杩欎釜琛ㄦ槸鍚﹀瓨鍦紝濡傛灉涓嶅瓨鍦ㄤ篃鍔犲叆锛屽鏋滃瓨鍦細鏆備笉鏇存柊缁撴灉锛堝緟瀹氾級 + // 鏇磋缁嗙殑锛屾槸绌虹鍏ュ簱锛屽拰婊℃枡涓嬬嚎杩欎袱涓祦绋嬬殑瀹瑰櫒鍙兘鏄柊鐨勶紝鍏朵綑瀹瑰櫒涓�畾鏄棫鐨勶紝鏃犻渶鍐嶅垽鏂�+ // 涓ユ牸鏉ヨ锛屽鍣ㄧ被鍨嬪簲璇ユ斁鍦–ontainer閲岄潰鐨勶紝Loc_Container琛ㄥ彧鏀惧叧绯伙紝涓嶈繃鏆傛椂鍏堣繖鏍锋敼鍚�+ var cntrItemRel = db.Queryable<TN_Container_ItemType>() + .Where(c => c.S_CNTR_CODE == locCntrRel.S_CNTR_CODE).First(); + var insertContainerItemType = false; + if (cntrItemRel == null) { + insertContainerItemType = true; + cntrItemRel = new TN_Container_ItemType { + S_ITEM_CODE = "", // 绌烘墭鐩樺垰鍏ュ簱锛屾病鏈夌墿鏂欑被鍨嬶紝灏遍粯璁ゅ厛涓虹┖ + S_CNTR_TYPE = locCntrRel.S_CNTR_TYPE, + S_CNTR_CODE = locCntrRel.S_CNTR_CODE, + }; + } // TODO 鏆傚畾閫夋嫨鏈�綆灞傞『搴忓叆搴擄紝鍚庨潰寰呬慨鏀� var endLoc = db.Queryable<TN_Location>() @@ -323,6 +447,42 @@ LocationHelper.LockEndLoc(ref endLoc); // 缁堢偣鍏ュ簱閿� using (var tran = db.Ado.UseTran()) { + if (insertContainerItemType) { + if (db.Insertable<TN_Container_ItemType>(cntrItemRel).ExecuteCommand() <= 0) { + info = $"鎻掑叆瀹瑰櫒淇℃伅澶辫触锛� + JsonConvert.SerializeObject(cntrItemRel); + tran.RollbackTran(); + LogHelper.Info(info); + return NewSimpleResult(5, info); + } + } + + if (cgDetailOld != null) { + if (db.Deleteable<TN_CG_Detail>(cgDetailOld).ExecuteCommand() <= 0) { + info = $"鍒犻櫎鏃х墿鏂欎俊鎭け璐ワ細" + JsonConvert.SerializeObject(cgDetailOld); + tran.RollbackTran(); + LogHelper.Info(info); + return NewSimpleResult(5, info); + } + } + + if (locCntrRelOld != null) { + if (db.Deleteable<TN_Loc_Container>(locCntrRelOld).ExecuteCommand() <= 0) { + info = $"鍒犻櫎鏃ц揣浣嶅鍣ㄥ叧绯诲け璐ワ細" + JsonConvert.SerializeObject(locCntrRelOld); + tran.RollbackTran(); + LogHelper.Info(info); + return NewSimpleResult(5, info); + } + } + + if (locOld != null) { + if (db.Updateable<TN_Location>(locOld).UpdateColumns(l => l.N_CURRENT_NUM).ExecuteCommand() <= 0) { + info = $"鏇存柊鏃ц揣浣嶅鍣ㄦ暟閲忓け璐ワ細" + JsonConvert.SerializeObject(locOld); + tran.RollbackTran(); + LogHelper.Info(info); + return NewSimpleResult(5, info); + } + } + if (db.Insertable<TN_Loc_Container>(locCntrRel).ExecuteCommand() <= 0) { info = $"鎻掑叆璐т綅瀹瑰櫒鍏崇郴澶辫触锛� + JsonConvert.SerializeObject(locCntrRel); tran.RollbackTran(); @@ -377,6 +537,9 @@ /// <summary> /// 鎵樼洏-绌烘墭涓婄嚎(PDA) /// </summary> + /// <remarks> + /// 浜哄伐鏍规嵁褰撳墠鐢熶骇鐗╂枡鎵�渶鐨勫鍣ㄧ被鍨嬶紝鍛煎彨AGV浠庣┖瀹瑰櫒璐ф灦涓彨涓�釜绗﹀悎瑕佹眰鐨勬墭鐩�+ /// </remarks> /// <param name="model"></param> /// <returns></returns> public static SimpleResult EmptyOnlinePallet(EmptyOnlinePalletInfo model) { @@ -693,6 +856,12 @@ return NewSimpleResult(1, info); } } + + /// <summary> + /// 鎶芥-涓嶅悎鏍肩Щ搴�PDA) + /// </summary> + /// <param name="model"></param> + /// <returns></returns> public static SimpleResult UnqualifiedShift(UnqualifiedShiftInfo model) { var db = new SqlHelper<object>().GetInstance(); var info = ""; @@ -811,6 +980,11 @@ } } + /// <summary> + /// 浣欐枡鍥炲簱/灏剧鍥炲簱(PDA) + /// </summary> + /// <param name="model"></param> + /// <returns></returns> public static SimpleResult RestBack(RestBackInfo model) { var db = new SqlHelper<object>().GetInstance(); var info = ""; @@ -824,17 +998,24 @@ .Where(l => l.N_CURRENT_NUM == 1) .First(); + if (startLoc == null) { + info = $"娌℃湁鎵惧埌璧风偣璐т綅{model.StartLoc}锛屾垨涓嶅叿澶囧彇璐ц姹傦細鏈笂閿併�鏈夎揣鐗�; + LogHelper.Info(info); + return NewSimpleResult(2, info); + } + var locCntrRel = db.Queryable<TN_Loc_Container>() .Where(c => c.S_LOC_CODE == model.StartLoc) .First(); if (locCntrRel == null) { - info = $"娌℃湁鎵惧埌璧风偣璐т綅{model.StartLoc}锛屾垨涓嶅叿澶囧彇璐ц姹傦細鏈笂閿併�鏈夎揣鐗�; + info = $"娌℃湁鎵惧埌璧风偣璐т綅{model.StartLoc}鎵�粦瀹氱殑瀹瑰櫒"; LogHelper.Info(info); return NewSimpleResult(3, info); } - var endLoc = new TN_Location(); + //var endLoc = new TN_Location(); + TN_Location endLoc = null; if (locCntrRel.S_CNTR_TYPE == "鎵樼洏") { endLoc = db.Queryable<TN_Location>() .Where(l => Settings.AreaMap[AreaName.M婊℃墭璐ф灦鍖篯.Contains(l.S_AREA_CODE)) @@ -849,15 +1030,16 @@ .Where(l => l.N_CURRENT_NUM == 0) // 璧风偣缁戝畾鍓嶆病鏈夊鍣� .First(); } - else { - endLoc = null; - } + //else { + // endLoc = null; + //} if (endLoc == null) { info = "鏌ヨ锛氭病鏈夋壘鍒板悎閫傜殑缁堢偣璐т綅"; LogHelper.Info(info); return NewSimpleResult(3, info); } + var cntId = locCntrRel.S_CNTR_CODE; var task = WCSHelper.BuildTask(startLoc, endLoc, cntId, taskName); @@ -911,7 +1093,7 @@ } /// <summary> - /// 鎴愬搧鑳跺嚭搴�PDA) + /// 鎴愬搧鑳跺嚭搴�PDA) 寰呭畾锛屾殏鏃朵笉闇�姝ゅ姛鑳� /// </summary> /// <remarks> /// WMS鎻愪緵鍑哄簱鐨勭墿鏂欑被鍨嬩笌鏁伴噺锛岃皟鐢ㄦ帴鍙g敱WCS鐢熸垚鍏蜂綋鐨勫嚭搴撲换鍔★紝鐒跺悗WCS鍚庡彴杞澶勭悊 @@ -1130,32 +1312,38 @@ } /// <summary> - /// 鍗氬疄鐗╂枡淇℃伅涓嬪彂鍚屾 + /// 鍗氬疄鐗╂枡淇℃伅涓嬪彂鍚屾锛堝彧閽堝濂借繍绠憋級 /// </summary> /// <param name="model"></param> /// <returns></returns> public static MesResult CgInfoSync(CgInfoSyncInfo model) { var db = new SqlHelper<object>().GetInstance(); - var random = new Random(); var info = ""; try { + // 灏嗕笅鍙戠殑淇℃伅鍏堝瓨鍌ㄥ埌CG琛ㄤ腑锛堟鏃舵墭鐩樻病鏈変笌浜х嚎澶勭殑璐т綅缁戝畾锛� var detail = new TN_CG_Detail { S_ITEM_CODE = model.ItemCode, S_ITEM_NAME = model.ItemName, - S_CNTR_CODE = GenerateOrderNo("瀹瑰櫒鍙�, "CN"), // NOTE 瀹瑰櫒鍙凤細鐩墠闅忔満锛堝悗鏈熷彲鑳戒細鎸囧畾锛屾垨鑰匬DA缁戝畾鏃跺啀濉叆锛�+ S_CNTR_CODE = model.CntrCode, // 鏂欑缂栧彿锛堝緟瀹氾紝鐜板湪鏆傛椂璁惧畾涓哄崥瀹炰笅鍙戯級 S_BATCH_NO = model.BatchNo, S_STANDARD = model.Standard, S_NET_WEIGHT = model.NetWeight, S_QUALITY_GRADE = model.QualityGrade, - //N_PRODUCT_LINE = random.Next(0, 3), // NOTE 浜х嚎鍙凤細鐩墠闅忔満锛堝悗鏈熷彲鑳戒細鎸囧畾锛屾垨鑰匬DA缁戝畾鏃跺啀濉叆锛� }; - //var locCntrRel = new TN_Loc_Container { - // //S_LOC_CODE = Settings.Config.ProductionLines[detail.N_PRODUCT_LINE].OffLoc[0], // 濂借繍绠辩殑浣嶇疆鏄搷浣滃尯锛屼笉鏄骇绾�- // S_CNTR_CODE = detail.S_CNTR_CODE, - // S_CNTR_TYPE = "濂借繍绠�, // 璐存爣鏈哄彧閽堝濂借繍绠�- //}; + // 浜х嚎鍙风殑閫昏緫寰呭畾锛岀幇鍦ㄨ瀹氫负鍗氬疄涓嬪彂浜х嚎鍙凤紝鐪嬪悗缁渶姹傚彉鏇�+ // 濂借繍绠辫捣鐐逛负浜х嚎璐т綅锛屼汉宸ュ皢濂借繍绠变粠浜х嚎涓婂彇涓嬶紝鎼繍鍒版弧濂借繍绠辨搷浣滃尯 + //var startLocCode = ""; + //if (model.ProdLineId.Trim() == "3") { + // startLocCode = ""; + //} + + //if (model.ProdLineId.Trim() != "3" || model.ProdLineId.Trim() != "4") { + // info = $"涓嶅悎娉曠殑浜х嚎鍙穥model.ProdLineId}锛氬ソ杩愮浜х嚎鍙峰繀椤讳负 3 鎴�4"; + // LogHelper.Info(info); + // return NewMesResult(2, info); + //} using (var tran = db.Ado.UseTran()) { if (db.Insertable<TN_CG_Detail>(detail).ExecuteCommand() <= 0) { @@ -1163,12 +1351,6 @@ info = "鎻掑叆鐗╂枡淇℃伅澶辫触锛� + JsonConvert.SerializeObject(detail); return NewMesResult(2, info); } - - //if (db.Insertable<TN_Loc_Container>(locCntrRel).ExecuteCommand() <= 0) { - // tran.RollbackTran(); - // info = "鎻掑叆鐗╂枡淇℃伅澶辫触锛� + JsonConvert.SerializeObject(detail); - // return NewWmsResult(2, info); - //} tran.CommitTran(); } -- Gitblit v1.9.1