fcx
2 天以前 aa63b28eb1187509cfc54d4e56f5f4f669021563
1,巡检A工序不合格需要重新生成一张新的A工序;

2,巡检可以手动按工序创建;
3,巡检到工单非“已开工”的情况下停止自动生成;
4,新增工序时,最新的时间轴加上新的D工序=逻辑上,每次生成都要按最新的检验项目
已修改2个文件
已添加1个文件
206 ■■■■■ 文件已修改
StandardPda/MES.Service/Dto/service/CreateInspectionDto.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardPda/MES.Service/service/QC/XJService.cs 148 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardPda/MESApplication/Controllers/QC/XJController.cs 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardPda/MES.Service/Dto/service/CreateInspectionDto.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
namespace MES.Service.Dto.service
{
    public class CreateInspectionDto
    {
        /// <summary>
        /// ç”Ÿäº§çº¿åˆ«
        /// </summary>
        public string LineNo { get; set; }   // ç”Ÿäº§çº¿åˆ«
        /// <summary>
        /// ç‰©æ–™ç¼–码
        /// </summary>
        public string ItemNo { get; set; }   // ç‰©æ–™ç¼–码
        /// <summary>
        /// å·¥å•编号
        /// </summary>
        public string Daa001 { get; set; }   // å·¥å•编号
        /// <summary>
        /// ç™»å½•人账号
        /// </summary>
        public string account { get; set; }   // å·¥å•编号
    }
}
StandardPda/MES.Service/service/QC/XJService.cs
@@ -4,6 +4,8 @@
using MES.Service.util;
using SqlSugar;
using System.Data;
using System.Dynamic;
using DbType = System.Data.DbType;
namespace MES.Service.service.QC;
@@ -14,7 +16,7 @@
    private readonly BaseService _baseService = new();
    private readonly string[] statusArray = ["开工", "待开工"];
    private readonly string[] statusArray = ["已开工", "待开工"];
    //生成最新的检验单号
    public string getMaxReleaseNo()
@@ -387,6 +389,16 @@
            var sqlPass3 = $@"select ID from  QS_QA_ITEM_XJ
    WHERE ID = '{rkjDto.gid}'
    ";
            var dtPass3 = SQLHelper.ExecuteQuery(sqlPass3);
            var value4 = dtPass3.Rows[0][0];
            int sqlPass2 = Convert.ToInt32(value4);
            if (dt.Rows.Count > 0)
            {
                var resu = dt.Rows[0]["FCHECK_RESU"]?.ToString();
@@ -399,6 +411,65 @@
          where ID = '" + rkjDto.gid + "'";
                SQLHelper.ExecuteNonQuery(sqlUpdate);
            }
            var resu1 = dt.Rows[0]["FCHECK_RESU"]?.ToString();
            var fsubmit2 = resu1 == "合格" ? 1 : 0;
            if (fsubmit2 == 0)
            {
                var db = SqlSugarHelper.GetInstance();
                // ===== è¾“出参数 =====
                var outFlag = new SugarParameter("P_FLAG", null,
                    DbType.Int32, ParameterDirection.Output, 10);
                var outText = new SugarParameter("P_TEXT", null,
                    DbType.String, ParameterDirection.Output, 4000);
                // ===== è¾“入参数 =====
                var parameters = new List<SugarParameter>
        {
            new SugarParameter("P_ID", sqlPass2, DbType.Int64, ParameterDirection.Input),
            new SugarParameter("P_USER", rkjDto.userNo, DbType.String, ParameterDirection.Input),
            new SugarParameter("P_ISH", 0, DbType.Int64, ParameterDirection.Input),
            new SugarParameter("P_RELEASE_NO",rkjDto.releaseNo,DbType.String,ParameterDirection.Input),
            // è¾“出参数必须带上
            outFlag,
            outText
        };
                // ===== æ‰§è¡Œå­˜å‚¨è¿‡ç¨‹ =====
                db.Ado.ExecuteCommand(
                    "BEGIN PRC_XJ_GENERATE_two(:P_ID, :P_USER, :P_ISH,:P_RELEASE_NO, :P_FLAG, :P_TEXT); END;",
                    parameters);
                // ===== è¯»å–输出参数并转换成 ResponseResult =====
                var result = new ResponseResult
                {
                    status = outFlag.Value?.ToString() == "1" ? 1 : 0, // 0 è¡¨ç¤ºæˆåŠŸï¼Œ1 è¡¨ç¤ºå¤±è´¥
                    message = outText.Value?.ToString()
                };
                var useTransactionWithOracle1 =
                SqlSugarHelper.UseTransactionWithOracle(db =>
                {
                    return db.Updateable<QsQaItemXj>()
                        .SetColumns(s => s.Fsubmit == 1)
                        .SetColumns(s => s.FsubmitBy == rkjDto.userNo)
                        .SetColumns(s => s.FsubmitDate == DateTime.Now)
                        .Where(s => s.Id == rkjDto.gid)
                        .ExecuteCommand();
                });
                return new ResponseResult
                {
                    status = 0,
                    message = "提交成功",
                    data = useTransactionWithOracle1
                };
            }
            var useTransactionWithOracle =
                SqlSugarHelper.UseTransactionWithOracle(db =>
@@ -942,25 +1013,6 @@
    /// <summary>
    /// èŽ·å–å·¡æ£€æ£€å•æ‰€æœ‰ä¸è‰¯æè¿°
    /// </summary>
    /// <param name="id">检验单ID</param>
    /// <returns>不良描述数据表</returns>
    public DataTable ggetBlmsItem1(string id)
    {
        OracleSQLHelper SQLHelper = new();
        // æŸ¥è¯¢é¦–检检验单的不良描述
        var sql1 = string.Format(
            @"select PROJ_NAME, REMARKS
              from QS_QA_ITEM_XJ01 f
              where PID = '" + id + "' and REMARKS is not null  order by PROJ_NAME");
        return SQLHelper.ExecuteQuery(sql1);
    }
    //孙表修改备注字段
    public int saveRemarksById(XJDto dto)
@@ -973,10 +1025,66 @@
                .Where(it => it.Id == dto.id)
                .ExecuteCommand();
        });
    }
    /// <summary>
    /// æ·»åŠ å·¡æ£€å•
    /// </summary>
    public ResponseResult createInspection(CreateInspectionDto data)
    {
        try
        {
            OracleSQLHelper SQLHelper = new();
            var db = SqlSugarHelper.GetInstance();
            // ===== è¾“出参数 =====
            var outFlag = new SugarParameter("P_FLAG", null,
                DbType.Int32, ParameterDirection.Output, 10);
            var outText = new SugarParameter("P_TEXT", null,
                DbType.String, ParameterDirection.Output, 4000);
            // ===== è¾“入参数 =====
            var parameters = new List<SugarParameter>
        {
            new SugarParameter("P_line_type", data.LineNo, DbType.String, ParameterDirection.Input),
            new SugarParameter("P_Work_order_number", data.Daa001, DbType.String, ParameterDirection.Input),
            new SugarParameter("P_coding", data.ItemNo, DbType.String, ParameterDirection.Input),
            new SugarParameter("P_USER", data.account, DbType.String, ParameterDirection.Input),
            new SugarParameter("P_ISH", 0, DbType.Int64, ParameterDirection.Input),
            // è¾“出参数必须带上
            outFlag,
            outText
        };
            // ===== æ‰§è¡Œå­˜å‚¨è¿‡ç¨‹ =====
            db.Ado.ExecuteCommand(
                "BEGIN PRC_XJ_GENERATE_one(:P_line_type,:P_Work_order_number,:P_coding, :P_USER, :P_ISH, :P_FLAG, :P_TEXT); END;",
                parameters);
            // ===== è¯»å–输出参数并转换成 ResponseResult =====
            var result = new ResponseResult
            {
                status = outFlag.Value?.ToString() == "1" ? 1 : 0, // 0 è¡¨ç¤ºæˆåŠŸï¼Œ1 è¡¨ç¤ºå¤±è´¥
                message = outText.Value?.ToString()
            };
            return result;
            //return new ResponseResult
            //{
            //    status = 0,
            //    message = "OK",
            //    data = result
            //};
    }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
}
StandardPda/MESApplication/Controllers/QC/XJController.cs
@@ -529,6 +529,40 @@
    /// <summary>
    ///     æ·»åŠ å·¡æ£€å•
    /// </summary>
    /// <param name="data"></param>
    /// <returns></returns>
    [HttpPost("createInspection")]
    public ResponseResult createInspection([FromBody] CreateInspectionDto data)
    {
        try
        {
            var tbBillList = new XJService().createInspection(data);
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = tbBillList
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }