From 5141cb46c3e277e58ea71d3d99b116ca816974e1 Mon Sep 17 00:00:00 2001 From: 南骏 池 <chiffly@163.com> Date: 星期一, 20 一月 2025 01:20:32 +0800 Subject: [PATCH] 1.改造客户信息接口,将组织id变为单据体 2.修改处理数据方法,有一个组织id就有几条数据,并插入。 --- StandardPda/MES.Service/Modes/MesLinkU9.cs | 40 +++++++++++++ StandardPda/MES.Service/util/GetSeqUtil.cs | 26 ++++++++ StandardPda/MESApplication/appsettings.json | 2 StandardPda/MESApplication/Controllers/BasicData/MesCustomerController.cs | 3 + StandardPda/MES.Service/Dto/webApi/ErpCustomer.cs | 25 +++----- StandardPda/MES.Service/Modes/MesCustomer.cs | 16 +++- StandardPda/MES.Service/service/BasicData/MesCustomerManager.cs | 64 +++++++++++---------- 7 files changed, 124 insertions(+), 52 deletions(-) diff --git a/StandardPda/MES.Service/Dto/webApi/ErpCustomer.cs b/StandardPda/MES.Service/Dto/webApi/ErpCustomer.cs index d6d588a..cb8cf44 100644 --- a/StandardPda/MES.Service/Dto/webApi/ErpCustomer.cs +++ b/StandardPda/MES.Service/Dto/webApi/ErpCustomer.cs @@ -10,22 +10,15 @@ public string? FContact { get; set; } public string? FMobilephone { get; set; } public string? FSeller { get; set; } - /// <summary> - /// 鎺ュ彛瀛楁璋冩暣锛氭爣鍑嗙増鎺ュ彛鏂板 ERP鍗曟嵁鐘舵�� 瀛楁銆� - /// </summary> - /// <remarks> - /// 淇敼浜猴細<姹犲崡楠�> - /// 淇敼鏃ユ湡锛�<2024-12-27> - /// 淇敼璇存槑锛� - /// - 鍘熶唬鐮侊細绌� - /// - 淇敼鍚庯細 - ///public string? FDocumentStatus { get; set; } - /// </remarks> - public string? FDocumentStatus { get; set; } + public string? State { get; set; } public string? FForbidStatus { get; set; } - public string? FCreateOrgId { get; set; } - public string? FUseOrgId { get; set; } - //public string? FDescription { get; set; } - public string? fremarks { get; set; } + public List<ErpDetail>? ErpDetails { get; set; } + +} + +public class ErpDetail +{ + public string? FUseOrgId { get; set; } + } \ No newline at end of file diff --git a/StandardPda/MES.Service/Modes/MesCustomer.cs b/StandardPda/MES.Service/Modes/MesCustomer.cs index 67380ae..7503cc6 100644 --- a/StandardPda/MES.Service/Modes/MesCustomer.cs +++ b/StandardPda/MES.Service/Modes/MesCustomer.cs @@ -172,11 +172,11 @@ [SugarColumn(ColumnName = "USE_ORG")] public decimal? UseOrg { get; set; } - /// <summary> - /// 鑷畾涔夊瓧娈�3 - /// </summary> - [SugarColumn(ColumnName = "REMARK3")] - public string? Remark3 { get; set; } + ///// <summary> + ///// 鑷畾涔夊瓧娈�3 + ///// </summary> + //[SugarColumn(ColumnName = "REMARK3")] + //public string? Remark3 { get; set; } /// <summary> /// 鑷畾涔夊瓧娈�4 @@ -190,5 +190,11 @@ [SugarColumn(ColumnName = "REMARK5")] public string? Remark5 { get; set; } + /// <summary> + /// 瀹㈡埛鐘舵�� + /// </summary> + [SugarColumn(ColumnName = "CUSTOMER_STATE")] + public string? CUSTOMER_STATE { get; set; } + [SugarColumn(IsIgnore = true)] public string? Type { get; set; } } \ No newline at end of file diff --git a/StandardPda/MES.Service/Modes/MesLinkU9.cs b/StandardPda/MES.Service/Modes/MesLinkU9.cs new file mode 100644 index 0000000..4706cd1 --- /dev/null +++ b/StandardPda/MES.Service/Modes/MesLinkU9.cs @@ -0,0 +1,40 @@ +锘縰sing SqlSugar; + +namespace MES.Service.Modes; + +/// <summary> +/// MES涓嶶9绯荤粺鐨勯摼鎺ヨ〃 +/// </summary> +[SugarTable("MES_LINK_U9")] +public class MesLinkU9 +{ + /// <summary> + /// MES绯荤粺鐨処D + /// </summary> + [SugarColumn(ColumnName = "MES_ID")] + public string? MesId { get; set; } + + /// <summary> + /// U9绯荤粺鐨処D + /// </summary> + [SugarColumn(ColumnName = "U9_ID")] + public string? U9Id { get; set; } + + /// <summary> + /// 缁勭粐ID + /// </summary> + [SugarColumn(ColumnName = "ORG_ID")] + public string? OrgId { get; set; } + + /// <summary> + /// 琛ㄧ被鍨� + /// </summary> + [SugarColumn(ColumnName = "TABLE_TYPE")] + public string? TableType { get; set; } + + /// <summary> + /// 鍒涘缓鏃ユ湡 + /// </summary> + [SugarColumn(ColumnName = "CREATE_DATE")] + public DateTime? CreateDate { get; set; } +} \ No newline at end of file diff --git a/StandardPda/MES.Service/service/BasicData/MesCustomerManager.cs b/StandardPda/MES.Service/service/BasicData/MesCustomerManager.cs index d771095..c58718f 100644 --- a/StandardPda/MES.Service/service/BasicData/MesCustomerManager.cs +++ b/StandardPda/MES.Service/service/BasicData/MesCustomerManager.cs @@ -1,7 +1,9 @@ 锘縰sing MES.Service.DB; using MES.Service.Dto.webApi; using MES.Service.Modes; +using MES.Service.util; using SqlSugar; +using System.Collections.Generic; namespace MES.Service.service.BasicData; @@ -16,20 +18,20 @@ switch (customer.Type) { case "0": - if (UpdateCustomerStatus(db, entity.Id, "A")) + if (UpdateCustomerStatusBatch(db, entity, "A")) return 1; break; case "1": - if (UpdateCustomerStatus(db, entity.Id, "B")) + if (UpdateCustomerStatusBatch(db, entity, "B")) return 1; break; case "3": - if (DeleteCustomer(db, entity.Id)) + if (DeleteCustomerBatch(db, entity)) return 1; break; case "2": case "4": - if (InsertOrUpdate(db, entity)) + if (InsertOrUpdateBatch(db, entity)) return 1; break; default: @@ -43,8 +45,20 @@ public bool SaveList(List<ErpCustomer> customers) { - var list = customers.Select(GetSysDepartment).ToList(); - var groupBy = list.GroupBy(s => s.Type) + //var list = customers.Select(GetSysDepartment).ToList(); + + //鍥犱负U9鐨勬ā寮忥紝浼氬鑷村缁勭粐鐨勫熀纭�鏁版嵁琚鐞嗘垚List<>,鎵�浠ラ渶瑕佷慨鏀规柟娉曪紝SaveLits涓簲璇ユ槸鎶婂崟鏉″鐞嗗嚭鏉ョ殑List鏁版嵁鍔犺捣鏉ワ紝鑰屼笉鏄箣鍓嶇殑鏂规硶澶勭悊銆� + List<MesCustomer> mes_customers = new List<MesCustomer>(); + foreach (ErpCustomer customer in customers) + { + var mesCustomerList = GetSysDepartment(customer); + if (mesCustomerList != null) + { + mes_customers.AddRange(mesCustomerList); + } + } + + var groupBy = mes_customers.GroupBy(s => s.Type) .ToDictionary(g => g.Key, g => g.ToList()); return UseTransaction(db => @@ -110,39 +124,29 @@ throw new NotImplementedException("鍒犻櫎澶辫触"); } - private MesCustomer GetSysDepartment(ErpCustomer customer) + private List<MesCustomer> GetSysDepartment(ErpCustomer customer) { - return new MesCustomer + //var db = SqlSugarHelper.GetInstance(); + //var id = db.Insertable(insertObj).ExecuteReturnIdentity(); + + List<MesCustomer> customers = new List<MesCustomer>(); + + customers = customer.ErpDetails.Select(ErpDetails => new MesCustomer { - Id = Convert.ToDecimal(customer.Id), + Id = GetSeqUtil.GetSeq("U9_MES_ID"), CustNo = customer.FNumber, CustSname = customer.FShortName, CustName = customer.FName, Anred = customer.FContact, Telf1 = customer.FMobilephone, Fseller = customer.FSeller, - - /// <summary> - /// 鎺ュ彛瀛楁璋冩暣锛氭爣鍑嗙増鎺ュ彛鏂板 ERP鍗曟嵁鐘舵�� 瀛楁銆� - /// </summary> - /// <remarks> - /// 淇敼浜猴細<姹犲崡楠�> - /// 淇敼鏃ユ湡锛�<2024-12-27> - /// 淇敼璇存槑锛� - /// - 鍘熶唬鐮侊細绌� - /// - 淇敼鍚庯細 - ///FDOCUMENTSTATUS = customer.FDocumentStatus, - /// </remarks> - FDOCUMENTSTATUS = customer.FDocumentStatus, - + CUSTOMER_STATE = customer.State, Fforbidstatus = customer.FForbidStatus, - Remark = customer.fremarks, - CreateDate = DateTime.Now, - CreateOrg= Convert.ToDecimal(customer.FCreateOrgId), - UseOrg= Convert.ToDecimal(customer.FUseOrgId), - Company = "1000", - Factory = "1000" - }; + UseOrg = Convert.ToDecimal(ErpDetails.FUseOrgId), + + }).ToList(); + + return customers; } private bool UpdateCustomerStatusBatch(SqlSugarScope db, diff --git a/StandardPda/MES.Service/util/GetSeqUtil.cs b/StandardPda/MES.Service/util/GetSeqUtil.cs new file mode 100644 index 0000000..712e6a6 --- /dev/null +++ b/StandardPda/MES.Service/util/GetSeqUtil.cs @@ -0,0 +1,26 @@ +锘縰sing MES.Service.DB; + +namespace MES.Service.util; + +public class GetSeqUtil +{ + /** + * 鍒ゆ柇瀛楃涓叉槸鍚︿负绌� + * 涓虹┖鏃惰繑鍥瀟rue + */ + public static Decimal GetSeq(string? seqName) + { + var db = SqlSugarHelper.GetInstance(); + string sequenceName = $"{seqName}.NEXTVAL"; // 娉ㄦ剰杩欓噷鐩存帴浣跨敤浜哊EXTVAL鏉ヨ幏鍙栦笅涓�涓�� + + // 鐢变簬SQLSugar涓嶇洿鎺ユ敮鎸佸簭鍒楄皟鐢ㄤ綔涓哄弬鏁帮紝鎴戜滑闇�瑕佹瀯閫犱竴涓猄QL璇彞 + string sql = $"SELECT {sequenceName} FROM DUAL"; // DUAL鏄疧racle涓殑涓�涓櫄鎷熻〃锛岀敤浜庝粠涓嶉渶瑕佸疄闄呰〃鐨勫嚱鏁版垨琛ㄨ揪寮忎腑閫夋嫨鏁版嵁 + + // 鎵ц鍘熺敓SQL璇彞骞惰幏鍙栫粨鏋� + Decimal result = Convert.ToDecimal( db.Ado.GetScalar(sql)); + + return result; + } + + +} \ No newline at end of file diff --git a/StandardPda/MESApplication/Controllers/BasicData/MesCustomerController.cs b/StandardPda/MESApplication/Controllers/BasicData/MesCustomerController.cs index 6d08d50..65fe980 100644 --- a/StandardPda/MESApplication/Controllers/BasicData/MesCustomerController.cs +++ b/StandardPda/MESApplication/Controllers/BasicData/MesCustomerController.cs @@ -1,4 +1,5 @@ 锘縰sing System.Dynamic; +using Masuit.Tools; using MES.Service.Dto.webApi; using MES.Service.Modes; using MES.Service.service; @@ -32,6 +33,7 @@ entity.Data = JsonConvert.SerializeObject(unit); entity.Status = 1; entity.CreateBy = "PL017"; + entity.Route = unit.FNumber; try { dynamic resultInfos = new ExpandoObject(); @@ -75,6 +77,7 @@ entity.Data = JsonConvert.SerializeObject(units); entity.Status = 1; entity.CreateBy = "PL017"; + entity.Route = units.Select(it => it.FNumber).Join(","); try { dynamic resultInfos = new ExpandoObject(); diff --git a/StandardPda/MESApplication/appsettings.json b/StandardPda/MESApplication/appsettings.json index bf08a20..02d37db 100644 --- a/StandardPda/MESApplication/appsettings.json +++ b/StandardPda/MESApplication/appsettings.json @@ -10,6 +10,6 @@ "AppSettings": { "TestErpUrl": "http://192.168.11.120:8098/WebService1.asmx/mesToErpinfo", "ProductionErpUrl": "http://192.168.11.120:8098/WebService1.asmx/mesToErpinfoFormal", - "DataBaseConn": "Data Source = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.104)(PORT = 1521))(CONNECT_DATA = (SERVICE_NAME = ORCL))); Persist Security Info=True;User ID = zmz_prd; Password=zmzprd" + "DataBaseConn": "Data Source = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 122.226.249.238 )(PORT = 5936))(CONNECT_DATA = (SERVICE_NAME = ORCL))); Persist Security Info=True;User ID = zmz_prd; Password=zmzprd" } } -- Gitblit v1.9.3