From c6d9fc76d16c944e64d6490eb2a6d866fd7a38f0 Mon Sep 17 00:00:00 2001
From: tjx <t2856754968@163.com>
Date: 星期三, 12 十一月 2025 09:06:01 +0800
Subject: [PATCH] 11
---
MES.Service/service/BasicData/SysDepartmentManager.cs | 162 +++++++++++++++++++++--------------------------------
1 files changed, 65 insertions(+), 97 deletions(-)
diff --git a/MES.Service/service/BasicData/SysDepartmentManager.cs b/MES.Service/service/BasicData/SysDepartmentManager.cs
index 5410fdb..5fda40f 100644
--- a/MES.Service/service/BasicData/SysDepartmentManager.cs
+++ b/MES.Service/service/BasicData/SysDepartmentManager.cs
@@ -1,4 +1,5 @@
-锘縰sing MES.Service.DB;
+锘縰sing Castle.Core.Resource;
+using MES.Service.DB;
using MES.Service.Dto.webApi;
using MES.Service.Modes;
using SqlSugar;
@@ -32,7 +33,7 @@
return 1;
break;
case "3":
- if (DeleteDepartment(db, entity.Id)) // 鍒犻櫎閮ㄩ棬
+ if (UpdateDepartmentStatus(db, entity.Id, "B")) // 绂佺敤閮ㄩ棬
return 1;
break;
case "4":
@@ -40,8 +41,7 @@
return 1;
break;
default:
- throw new ArgumentNullException(
- $"type娌℃湁{department.Type}杩欎釜绫诲瀷鐨勫弬鏁�");
+ throw new ArgumentNullException($"type娌℃湁{department.Type}杩欎釜绫诲瀷鐨勫弬鏁�");
}
throw new NotImplementedException("鎿嶄綔澶辫触");
@@ -49,59 +49,56 @@
}
// 鏇存柊閮ㄩ棬鐘舵�佺殑鏂规硶
- private bool UpdateDepartmentStatus(SqlSugarScope db, decimal departmentId,
- string status)
+ private bool UpdateDepartmentStatus(SqlSugarScope db, decimal departmentId,string status)
{
- var result = db.Updateable<SysDepartment>()
- .SetColumns(s => s.Depextr4 == status)
- .Where(s => s.Id == departmentId).ExecuteCommand();
-
- if (result > 0)
- return true;
-
- throw new NotImplementedException(status == "A" ? "鍚敤澶辫触" : "绂佺敤澶辫触");
+ var result = db.Updateable<SysDepartment>().SetColumns(s => s.Depextr4 == status).Where(s => s.Id == departmentId).ExecuteCommand();
+ return true;
}
// 鎻掑叆鏂伴儴闂ㄧ殑鏂规硶
private bool InsertDepartment(SqlSugarScope db, SysDepartment entity)
{
- var insert = db.Insertable(entity).ExecuteCommand();
- if (insert > 0)
- return true;
-
- throw new NotImplementedException("鎻掑叆澶辫触");
- }
-
- // 鍒犻櫎閮ㄩ棬鐨勬柟娉�
- private bool DeleteDepartment(SqlSugarScope db, decimal departmentId)
- {
- var deleteById = db.Deleteable<SysDepartment>().In(departmentId)
- .ExecuteCommand();
- if (deleteById > 0)
- return true;
-
- throw new NotImplementedException("鍒犻櫎澶辫触");
- }
-
- // 鎻掑叆鎴栨洿鏂伴儴闂ㄧ殑鏂规硶
- private bool InsertOrUpdateDepartment(SqlSugarScope db,
- SysDepartment entity)
- {
- var exists = db.Queryable<SysDepartment>().Any(e => e.Id == entity.Id);
+ var exists = db.Queryable<SysDepartment>().Any(e => e.Id == entity.Id && e.Departmentcode==entity.Departmentcode);
if (exists)
{
- var update = db.Updateable(entity).ExecuteCommand();
- if (update > 0)
- return true;
+ var result = db.Updateable(entity).Where(e => e.Id == entity.Id && e.Departmentcode == entity.Departmentcode).ExecuteCommand();
+ return true;
}
else
{
var insert = db.Insertable(entity).ExecuteCommand();
if (insert > 0)
+ {
return true;
+ }
+ else
+ {
+ throw new NotImplementedException("鎻掑叆澶辫触");
+ }
}
+ }
- return false;
+ // 鎻掑叆鎴栨洿鏂伴儴闂ㄧ殑鏂规硶
+ private bool InsertOrUpdateDepartment(SqlSugarScope db,SysDepartment entity)
+ {
+ var exists = db.Queryable<SysDepartment>().Any(e => e.Id == entity.Id && e.Departmentcode == entity.Departmentcode);
+ if (exists)
+ {
+ var update = db.Updateable(entity).Where(e => e.Id == entity.Id && e.Departmentcode == entity.Departmentcode).ExecuteCommand();
+ return true;
+ }
+ else
+ {
+ var insert = db.Insertable(entity).ExecuteCommand();
+ if (insert > 0)
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
}
// 灏� ErpDepartment 瀵硅薄杞崲涓� SysDepartment 瀵硅薄鐨勬柟娉�
@@ -109,10 +106,10 @@
{
return new SysDepartment
{
+ Id = Convert.ToDecimal(department.Id),
Departmentcode = department.FNumber,
Departmentname = department.FName,
Departmentid = Convert.ToDecimal(department.Id),
- Id = Convert.ToDecimal(department.Id),
Depextr1 = department.FDeptProperty,
Depextr2 = department.FGroup,
Depextr3 = department.FWIPStockID,
@@ -129,50 +126,37 @@
// SaveList 鏂规硶鐢ㄤ簬淇濆瓨澶氫釜閮ㄩ棬璁板綍锛屾牴鎹被鍨嬫壒閲忔墽琛屼笉鍚岀殑鎿嶄綔
public bool SaveList(List<ErpDepartment> departments)
{
- var list = new List<SysDepartment>();
- departments.ForEach(s =>
- {
- var entity =
- GetSysDepartment(s); // 灏� ErpDepartment 杞崲涓� SysDepartment
- entity.Type = s.Type;
- list.Add(entity);
- });
+ var list = departments.Select(GetSysDepartment).ToList();
- var groupBy = list.GroupBy(s => s.Type)
- .ToDictionary(g => g.Key, g => g.ToList());
+ var groupBy = list.GroupBy(s => s.Type).ToDictionary(g => g.Key, g => g.ToList());
+
return UseTransaction(db =>
{
foreach (var departmentGroup in groupBy)
switch (departmentGroup.Key)
{
case "0":
- if (!UpdateDepartmentStatusBatch(db,
- departmentGroup.Value, "A")) // 鎵归噺鍚敤閮ㄩ棬
+ if (!UpdateDepartmentStatusBatch(db,departmentGroup.Value, "A")) // 鎵归噺鍚敤閮ㄩ棬
throw new NotImplementedException("鍚敤澶辫触");
break;
case "1":
- if (!UpdateDepartmentStatusBatch(db,
- departmentGroup.Value, "B")) // 鎵归噺绂佺敤閮ㄩ棬
+ if (!UpdateDepartmentStatusBatch(db,departmentGroup.Value, "B")) // 鎵归噺绂佺敤閮ㄩ棬
throw new NotImplementedException("绂佺敤澶辫触");
break;
case "2":
- if (!InsertDepartmentBatch(db,
- departmentGroup.Value)) // 鎵归噺鎻掑叆閮ㄩ棬
+ if (!InsertDepartmentBatch(db,departmentGroup.Value)) // 鎵归噺鎻掑叆閮ㄩ棬
throw new NotImplementedException("鎻掑叆澶辫触");
break;
case "3":
- if (!DeleteDepartmentBatch(db,
- departmentGroup.Value)) // 鎵归噺鍒犻櫎閮ㄩ棬
+ if (!UpdateDepartmentStatusBatch(db, departmentGroup.Value, "B")) // 鎵归噺绂佺敤閮ㄩ棬
throw new NotImplementedException("鍒犻櫎澶辫触");
break;
case "4":
- if (!InsertOrUpdateDepartmentBatch(db,
- departmentGroup.Value)) // 鎵归噺鎻掑叆鎴栨洿鏂伴儴闂�
+ if (!InsertOrUpdateDepartmentBatch(db,departmentGroup.Value)) // 鎵归噺鎻掑叆鎴栨洿鏂伴儴闂�
throw new NotImplementedException("鍚屾澶辫触");
break;
default:
- throw new ArgumentNullException(
- $"type娌℃湁{departmentGroup.Key}杩欎釜绫诲瀷鐨勫弬鏁�");
+ throw new ArgumentNullException($"type娌℃湁{departmentGroup.Key}杩欎釜绫诲瀷鐨勫弬鏁�");
}
return 1;
@@ -180,52 +164,36 @@
}
// 鎵归噺鏇存柊閮ㄩ棬鐘舵�佺殑鏂规硶
- private bool UpdateDepartmentStatusBatch(SqlSugarScope db,
- List<SysDepartment> departmentList, string status)
+ private bool UpdateDepartmentStatusBatch(SqlSugarScope db,List<SysDepartment> departmentList, string status)
{
var ids = departmentList.Select(it => it.Id).ToArray();
- var result = db.Updateable<SysDepartment>()
- .SetColumns(s => s.Depextr4 == status)
- .Where(s => ids.Contains(s.Id)).ExecuteCommand();
-
- if (result > 0)
- return true;
-
- throw new NotImplementedException(status == "A" ? "鍚敤澶辫触" : "绂佺敤澶辫触");
+ var result = db.Updateable<SysDepartment>().SetColumns(s => s.Depextr4 == status).Where(s => ids.Contains(s.Id)).ExecuteCommand();
+ return true;
}
// 鎵归噺鎻掑叆閮ㄩ棬鐨勬柟娉�
- private bool InsertDepartmentBatch(SqlSugarScope db,
- List<SysDepartment> departmentList)
+ private bool InsertDepartmentBatch(SqlSugarScope db,List<SysDepartment> departmentList)
{
- var insertRange = db.Insertable(departmentList).ExecuteCommand();
- if (insertRange > 0)
- return true;
-
- throw new NotImplementedException("鎻掑叆澶辫触");
- }
-
- // 鎵归噺鍒犻櫎閮ㄩ棬鐨勬柟娉�
- private bool DeleteDepartmentBatch(SqlSugarScope db,
- List<SysDepartment> departmentList)
- {
- var ids = departmentList.Select(it => it.Id).ToArray();
- var deleteByIds =
- db.Deleteable<SysDepartment>().In(ids).ExecuteCommand();
- if (deleteByIds > 0)
- return true;
-
- throw new NotImplementedException("鍒犻櫎澶辫触");
+ foreach (var entity in departmentList)
+ {
+ if (!InsertDepartment(db, entity))
+ {
+ return false;
+ }
+ }
+ return true;
}
// 鎵归噺鎻掑叆鎴栨洿鏂伴儴闂ㄧ殑鏂规硶
- private bool InsertOrUpdateDepartmentBatch(SqlSugarScope db,
- List<SysDepartment> departmentList)
+ private bool InsertOrUpdateDepartmentBatch(SqlSugarScope db,List<SysDepartment> departmentList)
{
foreach (var entity in departmentList)
+ {
if (!InsertOrUpdateDepartment(db, entity))
+ {
return false;
-
+ }
+ }
return true;
}
}
\ No newline at end of file
--
Gitblit v1.9.3