kyy
2024-09-11 06ba27614f84eac11083ecd261b6fdc886ebd8bf
来料检验
已添加6个文件
已修改2个文件
1460 ■■■■ 文件已修改
MES.Service/Dto/service/LLJDto.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Modes/LtsLlj.cs 142 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Modes/MesQaIqc.cs 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Modes/MesQaItemsDetect01.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Modes/MesQaItemsDetectDetail12.cs 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Modes/MesQaItemsDetectDetail5.cs 335 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/service/QC/LljService.cs 539 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MESApplication/Controllers/QC/LljController.cs 252 ●●●●● 补丁 | 查看 | 原始文档 | 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);
        }
    }
}