cdk
4 天以前 1dc456829623823fd9b4f2e6f3bed780f034710e
增加考勤记录的接口,从oa传过来的数据
已添加3个文件
125 ■■■■■ 文件已修改
Controllers/JJGZ/OaToMesRecordController.cs 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Dto/service/OaToMesRecord.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/JJGZ/OaToMesRecordManager.cs 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Controllers/JJGZ/OaToMesRecordController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,34 @@
using 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);
            }
        }
    }
}
Dto/service/OaToMesRecord.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
using 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; }
    }
}
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();
                    }
                }
            }
        }
    }
}