From d0a265713fd18162f3a82bdcd22e267df7298c7b Mon Sep 17 00:00:00 2001 From: 杨前锦 <1010338399@qq.com> Date: 星期一, 26 五月 2025 08:59:52 +0800 Subject: [PATCH] 印尼佳通-半制品代码逻辑优化 --- HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_BZP/wms/WMSHelper.cs | 121 +++++++++++++++++++++------------------- 1 files changed, 64 insertions(+), 57 deletions(-) diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_BZP/wms/WMSHelper.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_BZP/wms/WMSHelper.cs index f3dcc70..e7e2009 100644 --- a/HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_BZP/wms/WMSHelper.cs +++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_BZP/wms/WMSHelper.cs @@ -753,12 +753,16 @@ try { db.BeginTran(); - itemBarcodeInfos.ForEach(a => { - var bo = db.Insertable<ItemBarcodeInfo>(a).ExecuteCommand() > 0; - if (!bo) + itemBarcodeInfos.ForEach(item => { + var itemBarcodeInfo = db.Queryable<ItemBarcodeInfo>().Where(a => a.S_BC_ENTRIED == item.S_BC_ENTRIED).First(); + if (itemBarcodeInfo == null) { - result = false; - LogHelper.Info($"娣诲姞鐗╂枡鏉$爜淇℃伅澶辫触锛岀墿鏂欐潯鐮佷俊鎭細{JsonConvert.SerializeObject(a)}", "GT"); + var bo = db.Insertable<ItemBarcodeInfo>(item).ExecuteCommand() > 0; + if (!bo) + { + result = false; + LogHelper.Info($"娣诲姞鐗╂枡鏉$爜淇℃伅澶辫触锛岀墿鏂欐潯鐮佷俊鎭細{JsonConvert.SerializeObject(item)}", "GT"); + } } }); if (result) @@ -790,26 +794,34 @@ { db.BeginTran(); updateMatlStatuses.ForEach(update => { - var bo = db.Updateable<CntrItemRel>().SetColumns(a => new CntrItemRel() { S_ITEM_STATE = update.jdge }).Where(a => a.S_CG_ID == update.bc_entried).ExecuteCommand() > 0; - if (!bo) + var itemBarcodeInfo = db.Queryable<ItemBarcodeInfo>().Where(a => a.S_BC_ENTRIED == update.bc_entried).First(); + if (itemBarcodeInfo != null) { - result = false; - LogHelper.Info($"鎵归噺鏇存柊鐗╂枡鐘舵�澶辫触锛岀墿鏂欐潯鐮佷俊鎭細{JsonConvert.SerializeObject(update)}", "GT"); + itemBarcodeInfo.S_JDGE = update.jdge; + db.Updateable(itemBarcodeInfo).ExecuteCommand(); + var cntrItemRel = db.Queryable<CntrItemRel>().Where(a => a.S_CG_ID == update.bc_entried).First(); + if (cntrItemRel != null) + { + // 灏哅ES鐨勭墿鏂欑姸鎬佽浆鍖栨垚WMS鍙瘑鍒殑鐗╂枡鐘舵� + if (update.jdge == "" || update.jdge == null) + { + update.jdge = "OK"; + } + else if (update.jdge != "OK") + { + update.jdge = "HOLD"; + } + db.Updateable<CntrItemRel>().SetColumns(a => new CntrItemRel() { S_ITEM_STATE = update.jdge }).Where(a => a.S_CG_ID == update.bc_entried).ExecuteCommand(); + } } }); - if (result) - { - db.CommitTran(); - } - else - { - db.RollbackTran(); - } + db.CommitTran(); } catch (Exception ex) { LogHelper.Info($"鎵归噺鏇存柊鐗╂枡鐘舵�閿欒锛岄敊璇俊鎭細{ex.Message}", "GT"); db.RollbackTran(); + result = false; } return result; } @@ -827,48 +839,28 @@ db.BeginTran(); foreach (Overage overage in overages) { - bool bo = false; - var overage1 = db.Queryable<Overage>().Where(a => a.MCNGRP == overage.MCNGRP && a.ITEMPATT == overage.ITEMPATT).First(); + var overage1 = db.Queryable<Overage>().Where(a => a.RECID == overage.RECID).First(); if (overage1 != null) { + overage1.MCNGRP = overage.MCNGRP; + overage1.ITEMPATT = overage.ITEMPATT; overage1.OVERAGE = overage.OVERAGE; overage1.MINHOUR = overage.MINHOUR; overage1.FLAG_STS = overage.FLAG_STS; - bo = db.Updateable(overage1).ExecuteCommand() > 0; + db.Updateable(overage1).ExecuteCommand(); } else { - overage1 = new Overage() - { - MCNGRP = overage.MCNGRP, - ITEMPATT = overage.ITEMPATT, - OVERAGE = overage.OVERAGE, - MINHOUR = overage.MINHOUR, - FLAG_STS = overage.FLAG_STS - }; - bo = db.Insertable(overage1).ExecuteCommand() > 0; - } - if (!bo) - { - result = false; - LogHelper.Info($"鎵归噺鏇存柊鐗╂枡瀛樻斁鏃堕棿閰嶇疆淇℃伅澶辫触锛岄厤缃俊鎭細{JsonConvert.SerializeObject(overage)}", "GT"); - break; + db.Insertable(overage).ExecuteCommand(); } } - - if (result) - { - db.CommitTran(); - } - else - { - db.RollbackTran(); - } + db.CommitTran(); } catch (Exception ex) { LogHelper.Info($"鎵归噺鏇存柊鐗╂枡瀛樻斁鏃堕棿閰嶇疆淇℃伅閿欒锛岄敊璇俊鎭細{ex.Message}", "GT"); db.RollbackTran(); + result = false; } return result; } @@ -879,22 +871,26 @@ /// <returns></returns> public static Overage getOverage(string bc_entried) { - Overage overage = null; + var db = new SqlHelper<object>().GetInstance(); - overage = db.Queryable<Overage>().Where(a => a.ITEMPATT == bc_entried && a.MCNGRP == "1").First(); - if (overage == null) - { - string sub = bc_entried.Substring(0, 3); - overage = db.Queryable<Overage>().Where(a => a.ITEMPATT.Contains(sub) && a.MCNGRP == "1").First(); - } + // 鐩存帴鎵ц SQL锛堝弬鏁板寲鏌ヨ锛�+ var sql = "SELECT get_ovg_bar(@barcode, @mcngrp) AS overage_value"; + var sql1 = "SELECT get_minhour_bar(@barcode, @mcngrp) AS overage_value"; - if (overage == null) + // 浣跨敤鍖垮悕瀵硅薄浼犻�鍙傛暟 + var ovg_bar = db.Ado.SqlQuery<int>(sql, new { barcode = bc_entried, mcngrp = "1"}); + var minhour_bar = db.Ado.SqlQuery<float>(sql1, new { barcode = bc_entried, mcngrp = "1"}); + if (ovg_bar.Count > 0 && minhour_bar.Count > 0) { - string sub = bc_entried.Substring(0, 7); - overage = db.Queryable<Overage>().Where(a => a.ITEMPATT.Contains(sub) && a.MCNGRP == "1").First(); + Overage overage = new Overage() + { + MINHOUR = minhour_bar[0], + OVERAGE = ovg_bar[0] + }; + return overage; } - return overage; + return null; } /// <summary> @@ -909,7 +905,18 @@ try { db.BeginTran(); - result = db.Insertable(record).ExecuteCommand()> 0; + var synDataTimeRecord = db.Queryable<SynDataTimeRecord>().Where(a => a.S_SYN_TIME == record.S_SYN_TIME && a.RECORD_TABLE == record.RECORD_TABLE).First(); + if (synDataTimeRecord == null) + { + result = db.Insertable(record).ExecuteCommand() > 0; + } + else + { + synDataTimeRecord.N_SYN_NUM = record.N_SYN_NUM; + synDataTimeRecord.S_SYN_TIME = record.S_SYN_TIME; + result = db.Updateable(synDataTimeRecord).ExecuteCommand() > 0; + } + if (result) { db.CommitTran(); @@ -921,7 +928,7 @@ } catch (Exception ex) { - LogHelper.Info($"娣诲姞鍚屾鏁版嵁鏃堕棿璁板綍閿欒锛岄敊璇俊鎭細{ex.Message}", "GT"); + LogHelper.Info($"娣诲姞鏁版嵁鍚屾鏃堕棿璁板綍閿欒锛岄敊璇俊鎭細{ex.Message}", "GT"); db.RollbackTran(); } return result; -- Gitblit v1.9.1