From 8d771316d68f1523bcdf30c97d3a55107cb5ae56 Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期四, 04 九月 2025 10:53:31 +0800
Subject: [PATCH] 111

---
 MES.Service/Modes/SysDepartment.cs                    |    2 
 MES.Service/service/BasicData/MesUnitManager.cs       |    6 +-
 MES.Service/service/BasicData/MesStaffManager.cs      |   81 ++++++++++++++++++--------
 MES.Service/Modes/MesUnit.cs                          |    2 
 MES.Service/Modes/MesItems.cs                         |    4 
 MES.Service/service/BasicData/SysDepartmentManager.cs |   10 +-
 MES.Service/service/BasicData/MesCustomerManager.cs   |    7 +-
 MES.Service/service/BasicData/MesSupplierManager.cs   |    6 +-
 MES.Service/Modes/MesSupplier.cs                      |    2 
 MES.Service/Modes/MesCustomer.cs                      |    2 
 MES.Service/Modes/MesStaff.cs                         |    4 
 MES.Service/Modes/MesDepots.cs                        |    4 
 MES.Service/service/BasicData/MesDepotsManager.cs     |    8 +-
 MES.Service/service/BasicData/MesItemsManager.cs      |   12 ++--
 MES.Service/Modes/MesItemType.cs                      |    4 
 MES.Service/service/BasicData/MesItemTypeManager.cs   |    8 +-
 16 files changed, 96 insertions(+), 66 deletions(-)

diff --git a/MES.Service/Modes/MesCustomer.cs b/MES.Service/Modes/MesCustomer.cs
index d7f9cd2..1fa1188 100644
--- a/MES.Service/Modes/MesCustomer.cs
+++ b/MES.Service/Modes/MesCustomer.cs
@@ -16,7 +16,7 @@
     /// <summary>
     /// ID 
     ///</summary>
-    [SugarColumn(ColumnName = "id")]
+    [SugarColumn(ColumnName = "id", IsIdentity = true)]
     public decimal Id { get; set; }
 
     /// <summary>
diff --git a/MES.Service/Modes/MesDepots.cs b/MES.Service/Modes/MesDepots.cs
index ab5e2cf..6c250fe 100644
--- a/MES.Service/Modes/MesDepots.cs
+++ b/MES.Service/Modes/MesDepots.cs
@@ -17,8 +17,8 @@
     /// <summary>
     /// 浠撳簱ID
     /// </summary>
-    [SugarColumn(ColumnName = "depot_id", IsNullable = false)]
-    public long DepotId { get; set; }
+    [SugarColumn(ColumnName = "id", IsIdentity = true)]
+    public decimal DepotId { get; set; }
 
     /// <summary>
     /// 浠撳簱缂栫爜
diff --git a/MES.Service/Modes/MesItemType.cs b/MES.Service/Modes/MesItemType.cs
index 5fc4b20..07917c0 100644
--- a/MES.Service/Modes/MesItemType.cs
+++ b/MES.Service/Modes/MesItemType.cs
@@ -18,8 +18,8 @@
     /// <summary>
     /// ID 
     ///</summary>
-    [SugarColumn(ColumnName = "ID")]
-    public long? Id { get; set; }
+    [SugarColumn(ColumnName = "id", IsIdentity = true)]
+    public decimal? Id { get; set; }
 
     /// <summary>
     /// 绫诲瀷缂栫爜 
diff --git a/MES.Service/Modes/MesItems.cs b/MES.Service/Modes/MesItems.cs
index 104fac4..b289f63 100644
--- a/MES.Service/Modes/MesItems.cs
+++ b/MES.Service/Modes/MesItems.cs
@@ -18,8 +18,8 @@
     /// <summary>
     /// 鐗╂枡ID 
     ///</summary>
-    [SugarColumn(ColumnName = "id")]
-    public long Id { get; set; }
+    [SugarColumn(ColumnName = "id", IsIdentity = true)]
+    public decimal Id { get; set; }
 
     /// <summary>
     /// 宸ュ巶 
diff --git a/MES.Service/Modes/MesStaff.cs b/MES.Service/Modes/MesStaff.cs
index c436289..61c6877 100644
--- a/MES.Service/Modes/MesStaff.cs
+++ b/MES.Service/Modes/MesStaff.cs
@@ -18,8 +18,8 @@
     /// <summary>
     /// ID 
     ///</summary>
-    [SugarColumn(ColumnName = "id")]
-    public decimal Id { get; set; }
+    [SugarColumn(ColumnName = "id", IsIdentity = true)]
+    public decimal? Id { get; set; }
 
     /// <summary>
     /// 鍛樺伐缂栫爜 
diff --git a/MES.Service/Modes/MesSupplier.cs b/MES.Service/Modes/MesSupplier.cs
index 6ef30ec..0a09bd8 100644
--- a/MES.Service/Modes/MesSupplier.cs
+++ b/MES.Service/Modes/MesSupplier.cs
@@ -18,7 +18,7 @@
     /// <summary>
     /// ID 
     ///</summary>
-    [SugarColumn(ColumnName = "id")]
+    [SugarColumn(ColumnName = "id", IsIdentity = true)]
     public decimal Id { get; set; }
 
     /// <summary>
diff --git a/MES.Service/Modes/MesUnit.cs b/MES.Service/Modes/MesUnit.cs
index 9ea8e2a..c5ae5b6 100644
--- a/MES.Service/Modes/MesUnit.cs
+++ b/MES.Service/Modes/MesUnit.cs
@@ -18,7 +18,7 @@
     /// <summary>
     /// BASEINFO 
     ///</summary>
-    [SugarColumn(ColumnName = "id")]
+    [SugarColumn(ColumnName = "id", IsIdentity = true)]
     public decimal Id { get; set; }
 
     /// <summary>
diff --git a/MES.Service/Modes/SysDepartment.cs b/MES.Service/Modes/SysDepartment.cs
index f209d1f..7d90454 100644
--- a/MES.Service/Modes/SysDepartment.cs
+++ b/MES.Service/Modes/SysDepartment.cs
@@ -125,7 +125,7 @@
     /// <summary>
     /// 閮ㄩ棬id 
     ///</summary>
-    [SugarColumn(ColumnName = "id")]
+    [SugarColumn(ColumnName = "id", IsIdentity = true)]
     public decimal Id { get; set; }
 
     /// <summary>
diff --git a/MES.Service/service/BasicData/MesCustomerManager.cs b/MES.Service/service/BasicData/MesCustomerManager.cs
index 56600d6..856f146 100644
--- a/MES.Service/service/BasicData/MesCustomerManager.cs
+++ b/MES.Service/service/BasicData/MesCustomerManager.cs
@@ -101,9 +101,10 @@
 
         var entity = new MesCustomer
         {
-            Id = string.IsNullOrEmpty(customer.Id)
-                ? DateTimeOffset.UtcNow.ToUnixTimeSeconds()
-                : Convert.ToDecimal(customer.Id),
+            // Id = string.IsNullOrEmpty(customer.Id)
+            //     ? DateTimeOffset.UtcNow.ToUnixTimeSeconds()
+            //     : Convert.ToDecimal(customer.Id),
+            
             CustNo = customer.FNumber,
             CustSname = customer.FShortName,
             CustName = customer.FName,
diff --git a/MES.Service/service/BasicData/MesDepotsManager.cs b/MES.Service/service/BasicData/MesDepotsManager.cs
index e18f558..eb746d6 100644
--- a/MES.Service/service/BasicData/MesDepotsManager.cs
+++ b/MES.Service/service/BasicData/MesDepotsManager.cs
@@ -42,7 +42,7 @@
     }
 
     // 鏇存柊浠撳簱鐘舵�佺殑鏂规硶
-    private bool UpdateDepotStatus(SqlSugarScope db, long depotId,
+    private bool UpdateDepotStatus(SqlSugarScope db, decimal depotId,
         string status)
     {
         var result = db.Updateable<MesDepots>()
@@ -93,9 +93,9 @@
         {
             DepotCode = depots.FNumber,
             DepotName = depots.FName,
-            DepotId = string.IsNullOrEmpty(depots.Id)
-                ? DateTimeOffset.UtcNow.ToUnixTimeSeconds()
-                : Convert.ToInt32(depots.Id),
+            // DepotId = string.IsNullOrEmpty(depots.Id)
+            //     ? DateTimeOffset.UtcNow.ToUnixTimeSeconds()
+            //     : Convert.ToInt32(depots.Id),
             IsFkc = depots.FAllowMinusQty,
             CreateBy = depots.FPrincipal,
             Depottype = depots.FStockProperty,
diff --git a/MES.Service/service/BasicData/MesItemTypeManager.cs b/MES.Service/service/BasicData/MesItemTypeManager.cs
index 3b5043c..6736c56 100644
--- a/MES.Service/service/BasicData/MesItemTypeManager.cs
+++ b/MES.Service/service/BasicData/MesItemTypeManager.cs
@@ -51,7 +51,7 @@
         throw new NotImplementedException("鎻掑叆澶辫触");
     }
 
-    private bool DeleteItemType(long? id)
+    private bool DeleteItemType(decimal? id)
     {
         var deleteById = Db.Deleteable<MesItemType>()
             .Where(it => it.Id == id).ExecuteCommand();
@@ -65,9 +65,9 @@
     {
         var entity = new MesItemType
         {
-            Id = string.IsNullOrEmpty(department.Id)
-                ? DateTimeOffset.UtcNow.ToUnixTimeSeconds()
-                : long.Parse(department.Id),
+            // Id = string.IsNullOrEmpty(department.Id)
+            //     ? DateTimeOffset.UtcNow.ToUnixTimeSeconds()
+            //     : long.Parse(department.Id),
             Pgroup = department.FParentId,
             Tcode = department.FNumber,
             Tname = department.FName,
diff --git a/MES.Service/service/BasicData/MesItemsManager.cs b/MES.Service/service/BasicData/MesItemsManager.cs
index 87bbcf5..7ba11c5 100644
--- a/MES.Service/service/BasicData/MesItemsManager.cs
+++ b/MES.Service/service/BasicData/MesItemsManager.cs
@@ -89,12 +89,12 @@
 
     private MesItems GetMesItems(ErpItems item)
     {
-        var id = string.IsNullOrEmpty(item.Id)
-            ? DateTimeOffset.UtcNow.ToUnixTimeSeconds()
-            : long.Parse(item.Id);
+        // var id = string.IsNullOrEmpty(item.Id)
+        //     ? DateTimeOffset.UtcNow.ToUnixTimeSeconds()
+        //     : long.Parse(item.Id);
         var entity = new MesItems
         {
-            Id = id,
+            // Id = id,
             Type = item.Type,
             ItemNo = item.FNumber,
             ItemName = item.FName,
@@ -138,8 +138,8 @@
             LossPercent = item.FLOSSPERCENT,
             MnemonicCode = item.FMnemonicCode,
             ExpPeriod = item.FExpPeriod,
-            EItemId = id,
-            ItemId = id,
+            // EItemId = id,
+            // ItemId = id,
             LastupdateDate = DateTime.Now,
             CreateDate = DateTime.Now,
             Company = "1000",
diff --git a/MES.Service/service/BasicData/MesStaffManager.cs b/MES.Service/service/BasicData/MesStaffManager.cs
index b9276bd..102faab 100644
--- a/MES.Service/service/BasicData/MesStaffManager.cs
+++ b/MES.Service/service/BasicData/MesStaffManager.cs
@@ -346,8 +346,6 @@
         if (unit == null) throw new ArgumentNullException(nameof(unit));
 
         var entity = GetMesStaff(unit);
-        unit.Id = entity.Id.ToString();
-        var sysUser = GetUser(unit);
         //var mesStaffPositionLink = GetMesStaffPositionLink(unit);
         List<MesStaffPositionLink> mesStaffPositionLink = null;
 
@@ -359,19 +357,54 @@
                 case "1": return UpdateStaffStatus(db, entity.Id, "B") ? 1 : 0;
                 case "2":
                 case "4":
-                    return InsertOrUpdateStaff(db,
-                        new List<SysUser> { sysUser },
-                        new List<MesStaff> { entity }, mesStaffPositionLink)
-                        ? 1
-                        : 0;
+                    // return InsertOrUpdateStaff(db,
+                    //     new List<SysUser> { sysUser },
+                    //     new List<MesStaff> { entity }, mesStaffPositionLink)
+                    //     ? 1
+                    //     : 0;
+                    return InsertUser(db, entity) ? 1 : 0;
                 case "3":
-                    return DeleteStaff(db, new List<SysUser> { sysUser },
-                        new List<MesStaff> { entity })
-                        ? 1
-                        : 0;
+                    // return DeleteStaff(db, new List<SysUser> { sysUser },
+                    //     new List<MesStaff> { entity })
+                    //     ? 1
+                    //     : 0;
+                    return DeleteStaff(db, entity) ? 1 : 0;
                 default: throw new ArgumentException($"涓嶆敮鎸佺殑绫诲瀷: {unit.Type}");
             }
         }) > 0;
+    }
+
+    private bool InsertUser(SqlSugarScope db, MesStaff entity)
+    {
+        db.Deleteable<MesStaff>()
+            .Where(s => s.Id == entity.Id)
+            .ExecuteCommand();
+
+        db.Deleteable<SysUser>()
+            .Where(s => s.StaffId == entity.Id.ToString())
+            .ExecuteCommand();
+
+        var sysUser = GetUser(entity);
+        if (entity.Id == null)
+        {
+            var id = db.Insertable<MesStaff>(entity).ExecuteReturnIdentity();
+            sysUser.StaffId = id.ToString();
+        }
+
+        return db.Insertable(sysUser).ExecuteCommand() > 0;
+    }
+
+    private bool DeleteStaff(SqlSugarScope db, MesStaff entity)
+    {
+        var executeCommand = db.Deleteable<MesStaff>()
+            .Where(s => s.Id == entity.Id)
+            .ExecuteCommand();
+
+        db.Deleteable<SysUser>()
+            .Where(s => s.StaffId == entity.Id.ToString())
+            .ExecuteCommand();
+
+        return executeCommand > 0;
     }
 
     // 淇濆瓨澶氫釜鍛樺伐璁板綍
@@ -545,7 +578,7 @@
     }
 
     // 鏇存柊鍛樺伐鐘舵��
-    private bool UpdateStaffStatus(SqlSugarScope db, decimal staffId,
+    private bool UpdateStaffStatus(SqlSugarScope db, decimal? staffId,
         string status)
     {
         var result = db.Updateable<MesStaff>()
@@ -578,9 +611,9 @@
         {
             var entity = new MesStaff
             {
-                Id = string.IsNullOrEmpty(staff.Id)
-                    ? DateTimeOffset.UtcNow.ToUnixTimeSeconds()
-                    : Convert.ToDecimal(staff.Id),
+                // Id = string.IsNullOrEmpty(staff.Id)
+                //     ? DateTimeOffset.UtcNow.ToUnixTimeSeconds()
+                //     : Convert.ToDecimal(staff.Id),
                 StaffNo = staff.FStaffNumber,
                 StaffName = staff.FName,
                 DepartmentName = staff.FPostDept,
@@ -626,30 +659,26 @@
     }
 
     // 灏� ErpStaff 瀵硅薄杞崲涓� SysUser 瀵硅薄
-    private SysUser GetUser(ErpStaff staff)
+    private SysUser GetUser(MesStaff entity)
     {
-        if (staff == null) throw new ArgumentNullException(nameof(staff));
+        if (entity == null) throw new ArgumentNullException(nameof(entity));
 
         try
         {
             return new SysUser
             {
-                StaffId = staff.Id, // 纭繚Sid涓庡憳宸D涓�鑷�
+                StaffId = entity.Id.ToString(), // 纭繚Sid涓庡憳宸D涓�鑷�
                 IsStatus = true,
-                Account = staff.FStaffNumber,
-                UserName = staff.FName,
+                Account = entity.StaffNo,
+                UserName = entity.StaffName,
                 Password = "E1ADC3949BA59ABBE56E057F2F883E", // 鍒濆瀵嗙爜
-                DepartNo = staff.FPostDept,
-                Type = staff.Type,
+                DepartNo = entity.DepartmentName,
                 CreateTime = DateTime.Now
             };
         }
         catch (Exception ex)
         {
-            Console.WriteLine($"杞崲ErpStaff鍒癝ysUser澶辫触: {ex.Message}");
-            Console.WriteLine(
-                $"杈撳叆鏁版嵁: {staff.Id}, {staff.FStaffNumber}, {staff.FName}");
-            throw;
+            throw new NotImplementedException(ex.Message);
         }
     }
 
diff --git a/MES.Service/service/BasicData/MesSupplierManager.cs b/MES.Service/service/BasicData/MesSupplierManager.cs
index bec3b07..6a1aa6a 100644
--- a/MES.Service/service/BasicData/MesSupplierManager.cs
+++ b/MES.Service/service/BasicData/MesSupplierManager.cs
@@ -90,9 +90,9 @@
     {
         var entity = new MesSupplier
         {
-            Id = string.IsNullOrEmpty(supplier.Id)
-                ? DateTimeOffset.UtcNow.ToUnixTimeSeconds()
-                : Convert.ToDecimal(supplier.Id),
+            // Id = string.IsNullOrEmpty(supplier.Id)
+            //     ? DateTimeOffset.UtcNow.ToUnixTimeSeconds()
+            //     : Convert.ToDecimal(supplier.Id),
             Type = supplier.Type,
             SuppNo = supplier.FNumber,
             SuppSname = supplier.FShortName,
diff --git a/MES.Service/service/BasicData/MesUnitManager.cs b/MES.Service/service/BasicData/MesUnitManager.cs
index eaa66e3..7f6058d 100644
--- a/MES.Service/service/BasicData/MesUnitManager.cs
+++ b/MES.Service/service/BasicData/MesUnitManager.cs
@@ -100,9 +100,9 @@
 
         var entity = new MesUnit
         {
-            Id = string.IsNullOrEmpty(unit.Id)
-                ? DateTimeOffset.UtcNow.ToUnixTimeSeconds()
-                : Convert.ToDecimal(unit.Id),
+            // Id = string.IsNullOrEmpty(unit.Id)
+            //     ? DateTimeOffset.UtcNow.ToUnixTimeSeconds()
+            //     : Convert.ToDecimal(unit.Id),
             Fnumber = unit.FNumber,
             Fname = unit.FName,
             Funitgroupid = unit.FUnitGroupId,
diff --git a/MES.Service/service/BasicData/SysDepartmentManager.cs b/MES.Service/service/BasicData/SysDepartmentManager.cs
index 2b87924..91c9b8b 100644
--- a/MES.Service/service/BasicData/SysDepartmentManager.cs
+++ b/MES.Service/service/BasicData/SysDepartmentManager.cs
@@ -94,9 +94,9 @@
     // 灏� ErpDepartment 瀵硅薄杞崲涓� SysDepartment 瀵硅薄鐨勬柟娉�
     private SysDepartment GetSysDepartment(ErpDepartment department)
     {
-        var unixTimeSeconds = string.IsNullOrEmpty(department.Id)
-            ? DateTimeOffset.UtcNow.ToUnixTimeSeconds()
-            : Convert.ToDecimal(department.Id);
+        // var unixTimeSeconds = string.IsNullOrEmpty(department.Id)
+        //     ? DateTimeOffset.UtcNow.ToUnixTimeSeconds()
+        //     : Convert.ToDecimal(department.Id);
 
         var fForbidStatus = department.FForbidStatus;
         if (department.FForbidStatus == "0")
@@ -112,8 +112,8 @@
         {
             Departmentcode = department.FNumber,
             Departmentname = department.FName,
-            Departmentid = unixTimeSeconds,
-            Id = unixTimeSeconds,
+            // Departmentid = unixTimeSeconds,
+            // Id = unixTimeSeconds,
             Depextr1 = department.FDeptProperty,
             Depextr2 = department.FGroup,
             Depextr3 = department.FWIPStockID,

--
Gitblit v1.9.3