From a3beb6aae5d38391a5de3450ff20dd2a9b7e2bdb Mon Sep 17 00:00:00 2001
From: cdk <2441919651@qq.com>
Date: 星期六, 26 七月 2025 10:54:06 +0800
Subject: [PATCH] 增加用户和部门的接口
---
service/JJGZ/OaToMesRecordManager.cs | 151 +++++++++++++++++++++++++++++++++++++
Dto/service/OaToMesRecord.cs | 27 ++++++
Controllers/JJGZ/OaToMesRecordController.cs | 38 +++++++++
3 files changed, 214 insertions(+), 2 deletions(-)
diff --git a/Controllers/JJGZ/OaToMesRecordController.cs b/Controllers/JJGZ/OaToMesRecordController.cs
index 26007c1..f862059 100644
--- a/Controllers/JJGZ/OaToMesRecordController.cs
+++ b/Controllers/JJGZ/OaToMesRecordController.cs
@@ -30,5 +30,43 @@
return ResponseResult.ResponseError(ex);
}
}
+
+ [HttpPost("ApproveUser")]
+ public ResponseResult ApproveUser(OaToMesUser queryObj)
+ {
+ try
+ {
+ string rtnMsg = m.ApproveUser(queryObj);
+ return new ResponseResult
+ {
+ status = 0,
+ message = rtnMsg,
+ data = null
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ [HttpPost("ApproveDepartment")]
+ public ResponseResult ApproveDepartment(OaToMesDepartment queryObj)
+ {
+ try
+ {
+ string rtnMsg = m.ApproveDepartment(queryObj);
+ return new ResponseResult
+ {
+ status = 0,
+ message = rtnMsg,
+ data = null
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
}
}
diff --git a/Dto/service/OaToMesRecord.cs b/Dto/service/OaToMesRecord.cs
index 22b9148..94c48c1 100644
--- a/Dto/service/OaToMesRecord.cs
+++ b/Dto/service/OaToMesRecord.cs
@@ -20,4 +20,31 @@
public string Classes { get; set; }
public string OrgId { get; set; }
}
+
+ public class OaToMesUser
+ {
+ public List<User> dataJson { get; set; }
+ }
+
+ public class User
+ {
+ public string Id { get; set; }
+ public string Name { get; set; }
+
+ public string Jobnumber { get; set; }
+ public string Department { get; set; }
+ }
+
+ public class OaToMesDepartment
+ {
+ public List<Department> dataJson { get; set; }
+ }
+
+ public class Department
+ {
+ public string Id { get; set; }
+ public string Parentid { get; set; }
+
+ public string Name { get; set; }
+ }
}
diff --git a/service/JJGZ/OaToMesRecordManager.cs b/service/JJGZ/OaToMesRecordManager.cs
index a29a8e3..d0c5129 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,153 @@
}
}
}
+
+ 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 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);
+ int rows = updateCmd.ExecuteNonQuery();
+ if (rows > 0) updateCount++;
+ }
+ }
+ else
+ {
+ // 鎻掑叆
+ var insertSql = @"INSERT INTO OA_DEPARTMENT (id, name, Parentid) VALUES (@Id, @Name, @Parentid)";
+ 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);
+ 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