啊鑫
2024-08-01 b64efba9b005c074b3963c9d650091c70e46108b
采购入库单和消息中心重推送
已添加8个文件
已修改29个文件
2556 ■■■■ 文件已修改
MES.Service/Dto/service/Material.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Dto/service/PurchaseInventory.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Dto/service/WarehouseQuery.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Modes/MesInvItemArnDetail.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Modes/MesInvItemBarcodes.cs 460 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Modes/MesInvItemInCDetails.cs 361 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Modes/MesInvItemIns.cs 591 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Modes/MessageCenter.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/bin/Debug/net8.0/MES.Service.dll 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/bin/Debug/net8.0/MES.Service.pdb 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/bin/Release/net8.0/MES.Service.dll 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/bin/Release/net8.0/MES.Service.pdb 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/service/GetErpParametersServer.cs 138 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/service/MessageCenterManager.cs 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/service/QC/XJService.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/service/Warehouse/MesInvItemBarcodesManager.cs 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/service/Warehouse/MesInvItemInCDetailsManager.cs 317 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MESApplication/Controllers/Base/MessageCenterController.cs 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MESApplication/Controllers/BasicData/MesItemsController.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MESApplication/Controllers/Warehouse/MesInvItemBarcodesController.cs 163 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MESApplication/Controllers/Warehouse/MesInvItemInCDetailsController.cs 288 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MESApplication/Controllers/WomcaaController.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MESApplication/bin/Debug/net8.0/MES.Service.dll 补丁 | 查看 | 原始文档 | blame | 历史
MESApplication/bin/Debug/net8.0/MES.Service.pdb 补丁 | 查看 | 原始文档 | blame | 历史
MESApplication/bin/Debug/net8.0/MESApplication.dll 补丁 | 查看 | 原始文档 | blame | 历史
MESApplication/bin/Debug/net8.0/MESApplication.exe 补丁 | 查看 | 原始文档 | blame | 历史
MESApplication/bin/Debug/net8.0/MESApplication.pdb 补丁 | 查看 | 原始文档 | blame | 历史
MESApplication/bin/Release/net8.0/MES.Service.dll 补丁 | 查看 | 原始文档 | blame | 历史
MESApplication/bin/Release/net8.0/MES.Service.pdb 补丁 | 查看 | 原始文档 | blame | 历史
MESApplication/bin/Release/net8.0/MESApplication.dll 补丁 | 查看 | 原始文档 | blame | 历史
MESApplication/bin/Release/net8.0/MESApplication.exe 补丁 | 查看 | 原始文档 | blame | 历史
MESApplication/bin/Release/net8.0/MESApplication.pdb 补丁 | 查看 | 原始文档 | blame | 历史
MESApplication/bin/Release/net8.0/publish/MES.Service.dll 补丁 | 查看 | 原始文档 | blame | 历史
MESApplication/bin/Release/net8.0/publish/MES.Service.pdb 补丁 | 查看 | 原始文档 | blame | 历史
MESApplication/bin/Release/net8.0/publish/MESApplication.dll 补丁 | 查看 | 原始文档 | blame | 历史
MESApplication/bin/Release/net8.0/publish/MESApplication.exe 补丁 | 查看 | 原始文档 | blame | 历史
MESApplication/bin/Release/net8.0/publish/MESApplication.pdb 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Dto/service/Material.cs
@@ -12,4 +12,8 @@
    public decimal? FmesEntryId { get; set; }
    public decimal? Mid { get; set; }
    public string? UserName { get; set; }
    public string? DepotSectionCode { get; set; }
    public string? WorkNo { get; set; }
    public decimal? Frealqty { get; set; }
    public string? FuintId { get; set; }
}
MES.Service/Dto/service/PurchaseInventory.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
using MES.Service.Modes;
namespace MES.Service.Dto.service;
public class PurchaseInventory
{
    public string? ItemNo { get; set; }
    public decimal? SumQuantity { get; set; }
    public MesInvItemIns? ItemIns { get; set; }
    public List<MesInvItemInCDetails>? InvItemInCDetails { get; set; }
    public List<MesInvItemInCDetails>? ItemInDetails { get; set; }
}
MES.Service/Dto/service/WarehouseQuery.cs
@@ -7,4 +7,14 @@
    public decimal? id { get; set; }
    public decimal[]? ItemArnDetailIds { get; set; }
    public string? itemInId { get; set; }
    public string? sectionCode { get; set; }
    public string? barcode { get; set; }
    public string? userName { get; set; }
    public string? billNo { get; set; }
    public short? status { get; set; }
    public DateTime? date { get; set; }
    public string? Type { get; set; }
}
MES.Service/Modes/MesInvItemArnDetail.cs
@@ -211,6 +211,12 @@
    [SugarColumn(ColumnName = "OK_RKQTY")]
    public decimal? OkRkqty { get; set; }
    /// <summary>
    ///     åˆ°è´§å•号
    /// </summary>
    [SugarColumn(ColumnName = "CBILL_NO")]
    public string CbillNo { get; set; }
    [SugarColumn(IsIgnore = true)] public string? itemModel { get; set; }
    [SugarColumn(IsIgnore = true)] public string? itemName { get; set; }
MES.Service/Modes/MesInvItemBarcodes.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,460 @@
using SqlSugar;
namespace MES.Service.Modes;
/// <summary>
///     ç‰©æ–™æ¡ç è¡¨
/// </summary>
[SugarTable("MES_INV_ITEM_BARCODES")]
public class MesInvItemBarcodes
{
   /// <summary>
   ///     SEQ_BARCODE_PSN_ID
   /// </summary>
   [SugarColumn(ColumnName = "ID", IsPrimaryKey = true)]
    public decimal Id { get; set; }
   /// <summary>
   ///     ç‰©æ–™æ¡ç 
   /// </summary>
   [SugarColumn(ColumnName = "ITEM_BARCODE")]
    public string ItemBarcode { get; set; }
   /// <summary>
   ///     å®¢æˆ·æˆå“ç¼–码
   /// </summary>
   [SugarColumn(ColumnName = "C_PRODUCT_CODE")]
    public string CProductCode { get; set; }
   /// <summary>
   ///     å®¢æˆ·ç‰©æ–™æ¡ç 
   /// </summary>
   [SugarColumn(ColumnName = "C_ITEM_BARCODE")]
    public string CItemBarcode { get; set; }
   /// <summary>
   ///     å®¢æˆ·ç‰©æ–™ç¼–码
   /// </summary>
   [SugarColumn(ColumnName = "C_ITEM_CODE")]
    public string CItemCode { get; set; }
   /// <summary>
   ///     æœ¬å¸ç‰©æ–™ç¼–码
   /// </summary>
   [SugarColumn(ColumnName = "ITEM_NO")]
    public string ItemNo { get; set; }
   /// <summary>
   ///     åŽ‚å®¶æ‰¹æ¬¡
   /// </summary>
   [SugarColumn(ColumnName = "LOT_NO")]
    public string LotNo { get; set; }
   /// <summary>
   ///     æ•°é‡
   /// </summary>
   [SugarColumn(ColumnName = "QUANTITY")]
    public decimal? Quantity { get; set; }
   /// <summary>
   ///     æ˜¯å¦çŽ¯ä¿(0:否,1:是)
   /// </summary>
   [SugarColumn(ColumnName = "EP_FLAG")]
    public short? EpFlag { get; set; }
   /// <summary>
   ///     ç”Ÿäº§å·¥å•
   /// </summary>
   [SugarColumn(ColumnName = "TASK_NO")]
    public string TaskNo { get; set; }
   /// <summary>
   ///     åˆ›å»ºäºº
   /// </summary>
   [SugarColumn(ColumnName = "CREATE_BY")]
    public string CreateBy { get; set; }
   /// <summary>
   ///     åˆ›å»ºæ—¶é—´
   /// </summary>
   [SugarColumn(ColumnName = "CREATE_DATE")]
    public DateTime? CreateDate { 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 = "CUST_NO")]
    public string CustNo { get; set; }
   /// <summary>
   ///     ç‰©æ–™æ¡ç æ³¨é‡Šè¡Œ[冗余,条码重打使用]
   /// </summary>
   [SugarColumn(ColumnName = "ITEM_BARCODE_TEXT")]
    public string ItemBarcodeText { get; set; }
   /// <summary>
   ///     åŽŸPSN物料条码
   /// </summary>
   [SugarColumn(ColumnName = "OLD_ITEM_BARCODE")]
    public string OldItemBarcode { get; set; }
   /// <summary>
   ///     SAP收货物料凭证号    --采购单号
   /// </summary>
   [SugarColumn(ColumnName = "MBLNR")]
    public string Mblnr { get; set; }
   /// <summary>
   ///     SAP收货物料凭证行号  --采购单行号
   /// </summary>
   [SugarColumn(ColumnName = "ZEILE")]
    public decimal? Zeile { get; set; }
   /// <summary>
   ///     æ”¶æ–™è¡¨ID
   /// </summary>
   [SugarColumn(ColumnName = "ROH_IN_ID")]
    public decimal? RohInId { get; set; }
   /// <summary>
   ///     0为有效条码;1为无效条码
   /// </summary>
   [SugarColumn(ColumnName = "BARCODESTATUS")]
    public short? Barcodestatus { get; set; }
   /// <summary>
   ///     åŽŸå§‹æ•°é‡
   /// </summary>
   [SugarColumn(ColumnName = "OLDQTY")]
    public decimal? Oldqty { get; set; }
   /// <summary>
   ///     ä½¿ç”¨æ•°é‡
   /// </summary>
   [SugarColumn(ColumnName = "USEQTY")]
    public decimal? Useqty { get; set; }
   /// <summary>
   ///     0在库,1在线,2作废
   /// </summary>
   [SugarColumn(ColumnName = "LOCATION")]
    public short? Location { get; set; }
   /// <summary>
   ///     å•位
   /// </summary>
   [SugarColumn(ColumnName = "UNIT")]
    public string Unit { get; set; }
   /// <summary>
   ///     é‡é‡ï¼ˆå•位:公斤)
   /// </summary>
   [SugarColumn(ColumnName = "WEIGHT_UNIT")]
    public decimal? WeightUnit { get; set; }
   /// <summary>
   ///     å•ä»·
   /// </summary>
   [SugarColumn(ColumnName = "PRICE")]
    public decimal? Price { get; set; }
   /// <summary>
   ///     åŽŸæ¡ç æ•°é‡
   /// </summary>
   [SugarColumn(ColumnName = "OLD_BAR_QUANTITY")]
    public decimal? OldBarQuantity { get; set; }
   /// <summary>
   ///     æ±‡æ€»æ¡ç 
   /// </summary>
   [SugarColumn(ColumnName = "SUM_BARCODE")]
    public string SumBarcode { get; set; }
   /// <summary>
   ///     ç”Ÿäº§æ—¥æœŸ
   /// </summary>
   [SugarColumn(ColumnName = "LOT_DATE")]
    public string LotDate { get; set; }
   /// <summary>
   ///     æ¨¡å·
   /// </summary>
   [SugarColumn(ColumnName = "MOCODE")]
    public string Mocode { get; set; }
   /// <summary>
   ///     æ¥æº
   /// </summary>
   [SugarColumn(ColumnName = "MEMO")]
    public string Memo { get; set; }
   /// <summary>
   ///     ä¾›åº”商编码
   /// </summary>
   [SugarColumn(ColumnName = "SUPP_NO")]
    public string SuppNo { get; set; }
   /// <summary>
   ///     æ¡£ä½ä½Žå€¼
   /// </summary>
   [SugarColumn(ColumnName = "SPOSTION")]
    public string Spostion { get; set; }
   /// <summary>
   ///     æ¡£ä½é«˜å€¼
   /// </summary>
   [SugarColumn(ColumnName = "EPOSTION")]
    public string Epostion { get; set; }
   /// <summary>
   ///     ç‰©æ–™ç®€ç§°
   /// </summary>
   [SugarColumn(ColumnName = "ITEM_SNAME")]
    public string ItemSname { get; set; }
   /// <summary>
   ///     æ˜¯å¦å·²å†»ç»“,1冻结
   /// </summary>
   [SugarColumn(ColumnName = "VISABLE")]
    public short? Visable { get; set; }
   /// <summary>
   ///     ä¾›åº”商批次
   /// </summary>
   [SugarColumn(ColumnName = "TR_LOTNO")]
    public string TrLotno { get; set; }
   /// <summary>
   ///     å†»ç»“æ—¶é—´
   /// </summary>
   [SugarColumn(ColumnName = "FLEZZ_DATE")]
    public DateTime? FlezzDate { get; set; }
   /// <summary>
   ///     å†»ç»“原因
   /// </summary>
   [SugarColumn(ColumnName = "FLEZZ_REASON")]
    public string FlezzReason { get; set; }
   /// <summary>
   ///     å†»ç»“人
   /// </summary>
   [SugarColumn(ColumnName = "FLEZZ_BY")]
    public string FlezzBy { get; set; }
   /// <summary>
   ///     å»¶é•¿ä¿è´¨æœŸ
   /// </summary>
   [SugarColumn(ColumnName = "DELANY_MONTH")]
    public decimal? DelanyMonth { get; set; }
   /// <summary>
   ///     æœ€å°åŒ…装标识
   /// </summary>
   [SugarColumn(ColumnName = "MINPACK_FLAG")]
    public short? MinpackFlag { get; set; }
   /// <summary>
   ///     æ‰“印ID,用来区分打印次数
   /// </summary>
   [SugarColumn(ColumnName = "PRINT_ID")]
    public string PrintId { get; set; }
   /// <summary>
   ///     çŽ¯ä¿é¡¹ç›®
   /// </summary>
   [SugarColumn(ColumnName = "EP_ITEM")]
    public string EpItem { get; set; }
   /// <summary>
   ///     å·¥åŽ‚ç¼–å·
   /// </summary>
   [SugarColumn(ColumnName = "FACTORY")]
    public string Factory { get; set; }
   /// <summary>
   ///     å…¬å¸ç¼–号
   /// </summary>
   [SugarColumn(ColumnName = "COMPANY")]
    public string Company { get; set; }
   /// <summary>
   ///     å¡æ¿ç¼–码
   /// </summary>
   [SugarColumn(ColumnName = "CB_NO")]
    public string CbNo { get; set; }
   /// <summary>
   ///     åŽ‚å®¶ç”Ÿäº§çº¿
   /// </summary>
   [SugarColumn(ColumnName = "LINFLINE")]
    public string Linfline { get; set; }
   /// <summary>
   ///     æœ‰æ•ˆæœŸ
   /// </summary>
   [SugarColumn(ColumnName = "VALID_TIME")]
    public DateTime? ValidTime { get; set; }
   /// <summary>
   ///     è´¨æ£€ç»“æžœ
   /// </summary>
   [SugarColumn(ColumnName = "IQC_STATUS")]
    public string IqcStatus { get; set; }
   /// <summary>
   ///     å°è½¦æ¡ç 
   /// </summary>
   [SugarColumn(ColumnName = "FCAR")]
    public string Fcar { get; set; }
   /// <summary>
   ///     æ¯›é‡
   /// </summary>
   [SugarColumn(ColumnName = "GWEIGHT")]
    public string Gweight { get; set; }
   /// <summary>
   ///     å‡€é‡
   /// </summary>
   [SugarColumn(ColumnName = "NWEIGHT")]
    public string Nweight { get; set; }
   /// <summary>
   ///     ä¿è´¨æœŸ
   /// </summary>
   [SugarColumn(ColumnName = "EXT_DATE")]
    public decimal? ExtDate { get; set; }
   /// <summary>
   ///     ä¾›åº”商、赠品、客供料、委外
   /// </summary>
   [SugarColumn(ColumnName = "BARCODETYPE")]
    public string Barcodetype { get; set; }
   /// <summary>
   ///     ä¾›åº”商名称
   /// </summary>
   [SugarColumn(ColumnName = "SUPP_NAME")]
    public string SuppName { get; set; }
   /// <summary>
   ///     åˆ°è´§å•号/入库单号
   /// </summary>
   [SugarColumn(ColumnName = "BILL_NO")]
    public string BillNo { get; set; }
   /// <summary>
   ///     æ€¥æ–™æ ‡è¯†
   /// </summary>
   [SugarColumn(ColumnName = "URGENT_FLAG")]
    public short? UrgentFlag { get; set; }
   /// <summary>
   ///     é¢œè‰²
   /// </summary>
   [SugarColumn(ColumnName = "COLOR_NAME")]
    public string ColorName { get; set; }
   /// <summary>
   ///     äº§å“åž‹å·
   /// </summary>
   [SugarColumn(ColumnName = "BOARD_STYLE")]
    public string BoardStyle { get; set; }
   /// <summary>
   ///     æ¥æ–™æ—¥æœŸ
   /// </summary>
   [SugarColumn(ColumnName = "INS_DATE")]
    public DateTime? InsDate { get; set; }
   /// <summary>
   ///     åˆ°è´§å•行号
   /// </summary>
   [SugarColumn(ColumnName = "WORK_LINE")]
    public decimal? WorkLine { get; set; }
   /// <summary>
   ///     ä¸è‰¯åŽŸå› 
   /// </summary>
   [SugarColumn(ColumnName = "MEMO_BAD")]
    public string MemoBad { get; set; }
   /// <summary>
   ///     ä»»åŠ¡å•å·
   /// </summary>
   [SugarColumn(ColumnName = "WORK_NO")]
    public string WorkNo { get; set; }
   /// <summary>
   ///     æ¡ç æ¥æºæ ‡è¯†ï¼Œ0-初期物料,1-采购入库,2、生产退料,3、其它入库,4-客供料,5-在库分料,6-制程条码
   /// </summary>
   [SugarColumn(ColumnName = "COME_FLG")]
    public short? ComeFlg { get; set; }
   /// <summary>
   ///     ç”Ÿäº§çº¿ä½“
   /// </summary>
   [SugarColumn(ColumnName = "LINE_NO")]
    public string LineNo { get; set; }
   /// <summary>
   ///     ä¸å°æ¬¡æ•°
   /// </summary>
   [SugarColumn(ColumnName = "SILK_PQTY")]
    public decimal? SilkPqty { get; set; }
   /// <summary>
   ///     ä¸å°æ¬¡æ•°æ¯”
   /// </summary>
   [SugarColumn(ColumnName = "SILK")]
    public string Silk { get; set; }
   /// <summary>
   ///     ä¸å°æ´¾å·¥ä»Žè¡¨ID
   /// </summary>
   [SugarColumn(ColumnName = "SILK_ID")]
    public decimal? SilkId { get; set; }
   /// <summary>
   ///     å·²æŠ¥å·¥æ ‡è¯†
   /// </summary>
   [SugarColumn(ColumnName = "WORK_FLG")]
    public decimal? WorkFlg { get; set; }
   /// <summary>
   ///     æœ€åŽå·¥åº
   /// </summary>
   [SugarColumn(ColumnName = "WORK_LAST")]
    public decimal? WorkLast { get; set; }
   /// <summary>
   ///     0-未合并打印,1-合并打印
   /// </summary>
   [SugarColumn(ColumnName = "HBDY")]
    public decimal? Hbdy { get; set; }
   /// <summary>
   ///     0-有效条码,1-合并拆分的条码,无效
   /// </summary>
   [SugarColumn(ColumnName = "HBDYTM")]
    public decimal? Hbdytm { get; set; }
   /// <summary>
   ///     æŠ¥å·¥æ—¶é—´
   /// </summary>
   [SugarColumn(ColumnName = "WORK_FLGTIME")]
    public string WorkFlgtime { get; set; }
}
MES.Service/Modes/MesInvItemInCDetails.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,361 @@
using SqlSugar;
namespace MES.Service.Modes;
/// <summary>
///     ç‰©æ–™å…¥åº“条码明细
/// </summary>
[SugarTable("MES_INV_ITEM_IN_C_DETAILS")]
public class MesInvItemInCDetails
{
    /// <summary>
    ///     SEQ_OUT
    /// </summary>
    [SugarColumn(ColumnName = "ID", IsPrimaryKey = true)]
    public decimal Id { get; set; }
    /// <summary>
    ///     å…¥åº“单id
    /// </summary>
    [SugarColumn(ColumnName = "ITEM_IN_ID", IsPrimaryKey = true)]
    public decimal ItemInId { get; set; }
    /// <summary>
    ///     ç‰©æ–™æ¡ç PSN
    /// </summary>
    [SugarColumn(ColumnName = "ITEM_BARCODE")]
    public string ItemBarcode { get; set; }
    /// <summary>
    ///     å®¢æˆ·ç‰©æ–™ç¼–码(无条码手工录入,有条码为冗余字段)
    /// </summary>
    [SugarColumn(ColumnName = "C_ITEM_CODE")]
    public string CItemCode { get; set; }
    /// <summary>
    ///     å®¢æˆ·ç‰©æ–™æ¡ç 
    /// </summary>
    [SugarColumn(ColumnName = "C_ITEM_BARCODE")]
    public string CItemBarcode { get; set; }
    /// <summary>
    ///     éªŒæ”¶æ•°é‡
    /// </summary>
    [SugarColumn(ColumnName = "QUANTITY")]
    public decimal? Quantity { get; set; }
    /// <summary>
    ///     å…¥åº“方式(1:有条码,0:无条码)
    /// </summary>
    [SugarColumn(ColumnName = "BARCODE_FLAG")]
    public short? BarcodeFlag { get; set; }
    /// <summary>
    ///     çŽ¯ä¿æ ‡å¿—ï¼ˆ0-非环保,1-环保.无条码手工录入,有条码为冗余字段)
    /// </summary>
    [SugarColumn(ColumnName = "EP_FLAG")]
    public short? EpFlag { get; set; }
    /// <summary>
    ///     åˆ›å»ºäºº
    /// </summary>
    [SugarColumn(ColumnName = "CREATE_BY")]
    public string CreateBy { get; set; }
    /// <summary>
    ///     åˆ›å»ºæ—¶é—´
    /// </summary>
    [SugarColumn(ColumnName = "CREATE_DATE")]
    public DateTime? CreateDate { 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>
    ///     ä½œä¸šæ–¹å¼0-有线条码枪1-无线条码枪
    /// </summary>
    [SugarColumn(ColumnName = "WORK_TYPE")]
    public decimal? WorkType { get; set; }
    /// <summary>
    ///     æœ¬å¸ç‰©æ–™ç¼–码(无条码手工录入,有条码为冗余字段)
    /// </summary>
    [SugarColumn(ColumnName = "ITEM_NO")]
    public string ItemNo { get; set; }
    /// <summary>
    ///     åŽ‚å®¶æ‰¹æ¬¡
    /// </summary>
    [SugarColumn(ColumnName = "LOT_NO")]
    public string LotNo { get; set; }
    /// <summary>
    ///     æ˜¯å¦å…±ç®¡ç‰©æ–™(0:否,1:是)
    /// </summary>
    [SugarColumn(ColumnName = "COMANAGEMENT_FLAG")]
    public short? ComanagementFlag { get; set; }
    /// <summary>
    ///     å®¢æˆ·ç¼–码
    /// </summary>
    [SugarColumn(ColumnName = "CUST_NO")]
    public string CustNo { get; set; }
    /// <summary>
    ///     æ£€éªŒç»“æžœ
    /// </summary>
    [SugarColumn(ColumnName = "CHECK_RES")]
    public string CheckRes { get; set; }
    /// <summary>
    ///     è¿›è´§æ•°é‡
    /// </summary>
    [SugarColumn(ColumnName = "CHECK_QTY")]
    public decimal? CheckQty { get; set; }
    /// <summary>
    ///     æ£€éªŒçŠ¶æ€
    /// </summary>
    [SugarColumn(ColumnName = "CHECK_STATES")]
    public string CheckStates { get; set; }
    /// <summary>
    ///     å¼ºåˆ¶å…¥åº“标记0无,1-强制入库  é€€æ–™å•使用
    /// </summary>
    [SugarColumn(ColumnName = "FORCE_IN_FLAG")]
    public short? ForceInFlag { get; set; }
    /// <summary>
    ///     ä»“库编码
    /// </summary>
    [SugarColumn(ColumnName = "DEPOT_CODE")]
    public string DepotCode { get; set; }
    /// <summary>
    ///     è´§ä½ç¼–码
    /// </summary>
    [SugarColumn(ColumnName = "DEPOT_SECTION_CODE")]
    public string DepotSectionCode { get; set; }
    /// <summary>
    ///     ç‰¹è®°äº‹é¡¹
    /// </summary>
    [SugarColumn(ColumnName = "REMARK")]
    public string Remark { get; set; }
    /// <summary>
    ///     ç‰©æ–™æ¡ç 
    /// </summary>
    [SugarColumn(ColumnName = "ITEM_BARCODE2")]
    public string ItemBarcode2 { get; set; }
    /// <summary>
    ///     æ–°æ¡ç 
    /// </summary>
    [SugarColumn(ColumnName = "ITEM_BARCODE3")]
    public string ItemBarcode3 { get; set; }
    /// <summary>
    ///     ä½¿ç”¨æ•°é‡
    /// </summary>
    [SugarColumn(ColumnName = "USE_QTY")]
    public decimal? UseQty { get; set; }
    /// <summary>
    ///     é¢†æ–™æ•°é‡
    /// </summary>
    [SugarColumn(ColumnName = "OUT_QTY")]
    public decimal? OutQty { get; set; }
    /// <summary>
    ///     ç‰©æ–™ç®€ç§°
    /// </summary>
    [SugarColumn(ColumnName = "ITEM_SNAME")]
    public string ItemSname { get; set; }
    /// <summary>
    ///     æ¡£ä½ä½Žå€¼
    /// </summary>
    [SugarColumn(ColumnName = "SPOSTION")]
    public decimal? Spostion { get; set; }
    /// <summary>
    ///     æ¡£ä½é«˜å€¼
    /// </summary>
    [SugarColumn(ColumnName = "EPOSTION")]
    public decimal? Epostion { get; set; }
    /// <summary>
    ///     æ£€éªŒæ—¥æœŸ
    /// </summary>
    [SugarColumn(ColumnName = "CHECK_DATE")]
    public DateTime? CheckDate { get; set; }
    /// <summary>
    ///     å•位
    /// </summary>
    [SugarColumn(ColumnName = "UNIT")]
    public string Unit { get; set; }
    /// <summary>
    ///     æ˜¯å¦æ£€éªŒ
    /// </summary>
    [SugarColumn(ColumnName = "ISCHECK")]
    public decimal? Ischeck { get; set; }
    /// <summary>
    ///     é‡‡è´­è®¢å•
    /// </summary>
    [SugarColumn(ColumnName = "EBELN")]
    public string Ebeln { get; set; }
    /// <summary>
    ///     ç”Ÿäº§æ—¥æœŸ
    /// </summary>
    [SugarColumn(ColumnName = "LOT_DATE")]
    public string LotDate { get; set; }
    /// <summary>
    ///     å…¥åº“单号
    /// </summary>
    [SugarColumn(ColumnName = "BILL_NO")]
    public string BillNo { get; set; }
    /// <summary>
    ///     å…¥åº“审核标志
    /// </summary>
    [SugarColumn(ColumnName = "STOCK_OK")]
    public short? StockOk { get; set; }
    /// <summary>
    ///     åˆ†åŽ‚ç¼–ç 
    /// </summary>
    [SugarColumn(ColumnName = "FACTORY")]
    public string Factory { get; set; }
    /// <summary>
    ///     å…¬å¸ä»£ç 
    /// </summary>
    [SugarColumn(ColumnName = "COMPANY")]
    public string Company { get; set; }
    /// <summary>
    ///     å¡æ¿ç¼–码
    /// </summary>
    [SugarColumn(ColumnName = "CB_NO")]
    public string CbNo { get; set; }
    /// <summary>
    ///     ç®±å·
    /// </summary>
    [SugarColumn(ColumnName = "BOX_NO")]
    public string BoxNo { get; set; }
    /// <summary>
    ///     ä»“库ID
    /// </summary>
    [SugarColumn(ColumnName = "DEPOT_ID")]
    public decimal? DepotId { get; set; }
    /// <summary>
    ///     è´§ä½ID
    /// </summary>
    [SugarColumn(ColumnName = "DEPOT_SECTION_ID")]
    public decimal? DepotSectionId { get; set; }
    /// <summary>
    ///     è¡Œå·
    /// </summary>
    [SugarColumn(ColumnName = "LINE_NUM")]
    public string LineNum { get; set; }
    /// <summary>
    ///     æ‰«ç æ•°é‡
    /// </summary>
    [SugarColumn(ColumnName = "SM_QTY")]
    public decimal? SmQty { get; set; }
    /// <summary>
    ///     é”€å”®è®¢å•
    /// </summary>
    [SugarColumn(ColumnName = "VGBEL")]
    public string Vgbel { get; set; }
    /// <summary>
    ///     é”€å”®è®¢å•行号
    /// </summary>
    [SugarColumn(ColumnName = "KDPOS")]
    public decimal? Kdpos { get; set; }
    /// <summary>
    ///     ä»»åŠ¡å•å·
    /// </summary>
    [SugarColumn(ColumnName = "WORK_NO")]
    public string WorkNo { get; set; }
    /// <summary>
    ///     è¡Œå·
    /// </summary>
    [SugarColumn(ColumnName = "EBELN_LINE_NO")]
    public decimal? EbelnLineNo { get; set; }
    /// <summary>
    ///     åˆ°è´§å•号
    /// </summary>
    [SugarColumn(ColumnName = "CBILL_NO")]
    public string CbillNo { get; set; }
    /// <summary>
    ///     æ€¥æ–™æ ‡è¯†
    /// </summary>
    [SugarColumn(ColumnName = "URGENT_FLAG")]
    public decimal? UrgentFlag { get; set; }
    /// <summary>
    ///     äº§å“åž‹å·
    /// </summary>
    [SugarColumn(ColumnName = "BOARD_STYLE")]
    public string BoardStyle { get; set; }
    /// <summary>
    ///     ä»»åŠ¡å•è¡Œå·
    /// </summary>
    [SugarColumn(ColumnName = "WORK_LINE")]
    public decimal? WorkLine { get; set; }
    /// <summary>
    ///     ç”Ÿäº§å·¥å•
    /// </summary>
    [SugarColumn(ColumnName = "TASK_NO")]
    public string TaskNo { get; set; }
    /// <summary>
    ///     ä¾›åº”商
    /// </summary>
    [SugarColumn(ColumnName = "SUPP_NO")]
    public string SuppNo { get; set; }
    /// <summary>
    ///     ä»»åŠ¡æ±‡æŠ¥å•
    /// </summary>
    [SugarColumn(ColumnName = "RBILL_NO")]
    public string RbillNo { get; set; }
    // æ·»åŠ çš„å­—æ®µï¼Œå¹¶ä¸”å®ƒä»¬ä¸å±žäºŽæ•°æ®åº“è¡¨
    [SugarColumn(IsIgnore = true)] public string? ItemName { get; set; }
    [SugarColumn(IsIgnore = true)] public string? ItemModel { get; set; }
    [SugarColumn(IsIgnore = true)] public string? ItemUnit { get; set; }
    [SugarColumn(IsIgnore = true)] public decimal? SumQuantity { get; set; }
}
MES.Service/Modes/MesInvItemIns.cs
@@ -1,5 +1,3 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using SqlSugar;
namespace MES.Service.Modes;
@@ -7,404 +5,311 @@
/// <summary>
///     ç‰©æ–™å…¥åº“主表
/// </summary>
[Table("MES_INV_ITEM_INS")]
[SugarTable("MES_INV_ITEM_INS")] //用于SqlSugar
[SugarTable("MES_INV_ITEM_INS")]
public class MesInvItemIns
{
    /// <summary>
    ///     ID(SEQ_INV_ID)
    /// </summary>
    [Key]
    [Column("ID")]
    [SugarColumn(ColumnName = "ID")] //用于SqlSugar
    [SugarColumn(ColumnName = "ID", IsPrimaryKey = true)]
    public decimal Id { get; set; }
    /// <summary>
    ///     å…¥åº“单号
    /// </summary>
    [Column("BILL_NO")]
    [SugarColumn(ColumnName = "BILL_NO")] //用于SqlSugar
    [StringLength(100, ErrorMessage = "入库单号长度不能超出100")]
    [SugarColumn(ColumnName = "BILL_NO")]
    public string BillNo { get; set; }
    /// <summary>
    ///     å•据类型ID
    ///     çŠ¶æ€|0-未审核1-审核入库\结案
    /// </summary>
    [Column("BILL_TYPE_ID")]
    [SugarColumn(ColumnName = "BILL_TYPE_ID")] //用于SqlSugar
    public decimal? BillTypeId { get; set; }
    [SugarColumn(ColumnName = "STATUS")]
    public short? Status { get; set; }
    /// <summary>
    ///     åˆ°è´§å•号/计划单号
    ///     ä»“库
    /// </summary>
    [Column("CBILL_NO")]
    [SugarColumn(ColumnName = "CBILL_NO")] //用于SqlSugar
    [StringLength(50, ErrorMessage = "到货单号/计划单号长度不能超出50")]
    public string CbillNo { get; set; }
    [SugarColumn(ColumnName = "DEPOTS_ID")]
    public decimal? DepotsId { get; set; }
    /// <summary>
    ///     å®¡æ ¸æ—¥æœŸ
    ///     åŽŸå› 
    /// </summary>
    [Column("CHECK_DATE")]
    [SugarColumn(ColumnName = "CHECK_DATE")] //用于SqlSugar
    public DateTime? CheckDate { get; set; }
    /// <summary>
    ///     å·²æ¡æ•°é‡
    /// </summary>
    [Column("CHECK_QTY")]
    [SugarColumn(ColumnName = "CHECK_QTY")] //用于SqlSugar
    public decimal? CheckQty { get; set; }
    /// <summary>
    ///     æ£€éªŒç»“æžœ
    /// </summary>
    [Column("CHECK_RES")]
    [SugarColumn(ColumnName = "CHECK_RES")] //用于SqlSugar
    [StringLength(50, ErrorMessage = "检验结果长度不能超出50")]
    public string CheckRes { get; set; }
    /// <summary>
    ///     å®¡æ ¸äºº
    /// </summary>
    [Column("CHECK_USER")]
    [SugarColumn(ColumnName = "CHECK_USER")] //用于SqlSugar
    [StringLength(32, ErrorMessage = "审核人长度不能超出32")]
    public string CheckUser { get; set; }
    /// <summary>
    ///     å…¬å¸ä»£ç 
    /// </summary>
    [Column("COMPANY")]
    [SugarColumn(ColumnName = "COMPANY")] //用于SqlSugar
    [StringLength(20, ErrorMessage = "公司代码长度不能超出20")]
    public string Company { get; set; }
    [SugarColumn(ColumnName = "REASON")]
    public string Reason { get; set; }
    /// <summary>
    ///     åˆ›å»ºäºº
    /// </summary>
    [Column("CREATE_BY")]
    [SugarColumn(ColumnName = "CREATE_BY")] //用于SqlSugar
    [StringLength(30, ErrorMessage = "创建人长度不能超出30")]
    [SugarColumn(ColumnName = "CREATE_BY")]
    public string CreateBy { get; set; }
    /// <summary>
    ///     åˆ›å»ºæ—¶é—´
    /// </summary>
    [Column("CREATE_DATE")]
    [SugarColumn(ColumnName = "CREATE_DATE")] //用于SqlSugar
    [SugarColumn(ColumnName = "CREATE_DATE")]
    public DateTime? CreateDate { get; set; }
    /// <summary>
    ///     å®¢æˆ·åç§°
    /// </summary>
    [Column("CUST_NAME")]
    [SugarColumn(ColumnName = "CUST_NAME")] //用于SqlSugar
    [StringLength(300, ErrorMessage = "客户名称长度不能超出300")]
    public string CustName { get; set; }
    /// <summary>
    ///     å®¢æˆ·ç¼–号
    /// </summary>
    [Column("CUST_NO")]
    [SugarColumn(ColumnName = "CUST_NO")] //用于SqlSugar
    [StringLength(50, ErrorMessage = "客户编号长度不能超出50")]
    public string CustNo { get; set; }
    /// <summary>
    ///     ä»“库编码
    /// </summary>
    [Column("DEPOTS_CODE")]
    [SugarColumn(ColumnName = "DEPOTS_CODE")] //用于SqlSugar
    [StringLength(30, ErrorMessage = "仓库编码长度不能超出30")]
    public string DepotsCode { get; set; }
    /// <summary>
    ///     ä»“库
    /// </summary>
    [Column("DEPOTS_ID")]
    [SugarColumn(ColumnName = "DEPOTS_ID")] //用于SqlSugar
    public decimal? DepotsId { get; set; }
    /// <summary>
    ///     SAP采购订单号
    /// </summary>
    [Column("EBELN")]
    [SugarColumn(ColumnName = "EBELN")] //用于SqlSugar
    [StringLength(50, ErrorMessage = "SAP采购订单号长度不能超出50")]
    public string Ebeln { get; set; }
    /// <summary>
    ///     å·¥åŽ‚ç¼–ç 
    /// </summary>
    [Column("FACTORY")]
    [SugarColumn(ColumnName = "FACTORY")] //用于SqlSugar
    [StringLength(10, ErrorMessage = "工厂编码长度不能超出10")]
    public string Factory { get; set; }
    /// <summary>
    ///     æŠ•料单行号
    /// </summary>
    [Column("FBILL_LINO")]
    [SugarColumn(ColumnName = "FBILL_LINO")] //用于SqlSugar
    [StringLength(50, ErrorMessage = "投料单行号长度不能超出50")]
    public string FbillLino { get; set; }
    /// <summary>
    ///     æŠ•料通知单单号
    /// </summary>
    [Column("FBILLNO")]
    [SugarColumn(ColumnName = "FBILLNO")] //用于SqlSugar
    [StringLength(50, ErrorMessage = "投料通知单单号长度不能超出50")]
    public string Fbillno { get; set; }
    /// <summary>
    ///     å…¥åº“审核日期
    /// </summary>
    [Column("FCHECK_DATE")]
    [SugarColumn(ColumnName = "FCHECK_DATE")] //用于SqlSugar
    public DateTime? FcheckDate { get; set; }
    /// <summary>
    ///     å…¥åº“审核人
    /// </summary>
    [Column("FCHECK_USER")]
    [SugarColumn(ColumnName = "FCHECK_USER")] //用于SqlSugar
    [StringLength(10, ErrorMessage = "入库审核人长度不能超出10")]
    public string FcheckUser { get; set; }
    /// <summary>
    ///     å…¥åº“状态
    /// </summary>
    [Column("FSTATUS")]
    [SugarColumn(ColumnName = "FSTATUS")] //用于SqlSugar
    public decimal? Fstatus { get; set; }
    /// <summary>
    ///     å®¡æ ¸å…¥åº“人
    /// </summary>
    [Column("INSBY")]
    [SugarColumn(ColumnName = "INSBY")] //用于SqlSugar
    [StringLength(32, ErrorMessage = "审核入库人长度不能超出32")]
    public string Insby { get; set; }
    /// <summary>
    ///     ç¡®è®¤å…¥åº“日期
    /// </summary>
    [Column("INSDATE")]
    [SugarColumn(ColumnName = "INSDATE")] //用于SqlSugar
    public DateTime? Insdate { get; set; }
    /// <summary>
    ///     å…¥åº“日期
    /// </summary>
    [Column("INS_DATE")]
    [SugarColumn(ColumnName = "INS_DATE")] //用于SqlSugar
    public DateTime? InsDate { get; set; }
    /// <summary>
    ///     IQC检验单号
    /// </summary>
    [Column("IQC_RELEASE_NO")]
    [SugarColumn(ColumnName = "IQC_RELEASE_NO")] //用于SqlSugar
    [StringLength(300, ErrorMessage = "IQC检验单号长度不能超出300")]
    public string IqcReleaseNo { get; set; }
    /// <summary>
    ///     æ˜¯å¦æ£€éªŒ
    /// </summary>
    [Column("ISCHECK")]
    [SugarColumn(ColumnName = "ISCHECK")] //用于SqlSugar
    public decimal? Ischeck { get; set; }
    /// <summary>
    ///     æ˜¯å¦æ˜¾ç¤º
    /// </summary>
    [Column("IS_VISUAL")]
    [SugarColumn(ColumnName = "IS_VISUAL")] //用于SqlSugar
    public decimal? IsVisual { get; set; }
    /// <summary>
    ///     åŠæˆå“ç¼–号
    /// </summary>
    [Column("ITEM_NO")]
    [SugarColumn(ColumnName = "ITEM_NO")] //用于SqlSugar
    [StringLength(50, ErrorMessage = "半成品编号长度不能超出50")]
    public string ItemNo { get; set; }
    /// <summary>
    ///     æœ€åŽæ›´æ–°äºº
    /// </summary>
    [Column("LASTUPDATE_BY")]
    [SugarColumn(ColumnName = "LASTUPDATE_BY")] //用于SqlSugar
    [StringLength(30, ErrorMessage = "最后更新人长度不能超出30")]
    [SugarColumn(ColumnName = "LASTUPDATE_BY")]
    public string LastupdateBy { get; set; }
    /// <summary>
    ///     æœ€åŽæ›´æ–°æ—¶é—´
    /// </summary>
    [Column("LASTUPDATE_DATE")]
    [SugarColumn(ColumnName = "LASTUPDATE_DATE")] //用于SqlSugar
    [SugarColumn(ColumnName = "LASTUPDATE_DATE")]
    public DateTime? LastupdateDate { get; set; }
    /// <summary>
    ///     é‡‡è´­å•行号
    ///     å•据类型ID
    /// </summary>
    [Column("LINE_NO")]
    [SugarColumn(ColumnName = "LINE_NO")] //用于SqlSugar
    [StringLength(20, ErrorMessage = "采购单行号长度不能超出20")]
    public string LineNo { get; set; }
    /// <summary>
    ///     é¢†æ–™å·¥æ®µ
    /// </summary>
    [Column("MMLIST")]
    [SugarColumn(ColumnName = "MMLIST")] //用于SqlSugar
    [StringLength(30, ErrorMessage = "领料工段长度不能超出30")]
    public string Mmlist { get; set; }
    /// <summary>
    ///     ç”Ÿäº§è®¢å•
    /// </summary>
    [Column("MOCODE")]
    [SugarColumn(ColumnName = "MOCODE")] //用于SqlSugar
    [StringLength(50, ErrorMessage = "生产订单长度不能超出50")]
    public string Mocode { get; set; }
    /// <summary>
    ///     å†²é”€äº‹åŠ¡ç±»åž‹ç¼–ç 
    /// </summary>
    [Column("MTTRANSCTION_NO")]
    [SugarColumn(ColumnName = "MTTRANSCTION_NO")] //用于SqlSugar
    public decimal? MttransctionNo { get; set; }
    /// <summary>
    ///     é€è´§å•号
    /// </summary>
    [Column("PAPER_BILL_NO")]
    [SugarColumn(ColumnName = "PAPER_BILL_NO")] //用于SqlSugar
    [StringLength(50, ErrorMessage = "送货单号长度不能超出50")]
    public string PaperBillNo { get; set; }
    /// <summary>
    ///     0 ç”³è¯·å•,1入库单标识
    /// </summary>
    [Column("PICK_INS")]
    [SugarColumn(ColumnName = "PICK_INS")] //用于SqlSugar
    public decimal? PickIns { get; set; }
    /// <summary>
    ///     åŽŸå› 
    /// </summary>
    [Column("REASON")]
    [SugarColumn(ColumnName = "REASON")] //用于SqlSugar
    [StringLength(1000, ErrorMessage = "原因长度不能超出1000")]
    public string Reason { get; set; }
    /// <summary>
    ///     é€€æ–™åŽŸå› 
    /// </summary>
    [Column("REM")]
    [SugarColumn(ColumnName = "REM")] //用于SqlSugar
    [StringLength(50, ErrorMessage = "退料原因长度不能超出50")]
    public string Rem { get; set; }
    /// <summary>
    ///     å¤‡æ³¨
    /// </summary>
    [Column("REMARK")]
    [SugarColumn(ColumnName = "REMARK")] //用于SqlSugar
    [StringLength(255, ErrorMessage = "备注长度不能超出255")]
    public string Remark { get; set; }
    /// <summary>
    ///     SAP返回单据
    /// </summary>
    [Column("SAPNO")]
    [SugarColumn(ColumnName = "SAPNO")] //用于SqlSugar
    [StringLength(50, ErrorMessage = "SAP返回单据长度不能超出50")]
    public string Sapno { get; set; }
    /// <summary>
    ///     æ˜¯å¦å·²å›žå†™SAP
    /// </summary>
    [Column("SAPSTATUS")]
    [SugarColumn(ColumnName = "SAPSTATUS")] //用于SqlSugar
    public decimal? Sapstatus { get; set; }
    /// <summary>
    ///     SAP返回信息
    /// </summary>
    [Column("SAPTEXT")]
    [SugarColumn(ColumnName = "SAPTEXT")] //用于SqlSugar
    [StringLength(200, ErrorMessage = "SAP返回信息长度不能超出200")]
    public string Saptext { get; set; }
    /// <summary>
    ///     SAP返回年份
    /// </summary>
    [Column("SAPYEAR")]
    [SugarColumn(ColumnName = "SAPYEAR")] //用于SqlSugar
    public decimal? Sapyear { get; set; }
    /// <summary>
    ///     çŠ¶æ€|0-未审核1-审核入库\结案
    /// </summary>
    [Column("STATUS")]
    [SugarColumn(ColumnName = "STATUS")] //用于SqlSugar
    public decimal? Status { get; set; }
    /// <summary>
    ///     ä¾›åº”商编码
    /// </summary>
    [Column("SUPP_NO")]
    [SugarColumn(ColumnName = "SUPP_NO")] //用于SqlSugar
    [StringLength(30, ErrorMessage = "供应商编码长度不能超出30")]
    public string SuppNo { get; set; }
    /// <summary>
    ///     å·¥å•行号
    /// </summary>
    [Column("TASK_LINO")]
    [SugarColumn(ColumnName = "TASK_LINO")] //用于SqlSugar
    [StringLength(50, ErrorMessage = "工单行号长度不能超出50")]
    public string TaskLino { get; set; }
    /// <summary>
    ///     ä»»åŠ¡å•å·
    /// </summary>
    [Column("TASK_NO")]
    [SugarColumn(ColumnName = "TASK_NO")] //用于SqlSugar
    [StringLength(50, ErrorMessage = "任务单号长度不能超出50")]
    public string TaskNo { get; set; }
    [SugarColumn(ColumnName = "BILL_TYPE_ID")]
    public decimal? BillTypeId { get; set; }
    /// <summary>
    ///     äº‹åŠ¡ç±»åž‹ID
    /// </summary>
    [Column("TRANSACTION_ID")]
    [SugarColumn(ColumnName = "TRANSACTION_ID")] //用于SqlSugar
    [SugarColumn(ColumnName = "TRANSACTION_ID")]
    public decimal? TransactionId { get; set; }
    /// <summary>
    ///     äº‹åŠ¡ç±»åž‹ç¼–ç 
    ///     å¤‡æ³¨
    /// </summary>
    [Column("TRANSCTION_NO")]
    [SugarColumn(ColumnName = "TRANSCTION_NO")] //用于SqlSugar
    [StringLength(30, ErrorMessage = "事务类型编码长度不能超出30")]
    public string TransctionNo { get; set; }
    [SugarColumn(ColumnName = "REMARK")]
    public string Remark { get; set; }
    /// <summary>
    ///     æ€¥æ–™æ ‡è¯†
    ///     é€è´§å•号
    /// </summary>
    [Column("URGENT_FLAG")]
    [SugarColumn(ColumnName = "URGENT_FLAG")] //用于SqlSugar
    public decimal? UrgentFlag { get; set; }
    [SugarColumn(ColumnName = "PAPER_BILL_NO")]
    public string PaperBillNo { get; set; }
    /// <summary>
    ///     é€€æ–™äººå·¥å·
    /// </summary>
    [Column("USER_NO_BACK")]
    [SugarColumn(ColumnName = "USER_NO_BACK")] //用于SqlSugar
    [StringLength(20, ErrorMessage = "退料人工号长度不能超出20")]
    [SugarColumn(ColumnName = "USER_NO_BACK")]
    public string UserNoBack { get; set; }
    /// <summary>
    ///     å®¡æ ¸äºº
    /// </summary>
    [SugarColumn(ColumnName = "CHECK_USER")]
    public string CheckUser { get; set; }
    /// <summary>
    ///     å®¡æ ¸æ—¥æœŸ
    /// </summary>
    [SugarColumn(ColumnName = "CHECK_DATE")]
    public DateTime? CheckDate { get; set; }
    /// <summary>
    ///     ç”Ÿäº§è®¢å•号
    /// </summary>
    [SugarColumn(ColumnName = "TASK_NO")]
    public string TaskNo { get; set; }
    /// <summary>
    ///     å…¥åº“日期
    /// </summary>
    [SugarColumn(ColumnName = "INS_DATE")]
    public DateTime? InsDate { get; set; }
    /// <summary>
    ///     æ£€éªŒç»“æžœ
    /// </summary>
    [SugarColumn(ColumnName = "CHECK_RES")]
    public string CheckRes { get; set; }
    /// <summary>
    ///     å·²æ¡æ•°é‡
    /// </summary>
    [SugarColumn(ColumnName = "CHECK_QTY")]
    public decimal? CheckQty { get; set; }
    /// <summary>
    ///     é¢†æ–™å·¥æ®µ
    /// </summary>
    [SugarColumn(ColumnName = "MMLIST")]
    public string Mmlist { get; set; }
    /// <summary>
    ///     SAP采购订单号
    /// </summary>
    [SugarColumn(ColumnName = "EBELN")]
    public string Ebeln { get; set; }
    /// <summary>
    ///     ä»“库编码
    /// </summary>
    [SugarColumn(ColumnName = "DEPOTS_CODE")]
    public string DepotsCode { get; set; }
    /// <summary>
    ///     äº‹åŠ¡ç±»åž‹ç¼–ç 
    /// </summary>
    [SugarColumn(ColumnName = "TRANSCTION_NO")]
    public string TransctionNo { get; set; }
    /// <summary>
    ///     ä¾›åº”商编码
    /// </summary>
    [SugarColumn(ColumnName = "SUPP_NO")]
    public string SuppNo { get; set; }
    /// <summary>
    ///     å…¥åº“状态
    /// </summary>
    [SugarColumn(ColumnName = "FSTATUS")]
    public short? Fstatus { get; set; }
    /// <summary>
    ///     å·¥åŽ‚ç¼–ç 
    /// </summary>
    [SugarColumn(ColumnName = "FACTORY")]
    public string Factory { get; set; }
    /// <summary>
    ///     æ˜¯å¦å·²å›žå†™SAP
    /// </summary>
    [SugarColumn(ColumnName = "SAPSTATUS")]
    public short? Sapstatus { get; set; }
    /// <summary>
    ///     SAP返回单据
    /// </summary>
    [SugarColumn(ColumnName = "SAPNO")]
    public string Sapno { get; set; }
    /// <summary>
    ///     SAP返回年份
    /// </summary>
    [SugarColumn(ColumnName = "SAPYEAR")]
    public short? Sapyear { get; set; }
    /// <summary>
    ///     SAP返回信息
    /// </summary>
    [SugarColumn(ColumnName = "SAPTEXT")]
    public string Saptext { get; set; }
    /// <summary>
    ///     ç¡®è®¤å…¥åº“日期
    /// </summary>
    [SugarColumn(ColumnName = "INSDATE")]
    public DateTime? InsdateA { get; set; }
    /// <summary>
    ///     æ˜¯å¦æ£€éªŒ
    /// </summary>
    [SugarColumn(ColumnName = "ISCHECK")]
    public decimal? Ischeck { get; set; }
    /// <summary>
    ///     å®¡æ ¸å…¥åº“人
    /// </summary>
    [SugarColumn(ColumnName = "INSBY")]
    public string Insby { get; set; }
    /// <summary>
    ///     æ˜¯å¦æ˜¾ç¤º
    /// </summary>
    [SugarColumn(ColumnName = "IS_VISUAL")]
    public decimal? IsVisual { get; set; }
    /// <summary>
    ///     å…¬å¸ä»£ç 
    /// </summary>
    [SugarColumn(ColumnName = "COMPANY")]
    public string Company { get; set; }
    /// <summary>
    ///     æ€¥æ–™æ ‡è¯†
    /// </summary>
    [SugarColumn(ColumnName = "URGENT_FLAG")]
    public short? UrgentFlag { get; set; }
    /// <summary>
    ///     é‡‡è´­å•行号
    /// </summary>
    [SugarColumn(ColumnName = "LINE_NO")]
    public string LineNo { get; set; }
    /// <summary>
    ///     å†²é”€äº‹åŠ¡ç±»åž‹ç¼–ç 
    /// </summary>
    [SugarColumn(ColumnName = "MTTRANSCTION_NO")]
    public decimal? MttransctionNo { get; set; }
    /// <summary>
    ///     å·¥å•行号
    /// </summary>
    [SugarColumn(ColumnName = "TASK_LINO")]
    public string TaskLino { get; set; }
    /// <summary>
    ///     æŠ•料通知单单号
    /// </summary>
    [SugarColumn(ColumnName = "FBILLNO")]
    public string Fbillno { get; set; }
    /// <summary>
    ///     æŠ•料单行号
    /// </summary>
    [SugarColumn(ColumnName = "FBILL_LINO")]
    public string FbillLino { get; set; }
    /// <summary>
    ///     å®¢æˆ·ç¼–号
    /// </summary>
    [SugarColumn(ColumnName = "CUST_NO")]
    public string CustNo { get; set; }
    /// <summary>
    ///     å®¢æˆ·åç§°
    /// </summary>
    [SugarColumn(ColumnName = "CUST_NAME")]
    public string CustName { get; set; }
    /// <summary>
    ///     IQC检验单号
    /// </summary>
    [SugarColumn(ColumnName = "IQC_RELEASE_NO")]
    public string IqcReleaseNo { get; set; }
    /// <summary>
    ///     åˆ°è´§å•号
    /// </summary>
    [SugarColumn(ColumnName = "CBILL_NO")]
    public string CbillNo { get; set; }
    /// <summary>
    ///     0 ç”³è¯·å•,1入库单标识
    /// </summary>
    [SugarColumn(ColumnName = "PICK_INS")]
    public decimal? PickIns { get; set; }
    /// <summary>
    ///     å…¥åº“审核人
    /// </summary>
    [SugarColumn(ColumnName = "FCHECK_USER")]
    public string FcheckUser { get; set; }
    /// <summary>
    ///     å…¥åº“审核日期
    /// </summary>
    [SugarColumn(ColumnName = "FCHECK_DATE")]
    public DateTime? FcheckDate { get; set; }
    /// <summary>
    ///     ä»»åŠ¡æ±‡æŠ¥å•
    /// </summary>
    [SugarColumn(ColumnName = "RBILL_NO")]
    public string RbillNo { get; set; }
    //在数据库查询时忽略这个字段
    [SugarColumn(IsIgnore = true)] public string? DepotName { get; set; }
    [SugarColumn(IsIgnore = true)] public string? SuppName { get; set; }
}
MES.Service/Modes/MessageCenter.cs
@@ -105,6 +105,14 @@
    [SugarColumn(ColumnName = "ROUTE")]
    public string? Route { get; set; }
    /// <summary>
    ///     å‚数类型
    /// </summary>
    [SugarColumn(ColumnName = "Content_Type")]
    public string? ContentType { get; set; }
    [SugarColumn(IsIgnore = true)] public int? isShow { get; set; }
    [SugarColumn(IsIgnore = true)] public decimal? Count { get; set; }
}
MES.Service/bin/Debug/net8.0/MES.Service.dll
Binary files differ
MES.Service/bin/Debug/net8.0/MES.Service.pdb
Binary files differ
MES.Service/bin/Release/net8.0/MES.Service.dll
Binary files differ
MES.Service/bin/Release/net8.0/MES.Service.pdb
Binary files differ
MES.Service/service/GetErpParametersServer.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,138 @@
using System.Text;
using System.Web;
using MES.Service.Dto.service;
using MES.Service.Modes;
using MES.Service.service.Warehouse;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace MES.Service.service;
public class GetErpParametersServer
{
    private readonly MesInvItemInCDetailsManager _invItemInCDetailsServer =
        new();
    private readonly MessageCenterManager _messageCenterServer = new();
    public List<MessageCenter> GetErpParameters(List<MessageCenter> data)
    {
        var centers = new List<MessageCenter>();
        //获取第一个请求
        var center = data.Find(p => p.Seq == 1);
        //解析URL
        var queryString =
            center.PageName.Substring(center.PageName.IndexOf('?') + 1);
        //提取参数
        var queryParameters = HttpUtility.ParseQueryString(queryString);
        switch (center.TableName)
        {
            //采购入库单审核
            case "MES_INV_ITEM_INS_A":
            //采购入库单反审核
            case "MES_INV_ITEM_INS_B":
                var strings = center.TableName.Split("_");
                var query = new WarehouseQuery();
                //获取到类型(审核还是反审核)
                query.Type = strings[^1];
                query.id = Convert.ToDecimal(queryParameters["id"]);
                query.billNo = queryParameters["billNo"];
                var mesToErp = _invItemInCDetailsServer.MesToErpParam(query);
                mesToErp.Id = center.Id;
                centers.Add(mesToErp);
                var messageCenter = data[0];
                var json = new JObject();
                json.Add(new JProperty("id", query.id));
                json.Add(new JProperty("billNo", query.billNo));
                messageCenter.Data = json.ToString();
                centers.Add(messageCenter);
                break;
            default:
                throw new Exception("无法识别TableName类型");
        }
        //根据顺序返回
        return centers.OrderBy(p => p.Seq).ToList();
    }
    public string Resend(MessageCenter data)
    {
        //获取所有的回调
        var messageCenters =
            _messageCenterServer.GetList(it => it.Pid == data.Id);
        messageCenters.Add(data);
        var erpParameters = GetErpParameters(messageCenters);
        return sendHttp(erpParameters).Result;
    }
    private async Task<string> sendHttp(List<MessageCenter> requestList)
    {
        var sortedRequests = requestList.OrderBy(r => r.Seq).ToList();
        using var httpClient = new HttpClient();
        var responses = "";
        foreach (var request in sortedRequests)
        {
            var httpRequestMessage = new HttpRequestMessage
            {
                Method = new HttpMethod(request.Method),
                RequestUri = new Uri(request.Url),
                Content = new StringContent(request.Data, Encoding.UTF8,
                    request.ContentType)
            };
            var response =
                await httpClient.SendAsync(httpRequestMessage);
            var responseData = await response.Content.ReadAsStringAsync();
            var result = JsonConvert.DeserializeObject<Result>(responseData);
            responses += result.msg + "!!!";
            responses += result.message + "!!!";
            if ("500".Equals(result.state))
            {
                responses = "返回报错:" + responses;
                return responses;
            }
            if ("1".Equals(result.status))
            {
                responses = "返回报错:" + responses;
                return responses;
            }
            request.Result = 1;
            request.ResultData = result.msg;
            request.Status = 1;
            request.DealWith = 1;
            _messageCenterServer.ResetUpdate(request);
        }
        responses = "重推成功:" + responses;
        return responses;
    }
}
public class Result
{
    public string? state { get; set; }
    public string? msg { get; set; }
    public string? status { get; set; }
    public string? message { get; set; }
}
MES.Service/service/MessageCenterManager.cs
@@ -1,5 +1,6 @@
using MES.Service.DB;
using MES.Service.Modes;
using SqlSugar;
namespace MES.Service.service;
@@ -7,25 +8,54 @@
{
    //当前类已经继承了 Repository å¢žã€åˆ ã€æŸ¥ã€æ”¹çš„æ–¹æ³•
    public List<MessageCenter> getPushFailedPage(MessageCenter query)
    public List<MessageCenter> GetPushFailedPage(MessageCenter query)
    {
        return Context.Queryable<MessageCenter>()
            .Where(it =>
                it.Result == 0 && it.Status == 1 &&
                it.Seq == 1 &&
                it.CreateBy == query.CreateBy)
                it.Seq == 1 && it.Title != null)
            .WhereIF(query.isShow == 1, it => it.DealWith == 0)
            .OrderByDescending(it => it.CreateDate)
            .ToPageList(1, 20);
    }
    public bool save(MessageCenter entity)
    public int save(MessageCenter entity)
    {
        entity.CreateDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
        entity.Method = "POST";
        return Db.Insertable(entity).ExecuteReturnIdentity();
    }
    public bool SetError(MessageCenter entity)
    {
        entity.CreateDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
        entity.Method = "POST";
        entity.Result = 0;
        entity.DealWith = 0;
        entity.Status = 1;
        return base.Insert(entity);
    }
    //获取所有没有成功的请求
    public List<MessageCenter> ErrorMsg()
    {
        return Context.Queryable<MessageCenter>()
            .GroupBy(a => new
            {
                a.TableName, a.Pid, a.Title, a.PageName
            })
            .Where(a =>
                a.DealWith == 0 && a.Status == 0 && a.Result == 0 &&
                a.Title == null)
            .Select<MessageCenter>(a => new MessageCenter
            {
                TableName = a.TableName,
                Pid = a.Pid,
                Title = a.Title,
                PageName = a.PageName,
                Count = SqlFunc.AggregateCount(a.Id)
            }).ToList();
    }
    //根据几种情况更新  ä¿æŒé¡µé¢id是固定的
MES.Service/service/QC/XJService.cs
@@ -64,7 +64,7 @@
                BoardModel = b.BoardModel,
                PlanQty = c.PlanQty,
                Mocode = a.Mocode,
                BoardStyle = c.BoardStyle,
                // BoardStyle = c.BoardStyle,
                Id = a.Id
            })
            .ToList();
@@ -156,7 +156,7 @@
                CatQty = a.CatQty,
                MoidNum = s.MoidNum,
                Daa020 = a.LineNo,
                DetailMem = a.DetailMem,
                // DetailMem = a.DetailMem,
                TaskNo = a.TaskNo,
                Id = s.Id,
                CreateBy = s.CreateBy,
@@ -169,9 +169,9 @@
                FcheckResu = s.FcheckResu,
                Remarks = s.Remarks,
                BoardModel = b.BoardModel,
                PlanQty = c.PlanQty,
                Mocode = a.Mocode,
                BoardStyle = c.BoardStyle
                PlanQty = c.PlanQty
                // Mocode = a.Mocode,
                // BoardStyle = c.BoardStyle
            }).OrderBy(s => s.CreateDate, OrderByType.Desc)
            .ToPageList(queryObj.PageIndex, queryObj.Limit);
    }
MES.Service/service/Warehouse/MesInvItemBarcodesManager.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,78 @@
using MES.Service.DB;
using MES.Service.Modes;
using SqlSugar;
namespace MES.Service.service.Warehouse;
public class MesInvItemBarcodesManager : Repository<MesInvItemBarcodes>
{
    //当前类已经继承了 Repository å¢žã€åˆ ã€æŸ¥ã€æ”¹çš„æ–¹æ³•
    //这里面写的代码不会给覆盖,如果要重新生成请删除 MesInvItemBarcodesManager.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(MesInvItemBarcodes).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 MesInvItemBarcodes(); //测试参数
        var insertArray = new[] { insertData };
        base.Insert(insertData); //插入
        base.InsertRange(insertArray); //批量插入
        var id = base.InsertReturnIdentity(insertData); //插入返回自增列
        AsInsertable(insertData).ExecuteCommand(); //我们可以转成 Insertable实现复杂插入
        /*********更新*********/
        var updateData = new MesInvItemBarcodes(); //测试参数
        var updateArray = new[] { updateData }; //测试参数
        base.Update(updateData); //根据实体更新
        base.UpdateRange(updateArray); //批量更新
        //base.Update(it => new MesInvItemBarcodes() { ClassName = "a", CreateTime = DateTime.Now }, it => it.id==1);// åªæ›´æ–°ClassName列和CreateTime列,其它列不更新,条件id=1
        AsUpdateable(updateData).ExecuteCommand(); //转成Updateable可以实现复杂的插入
        /*********删除*********/
        var deldata = new MesInvItemBarcodes(); //测试参数
        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/Warehouse/MesInvItemInCDetailsManager.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,317 @@
using System.Data;
using MES.Service.DB;
using MES.Service.Dto.service;
using MES.Service.Modes;
using Newtonsoft.Json;
using SqlSugar;
using DbType = System.Data.DbType;
namespace MES.Service.service.Warehouse;
public class MesInvItemInCDetailsManager : Repository<MesInvItemInCDetails>
{
    //当前类已经继承了 Repository å¢žã€åˆ ã€æŸ¥ã€æ”¹çš„æ–¹æ³•
    private readonly MessageCenterManager _messageCenterManager = new();
    public PurchaseInventory SaveBarCodes(WarehouseQuery entity)
    {
        // é‡‡è´­å…¥åº“[FILED3[userName[sectionCode[barcode
        var inputParam = "采购入库[FILED3[" + entity.userName + "[" +
                         entity.sectionCode + "[" + entity.barcode;
        // å®šä¹‰è¾“出参数
        var outputParam = new SugarParameter("c_result", null,
            DbType.String, ParameterDirection.Output,
            4000);
        // ä½¿ç”¨ SqlSugar æ‰§è¡Œå­˜å‚¨è¿‡ç¨‹
        Db.Ado.ExecuteCommand(
            "BEGIN prc_rf_pda_scan_in_barcode(:c_in_str, :c_result); END;",
            new SugarParameter("c_in_str", inputParam,
                DbType.String), outputParam);
        // èŽ·å–è¾“å‡ºå‚æ•°çš„å€¼
        var resultValue = outputParam.Value?.ToString();
// æ ¹æ®è¿”回值处理逻辑
        if (resultValue.StartsWith("001"))
        {
            // æˆªå–并处理结果
            // åŽ»æŽ‰å‰ç¼€ "001[" å’Œæœ€åŽçš„ "]"
            var content = resultValue.Substring(4).TrimEnd(']');
            // æå–第一个逗号之前的部分
            var parts = content.Split(',');
            var mesInvItemInCDetails =
                base.GetSingle(it => it.ItemBarcode == entity.barcode);
            if (mesInvItemInCDetails == null)
                throw new Exception("出现异常"); // æŠ›å‡ºå¼‚常以供前台处理
            var itemInId = mesInvItemInCDetails.ItemInId;
            entity.id = itemInId;
            entity.PageIndex = 1;
            entity.Limit = 1;
            var inventory = getPurchaseInventory(entity);
            inventory.ItemNo = parts[0];
            inventory.SumQuantity = Convert.ToDecimal(parts[1]);
            return inventory;
        }
        if (resultValue.StartsWith("002"))
        {
            // æå–并抛出异常信息
            var errorMessage = resultValue.Substring(4); // èŽ·å– "002" åŽé¢çš„部分
            throw new Exception(errorMessage); // æŠ›å‡ºå¼‚常以供前台处理
        }
        throw new Exception("未知错误: " + resultValue);
    }
    public PurchaseInventory getPurchaseInventory(WarehouseQuery query)
    {
        return new PurchaseInventory
        {
            ItemIns = GetInvItemInsList(query)[0],
            ItemInDetails = GetItemInDetails(query.id),
            InvItemInCDetails = GetInvItemInCDetails(query.id)
        };
    }
    public List<MesInvItemIns> GetInvItemInsList(WarehouseQuery query)
    {
        return Db.Queryable<MesInvItemIns, MesDepots, MesSupplier>((a, b, c) =>
                new JoinQueryInfos(JoinType.Left, a.DepotsCode == b.DepotCode
                                                  && b.Factory == a.Factory
                                                  && b.Company == a.Company,
                    JoinType.Left, a.SuppNo == c.SuppNo))
            .WhereIF(query.id > 0, (a, b, c) => a.Id == query.id)
            .Select((a, b, c) => new MesInvItemIns
            {
                Id = a.Id,
                SuppNo = a.SuppNo,
                InsDate = a.InsDate,
                PaperBillNo = a.PaperBillNo,
                Remark = a.Remark,
                DepotsCode = a.DepotsCode,
                CbillNo = a.CbillNo,
                Status = a.Status,
                BillNo = a.BillNo,
                CreateDate = a.CreateDate,
                CreateBy = a.CreateBy,
                DepotName = b.DepotName,
                SuppName = c.SuppName
            }).ToPageList(query.PageIndex, query.Limit);
    }
    public List<MesInvItemInCDetails> GetItemInDetails(decimal? pid)
    {
        var result = Db.Queryable<MesInvItemInCDetails, MesItems>(
                (g, c) => new JoinQueryInfos(
                    JoinType.Left,
                    g.ItemNo == c.ItemNo && g.Company == c.Company &&
                    g.Factory == c.Factory
                )
            )
            .WhereIF(pid > 0, (g, c) => g.ItemInId == pid)
            .GroupBy((g, c) => new
            {
                g.Company, g.Factory, g.ItemInId, g.WorkNo, g.ItemNo,
                g.BoardStyle, g.WorkLine, c.ItemName, c.ItemModel, c.ItemUnit
            })
            .Select((g, c) => new MesInvItemInCDetails
            {
                Company = g.Company,
                Factory = g.Factory,
                ItemInId = g.ItemInId,
                WorkNo = g.WorkNo,
                ItemNo = g.ItemNo,
                ItemName = c.ItemName,
                ItemModel = c.ItemModel,
                ItemUnit = c.ItemUnit,
                BoardStyle = g.BoardStyle,
                WorkLine = g.WorkLine,
                SumQuantity = SqlFunc.AggregateSum(g.Quantity) // èšåˆè®¡ç®—
            })
            .ToList();
        return result;
    }
    public List<MesInvItemInCDetails> GetInvItemInCDetails(decimal? pid)
    {
        var result = Db.Queryable<MesInvItemInCDetails, MesItems, MesUnit>(
                (g, c, d) => new JoinQueryInfos(
                    JoinType.Left,
                    g.ItemNo == c.ItemNo && g.Company == c.Company &&
                    g.Factory == c.Factory, JoinType.Inner,
                    d.Id == Convert.ToDecimal(c.ItemUnit)
                )
            ).WhereIF(pid > 0, (g, c, d) => g.ItemInId == pid)
            .Select((g, c, d) => new MesInvItemInCDetails
            {
                Id = g.Id,
                ItemName = c.ItemName,
                ItemModel = c.ItemModel,
                ItemUnit = d.Fname,
                DepotSectionCode = g.DepotSectionCode,
                CbillNo = g.CbillNo,
                ItemBarcode = g.ItemBarcode,
                UrgentFlag = g.UrgentFlag,
                ItemNo = g.ItemNo,
                WorkNo = g.WorkNo,
                Quantity = g.Quantity
            })
            .ToList();
        return result;
    }
    public MessageCenter MesToErpParam(WarehouseQuery query)
    {
        var erpParameters = "";
        var title = "";
        var tableName = "MES_INV_ITEM_INS_" + query.Type;
        if ("A".Equals(query.Type))
        {
            erpParameters = GetErpParameters(query.billNo);
            title = "采购入库单" + query.billNo + "审核";
        }
        else if ("B".Equals(query.Type))
        {
            erpParameters = GetDeApprovePam(query.id);
            title = "采购入库单" + query.billNo + "反审核";
        }
        var message = new MessageCenter
        {
            TableName = tableName,
            Url = "http://192.168.11.120:8098/WebService1.asmx/mesToErpinfo",
            Status = 1,
            CreateBy = query.userName,
            Route = query.billNo,
            Title = title,
            PageName = "Warehouse/PurchaseInventory/Add?id=" + query.id +
                       "&billNo=" + query.billNo,
            CreateDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
            Method = "POST",
            Seq = 1,
            Data = erpParameters,
            ContentType = "application/x-www-form-urlencoded"
        };
        return message;
    }
    public MessageCenter SaveMessageCenter(WarehouseQuery query)
    {
        var message = MesToErpParam(query);
        var executeReturnIdentity =
            Db.Insertable(message).ExecuteReturnIdentity();
        if (executeReturnIdentity > 0)
        {
            message.Id = executeReturnIdentity;
            message.Pid = executeReturnIdentity;
            return message;
        }
        throw new Exception("获取数据失败");
    }
    //audit
    public bool audit(WarehouseQuery entity)
    {
        entity.date = DateTime.Now;
        entity.status = 1;
        return Update(entity);
    }
    public bool deApprove(WarehouseQuery entity)
    {
        entity.date = null;
        entity.status = 0;
        return Update(entity);
    }
    private bool Update(WarehouseQuery entity)
    {
        return Db.Updateable<MesInvItemIns>()
            .SetColumns(x => x.Status == entity.status)
            .SetColumns(x => x.InsDate == entity.date)
            .Where(x => x.BillNo == entity.billNo)
            .ExecuteCommand() > 0;
    }
    private string GetErpParameters(string? billNo)
    {
        var invItemIns = Db.Queryable<MesInvItemIns>()
            .Single(x => x.BillNo == billNo);
        if (invItemIns == null) throw new Exception("入库单号不存在");
        if (invItemIns.Status == 1) throw new Exception("入库单已审核,不能重复推送");
        var materials = Db.Queryable<MesInvItemInCDetails, MesItems, MesUnit,
            MesInvItemArnDetail>(
            (g, c, d, a) => new JoinQueryInfos(
                JoinType.Left,
                g.ItemNo == c.ItemNo && g.Company == c.Company &&
                g.Factory == c.Factory, JoinType.Inner,
                d.Id == Convert.ToDecimal(c.ItemUnit),
                JoinType.Inner,
                a.Ebeln == g.WorkNo && a.WorkLine == g.EbelnLineNo
                                    && g.CbillNo == a.CbillNo
            )
        ).Where((g, c, d, a) => g.BillNo == billNo).Select<Material>(
            (g, c, d, a) => new Material
            {
                FstockId = g.DepotCode,
                FuintId = d.Fnumber,
                FsrcEntryId = a.Id,
                FmesEntryId = g.Id,
                FmaterialId = a.ItemNo,
                DepotSectionCode = g.DepotSectionCode,
                WorkNo = g.WorkNo,
                Frealqty = g.Quantity
            }).ToList();
        if (materials == null || materials.Count == 0)
            throw new Exception("没有找到相关数据"); // æŠ›å‡ºå¼‚常以供前台处理
        // æž„造 JSON
        var jsonEntries = materials.Select(d => new
        {
            FMaterialId = d.FmaterialId,
            FUintId = d.FuintId,
            FRealQty = d.Frealqty,
            FStockId = d.FstockId,
            FSRCENTRYID = d.FsrcEntryId.ToString(),
            F_MES_ENTRYID = d.FmesEntryId.ToString()
        }).ToList();
        var fdate = DateTime.Now.ToString("yyyy-MM-dd");
        var jsonString = JsonConvert.SerializeObject(jsonEntries);
        var encodedUrl = "taskname=CGRK&mesid=" + invItemIns.Id +
                         "&optype=create&datajson={\"F_MES_ID\":\"" +
                         invItemIns.Id + "\",\"FDate\":\"" + fdate +
                         "\",\"cgrkentry\":" + jsonString + "}";
        return encodedUrl;
    }
    private string GetDeApprovePam(decimal? id)
    {
        var sid = (int)id;
        var encodedUrl = "taskname=CGRK&mesid=" + sid +
                         "&optype=delete&datajson={}";
        return encodedUrl;
    }
}
MESApplication/Controllers/Base/MessageCenterController.cs
@@ -3,6 +3,7 @@
using MES.Service.service;
using MES.Service.util;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json.Linq;
namespace MESApplication.Controllers.Base;
@@ -10,6 +11,7 @@
[Route("api/[controller]")]
public class MessageCenterController : ControllerBase
{
    private readonly GetErpParametersServer ErpParametersServer = new();
    private readonly MessageCenterManager m = new();
@@ -34,13 +36,60 @@
        }
    }
    [HttpPost("GetByPid")]
    public ResponseResult ResetUpdate(int pid)
    //Resend
    [HttpPost("Resend")]
    public ResponseResult Resend(MessageCenter data)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.GetList(it => it.Pid == pid);
            resultInfos.tbBillList = ErpParametersServer.Resend(data);
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    //saveError
    [HttpPost("SetError")]
    public ResponseResult SetError([FromBody] MessageCenter data)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.SetError(data);
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    [HttpPost("GetByPid")]
    public ResponseResult ResetUpdate([FromBody] JObject data)
    {
        var pid = Convert.ToDecimal(data["pid"].ToString());
        try
        {
            dynamic resultInfos = new ExpandoObject();
            var messageCenter = m.GetById(pid);
            var messageCenters = m.GetList(it => it.Pid == pid);
            messageCenters.Add(messageCenter);
            resultInfos.tbBillList = messageCenters;
            return new ResponseResult
            {
                status = 0,
@@ -60,7 +109,7 @@
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.getPushFailedPage(query);
            resultInfos.tbBillList = m.GetPushFailedPage(query);
            return new ResponseResult
            {
                status = 0,
@@ -106,8 +155,9 @@
    /// </summary>
    /// <returns></returns>
    [HttpPost("GetById")]
    public ResponseResult GetById(int id)
    public ResponseResult GetById([FromBody] JObject data)
    {
        var id = Convert.ToDecimal(data["id"].ToString());
        try
        {
            dynamic resultInfos = new ExpandoObject();
MESApplication/Controllers/BasicData/MesItemsController.cs
@@ -32,6 +32,7 @@
        entity.Data = JsonConvert.SerializeObject(unit);
        entity.Status = 1;
        entity.CreateBy = "PL017";
        try
        {
            dynamic resultInfos = new ExpandoObject();
MESApplication/Controllers/Warehouse/MesInvItemBarcodesController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,163 @@
using System.Dynamic;
using MES.Service.Modes;
using MES.Service.service.Warehouse;
using MES.Service.util;
using Microsoft.AspNetCore.Mvc;
namespace MESApplication.Controllers.Warehouse;
[ApiController]
[Route("api/[controller]")]
public class MesInvItemBarcodesController : ControllerBase
{
    private readonly MesInvItemBarcodesManager 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] MesInvItemBarcodes 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] MesInvItemBarcodes 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] MesInvItemBarcodes 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/Warehouse/MesInvItemInCDetailsController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,288 @@
using System.Dynamic;
using MES.Service.Dto.service;
using MES.Service.Modes;
using MES.Service.service.Warehouse;
using MES.Service.util;
using Microsoft.AspNetCore.Mvc;
namespace MESApplication.Controllers.Warehouse;
[ApiController]
[Route("api/[controller]")]
public class MesInvItemInCDetailsController : ControllerBase
{
    private readonly MesInvItemInCDetailsManager m = new();
    //audit
    [HttpPost("Audit")]
    public ResponseResult Audit(WarehouseQuery entity)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.audit(entity);
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    //deApprove
    [HttpPost("DeApprove")]
    public ResponseResult DeApprove(WarehouseQuery entity)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.deApprove(entity);
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    //getPurchaseInventory
    [HttpPost("GetPurchaseInventory")]
    public ResponseResult GetPurchaseInventory(WarehouseQuery entity)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.getPurchaseInventory(entity);
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    [HttpPost("GetInvItemInsList")]
    public ResponseResult GetInvItemInsList(WarehouseQuery entity)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.GetInvItemInsList(entity);
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    //SaveBarCodes
    [HttpPost("SaveBarCodes")]
    public ResponseResult SaveBarCodes(WarehouseQuery entity)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.SaveBarCodes(entity);
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    //MesToErp
    [HttpPost("SaveMessageCenter")]
    public ResponseResult SaveMessageCenter(WarehouseQuery entity)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.SaveMessageCenter(entity);
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            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] MesInvItemInCDetails 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] MesInvItemInCDetails 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] MesInvItemInCDetails 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/WomcaaController.cs
@@ -40,9 +40,13 @@
            resultInfos.tbBillList = save;
            entity.Result = 0;
            if (save) entity.Result = 1;
            entity.DealWith = 0;
            if (save)
            {
                entity.Result = 1;
                entity.DealWith = 1;
            }
            entity.DealWith = 1;
            _manager.save(entity);
            return new ResponseResult
MESApplication/bin/Debug/net8.0/MES.Service.dll
Binary files differ
MESApplication/bin/Debug/net8.0/MES.Service.pdb
Binary files differ
MESApplication/bin/Debug/net8.0/MESApplication.dll
Binary files differ
MESApplication/bin/Debug/net8.0/MESApplication.exe
Binary files differ
MESApplication/bin/Debug/net8.0/MESApplication.pdb
Binary files differ
MESApplication/bin/Release/net8.0/MES.Service.dll
Binary files differ
MESApplication/bin/Release/net8.0/MES.Service.pdb
Binary files differ
MESApplication/bin/Release/net8.0/MESApplication.dll
Binary files differ
MESApplication/bin/Release/net8.0/MESApplication.exe
Binary files differ
MESApplication/bin/Release/net8.0/MESApplication.pdb
Binary files differ
MESApplication/bin/Release/net8.0/publish/MES.Service.dll
Binary files differ
MESApplication/bin/Release/net8.0/publish/MES.Service.pdb
Binary files differ
MESApplication/bin/Release/net8.0/publish/MESApplication.dll
Binary files differ
MESApplication/bin/Release/net8.0/publish/MESApplication.exe
Binary files differ
MESApplication/bin/Release/net8.0/publish/MESApplication.pdb
Binary files differ