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