From fd8a1399090dd3a57b557a7c8d270362397bc21f Mon Sep 17 00:00:00 2001 From: kyy <3283105747@qq.com> Date: 星期六, 20 九月 2025 16:45:04 +0800 Subject: [PATCH] 报工修改 --- service/JJGZ/OaToMesRecordManager.cs | 448 ++++++++++++++++++++++++------------------------------- 1 files changed, 196 insertions(+), 252 deletions(-) diff --git a/service/JJGZ/OaToMesRecordManager.cs b/service/JJGZ/OaToMesRecordManager.cs index 4aea974..8ddc4fa 100644 --- a/service/JJGZ/OaToMesRecordManager.cs +++ b/service/JJGZ/OaToMesRecordManager.cs @@ -1,271 +1,215 @@ -锘縰sing Microsoft.Data.SqlClient; +锘縰sing Microsoft.AspNetCore.Mvc; +using Microsoft.Data.SqlClient; using NewPdaSqlServer.DB; using NewPdaSqlServer.Dto.service; -using NewPdaSqlServer.util; +using System.Data; -namespace NewPdaSqlServer.service.JJGZ; - -public class OaToMesRecordManager : Repository<OaToMesRecord> +namespace NewPdaSqlServer.service.JJGZ { - public string ApproveRecord(OaToMesRecord record) + public class OaToMesRecordManager : Repository<OaToMesRecord> { - var _strMsg = ""; - if (record == null || record.dataJson == null || - record.dataJson.Count == 0) - throw new Exception("dataJson涓嶈兘涓虹┖涓斿繀椤诲寘鍚嚦灏戜竴鏉¤褰�"); - - var successCount = 0; - using (var conn = new SqlConnection(DbHelperSQL.strConn)) + public string ApproveRecord(OaToMesRecord record) { - conn.Open(); - using (var tran = conn.BeginTransaction()) + var _strMsg = ""; + if (record == null || record.dataJson == null || record.dataJson.Count == 0) + throw new Exception("dataJson涓嶈兘涓虹┖涓斿繀椤诲寘鍚嚦灏戜竴鏉¤褰�"); + + int successCount = 0; + using (var conn = new SqlConnection(DbHelperSQL.strConn)) { - try + conn.Open(); + using (var tran = conn.BeginTransaction()) { - foreach (var item in record.dataJson) + try { - // 鍙傛暟鏍¢獙澧炲己 - if (string.IsNullOrEmpty(item.StaffId)) - throw new Exception("鍛樺伐缂栧彿涓嶈兘涓虹┖"); - if (string.IsNullOrEmpty(item.LineNo)) - throw new Exception("浜х嚎涓嶈兘涓虹┖"); - if (string.IsNullOrEmpty(item.Classes)) - throw new Exception("鐝涓嶈兘涓虹┖"); - if (item.CheckTime == null) - throw new Exception("鎵撳崱鏃ユ湡涓嶈兘涓虹┖"); - - var sql = - @"INSERT INTO MES_JJGZ_RECORD (GUID, Staff_Id, Staff_No, Staff_Name, Line_No, Line_Name, CheckTime, ScheNo,RecordDate,OrgId) VALUES (NEWID(), @StaffId, @StaffNo, @StaffName, @LineNo, @LineName, @CheckTime, @Classes, getdate(),@OrgId)"; - using (var cmd = new SqlCommand(sql, conn, tran)) + foreach (var item in record.dataJson) { - cmd.Parameters.AddWithValue("@StaffId", - item.StaffId ?? (object)DBNull.Value); - cmd.Parameters.AddWithValue("@StaffNo", - item.StaffNo ?? (object)DBNull.Value); - cmd.Parameters.AddWithValue("@StaffName", - item.StaffName ?? (object)DBNull.Value); - cmd.Parameters.AddWithValue("@LineNo", - item.LineNo ?? (object)DBNull.Value); - cmd.Parameters.AddWithValue("@LineName", - item.LineName ?? (object)DBNull.Value); - cmd.Parameters.AddWithValue("@CheckTime", - item.CheckTime ?? (object)DBNull.Value); - cmd.Parameters.AddWithValue("@Classes", - item.Classes ?? (object)DBNull.Value); - cmd.Parameters.AddWithValue("@OrgId", - item.OrgId ?? (object)DBNull.Value); - var rows = cmd.ExecuteNonQuery(); - if (rows > 0) successCount++; - } - } + // 鍙傛暟鏍¢獙澧炲己 + if (string.IsNullOrEmpty(item.StaffId)) throw new Exception("鍛樺伐缂栧彿涓嶈兘涓虹┖"); + if (string.IsNullOrEmpty(item.LineNo)) throw new Exception("浜х嚎涓嶈兘涓虹┖"); + if (string.IsNullOrEmpty(item.Classes)) throw new Exception("鐝涓嶈兘涓虹┖"); + if (item.CheckTime == null) throw new Exception("鎵撳崱鏃ユ湡涓嶈兘涓虹┖"); - tran.Commit(); - return $"鎵归噺鎻掑叆MES_JJGZ_RECORD鎴愬姛锛佸叡鎻掑叆{successCount}鏉¤褰曘��"; + var sql = @"INSERT INTO MES_JJGZ_RECORD (GUID, Staff_Id, Staff_No, Staff_Name, Line_No, Line_Name, CheckTime, ScheNo,RecordDate,OrgId) VALUES (NEWID(), @StaffId, @StaffNo, @StaffName, @LineNo, @LineName, @CheckTime, @Classes, getdate(),@OrgId)"; + using (var cmd = new SqlCommand(sql, conn, tran)) + { + cmd.Parameters.AddWithValue("@StaffId", item.StaffId ?? (object)DBNull.Value); + cmd.Parameters.AddWithValue("@StaffNo", item.StaffNo ?? (object)DBNull.Value); + cmd.Parameters.AddWithValue("@StaffName", item.StaffName ?? (object)DBNull.Value); + cmd.Parameters.AddWithValue("@LineNo", item.LineNo ?? (object)DBNull.Value); + cmd.Parameters.AddWithValue("@LineName", item.LineName ?? (object)DBNull.Value); + cmd.Parameters.AddWithValue("@CheckTime", item.CheckTime ?? (object)DBNull.Value); + cmd.Parameters.AddWithValue("@Classes", item.Classes ?? (object)DBNull.Value); + cmd.Parameters.AddWithValue("@OrgId", item.OrgId ?? (object)DBNull.Value); + int rows = cmd.ExecuteNonQuery(); + if (rows > 0) successCount++; + } + } + tran.Commit(); + return $"鎵归噺鎻掑叆MES_JJGZ_RECORD鎴愬姛锛佸叡鎻掑叆{successCount}鏉¤褰曘��"; + } + catch (Exception ex) + { + tran.Rollback(); + _strMsg = $"鎵归噺鎻掑叆MES_JJGZ_RECORD寮傚父锛歿ex.Message}"; + throw new Exception(_strMsg); + } + finally + { + conn.Close(); + } } - catch (Exception ex) + } + } + + 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()) { - tran.Rollback(); - _strMsg = $"鎵归噺鎻掑叆MES_JJGZ_RECORD寮傚父锛歿ex.Message}"; - throw new Exception(_strMsg); + 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(); + } } - finally + } + } + + 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()) { - conn.Close(); + 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(); + } } } } } - - public string ApproveUser(OaToMesUser user) - { - var _strMsg = ""; - if (user == null || user.dataJson == null || user.dataJson.Count == 0) - throw new Exception("dataJson涓嶈兘涓虹┖涓斿繀椤诲寘鍚嚦灏戜竴鏉¤褰�"); - - var insertCount = 0; - var 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); - var 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); - var 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涓嶈兘涓虹┖涓斿繀椤诲寘鍚嚦灏戜竴鏉¤褰�"); - - var insertCount = 0; - var 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); - var 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); - var 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(); - } - } - } - } -} \ No newline at end of file +} -- Gitblit v1.9.3