xwt
7 天以前 89b4e034c1c6157a71c5bf323055e989f420b588
维护检验人
已修改7个文件
191 ■■■■■ 文件已修改
StandardInterface/MES.Service/Dto/service/XJPageResult.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardInterface/MES.Service/Modes/LtsLlj.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardInterface/MES.Service/Modes/MesQaItemsDetect01.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardInterface/MES.Service/service/QC/LljService.cs 134 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardInterface/MES.Service/util/ResponseResult.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardInterface/MESApplication/Controllers/QC/LljController.cs 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardInterface/MESApplication/appsettings.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardInterface/MES.Service/Dto/service/XJPageResult.cs
@@ -10,4 +10,7 @@
    public string? id { get; set; }
    public string? SearchValue { get; set; }
    public string? UserIndex { get; set; }
}
StandardInterface/MES.Service/Modes/LtsLlj.cs
@@ -201,4 +201,7 @@
    /// </summary>
    [SugarColumn(IsIgnore = true)]
    public string? NewFngDesc { get; set; }
    [SugarColumn(IsIgnore = true)]
    //紧急放行标识
    public int EMERGENCY { get; set; }
}
StandardInterface/MES.Service/Modes/MesQaItemsDetect01.cs
@@ -459,4 +459,9 @@
    /// </summary>
    [SugarColumn(ColumnName = "MANAGER_USER")]
    public string? ManagerUser { get; set; }
    /// <summary>
    ///     紧急放行
    /// </summary>
    [SugarColumn(ColumnName = "MANAGER_USER")]
    public int EMERGENCY { get; set; }
}
StandardInterface/MES.Service/service/QC/LljService.cs
@@ -1,10 +1,12 @@
using System.Data;
using System.Xml;
using Masuit.Tools;
using MES.Service.DB;
using MES.Service.Dto.service;
using MES.Service.Modes;
using MES.Service.util;
using SqlSugar;
using Tea.Utils;
using DbType = System.Data.DbType;
@@ -22,23 +24,36 @@
        var totalCount = 0;
        //var itemIds = GetQaItem(db, queryObj.createUser);
        var pageList = db.Queryable<LtsLlj>()
        var pageList = db.Queryable<LtsLlj, IqcBefore, SysUser,
                IqcBeforeFrom, SysUser, SysUser>((a, b,
                    e, f, g, i) =>
                new JoinQueryInfos(JoinType.Left, a.ItemId == b.ItemId,
                    JoinType.Left, a.CreateBy == e.Fcode,
                    JoinType.Left, f.Id == b.Pid,
                    JoinType.Left, f.Sid == Convert.ToDecimal(g.Fid),
                    JoinType.Left, f.CheckUser == i.Fcode
                ))
            .WhereIF(
                StringUtil.IsNotNullOrEmpty(queryObj.result) &&
                "未完成".Equals(queryObj.result),
                a => a.FcheckResu == null)
                (a, b,
                    e, f, g, i) => a.FcheckResu == null)
            .WhereIF(
                StringUtil.IsNotNullOrEmpty(queryObj.result) &&
                !"未完成".Equals(queryObj.result),
                a => a.FcheckResu != null)
            .WhereIF(id > 0, a => a.Id == id)
                (a, b,
                    e, f, g, i) => a.FcheckResu != null)
            .WhereIF(id > 0, (a, b,
                    e, f, g, i) => a.Id == id)
            .WhereIF(queryObj.createUser != "PL017" && queryObj.UserIndex == "0", (a, b,
                    e, f, g, i) => (g.Fcode == queryObj.createUser || i.Fcode == queryObj.createUser ||
                                   (g.Fcode == null && i.Fcode == null)))//判断此单的检验员,或者检验为空就显示此单据
            //加筛选条件,根据供应商,物料编码,物料名称搜索
            //.WhereIF(queryObj.SearchValue!=null && queryObj.SearchValue!="", (a) => a.SuppName == queryObj.SearchValue|| a.ItemName == queryObj.SearchValue || a.ItemNo == queryObj.SearchValue )
            .WhereIF(!string.IsNullOrEmpty(queryObj.SearchValue),
                a => a.SuppName.ToLower()
                (a, b,
                    e, f, g, i) => a.SuppName.ToLower()
                         .Contains(queryObj.SearchValue.ToLower())
                     || a.ItemName.ToLower()
                         .Contains(queryObj.SearchValue.ToLower())
@@ -50,10 +65,20 @@
                        .Contains(queryObj.SearchValue.ToLower())
                     || a.ItemModel.ToLower()
                        .Contains(queryObj.SearchValue.ToLower()))
            .OrderByDescending(a => a.Id)
            .OrderByDescending((a, b,
                    e, f, g, i) => a.Id)
            //.Select((a, b,
            //        e, f, g, i) => new LtsLlj
            //        {
            //            //UserName = g.Fname,
            //            //UserName = (i.Fname!=null ||i.Fname!="") ? i.Fname : g.Fname,
            //            UserName = i.Fname != null || i.Fname != "" ? i.Fname : g.Fname,
            //            CreateUserName = e.Fname
            //        }, true)
            .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount);
        var emergencyValues = pageList.Select(item => item.EMERGENCY).ToList();
        //return (pageList, totalCount);
        return (pageList, totalCount);
    }
@@ -101,6 +126,92 @@
        msg[1] = messageValue;
        return msg;
    }
    //紧急放行
    public string[] EmergencyRelease(int id)
    {
        var db = SqlSugarHelper.GetInstance();
        int emergencyStatus = db.Queryable<MesQaItemsDetect01>()
                                .Where(t => t.Id == id)
                                .Select(t => t.EMERGENCY)
                                .First();
        if (emergencyStatus != 0)
        {
            return new string[] { "1", "非紧急状态,无法执行紧急放行" };
        }
        var outputResult = new SugarParameter("PO_RESULT", null,
            DbType.Int32, ParameterDirection.Output, 4000);
        var outputMessage = new SugarParameter("PO_MSG", null,
            DbType.String, ParameterDirection.Output, 4000);
        var parameters = new List<SugarParameter>
    {
        new("P_ID", id, DbType.Int32, ParameterDirection.Input),
        outputResult,
        outputMessage
    };
        db.Ado.ExecuteCommand(
            "BEGIN prc_MES_QA_ITEMS_update1(:P_ID, :PO_RESULT, :PO_MSG); END;",
            parameters.ToArray());
        var lotNo1 = db.Queryable<MesQaItemsDetect01>()
                   .Where(t => t.Id == id)
                   .Select(t => t.LotNo1)
                   .First();
        var resultValue = outputResult.Value?.ToString();
        var messageValue = outputMessage.Value?.ToString();
        return new string[] { resultValue, messageValue, lotNo1?.ToString() ?? "" };
    }
    public string[] WithdrawEmergencyRelease(int id)
    {
        var db = SqlSugarHelper.GetInstance();
        int emergencyStatus = db.Queryable<MesQaItemsDetect01>()
                                .Where(t => t.Id == id)
                                .Select(t => t.EMERGENCY)
                                .First();
        if (emergencyStatus != 0)
        {
            return new string[] { "1", "非紧急状态,无需撤回" };
        }
        var outputResult = new SugarParameter("PO_RESULT", null,
            DbType.Int32, ParameterDirection.Output, 4000);
        var outputMessage = new SugarParameter("PO_MSG", null,
            DbType.String, ParameterDirection.Output, 4000);
        var parameters = new List<SugarParameter>
    {
        new("P_ID", id, DbType.Int32, ParameterDirection.Input),
        outputResult,
        outputMessage
    };
        db.Ado.ExecuteCommand(
            "BEGIN prc_MES_QA_ITEMS_update2(:P_ID, :PO_RESULT, :PO_MSG); END;",
            parameters.ToArray());
        var lotNo1 = db.Queryable<MesQaItemsDetect01>()
                   .Where(t => t.Id == id)
                   .Select(t => t.LotNo1)
                   .First();
        var resultValue = outputResult.Value?.ToString();
        var messageValue = outputMessage.Value?.ToString();
        return new string[] { resultValue, messageValue, lotNo1?.ToString() ?? "" };
    }
    private string ExtractSubstring(string input, char startChar, char endChar)
@@ -194,7 +305,7 @@
                a.FreQty,
                a.CheckQyt,
                a.FcheckResu,
                a.FcheckItemDesc
                a.FcheckItemDesc,a.Funit
            }).Select((a, b) => new MesQaItemsDetectDetail5
            {
                Id = a.Id,
@@ -215,7 +326,8 @@
                FenterQty = SqlFunc.AggregateCount(b.Id),
                FcheckResu = a.FcheckResu,
                // FcheckItemDesc = a.FcheckItemDesc
                FcheckItemDesc = a.FspecRequ
                FcheckItemDesc = a.FspecRequ,
                Funit  =a.Funit
            }).ToList();
    }
StandardInterface/MES.Service/util/ResponseResult.cs
@@ -17,6 +17,7 @@
    public int TotalCount { get; set; } = 0;
    //失败的返回结果
    public static ResponseResult ResponseError(Exception e)
    {
StandardInterface/MESApplication/Controllers/QC/LljController.cs
@@ -273,4 +273,47 @@
            return ResponseResult.ResponseError(ex);
        }
    }
    [HttpPost("EmergencyRelease")]
    public ResponseResult EmergencyRelease([FromBody] JObject data)
    {
        var id = Convert.ToInt32(data["id"].ToString());
        try
        {
            dynamic resultInfos = new ExpandoObject();
            var tbBillList = new LljService().EmergencyRelease(id);
            resultInfos.tbBillList = tbBillList;
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    [HttpPost("WithdrawEmergencyRelease")]
    public ResponseResult WithdrawEmergencyRelease([FromBody] JObject data)
    {
        var id = Convert.ToInt32(data["id"].ToString());
        try
        {
            dynamic resultInfos = new ExpandoObject();
            var tbBillList = new LljService().WithdrawEmergencyRelease(id);
            resultInfos.tbBillList = tbBillList;
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
}
StandardInterface/MESApplication/appsettings.json
@@ -10,6 +10,6 @@
  "AppSettings": {
    "TestErpUrl": "http://192.168.11.120:8098/WebService1.asmx/mesToErpinfo",
    "ProductionErpUrl": "http://192.168.11.120:8098/WebService1.asmx/mesToErpinfoFormal",
    "DataBaseConn": "Data Source = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.22)(PORT = 1521))(CONNECT_DATA = (SERVICE_NAME = ORCL))); Persist Security Info=True;User ID = test_dev; Password=hmprd"
    "DataBaseConn": "Data Source = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.22)(PORT = 1521))(CONNECT_DATA = (SERVICE_NAME = ORCL))); Persist Security Info=True;User ID = hm_prd; Password=hmprd"
  }
}