From 6bcfd2449dc18ad9455c365d18027663decf61e8 Mon Sep 17 00:00:00 2001 From: 啊鑫 <t2856754968@163.com> Date: 星期三, 24 七月 2024 14:58:51 +0800 Subject: [PATCH] 完善仓库验退的逻辑 --- MES.Service/service/Warehouse/MesInvItemArnDetailManager.cs | 106 +++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 75 insertions(+), 31 deletions(-) diff --git a/MES.Service/service/Warehouse/MesInvItemArnDetailManager.cs b/MES.Service/service/Warehouse/MesInvItemArnDetailManager.cs index 38d361f..c827092 100644 --- a/MES.Service/service/Warehouse/MesInvItemArnDetailManager.cs +++ b/MES.Service/service/Warehouse/MesInvItemArnDetailManager.cs @@ -7,6 +7,13 @@ public class MesInvItemArnDetailManager : Repository<MesInvItemArnDetail> { + //var result = db.Ado.GetString($"SELECT f_getseqnextvalue('{sequenceName}') FROM DUAL"); + + private readonly PurdhbManager purdhbManager = new(); + private readonly PurdkaManager purdkaManager = new(); + private readonly PurdkbManager purdkbManager = new(); + + private readonly MesQaItemsDetect01Manager rohInDataManager = new(); //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉� //杩欓噷闈㈠啓鐨勪唬鐮佷笉浼氱粰瑕嗙洊,濡傛灉瑕侀噸鏂扮敓鎴愯鍒犻櫎 MesInvItemArnDetailManager.cs @@ -81,16 +88,9 @@ return result; } - //var result = db.Ado.GetString($"SELECT f_getseqnextvalue('{sequenceName}') FROM DUAL"); - - private readonly PurdhbManager purdhbManager = new(); - private readonly PurdkaManager purdkaManager = new(); - private readonly PurdkbManager purdkbManager = new(); - private readonly MesQaItemsDetect01Manager rohInDataManager = new(); - public bool SetMaterial(Material material) { - return UseTransaction(db => + var b1 = UseTransaction(db => { var executeCommand = db.Updateable<MesInvItemArnDetail>() .SetColumns(s => s.CheckRes == "涓嶅悎鏍�") @@ -103,50 +103,94 @@ var mesQaItemsDetect01 = db.Queryable<MesQaItemsDetect01>() .Where(a => a.Id == material.FmesEntryId).Single(); - if (mesQaItemsDetect01 == null) - { - return 0; - } + if (mesQaItemsDetect01 == null) return 0; var suppName = db.Queryable<MesSupplier>() .Where(b => b.SuppNo == mesQaItemsDetect01.SuppNo) .Select<string>(b => b.SuppName).First(); var CIdt = db.Ado.GetString( - $"SELECT f_getseqnextvalue('mes_inv_item_ins') FROM DUAL"); + "SELECT f_getseqnextvalue('mes_inv_item_ins') FROM DUAL"); var billNo = db.Ado.GetString( - $"SELECT getbillcode1('1000', '1000', 'INV_IN_BACK') FROM DUAL"); + "SELECT getbillcode1('1000', '1000', 'INV_IN_BACK') FROM DUAL"); // PURDKA var purdka = GetPurdka(CIdt, billNo, mesQaItemsDetect01, suppName); - executeCommand += db.Insertable<Purdka>(purdka).ExecuteCommand(); + executeCommand += db.Insertable(purdka).ExecuteCommand(); - db.Queryable<Purdhb>() - .Where(c => c.Dhb001 == mesQaItemsDetect01.LotNo - && c.Dhb003 == mesQaItemsDetect01.ItemNo) - .Select(c => new Purdhb - { - Dhb002 = c.Dhb002, - Dhb003 = c.Dhb003, - Dhb006 = c.Dhb006, - Dhb007 = c.Dhb007, - Dhb017 = c.Dhb017, - Dhb018 = c.Dhb018, - Dhb001 = c.Dhb001, - Dhb042 = c.Dhb042 - }).ToList(); + executeCommand += InsertPurdkbs(db, mesQaItemsDetect01, billNo); + + executeCommand += db.Updateable<MesQaItemsDetect01>() + .SetColumns(c => c.Modify1Flag == 1) + .SetColumns(c => c.Modify1By == material.UserName) + .SetColumns(c => c.Modify1Date == DateTime.Now) + .SetColumns(c => c.FngHandle == "閫�璐�") + .Where(c => c.ReleaseNo == mesQaItemsDetect01.ReleaseNo) + .ExecuteCommand(); return executeCommand; - }) > 3; + }) >= 4; + + if (b1 == false) throw new NotImplementedException("鎺ㄩ�佸け璐ワ紝Mes鏂归潰鍑虹幇闂"); + + return b1; + } + + private int InsertPurdkbs(SqlSugarScope db, + MesQaItemsDetect01 mesQaItemsDetect01, string billNo) + { + var purdhbs = db.Queryable<Purdhb>() + .Where(c => c.Dhb001 == mesQaItemsDetect01.LotNo + && c.Dhb003 == mesQaItemsDetect01.ItemNo) + .Select(c => new Purdhb + { + Dhb002 = c.Dhb002, + Dhb003 = c.Dhb003, + Dhb006 = c.Dhb006, + Dhb007 = c.Dhb007, + Dhb017 = c.Dhb017, + Dhb018 = c.Dhb018, + Dhb001 = c.Dhb001, + Dhb042 = c.Dhb042 + }).ToList(); + + var list = new List<Purdkb>(); + + purdhbs.ForEach(s => + { + var id = db.Ado.GetString( + "SELECT f_getseqnextvalue('MES_INV_ITEM_IN_C_DETAILS') FROM DUAL"); + + var purdkb = new Purdkb(); + purdkb.Id = Convert.ToDecimal(id); + purdkb.Dkb001 = billNo; + purdkb.Dkb002 = s.Dhb002; + purdkb.Dkb003 = s.Dhb003; + purdkb.Dkb006 = s.Dhb006; + purdkb.Dkb007 = s.Dhb006; + purdkb.Dkb008 = 0; + purdkb.Dkb009 = s.Dhb007; + purdkb.Dkb010 = s.Dhb017; + purdkb.Dkb011 = s.Dhb018; + purdkb.Dkb012 = s.Dhb001; + purdkb.Dkb013 = s.Dhb002; + purdkb.Dkb016 = s.Dhb042; + + list.Add(purdkb); + }); + + var insertRange = db.Insertable(list).ExecuteCommand(); + + return insertRange == purdhbs.Count ? 1 : 0; } private static Purdka GetPurdka(string CIdt, string billNo, MesQaItemsDetect01 mesQaItemsDetect01, string suppName) { var date = DateTime.Now.ToString("yyyy-MM-dd"); - Purdka purdka = new Purdka(); + var purdka = new Purdka(); purdka.Id = Convert.ToDecimal(CIdt); purdka.Dka001 = billNo; purdka.Dka002 = "閲囪喘閫�璐�"; -- Gitblit v1.9.3