1、产测查询工单改为通过线体直接查询 2、产测sn新增接口添加周转码字段 3、来料检一致性核对代码提交
已修改6个文件
226 ■■■■■ 文件已修改
StandardPda/MES.Service/Dto/service/AsnInfo.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardPda/MES.Service/Dto/service/CCLoginDto.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardPda/MES.Service/service/QC/LljService.cs 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardPda/MES.Service/service/Warehouse/WomdaaManager.cs 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardPda/MESApplication/Controllers/QC/LljController.cs 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardPda/MESApplication/Controllers/Warehouse/womdaaController.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardPda/MES.Service/Dto/service/AsnInfo.cs
@@ -24,6 +24,10 @@
        /// </summary>
        public string loginId { get; set; }
        /// <summary>
        /// 周转码
        /// </summary>
        public string? turnoverCode { get; set; }
        /// <summary>
        /// 失败项目
        /// </summary>
        public List<CcFailItems>? failItems { get; set; }
StandardPda/MES.Service/Dto/service/CCLoginDto.cs
@@ -7,6 +7,10 @@
        /// </summary>
        public string LoginId { get; set; }
        /// <summary>
        /// 线体
        /// </summary>
        public string LineId { get; set; }
       
    }
}
StandardPda/MES.Service/service/QC/LljService.cs
@@ -1,11 +1,12 @@
using System.Data;
using Masuit.Tools;
using Masuit.Tools;
using MES.Service.DB;
using MES.Service.Dto.service;
using MES.Service.Modes;
using MES.Service.util;
using Newtonsoft.Json;
using SqlSugar;
using System.ComponentModel;
using System.Data;
using DbType = System.Data.DbType;
@@ -881,6 +882,130 @@
        }
    }
    public List<Component> getYzxBDlist(string id)
    {
        OracleSQLHelper SQLHelper = new();
        //查元器件
        //var sql1 =
        //    string.Format(
        //        @"select ITEMNAME from MES_IQC_CONSISTENCY_ck where PID='" +
        //        id + "' group by ITEMNAME order by ITEMNAME");
        var sql1 =
            string.Format(
                @"select CASE WHEN max(MULTI_SELECT) is null THEN ''ELSE '【'||max(MULTI_SELECT)||'】' END  as A,ITEMNAME as ITEMNAME   from MES_IQC_CONSISTENCY_ck where PID='" + id + "' group by ITEMNAME order by ITEMNAME");
        //查明细
        var sql2 =
            string.Format(@"select * from MES_IQC_CONSISTENCY_ck where PID='" +
                          id + "' order by ITEMNAME,ITEMMODE,SUPPNAME");
        var dataTable1 = SQLHelper.ExecuteQuery(sql1);
        var dataTable2 = SQLHelper.ExecuteQuery(sql2);
        var Components = new List<Component>();
        for (var i = 0; i < dataTable1.Rows.Count; i++)
        {
            var component = new Component();
            component.Name = dataTable1.Rows[i]["A"].ToString() + dataTable1.Rows[i]["ITEMNAME"].ToString();
            component.Specs = new List<string>();
            component.Manufacturers = new List<string>();
            component.Id = new List<string>();
            component.SelectedSpec = -1;
            component.SelectedMfg = -1;
            var index = 0;
            for (var j = 0; j < dataTable2.Rows.Count; j++)
                if (dataTable2.Rows[j]["ITEMNAME"].ToString() ==
                    dataTable1.Rows[i]["ITEMNAME"].ToString())
                {
                    component.Specs.Add(dataTable2.Rows[j]["ITEMMODE"]
                        .ToString());
                    component.Manufacturers.Add(dataTable2.Rows[j]["SUPPNAME"]
                        .ToString());
                    component.Id.Add(dataTable2.Rows[j]["ID"].ToString());
                    if (dataTable2.Rows[j]["ISCHACK"].ToString() == "1")
                    {
                        component.SelectedSpec = index;
                        component.SelectedMfg = index;
                    }
                    index++;
                }
            Components.Add(component);
        }
        return Components;
    }
    /// <summary>
    ///     一致性项目
    /// </summary>
    public class Component
    {
        public string Name { get; set; }
        public List<string> Specs { get; set; }
        public List<string> Manufacturers { get; set; }
        public List<string> Id { get; set; }
        public int SelectedSpec { get; set; }
        public int SelectedMfg { get; set; }
    }
    public void saveYzxBDlist(string id, DataTable DB)
    {
        OracleSQLHelper SQLHelper = new();
        //先把结果清空
        var sql1 =
            string.Format(
                @"update MES_IQC_CONSISTENCY_ck set ISCHACK=0 where PID='" +
                id + "' ");
        SQLHelper.ExecuteQuery(sql1);
        var rowId = "";
        for (var i = 0; i < DB.Rows.Count; i++)
            rowId += "'" + DB.Rows[i]["id"] + "',";
        rowId = rowId.Substring(0, rowId.Length - 1);
        //修改结果
        var sql2 =
            string.Format(
                @"update MES_IQC_CONSISTENCY_ck set ISCHACK=1 where PID='" +
                id + "'and id in(" + rowId + ") ");
        SQLHelper.ExecuteQuery(sql2);
    }
    public string[] YzxImgVerify(string id)
    {
        var msgStr = new string[2];
        OracleSQLHelper SQLHelper = new();
        //修改结果
        //var sql2 = string.Format(
        //    @"select A.ITEMNAME from ( select 888||min(id) id,ITEMNAME from MES_IQC_CONSISTENCY_CK where pid='" +
        //    id + "' group by  ITEMNAME) A " +
        //    "left join MES_QS_IMAGE b on a.id=b.fid where B.id is null order by ITEMNAME");
        var sql2 = string.Format(
         @"select A.ITEMNAME from ( select 888||min(id) id,ITEMNAME from MES_IQC_CONSISTENCY_CK where pid='" + id.ToString() + "' and ITEMNAME not in(select ITEMNAME from MES_IQC_CONSISTENCY_CK where PID='" + id.ToString() + "'  and MULTI_SELECT is not null)" +
         "group by  ITEMNAME) A" +
         " left join MES_QS_IMAGE b on a.id=b.fid where B.id is null" +
         " union" +
         " select  '分组:' || MULTI_SELECT as ITEMNAME      from MES_IQC_CONSISTENCY_CK      where pid = '" + id.ToString() + "'        and MULTI_SELECT is not null and MULTI_SELECT not in(select  A.MULTI_SELECT as ITEMNAME from (select 888 || min(id) id, MULTI_SELECT      from MES_IQC_CONSISTENCY_CK      where pid = '" + id.ToString() + "'       and MULTI_SELECT is not null      group by MULTI_SELECT,ITEMNAME) A        left join MES_QS_IMAGE b on a.id = b.fid where B.id is not null)     group by MULTI_SELECT");
        var db = SQLHelper.ExecuteQuery(sql2);
        if (db.Rows.Count > 0)
        {
            msgStr[1] = "元器件:";
            for (var i = 0; i < db.Rows.Count; i++)
                msgStr[1] += db.Rows[i]["ITEMNAME"] + ",";
            msgStr[1] += "未完成图片上传,请上传!";
            msgStr[0] = "1";
        }
        else
        {
            msgStr[0] = "0";
            msgStr[1] = "ok";
        }
        return msgStr;
    }
    /// <summary>
    ///     料号图纸接口返回对象
    /// </summary>
StandardPda/MES.Service/service/Warehouse/WomdaaManager.cs
@@ -39,12 +39,13 @@
            //取直接关联线体的产测登录号数据,去取获取工单
            var sql1 = "select DAA001 tickeNo,s.ITEM_NO itemNo,s.ITEM_NAME itemName,s.ITEM_MODEL itemModel,DAA008 plannedNum from " +
                "MESLINE_LIKE_CCLOGIN_WORKS A1" +
                "                        join MES_LINE b on A1.LOGINID=b.ID" +
                "                        left join WOMDAA C on C.DAA015=B.LINE_NO" +
                "                        left join mes_items s on s.id = C.daa002" +
                "                       where WORKSNO='" + id + "' and DAA018='已开工'  order by DAA016 asc";
            //var sql1 = "select DAA001 tickeNo,s.ITEM_NO itemNo,s.ITEM_NAME itemName,s.ITEM_MODEL itemModel,DAA008 plannedNum from " +
            //    "MESLINE_LIKE_CCLOGIN_WORKS A1" +
            //    "                        join MES_LINE b on A1.LOGINID=b.ID" +
            //    "                        left join WOMDAA C on C.DAA015=B.LINE_NO" +
            //    "                        left join mes_items s on s.id = C.daa002" +
            //    "                       where WORKSNO='" + id + "' and DAA018='已开工'  order by DAA016 asc";
            var sql1 = "select DAA001 tickeNo, s.ITEM_NO itemNo, s.ITEM_NAME itemName, s.ITEM_MODEL itemModel, DAA008 plannedNum\r\nfrom  WOMDAA C\r\n         left join mes_items s on s.id = C.daa002\r\nleft join womcaa A on A.caa001=C.daa021\r\nwhere C.DAA015 = '" + id + "'\r\n  and DAA018 = '已开工' and A.CAA023='2'\r\norder by DAA016 asc";
            return SQLHelper.ExecuteQuery(sql1);
        }
@@ -91,13 +92,13 @@
                // 1. 主表插入
                var sql1 = $@"
            INSERT INTO MES_SN_STATUS_DETAILS
              (ID, TICKET_NO, SN_NO, WORKSTATION_NO, SN_STATE, LOGIN_ID)
              (ID, TICKET_NO, SN_NO, WORKSTATION_NO, SN_STATE, LOGIN_ID,TURNOVER_CODE)
              VALUES (SEQ_MES_SN_STATUS_DETAILS_ID.NEXTVAL,
                      '{asnInfo.tickeNo}',
                      '{asnInfo.snNo}',
                      '{asnInfo.workstationNo}',
                      '{asnInfo.snState}',
                      '{asnInfo.loginId}')";
                      '{asnInfo.loginId}','{asnInfo.turnoverCode}')";
                int i = sqlHelper.ExecuteNonQueryWithTransaction(connection, transaction, sql1);
                // 2. 失败项插入
StandardPda/MESApplication/Controllers/QC/LljController.cs
@@ -1,11 +1,12 @@
using System.Data;
using System.Dynamic;
using MES.Service.Dto.service;
using MES.Service.Dto.service;
using MES.Service.Modes;
using MES.Service.service.QC;
using MES.Service.util;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System.Data;
using System.Dynamic;
namespace MESApplication.Controllers.QC;
@@ -447,4 +448,67 @@
            return ResponseResult.ResponseError(ex);
        }
    }
    /// <summary>
    ///     获取一致性核对项目
    /// </summary>
    /// <param name="data"></param>
    /// <returns></returns>
    [HttpPost("getYzxItem")]
    public ResponseResult getYzxItem([FromBody] JObject data)
    {
        var id = data["id"]?.ToString();
        try
        {
            var tbBillList = new LljService().getYzxBDlist(id);
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = tbBillList
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    /// <summary>
    ///     保存一致性核对项目
    /// </summary>
    /// <param name="data"></param>
    /// <returns></returns>
    [HttpPost("saveYzxItem")]
    public ResponseResult saveYzxItem([FromBody] JObject data)
    {
        var id = data["id"]?.ToString();
        var dataDt = data["data"]?.ToString();
        var dt = JsonConvert.DeserializeObject<DataTable>(dataDt);
        try
        {
            if (!dt.Columns.Contains("id"))
            {
                return new ResponseResult
                {
                    status = 1,
                    message = "请先选择数据再保存!",
                    data = "请先选择数据再保存!"
                };
            }
            new LljService().saveYzxBDlist(id, dt);
            var msg = new LljService().YzxImgVerify(id);
            return new ResponseResult
            {
                status = int.Parse(msg[0]),
                message = msg[1],
                data = ""
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
}
StandardPda/MESApplication/Controllers/Warehouse/womdaaController.cs
@@ -42,7 +42,7 @@
            try
            {
                dynamic resultInfos = new ExpandoObject();
                var result = m.GetTickeInfo(ccLoginDto.LoginId);
                var result = m.GetTickeInfo(ccLoginDto.LineId);
                resultInfos.tbBillList = result;
                entity.Result = 0;