From 1dc456829623823fd9b4f2e6f3bed780f034710e Mon Sep 17 00:00:00 2001 From: cdk <2441919651@qq.com> Date: 星期三, 23 七月 2025 18:11:42 +0800 Subject: [PATCH] 增加考勤记录的接口,从oa传过来的数据 --- service/JJGZ/OaToMesRecordManager.cs | 66 ++++++++++++++++++++++ Dto/service/OaToMesRecord.cs | 25 ++++++++ Controllers/JJGZ/OaToMesRecordController.cs | 34 +++++++++++ 3 files changed, 125 insertions(+), 0 deletions(-) diff --git a/Controllers/JJGZ/OaToMesRecordController.cs b/Controllers/JJGZ/OaToMesRecordController.cs new file mode 100644 index 0000000..26007c1 --- /dev/null +++ b/Controllers/JJGZ/OaToMesRecordController.cs @@ -0,0 +1,34 @@ +锘縰sing Microsoft.AspNetCore.Mvc; +using NewPdaSqlServer.Dto.service; +using NewPdaSqlServer.service.JJGZ; +using NewPdaSqlServer.service.Warehouse; +using NewPdaSqlServer.util; + +namespace NewPdaSqlServer.Controllers.JJGZ +{ + [Route("api/[controller]")] + [ApiController] + public class OaToMesRecordController : ControllerBase + { + OaToMesRecordManager m = new OaToMesRecordManager(); + + [HttpPost("ApproveRecord")] + public ResponseResult ApproveRecord(OaToMesRecord queryObj) + { + try + { + string rtnMsg = m.ApproveRecord(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 new file mode 100644 index 0000000..de6d6bf --- /dev/null +++ b/Dto/service/OaToMesRecord.cs @@ -0,0 +1,25 @@ +锘縰sing Microsoft.AspNetCore.Mvc; +using System.ComponentModel.DataAnnotations; + +namespace NewPdaSqlServer.Dto.service +{ + public class OaToMesRecord + { + public List<Record> dataJson { get; set; } + + public string requestId { get; set; } + } + + public class Record + { + public string StaffId { get; set; } + public string StaffNo { get; set; } + + public string StaffName { get; set; } + public string LineNo { get; set; } + public string LineName { get; set; } + public DateTime? CheckTime { get; set; } + public string Classes { get; set; } + public string OrgId { get; set; } + } +} diff --git a/service/JJGZ/OaToMesRecordManager.cs b/service/JJGZ/OaToMesRecordManager.cs new file mode 100644 index 0000000..a29a8e3 --- /dev/null +++ b/service/JJGZ/OaToMesRecordManager.cs @@ -0,0 +1,66 @@ +锘� +using Microsoft.AspNetCore.Mvc; +using Microsoft.Data.SqlClient; +using NewPdaSqlServer.DB; +using NewPdaSqlServer.Dto.service; +using System.Data; + +namespace NewPdaSqlServer.service.JJGZ +{ + public class OaToMesRecordManager : Repository<OaToMesRecord> + { + public string ApproveRecord(OaToMesRecord record) + { + 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)) + { + conn.Open(); + using (var tran = conn.BeginTransaction()) + { + try + { + foreach (var item in record.dataJson) + { + // 鍙傛暟鏍¢獙澧炲己 + 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)) + { + 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(); + } + } + } + } + } +} -- Gitblit v1.9.3