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