1.改造客户信息接口,将组织id变为单据体
2.修改处理数据方法,有一个组织id就有几条数据,并插入。
已添加2个文件
已修改5个文件
176 ■■■■ 文件已修改
StandardPda/MES.Service/Dto/webApi/ErpCustomer.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardPda/MES.Service/Modes/MesCustomer.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardPda/MES.Service/Modes/MesLinkU9.cs 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardPda/MES.Service/service/BasicData/MesCustomerManager.cs 64 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardPda/MES.Service/util/GetSeqUtil.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardPda/MESApplication/Controllers/BasicData/MesCustomerController.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardPda/MESApplication/appsettings.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
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; }
}
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; }
}
StandardPda/MES.Service/Modes/MesLinkU9.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,40 @@
using SqlSugar;
namespace MES.Service.Modes;
/// <summary>
/// MES与U9系统的链接表
/// </summary>
[SugarTable("MES_LINK_U9")]
public class MesLinkU9
{
    /// <summary>
    /// MES系统的ID
    /// </summary>
    [SugarColumn(ColumnName = "MES_ID")]
    public string? MesId { get; set; }
    /// <summary>
    /// U9系统的ID
    /// </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; }
}
StandardPda/MES.Service/service/BasicData/MesCustomerManager.cs
@@ -1,7 +1,9 @@
using 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,
StandardPda/MES.Service/util/GetSeqUtil.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,26 @@
using MES.Service.DB;
namespace MES.Service.util;
public class GetSeqUtil
{
    /**
     * åˆ¤æ–­å­—符串是否为空
     * ä¸ºç©ºæ—¶è¿”回true
     */
    public static Decimal GetSeq(string? seqName)
    {
        var db = SqlSugarHelper.GetInstance();
        string sequenceName = $"{seqName}.NEXTVAL"; // æ³¨æ„è¿™é‡Œç›´æŽ¥ä½¿ç”¨äº†NEXTVAL来获取下一个值
        // ç”±äºŽSQLSugar不直接支持序列调用作为参数,我们需要构造一个SQL语句
        string sql = $"SELECT {sequenceName} FROM DUAL"; // DUAL是Oracle中的一个虚拟表,用于从不需要实际表的函数或表达式中选择数据
        // æ‰§è¡ŒåŽŸç”ŸSQL语句并获取结果
        Decimal result = Convert.ToDecimal( db.Ado.GetScalar(sql));
        return result;
    }
}
StandardPda/MESApplication/Controllers/BasicData/MesCustomerController.cs
@@ -1,4 +1,5 @@
using 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();
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"
  }
}