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