| | |
| | | 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 Microsoft.EntityFrameworkCore.Metadata.Internal; |
| | | using MySqlConnector; |
| | | using Newtonsoft.Json; |
| | | using SharpCompress.Factories; |
| | | using SqlSugar; |
| | | using System.Data; |
| | | using System.Xml.Linq; |
| | | using static Microsoft.EntityFrameworkCore.DbLoggerCategory.Database; |
| | | using DbType = System.Data.DbType; |
| | | |
| | | |
| | |
| | | |
| | | public class LljService |
| | | { |
| | | private static readonly HttpClient client = new(); |
| | | |
| | | public (List<LtsLlj> item, int TotalCount) GetPage(XJPageResult queryObj) |
| | | { |
| | | if (queryObj.createUser.IsNullOrEmpty()) |
| | | { |
| | | return ([], 0); |
| | | } |
| | | if (queryObj.createUser.IsNullOrEmpty()) return ([], 0); |
| | | |
| | | var db = SqlSugarHelper.GetInstance(); |
| | | |
| | |
| | | |
| | | var totalCount = 0; |
| | | |
| | | var itemIds = GetQaItem(db, queryObj.createUser); |
| | | //var itemIds = GetQaItem(db, queryObj.createUser); |
| | | |
| | | var pageList = db.Queryable<LtsLlj, IqcBefore, SysUser, VMesQaItemsDetect01, SysUser>((a, b, c,d,e) => |
| | | var pageList = db |
| | | .Queryable<LtsLlj, IqcBefore, VMesQaItemsDetect01, SysUser, |
| | | IqcBeforeFrom, SysUser, InspectorChangeLog, SysUser>((a, b, d, e, f, g,h,i) => |
| | | new JoinQueryInfos(JoinType.Left, a.ItemId == b.ItemId, |
| | | JoinType.Left, b.Sid == c.Fid, |
| | | JoinType.Inner, a.Id == d.Id, |
| | | JoinType.Left, a.CreateBy == e.Fcode |
| | | JoinType.Left, a.CreateBy == e.Fcode, |
| | | JoinType.Left, f.Id == b.PID, |
| | | JoinType.Left, f.Sid == g.Fid, |
| | | JoinType.Left,a.ReleaseNo==h.InspectionNo && h.IsValid=="Y", |
| | | JoinType.Left,i.Fcode==h.Inspector |
| | | )) |
| | | .WhereIF( |
| | | StringUtil.IsNotNullOrEmpty(queryObj.result) && |
| | | "未完成".Equals(queryObj.result), |
| | | (a, b, c) => a.FcheckResu == null ) |
| | | (a, b, d) => a.FcheckResu == null) |
| | | .WhereIF( |
| | | StringUtil.IsNotNullOrEmpty(queryObj.result) && |
| | | !"未完成".Equals(queryObj.result), |
| | | (a, b, c) => a.FcheckResu != null) |
| | | .WhereIF( |
| | | itemIds is { Length: > 0 }, |
| | | (a, b, c) => itemIds.Contains(a.ItemId)) |
| | | .WhereIF(id > 0, (a, b, c) => a.Id == id) |
| | | //加筛选条件,根据供应商,物料编码,物料名称搜索 |
| | | //.WhereIF(queryObj.SearchValue!=null && queryObj.SearchValue!="", (a) => a.SuppName == queryObj.SearchValue|| a.ItemName == queryObj.SearchValue || a.ItemNo == queryObj.SearchValue ) |
| | | .WhereIF(queryObj.SearchValue != null && queryObj.SearchValue != "", |
| | | (a) => (a.SuppName.ToLower().Contains(queryObj.SearchValue.ToLower()) |
| | | || a.ItemName.ToLower().Contains(queryObj.SearchValue.ToLower()) |
| | | || a.ItemNo.ToLower().Contains(queryObj.SearchValue.ToLower()))) |
| | | .OrderByDescending((a, b, c) => a.Id) |
| | | .Select((a, b, c, d,e) => new LtsLlj |
| | | (a, b, d) => a.FcheckResu != null) |
| | | //.WhereIF( |
| | | // itemIds is { Length: > 0 }, |
| | | // (a, b, c) => itemIds.Contains(a.ItemId)) |
| | | .WhereIF(id > 0, (a, b, d) => a.Id == id) |
| | | .WhereIF(queryObj.createUser!="PL017"&& queryObj.UserIndex=="0", (a, b, d, e, f, g,h, i) => (g.Fcode == queryObj.createUser || i.Fcode == queryObj.createUser))//判断此单的检验员,或者检验为空就显示此单据 |
| | | //加筛选条件,根据供应商,物料编码,物料名称,项目搜索 |
| | | //.WhereIF(queryObj.SearchValue != null && queryObj.SearchValue != "", |
| | | //(a, b, d) => (a.SuppName.ToLower().Contains(queryObj.SearchValue.ToLower()) |
| | | //|| a.ItemName.ToLower().Contains(queryObj.SearchValue.ToLower()) |
| | | //|| a.ItemNo.ToLower().Contains(queryObj.SearchValue.ToLower()) |
| | | //|| d.ProjectCodes.ToLower().Contains(queryObj.SearchValue.ToLower()) |
| | | //)) |
| | | |
| | | //根据下拉框搜索条件筛选(0项目, 1物料编号, 2物料名称, 3供应商, 4采购员) |
| | | .WhereIF(queryObj.SelectedIndex == "0" && queryObj.SearchValue != null && queryObj.SearchValue != "", (a, b, d) => (d.ProjectCodes.ToLower().Contains(queryObj.SearchValue.ToLower()))) |
| | | .WhereIF(queryObj.SelectedIndex == "1" && queryObj.SearchValue != null && queryObj.SearchValue != "", (a, b, d) => (a.ItemNo.ToLower().Contains(queryObj.SearchValue.ToLower()))) |
| | | .WhereIF(queryObj.SelectedIndex == "2" && queryObj.SearchValue != null && queryObj.SearchValue != "", (a, b, d) => (a.ItemName.ToLower().Contains(queryObj.SearchValue.ToLower()))) |
| | | .WhereIF(queryObj.SelectedIndex == "3" && queryObj.SearchValue != null && queryObj.SearchValue != "", (a, b, d) => (a.SuppName.ToLower().Contains(queryObj.SearchValue.ToLower()))) |
| | | .WhereIF(queryObj.SelectedIndex == "4" && queryObj.SearchValue != null && queryObj.SearchValue != "", (a, b, d, e) => (e.Fname.ToLower().Contains(queryObj.SearchValue.ToLower()))) |
| | | //.OrderByDescending((a, b, d) => a.Id) |
| | | .Select((a, b, d, e, f, g,h,i) => new LtsLlj |
| | | { |
| | | UserName = c.Fname, |
| | | FIRST=d.First, |
| | | CreateUserName=e.Fname |
| | | //UserName = g.Fname, |
| | | //UserName = (i.Fname!=null ||i.Fname!="") ? i.Fname : g.Fname, |
| | | UserName = (i.Fname!=null ||i.Fname!="") ? i.Fname : g.Fname, |
| | | FIRST = d.First, |
| | | CreateUserName = e.Fname, |
| | | NewFngDesc = d.NewFngDesc, |
| | | ProjectCodes = d.ProjectCodes |
| | | }, true) |
| | | .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount); |
| | | |
| | | |
| | | return (pageList, totalCount); |
| | | } |
| | |
| | | |
| | | |
| | | //根据检验标准来计算检验个数 |
| | | public List<MesQaItemsDetectDetail5> SetItems(string itemNo, |
| | | //public List<MesQaItemsDetectDetail5> SetItems(string itemNo, |
| | | // decimal quantity, string releaseNo) |
| | | //{ |
| | | // var db = SqlSugarHelper.GetInstance(); |
| | | |
| | | |
| | | // var count = db.Queryable<MesQaIqc>().Where(s => s.EE == 1 && |
| | | // s.ISENABLED == 1 |
| | | // && s.ItemNo == itemNo && s.FTYPE == "1").Count(); |
| | | |
| | | // if (count <= 0) return []; |
| | | |
| | | // var mesQaIqcItem = db |
| | | // .Queryable<MesQaIqc>().Where(s => s.EE == 1 && s.ISENABLED == 1 |
| | | // && s.ItemNo == itemNo && s.FTYPE == "1").Select( |
| | | // b => new MesQaItemsDetectDetail5 |
| | | // { |
| | | // ReleaseNo = releaseNo, |
| | | // FacLevel = b.FacLevel, |
| | | // FcheckItem = b.FcheckItem, |
| | | // FdownAllow = b.FdownAllow, |
| | | // FcheckLevel = b.FREQUENCY, |
| | | // Fstand = b.FSTAND, |
| | | // FupAllow = b.FupAllow, |
| | | // SampleSizeNo = b.SampleSizeNo, |
| | | // FenterQty = 0, |
| | | // Factory = "1000", |
| | | // Company = "1000", |
| | | |
| | | |
| | | // // FcheckItemDesc = "0", |
| | | // // FcheckResu = "0", |
| | | // FcheckTool = b.FcheckTool, |
| | | // FspecRequ = b.FspecRequ |
| | | // // FtextType = "0", |
| | | // // Funit = "0", |
| | | // // LastupdateBy = "0", |
| | | // // ProcNo = "0", |
| | | // // WorkshopCenterCode = "0" |
| | | // }).ToList(); |
| | | |
| | | // mesQaIqcItem.ForEach(item => |
| | | // { |
| | | // var LEV = item.FcheckLevel switch |
| | | // { |
| | | // null => "" // 默认值 |
| | | // , |
| | | // { } s when s.Contains("S1") => "B.FLEVEL_S1", |
| | | // { } s when s.Contains("S2") => "B.FLEVEL_S2", |
| | | // { } s when s.Contains("S3") => "B.FLEVEL_S3", |
| | | // { } s when s.Contains("S4") => "B.FLEVEL_S4", |
| | | // { } s when s.Contains("(I)") => "B.FLEVEL_I", |
| | | // { } s when s.Contains("(II)") => "B.FLEVEL_II", |
| | | // { } s when s.Contains("(III)") => "B.FLEVEL_III", |
| | | // _ => "" |
| | | // }; |
| | | |
| | | // if (string.IsNullOrEmpty(LEV)) |
| | | // throw new Exception(item.SampleSizeNo + "的检验水平不正确"); |
| | | |
| | | // var sql = |
| | | // "SELECT " + LEV + |
| | | // " FROM MES_QM_AQL1 A LEFT JOIN MES_QM_AQL2 B ON B.AQL1_ID=A.ID WHERE A.SAMPLE_SIZE_NO='" + |
| | | // item.SampleSizeNo + "' AND B.LOT_FROM<= " + quantity + |
| | | // " AND " + |
| | | // quantity + "<=B.LOT_TO"; |
| | | |
| | | // var maxBillNo = db.Ado.SqlQuerySingle<string>(sql); |
| | | |
| | | // if (string.IsNullOrEmpty(maxBillNo)) |
| | | // throw new Exception(item.SampleSizeNo + "下的" + quantity + |
| | | // "这个范围下没有匹配到检验项目"); |
| | | |
| | | // var result = ExtractSubstring(item.FacLevel, '(', ')'); |
| | | |
| | | // if (string.IsNullOrEmpty(result)) |
| | | // throw new Exception(item.SampleSizeNo + "下的" + quantity + |
| | | // "拒收水平不正确"); |
| | | |
| | | // sql = "SELECT FSAMPLE_SIZE_WORD, " + result + |
| | | // " Result FROM MES_QM_AQL1 A LEFT JOIN MES_QM_AQL3 C ON C.AQL1_ID=A.ID WHERE A.SAMPLE_SIZE_NO= '" + |
| | | // item.SampleSizeNo + "' AND SAMPLE_SIZE_WORD= '" + maxBillNo + |
| | | // "'"; |
| | | // var resultClass = db.Ado.SqlQuerySingle<ResultClass>(sql); |
| | | |
| | | // item.CheckQyt = resultClass.FSAMPLE_SIZE_WORD; |
| | | // item.FreQty = resultClass.Result; |
| | | // }); |
| | | |
| | | // return mesQaIqcItem; |
| | | //} |
| | | |
| | | |
| | | /// <summary> |
| | | /// 调用存储过程,重新获取检验项目 |
| | | /// </summary> |
| | | /// <param name="itemNo"></param> |
| | | /// <param name="quantity"></param> |
| | | /// <param name="releaseNo"></param> |
| | | /// <returns></returns> |
| | | public string[] SetItems(string itemNo, |
| | | decimal quantity, string releaseNo) |
| | | { |
| | | // 定义输出参数 |
| | | var outputResult = new SugarParameter("o_Result", null, |
| | | DbType.Int32, ParameterDirection.Output, |
| | | 4000); |
| | | |
| | | var outputMessage = new SugarParameter("o_Msg", null, |
| | | DbType.String, |
| | | ParameterDirection.Output, 4000); |
| | | |
| | | // 定义输入参数 |
| | | var parameters = new List<SugarParameter> |
| | | { |
| | | new("P_RELEASE_NO", releaseNo, |
| | | DbType.String, ParameterDirection.Input), |
| | | outputResult, |
| | | outputMessage |
| | | }; |
| | | |
| | | var db = SqlSugarHelper.GetInstance(); |
| | | |
| | | // 使用 SqlSugar 执行存储过程 |
| | | db.Ado.ExecuteCommand( |
| | | "BEGIN PRC_QA_ITEM_INSERT_BTN(:P_RELEASE_NO, :o_Result, :o_Msg); END;", |
| | | parameters.ToArray()); |
| | | |
| | | var count = db.Queryable<MesQaIqc>().Where(s => s.EE == 1 && |
| | | s.ISENABLED == 1 |
| | | && s.ItemNo == itemNo && s.FTYPE == "1").Count(); |
| | | // 获取输出参数的值 |
| | | var resultValue = outputResult.Value?.ToString(); |
| | | var messageValue = outputMessage.Value?.ToString(); |
| | | string[] msg = new string[2]; |
| | | msg[0] = resultValue; |
| | | msg[1] = messageValue; |
| | | return msg; |
| | | |
| | | if (count <= 0) return []; |
| | | |
| | | var mesQaIqcItem = db |
| | | .Queryable<MesQaIqc>().Where(s => s.EE == 1 && s.ISENABLED == 1 |
| | | && s.ItemNo == itemNo && s.FTYPE == "1").Select( |
| | | b => new MesQaItemsDetectDetail5 |
| | | { |
| | | ReleaseNo = releaseNo, |
| | | FacLevel = b.FacLevel, |
| | | FcheckItem = b.FcheckItem, |
| | | FdownAllow = b.FdownAllow, |
| | | FcheckLevel = b.FREQUENCY, |
| | | Fstand = b.FSTAND, |
| | | FupAllow = b.FupAllow, |
| | | SampleSizeNo = b.SampleSizeNo, |
| | | FenterQty = 0, |
| | | Factory = "1000", |
| | | Company = "1000", |
| | | |
| | | |
| | | // FcheckItemDesc = "0", |
| | | // FcheckResu = "0", |
| | | FcheckTool = b.FcheckTool, |
| | | FspecRequ = b.FspecRequ |
| | | // FtextType = "0", |
| | | // Funit = "0", |
| | | // LastupdateBy = "0", |
| | | // ProcNo = "0", |
| | | // WorkshopCenterCode = "0" |
| | | }).ToList(); |
| | | |
| | | mesQaIqcItem.ForEach(item => |
| | | { |
| | | string LEV = item.FcheckLevel switch |
| | | { |
| | | null => "" // 默认值 |
| | | , |
| | | { } s when s.Contains("S1") => "B.FLEVEL_S1", |
| | | { } s when s.Contains("S2") => "B.FLEVEL_S2", |
| | | { } s when s.Contains("S3") => "B.FLEVEL_S3", |
| | | { } s when s.Contains("S4") => "B.FLEVEL_S4", |
| | | { } s when s.Contains("(I)") => "B.FLEVEL_I", |
| | | { } s when s.Contains("(II)") => "B.FLEVEL_II", |
| | | { } s when s.Contains("(III)") => "B.FLEVEL_III", |
| | | _ => "" |
| | | }; |
| | | |
| | | if (string.IsNullOrEmpty(LEV)) |
| | | throw new Exception(item.SampleSizeNo + "的检验水平不正确"); |
| | | |
| | | var sql = |
| | | "SELECT " + LEV + |
| | | " FROM MES_QM_AQL1 A LEFT JOIN MES_QM_AQL2 B ON B.AQL1_ID=A.ID WHERE A.SAMPLE_SIZE_NO='" + |
| | | item.SampleSizeNo + "' AND B.LOT_FROM<= " + quantity + |
| | | " AND " + |
| | | quantity + "<=B.LOT_TO"; |
| | | |
| | | var maxBillNo = db.Ado.SqlQuerySingle<string>(sql); |
| | | |
| | | if (string.IsNullOrEmpty(maxBillNo)) |
| | | throw new Exception(item.SampleSizeNo + "下的" + quantity + |
| | | "这个范围下没有匹配到检验项目"); |
| | | |
| | | var result = ExtractSubstring(item.FacLevel, '(', ')'); |
| | | |
| | | if (string.IsNullOrEmpty(result)) |
| | | throw new Exception(item.SampleSizeNo + "下的" + quantity + |
| | | "拒收水平不正确"); |
| | | |
| | | sql = "SELECT FSAMPLE_SIZE_WORD, " + result + |
| | | " Result FROM MES_QM_AQL1 A LEFT JOIN MES_QM_AQL3 C ON C.AQL1_ID=A.ID WHERE A.SAMPLE_SIZE_NO= '" + |
| | | item.SampleSizeNo + "' AND SAMPLE_SIZE_WORD= '" + maxBillNo + |
| | | "'"; |
| | | var resultClass = db.Ado.SqlQuerySingle<ResultClass>(sql); |
| | | |
| | | item.CheckQyt = resultClass.FSAMPLE_SIZE_WORD; |
| | | item.FreQty = resultClass.Result; |
| | | }); |
| | | |
| | | return mesQaIqcItem; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// 保存新检验员 |
| | | /// </summary> |
| | | /// <param name="NewStaffUserID">新检验员ID</param> |
| | | /// <param name="userID">修改人</param> |
| | | /// <param name="releaseNo">检验单号</param> |
| | | /// <returns></returns> |
| | | public string[] SaveCheckBy(string NewStaffUserID, string userID, string releaseNo) |
| | | { |
| | | // 定义输出参数 |
| | | var outputResult = new SugarParameter("o_Result", null, |
| | | DbType.Int32, ParameterDirection.Output, |
| | | 4000); |
| | | |
| | | var outputMessage = new SugarParameter("o_Msg", null, |
| | | DbType.String, |
| | | ParameterDirection.Output, 4000); |
| | | |
| | | // 定义输入参数 |
| | | var parameters = new List<SugarParameter> |
| | | { |
| | | new("P_FCHECK_BY", NewStaffUserID, |
| | | DbType.String, ParameterDirection.Input), |
| | | new("p_Release_No", releaseNo, |
| | | DbType.String, ParameterDirection.Input), |
| | | new("p_User", userID, |
| | | DbType.String, ParameterDirection.Input), |
| | | |
| | | outputResult, |
| | | outputMessage |
| | | }; |
| | | |
| | | var db = SqlSugarHelper.GetInstance(); |
| | | |
| | | // 使用 SqlSugar 执行存储过程 |
| | | db.Ado.ExecuteCommand( |
| | | "BEGIN Prc_Mes_Iqc_Qa_Update_CheckBy(:P_FCHECK_BY,:p_Release_No,:p_User, :o_Result, :o_Msg); END;", |
| | | parameters.ToArray()); |
| | | |
| | | // 获取输出参数的值 |
| | | var resultValue = outputResult.Value?.ToString(); |
| | | var messageValue = outputMessage.Value?.ToString(); |
| | | string[] msg = new string[2]; |
| | | msg[0] = resultValue; |
| | | msg[1] = messageValue; |
| | | return msg; |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | public string[] SaveSysSubmit(SysSubmit sysSubmit) |
| | | { |
| | | // 定义输出参数 |
| | | var outputResult = new SugarParameter("o_Result", null, |
| | | DbType.Int32, ParameterDirection.Output, |
| | | 4000); |
| | | |
| | | var outputMessage = new SugarParameter("o_Msg", null, |
| | | DbType.String, |
| | | ParameterDirection.Output, 4000); |
| | | |
| | | // 定义输入参数 |
| | | var parameters = new List<SugarParameter> |
| | | { |
| | | new("PI_BILLNO", sysSubmit.PI_BILLNO, |
| | | DbType.String, ParameterDirection.Input), |
| | | new("PI_USER", sysSubmit.PI_USER, |
| | | DbType.String, ParameterDirection.Input), |
| | | new("PI_SAMPLE_STATUS", sysSubmit.PI_SAMPLE_STATUS, |
| | | DbType.String, ParameterDirection.Input), |
| | | new("PI_SAMPLE_TYPE", sysSubmit.PI_SAMPLE_TYPE, |
| | | DbType.String, ParameterDirection.Input), |
| | | new("PI_SAMPLE_REASON", sysSubmit.PI_SAMPLE_REASON, |
| | | DbType.String, ParameterDirection.Input), |
| | | new("PI_INSPECT_TYPE", sysSubmit.PI_INSPECT_TYPE, |
| | | DbType.String, ParameterDirection.Input), |
| | | new("PI_SAMPLE_PREPARATION", sysSubmit.PI_SAMPLE_PREPARATION, |
| | | DbType.String, ParameterDirection.Input), |
| | | new("PI_URGENCY", sysSubmit.PI_URGENCY, |
| | | DbType.String, ParameterDirection.Input), |
| | | new("PI_FIRMWAREVERSION", sysSubmit.PI_FIRMWAREVERSION, |
| | | DbType.String, ParameterDirection.Input), |
| | | new("PI_HARDWAREVERSION", sysSubmit.PI_HARDWAREVERSION, |
| | | DbType.String, ParameterDirection.Input), |
| | | new("PI_REMARK", sysSubmit.PI_REMARK, |
| | | DbType.String, ParameterDirection.Input), |
| | | outputResult, |
| | | outputMessage |
| | | }; |
| | | |
| | | var db = SqlSugarHelper.GetInstance(); |
| | | |
| | | // 使用 SqlSugar 执行存储过程 |
| | | db.Ado.ExecuteCommand( |
| | | "BEGIN PRC_MES_IQC_QC_SYSSUBMIT(:PI_BILLNO,:PI_USER,:PI_SAMPLE_STATUS,:PI_SAMPLE_TYPE,:PI_SAMPLE_REASON,:PI_INSPECT_TYPE,:PI_SAMPLE_PREPARATION,:PI_URGENCY,:PI_FIRMWAREVERSION,:PI_HARDWAREVERSION,:PI_REMARK, :o_Result, :o_Msg); END;", |
| | | parameters.ToArray()); |
| | | |
| | | // 获取输出参数的值 |
| | | var resultValue = outputResult.Value?.ToString(); |
| | | var messageValue = outputMessage.Value?.ToString(); |
| | | string[] msg = new string[2]; |
| | | msg[0] = resultValue; |
| | | msg[1] = messageValue; |
| | | return msg; |
| | | |
| | | } |
| | | private string ExtractSubstring(string input, char startChar, char endChar) |
| | | { |
| | | var startIndex = input.IndexOf(startChar); |
| | |
| | | Company = "1000", |
| | | FenterQty = SqlFunc.AggregateCount(b.Id), |
| | | FcheckResu = a.FcheckResu, |
| | | FcheckItemDesc=a.FcheckItemDesc |
| | | FcheckItemDesc = a.FcheckItemDesc |
| | | }).ToList(); |
| | | } |
| | | |
| | | |
| | | |
| | | public DataTable getAllInspectors() |
| | | { |
| | | OracleSQLHelper SQLHelper = new(); |
| | | var sql =string.Format(@"select a.USER_NAME label,U.FCODE value from IQC_BEFORE_FROM a JOIN SYS_USER U ON U.FID=A.SID"); |
| | | return SQLHelper.ExecuteQuery(sql); |
| | | } |
| | | |
| | | |
| | | public int SetQSItemDetail(MesQaItemsDetectDetail12 detail) |
| | | { |
| | |
| | | return rkjDto; |
| | | } |
| | | |
| | | |
| | | public DataTable getFromInfo(string BarCode) |
| | | { |
| | | OracleSQLHelper SQLHelper = new(); |
| | | var sql = string.Format(@"select b.ID,b.LOT_NO,b.RELEASE_NO,b.FSUBMIT from MES_INV_ITEM_BARCODES A |
| | | left join MES_QA_ITEMS_DETECT_01 B on A.BILL_NO=b.LOT_NO and A.ITEM_ID=b.ITEM_ID |
| | | where ITEM_BARCODE='"+ BarCode + "'"); |
| | | return SQLHelper.ExecuteQuery(sql); |
| | | } |
| | | |
| | | |
| | | public int UpdateQSItemDetail(MesQaItemsDetectDetail12 detail) |
| | | { |
| | | var withOracle = SqlSugarHelper.UseTransactionWithOracle(db => |
| | |
| | | return withOracle; |
| | | } |
| | | |
| | | //更新检验明细已检、不合格数量 |
| | | //更新检验明细已检、不合格数量 |
| | | private int updateDetail5(MesQaItemsDetectDetail12 detail) |
| | | { |
| | | var db = SqlSugarHelper.GetInstance(); |
| | |
| | | return SqlSugarHelper.UseTransactionWithOracle(db => |
| | | { |
| | | return db.Updateable<MesQaItemsDetect01>() |
| | | // .SetColumns(it => |
| | | // it.Remarks == dto.Remarks) //SetColumns是可以叠加的 写2个就2个字段赋值 |
| | | .SetColumns(it => |
| | | it.FngDesc == dto.Remarks) //SetColumns是可以叠加的 写2个就2个字段赋值 |
| | | .Where(it => it.ReleaseNo == dto.releaseNo) |
| | | .ExecuteCommand(); |
| | | }); |
| | |
| | | return withOracle; |
| | | } |
| | | |
| | | public bool IqcQaSubmit(LLJDto dto) |
| | | public string[] IqcQaSubmit(LLJDto dto) |
| | | { |
| | | var (factory, company) = UserUtil.GetFactory(dto.userNo); |
| | | try |
| | |
| | | // 获取输出参数的值 |
| | | var resultValue = outputResult.Value?.ToString(); |
| | | var messageValue = outputMessage.Value?.ToString(); |
| | | |
| | | if ("1".Equals(resultValue)) throw new Exception(messageValue); |
| | | |
| | | return true; |
| | | string[] msg = new string[2]; |
| | | msg[0] = resultValue; |
| | | msg[1] = messageValue; |
| | | return msg; |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | throw new Exception(ex.Message); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 从U9获取料号图纸列表 |
| | | /// </summary> |
| | | /// <param name="Type">u9No:u9物料编号</param> |
| | | /// <param name="U9No">type:1:图纸规格书 2:进料检验文件 </param> |
| | | /// <returns></returns> |
| | | /// <exception cref="Exception"></exception> |
| | | public async Task<string[]> GetFileUrlByU9List(string Type, string U9No) |
| | | { |
| | | try |
| | | { |
| | | var requestUrl = |
| | | $"https://erp.dream-maker.com/api/public/getFileUrlByU9No?u9No={Uri.EscapeDataString(U9No)}&type={Type}"; |
| | | var response = await client.GetAsync(requestUrl); |
| | | response.EnsureSuccessStatusCode(); // 检查HTTP状态码 |
| | | var responseContent = await response.Content.ReadAsStringAsync(); |
| | | var result = |
| | | JsonConvert.DeserializeObject<ApiResponse>(responseContent); |
| | | |
| | | if (result.Status == 0 && result.Data != null) return result.Data; |
| | | |
| | | return null; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | throw new Exception(ex.Message); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 料号图纸接口返回对象 |
| | | /// </summary> |
| | | public class ApiResponse |
| | | { |
| | | [JsonProperty("status")] public int Status { get; set; } |
| | | |
| | | [JsonProperty("message")] public string Message { get; set; } |
| | | |
| | | [JsonProperty("data")] public string[] Data { get; set; } |
| | | |
| | | [JsonProperty("totalCount")] public int TotalCount { get; set; } |
| | | } |
| | | } |