MES.Service/Dto/service/LLJDto.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
MES.Service/Modes/LtsLlj.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
MES.Service/Modes/MesQaIqc.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
MES.Service/Modes/MesQaItemsDetect01.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
MES.Service/Modes/MesQaItemsDetectDetail12.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
MES.Service/Modes/MesQaItemsDetectDetail5.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
MES.Service/service/QC/LljService.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
MESApplication/Controllers/QC/LljController.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
MES.Service/Dto/service/LLJDto.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,35 @@ using MES.Service.Modes; namespace MES.Service.Dto.service; public class LLJDto { public string? userNo { get; set; } //æ£éªåå· public string? releaseNo { get; set; } //主表id public int? gid { get; set; } //å表id public int? pid { get; set; } //å表id public int? id { get; set; } //夿³¨ public string? Remarks { get; set; } //========================================== //å·¡æ£ä¸»å表éè¦çæ°æ® public QsItemOqcReq? from { get; set; } public List<MesQaItemsDetectDetail5>? items { get; set; } //========================================== //å·¡æ£åå表éè¦çæ°æ® public MesQaItemsDetectDetail5? ItemXj01 { get; set; } public List<MesQaItemsDetectDetail12>? ItemXj02s { get; set; } } MES.Service/Modes/LtsLlj.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,142 @@ using System; using System.Collections.Generic; using System.Linq; using SqlSugar; namespace MES.Service.Modes { /// <summary> /// æ°æ®æºå¯¼å ¥ ///</summary> [SugarTable("LTS_LLJ")] public class LtsLlj { /// <summary> /// ///</summary> [SugarColumn(ColumnName="Id" )] public decimal? Id { get; set; } /// <summary> /// å®¡æ ¸æ è¯ ///</summary> [SugarColumn(ColumnName="MODIFY1_FLAG" )] public decimal? 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 decimal? 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="SUPP_NO" )] public string SuppNo { get; set; } /// <summary> /// æ£éªåå· ///</summary> [SugarColumn(ColumnName="RELEASE_NO" )] public string ReleaseNo { 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> /// å建æ¶é´ ///</summary> [SugarColumn(ColumnName="CREATE_DATE" )] public string CreateDate { get; set; } /// <summary> /// æ¯å¦æ¥æ ///</summary> [SugarColumn(ColumnName="URGENT_FLAG" )] public short? UrgentFlag { get; set; } /// <summary> /// ç©æåç§° ///</summary> [SugarColumn(ColumnName="ITEM_NAME" )] public string ItemName { get; set; } /// <summary> /// æ£éªç±»å ///</summary> [SugarColumn(ColumnName="QATYPE" )] public string Qatype { get; set; } /// <summary> /// æ£éªæ¥æ ///</summary> [SugarColumn(ColumnName="DATE_01" )] public string Date01 { get; set; } /// <summary> /// ä¾åºååç§° ///</summary> [SugarColumn(ColumnName="SUPP_NAME" )] public string SuppName { get; set; } /// <summary> /// ç©æè§æ ¼ ///</summary> [SugarColumn(ColumnName="ITEM_MODEL" )] public string ItemModel { get; set; } /// <summary> /// åºåæ°é ///</summary> [SugarColumn(ColumnName="KC_QTY" )] public decimal? KcQty { get; set; } /// <summary> /// åæ®ç¶æ ///</summary> [SugarColumn(ColumnName="STATUS" )] public string STATUS { get; set; } /// <summary> /// å§å¤æ è¯ï¼0ï¼éè´ ã1ï¼å§å¤ï¼ ///</summary> [SugarColumn(ColumnName="F_TYPE" )] public int Ftype { get; set; } } } MES.Service/Modes/MesQaIqc.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,79 @@ using System; using System.Collections.Generic; using System.Linq; using SqlSugar; namespace MES.Service.Modes { /// <summary> /// æ°æ®æºå¯¼å ¥ ///</summary> [SugarTable("Mes_Qa_Iqc")] public class MesQaIqc { /// <summary> /// æ¥æ¶æ°´å¹³ ///</summary> [SugarColumn(ColumnName="ITEM_NO" )] public string ItemNo { get; set; } /// <summary> /// æ¥æ¶æ°´å¹³ ///</summary> [SugarColumn(ColumnName="FAC_LEVEL" )] public string FacLevel { get; set; } /// <summary> /// æ£éªé¡¹ç® ///</summary> [SugarColumn(ColumnName="FCHECK_ITEM" )] public string FcheckItem { get; set; } /// <summary> /// æ£éªå·¥å · ///</summary> [SugarColumn(ColumnName="FCHECK_TOOL" )] public string FcheckTool { get; set; } /// <summary> /// ä¸é ///</summary> [SugarColumn(ColumnName="FDOWN_ALLOW" )] public string FdownAllow { get; set; } /// <summary> /// æ£éªæ°´å¹³ ///</summary> [SugarColumn(ColumnName="FREQUENCY" )] public string FREQUENCY { get; set; } /// <summary> /// æ å ///</summary> [SugarColumn(ColumnName="FSTAND" )] public string FSTAND { get; set; } /// <summary> /// ä¸é ///</summary> [SugarColumn(ColumnName="FUP_ALLOW" )] public string FupAllow { get; set; } /// <summary> /// æ£éªæ°´åç¼ç ///</summary> [SugarColumn(ColumnName="SAMPLE_SIZE_NO" )] public string SampleSizeNo { get; set; } /// <summary> /// è§æ ¼è¦æ± ///</summary> [SugarColumn(ColumnName="FSPEC_REQU" )] public string FspecRequ { get; set; } /// <summary> /// ///</summary> [SugarColumn(ColumnName="ISENABLED" )] public short? ISENABLED { get; set; } /// <summary> /// ///</summary> [SugarColumn(ColumnName="EE" )] public short? EE { get; set; } /// <summary> /// ///</summary> [SugarColumn(ColumnName="FTYPE" )] public string FTYPE { get; set; } } } MES.Service/Modes/MesQaItemsDetect01.cs
@@ -328,4 +328,10 @@ /// </summary> [SugarColumn(ColumnName = "FMRMODE")] public string Fmrmode { get; set; } /// <summary> /// ä¸è¯æè¿° /// </summary> [SugarColumn(ColumnName = "Remarks")] public string Remarks { get; set; } } MES.Service/Modes/MesQaItemsDetectDetail12.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,72 @@ using System; using System.Collections.Generic; using System.Linq; using SqlSugar; namespace MES.Service.Modes { /// <summary> /// IQCæ£éª ///</summary> [SugarTable("MES_QA_ITEMS_DETECT_DETAIL12")] public class MesQaItemsDetectDetail12 { /// <summary> /// ///</summary> [SugarColumn(ColumnName="ID" ,OracleSequenceName = "SEQ_QM_ID",IsPrimaryKey = true )] public decimal Id { get; set; } /// <summary> /// æ£éªç»æ ///</summary> [SugarColumn(ColumnName="FCHECK_RESU" )] public string? FcheckResu { get; set; } /// <summary> /// æ£éªé¡¹ç® ///</summary> [SugarColumn(ColumnName="FCHECK_ITEM" )] public string? FcheckItem { get; set; } /// <summary> /// æ£éªåå· ///</summary> [SugarColumn(ColumnName="RELEASE_NO" )] public string? ReleaseNo { get; set; } /// <summary> /// ///</summary> [SugarColumn(ColumnName="MAIN_ID" )] public decimal? MainId { get; set; } /// <summary> /// ///</summary> [SugarColumn(ColumnName="CREATE_DATE" )] public DateTime? CreateDate { get; set; } /// <summary> /// ///</summary> [SugarColumn(ColumnName="COMPANY" )] public string? Company { get; set; } /// <summary> /// ///</summary> [SugarColumn(ColumnName="FACTORY" )] public string? Factory { get; set; } /// <summary> /// ///</summary> [SugarColumn(ColumnName="FSTAND" )] public string? Fstand { get; set; } /// <summary> /// çæäºº ///</summary> [SugarColumn(ColumnName="LASTUPDATE_BY" )] public string? LastupdateBy { get; set; } /// <summary> /// ///</summary> [SugarColumn(ColumnName="CREATE_BY" )] public string? CreateBy { get; set; } [SugarColumn(IsIgnore = true)] public int? count { get; set; } } } MES.Service/Modes/MesQaItemsDetectDetail5.cs
@@ -1,174 +1,163 @@ using SqlSugar; namespace MES.Service.Modes; /// <summary> /// æ¥ææ£éªä»è¡¨ /// </summary> [SugarTable("MES_QA_ITEMS_DETECT_DETAIL5")] public class MesQaItemsDetectDetail5 using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; using System.Linq; using SqlSugar; namespace MES.Service.Modes { /// <summary> /// </summary> [SugarColumn(ColumnName = "ID", IsPrimaryKey = true)] public decimal Id { get; set; } /// <summary> /// æ åå¼ç±»å /// </summary> [SugarColumn(ColumnName = "FTEXT_TYPE")] public string FtextType { get; set; } /// <summary> /// æ åå¼ /// </summary> [SugarColumn(ColumnName = "FSTAND")] public decimal? Fstand { get; set; } /// <summary> /// ä¸å ¬å·® /// </summary> [SugarColumn(ColumnName = "FUP_ALLOW")] public string FupAllow { get; set; } /// <summary> /// ä¸å ¬å·® /// </summary> [SugarColumn(ColumnName = "FDOWN_ALLOW")] public string FdownAllow { get; set; } /// <summary> /// æ£éªæ°´å /// </summary> [SugarColumn(ColumnName = "SAMPLE_SIZE_NO")] public string SampleSizeNo { get; set; } /// <summary> /// æ£éªæ°´å¹³ /// </summary> [SugarColumn(ColumnName = "FCHECK_LEVEL")] public string FcheckLevel { get; set; } /// <summary> /// ææ¶æ°´å¹³ /// </summary> [SugarColumn(ColumnName = "FAC_LEVEL")] public string FacLevel { get; set; } /// <summary> /// æ£éªé¡¹ç® /// </summary> [SugarColumn(ColumnName = "FCHECK_ITEM")] public string FcheckItem { get; set; } /// <summary> /// è§æ ¼è¦æ± /// </summary> [SugarColumn(ColumnName = "FSPEC_REQU")] public string FspecRequ { get; set; } /// <summary> /// æ½æ£æ°é /// </summary> [SugarColumn(ColumnName = "CHECK_QYT")] public decimal? CheckQyt { get; set; } /// <summary> /// æ£éªç»æ /// </summary> [SugarColumn(ColumnName = "FCHECK_RESU")] public string FcheckResu { get; set; } /// <summary> /// ACæ°é /// </summary> [SugarColumn(ColumnName = "FAC_QTY")] public decimal? FacQty { get; set; } /// <summary> /// REæ°é /// </summary> [SugarColumn(ColumnName = "FRE_QTY")] public decimal? FreQty { get; set; } /// <summary> /// ä¸åæ ¼æ° /// </summary> [SugarColumn(ColumnName = "FNG_QTY")] public decimal? FngQty { get; set; } /// <summary> /// ä¸è¯ç /// </summary> [SugarColumn(ColumnName = "FNG_RATE")] public decimal? FngRate { get; set; } /// <summary> /// å·²å½å ¥æ°é /// </summary> [SugarColumn(ColumnName = "FENTER_QTY")] public decimal? FenterQty { get; set; } /// <summary> /// </summary> [SugarColumn(ColumnName = "RELEASE_NO")] public string ReleaseNo { get; set; } /// <summary> /// </summary> [SugarColumn(ColumnName = "COMPANY")] public string Company { get; set; } /// <summary> /// </summary> [SugarColumn(ColumnName = "FACTORY")] public string Factory { get; set; } /// <summary> /// æ£éªé¡¹ç®æè¿° /// </summary> [SugarColumn(ColumnName = "FCHECK_ITEM_DESC")] public string FcheckItemDesc { get; set; } /// <summary> /// å·¥åºå· /// </summary> [SugarColumn(ColumnName = "PROC_NO")] public string ProcNo { get; set; } /// <summary> /// å·¥ä½ä¸å¿ç¼ç /// </summary> [SugarColumn(ColumnName = "WORKSHOP_CENTER_CODE")] public string WorkshopCenterCode { get; set; } /// <summary> /// åä½ /// </summary> [SugarColumn(ColumnName = "FUNIT")] public string Funit { get; set; } /// <summary> /// ç¹å®ä¿®æ¹ /// </summary> [SugarColumn(ColumnName = "GIVEN_MODIFY")] public short? GivenModify { get; set; } /// <summary> /// æ£éªå·¥å · /// </summary> [SugarColumn(ColumnName = "FCHECK_TOOL")] public string FcheckTool { get; set; } /// <summary> /// æ´æ°äºº /// </summary> [SugarColumn(ColumnName = "LASTUPDATE_BY")] public string LastupdateBy { get; set; } /// <summary> /// æ´æ°æ¶é´ /// </summary> [SugarColumn(ColumnName = "LASTUPDATE_DATE")] public DateTime? LastupdateDate { get; set; } } /// <summary> /// æ¥ææ£éªä»è¡¨ ///</summary> [SugarTable("MES_QA_ITEMS_DETECT_DETAIL5")] public class MesQaItemsDetectDetail5 { /// <summary> /// ///</summary> [Column("ID")] [SugarColumn(ColumnName="ID",OracleSequenceName = "SEQ_QM_ID",IsPrimaryKey = true )] public decimal ?Id { get; set; } /// <summary> /// æ åå¼ç±»å ///</summary> [SugarColumn(ColumnName="FTEXT_TYPE" )] public string? FtextType { get; set; } /// <summary> /// æ åå¼ ///</summary> [SugarColumn(ColumnName="FSTAND" )] public string? Fstand { get; set; } /// <summary> /// ä¸å ¬å·® ///</summary> [SugarColumn(ColumnName="FUP_ALLOW" )] public string? FupAllow { get; set; } /// <summary> /// ä¸å ¬å·® ///</summary> [SugarColumn(ColumnName="FDOWN_ALLOW" )] public string? FdownAllow { get; set; } /// <summary> /// æ£éªæ°´å ///</summary> [SugarColumn(ColumnName="SAMPLE_SIZE_NO" )] public string? SampleSizeNo { get; set; } /// <summary> /// æ£éªæ°´å¹³ ///</summary> [SugarColumn(ColumnName="FCHECK_LEVEL" )] public string? FcheckLevel { get; set; } /// <summary> /// ææ¶æ°´å¹³ ///</summary> [SugarColumn(ColumnName="FAC_LEVEL" )] public string? FacLevel { get; set; } /// <summary> /// æ£éªé¡¹ç® ///</summary> [SugarColumn(ColumnName="FCHECK_ITEM" )] public string? FcheckItem { get; set; } /// <summary> /// è§æ ¼è¦æ± ///</summary> [SugarColumn(ColumnName="FSPEC_REQU" )] public string? FspecRequ { get; set; } /// <summary> /// æ½æ£æ°é ///</summary> [SugarColumn(ColumnName="CHECK_QYT" )] public decimal? CheckQyt { get; set; } /// <summary> /// æ£éªç»æ ///</summary> [SugarColumn(ColumnName="FCHECK_RESU" )] public string? FcheckResu { get; set; } /// <summary> /// ACæ°é ///</summary> [SugarColumn(ColumnName="FAC_QTY" )] public decimal? FacQty { get; set; } /// <summary> /// REæ°é ///</summary> [SugarColumn(ColumnName="FRE_QTY" )] public decimal? FreQty { get; set; } /// <summary> /// ä¸åæ ¼æ° ///</summary> [SugarColumn(ColumnName="FNG_QTY" )] public decimal? FngQty { get; set; } /// <summary> /// ä¸è¯ç ///</summary> [SugarColumn(ColumnName="FNG_RATE" )] public decimal? FngRate { get; set; } /// <summary> /// å·²å½å ¥æ°é ///</summary> [SugarColumn(ColumnName="FENTER_QTY" )] public decimal? FenterQty { get; set; } /// <summary> /// ///</summary> [SugarColumn(ColumnName="RELEASE_NO" )] public string? ReleaseNo { get; set; } /// <summary> /// ///</summary> [SugarColumn(ColumnName="COMPANY" )] public string? Company { get; set; } /// <summary> /// ///</summary> [SugarColumn(ColumnName="FACTORY" )] public string? Factory { get; set; } /// <summary> /// æ£éªé¡¹ç®æè¿° ///</summary> [SugarColumn(ColumnName="FCHECK_ITEM_DESC" )] public string? FcheckItemDesc { get; set; } /// <summary> /// å·¥åºå· ///</summary> [SugarColumn(ColumnName="PROC_NO" )] public string? ProcNo { get; set; } /// <summary> /// å·¥ä½ä¸å¿ç¼ç ///</summary> [SugarColumn(ColumnName="WORKSHOP_CENTER_CODE" )] public string? WorkshopCenterCode { get; set; } /// <summary> /// åä½ ///</summary> [SugarColumn(ColumnName="FUNIT" )] public string? Funit { get; set; } /// <summary> /// ç¹å®ä¿®æ¹ ///</summary> [SugarColumn(ColumnName="GIVEN_MODIFY" )] public short? GivenModify { get; set; } /// <summary> /// æ£éªå·¥å · ///</summary> [SugarColumn(ColumnName="FCHECK_TOOL" )] public string? FcheckTool { get; set; } /// <summary> /// æ´æ°äºº ///</summary> [SugarColumn(ColumnName="LASTUPDATE_BY" )] public string? LastupdateBy { get; set; } /// <summary> /// æ´æ°æ¶é´ ///</summary> [SugarColumn(ColumnName="LASTUPDATE_DATE" )] public DateTime? LastupdateDate { get; set; } /// <summary> /// ä¸è¯æè¿° ///</summary> [SugarColumn(ColumnName="REMARKS" )] public string? Remarks { get; set; } [SugarColumn(IsIgnore = true)] public int? Unqualified { get; set; } } } MES.Service/service/QC/LljService.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,539 @@ using MES.Service.DB; using MES.Service.Dto.service; using MES.Service.Modes; using MES.Service.util; using SqlSugar; namespace MES.Service.service.QC; public class LljService { public List<LtsLlj> GetPage(XJPageResult queryObj) { var db = SqlSugarHelper.GetInstance(); var id = Convert.ToDecimal(queryObj.id); return db.Queryable<LtsLlj>() .WhereIF( StringUtil.IsNotNullOrEmpty(queryObj.result) && "æªå®æ".Equals(queryObj.result), (a) =>a.FcheckResu == null) .WhereIF( StringUtil.IsNotNullOrEmpty(queryObj.result) && !"æªå®æ".Equals(queryObj.result), (a) => a.FcheckResu != null) .WhereIF(id > 0, (a) => a.Id == id) .ToPageList(queryObj.PageIndex, queryObj.Limit); } //æ ¹æ®æ£éªæ åæ¥è®¡ç®æ£éªä¸ªæ° 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 => { string LEV = null; switch (item.FcheckLevel) { case string s when s.Contains("S1"): LEV = "B.FLEVEL_S1"; break; case string s when s.Contains("S2"): LEV = "B.FLEVEL_S2"; break; case string s when s.Contains("S3"): LEV = "B.FLEVEL_S3"; break; case string s when s.Contains("S4"): LEV = "B.FLEVEL_S4"; break; case string s when s.Contains("(I)"): LEV = "B.FLEVEL_I"; break; case string s when s.Contains("(II)"): LEV = "B.FLEVEL_II"; break; case string s when s.Contains("(III)"): LEV = "B.FLEVEL_III"; break; default: LEV = ""; // é»è®¤å¼ break; } 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); var result = ExtractSubstring(item.FacLevel, '(', ')'); 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; } private string ExtractSubstring(string input, char startChar, char endChar) { var startIndex = input.IndexOf(startChar); var endIndex = input.IndexOf(endChar, startIndex); if (startIndex == -1 || endIndex == -1) // å¦ææªæ¾å°èµ·å§å符æç»æå符ï¼åè¿å空å符串æè æåºå¼å¸¸ï¼æ ¹æ®å®é æ åµéæ© return string.Empty; // æè æåºå¼å¸¸ // throw new ArgumentException("Start or end character not found"); // æååå符串 var length = endIndex - startIndex - 1; return input.Substring(startIndex + 1, length); } public int saveItem(LLJDto rkjDto) { var items = rkjDto.items; var userNo = rkjDto.userNo; SqlSugarHelper.UseTransactionWithOracle(db => { foreach (var item in items) item.ReleaseNo = rkjDto.releaseNo; return db.Insertable(items).ExecuteCommand(); }); rkjDto.items = GetItems(rkjDto.releaseNo, null); var db = SqlSugarHelper.GetInstance(); rkjDto.items.ForEach(s => { if (s.FupAllow != null || s.Fstand != null || s.FdownAllow != null ) return; // 没æå½å ¥åèå¼ï¼å¤ææå¤å°ä¸ªNGï¼é£ä¹å½å ¥çæ½æ£ç»æå¿ é¡»æ¯OKæè NGï¼NG代表ä¸åæ ¼ var ifck = db.Queryable<MesQaItemsDetectDetail12>() .Where(x => x.FcheckResu == "NG" && x.MainId == s.Id).Count(); //æ£éªæç»æ»æ° var count = db.Queryable<MesQaItemsDetectDetail12>().Where(x1 => x1.MainId == s.Id).Count(); if (ifck > s.FreQty && s.CheckQyt == count) { s.FcheckResu = "ä¸åæ ¼"; }else if (ifck < s.FreQty && s.CheckQyt == count) { s.FcheckResu = "åæ ¼"; } else { s.FcheckResu = "æªå®æ"; } var detail = new MesQaItemsDetectDetail12(); detail.MainId = s.Id; detail.ReleaseNo = rkjDto.releaseNo; detail.Fstand = "â"; detail.FcheckResu = "OK"; detail.LastupdateBy = rkjDto.userNo; detail.count = (int?)s.CheckQyt; SetQSItemDetail(detail); }); return Convert.ToInt32(rkjDto.gid); } public List<MesQaItemsDetectDetail5> GetItems(string? releaseNo, decimal? id) { var db = SqlSugarHelper.GetInstance(); return db.Queryable<MesQaItemsDetectDetail5, MesQaItemsDetectDetail12>((a, b) => new JoinQueryInfos(JoinType.Left, a.Id == b.MainId)) .Where((a, b) => a.ReleaseNo == releaseNo) // .WhereIF(id > 0, (a, b) => a.Id == id) .GroupBy((a, b) => new { a.Id, 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 }).Select((a, b) => new MesQaItemsDetectDetail5 { Id = a.Id, 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.Id), FcheckResu = a.FcheckResu }).ToList(); } public int SetQSItemDetail(MesQaItemsDetectDetail12 detail) { var dbd = SqlSugarHelper.GetInstance(); var oracle = SqlSugarHelper.UseTransactionWithOracle(db => { List<MesQaItemsDetectDetail12> result = new(); for (var i = 0; i < detail.count; i++) { var item = new MesQaItemsDetectDetail12(); item.MainId = detail.MainId; item.ReleaseNo = detail.ReleaseNo; item.Fstand = detail.Fstand; item.FcheckResu = detail.FcheckResu; item.CreateBy = detail.LastupdateBy; item.CreateDate = DateTime.Now; item.Factory = "1000"; item.Company = "1000"; result.Add(item); } return db.Insertable(result).ExecuteCommand(); }); detail.CreateBy = detail.LastupdateBy; autoResult(detail); return oracle; } private int autoResult(MesQaItemsDetectDetail12 detail) { var db = SqlSugarHelper.GetInstance(); // Single æ²¡ææ¥è¯¢å°ç»ææ¶è¿åNullï¼å¦æç»æå¤§äº1æ¡ä¼æåºé误 var QsItemOqcItem = db.Queryable<MesQaItemsDetectDetail5>() .Single(s => s.Id == detail.MainId); if (QsItemOqcItem == null) return 0; //æ¥è¯¢è¿ä¸ªæ£éªé¡¹ç®ä¸çæ£éªç»æ var count = db.Queryable<MesQaItemsDetectDetail12>() .Where(s => s.MainId == detail.MainId).Count(); updateDetail5(detail); var result = ""; //æ£éªå®é ç»æä¸çäºåºè¯¥æ£éªçä¸ªæ°æ¶ç´æ¥æ¨åº if (QsItemOqcItem.CheckQyt != count) return 0; //åæ ¼çæå¤å°ä¸ª var passCount = db.Queryable<MesQaItemsDetectDetail12>() .Where(s => s.MainId == detail.MainId && s.Fstand == "â").Count(); //ä¸åæ ¼çæå¤å°ä¸ª var noCount = db.Queryable<MesQaItemsDetectDetail12>() .Where(s => s.MainId == detail.MainId && s.Fstand == "Ã").Count(); if (count == passCount) result = "åæ ¼"; //else if (count - passCount < QsItemOqcItem.FreQty) // result = "ä¸åæ ¼"; else if (noCount >= QsItemOqcItem.FreQty) result = "ä¸åæ ¼"; var useTransactionWithOracle = SqlSugarHelper.UseTransactionWithOracle( db => { var commit = 0; commit += db.Updateable<MesQaItemsDetectDetail5>() .SetColumns(s => s.FcheckResu == result) .SetColumns(s => s.FenterQty == count) .Where(s => s.Id == detail.MainId) .ExecuteCommand(); return commit; }); var isNull = db.Queryable<MesQaItemsDetectDetail5>() .Where(s => s.ReleaseNo == detail.ReleaseNo && s.FcheckResu == null).Count(); if (isNull > 0) return 1; //è·åæ£éªåçæ£éªé¡¹ç®çä¸ªæ° var sum = db.Queryable<MesQaItemsDetectDetail5>() .Where(s => s.ReleaseNo == detail.ReleaseNo).Count(); if (sum == 0) return 1; //è·åæ£éªåä¸çåæ ¼çæ£éªé¡¹ç®ä¸ªæ° var icount = db.Queryable<MesQaItemsDetectDetail5>() .Where(s => s.ReleaseNo == detail.ReleaseNo && s.FcheckResu == "åæ ¼").Count(); var FcheckResu = "ä¸åæ ¼"; //å®é 个æ°çäºçè®ºä¸ªæ°æ¶å¯¹æ£éªåè¿è¡å¤å® if (sum == icount) //åæ ¼çæ£éªç»æçäºæ»æ£éªæ°è§ä¸ºåæ ¼ FcheckResu = "åæ ¼"; var sysUser = db.Queryable<SysUser>() .Where(s => s.Fcode == detail.CreateBy).First(); SqlSugarHelper.UseTransactionWithOracle(db => { return db.Updateable<MesQaItemsDetect01>() .SetColumns(s => s.FcheckResu == FcheckResu) .SetColumns(s => s.FcheckDate == DateTime.Now) .SetColumns(s => s.FcheckBy == sysUser.Fname) .SetColumns(s => s.LastupdateBy == detail.CreateBy) .SetColumns(s => s.LastupdateDate == DateTime.Now) .Where(s => s.ReleaseNo == detail.ReleaseNo) .ExecuteCommand(); }); // if (FcheckResu.Equals("ä¸åæ ¼")) //èªå¨çæå ¥åºæ£å¼å¸¸å¯¹ç /// saveDetect02(detail.Id, detail.CreateBy); return useTransactionWithOracle; } /* public int saveDetect02(decimal? gid, string? createBy) { var db = SqlSugarHelper.GetInstance(); var qsItemOqcReq = db.Queryable<QsItemOqcReq>().Single(s => s.Id == gid); var mesInvItemIns = db.Queryable<MesInvItemIns>() .Single(s => s.BillNo == qsItemOqcReq.BillNo); var mesSchemeResult = db.Queryable<MesSchemeResult>() .Single(s => s.BillNo == mesInvItemIns.CbillNo); var entity = new MesQaItemsDetect02(); entity.ItemNo = mesSchemeResult.BoardItem; entity.BoardItem = mesSchemeResult.BoardItem; entity.LineNo = mesSchemeResult.LineNo; entity.Aufnr = mesSchemeResult.TaskNo; entity.ReleaseNo = qsItemOqcReq.ReleaseNo; entity.LotNo = qsItemOqcReq.BillNo; entity.FcheckDate = qsItemOqcReq.FcheckDate; entity.FcheckMemo = qsItemOqcReq.Remarks; entity.Gid = qsItemOqcReq.Id; // entity.PlanQty = qsItemOqcReq.FcheckDate; entity.FcheckResu = "ä¸åæ ¼"; entity.FcheckLevel = "严é"; entity.CreateDate = DateTime.Now; entity.Factory = "10000"; entity.Company = "1000"; entity.Ftype = "4"; entity.Fversion = 0; entity.Modify1Flag = 0; entity.IpqcStatus = 0; entity.Fsubmit = 1; entity.CreateBy = createBy; entity.FcheckBy = createBy; return SqlSugarHelper.UseTransactionWithOracle(db => db .Insertable(entity) .ExecuteCommand()); } */ public LLJDto getXjDetail02ById(decimal? id) { var rkjDto = new LLJDto(); var db = SqlSugarHelper.GetInstance(); var qsItemOqcItem = db.Queryable<MesQaItemsDetectDetail5>().Single(s => s.Id == id); /* if (qsItemOqcItem.IsPass == 0) qsItemOqcItem.Result = "ä¸åæ ¼"; else if (qsItemOqcItem.IsPass == 1) qsItemOqcItem.Result = "åæ ¼"; else qsItemOqcItem.Result = "æªå®æ"; if (qsItemOqcItem.Picture is { Length: > 0 }) qsItemOqcItem.imageData = Convert.ToBase64String(qsItemOqcItem.Picture); */ //è·åä¸åæ ¼æ° var count = db.Queryable<MesQaItemsDetectDetail12>() .Where(s => s.Fstand == "Ã" && s.MainId == id).Count(); qsItemOqcItem.Unqualified = count; rkjDto.ItemXj01 = qsItemOqcItem; rkjDto.ItemXj02s = db.Queryable<MesQaItemsDetectDetail12>() .Where(s => s.MainId == id) .ToList(); return rkjDto; } public int UpdateQSItemDetail(MesQaItemsDetectDetail12 detail) { var withOracle = SqlSugarHelper.UseTransactionWithOracle(db => { return db.Updateable<MesQaItemsDetectDetail12>() .SetColumns(s => s.LastupdateBy == detail.LastupdateBy) // .SetColumns(s => s.LastupdateDate == DateTime.Now) .SetColumnsIF(StringUtil.IsNotNullOrEmpty(detail.Fstand), s => s.Fstand == detail.Fstand) .SetColumnsIF(StringUtil.IsNotNullOrEmpty(detail.FcheckResu), s => s.FcheckResu == detail.FcheckResu) .Where(s => s.MainId == detail.MainId && s.Id == detail.Id) .ExecuteCommand(); }); detail.CreateBy = detail.LastupdateBy; withOracle += autoResult(detail); return withOracle; } //æ´æ°æ£éªæç»å·²æ£ãä¸åæ ¼æ°é private int updateDetail5(MesQaItemsDetectDetail12 detail) { var db = SqlSugarHelper.GetInstance(); //æ¥è¯¢è¿ä¸ªæ£éªé¡¹ç®ä¸çæ£éªæ°é var count = db.Queryable<MesQaItemsDetectDetail12>() .Where(s => s.MainId == detail.MainId).Count(); //è·åä¸åæ ¼æ° var countNo = db.Queryable<MesQaItemsDetectDetail12>() .Where(s => s.MainId == detail.MainId && s.Fstand == "Ã").Count(); //æ´æ°æ£éªæç»å·²æ£æ°é var withOracle = SqlSugarHelper.UseTransactionWithOracle(db => { return db.Updateable<MesQaItemsDetectDetail5>() .SetColumns(s => s.FenterQty == count) .SetColumns(s => s.FngQty == countNo) .Where(s => s.Id == detail.MainId) .ExecuteCommand(); }); return withOracle; } //主表修æ¹å¤æ³¨å段 public int saveRemarksGid(LLJDto dto) { return SqlSugarHelper.UseTransactionWithOracle(db => { return db.Updateable<MesQaItemsDetect01>() .SetColumns(it => it.Remarks == dto.Remarks) //SetColumnsæ¯å¯ä»¥å å ç å2个就2ä¸ªåæ®µèµå¼ .Where(it => it.ReleaseNo == dto.releaseNo) .ExecuteCommand(); }); } //å表修æ¹å¤æ³¨å段 public int saveRemarksPid(LLJDto dto) { return SqlSugarHelper.UseTransactionWithOracle(db => { return db.Updateable<MesQaItemsDetectDetail5>() .SetColumns(it => it.Remarks == dto.Remarks) //SetColumnsæ¯å¯ä»¥å å ç å2个就2ä¸ªåæ®µèµå¼ .Where(it => it.Id == dto.pid) .ExecuteCommand(); }); } //å é¤ä¸»è¡¨å¹¶ä¸è¿çº§å é¤å表åå表 public int removeXJ(string? releaseNo) { var withOracle = SqlSugarHelper.UseTransactionWithOracle(db => { var commit = 0; //å é¤ä¸»è¡¨ commit += db.Deleteable<MesQaItemsDetect01>().Where(s => s.ReleaseNo == releaseNo) .ExecuteCommand(); //å é¤å表 commit += db.Deleteable<MesQaItemsDetectDetail5>().Where(s => s.ReleaseNo == releaseNo) .ExecuteCommand(); //å é¤å表 commit += db.Deleteable<MesQaItemsDetectDetail12>() .Where(s => s.ReleaseNo == releaseNo) .ExecuteCommand(); return commit; }); return withOracle; } } MESApplication/Controllers/QC/LljController.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,252 @@ using System.Dynamic; 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.Linq; namespace MESApplication.Controllers.QC; [Route("api/[controller]")] [ApiController] public class LljController: ControllerBase { [HttpPost("getPage")] public ResponseResult getPage([FromBody] XJPageResult queryObj) { try { dynamic resultInfos = new ExpandoObject(); var tbBillList = new LljService().GetPage(queryObj); resultInfos.tbBillList = tbBillList; return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } [HttpPost("setJYItem")] public ResponseResult setJYItem([FromBody] JObject data) { var itemNo = data["itemNo"].ToString(); var quantity = Convert.ToDecimal(data["quantity"].ToString()); var releaseNo = data["releaseNo"].ToString(); try { dynamic resultInfos = new ExpandoObject(); var tbBillList = new LljService().SetItems(itemNo, quantity,releaseNo); resultInfos.tbBillList = tbBillList; return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } [HttpPost("saveItem")] public ResponseResult saveItem([FromBody] LLJDto lljDto) { try { dynamic resultInfos = new ExpandoObject(); var tbBillList = new LljService().saveItem(lljDto); resultInfos.tbBillList = tbBillList; return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } 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 = new LljService().GetItems(releaseNo, Convert.ToDecimal(id)); resultInfos.tbBillList = tbBillList; return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } //getXjDetail02ById [HttpPost("getXjDetail02ById")] public ResponseResult getXjDetail02ById([FromBody] JObject data) { var id = data["id"]?.ToString(); try { dynamic resultInfos = new ExpandoObject(); var tbBillList = new LljService().getXjDetail02ById(Convert.ToDecimal(id)); resultInfos.tbBillList = tbBillList; return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } [HttpPost("SetQSItemDetail")] public ResponseResult SetQSItemDetail([FromBody] MesQaItemsDetectDetail12 detail) { try { dynamic resultInfos = new ExpandoObject(); var tbBillList = new LljService(); var detail021 = tbBillList.SetQSItemDetail(detail); resultInfos.tbBillList = detail021; return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } [HttpPost("UpdateQSItemDetail")] public ResponseResult UpdateQSItemDetail( [FromBody] MesQaItemsDetectDetail12 detail) { try { dynamic resultInfos = new ExpandoObject(); var tbBillList = new LljService(); var detail021 = tbBillList.UpdateQSItemDetail(detail); resultInfos.tbBillList = detail021; return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } //saveRemarksGid 主表添å ä¸åæ ¼æè¿° [HttpPost("saveRemarksGid")] public ResponseResult saveRemarksGid([FromBody] LLJDto rkjDto) { try { dynamic resultInfos = new ExpandoObject(); var tbBillList = new LljService().saveRemarksGid(rkjDto); resultInfos.tbBillList = tbBillList; return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } //saveRemarksPid å表添å ä¸åæ ¼æè¿° [HttpPost("saveRemarksPid")] public ResponseResult saveRemarksPid([FromBody] LLJDto rkjDto) { try { dynamic resultInfos = new ExpandoObject(); var tbBillList = new LljService().saveRemarksPid(rkjDto); resultInfos.tbBillList = tbBillList; return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } //removeXJ å é¤ [HttpPost("removeXJ")] public ResponseResult removeXJ([FromBody] JObject data) { var releaseNo = data["releaseNo"]?.ToString(); try { dynamic resultInfos = new ExpandoObject(); var tbBillList = new LljService().removeXJ(releaseNo); resultInfos.tbBillList = tbBillList; return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } }