From 02b26bfaca24386f7b4f4a5e9f336812370ed49b Mon Sep 17 00:00:00 2001
From: cdk <2441919651@qq.com>
Date: 星期一, 22 十二月 2025 09:45:46 +0800
Subject: [PATCH] 获取BOM参数调整
---
service/JJGZ/OaToMesRecordManager.cs | 153 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 151 insertions(+), 2 deletions(-)
diff --git a/service/JJGZ/OaToMesRecordManager.cs b/service/JJGZ/OaToMesRecordManager.cs
index a29a8e3..8ddc4fa 100644
--- a/service/JJGZ/OaToMesRecordManager.cs
+++ b/service/JJGZ/OaToMesRecordManager.cs
@@ -1,5 +1,4 @@
-锘�
-using Microsoft.AspNetCore.Mvc;
+锘縰sing Microsoft.AspNetCore.Mvc;
using Microsoft.Data.SqlClient;
using NewPdaSqlServer.DB;
using NewPdaSqlServer.Dto.service;
@@ -62,5 +61,155 @@
}
}
}
+
+ public string ApproveUser(OaToMesUser user)
+ {
+ var _strMsg = "";
+ if (user == null || user.dataJson == null || user.dataJson.Count == 0)
+ throw new Exception("dataJson涓嶈兘涓虹┖涓斿繀椤诲寘鍚嚦灏戜竴鏉¤褰�");
+
+ int insertCount = 0;
+ int updateCount = 0;
+ using (var conn = new SqlConnection(DbHelperSQL.strConn))
+ {
+ conn.Open();
+ using (var tran = conn.BeginTransaction())
+ {
+ try
+ {
+ foreach (var item in user.dataJson)
+ {
+ // 鍙傛暟鏍¢獙澧炲己
+ if (string.IsNullOrEmpty(item.Id)) throw new Exception("鐢ㄦ埛ID涓嶈兘涓虹┖");
+ if (string.IsNullOrEmpty(item.Name)) throw new Exception("鐢ㄦ埛濮撳悕涓嶈兘涓虹┖");
+
+ // 妫�鏌ユ槸鍚﹀瓨鍦�
+ var checkSql = @"SELECT COUNT(1) FROM OA_USER WHERE Id = @Id";
+ using (var checkCmd = new SqlCommand(checkSql, conn, tran))
+ {
+ checkCmd.Parameters.AddWithValue("@Id", item.Id);
+ var exists = (int)checkCmd.ExecuteScalar() > 0;
+
+ if (exists)
+ {
+ // 鏇存柊
+ var updateSql = @"UPDATE OA_USER SET NAME = @Name, JOBNUMBER = @Jobnumber, DEPARTMENT = @Department WHERE Id = @Id";
+ using (var updateCmd = new SqlCommand(updateSql, conn, tran))
+ {
+ updateCmd.Parameters.AddWithValue("@Id", item.Id);
+ updateCmd.Parameters.AddWithValue("@Name", item.Name ?? (object)DBNull.Value);
+ updateCmd.Parameters.AddWithValue("@Jobnumber", item.Jobnumber ?? (object)DBNull.Value);
+ updateCmd.Parameters.AddWithValue("@Department", item.Department ?? (object)DBNull.Value);
+ int rows = updateCmd.ExecuteNonQuery();
+ if (rows > 0) updateCount++;
+ }
+ }
+ else
+ {
+ // 鎻掑叆
+ var insertSql = @"INSERT INTO OA_USER (Id, NAME, JOBNUMBER, DEPARTMENT) VALUES (@Id, @Name, @Jobnumber, @Department)";
+ using (var insertCmd = new SqlCommand(insertSql, conn, tran))
+ {
+ insertCmd.Parameters.AddWithValue("@Id", item.Id);
+ insertCmd.Parameters.AddWithValue("@Name", item.Name ?? (object)DBNull.Value);
+ insertCmd.Parameters.AddWithValue("@Jobnumber", item.Jobnumber ?? (object)DBNull.Value);
+ insertCmd.Parameters.AddWithValue("@Department", item.Department ?? (object)DBNull.Value);
+ int rows = insertCmd.ExecuteNonQuery();
+ if (rows > 0) insertCount++;
+ }
+ }
+ }
+ }
+ tran.Commit();
+ return $"鐢ㄦ埛鏁版嵁鍚屾鎴愬姛锛佹彃鍏insertCount}鏉★紝鏇存柊{updateCount}鏉¤褰曘��";
+ }
+ catch (Exception ex)
+ {
+ tran.Rollback();
+ _strMsg = $"鐢ㄦ埛鏁版嵁鍚屾寮傚父锛歿ex.Message}";
+ throw new Exception(_strMsg);
+ }
+ finally
+ {
+ conn.Close();
+ }
+ }
+ }
+ }
+
+ public string ApproveDepartment(OaToMesDepartment department)
+ {
+ var _strMsg = "";
+ if (department == null || department.dataJson == null || department.dataJson.Count == 0)
+ throw new Exception("dataJson涓嶈兘涓虹┖涓斿繀椤诲寘鍚嚦灏戜竴鏉¤褰�");
+
+ int insertCount = 0;
+ int updateCount = 0;
+ using (var conn = new SqlConnection(DbHelperSQL.strConn))
+ {
+ conn.Open();
+ using (var tran = conn.BeginTransaction())
+ {
+ try
+ {
+ foreach (var item in department.dataJson)
+ {
+ // 鍙傛暟鏍¢獙澧炲己
+ if (string.IsNullOrEmpty(item.Id)) throw new Exception("閮ㄩ棬ID涓嶈兘涓虹┖");
+ if (string.IsNullOrEmpty(item.Name)) throw new Exception("閮ㄩ棬鍚嶇О涓嶈兘涓虹┖");
+
+ // 妫�鏌ユ槸鍚﹀瓨鍦�
+ var checkSql = @"SELECT COUNT(1) FROM OA_DEPARTMENT WHERE id = @Id";
+ using (var checkCmd = new SqlCommand(checkSql, conn, tran))
+ {
+ checkCmd.Parameters.AddWithValue("@Id", item.Id);
+ var exists = (int)checkCmd.ExecuteScalar() > 0;
+
+ if (exists)
+ {
+ // 鏇存柊
+ var updateSql = @"UPDATE OA_DEPARTMENT SET name = @Name, Parentid = @Parentid, OrgId = @OrgId WHERE Id = @Id";
+ using (var updateCmd = new SqlCommand(updateSql, conn, tran))
+ {
+ updateCmd.Parameters.AddWithValue("@Id", item.Id);
+ updateCmd.Parameters.AddWithValue("@Name", item.Name ?? (object)DBNull.Value);
+ updateCmd.Parameters.AddWithValue("@Parentid", item.Parentid ?? (object)DBNull.Value);
+ updateCmd.Parameters.AddWithValue("@OrgId", item.OrgId ?? (object)DBNull.Value);
+ int rows = updateCmd.ExecuteNonQuery();
+ if (rows > 0) updateCount++;
+ }
+ }
+ else
+ {
+ // 鎻掑叆
+ var insertSql = @"INSERT INTO OA_DEPARTMENT (id, name, Parentid, OrgId) VALUES (@Id, @Name, @Parentid, @OrgId)";
+ using (var insertCmd = new SqlCommand(insertSql, conn, tran))
+ {
+ insertCmd.Parameters.AddWithValue("@Id", item.Id);
+ insertCmd.Parameters.AddWithValue("@Name", item.Name ?? (object)DBNull.Value);
+ insertCmd.Parameters.AddWithValue("@Parentid", item.Parentid ?? (object)DBNull.Value);
+ insertCmd.Parameters.AddWithValue("@OrgId", item.OrgId ?? (object)DBNull.Value);
+ int rows = insertCmd.ExecuteNonQuery();
+ if (rows > 0) insertCount++;
+ }
+ }
+ }
+ }
+ tran.Commit();
+ return $"閮ㄩ棬鏁版嵁鍚屾鎴愬姛锛佹彃鍏insertCount}鏉★紝鏇存柊{updateCount}鏉¤褰曘��";
+ }
+ catch (Exception ex)
+ {
+ tran.Rollback();
+ _strMsg = $"閮ㄩ棬鏁版嵁鍚屾寮傚父锛歿ex.Message}";
+ throw new Exception(_strMsg);
+ }
+ finally
+ {
+ conn.Close();
+ }
+ }
+ }
+ }
}
}
--
Gitblit v1.9.3