啊鑫
2024-09-19 30846c0d13ee4136d68ba509b05281378db951c6
生成委外订单接口
已修改28个文件
已添加9个文件
1607 ■■■■ 文件已修改
MES.Service/Dto/service/LLJDto.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Dto/service/ProductionPickDto.cs 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Dto/service/WarehouseQuery.cs 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Dto/webApi/ErpProductionOrderDto.cs 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Dto/webApi/ErpProductionOrderSubDto.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Dto/webApi/ErpWYOrder.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Modes/LtsLlj.cs 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Modes/MesBarcodeType.cs 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Modes/MesDepTaskInfo.cs 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Modes/MesInvBusiness2.cs 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Modes/MesInvItemArn.cs 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Modes/MesInvItemInCItems.cs 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Modes/MesInvItemMoves.cs 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Modes/MesInvItemOutCDetails.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Modes/MesInvTransaction.cs 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Modes/MesQaIqc.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Modes/MesQaItemsDetect01.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Modes/MesQaItemsDetectDetail12.cs 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Modes/MesQaItemsDetectDetail5.cs 46 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Modes/ProductionOrder.cs 275 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Modes/ProductionOrderSub.cs 209 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Modes/Purdhb.cs 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Modes/Purdka.cs 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Modes/Womdab.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/service/BasicData/MesRohInManager.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/service/BasicData/ProductionOrderManager.cs 200 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/service/BasicData/ProductionOrderSubManager.cs 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/service/GetErpParametersServer.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/service/QC/LljService.cs 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/service/Warehouse/MesInvItemBarcodesManager.cs 139 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/service/Warehouse/MesInvItemOutsManager.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/service/WomdaaManager.cs 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/util/ResponseResult.cs 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/util/UserUtil.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
MESApplication/Controllers/BasicData/ProductionOrderController.cs 259 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MESApplication/Controllers/BasicData/ProductionOrderSubController.cs 163 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MESApplication/Controllers/WomdaaController.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Dto/service/LLJDto.cs
@@ -5,6 +5,7 @@
public class LLJDto
{
    public string? userNo { get; set; }
    //检验单号
    public string? releaseNo { get; set; }
    
MES.Service/Dto/service/ProductionPickDto.cs
MES.Service/Dto/service/WarehouseQuery.cs
MES.Service/Dto/webApi/ErpProductionOrderDto.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,46 @@
namespace MES.Service.Dto.webApi;
public class ErpProductionOrderDto
{
    public string? Type { get; set; }
    public string? FBillNo { get; set; } // å•据编号
    public string? F_UNW_Text_tpgy { get; set; } // è´´ç‰‡å·¥è‰ºå±žæ€§
    public string? FStockID { get; set; } // ä»“库
    public string? FDate { get; set; } // å•据日期
    public string? FBillType { get; set; } // å•据类型
    public string? FStatus { get; set; } // ä¸šåŠ¡çŠ¶æ€
    public string? FMaterialId { get; set; } // äº§å“ç¼–码
    public string? FUnitID { get; set; } // å•位
    public string? FQty { get; set; } // å·¥å•数量
    public string? FWorkGroupId { get; set; } // è®¡åˆ’组
    public string? FPlannerID { get; set; } // è®¡åˆ’员
    public string? FPlanStartDate { get; set; } // é¢„计开工时间
    public string? FPlanFinishDate { get; set; } // é¢„计完工时间
    public string? FStockInLimitH { get; set; } // å…¥åº“上限
    public string? FStockInLimitL { get; set; } // å…¥åº“下限
    public string? FMTONO { get; set; } // è®¡åˆ’跟踪号
    public string? FLot { get; set; } // æ‰¹å·
    public string? FBomId { get; set; } // BOM版次
    public string? F_UNW_XSDDH { get; set; } // é”€å”®è®¢å•号
    public string? FCreateType { get; set; } // ç”Ÿæˆæ–¹å¼
    public string? FSUBID { get; set; } // ERP生产订单ID
    public string? FSUBBILLNOSEQ { get; set; } // ERP生产订单序号
    public string? FSUBBILLNO { get; set; } // ERP生产订单单号
    public string? FSrcBillType { get; set; } // æºå•类型
    public string? FSrcBillNo { get; set; } // æºå•编号
    public string? FSrcBillEntrySeq { get; set; } // æºå•分录行号
    public string? FSALEORDERNO { get; set; } // éœ€æ±‚单据号
    public string? FSaleOrderEntrySeq { get; set; } // éœ€æ±‚单据行号
    public string? FFORCECLOSERID { get; set; } // ç»“案人
    public string? FCloseType { get; set; } // ç»“案类型
    public string? FDescription { get; set; } // å¤‡æ³¨
    public string? FPPOMID { get; set; } // ERPID
    public string? FSUBENTRYID { get; set; } // ERP生产订单分录内码
    public string? FPurOrderNo { get; set; } // é‡‡è´­è®¢å•
    public string? FPurOrderEntrySeq { get; set; } // é‡‡è´­è®¢å•行号
    public string? F_UNW_BaseProperty_bzds { get; set; } // æ ‡å‡†ç‚¹æ•°
    public string? F_UNW_BaseProperty_jjds { get; set; } // è®¡ä»·ç‚¹æ•°
    public string? FBaseStockInQty { get; set; } // å…¥åº“数量
    public string? FBaseNoStockInQty { get; set; } // æœªå…¥åº“数量
    public string? FInStockOwnerId { get; set; } // å…¥åº“货主
}
MES.Service/Dto/webApi/ErpProductionOrderSubDto.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
namespace MES.Service.Dto.webApi;
public class ErpProductionOrderSubDto
{
    public string? FSEQ { get; set; } // åºå·
    public string? FMaterialID2 { get; set; } // å­é¡¹ç‰©æ–™ç¼–码
    public string? FMustQty { get; set; } // éœ€é¢†ç”¨é‡
    public string? FPickedQty { get; set; } // å·²é¢†ç”¨é‡
    public string? FPositionNO { get; set; } // ä½ç½®å·
    public string? FOwnerID { get; set; } // è´§ä¸»
    public string? FMTONO { get; set; } // è®¡åˆ’跟踪号
    public string? FLot { get; set; } // æ‰¹å·
    public string? FStockID { get; set; } // ä»“库
    public string? FIssueType { get; set; } // å‘料方式
    public string? F_UNW_Text_tpgy_Z { get; set; } // å·¥è‰º
    public string? FUnitID2 { get; set; } // å•位
    public string? FSupplyType { get; set; } // ä¾›åº”类型
    public string? FNumerator { get; set; } // åˆ†å­
    public string? FDenominator { get; set; } // åˆ†æ¯
    public string? FPPOMENTRYID { get; set; } // ERPID
    public string? FPPOMID { get; set; } // ERP头ID
    public string? FFixScrapQty { get; set; } // å›ºå®šæŸè€—
    public string? FScrapRate { get; set; } // å˜åŠ¨æŸè€—çŽ‡%
    public string? FMaterialType { get; set; } // å­é¡¹ç±»åž‹
    public string? F_UNW_Text_xsddh { get; set; } // é”€å”®è®¢å•号
    public string? FReplaceGroup { get; set; } // é¡¹æ¬¡å·
    public string? FOwnerTypeId { get; set; } // è´§ä¸»ç±»åž‹
    public string? FOwnerID2 { get; set; } // è´§ä¸»
}
MES.Service/Dto/webApi/ErpWYOrder.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
namespace MES.Service.Dto.webApi;
public class ErpWYOrder
{
    public ErpProductionOrderDto OrderDto { get; set; }
    public List<ErpProductionOrderSubDto> Items { get; set; }
}
MES.Service/Modes/LtsLlj.cs
@@ -1,131 +1,150 @@
using System;
using System.Collections.Generic;
using System.Linq;
using SqlSugar;
namespace MES.Service.Modes
{
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>
@@ -137,6 +156,4 @@
         ///</summary>
         [SugarColumn(ColumnName="F_TYPE"    )]
         public int Ftype { get; set; }
    }
}
MES.Service/Modes/MesBarcodeType.cs
MES.Service/Modes/MesDepTaskInfo.cs
MES.Service/Modes/MesInvBusiness2.cs
MES.Service/Modes/MesInvItemArn.cs
MES.Service/Modes/MesInvItemInCItems.cs
MES.Service/Modes/MesInvItemMoves.cs
MES.Service/Modes/MesInvItemOutCDetails.cs
@@ -100,7 +100,6 @@
    public string DepotSectionCode { get; set; }
    /// <summary>
    ///
    ///</summary>
    [SugarColumn(ColumnName = "REMARK")]
    public string Remark { get; set; }
MES.Service/Modes/MesInvTransaction.cs
MES.Service/Modes/MesQaIqc.cs
@@ -1,9 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
using SqlSugar;
namespace MES.Service.Modes
{
using SqlSugar;
namespace MES.Service.Modes;
    /// <summary>
    /// æ•°æ®æºå¯¼å…¥
    ///</summary>
@@ -15,65 +13,73 @@
     ///</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,10 +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
@@ -1,9 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
using SqlSugar;
namespace MES.Service.Modes
{
using SqlSugar;
namespace MES.Service.Modes;
    /// <summary>
    /// IQC检验
    ///</summary>
@@ -11,15 +9,17 @@
    public class MesQaItemsDetectDetail12
    {
        /// <summary>
        ///
        ///</summary>
         [SugarColumn(ColumnName="ID" ,OracleSequenceName = "SEQ_QM_ID",IsPrimaryKey = true   )]
 [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>
@@ -31,42 +31,42 @@
        ///</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,10 +1,8 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.ComponentModel.DataAnnotations.Schema;
using SqlSugar;
namespace MES.Service.Modes
{
namespace MES.Service.Modes;
    /// <summary>
    /// æ¥æ–™æ£€éªŒä»Žè¡¨
    ///</summary>
@@ -12,146 +10,171 @@
    public class MesQaItemsDetectDetail5
    {
        /// <summary>
        ///
        ///</summary>
        [Column("ID")]
         [SugarColumn(ColumnName="ID",OracleSequenceName = "SEQ_QM_ID",IsPrimaryKey = true   )]
    [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>
@@ -159,5 +182,4 @@
         public string? Remarks { get; set; }
         
         [SugarColumn(IsIgnore = true)] public int? Unqualified { get; set; }
    }
}
MES.Service/Modes/ProductionOrder.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,275 @@
using SqlSugar;
namespace MES.Service.Modes;
/// <summary>
///     ç”Ÿäº§è®¢å•表(委外)
/// </summary>
[SugarTable("PRODUCTION_ORDER")]
public class ProductionOrder
{
    /// <summary>
    ///     SEQ_ORDER
    /// </summary>
    [SugarColumn(ColumnName = "ID", OracleSequenceName = "SEQ_ORDER",
        IsPrimaryKey = true)]
    public decimal Id { get; set; }
    /// <summary>
    ///     å•据编号
    /// </summary>
    [SugarColumn(ColumnName = "ORDER_NO")]
    public string? OrderNo { get; set; }
    /// <summary>
    ///     è´´ç‰‡å·¥è‰ºå±žæ€§
    /// </summary>
    [SugarColumn(ColumnName = "SMT_PROCESS_ATTR")]
    public string? SmtProcessAttr { get; set; }
    /// <summary>
    ///     ä»“库
    /// </summary>
    [SugarColumn(ColumnName = "WAREHOUSE")]
    public string? Warehouse { get; set; }
    /// <summary>
    ///     å•据日期
    /// </summary>
    [SugarColumn(ColumnName = "ORDER_DATE")]
    public DateTime? OrderDate { get; set; }
    /// <summary>
    ///     å•据类型
    /// </summary>
    [SugarColumn(ColumnName = "ORDER_TYPE")]
    public string? OrderType { get; set; }
    /// <summary>
    ///     ä¸šåŠ¡çŠ¶æ€
    /// </summary>
    [SugarColumn(ColumnName = "BUSINESS_STATUS")]
    public string? BusinessStatus { get; set; }
    /// <summary>
    ///     äº§å“ç¼–码
    /// </summary>
    [SugarColumn(ColumnName = "PRODUCT_CODE")]
    public string? ProductCode { get; set; }
    /// <summary>
    ///     å•位
    /// </summary>
    [SugarColumn(ColumnName = "UNIT")]
    public string? Unit { get; set; }
    /// <summary>
    ///     å·¥å•数量
    /// </summary>
    [SugarColumn(ColumnName = "WORK_ORDER_QTY")]
    public decimal? WorkOrderQty { get; set; }
    /// <summary>
    ///     è®¡åˆ’组
    /// </summary>
    [SugarColumn(ColumnName = "PLANNING_GROUP")]
    public string? PlanningGroup { get; set; }
    /// <summary>
    ///     è®¡åˆ’员
    /// </summary>
    [SugarColumn(ColumnName = "PLANNER")]
    public string? Planner { get; set; }
    /// <summary>
    ///     é¢„计开工时间
    /// </summary>
    [SugarColumn(ColumnName = "ESTIMATED_START_TIME")]
    public DateTime? EstimatedStartTime { get; set; }
    /// <summary>
    ///     é¢„计完工时间
    /// </summary>
    [SugarColumn(ColumnName = "ESTIMATED_END_TIME")]
    public DateTime? EstimatedEndTime { get; set; }
    /// <summary>
    ///     è®¡åˆ’下达日期
    /// </summary>
    [SugarColumn(ColumnName = "PLAN_RELEASE_DATE")]
    public DateTime? PlanReleaseDate { get; set; }
    /// <summary>
    ///     å…¥åº“上限
    /// </summary>
    [SugarColumn(ColumnName = "STORAGE_UPPER_LIMIT")]
    public decimal? StorageUpperLimit { get; set; }
    /// <summary>
    ///     å…¥åº“下限
    /// </summary>
    [SugarColumn(ColumnName = "STORAGE_LOWER_LIMIT")]
    public decimal? StorageLowerLimit { get; set; }
    /// <summary>
    ///     è®¡åˆ’跟踪号
    /// </summary>
    [SugarColumn(ColumnName = "TRACKING_NO")]
    public string? TrackingNo { get; set; }
    /// <summary>
    ///     æ‰¹å·
    /// </summary>
    [SugarColumn(ColumnName = "BATCH_NO")]
    public string? BatchNo { get; set; }
    /// <summary>
    ///     BOM版次
    /// </summary>
    [SugarColumn(ColumnName = "BOM_VERSION")]
    public string? BomVersion { get; set; }
    /// <summary>
    ///     é”€å”®è®¢å•号
    /// </summary>
    [SugarColumn(ColumnName = "SALES_ORDER_NO")]
    public string? SalesOrderNo { get; set; }
    /// <summary>
    ///     é”€å”®è®¢å•行号
    /// </summary>
    [SugarColumn(ColumnName = "SALES_ORDER_LINE_NO")]
    public string? SalesOrderLineNo { get; set; }
    /// <summary>
    ///     ç”Ÿæˆæ–¹å¼
    /// </summary>
    [SugarColumn(ColumnName = "GENERATION_METHOD")]
    public string? GenerationMethod { get; set; }
    /// <summary>
    ///     ERP生产订单ID
    /// </summary>
    [SugarColumn(ColumnName = "ERP_PRODUCTION_ORDER_ID")]
    public string? ErpProductionOrderId { get; set; }
    /// <summary>
    ///     ERP生产订单序号
    /// </summary>
    [SugarColumn(ColumnName = "ERP_PRODUCTION_ORDER_LINE_NO")]
    public string? ErpProductionOrderLineNo { get; set; }
    /// <summary>
    ///     ERP生产订单单号
    /// </summary>
    [SugarColumn(ColumnName = "ERP_PRODUCTION_ORDER_NO")]
    public string? ErpProductionOrderNo { get; set; }
    /// <summary>
    ///     æºå•类型
    /// </summary>
    [SugarColumn(ColumnName = "SOURCE_ORDER_TYPE")]
    public string? SourceOrderType { get; set; }
    /// <summary>
    ///     æºå•编号
    /// </summary>
    [SugarColumn(ColumnName = "SOURCE_ORDER_NO")]
    public string? SourceOrderNo { get; set; }
    /// <summary>
    ///     æºå•分录行号
    /// </summary>
    [SugarColumn(ColumnName = "SOURCE_ORDER_ENTRY_NO")]
    public string? SourceOrderEntryNo { get; set; }
    /// <summary>
    ///     éœ€æ±‚单据号
    /// </summary>
    [SugarColumn(ColumnName = "DEMAND_ORDER_NO")]
    public string? DemandOrderNo { get; set; }
    /// <summary>
    ///     éœ€æ±‚单据行号
    /// </summary>
    [SugarColumn(ColumnName = "DEMAND_ORDER_LINE_NO")]
    public string? DemandOrderLineNo { get; set; }
    /// <summary>
    ///     ç»“案人
    /// </summary>
    [SugarColumn(ColumnName = "CLOSING_PERSON")]
    public string? ClosingPerson { get; set; }
    /// <summary>
    ///     ç»“案类型
    /// </summary>
    [SugarColumn(ColumnName = "CLOSING_TYPE")]
    public string? ClosingType { get; set; }
    /// <summary>
    ///     æºæ‹†åˆ†è®¢å•编号
    /// </summary>
    [SugarColumn(ColumnName = "SPLIT_ORDER_NO")]
    public string? SplitOrderNo { get; set; }
    /// <summary>
    ///     å¤‡æ³¨
    /// </summary>
    [SugarColumn(ColumnName = "REMARKS")]
    public string? Remarks { get; set; }
    /// <summary>
    ///     ERPID
    /// </summary>
    [SugarColumn(ColumnName = "ERP_ID")]
    public string? ErpId { get; set; }
    /// <summary>
    ///     ERP生产订单分录内码
    /// </summary>
    [SugarColumn(ColumnName = "ERP_PRODUCTION_ENTRY_CODE")]
    public string? ErpProductionEntryCode { get; set; }
    /// <summary>
    ///     é‡‡è´­è®¢å•
    /// </summary>
    [SugarColumn(ColumnName = "PURCHASEORDERNO")]
    public string? PurchaseOrderNo { get; set; }
    /// <summary>
    ///     é‡‡è´­è®¢å•行号
    /// </summary>
    [SugarColumn(ColumnName = "PURCHASEORDERENTRYSEQ")]
    public long? PurchaseOrderEntrySeq { get; set; }
    /// <summary>
    ///     æ ‡å‡†ç‚¹æ•°
    /// </summary>
    [SugarColumn(ColumnName = "STANDARDPOINTS")]
    public decimal? StandardPoints { get; set; }
    /// <summary>
    ///     è®¡ä»·ç‚¹æ•°
    /// </summary>
    [SugarColumn(ColumnName = "PRICINGPOINTS")]
    public decimal? PricingPoints { get; set; }
    /// <summary>
    ///     å…¥åº“数量
    /// </summary>
    [SugarColumn(ColumnName = "STOCKINQTY")]
    public decimal? StockInQty { get; set; }
    /// <summary>
    ///     æœªå…¥åº“数量
    /// </summary>
    [SugarColumn(ColumnName = "NOSTOCKINQTY")]
    public decimal? NoStockInQty { get; set; }
    /// <summary>
    ///     å…¥åº“货主
    /// </summary>
    [SugarColumn(ColumnName = "STOCKOWNER")]
    public string? StockOwner { get; set; }
}
MES.Service/Modes/ProductionOrderSub.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,209 @@
using SqlSugar;
namespace MES.Service.Modes;
/// <summary>
///     ç”Ÿäº§è®¢å•表(委外)子表
/// </summary>
[SugarTable("PRODUCTION_ORDER_SUB")]
public class ProductionOrderSub
{
    /// <summary>
    ///     SEQ_ORDER
    /// </summary>
    [SugarColumn(ColumnName = "ID", OracleSequenceName = "SEQ_ORDER",
        IsPrimaryKey = true)]
    public decimal Id { get; set; }
    /// <summary>
    ///     å·¥å•单号
    /// </summary>
    [SugarColumn(ColumnName = "WORK_ORDER_NO")]
    public string? WorkOrderNo { get; set; }
    /// <summary>
    ///     åºå·
    /// </summary>
    [SugarColumn(ColumnName = "SEQUENCE_NO")]
    public long? SequenceNo { get; set; }
    /// <summary>
    ///     ææ–™ç¼–码
    /// </summary>
    [SugarColumn(ColumnName = "MATERIAL_CODE")]
    public string? MaterialCode { get; set; }
    /// <summary>
    ///     éœ€é¢†ç”¨é‡
    /// </summary>
    [SugarColumn(ColumnName = "REQUIRED_QTY")]
    public decimal? RequiredQty { get; set; }
    /// <summary>
    ///     å·²é¢†ç”¨é‡
    /// </summary>
    [SugarColumn(ColumnName = "ISSUED_QTY")]
    public decimal? IssuedQty { get; set; }
    /// <summary>
    ///     ä½ç½®å·
    /// </summary>
    [SugarColumn(ColumnName = "LOCATION_NO")]
    public string? LocationNo { get; set; }
    /// <summary>
    ///     ä¾›åº”组织
    /// </summary>
    [SugarColumn(ColumnName = "SUPPLYING_ORG")]
    public string? SupplyingOrg { get; set; }
    /// <summary>
    ///     å‘料组织
    /// </summary>
    [SugarColumn(ColumnName = "ISSUING_ORG")]
    public string? IssuingOrg { get; set; }
    /// <summary>
    ///     è´§ä¸»
    /// </summary>
    [SugarColumn(ColumnName = "STOCK_OWNER")]
    public string? StockOwner { get; set; }
    /// <summary>
    ///     è®¡åˆ’跟踪号
    /// </summary>
    [SugarColumn(ColumnName = "TRACKING_NO")]
    public string? TrackingNo { get; set; }
    /// <summary>
    ///     æ‰¹å·
    /// </summary>
    [SugarColumn(ColumnName = "BATCH_NO")]
    public string? BatchNo { get; set; }
    /// <summary>
    ///     ä»“库
    /// </summary>
    [SugarColumn(ColumnName = "WAREHOUSE")]
    public string? Warehouse { get; set; }
    /// <summary>
    ///     å‘料方式
    /// </summary>
    [SugarColumn(ColumnName = "ISSUING_METHOD")]
    public string? IssuingMethod { get; set; }
    /// <summary>
    ///     å·¥è‰º
    /// </summary>
    [SugarColumn(ColumnName = "PROCESS")]
    public string? Process { get; set; }
    /// <summary>
    ///     å•位
    /// </summary>
    [SugarColumn(ColumnName = "UNIT")]
    public string? Unit { get; set; }
    /// <summary>
    ///     ä¾›åº”类型
    /// </summary>
    [SugarColumn(ColumnName = "SUPPLYING_TYPE")]
    public string? SupplyingType { get; set; }
    /// <summary>
    ///     ç»„成用量
    /// </summary>
    [SugarColumn(ColumnName = "COMPOSITION_QTY")]
    public decimal? CompositionQty { get; set; }
    /// <summary>
    ///     æ˜¯å¦æ›¿æ–™
    /// </summary>
    [SugarColumn(ColumnName = "IS_SUBSTITUTE")]
    public string? IsSubstitute { get; set; }
    /// <summary>
    ///     åˆ†å­
    /// </summary>
    [SugarColumn(ColumnName = "NUMERATOR")]
    public long? Numerator { get; set; }
    /// <summary>
    ///     åˆ†æ¯
    /// </summary>
    [SugarColumn(ColumnName = "DENOMINATOR")]
    public long? Denominator { get; set; }
    /// <summary>
    ///     ERPID
    /// </summary>
    [SugarColumn(ColumnName = "ERP_ID")]
    public string? ErpId { get; set; }
    /// <summary>
    ///     ERP头ID
    /// </summary>
    [SugarColumn(ColumnName = "ERP_HEADER_ID")]
    public string? ErpHeaderId { get; set; }
    /// <summary>
    ///     å›ºå®šæŸè€—
    /// </summary>
    [SugarColumn(ColumnName = "FIXED_LOSS")]
    public decimal? FixedLoss { get; set; }
    /// <summary>
    ///     å˜åŠ¨æŸè€—çŽ‡%
    /// </summary>
    [SugarColumn(ColumnName = "VARIABLE_LOSS_RATE")]
    public string? VariableLossRate { get; set; }
    /// <summary>
    ///     å­é¡¹ç±»åž‹
    /// </summary>
    [SugarColumn(ColumnName = "SUB_ITEM_TYPE")]
    public string? SubItemType { get; set; }
    /// <summary>
    ///     å­é¡¹å•位
    /// </summary>
    [SugarColumn(ColumnName = "SUB_ITEM_UNIT")]
    public string? SubItemUnit { get; set; }
    /// <summary>
    ///     é”€å”®è®¢å•号
    /// </summary>
    [SugarColumn(ColumnName = "SALES_ORDER_NO")]
    public string? SalesOrderNo { get; set; }
    /// <summary>
    ///     é¡¹æ¬¡å·
    /// </summary>
    [SugarColumn(ColumnName = "ITEM_NO")]
    public string? ItemNo { get; set; }
    /// <summary>
    ///     å‘料组织
    /// </summary>
    [SugarColumn(ColumnName = "ISSUING_ORG_2")]
    public string? IssuingOrg2 { get; set; }
    /// <summary>
    ///     è´§ä¸»ç±»åž‹
    /// </summary>
    [SugarColumn(ColumnName = "OWNER_TYPE")]
    public string? OwnerType { get; set; }
    /// <summary>
    ///     è´§ä¸»
    /// </summary>
    [SugarColumn(ColumnName = "OWNER")]
    public string? Owner { get; set; }
    /// <summary>
    ///     ä¾›åº”组织
    /// </summary>
    [SugarColumn(ColumnName = "SUPPLYING_ORG_2")]
    public string? SupplyingOrg2 { get; set; }
}
MES.Service/Modes/Purdhb.cs
MES.Service/Modes/Purdka.cs
MES.Service/Modes/Womdab.cs
@@ -146,12 +146,9 @@
    public decimal? ErpId { get; set; }
    
    // åŠ¨æ€æ·»åŠ çš„å±žæ€§
    [SugarColumn(IsIgnore = true)]
    public decimal? wNum { get; set; }
    [SugarColumn(IsIgnore = true)] public decimal? wNum { get; set; }
    [SugarColumn(IsIgnore = true)]
    public string? ItemName { get; set; }
    [SugarColumn(IsIgnore = true)] public string? ItemName { get; set; }
    [SugarColumn(IsIgnore = true)]
    public string? ItemNo { get; set; }
    [SugarColumn(IsIgnore = true)] public string? ItemNo { get; set; }
}
MES.Service/service/BasicData/MesRohInManager.cs
@@ -15,7 +15,7 @@
        var rohInErpRohIn = rohIn.ErpRohIn;
        var mesRohIn = GetMesRohIn(rohInErpRohIn);
        var mesRohInDatas =
            GetMesRohInDatas(rohIn.ErpRohinDatas, rohInErpRohIn.Type);
            GetMesRohInDatas(rohIn.ErpRohinDatas);
        return UseTransaction(db =>
        {
@@ -183,7 +183,7 @@
    // å°† ErpRohinData å¯¹è±¡è½¬æ¢ä¸º MesRohInData å¯¹è±¡çš„æ–¹æ³•
    public List<MesRohInData> GetMesRohInDatas(
        List<ErpRohinData> erpRohinDatas, string type)
        List<ErpRohinData> erpRohinDatas)
    {
        return erpRohinDatas.Select(s =>
        {
MES.Service/service/BasicData/ProductionOrderManager.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,200 @@
using System.Globalization;
using MES.Service.DB;
using MES.Service.Dto.webApi;
using MES.Service.Modes;
using SqlSugar;
namespace MES.Service.service;
public class ProductionOrderManager : Repository<ProductionOrder>
{
    //当前类已经继承了 Repository å¢žã€åˆ ã€æŸ¥ã€æ”¹çš„æ–¹æ³•
    private readonly ProductionOrderSubManager _productionOrderSubManager =
        new();
    //ErpWYOrder
    public bool Save(ErpWYOrder wyOrder)
    {
        var erpProductionOrderDto = wyOrder.OrderDto;
        var mesRohIn = ConvertErpToProductionOrder(erpProductionOrderDto);
        var mesRohInDatas =
            ConvertErpToProductionOrderSub(wyOrder.Items);
        return UseTransaction(db =>
        {
            switch (erpProductionOrderDto.Type)
            {
                // case "2":
                //     return InsertData(db, mesRohIn, mesRohInDatas,
                //         rohInErpRohIn.FBILLTYPE)
                //         ? 1
                //         : 0;
                case "3":
                    return UpdateData(db, mesRohIn, mesRohInDatas) ? 1 : 0;
                case "2":
                case "4":
                    return SaveOrUpdateData(db, mesRohIn, mesRohInDatas)
                        ? 1
                        : 0;
                default:
                    throw new NotImplementedException(
                        $"type没有{erpProductionOrderDto.Type}这个类型");
            }
        }) > 0;
    }
    private bool UpdateData(SqlSugarScope db, ProductionOrder mesRohIn,
        List<ProductionOrderSub> mesRohInDatas)
    {
        var decimals = mesRohInDatas.Select(s => s.Id).ToArray();
        var update = base.DeleteById(mesRohIn.Id);
        var insertOrUpdate = db
            .Deleteable<MesRohInData>().In(decimals)
            .ExecuteCommand() > 0;
        if (update && insertOrUpdate) return true;
        throw new NotImplementedException("更新失败");
    }
    // æ’入或更新数据的方法
    private bool SaveOrUpdateData(SqlSugarScope db, ProductionOrder mesRohIn,
        List<ProductionOrderSub> mesRohInDatas)
    {
        if (mesRohIn.Id != null) base.DeleteById(mesRohIn.Id);
        if (mesRohInDatas.Count > 0)
            db.Deleteable<ProductionOrderSub>()
                .Where(s => s.ErpHeaderId == mesRohIn.ErpId).ExecuteCommand();
        var orUpdate = base.Insert(mesRohIn);
        var baOrUpdate = _productionOrderSubManager.InsertRange(mesRohInDatas);
        if (orUpdate && baOrUpdate) return true;
        throw new NotImplementedException("插入或更新失败");
    }
    // æ‰¹é‡ä¿å­˜è®°å½•的方法
    public bool SaveList(List<ErpWYOrder> rohIns)
    {
        var result = rohIns.Select(Save).ToList();
        return result.All(b => b);
    }
    private ProductionOrder ConvertErpToProductionOrder(
        ErpProductionOrderDto erpDto)
    {
        DateTime parsedDate;
        // æ—¶é—´æ ¼å¼è½¬æ¢å‡½æ•°ï¼ŒERP时间格式为 "yyyy-MM-dd HH:mm:ss.fff"
        DateTime? ParseDateTime(string dateStr)
        {
            if (DateTime.TryParseExact(dateStr, "yyyy-MM-dd HH:mm:ss.fff",
                    CultureInfo.InvariantCulture,
                    DateTimeStyles.None,
                    out parsedDate))
                return parsedDate;
            return null; // å¦‚果转换失败,返回null
        }
        var productionOrder = new ProductionOrder
        {
            OrderNo = erpDto.FBillNo,
            SmtProcessAttr = erpDto.F_UNW_Text_tpgy,
            Warehouse = erpDto.FStockID,
            OrderDate = ParseDateTime(erpDto.FDate) ?? null,
            OrderType = erpDto.FBillType,
            BusinessStatus = erpDto.FStatus,
            ProductCode = erpDto.FMaterialId,
            Unit = erpDto.FUnitID,
            WorkOrderQty = Convert.ToDecimal(erpDto.FQty),
            PlanningGroup = erpDto.FWorkGroupId,
            Planner = erpDto.FPlannerID,
            EstimatedStartTime =
                ParseDateTime(erpDto.FPlanStartDate) ?? null,
            EstimatedEndTime =
                ParseDateTime(erpDto.FPlanFinishDate) ?? null,
            StorageUpperLimit = Convert.ToDecimal(erpDto.FStockInLimitH),
            StorageLowerLimit = Convert.ToDecimal(erpDto.FStockInLimitL),
            TrackingNo = erpDto.FMTONO,
            BatchNo = erpDto.FLot,
            BomVersion = erpDto.FBomId,
            SalesOrderNo = erpDto.F_UNW_XSDDH,
            GenerationMethod = erpDto.FCreateType,
            ErpProductionOrderId = erpDto.FSUBID,
            ErpProductionOrderLineNo = erpDto.FSUBBILLNOSEQ,
            ErpProductionOrderNo = erpDto.FSUBBILLNO,
            SourceOrderType = erpDto.FSrcBillType,
            SourceOrderNo = erpDto.FSrcBillNo,
            SourceOrderEntryNo = erpDto.FSrcBillEntrySeq,
            DemandOrderNo = erpDto.FSALEORDERNO,
            DemandOrderLineNo = erpDto.FSaleOrderEntrySeq,
            ClosingPerson = erpDto.FFORCECLOSERID,
            ClosingType = erpDto.FCloseType,
            Remarks = erpDto.FDescription,
            ErpId = erpDto.FPPOMID,
            ErpProductionEntryCode = erpDto.FSUBENTRYID,
            PurchaseOrderNo = erpDto.FPurOrderNo,
            PurchaseOrderEntrySeq = long.Parse(erpDto.FPurOrderEntrySeq),
            StandardPoints =
                Convert.ToDecimal(erpDto.F_UNW_BaseProperty_bzds),
            PricingPoints =
                Convert.ToDecimal(erpDto.F_UNW_BaseProperty_jjds),
            StockInQty = Convert.ToDecimal(erpDto.FBaseStockInQty),
            NoStockInQty = Convert.ToDecimal(erpDto.FBaseNoStockInQty),
            StockOwner = erpDto.FInStockOwnerId
        };
        var single = base.GetSingle(it => it.ErpId == erpDto.FPPOMID);
        if (single != null) productionOrder.Id = single.Id;
        return productionOrder;
    }
    private List<ProductionOrderSub> ConvertErpToProductionOrderSub(
        List<ErpProductionOrderSubDto> erpDtoList)
    {
        var productionOrderSubList =
            new List<ProductionOrderSub>();
        foreach (var erpDto in erpDtoList)
        {
            var productionOrderSub = new ProductionOrderSub
            {
                SequenceNo = long.Parse(erpDto.FSEQ),
                MaterialCode = erpDto.FMaterialID2,
                RequiredQty = Convert.ToDecimal(erpDto.FMustQty),
                IssuedQty = Convert.ToDecimal(erpDto.FPickedQty),
                LocationNo = erpDto.FPositionNO,
                StockOwner = erpDto.FOwnerID,
                TrackingNo = erpDto.FMTONO,
                BatchNo = erpDto.FLot,
                Warehouse = erpDto.FStockID,
                IssuingMethod = erpDto.FIssueType,
                Process = erpDto.F_UNW_Text_tpgy_Z,
                Unit = erpDto.FUnitID2,
                SupplyingType = erpDto.FSupplyType,
                Numerator = long.Parse(erpDto.FNumerator),
                Denominator = long.Parse(erpDto.FDenominator),
                ErpId = erpDto.FPPOMENTRYID,
                ErpHeaderId = erpDto.FPPOMID,
                FixedLoss = Convert.ToDecimal(erpDto.FFixScrapQty),
                VariableLossRate = erpDto.FScrapRate,
                SubItemType = erpDto.FMaterialType,
                SalesOrderNo = erpDto.F_UNW_Text_xsddh,
                ItemNo = erpDto.FReplaceGroup,
                OwnerType = erpDto.FOwnerTypeId,
                Owner = erpDto.FOwnerID2
            };
            var single = _productionOrderSubManager.GetSingle(it =>
                it.ErpId == productionOrderSub.ErpId);
            if (single != null) productionOrderSub.Id = single.Id;
            productionOrderSubList.Add(productionOrderSub);
        }
        return productionOrderSubList;
    }
}
MES.Service/service/BasicData/ProductionOrderSubManager.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,78 @@
using MES.Service.DB;
using MES.Service.Modes;
using SqlSugar;
namespace MES.Service.service;
public class ProductionOrderSubManager : Repository<ProductionOrderSub>
{
    //当前类已经继承了 Repository å¢žã€åˆ ã€æŸ¥ã€æ”¹çš„æ–¹æ³•
    //这里面写的代码不会给覆盖,如果要重新生成请删除 ProductionOrderSubManager.cs
    #region æ•™å­¦æ–¹æ³•
    /// <summary>
    ///     ä»“储方法满足不了复杂业务需求,业务代码请在这里面定义方法
    /// </summary>
    public void Study()
    {
        /*********查询*********/
        var data1 = base.GetById(1); //根据ID查询
        var data2 = base.GetList(); //查询所有
        var data3 = base.GetList(it => 1 == 1); //根据条件查询
        //var data4 = base.GetSingle(it => 1 == 1);//根据条件查询一条,如果超过一条会报错
        var p = new PageModel { PageIndex = 1, PageSize = 2 }; // åˆ†é¡µæŸ¥è¯¢
        var data5 = base.GetPageList(it => 1 == 1, p);
        Console.Write(p.TotalCount); //返回总数
        var data6 =
            base.GetPageList(it => 1 == 1, p,
                it => SqlFunc.GetRandom()); // åˆ†é¡µæŸ¥è¯¢åŠ æŽ’åº
        Console.Write(p.TotalCount); //返回总数
        var conModels = new List<IConditionalModel>(); //组装条件查询作为条件实现 åˆ†é¡µæŸ¥è¯¢åŠ æŽ’åº
        conModels.Add(new ConditionalModel
        {
            FieldName = typeof(ProductionOrderSub).GetProperties()[0].Name,
            ConditionalType = ConditionalType.Equal, FieldValue = "1"
        }); //id=1
        var data7 = base.GetPageList(conModels, p, it => SqlFunc.GetRandom());
        AsQueryable().Where(x => 1 == 1)
            .ToList(); //支持了转换成queryable,我们可以用queryable实现复杂功能
        /*********插入*********/
        var insertData = new ProductionOrderSub(); //测试参数
        var insertArray = new[] { insertData };
        base.Insert(insertData); //插入
        base.InsertRange(insertArray); //批量插入
        var id = base.InsertReturnIdentity(insertData); //插入返回自增列
        AsInsertable(insertData).ExecuteCommand(); //我们可以转成 Insertable实现复杂插入
        /*********更新*********/
        var updateData = new ProductionOrderSub(); //测试参数
        var updateArray = new[] { updateData }; //测试参数
        base.Update(updateData); //根据实体更新
        base.UpdateRange(updateArray); //批量更新
        //base.Update(it => new ProductionOrderSub() { ClassName = "a", CreateTime = DateTime.Now }, it => it.id==1);// åªæ›´æ–°ClassName列和CreateTime列,其它列不更新,条件id=1
        AsUpdateable(updateData).ExecuteCommand(); //转成Updateable可以实现复杂的插入
        /*********删除*********/
        var deldata = new ProductionOrderSub(); //测试参数
        base.Delete(deldata); //根据实体删除
        base.DeleteById(1); //根据主键删除
        base.DeleteById(new[] { 1, 2 }); //根据主键数组删除
        base.Delete(it => 1 == 2); //根据条件删除
        AsDeleteable().Where(it => 1 == 2)
            .ExecuteCommand(); //转成Deleteable实现复杂的操作
    }
    #endregion
}
MES.Service/service/GetErpParametersServer.cs
@@ -125,7 +125,8 @@
        return centers.OrderBy(p => p.Seq).ToList();
    }
    private void PostRequest(List<MessageCenter> data, WarehouseQuery query, List<MessageCenter> centers,string centerUpdateDate)
    private void PostRequest(List<MessageCenter> data, WarehouseQuery query,
        List<MessageCenter> centers, string centerUpdateDate)
    {
        var find = data.FindAll(s => s.Seq != 1);
                
MES.Service/service/QC/LljService.cs
@@ -1,5 +1,4 @@
using System.Data;
using System.Dynamic;
using MES.Service.DB;
using MES.Service.Dto.service;
using MES.Service.Modes;
@@ -27,7 +26,7 @@
                StringUtil.IsNotNullOrEmpty(queryObj.result) &&
                !"未完成".Equals(queryObj.result),
                a => a.FcheckResu != null)
            .WhereIF(id > 0, (a) => a.Id == id)
            .WhereIF(id > 0, a => a.Id == id)
            .OrderByDescending(a=>a.Id)
            .ToPageList(queryObj.PageIndex, queryObj.Limit);
    }
@@ -66,7 +65,7 @@
                    // FcheckItemDesc = "0",
                    // FcheckResu = "0",
                    FcheckTool = b.FcheckTool,
                    FspecRequ = b.FspecRequ,
                    FspecRequ = b.FspecRequ
                    // FtextType = "0",
                    // Funit = "0",
                    // LastupdateBy = "0",
@@ -176,17 +175,11 @@
                .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();
@@ -590,10 +583,7 @@
            var resultValue = outputResult.Value?.ToString();
            var messageValue = outputMessage.Value?.ToString();
            if ("1".Equals(resultValue))
            {
                throw new Exception(messageValue);
            }
            if ("1".Equals(resultValue)) throw new Exception(messageValue);
            return true;
        }
MES.Service/service/Warehouse/MesInvItemBarcodesManager.cs
@@ -20,62 +20,40 @@
        try
        {
            // 1. æ£€æŸ¥æ¡ç æ˜¯å¦ä¸ºç©º
            if (string.IsNullOrEmpty(cBarcode))
            {
                throw new Exception("请输入条码!");
            }
            if (string.IsNullOrEmpty(cBarcode)) throw new Exception("请输入条码!");
            // 2. æ£€æŸ¥æ¡ç æ˜¯å¦å­˜åœ¨äºŽ MesInvItemBarcodes è¡¨ä¸­
            int tempNum = Db.Queryable<MesInvItemBarcodes>()
            var tempNum = Db.Queryable<MesInvItemBarcodes>()
                .Where(it => it.ItemBarcode == cBarcode)
                .Count();
            if (tempNum == 0)
            {
                throw new Exception("条码不存在!");
            }
            if (tempNum == 0) throw new Exception("条码不存在!");
            // 3. æ£€æŸ¥æ¡ç æ˜¯å¦å­˜åœ¨äºŽ MesInvItemStocks è¡¨ä¸­
            tempNum = Db.Queryable<MesInvItemStocks>()
                .Where(it => it.ItemBarcode == cBarcode)
                .Count();
            if (tempNum == 0)
            {
                throw new Exception("库存中无此条码!");
            }
            if (tempNum == 0) throw new Exception("库存中无此条码!");
            // 4. èŽ·å– MesInvItemBarcodes çš„æ•°æ®
            var mesInvItemBarcodes = Db.Queryable<MesInvItemBarcodes>()
                .Where(it => it.ItemBarcode == cBarcode)
                .First();
            if (mesInvItemBarcodes == null)
            {
                throw new Exception("条码不存在!");
            }
            if (mesInvItemBarcodes == null) throw new Exception("条码不存在!");
            // 5. æ£€æŸ¥æ¡ç æ•°é‡æ˜¯å¦ä¸º 0
            if (mesInvItemBarcodes.Quantity == 0)
            {
                throw new Exception("此条码数量为0!");
            }
            // 6. æ£€æŸ¥æ¡ç çŠ¶æ€
            if (mesInvItemBarcodes.Barcodestatus == 1 ||
                mesInvItemBarcodes.Hbdytm == 1)
            {
                throw new Exception("无效条码!");
            }
            // 7. æ£€æŸ¥æ¡ç æ˜¯å¦è¢«å†»ç»“
            if (mesInvItemBarcodes.Visable == 1)
            {
                throw new Exception("条码冻结!");
            }
            if (mesInvItemBarcodes.Visable == 1) throw new Exception("条码冻结!");
            // 8. æ£€æŸ¥æ¡ç æ˜¯å¦ä½œåºŸ
            if (mesInvItemBarcodes.Location == 2)
            {
                throw new Exception("条码作废!");
            }
            if (mesInvItemBarcodes.Location == 2) throw new Exception("条码作废!");
            // 9. æ£€æŸ¥æŠ•料单是否需要此物料
            tempNum = Db.Queryable<Womdab>()
@@ -83,12 +61,9 @@
                    it.Dab001 == cDaa001 && it.Dab003 ==
                    mesInvItemBarcodes.ItemId.ToString())
                .Count();
            if (tempNum == 0)
            {
                throw new Exception("投料单不需要此物料!");
            }
            if (tempNum == 0) throw new Exception("投料单不需要此物料!");
            string sql =
            var sql =
                "SELECT COUNT(1) FROM WOMDAB WHERE DAB001='" + cDaa001 +
                "' AND  DAB003='" + mesInvItemBarcodes.ItemId +
                "' AND DAB017=(SELECT DEPOTS_CODE    FROM MES_INV_ITEM_STOCKS WHERE ITEM_BARCODE='" +
@@ -96,10 +71,7 @@
            // 10. æ£€æŸ¥å‘料仓库是否正确
            tempNum = Db.Ado.SqlQuerySingle<int>(sql);
            if (tempNum == 0)
            {
                throw new Exception("发料仓库有误!");
            }
            if (tempNum == 0) throw new Exception("发料仓库有误!");
            // 11. æˆåŠŸï¼Œè¿”å›žç»“æžœ
            return true;
@@ -113,18 +85,12 @@
    public decimal? GetBarCodesQuan(WarehouseQuery query)
    {
        if (!PdaProdPickItemCkBar(query.barcode, query.daa001))
        {
            return null;
        }
        if (!PdaProdPickItemCkBar(query.barcode, query.daa001)) return null;
        var invItemBarcodes = Db.Queryable<MesInvItemBarcodes>()
            .Where(s => s.ItemBarcode == query.barcode).First();
        if (invItemBarcodes == null)
        {
            throw new Exception("条码不存在!");
        }
        if (invItemBarcodes == null) throw new Exception("条码不存在!");
        return invItemBarcodes.Quantity;
    }
@@ -144,57 +110,37 @@
        };
        // æ£€æŸ¥å‘料数量是否合法
        if (param.CNum <= 0)
        {
            throw new Exception("发料数量不能小于等于0!");
        }
        if (param.CNum <= 0) throw new Exception("发料数量不能小于等于0!");
        // æ£€æŸ¥æ¡ç æ˜¯å¦å­˜åœ¨
        param.CInvItemBarcodes = Db.Queryable<MesInvItemBarcodes>()
            .Where(it => it.ItemBarcode == param.CBarcode)
            .First();
        if (param.CInvItemBarcodes == null)
        {
            throw new Exception("条码不存在!");
        }
        if (param.CInvItemBarcodes == null) throw new Exception("条码不存在!");
        // æ£€æŸ¥æ¡ç æ˜¯å¦å·²å…¥åº“
        param.CInvItemStocks = Db.Queryable<MesInvItemStocks>()
            .Where(it => it.ItemBarcode == param.CBarcode)
            .First();
        if (param.CInvItemStocks == null)
        {
            throw new Exception("条码未入库!");
        }
        if (param.CInvItemStocks == null) throw new Exception("条码未入库!");
        // æ£€æŸ¥å·¥å•号是否存在
        param.CWomdaa = Db.Queryable<Womdaa>()
            .Where(it => it.Daa001 == param.CDaa001)
            .First();
        if (param.CWomdaa == null)
        {
            throw new Exception("不存在此工单!");
        }
        if (param.CWomdaa == null) throw new Exception("不存在此工单!");
        // æ£€æŸ¥å‘料数量是否超出条码数量
        if (param.CNum > param.CInvItemBarcodes.Quantity)
        {
            throw new Exception("发料数量不能大于条码数量!");
        }
        // æ£€æŸ¥æ¡ç åˆæ³•性
        if (!PdaProdPickItemCkBar(param.CBarcode, param.CDaa001))
        {
            return null;
        }
        if (!PdaProdPickItemCkBar(param.CBarcode, param.CDaa001)) return null;
        // è®¡ç®—剩余可发数量
        decimal? tempNum = CalculateRemainingQuantity(param.CDaa001,
        var tempNum = CalculateRemainingQuantity(param.CDaa001,
            param.CInvItemBarcodes.ItemId);
        if (param.CNum > tempNum)
        {
            throw new Exception("发料数量不能大于对应物料的未发料数量!");
        }
        if (param.CNum > tempNum) throw new Exception("发料数量不能大于对应物料的未发料数量!");
        // å·¥å•部门名称
        param.CDepart = Db.Queryable<SysDepartment>()
@@ -319,14 +265,12 @@
    {
        string cSupName = null;
        if (!string.IsNullOrEmpty(param.CInvItemBarcodes.SuppNo))
        {
            cSupName = db.Queryable<MesSupplier>()
                .Where(it => it.SuppNo == param.CInvItemBarcodes.SuppNo)
                .Select(it => it.SuppName)
                .First();
        }
        int cId =
        var cId =
            db.Ado.GetInt(
                "SELECT F_GETSEQNEXTVALUE('MES_RF_PRNBARCODE') FROM dual");
@@ -381,16 +325,16 @@
            .Where(it => it.TaskNo == param.CDaa001 && it.Status == 0)
            .Count();
        int cOutId = 0;
        var cOutId = 0;
        string cOutBill;
        if (tempNum == 0)
        {
            string sql =
            var sql =
                "SELECT COUNT(1) FROM MES_INV_ITEM_OUTS WHERE TRUNC(CREATE_DATE)=TRUNC(SYSDATE);";
            int todayCount = db.Ado.SqlQuerySingle<int>(sql);
            var todayCount = db.Ado.SqlQuerySingle<int>(sql);
            cOutBill = $"P{DateTime.Now:yyyyMMdd}{(todayCount + 1):D4}";
            cOutBill = $"P{DateTime.Now:yyyyMMdd}{todayCount + 1:D4}";
            // æ’入新的出库单
            db.Insertable(new MesInvItemOuts
@@ -441,9 +385,9 @@
                it.ItemOutId == cOutId)
            .Count();
        decimal? cNumTemp = param.CNum;
        var cNumTemp = param.CNum;
        string sql =
        var sql =
            "SELECT B.Id, NVL(A.YF, 0) yfl, B.DAB006 - NVL(A.YF, 0) Qty FROM WOMDAB B LEFT JOIN (SELECT SUM(QUANTITY) YF, ITEM_DABID FROM MES_INV_ITEM_OUT_ITEMS                GROUP BY ITEM_DABID) A ON A.ITEM_DABID = B.ID WHERE DAB003 = '" +
            param.CInvItemBarcodes.ItemId + "' AND DAB001 = '" + param.CDaa001 +
            "' ORDER BY TO_NUMBER(DAB002)";
@@ -457,7 +401,6 @@
            if (cNumTemp <= item.Qty)
            {
                if (tempNum == 0)
                {
                    // æ’入新的发料记录
                    db.Insertable(new MesInvItemOutItems
                    {
@@ -480,9 +423,7 @@
                        DepotSectionCode =
                            param.CInvItemStocks.DepotSectionsCode
                    }).ExecuteCommand();
                }
                else
                {
                    // æ›´æ–°çŽ°æœ‰å‘æ–™è®°å½•çš„æ•°é‡
                    db.Updateable<MesInvItemOutItems>()
                        .SetColumns(it => new MesInvItemOutItems
@@ -491,7 +432,6 @@
                            it.ItemOutId == cOutId &&
                            it.ItemDabid == itemDabid)
                        .ExecuteCommand();
                }
                // æ›´æ–° WOMDAB è¡¨çš„发料数量
                db.Updateable<Womdab>()
@@ -538,7 +478,7 @@
    private string GenerateNewBarcode(string oldBarcode)
    {
        // ç”Ÿæˆæ–°çš„æ¡ç é€»è¾‘
        int count = Db.Queryable<MesInvItemBarcodes>()
        var count = Db.Queryable<MesInvItemBarcodes>()
            .Where(b => b.OldItemBarcode == oldBarcode).Count();
        return $"{oldBarcode}-{count + 1}";
    }
@@ -565,13 +505,10 @@
    {
        try
        {
            if (pId == null)
            {
                return null;
            }
            if (pId == null) return null;
            // æŸ¥è¯¢ç‰©æ–™åç§°
            string itemName = Db.Queryable<MesItems>()
            var itemName = Db.Queryable<MesItems>()
                .Where(it => it.Id == pId)
                .Select(it => it.ItemName)
                .First();
@@ -588,28 +525,22 @@
    {
        try
        {
            if (string.IsNullOrEmpty(pId))
            {
                return null;
            }
            if (string.IsNullOrEmpty(pId)) return null;
            // æŸ¥è¯¢å•位名称是否存在
            int tempNum = Db.Queryable<MesUnit>()
            var tempNum = Db.Queryable<MesUnit>()
                .Where(it => it.Id.ToString() == pId)
                .Count();
            string unitName;
            if (tempNum != 0)
            {
                // å¦‚果在 MES_UNIT è¡¨ä¸­æ‰¾åˆ°å•位名称
                unitName = Db.Queryable<MesUnit>()
                    .Where(it => it.Id.ToString() == pId)
                    .Select(it => it.Fname)
                    .First();
            }
            else
            {
                // å¦‚果在 MES_UNIT è¡¨ä¸­æ‰¾ä¸åˆ°ï¼Œåœ¨ MES_ITEMS è¡¨ä¸­æŸ¥æ‰¾ç›¸å…³è”的单位名称
                unitName = Db.Queryable<MesItems, MesUnit>((i, u) =>
                        new JoinQueryInfos(
@@ -617,7 +548,6 @@
                    .Where((i, u) => i.Id.ToString() == pId)
                    .Select((i, u) => u.Fname)
                    .First();
            }
            return unitName;
        }
@@ -631,13 +561,10 @@
    {
        try
        {
            if (pId == null)
            {
                return null;
            }
            if (pId == null) return null;
            // æŸ¥è¯¢ç‰©æ–™è§„æ ¼
            string itemModel = Db.Queryable<MesItems>()
            var itemModel = Db.Queryable<MesItems>()
                .Where(it => it.Id == pId)
                .Select(it => it.ItemModel)
                .First();
MES.Service/service/Warehouse/MesInvItemOutsManager.cs
@@ -14,9 +14,10 @@
    //当前类已经继承了 Repository å¢žã€åˆ ã€æŸ¥ã€æ”¹çš„æ–¹æ³•
    //这里面写的代码不会给覆盖,如果要重新生成请删除 MesInvItemOutsManager.cs
    public (List<MesInvItemOuts> Items, int TotalCount) GetProductionPickPage(WarehouseQuery query)
    public (List<MesInvItemOuts> Items, int TotalCount) GetProductionPickPage(
        WarehouseQuery query)
    {
        int totalCount = 0; // åˆå§‹åŒ– totalCount
        var totalCount = 0; // åˆå§‹åŒ– totalCount
        // ç¡®ä¿è¿™é‡Œä½¿ç”¨ 'out' æ¥èŽ·å–æ€»è¡Œæ•°
        var result = Db.Queryable<MesInvItemOuts, MesDepots>((a, o) =>
                new JoinQueryInfos(
@@ -48,7 +49,8 @@
                ItemOutNo = a.ItemOutNo,
                DepotName = o.DepotName // éœ€è¦åŠ¨æ€æ·»åŠ çš„å­—æ®µ
            })
            .ToPageList(query.PageIndex, query.Limit, ref totalCount); // ç¡®ä¿è¿™é‡Œä½¿ç”¨ 'out'
            .ToPageList(query.PageIndex, query.Limit,
                ref totalCount); // ç¡®ä¿è¿™é‡Œä½¿ç”¨ 'out'
        return (result, totalCount);
    }
MES.Service/service/WomdaaManager.cs
@@ -13,7 +13,7 @@
    //获取工单号
    public List<string> GetProductionPickDaa001(WarehouseQuery query)
    {
        string sql =
        var sql =
            "SELECT DAA001 FROM WOMDAA A LEFT JOIN (SELECT COUNT(1) UN_NUM, PID                     FROM WOMDAB                    WHERE DAB006 > DAB007                   GROUP BY PID) B ON A.ID = B.PID WHERE DAA001 LIKE '%" +
            query.daa001 +
            "%' and DAA018 != '完工' AND DAA022 = 1 AND UN_NUM > 0 AND ROWNUM <= 10 order by a.id desc";
@@ -24,10 +24,7 @@
    //根据工单号返回产品型号和待领物料
    public ProductionPickDto GetItemsByDaa001(WarehouseQuery query)
    {
        if (string.IsNullOrEmpty(query.daa001))
        {
            throw new Exception("工单号为空");
        }
        if (string.IsNullOrEmpty(query.daa001)) throw new Exception("工单号为空");
        var womdaa = Db.Queryable<Womdaa, MesItems>((a, i) =>
                new JoinQueryInfos(JoinType.Left,
@@ -38,10 +35,7 @@
                i.ItemModel
            }).First();
        if (womdaa?.ItemModel == null)
        {
            throw new Exception("工单号不存在");
        }
        if (womdaa?.ItemModel == null) throw new Exception("工单号不存在");
        var dto = new ProductionPickDto
        {
@@ -58,7 +52,7 @@
                ))
            .Where((a, b, c) =>
                a.Daa001 == query.daa001) // WHERE DAA001 = 'SCDD003681-1'
            .Select((a, b, c) => new Womdab()
            .Select((a, b, c) => new Womdab
            {
                Pid = b.Pid,
                Dab003 = b.Dab003,
MES.Service/util/ResponseResult.cs
MES.Service/util/UserUtil.cs
@@ -6,7 +6,7 @@
{
    public static (string factory, string company) GetFactory(string user)
    {
        string sql =
        var sql =
            "select t.Ffactory factory, t.Fcompany company from sys_user t where t.fcode = upper(trim('" +
            user + "'))";
MESApplication/Controllers/BasicData/ProductionOrderController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,259 @@
using System.Dynamic;
using MES.Service.Dto.webApi;
using MES.Service.Modes;
using MES.Service.service;
using MES.Service.util;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
namespace MESApplication.Controllers.BasicData;
[ApiController]
[Route("api/[controller]")]
public class ProductionOrderController : ControllerBase
{
    private readonly MessageCenterManager _manager = new();
    private readonly string METHOD = "POST";
    private readonly string TableName = "PRODUCTION_ORDER";
    private readonly string URL =
        "http://localhost:10054/api/PRODUCTION_ORDER/";
    private readonly ProductionOrderManager m = new();
    //
    [HttpPost("Save")]
    public ResponseResult Save(ErpWYOrder rohIn)
    {
        var entity = new MessageCenter();
        entity.TableName = TableName;
        entity.Url = URL + "Save";
        entity.Method = METHOD;
        entity.Data = JsonConvert.SerializeObject(rohIn);
        entity.Status = 1;
        entity.CreateBy = "PL017";
        try
        {
            dynamic resultInfos = new ExpandoObject();
            var save = m.Save(rohIn);
            resultInfos.tbBillList = save;
            entity.Result = 0;
            if (save) entity.Result = 1;
            entity.DealWith = 1;
            _manager.save(entity);
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            entity.Result = 0;
            entity.DealWith = 0;
            entity.ResultData = ex.Message;
            _manager.save(entity);
            return ResponseResult.ResponseError(ex);
        }
    }
    [HttpPost("SaveList")]
    public ResponseResult SaveList(List<ErpWYOrder> units)
    {
        var entity = new MessageCenter();
        entity.TableName = TableName;
        entity.Url = URL + "SaveList";
        entity.Method = METHOD;
        entity.Data = JsonConvert.SerializeObject(units);
        entity.Status = 1;
        entity.CreateBy = "PL017";
        try
        {
            dynamic resultInfos = new ExpandoObject();
            var save = m.SaveList(units);
            resultInfos.tbBillList = save;
            entity.Result = 0;
            if (save) entity.Result = 1;
            entity.DealWith = 1;
            _manager.save(entity);
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            entity.Result = 0;
            entity.DealWith = 0;
            entity.ResultData = ex.Message;
            _manager.save(entity);
            return ResponseResult.ResponseError(ex);
        }
    }
    /// <summary>
    ///     èŽ·å–æ‰€æœ‰
    /// </summary>
    /// <returns></returns>
    [HttpPost("GetList")]
    public ResponseResult GetList()
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.GetList();
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    /// <summary>
    ///     æ ¹æ®ä¸»é”®èŽ·å–
    /// </summary>
    /// <returns></returns>
    [HttpPost("GetById")]
    public ResponseResult GetById(int id)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.GetById(id);
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    /// <summary>
    ///     æ ¹æ®ä¸»é”®åˆ é™¤
    /// </summary>
    /// <returns></returns>
    [HttpPost("DeleteByIds")]
    public ResponseResult DeleteByIds([FromBody] object[] ids)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.DeleteByIds(ids);
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    /// <summary>
    ///     æ·»åŠ 
    /// </summary>
    /// <returns></returns>
    [HttpPost("Insert")]
    public ResponseResult Add([FromBody] ProductionOrder data)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.Insert(data);
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    /// <summary>
    ///     æ·»åŠ è¿”å›žè‡ªå¢ž
    /// </summary>
    /// <returns></returns>
    [HttpPost("InsertReturnIdentity")]
    public ResponseResult InsertReturnIdentity(
        [FromBody] ProductionOrder data)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.InsertReturnIdentity(data);
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    /// <summary>
    ///     ä¿®æ”¹
    /// </summary>
    /// <returns></returns>
    [HttpPost("Update")]
    public ResponseResult Update([FromBody] ProductionOrder data)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.Update(data);
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
}
MESApplication/Controllers/BasicData/ProductionOrderSubController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,163 @@
using System.Dynamic;
using MES.Service.Modes;
using MES.Service.service;
using MES.Service.util;
using Microsoft.AspNetCore.Mvc;
namespace MESApplication.Controllers.BasicData;
[ApiController]
[Route("api/[controller]")]
public class ProductionOrderSubController : ControllerBase
{
    private readonly ProductionOrderSubManager m = new();
    /***进入模版管理可以修改模版***/
    /// <summary>
    ///     èŽ·å–æ‰€æœ‰
    /// </summary>
    /// <returns></returns>
    [HttpPost("GetList")]
    public ResponseResult GetList()
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.GetList();
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    /// <summary>
    ///     æ ¹æ®ä¸»é”®èŽ·å–
    /// </summary>
    /// <returns></returns>
    [HttpPost("GetById")]
    public ResponseResult GetById(int id)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.GetById(id);
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    /// <summary>
    ///     æ ¹æ®ä¸»é”®åˆ é™¤
    /// </summary>
    /// <returns></returns>
    [HttpPost("DeleteByIds")]
    public ResponseResult DeleteByIds([FromBody] object[] ids)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.DeleteByIds(ids);
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    /// <summary>
    ///     æ·»åŠ 
    /// </summary>
    /// <returns></returns>
    [HttpPost("Insert")]
    public ResponseResult Add([FromBody] ProductionOrderSub data)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.Insert(data);
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    /// <summary>
    ///     æ·»åŠ è¿”å›žè‡ªå¢ž
    /// </summary>
    /// <returns></returns>
    [HttpPost("InsertReturnIdentity")]
    public ResponseResult InsertReturnIdentity(
        [FromBody] ProductionOrderSub data)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.InsertReturnIdentity(data);
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    /// <summary>
    ///     ä¿®æ”¹
    /// </summary>
    /// <returns></returns>
    [HttpPost("Update")]
    public ResponseResult Update([FromBody] ProductionOrderSub data)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.Update(data);
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
}
MESApplication/Controllers/WomdaaController.cs
@@ -14,6 +14,7 @@
    private readonly WomdaaManager m = new();
    
    #region ç”Ÿäº§é¢†æ–™
    //GetProductionPickDaa001
    /// <summary>
    ///     æ¨¡ç³ŠæŸ¥è¯¢å·¥å•号并返回
@@ -208,5 +209,6 @@
            return ResponseResult.ResponseError(ex);
        }
    }
    #endregion
}