From d7bf5fce0a442c858d02675a2c71a8af49937ae2 Mon Sep 17 00:00:00 2001 From: hao <1836460075@qq.com> Date: 星期三, 04 六月 2025 17:20:54 +0800 Subject: [PATCH] 分布式调拨 --- StandardInterface/MES.Service/service/DbckaManager.cs | 74 ++++++++++++++++++++++--------------- 1 files changed, 44 insertions(+), 30 deletions(-) diff --git a/StandardInterface/MES.Service/service/DbckaManager.cs b/StandardInterface/MES.Service/service/DbckaManager.cs index 6cfdb48..55dde67 100644 --- a/StandardInterface/MES.Service/service/DbckaManager.cs +++ b/StandardInterface/MES.Service/service/DbckaManager.cs @@ -5,10 +5,11 @@ using MES.Service.DB; using MES.Service.Dto.webApi; using MES.Service.Modes; +using static Microsoft.EntityFrameworkCore.DbLoggerCategory; namespace MES.Service.service { - public class DbckaManager : Repository<Dbcka> + public class DbckaManager : Repository<MesInvItemDbsq> { public bool SaveList(List<ERPDBCK> list) { @@ -18,7 +19,7 @@ public bool Save(ERPDBCK data) { - var head = MapErpDbckaToDbcka(data.erpDbcka); + var head = MapErpToMesHead(data.erpDbcka); var details = MapErpDbckbToDbckb(data.erpDbckB); return UseTransaction(db => @@ -37,12 +38,12 @@ }) > 0; } - private Dbcka MapErpDbckaToDbcka(ErpDBCKA dto) + private MesInvItemDbsq MapErpToMesHead(ErpDBCKA dto) { - var entity = new Dbcka + var entity = new MesInvItemDbsq { - Billno = dto.billno, - DjLx = dto.dj_lx, + BillNo = dto.billno, + Djlx = dto.dj_lx, DbLx1 = dto.db_lx1, DbFx = dto.db_fx, DbLx = dto.db_lx, @@ -50,43 +51,51 @@ DjZt = dto.dj_zt, SqBm = dto.sq_bm, SqZz = dto.sq_zz, - SqTime = DateTime.TryParse(dto.sq_time, out var d) ? d : null, + SqTime = dto.sq_time, DcHz = dto.dc_hz, - Bz = dto.bz, - Type = dto.type, + Remark = dto.bz, Erpid = dto.erpid, - CreateDate = DateTime.Now + CreateDate = DateTime.Now, + CreateBy = "System" }; - var single = base.GetSingle(it => it.Erpid == entity.Erpid); - if (single != null) entity.Id = single.Id; + // var single = base.GetSingle(it => it.Erpid == entity.Erpid); + /* if (single != null && single.Id.HasValue) + entity.Id = single.Id.Value;*/ + var single = Db.Queryable<MesInvItemDbsq>() + .Where(it => it.Erpid == entity.Erpid) + .First(); + if (single != null) + entity.Id = single.Id; return entity; } - private List<Dbckb> MapErpDbckbToDbckb(List<ErpDBCKB> list) + + private List<MesInvItemDbsqItems> MapErpDbckbToDbckb(List<ErpDBCKB> list) { - var result = new List<Dbckb>(); + var result = new List<MesInvItemDbsqItems>(); foreach (var dto in list) { - var item = new Dbckb + var item = new MesInvItemDbsqItems { - Itemid = dto.itemid, - Unit = dto.unit, - Quantity = decimal.TryParse(dto.quantity, out var qty) ? qty : null, + ItemId = Convert.ToDecimal(dto.itemid), + ItemUnit = Convert.ToDecimal(dto.unit), + SqNum = decimal.TryParse(dto.quantity, out var qty) ? qty : 0, DcOrg = dto.dc_org, DcDepot = dto.dc_depot, DrOrg = dto.dr_org, DrDepot = dto.dr_depot, DcHz = dto.dc_hz, DrHz = dto.dr_hz, - Bz = dto.bz, + Remark = dto.bz, Erpid = dto.erpid, - Eid = dto.eid + Eid = dto.eid, + }; - var existing = Db.Queryable<Dbckb>().Where(s => s.Erpid == item.Erpid).Single(); + var existing = Db.Queryable<MesInvItemDbsqItems>().Where(s => s.Erpid == item.Erpid).Single(); if (existing != null) item.Id = existing.Id; result.Add(item); @@ -95,37 +104,42 @@ return result; } - private bool SaveOrUpdateData(SqlSugarScope db, Dbcka head, List<Dbckb> details) + private bool SaveOrUpdateData(SqlSugarScope db, MesInvItemDbsq head, List<MesInvItemDbsqItems> details) { if (head.Id != null) base.DeleteById(head.Id); - db.Deleteable<Dbckb>() + db.Deleteable<MesInvItemDbsqItems>() .Where(d => d.Eid == head.Erpid) .ExecuteCommand(); var insertedHead = db.Insertable(head) .IgnoreColumns(true) - .ExecuteReturnEntity(); + .ExecuteReturnIdentity(); + if (insertedHead <= 0) + throw new Exception("涓昏〃鎻掑叆澶辫触锛屾湭杩斿洖ID"); - foreach (var item in details) - item.Pid = Convert.ToDecimal(insertedHead.Id); + var success = db.Insertable(details) .PageSize(10) .IgnoreColumnsNull() .ExecuteCommand() > 0; - return insertedHead.Id != null && success; + + if (insertedHead >= 0 && success) return true; + throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�"); } - private bool UpdateData(SqlSugarScope db, Dbcka head, List<Dbckb> details) + private bool UpdateData(SqlSugarScope db, MesInvItemDbsq head, List<MesInvItemDbsqItems> details) { var ids = details.Select(d => d.Id).ToArray(); var deletedHead = base.DeleteById(head.Id); - var deletedDetails = db.Deleteable<Dbckb>().In(ids).ExecuteCommand() > 0; + var deletedDetails = db.Deleteable<MesInvItemDbsqItems>().In(ids).ExecuteCommand() > 0; - return deletedHead && deletedDetails; + + if (deletedHead && deletedDetails) return true; + throw new NotImplementedException("鏇存柊澶辫触"); } } } -- Gitblit v1.9.3