xwt
2025-09-18 3a23f941956f3a7b800a66719c64e550ba11f226
SJ,XJ,RKJ
已修改7个文件
已添加2个文件
805 ■■■■ 文件已修改
MES.Service/Dto/service/RKJPageResult.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Dto/service/XJPageResult.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Modes/V_RKJ_INSPECTION_LIST.cs 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/service/QC/RKJService.cs 278 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/service/QC/SJService.cs 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/service/QC/XJService.cs 125 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MESApplication/Controllers/QC/RKJController.cs 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MESApplication/Controllers/QC/SJController.cs 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MESApplication/Controllers/QC/XJController.cs 92 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Dto/service/RKJPageResult.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
using MES.Service.Dto.@base;
namespace MES.Service.Dto.service;
public class RKJPageResult : Page
{
    public string? createUser { get; set; }
    public string? result { get; set; }
    public string? id { get; set; }
    public string? SearchValue { get; set; }
    public int? fsubmit { get; set; }
    public string? lineNo { get; set; }
}
MES.Service/Dto/service/XJPageResult.cs
@@ -10,4 +10,8 @@
    public string? id { get; set; }
    public string? SearchValue { get; set; }
    public int? fsubmit { get; set; }
    public string? lineNo { get; set; }
}
MES.Service/Modes/V_RKJ_INSPECTION_LIST.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,74 @@
using SqlSugar;
namespace MES.Service.Modes
{
    [SugarTable("V_RKJ_INSPECTION_LIST")]
    public class V_RKJ_INSPECTION_LIST
    {
        [SugarColumn(ColumnName = "ID")]
        public decimal Id { get; set; }
        [SugarColumn(ColumnName = "RELEASE_NO")]
        public string? ReleaseNo { get; set; }
        [SugarColumn(ColumnName = "FCHECK_DATE")]
        public DateTime? FcheckDate { get; set; }
        [SugarColumn(ColumnName = "FCHECK_BY")]
        public string? FcheckBy { get; set; }
        [SugarColumn(ColumnName = "ITEM_NO")]
        public string? ItemNo { get; set; }
        [SugarColumn(ColumnName = "FCHECK_RESU")]
        public string? FcheckResu { get; set; }
        [SugarColumn(ColumnName = "CREATE_BY")]
        public string? CreateBy { get; set; }
        [SugarColumn(ColumnName = "CREATE_DATE")]
        public DateTime? CreateDate { get; set; }
        [SugarColumn(ColumnName = "LASTUPDATE_BY")]
        public string? LastupdateBy { get; set; }
        [SugarColumn(ColumnName = "LASTUPDATE_DATE")]
        public DateTime? LastupdateDate { get; set; }
        [SugarColumn(ColumnName = "BILL_NO")]
        public string? BillNo { get; set; }
        [SugarColumn(ColumnName = "FSUBMIT_BY")]
        public string? FsubmitBy { get; set; }
        [SugarColumn(ColumnName = "FSUBMIT_DATE")]
        public DateTime? FsubmitDate { get; set; }
        [SugarColumn(ColumnName = "FSUBMIT")]
        public decimal? Fsubmit { get; set; }
        [SugarColumn(ColumnName = "REMARKS")]
        public string? Remarks { get; set; }
        [SugarColumn(ColumnName = "ITEM_ID")]
        public decimal? ItemId { get; set; }
        [SugarColumn(ColumnName = "ITEM_NAME")]
        public string? ItemName { get; set; }
        [SugarColumn(ColumnName = "ITEM_MODEL")]
        public string? ItemModel { get; set; }
        [SugarColumn(ColumnName = "DAA015")]
        public string? Daa015 { get; set; }
        [SugarColumn(ColumnName = "QUANTITY")]
        public decimal? Quantity { get; set; }
        [SugarColumn(ColumnName = "STATUS_DESC")]
        public string? StatusDesc { get; set; }
        [SugarColumn(ColumnName = "RESULT_STATUS")]
        public string? ResultStatus { get; set; }
    }
}
MES.Service/service/QC/RKJService.cs
@@ -10,29 +10,6 @@
{
    private readonly BaseService _baseService = new();
    //手动执行sql
    //生成检验单号
    public string getMaxBillNo()
    {
        var db = SqlSugarHelper.GetInstance();
        var date = DateTime.Now.ToString("yyyy-MM-dd");
        var sql =
            "select max(RELEASE_NO) from QS_ITEM_OQC_REQ where RELEASE_NO like 'RKJN%' and to_char(CREATE_DATE,'yyyy-mm-dd') ='" +
            date + "'";
        var maxBillNo = db.Ado.SqlQuerySingle<string>(sql);
        var number = "0001";
        if (maxBillNo != null)
        {
            maxBillNo = maxBillNo.Substring(12);
            var no = Convert.ToInt32(maxBillNo);
            no++;
            number = no.ToString().PadLeft(4, '0');
        }
        return "RKJN" + date.Replace("-", "") + number;
    }
    //选择产线
    public List<MesLine> getLineNo()
@@ -220,85 +197,6 @@
            }).OrderBy("result desc").ToList();
    }
    public dynamic save(RKJDto rkjDto)
    {
        var xj = rkjDto.from;
        var items = rkjDto.items;
        var userNo = rkjDto.userNo;
        SqlSugarHelper.UseTransactionWithOracle(db =>
        {
            var commit = 0;
            xj.CreateBy = userNo;
            xj.CreateDate = DateTime.Now;
            var pid = db.Insertable(xj).ExecuteReturnIdentity();
            xj.Id = pid;
            rkjDto.gid = pid;
            foreach (var item in items) item.Pid = pid;
            commit += db.Insertable(items).ExecuteCommand();
            return commit;
        });
        // using (var connection =
        //        new OracleConnection(OracleSQLHelper.ConnectionString))        //     connection.Open();
        //
        //     var transaction = connection.BeginTransaction();
        //
        //     try
        //     {
        //         using (var command = new OracleCommand())
        //         {
        //             command.Connection = connection;
        //             command.Transaction = transaction;
        //             command.CommandText = "insert_and_update_picture_RKJ";
        //             command.CommandType = CommandType.StoredProcedure;
        //
        //             // Add parameters
        //             command.Parameters.Add("p_QS_TYPE", OracleDbType.Varchar2)
        //                 .Value = "3";
        //             command.Parameters.Add("p_MOID_NUM", OracleDbType.Varchar2)
        //                 .Value = rkjDto.moidNum;
        //             command.Parameters.Add("p_pid", OracleDbType.Int32).Value =
        //                 xj.Id;
        //
        //             command.ExecuteNonQuery();
        //         }
        //
        //         transaction.Commit();
        //     }
        //     catch (Exception)
        //     {
        //         transaction.Rollback();
        //         throw;
        //     }
        // }
        rkjDto.items = GetItems(xj.Id, null);
        rkjDto.items.ForEach(s =>
        {
            if (s.MaxValue != null || s.StandardValue != null ||
                s.MinValue != null) return;
            var detail = new QsItemOqcItemDetail();
            detail.Pid = s.Id;
            detail.Gid = rkjDto.gid;
            detail.Fstand = "√";
            detail.FcheckResu = "1";
            detail.UpdateBy = rkjDto.userNo;
            detail.count = (int?)s.LevelNum;
            SetQSItemDetail(detail);
        });
        return Convert.ToInt32(xj.Id);
    }
    public int SetQSItemDetail(QsItemOqcItemDetail detail)
    {
@@ -454,48 +352,103 @@
    }
    public List<QsItemOqcReq> getPage(XJPageResult queryObj)
    public List<QsItemOqcReq> getPage(RKJPageResult queryObj)
    {
        var db = SqlSugarHelper.GetInstance();
        var id = StringUtil.IsNotNullOrEmpty(queryObj.id) ? Convert.ToDecimal(queryObj.id) : 0;
        return db
            .Queryable<QsItemOqcReq, Womdaa, MesItems, MesInvItemIns, Womdab,
                MesInvTransaction, RKJDaa001>(
                (a, da, b, c, d, ca, m) => new JoinQueryInfos(
                    JoinType.Left, da.Daa001 == a.BillNo,
                    JoinType.Left, a.ItemId == b.Id,
                    JoinType.Left, a.BillNo == c.BillNo,
                    JoinType.Left, c.CbillNo == d.Dab001,
                    JoinType.Left,
                    c.TransctionNo == ca.TransactionNo.ToString() &&
                    c.Company == ca.Company && c.Factory == ca.Factory,
                    JoinType.Left, c.Id == m.ItemInId && a.ItemNo == m.ItemNo
                ))
            .Select((a, da, b, c, d, ca, m) => new QsItemOqcReq
            .Queryable<V_RKJ_INSPECTION_LIST>()
            .WhereIF(id > 0, v => v.Id == id)
            .WhereIF(
                StringUtil.IsNotNullOrEmpty(queryObj.result) &&
                "未完成".Equals(queryObj.result),
                v => v.StatusDesc == "未完成")
            .WhereIF(
                StringUtil.IsNotNullOrEmpty(queryObj.result) &&
                !"未完成".Equals(queryObj.result),
                v => v.StatusDesc == "已完成")
            .WhereIF(queryObj.fsubmit.HasValue && queryObj.fsubmit.Value == 1,
                v => v.Fsubmit == 1)
            .WhereIF(queryObj.fsubmit.HasValue && queryObj.fsubmit.Value == 0,
                v => SqlFunc.IsNull(v.Fsubmit, 0) != 1)
            .Select(v => new QsItemOqcReq
            {
                BillNo = a.BillNo,
                Remarks = a.Remarks,
                Id = a.Id,
                CreateDate = a.CreateDate,
                CreateBy = a.CreateBy,
                FcheckResu = a.FcheckResu,
                ItemNo = a.ItemNo,
                FcheckBy = a.FcheckBy,
                FcheckDate = a.FcheckDate,
                ReleaseNo = a.ReleaseNo,
                // æ·»åŠ å…¶ä»–å­—æ®µ
                // å¦‚果在 QsItemOqcReq ä¸­å®šä¹‰äº†é¢å¤–字段,则需要将它们赋值
                // ä¾‹å¦‚:
                ItemName = b.ItemName,
                ItemModel = b.ItemModel,
                TaskNo = c.TaskNo,
                CbillNo = c.CbillNo,
                Dab001 = d.Dab001,
                Daa015 = da.Daa015,
                LineNo = c.LineNo,
                Quantity = m.Quantity
            }).OrderBy(a => a.CreateDate, OrderByType.Desc)
                Id = v.Id,
                ReleaseNo = v.ReleaseNo,
                FcheckDate = v.FcheckDate,
                FcheckBy = v.FcheckBy,
                ItemNo = v.ItemNo,
                FcheckResu = v.FcheckResu,
                CreateBy = v.CreateBy,
                CreateDate = v.CreateDate,
                LastupdateBy = v.LastupdateBy,
                LastupdateDate = v.LastupdateDate,
                BillNo = v.BillNo,
                FsubmitBy = v.FsubmitBy,
                FsubmitDate = v.FsubmitDate,
                Fsubmit = v.Fsubmit,
                Remarks = v.Remarks,
                ItemId = v.ItemId,
                ItemName = v.ItemName,
                ItemModel = v.ItemModel,
                Daa015 = v.Daa015,
                Quantity = v.Quantity
            })
            .OrderBy(v => v.CreateDate, OrderByType.Desc)
            .ToPageList(queryObj.PageIndex, queryObj.Limit);
    }
    //获取所有数据分页(携带总数)
    public (List<QsItemOqcReq> data, int totalCount) getPageWithTotal(RKJPageResult queryObj)
    {
        var db = SqlSugarHelper.GetInstance();
        var id = StringUtil.IsNotNullOrEmpty(queryObj.id) ? Convert.ToDecimal(queryObj.id) : 0;
        int totalCount = 0;
        var data = db
            .Queryable<V_RKJ_INSPECTION_LIST>()
            .WhereIF(id > 0, v => v.Id == id)
            .WhereIF(
                StringUtil.IsNotNullOrEmpty(queryObj.result) &&
                "未完成".Equals(queryObj.result),
                v => v.StatusDesc == "未完成")
            .WhereIF(
                StringUtil.IsNotNullOrEmpty(queryObj.result) &&
                !"未完成".Equals(queryObj.result),
                v => v.StatusDesc == "已完成")
            .WhereIF(queryObj.fsubmit.HasValue && queryObj.fsubmit.Value == 1,
                v => v.Fsubmit == 1)
            .WhereIF(queryObj.fsubmit.HasValue && queryObj.fsubmit.Value == 0,
                v => SqlFunc.IsNull(v.Fsubmit, 0) != 1)
            .Select(v => new QsItemOqcReq
            {
                Id = v.Id,
                ReleaseNo = v.ReleaseNo,
                FcheckDate = v.FcheckDate,
                FcheckBy = v.FcheckBy,
                ItemNo = v.ItemNo,
                FcheckResu = v.FcheckResu,
                CreateBy = v.CreateBy,
                CreateDate = v.CreateDate,
                LastupdateBy = v.LastupdateBy,
                LastupdateDate = v.LastupdateDate,
                BillNo = v.BillNo,
                FsubmitBy = v.FsubmitBy,
                FsubmitDate = v.FsubmitDate,
                Fsubmit = v.Fsubmit,
                Remarks = v.Remarks,
                ItemId = v.ItemId,
                ItemName = v.ItemName,
                ItemModel = v.ItemModel,
                Daa015 = v.Daa015,
                Quantity = v.Quantity
            })
            .OrderBy(v => v.CreateDate, OrderByType.Desc)
            .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount);
        return (data, totalCount);
    }
    //删除主表并且连级删除子表和孙表
@@ -648,4 +601,53 @@
        return Convert.ToInt32(rkjDto.gid);
    }
    public (int code, string message) GenUpdateRKJ(decimal id, string no, string userNo)
    {
        var db = SqlSugarHelper.GetInstance();
        var poResult = new SugarParameter("PO_RESULT", null, System.Data.DbType.Int32, System.Data.ParameterDirection.Output, 4000);
        var poText = new SugarParameter("PO_TEXT", null, System.Data.DbType.String, System.Data.ParameterDirection.Output, 4000);
        var parameters = new List<SugarParameter>
        {
            new("P_ID", id, System.Data.DbType.Decimal, System.Data.ParameterDirection.Input),
            new("P_NO", no ?? string.Empty, System.Data.DbType.String, System.Data.ParameterDirection.Input),
            new("P_USER", userNo ?? string.Empty, System.Data.DbType.String, System.Data.ParameterDirection.Input),
            poResult,
            poText
        };
        db.Ado.ExecuteCommand(
            "BEGIN PRC_GEN_UPDATE3(:P_ID, :P_NO, :P_USER, :PO_RESULT, :PO_TEXT); END;",
            parameters.ToArray());
        var code = Convert.ToInt32(poResult.Value?.ToString() ?? "0");
        var message = poText.Value?.ToString() ?? "";
        return (code, message);
    }
    /// <summary>
    /// æäº¤å…¥åº“检验单
    /// </summary>
    /// <param name="userNo">提交人</param>
    /// <param name="id">检验单ID</param>
    /// <returns>影响行数</returns>
    public int RKJQaSubmit(string userNo, decimal id)
    {
        return SqlSugarHelper.UseTransactionWithOracle(db =>
        {
            var commit = 0;
            // æäº¤å…¥åº“检验单 - æ›´æ–°QS_ITEM_OQC_REQ表
            var sql = "update QS_ITEM_OQC_REQ set FSUBMIT=1, FSUBMIT_BY=:userNo, FSUBMIT_DATE=SYSDATE where ID=:id";
            var parameters = new List<SugarParameter>
            {
                new(":userNo", userNo),
                new(":id", id)
            };
            commit += db.Ado.ExecuteCommand(sql, parameters);
            return commit;
        });
    }
}
MES.Service/service/QC/SJService.cs
@@ -10,29 +10,6 @@
{
    private readonly BaseService _baseService = new();
    //获取最大单号
    public string getMaxBillNo()
    {
        var db = SqlSugarHelper.GetInstance();
        var date = DateTime.Now.ToString("yyyy-MM-dd");
        var sql =
            "select max(BILL_NO) from QS_ITEM_IPI_REQ where to_char(CREATE_TIME,'yyyy-mm-dd') = '" +
            date + "'";
        var maxBillNo = db.Ado.SqlQuerySingle<string>(sql);
        var number = "0001";
        if (maxBillNo != null)
        {
            maxBillNo = maxBillNo.Substring(12);
            var no = Convert.ToInt32(maxBillNo);
            no++;
            number = no.ToString().PadLeft(4, '0');
        }
        return "SJN" + date.Replace("-", "") + number;
    }
    //获取所有数据分页
    public List<SJPageResult> getPage(SJPageResult queryObj)
    {
@@ -215,49 +192,6 @@
        return qsItemIpiItems;
    }
    public QsItem Save(QsItem item)
    {
        var qsItemIpiReq = item.From;
        var qsItemIpiItems = item.Items;
        SqlSugarHelper.UseTransactionWithOracle(
            db =>
            {
                qsItemIpiReq.StatusDate = DateTime.Now;
                var pid = db.Insertable(qsItemIpiReq)
                    .ExecuteReturnIdentity();
                qsItemIpiReq.Id = pid;
                item.gid = pid;
                qsItemIpiItems.ForEach(s => s.Pid = pid);
                return db.Insertable(qsItemIpiItems)
                    .ExecuteCommand();
            });
        item.Items = getQSItems(qsItemIpiReq.Id, null);
        //没有上下限的检验项目自动盘点为合格
        item.Items.ForEach(s =>
        {
            if (s.MaxValue != null || s.StandardValue != null ||
                s.MinValue != null) return;
            var detail = new QsItemIpiItemDetail();
            detail.Pid = s.Id;
            detail.Gid = item.gid;
            detail.Fstand = "√";
            detail.FcheckResu = "1";
            detail.UpdateBy = item.From.StatusUser;
            detail.count = (int?)s.LevelNum;
            SetQSItemDetail(detail);
        });
        item.Items = getQSItems(qsItemIpiReq.Id, null);
        var sjPageResult = new SJPageResult
            { Id = item.From.Id, Limit = 1, PageIndex = 1 };
        item.Result = getPage(sjPageResult)[0];
        return item;
    }
    public QsItem SaveItem(QsItem item)
    {
MES.Service/service/QC/XJService.cs
@@ -15,28 +15,6 @@
    private readonly string[] statusArray = ["开工", "待开工"];
    //生成最新的检验单号
    public string getMaxReleaseNo()
    {
        var sql =
            string.Format(
                "select max(RELEASE_NO) from QS_QA_ITEM_XJ where RELEASE_NO like 'XJN%' and to_char(CREATE_DATE,'yyyy-mm-dd') = '{0}'",
                DateTime.Now.ToString("yyyy-MM-dd"));
        var executeScalar = SQLHelper.ExecuteScalar(sql);
        var date = DateTime.Now.ToString("yyMMdd");
        var number = "0001";
        var olReleaseNo = executeScalar.ToString();
        //判断今天是否生成了巡检单
        if (string.IsNullOrEmpty(olReleaseNo)) return "XJN" + date + number;
        //截取后四位的流水号累加
        var substring = Convert.ToInt32(olReleaseNo.Substring(10));
        substring += 1;
        number = substring.ToString("D4");
        //如果为空直接返回0001
        return "XJN" + date + number;
    }
    public List<Womdaa> getItem(string daa001)
    {
@@ -112,10 +90,7 @@
        var id = Convert.ToDecimal(queryObj.id);
        string[]? lineNo = null;
        if (StringUtil.IsNotNullOrEmpty(queryObj.createUser))
            lineNo = _baseService.getUserLineNo(queryObj.createUser);
        // å–消产线过滤,显示所有产线的数据
        return db
            .Queryable<QsQaItemXj, Womdaa, MesLine,
@@ -126,8 +101,6 @@
                    JoinType.Left, s.ItemId == b.Id
                )
            )
            .WhereIF(lineNo != null && lineNo.Length > 0,
                (s, a, c, b) => lineNo.Contains(c.LineNo))
            .WhereIF(
                StringUtil.IsNotNullOrEmpty(queryObj.result) &&
                "未完成".Equals(queryObj.result),
@@ -136,6 +109,10 @@
                StringUtil.IsNotNullOrEmpty(queryObj.result) &&
                !"未完成".Equals(queryObj.result),
                (s, a, c, b) => s.FcheckResu != null)
            .WhereIF(queryObj.fsubmit.HasValue && queryObj.fsubmit.Value == 1,
                (s, a, c, b) => s.Fsubmit == 1)
            .WhereIF(queryObj.fsubmit.HasValue && queryObj.fsubmit.Value == 0,
                (s, a, c, b) => SqlFunc.IsNull(s.Fsubmit, 0) != 1)
            .WhereIF(id > 0, (s, a, c, b) => s.Id == id)
            .Select((s, a, c, b) => new QsQaItemXj
            {
@@ -151,7 +128,10 @@
                ItemModel = b.ItemModel,
                FcheckBy = s.FcheckBy,
                FcheckResu = s.FcheckResu,
                Remarks = s.Remarks
                Remarks = s.Remarks,
                Fsubmit = s.Fsubmit,
                FsubmitBy = s.FsubmitBy,
                FsubmitDate = s.FsubmitDate
            }).OrderBy(s => s.CreateDate, OrderByType.Desc)
            .ToPageList(queryObj.PageIndex, queryObj.Limit);
    }
@@ -243,50 +223,6 @@
    }
    public int save(XJDto xjDto)
    {
        var xj = xjDto.from;
        var items = xjDto.items;
        var userNo = xjDto.userNo;
        SqlSugarHelper.UseTransactionWithOracle(db =>
        {
            var commit = 0;
            xj.CreateBy = userNo;
            xj.CreateDate = DateTime.Now;
            var pid = db.Insertable(xj).ExecuteReturnIdentity();
            xj.Id = pid;
            xjDto.gid = pid;
            foreach (var item in items) item.Pid = pid;
            commit += db.Insertable(items).ExecuteCommand();
            return commit;
        });
        xjDto.items = getJYItem(xj.Id, null);
        xjDto.items.ForEach(s =>
        {
            if (s.MaxValue != null || s.StandardValue != null ||
                s.MinValue != null) return;
            var detail = new QsQaItemXj02();
            detail.Pid = s.Id;
            detail.Gid = xjDto.gid;
            detail.Fstand = "√";
            detail.FcheckResu = "1";
            detail.UpdateBy = xjDto.userNo;
            detail.count = (int?)s.LevelNum;
            SetQSItemDetail(detail);
        });
        return Convert.ToInt32(xj.Id);
    }
    public int saveItem(XJDto xjDto)
    {
@@ -528,4 +464,47 @@
                .ExecuteCommand();
        });
    }
    public (int code, string message) GenUpdateXJ(decimal id, string no, string userNo)
    {
        var db = SqlSugarHelper.GetInstance();
        var poResult = new SugarParameter("PO_RESULT", null, System.Data.DbType.Int32, System.Data.ParameterDirection.Output, 4000);
        var poText = new SugarParameter("PO_TEXT", null, System.Data.DbType.String, System.Data.ParameterDirection.Output, 4000);
        var parameters = new List<SugarParameter>
        {
            new("P_ID", id, System.Data.DbType.Decimal, System.Data.ParameterDirection.Input),
            new("P_NO", no ?? string.Empty, System.Data.DbType.String, System.Data.ParameterDirection.Input),
            new("P_USER", userNo ?? string.Empty, System.Data.DbType.String, System.Data.ParameterDirection.Input),
            poResult,
            poText
        };
        db.Ado.ExecuteCommand(
            "BEGIN PRC_GEN_UPDATE_XJ(:P_ID, :P_NO, :P_USER, :PO_RESULT, :PO_TEXT); END;",
            parameters.ToArray());
        var code = Convert.ToInt32(poResult.Value?.ToString() ?? "0");
        var message = poText.Value?.ToString() ?? "";
        return (code, message);
    }
    public int XJQaSubmit(string userNo, decimal id)
    {
        return SqlSugarHelper.UseTransactionWithOracle(db =>
        {
            var commit = 0;
            // æäº¤å·¡æ£€å• - å‚考SJ的实现方式
            var sql = "update QS_QA_ITEM_XJ set FSUBMIT=1, FSUBMIT_BY=:userNo, FSUBMIT_DATE=SYSDATE where ID=:id";
            var parameters = new List<SugarParameter>
            {
                new(":userNo", userNo),
                new(":id", id)
            };
            commit += db.Ado.ExecuteCommand(sql, parameters);
            return commit;
        });
    }
}
MESApplication/Controllers/QC/RKJController.cs
@@ -12,28 +12,6 @@
[ApiController]
public class RKJController : ControllerBase
{
    //getMaxReleaseNo
    [HttpPost("getMaxReleaseNo")]
    public ResponseResult getMaxReleaseNo()
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            var tbBillList =
                new RKJService().getMaxBillNo();
            resultInfos.tbBillList = tbBillList;
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    //getLine
    [HttpPost("getLineAll")]
@@ -107,20 +85,23 @@
        }
    }
    [HttpPost("save")]
    public ResponseResult save([FromBody] RKJDto rkjDto)
    //GetPage
    [HttpPost("GetPage")]
    public ResponseResult GetPage([FromBody] RKJPageResult queryObj)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            var tbBillList =
                new RKJService().save(rkjDto);
            var service = new RKJService();
            var (tbBillList, totalCount) = service.getPageWithTotal(queryObj);
            resultInfos.tbBillList = tbBillList;
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
                data = resultInfos,
                TotalCount = totalCount
            };
        }
        catch (Exception ex)
@@ -129,27 +110,6 @@
        }
    }
    [HttpPost("getPage")]
    public ResponseResult getPage([FromBody] XJPageResult queryObj)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            var tbBillList =
                new RKJService().getPage(queryObj);
            resultInfos.tbBillList = tbBillList;
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    //getItems
    [HttpPost("getItems")]
@@ -364,4 +324,55 @@
            return ResponseResult.ResponseError(ex);
        }
    }
    [HttpPost("GenUpdateRKJ")]
    public ResponseResult GenUpdateRKJ([FromBody] JObject data)
    {
        var id = Convert.ToDecimal(data["id"]?.ToString());
        var no = data["no"]?.ToString();
        var userNo = data["userNo"]?.ToString();
        try
        {
            var service = new RKJService();
            var (code, message) = service.GenUpdateRKJ(id, no, userNo);
            return new ResponseResult
            {
                status = code,
                message = message,
                data = new ExpandoObject()
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    /// <summary>
    /// æäº¤å…¥åº“检验单
    /// </summary>
    /// <param name="data">包含gid和userNo的JSON数据</param>
    /// <returns>提交结果</returns>
    [HttpPost("RKJQaSubmit")]
    public ResponseResult RKJQaSubmit([FromBody] JObject data)
    {
        var userNo = data["userNo"]?.ToString();
        var id = Convert.ToDecimal(data["gid"]?.ToString());
        try
        {
            dynamic resultInfos = new ExpandoObject();
            var tbBillList = new RKJService().RKJQaSubmit(userNo, id);
            resultInfos.tbBillList = tbBillList;
            return new ResponseResult
            {
                status = 0,
                message = "提交成功",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
}
MESApplication/Controllers/QC/SJController.cs
@@ -12,27 +12,6 @@
[ApiController]
public class SJController : ControllerBase
{
    [HttpPost("GetMaxBillNo")]
    public ResponseResult GetMaxBillNo()
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            var tbBillList =
                new SJService().getMaxBillNo();
            resultInfos.tbBillList = tbBillList;
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    [HttpPost("GetPage")]
@@ -83,27 +62,6 @@
        }
    }
    [HttpPost("Save")]
    public ResponseResult Save([FromBody] QsItem item)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            var tbBillList = new SJService();
            var detail021 = tbBillList.Save(item);
            resultInfos.tbBillList = detail021;
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    //SaveItem
    [HttpPost("SaveItem")]
MESApplication/Controllers/QC/XJController.cs
@@ -35,28 +35,6 @@
        }
    }
    //getMaxReleaseNo
    [HttpPost("getMaxReleaseNo")]
    public ResponseResult getMaxReleaseNo()
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            var tbBillList =
                new XJService().getMaxReleaseNo();
            resultInfos.tbBillList = tbBillList;
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    //getLine
    [HttpPost("getLineAll")]
@@ -184,28 +162,6 @@
        }
    }
    //save
    [HttpPost("save")]
    public ResponseResult save([FromBody] XJDto xjDto)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            var tbBillList =
                new XJService().save(xjDto);
            resultInfos.tbBillList = tbBillList;
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    [HttpPost("saveItem")]
    public ResponseResult saveItem([FromBody] XJDto xjDto)
@@ -220,6 +176,31 @@
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    [HttpPost("GenUpdateXJ")]
    public ResponseResult GenUpdateXJ([FromBody] JObject data)
    {
        var id = Convert.ToDecimal(data["id"]?.ToString());
        var no = data["no"]?.ToString();
        var userNo = data["userNo"]?.ToString();
        try
        {
            dynamic resultInfos = new ExpandoObject();
            var service = new XJService();
            var (code, msg) = service.GenUpdateXJ(id, no, userNo);
            resultInfos.tbBillList = new { result = code, message = msg };
            return new ResponseResult
            {
                status = code,
                message = msg,
                data = resultInfos
            };
        }
@@ -442,4 +423,27 @@
            return ResponseResult.ResponseError(ex);
        }
    }
    [HttpPost("XJQaSubmit")]
    public ResponseResult XJQaSubmit([FromBody] JObject data)
    {
        var userNo = data["userNo"]?.ToString();
        var id = Convert.ToDecimal(data["gid"]?.ToString());
        try
        {
            dynamic resultInfos = new ExpandoObject();
            var tbBillList = new XJService().XJQaSubmit(userNo, id);
            resultInfos.tbBillList = tbBillList;
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
}