1.ipqc后台
2.新增样本已录入数
3.来料检优化
¶Ô±ÈÐÂÎļþ |
| | |
| | | using System.Dynamic; |
| | | using Microsoft.AspNetCore.Mvc; |
| | | using NewPdaSqlServer.Dto.service; |
| | | using NewPdaSqlServer.entity; |
| | | using NewPdaSqlServer.service.QC; |
| | | using NewPdaSqlServer.util; |
| | | using Newtonsoft.Json.Linq; |
| | | |
| | | namespace NewPdaSqlServer.Controllers.QC; |
| | | |
| | | [Route("api/[controller]")] |
| | | [ApiController] |
| | | public class IpqcController : ControllerBase |
| | | { |
| | | IpqcService m = new IpqcService(); |
| | | |
| | | [HttpPost("getPageSj")] |
| | | public ResponseResult getPageSj([FromBody] XJPageResult queryObj) |
| | | { |
| | | try |
| | | { |
| | | dynamic resultInfos = new ExpandoObject(); |
| | | var (item, totalCount) = m.getPageSj(queryObj); |
| | | var tbBillList = |
| | | resultInfos.tbBillList = item; |
| | | return new ResponseResult |
| | | { |
| | | status = 0, |
| | | message = "OK", |
| | | data = resultInfos, |
| | | TotalCount = totalCount |
| | | }; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return ResponseResult.ResponseError(ex); |
| | | } |
| | | } |
| | | |
| | | //getItems |
| | | [HttpPost("getJYItem")] |
| | | public ResponseResult getJYItem([FromBody] JObject data) |
| | | { |
| | | var id = data["id"]?.ToString(); |
| | | var releaseNo = data["releaseNo"]?.ToString(); |
| | | try |
| | | { |
| | | dynamic resultInfos = new ExpandoObject(); |
| | | var tbBillList = |
| | | m.GetItems(releaseNo, |
| | | id); |
| | | resultInfos.tbBillList = tbBillList; |
| | | return new ResponseResult |
| | | { |
| | | status = 0, |
| | | message = "OK", |
| | | data = resultInfos |
| | | }; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return ResponseResult.ResponseError(ex); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | #region ç产补æ |
| | | #region éå®åºåº |
| | | |
| | | /// <summary> |
| | | /// è·åç产补æåå·å表 |
| | |
| | | [SugarColumn(ColumnName = "ybsl")] |
| | | public int? Ybsl { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ ·æ¬å·²å½å
¥æ° |
| | | /// </summary> |
| | | [SugarColumn(IsIgnore = true)] |
| | | public int? YbslIn { get; set; } |
| | | |
| | | [SugarColumn(IsIgnore = true)] public int? Unqualified { get; set; } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | using SqlSugar; |
| | | |
| | | namespace MES.Service.Models; |
| | | |
| | | /// <summary> |
| | | /// IPQC馿£è§å¾å®ä½ç±» |
| | | /// </summary> |
| | | [SugarTable("V_IPQC_SJ")] |
| | | public class VIpqcSj |
| | | { |
| | | /// <summary> |
| | | /// ä¸»é® |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "guid")] |
| | | public string Guid { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æäº¤æ è¯ |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "fsubmit")] |
| | | public int? FSubmit { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ä¿®æ¹æ å¿ |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "MODIFY1_FLAG")] |
| | | public string Modify1Flag { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ¹æ¬¡å· --å°è´§åå· |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "LOT_NO")] |
| | | public string LotNo { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ä¸è¯å¤çæ¹æ³ |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "FNG_HANDLE")] |
| | | public string FnGHandle { get; set; } |
| | | |
| | | /// <summary> |
| | | /// çæ¬ |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "FVERSION")] |
| | | public string FVersion { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å°æ¹æ¬¡å·,ç¨ä½å¤æ³¨äº |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "LOT_NO1")] |
| | | public string LotNo1 { get; set; } |
| | | |
| | | /// <summary> |
| | | /// è½¬æ¢æ°é |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "FCOVERT_QTY")] |
| | | public string FCovertQty { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ£éªç»æ |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "FCHECK_RESU")] |
| | | public string FCheckResu { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ£éªåå· |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "RELEASE_NO")] |
| | | public string ReleaseNo { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åå· |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "DAA001")] |
| | | public string Daa001 { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ¥ææ°é(æ£éªæ°é) |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "FBATCH_QTY")] |
| | | public string FBatchQty { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ç©æç¼ç |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "ITEM_NO")] |
| | | public string ItemNo { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ£éªäººå |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "FCHECK_BY")] |
| | | public string FCheckBy { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ä¸è¯æè¿° |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "FNG_DESC")] |
| | | public string FnGDesc { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å建人 |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "CREATE_BY")] |
| | | public string CreateBy { get; set; } |
| | | |
| | | /// <summary> |
| | | /// DAA013 |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "DAA013")] |
| | | public string Daa013 { get; set; } |
| | | |
| | | /// <summary> |
| | | /// sj_xt |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "sj_xt")] |
| | | public string SjXt { get; set; } |
| | | |
| | | /// <summary> |
| | | /// é¨é¨åç§° |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "departmentname")] |
| | | public string DepartmentName { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åç§° |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "name")] |
| | | public string XtName { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 项ç®åç§° |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "ITEM_NAME")] |
| | | public string ItemName { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 夿³¨ |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "remarks")] |
| | | public string Remarks { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ£æ¥æ¥æ |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "DATE_01")] |
| | | public string Date01 { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 产ååå· |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "ITEM_MODEL")] |
| | | public string ItemModel { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åå»ºæ¥æ |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "CREATE_DATE")] |
| | | public string CreateDate { get; set; } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | using MES.Service.Models; |
| | | using Microsoft.IdentityModel.Tokens; |
| | | using NewPdaSqlServer.DB; |
| | | using NewPdaSqlServer.Dto.service; |
| | | using NewPdaSqlServer.entity; |
| | | using NewPdaSqlServer.util; |
| | | using SqlSugar; |
| | | using static Azure.Core.HttpHeader; |
| | | |
| | | namespace NewPdaSqlServer.service.QC; |
| | | |
| | | public class IpqcService : RepositoryNoEntity |
| | | { |
| | | public (List<VIpqcSj> item, int TotalCount) getPageSj(XJPageResult queryObj) |
| | | { |
| | | var parsedGuid = Guid.Empty; |
| | | if (!queryObj.id.IsNullOrEmpty()) |
| | | { |
| | | var isValid = Guid.TryParse(queryObj.id, out parsedGuid); |
| | | if (!isValid) |
| | | throw new ApplicationException("GUID转æ¢é误"); |
| | | } |
| | | |
| | | |
| | | var totalCount = 0; |
| | | |
| | | var pageList = Db.Queryable<VIpqcSj>() |
| | | .WhereIF(!string.IsNullOrWhiteSpace(queryObj.keyword), a => |
| | | a.ItemNo.Contains(queryObj.keyword) || |
| | | a.ItemName.Contains(queryObj.keyword) || |
| | | a.Daa001.Contains(queryObj.keyword) || |
| | | a.ReleaseNo.Contains(queryObj.keyword) || |
| | | a.DepartmentName.Contains(queryObj.keyword )|| |
| | | a.XtName.Contains(queryObj.keyword) |
| | | ) |
| | | .WhereIF(UtilityHelper.CheckGuid(parsedGuid), |
| | | a => a.Guid == parsedGuid.ToString() ) |
| | | .Where(a => (a.FSubmit ?? 0) == 0) |
| | | .OrderByDescending(a => a.CreateDate) |
| | | .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount); |
| | | |
| | | return (pageList, totalCount); |
| | | } |
| | | |
| | | public List<MesQaItemsDetectDetail5> GetItems(string? releaseNo, |
| | | string? id) |
| | | { |
| | | var parsedGuid = Guid.Empty; |
| | | |
| | | if (id != null) |
| | | { |
| | | var isValid = Guid.TryParse(id, out parsedGuid); |
| | | if (!isValid) |
| | | throw new ApplicationException("GUID转æ¢é误"); |
| | | } |
| | | |
| | | var Ybsl_In = Db.Queryable<MesQaItemsDetectDetail5>() |
| | | .Where(a => a.ParentGuid == parsedGuid) |
| | | .Count(); |
| | | |
| | | return Db.Queryable<MesQaItemsDetectDetail5, MesQaItemsDetectDetail12>( |
| | | (a, b) => |
| | | new JoinQueryInfos(JoinType.Left, a.Guid == b.ParentGuid)) |
| | | .Where((a, b) => a.ReleaseNo == releaseNo) |
| | | .WhereIF(UtilityHelper.CheckGuid(parsedGuid), |
| | | (a, b) => a.Guid == parsedGuid) |
| | | .GroupBy((a, b) => new |
| | | { |
| | | a.Guid, |
| | | a.ParentGuid, |
| | | a.ReleaseNo, |
| | | a.FacLevel, |
| | | a.FcheckItem, |
| | | a.FcheckTool, |
| | | a.FdownAllow, |
| | | a.FcheckLevel, |
| | | a.Fstand, |
| | | a.FupAllow, |
| | | a.SampleSizeNo, |
| | | a.FspecRequ, |
| | | a.FreQty, |
| | | a.CheckQyt, |
| | | a.FcheckResu, |
| | | a.Order, |
| | | a.Ybsl, |
| | | a.YbslIn |
| | | }).Select((a, b) => new MesQaItemsDetectDetail5 |
| | | { |
| | | Guid = a.Guid, |
| | | ParentGuid = a.ParentGuid, |
| | | ReleaseNo = a.ReleaseNo, |
| | | CheckQyt = a.CheckQyt, |
| | | FacLevel = a.FacLevel, |
| | | FcheckItem = a.FcheckItem, |
| | | FcheckTool = a.FcheckTool, |
| | | FdownAllow = a.FdownAllow, |
| | | FcheckLevel = a.FcheckLevel, |
| | | Fstand = a.Fstand, |
| | | FupAllow = a.FupAllow, |
| | | SampleSizeNo = a.SampleSizeNo, |
| | | FspecRequ = a.FspecRequ, |
| | | FreQty = a.FreQty, |
| | | Factory = "1000", |
| | | Company = "1000", |
| | | FenterQty = SqlFunc.AggregateCount(b.Guid), |
| | | FcheckResu = a.FcheckResu, |
| | | Order = a.Order, |
| | | Ybsl = a.Ybsl, |
| | | YbslIn = Ybsl_In, |
| | | }).OrderBy(a => a.Order) |
| | | .ToList(); |
| | | } |
| | | } |
| | |
| | | //å é¤ç¹å¾å¼ |
| | | public int deleteDetail13(LLJDto dto) |
| | | { |
| | | var withOracle = Db.Updateable<MesQaItemsDetectDetail13>() |
| | | var withOracle = Db.Deleteable<MesQaItemsDetectDetail13>() |
| | | .Where(s => s.Guid.ToString() == dto.id13) |
| | | .ExecuteCommand(); |
| | | |
| | |
| | | // æ£æ¥æ¯å¦å·²åå¨åºåºç©æè®°å½ |
| | | var existingOutItem = Db.Queryable<MesInvItemOutItems>() |
| | | .Where(it => |
| | | it.ItemOutId == outId && it.ItemId == barcode.ItemId) |
| | | it.ItemOutId == outId && it.ItemId == barcode.ItemId && it.AboutGuid == qtDetail.Guid) |
| | | .First(); |
| | | |
| | | if (existingOutItem == null) |
| | |
| | | ItemId = !string.IsNullOrEmpty(qtDetail.ItemId) |
| | | ? long.Parse(qtDetail.ItemId) |
| | | : null, |
| | | FType = 0 |
| | | FType = 0, |
| | | AboutGuid = qtDetail.Guid |
| | | // Unit = qtDetail.Qd009 |
| | | }; |
| | | |