From 35bbd277a1963dfbbecf10b8682d6ac210b3a2ec Mon Sep 17 00:00:00 2001 From: 啊鑫 <t2856754968@163.com> Date: 星期二, 21 一月 2025 17:03:22 +0800 Subject: [PATCH] 供应商 --- StandardPda/MES.Service/service/BasicData/MesSupplierManager.cs | 226 +++++++++++++++++++++++--------------------------------- 1 files changed, 94 insertions(+), 132 deletions(-) diff --git a/StandardPda/MES.Service/service/BasicData/MesSupplierManager.cs b/StandardPda/MES.Service/service/BasicData/MesSupplierManager.cs index 7036520..655f745 100644 --- a/StandardPda/MES.Service/service/BasicData/MesSupplierManager.cs +++ b/StandardPda/MES.Service/service/BasicData/MesSupplierManager.cs @@ -16,15 +16,15 @@ switch (unit.Type) { case "0": - if (UpdateSupplierStatus(db, entity.Id, "A")) + if (UpdateSupplierStatus(db, entity, "A")) return 1; break; case "1": - if (UpdateSupplierStatus(db, entity.Id, "B")) + if (UpdateSupplierStatus(db, entity, "B")) return 1; break; case "3": - if (DeleteSupplier(entity.Id)) + if (DeleteSupplier(entity)) return 1; break; case "2": @@ -43,111 +43,16 @@ public bool SaveList(List<ErpSupplier> suppliers) { - var list = suppliers.Select(GetMesSupplier).ToList(); - var groupBy = list.GroupBy(s => s.Type) - .ToDictionary(g => g.Key, g => g.ToList()); - - return UseTransaction(db => - { - foreach (var supplierGroup in groupBy) - switch (supplierGroup.Key) - { - case "0": - if (!UpdateSupplierStatusBatch(db, supplierGroup.Value, - "A")) - throw new NotImplementedException("鍚敤澶辫触"); - break; - case "1": - if (!UpdateSupplierStatusBatch(db, supplierGroup.Value, - "B")) - throw new NotImplementedException("绂佺敤澶辫触"); - break; - - case "3": - if (!DeleteSupplierBatch(db, supplierGroup.Value)) - throw new NotImplementedException("鍒犻櫎澶辫触"); - break; - case "2": - case "4": - if (!InsertOrUpdateBatch(db, supplierGroup.Value)) - throw new NotImplementedException("鍚屾澶辫触"); - break; - default: - throw new ArgumentNullException( - $"type娌℃湁{supplierGroup.Key}杩欎釜绫诲瀷鐨勫弬鏁�"); - } - - return 1; - }) > 0; + var result = suppliers.Select(Save).ToList(); + return result.All(b => b); } - private bool UpdateSupplierStatus(SqlSugarScope db, decimal supplierId, + private bool UpdateSupplierStatus(SqlSugarScope db, + List<MesSupplier> supplierId, string status) { - var result = db.Updateable<MesSupplier>() - .SetColumns(s => s.Fforbidstatus == status) - .Where(s => s.Id == supplierId).ExecuteCommand(); + var ids = supplierId.Select(it => it.Id).ToArray(); - if (result > 0) - return true; - - throw new NotImplementedException(status == "A" ? "鍚敤澶辫触" : "绂佺敤澶辫触"); - } - - private bool InsertSupplier(SqlSugarScope db, MesSupplier entity) - { - var insert = db.Insertable(entity).ExecuteCommand(); - if (insert > 0) - return true; - - throw new NotImplementedException("鎻掑叆澶辫触"); - } - - private bool DeleteSupplier(decimal supplierId) - { - if (base.DeleteById(supplierId)) return true; - - throw new NotImplementedException("鍒犻櫎澶辫触"); - } - - private MesSupplier GetMesSupplier(ErpSupplier supplier) - { - return new MesSupplier - { - Id = Convert.ToDecimal(supplier.Id), - SuppNo = supplier.FNumber, - SuppSname = supplier.FShortName, - SuppName = supplier.FName, - Lxr = supplier.FContact, - Telf1 = supplier.FTel, - Fstaffid = supplier.FStaffId, - /// <summary> - /// 鎺ュ彛瀛楁璋冩暣锛氭爣鍑嗙増鎺ュ彛鏂板 ERP鍗曟嵁鐘舵�� 瀛楁銆� - /// </summary> - /// <remarks> - /// 淇敼浜猴細<姹犲崡楠�> - /// 淇敼鏃ユ湡锛�<2024-12-28> - /// 淇敼璇存槑锛� - /// - 鍘熶唬鐮侊細绌� - /// - 淇敼鍚庯細 - ///FDOCUMENTSTATUS = supplier.FDocumentStatus, - /// </remarks> - DocumentStatus = supplier.FDocumentStatus, - Fforbidstatus = supplier.FForbidStatus, - CreateDate = DateTime.Now, - //CreateOrg= Convert.ToDecimal(supplier.FCreateOrgId), - //UseOrg = supplier.FUseOrgId, - //Remark=supplier.fremarks, - PrivateDescSeg = supplier.PrivateDescSeg, - Company = "1000", - Factory = "1000" - }; - } - - private bool UpdateSupplierStatusBatch(SqlSugarScope db, - List<MesSupplier> supplierList, string status) - { - var ids = supplierList.Select(it => it.Id).ToArray(); var result = db.Updateable<MesSupplier>() .SetColumns(s => s.Fforbidstatus == status) .Where(s => ids.Contains(s.Id)).ExecuteCommand(); @@ -158,25 +63,86 @@ throw new NotImplementedException(status == "A" ? "鍚敤澶辫触" : "绂佺敤澶辫触"); } - private bool InsertSupplierBatch(SqlSugarScope db, - List<MesSupplier> supplierList) + private bool DeleteSupplier(List<MesSupplier> supplierId) { - var insertRange = db.Insertable(supplierList).ExecuteCommand(); - if (insertRange > 0) - return true; + var ids = supplierId.Select(it => it.Id).ToArray(); - throw new NotImplementedException("鎻掑叆澶辫触"); - } + var executeCommand = Db.Deleteable<MesSupplier>() + .Where(s => ids.Contains(s.Id)).ExecuteCommand(); - private bool DeleteSupplierBatch(SqlSugarScope db, - List<MesSupplier> supplierList) - { - var ids = supplierList.Select(it => it.Id).ToArray(); - var deleteByIds = db.Deleteable<MesSupplier>().In(ids).ExecuteCommand(); - if (deleteByIds > 0) - return true; + if (executeCommand > 0) return true; throw new NotImplementedException("鍒犻櫎澶辫触"); + } + + private List<MesSupplier> GetMesSupplier(ErpSupplier supplier) + { + List<MesSupplier> list = new List<MesSupplier>(); + foreach (var se in supplier.FUseOrgId) + { + var exists = Db.Queryable<MesLinkU9>().Any(u => + u.U9Id == supplier.Id && u.OrgId == se.FUseOrgId && + u.TableType == "MES_SUPPLIER"); + + decimal mesId = 0; + if (exists) + { + //鑾峰彇mesid + mesId = Convert.ToDecimal(Db.Queryable<MesLinkU9>() + .Where(u => + u.U9Id == supplier.Id && u.OrgId == se.FUseOrgId && + u.TableType == "MES_SUPPLIER") + .Select(u => u.MesId) // 閫夋嫨 MesId 瀛楁 + .First()); + } + else + { + var entity = new MesLinkU9 + { + CreateDate = DateTime.Now, + MesId = mesId.ToString(), + U9Id = supplier.Id, + OrgId = se.FUseOrgId, + TableType = "MES_SUPPLIER" + }; + mesId = Db.Insertable(entity).ExecuteReturnIdentity(); + } + + var mesSupplier = new MesSupplier + { + Id = mesId, + SuppNo = supplier.FNumber, + SuppSname = supplier.FShortName, + SuppName = supplier.FName, + Lxr = supplier.FContact, + Telf1 = supplier.FTel, + Fstaffid = supplier.FStaffId, + /// <summary> + /// 鎺ュ彛瀛楁璋冩暣锛氭爣鍑嗙増鎺ュ彛鏂板 ERP鍗曟嵁鐘舵�� 瀛楁銆� + /// </summary> + /// <remarks> + /// 淇敼浜猴細<姹犲崡楠�> + /// 淇敼鏃ユ湡锛�<2024-12-28> + /// 淇敼璇存槑锛� + /// - 鍘熶唬鐮侊細绌� + /// - 淇敼鍚庯細 + ///FDOCUMENTSTATUS = supplier.FDocumentStatus, + /// </remarks> + DocumentStatus = supplier.FDocumentStatus, + Fforbidstatus = supplier.FForbidStatus, + CreateDate = DateTime.Now, + //CreateOrg= Convert.ToDecimal(supplier.FCreateOrgId), + UseOrg = se.FUseOrgId, + //Remark=supplier.fremarks, + PrivateDescSeg = supplier.PrivateDescSeg, + Company = "1000", + Factory = "1000" + }; + + list.Add(mesSupplier); + } + + return list; } /// <summary> @@ -208,24 +174,20 @@ // return false; //} ///鏂颁唬鐮� - private bool InsertOrUpdate(SqlSugarScope db, MesSupplier entity) + private bool InsertOrUpdate(SqlSugarScope db, List<MesSupplier> entity) { - db.Deleteable<MesSupplier>() - .Where(s => s.Id == entity.Id) + var ids = entity.Select(it => it.Id).ToArray(); + + var executeCommand = db.Deleteable<MesSupplier>() + .Where(s => ids.Contains(s.Id)) .ExecuteCommand(); - var insert = db.Insertable(entity).ExecuteCommand(); - return insert > 0; - } + if (executeCommand > 0) + { + var insert = db.Insertable(entity).ExecuteCommand(); + return insert > 0; + } - - private bool InsertOrUpdateBatch(SqlSugarScope db, - List<MesSupplier> supplierList) - { - foreach (var entity in supplierList) - if (!InsertOrUpdate(db, entity)) - return false; - - return true; + throw new Exception("鎿嶄綔澶辫触"); } } \ No newline at end of file -- Gitblit v1.9.3