展杰
2024-08-21 dab707634882415dea7c690339d41f0979baa786
合并上格8.20
已添加4个文件
已修改5个文件
734 ■■■■■ 文件已修改
MES.Service/Dto/service/WarehouseQuery.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Dto/webApi/ErpCAB.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Modes/MesBarcodeType.cs 214 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Modes/MesRfPrnbarcode.cs 155 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/service/BasicData/MesItemsManager.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/service/Warehouse/OrganizeService.cs 261 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MESApplication/Controllers/BasicData/MesItemsController.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MESApplication/Controllers/Warehouse/OrganizeController.cs 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MESApplication/Startup.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Dto/service/WarehouseQuery.cs
@@ -23,4 +23,13 @@
    public string? Factory { get; set; }
    public string? Company { get; set; }
    public string? ItemNo { get; set; }
    public string? ItemModel { get; set; }
    public string? OrgName { get; set; }
    public string? OrgOwner { get; set; }
    public string? ItemNum { get; set; }
    public string? Printnumn { get; set; }
    public string? ItemName { get; set; }
}
MES.Service/Dto/webApi/ErpCAB.cs
@@ -23,6 +23,8 @@
    public string  FENTRYID { get; set; }
    public string? FID { get; set; }
    public string? FSeq { get; set; }
    public string? SCRAPQTY { get; set; }
    public string? SCRAPRATE { get; set; }
    public string? FFixScrapQty { get; set; }
    public string? FScrapRate { get; set; }
}
MES.Service/Modes/MesBarcodeType.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,214 @@
using System;
using System.Collections.Generic;
using System.Linq;
using SqlSugar;
namespace MES.Service.Modes
{
    /// <summary>
    /// æ¡ç ç±»åž‹è¡¨
    ///</summary>
    [SugarTable("MES_BARCODE_TYPE")]
    public class MesBarcodeType
    {
        /// <summary>
        /// æ¡ç ç±»åž‹ID(seq_me_id)
        ///</summary>
         [SugarColumn(ColumnName="ID" ,IsPrimaryKey = true   )]
         public decimal Id { get; set; }
        /// <summary>
        /// ä½¿ç”¨åœºæ‰€
        ///</summary>
         [SugarColumn(ColumnName="USE_SITE"    )]
         public string UseSite { get; set; }
        /// <summary>
        /// æ¡ç ç±»åž‹åç§°
        ///</summary>
         [SugarColumn(ColumnName="BARCODE_TYPE_NAME"    )]
         public string BarcodeTypeName { get; set; }
        /// <summary>
        /// ç åˆ¶
        ///</summary>
         [SugarColumn(ColumnName="CODE"    )]
         public string Code { get; set; }
        /// <summary>
        /// æ¡ç çº¸å®½
        ///</summary>
         [SugarColumn(ColumnName="PAPER_WIDTH"    )]
         public decimal? PaperWidth { get; set; }
        /// <summary>
        /// æ¡ç çº¸é«˜
        ///</summary>
         [SugarColumn(ColumnName="PAPER_HEIGHT"    )]
         public decimal? PaperHeight { get; set; }
        /// <summary>
        /// æ¡ç å¼€å§‹ä½ç½®X
        ///</summary>
         [SugarColumn(ColumnName="BARCODE_BEGIN_POSITION_X"    )]
         public decimal? BarcodeBeginPositionX { get; set; }
        /// <summary>
        /// æ¡ç å¼€å§‹ä½ç½®Y
        ///</summary>
         [SugarColumn(ColumnName="BARCODE_BEGIN_POSITION_Y"    )]
         public decimal? BarcodeBeginPositionY { get; set; }
        /// <summary>
        /// ä¸€å¼ æ¡ç çº¸ä¸Šæ¡ç ä¸ªæ•°
        ///</summary>
         [SugarColumn(ColumnName="PAPER_NUM"    )]
         public decimal? PaperNum { get; set; }
        /// <summary>
        /// ä¸€å¼ æ¡ç çº¸ä¸Šæ¯è¡Œæ¡ç ä¸ªæ•°
        ///</summary>
         [SugarColumn(ColumnName="PAPER_ROW_NUM"    )]
         public decimal? PaperRowNum { get; set; }
        /// <summary>
        /// ä¸€å¼ æ¡ç çº¸ä¸Šæ¡ç åˆ—æ•°
        ///</summary>
         [SugarColumn(ColumnName="PAPER_COLUMN_NUM"    )]
         public decimal? PaperColumnNum { get; set; }
        /// <summary>
        /// æ¡ç æµæ°´å·å¾ªçŽ¯ç±»åž‹(控制条码流水号)
        ///</summary>
         [SugarColumn(ColumnName="CYCLE_TYPE"    )]
         public string CycleType { get; set; }
        /// <summary>
        /// æ˜¯å¦æœ‰æ•ˆ(0-无效,1-有效)
        ///</summary>
         [SugarColumn(ColumnName="AVAILABLE_FLAG"    )]
         public decimal? AvailableFlag { get; set; }
        /// <summary>
        /// æ¡ç é«˜åº¦
        ///</summary>
         [SugarColumn(ColumnName="BARCODE_HEIGHT"    )]
         public decimal? BarcodeHeight { get; set; }
        /// <summary>
        /// æ¡ç å­—体方向
        ///</summary>
         [SugarColumn(ColumnName="BARCODE_ORIENTATION"    )]
         public string BarcodeOrientation { get; set; }
        /// <summary>
        /// æ¡ç æ‰“印注释行(1-打印,0-不打印)
        ///</summary>
         [SugarColumn(ColumnName="BARCODE_INTERPRETATION"    )]
         public decimal? BarcodeInterpretation { get; set; }
        /// <summary>
        /// æ¡ç æ‰“印注释行打在条码上方(1-打印在条码上方,0-不打印在条码上方)
        ///</summary>
         [SugarColumn(ColumnName="BARCODE_INTERPRETATION_ABOVE"    )]
         public decimal? BarcodeInterpretationAbove { 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="BARCODE_WIDTH"    )]
         public decimal? BarcodeWidth { get; set; }
        /// <summary>
        /// [改变条码默认参数]模块(窄条)宽
        ///</summary>
         [SugarColumn(ColumnName="BY_W"    )]
         public decimal? ByW { get; set; }
        /// <summary>
        /// [改变条码默认参数]宽条与窄条的比例
        ///</summary>
         [SugarColumn(ColumnName="BY_R"    )]
         public decimal? ByR { get; set; }
        /// <summary>
        /// [改变条码默认参数]条码高度
        ///</summary>
         [SugarColumn(ColumnName="BY_H"    )]
         public decimal? ByH { get; set; }
        /// <summary>
        /// ç‚¹æ•°/毫米
        ///</summary>
         [SugarColumn(ColumnName="JM"    )]
         public string Jm { get; set; }
        /// <summary>
        /// è™šæ‹Ÿæ•°æ®æ ‡å¿—(1-是,0-否)
        ///</summary>
         [SugarColumn(ColumnName="JVM_DATA_FLAG"    )]
         public decimal? JvmDataFlag { get; set; }
        /// <summary>
        /// è™šæ‹Ÿæ•°æ®æµæ°´å·ä½æ•°
        ///</summary>
         [SugarColumn(ColumnName="JVM_SERIAL_DIGIT"    )]
         public decimal? JvmSerialDigit { get; set; }
        /// <summary>
        /// è™šæ‹Ÿæ•°æ®æ¡ç é•¿åº¦
        ///</summary>
         [SugarColumn(ColumnName="JVM_BARCODE_LENGTH"    )]
         public decimal? JvmBarcodeLength { get; set; }
        /// <summary>
        /// æ‰“印命令
        ///</summary>
         [SugarColumn(ColumnName="PRINT_COMMAND"    )]
         public string PrintCommand { get; set; }
        /// <summary>
        /// æ‰“印命令开始
        ///</summary>
         [SugarColumn(ColumnName="PRINT_COMMAND_BEGIN"    )]
         public string PrintCommandBegin { get; set; }
        /// <summary>
        /// æ‰“印命令结束
        ///</summary>
         [SugarColumn(ColumnName="PRINT_COMMAND_END"    )]
         public string PrintCommandEnd { get; set; }
        /// <summary>
        /// æ¡ç æ³¨é‡Šè¡Œæ•°
        ///</summary>
         [SugarColumn(ColumnName="BARCODE_INTERPRETATION_ROW"    )]
         public decimal? BarcodeInterpretationRow { get; set; }
        /// <summary>
        /// æ¡ç å€¼å¸¦ç‰©æ–™ç¼–码
        ///</summary>
         [SugarColumn(ColumnName="BARCODE_ITEM"    )]
         public decimal? BarcodeItem { get; set; }
        /// <summary>
        /// æ¡ç ç±»åž‹ç¼–码
        ///</summary>
         [SugarColumn(ColumnName="TYPE_CODE"    )]
         public decimal TypeCode { get; set; }
        /// <summary>
        /// æ˜¯å¦ä½¿ç”¨
        ///</summary>
         [SugarColumn(ColumnName="ISUSED"    )]
         public short? Isused { get; set; }
        /// <summary>
        /// æ‰“印模板
        ///</summary>
         [SugarColumn(ColumnName="MBTYPE"    )]
         public decimal? Mbtype { 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="ORDER_NUM"    )]
         public decimal? OrderNum { get; set; }
    }
}
MES.Service/Modes/MesRfPrnbarcode.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,155 @@
using SqlSugar;
namespace MES.Service.Modes
{
    /// <summary>
    /// æ‰‹æŒæ¡ç æ‰“印暂存表
    ///</summary>
    [SugarTable("MES_RF_PRNBARCODE")]
    public class MesRfPrnbarcode
    {
        /// <summary>
        /// ID
        ///</summary>
        [SugarColumn(ColumnName = "ID")]
        public decimal? Id { get; set; }
        /// <summary>
        /// æ‰“印顺序
        ///</summary>
        [SugarColumn(ColumnName = "FORDER")]
        public string? Forder { get; set; }
        /// <summary>
        /// æ‰“印份数
        ///</summary>
        [SugarColumn(ColumnName = "FNO")]
        public string? Fno { get; set; }
        /// <summary>
        /// å­—段1
        ///</summary>
        [SugarColumn(ColumnName = "STRP1")]
        public string? Strp1 { get; set; }
        /// <summary>
        /// å­—段2
        ///</summary>
        [SugarColumn(ColumnName = "STRP2")]
        public string? Strp2 { get; set; }
        /// <summary>
        /// å­—段3
        ///</summary>
        [SugarColumn(ColumnName = "STRP3")]
        public string? Strp3 { get; set; }
        /// <summary>
        /// å­—段4
        ///</summary>
        [SugarColumn(ColumnName = "STRP4")]
        public string? Strp4 { get; set; }
        /// <summary>
        /// å­—段5
        ///</summary>
        [SugarColumn(ColumnName = "STRP5")]
        public string? Strp5 { get; set; }
        /// <summary>
        /// å­—段6
        ///</summary>
        [SugarColumn(ColumnName = "STRP6")]
        public string? Strp6 { get; set; }
        /// <summary>
        /// å­—段7
        ///</summary>
        [SugarColumn(ColumnName = "STRP7")]
        public string? Strp7 { get; set; }
        /// <summary>
        /// å­—段8
        ///</summary>
        [SugarColumn(ColumnName = "STRP8")]
        public string? Strp8 { get; set; }
        /// <summary>
        /// å­—段9
        ///</summary>
        [SugarColumn(ColumnName = "STRP9")]
        public string? Strp9 { get; set; }
        /// <summary>
        /// å­—段10
        ///</summary>
        [SugarColumn(ColumnName = "STRP10")]
        public string? Strp10 { get; set; }
        /// <summary>
        /// å­—段11
        ///</summary>
        [SugarColumn(ColumnName = "STRP11")]
        public string? Strp11 { get; set; }
        /// <summary>
        /// å­—段12
        ///</summary>
        [SugarColumn(ColumnName = "STRP12")]
        public string? Strp12 { get; set; }
        /// <summary>
        /// å­—段13
        ///</summary>
        [SugarColumn(ColumnName = "STRP13")]
        public string? Strp13 { get; set; }
        /// <summary>
        /// å­—段14
        ///</summary>
        [SugarColumn(ColumnName = "STRP14")]
        public string? Strp14 { get; set; }
        /// <summary>
        /// å­—段15
        ///</summary>
        [SugarColumn(ColumnName = "STRP15")]
        public string? Strp15 { get; set; }
        /// <summary>
        /// å­—段16
        ///</summary>
        [SugarColumn(ColumnName = "STRP16")]
        public string? Strp16 { get; set; }
        /// <summary>
        /// å­—段17
        ///</summary>
        [SugarColumn(ColumnName = "STRP17")]
        public string? Strp17 { get; set; }
        /// <summary>
        /// å­—段18
        ///</summary>
        [SugarColumn(ColumnName = "STRP18")]
        public string? Strp18 { get; set; }
        /// <summary>
        /// å­—段19
        ///</summary>
        [SugarColumn(ColumnName = "STRP19")]
        public string? Strp19 { get; set; }
        /// <summary>
        /// å­—段20
        ///</summary>
        [SugarColumn(ColumnName = "STRP20")]
        public string? Strp20 { get; set; }
        /// <summary>
        /// ç”Ÿæˆæ—¶é—´
        ///</summary>
        [SugarColumn(ColumnName = "CREATE_DATE")]
        public DateTime? CreateDate { get; set; }
    }
}
MES.Service/service/BasicData/MesItemsManager.cs
@@ -1,5 +1,6 @@
using Castle.Core.Resource;
using MES.Service.DB;
using MES.Service.Dto.service;
using MES.Service.Dto.webApi;
using MES.Service.Modes;
using SqlSugar;
@@ -8,6 +9,14 @@
public class MesItemsManager : Repository<MesItems>
{
    public MesItems GetItemQcPrint(WarehouseQuery query)
    {
        return Db.Queryable<MesItems>()
            .Where(c => c.Factory == query.Factory
                        && c.Company == query.Company
                        && c.ItemNo == query.ItemNo).First();
    }
    public bool Save(ErpItems item)
    {
        var entity = GetMesItems(item);
MES.Service/service/Warehouse/OrganizeService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,261 @@
using System.Data;
using MES.Service.DB;
using MES.Service.Dto.service;
using MES.Service.Modes;
using SqlSugar;
using DbType = System.Data.DbType;
namespace MES.Service.service.Warehouse;
public class OrganizeService : RepositoryNoEntity
{
    public List<Organize> GetOrganizes()
    {
        return Db.Queryable<Organize>()
            .GroupBy(s => new
            {
                s.Fname, s.Fnumber
            }).Select<Organize>(s => new Organize
            {
                Fname = s.Fname,
                Fnumber = s.Fnumber,
                Id = SqlFunc.AggregateMax(s.Id)
            }).ToList();
    }
    public List<MesRfPrnbarcode> GetBarcodeQcok(WarehouseQuery query)
    {
        var printCommandResult = Db.Queryable<MesBarcodeType>()
            .Where(t => t.TypeCode == 108)
            .First();
        if (printCommandResult == null)
        {
            throw new Exception("模版ID为空,请设置打印格式!");
        }
        var cPrintCommand = printCommandResult.Mbtype;
        var cBid = printCommandResult.Id;
        var cMesItems = Db.Queryable<MesItems>()
            .Where(s =>
                s.ItemNo == query.ItemNo && s.Factory == "1000" &&
                s.Company == "1000")
            .First();
        if (cMesItems == null)
        {
            throw new Exception("物料信息不存在该物料编码,请维护!");
        }
        if (string.IsNullOrEmpty(query.ItemNo))
        {
            throw new Exception("请录入物料编码");
        }
        if (string.IsNullOrEmpty(query.ItemModel))
        {
            throw new Exception("请输入完物料编码后,点击确认生成规格!");
        }
        if (string.IsNullOrEmpty(query.OrgName))
        {
            throw new Exception("请录入组织");
        }
        if (string.IsNullOrEmpty(query.OrgOwner))
        {
            throw new Exception("请录入货主");
        }
        if (string.IsNullOrEmpty(query.ItemNum))
        {
            throw new Exception("请录入物料数量");
        }
        if (string.IsNullOrEmpty(query.Printnumn))
        {
            throw new Exception("请录入条码数量");
        }
        var cId =
            Db.Ado.GetInt(
                "SELECT F_GETSEQNEXTVALUE('MES_RF_PRNBARCODE') FROM DUAL");
        string itemBarcode = null;
        try
        {
            Db.Ado.BeginTran();
            //删除10天前的资料,防止表过大
            Db.Deleteable<MesRfPrnbarcode>()
                .Where(it => it.CreateDate < DateTime.Now.AddDays(-10))
                .ExecuteCommand();
            for (int i = 1; i <= int.Parse(query.Printnumn); i++)
            {
                var cIndate = DateTime.Now.ToString("yyyyMMdd");
                string serial = null;
                string poBarcodeComand = null;
                string cBarcode2 = null;
                if (Db.Ado.GetInt(
                        "SELECT GETSYSLOOKUPVALUE('1000', '1000', 'ItemBarcodeType') FROM DUAL") ==
                    0)
                {
                    var barcodeResult = SpGetBarcode2("1000", "1000", cBid,
                        query.ItemNo + cIndate, query.ItemNo + cIndate, 0);
                    serial = barcodeResult.Value;
                    poBarcodeComand = barcodeResult.Msg;
                    if (!string.IsNullOrEmpty(poBarcodeComand))
                    {
                        return null;
                    }
                    cBarcode2 = "9" + serial.Substring(1);
                    itemBarcode = query.ItemNo + cIndate + cBarcode2;
                }
                else
                {
                    itemBarcode = Db.Queryable<MesInvItemBarcodes>()
                        .Where(s =>
                            s.LotNo == cIndate && s.ItemNo == query.ItemNo &&
                            s.TrLotno == cIndate &&
                            s.Mblnr == null && s.Memo == "初始库存" &&
                            s.Factory == "1000" && s.Company == "1000")
                        .Select(s => s.ItemBarcode)
                        .First();
                    if (string.IsNullOrEmpty(itemBarcode))
                    {
                        var barcodeResult = SpGetBarcode2("1000", "1000", cBid,
                            query.ItemNo + cIndate, query.ItemNo + cIndate, 0);
                        serial = barcodeResult.Value;
                        poBarcodeComand = barcodeResult.Msg;
                        if (!string.IsNullOrEmpty(poBarcodeComand))
                        {
                            return null;
                        }
                        cBarcode2 = "9" + serial.Substring(1);
                        itemBarcode = query.ItemNo + cIndate +
                                      cBarcode2;
                    }
                }
                var poBarcode = itemBarcode;
                // Check if barcode exists
                var cCount = Db.Queryable<MesInvItemBarcodes>()
                    .Where(s =>
                        s.ItemBarcode == itemBarcode && s.Factory == "1000" &&
                        s.Company == "1000")
                    .Count();
                if (cCount == 0)
                {
                    // Insert new barcode
                    Db.Insertable(new MesInvItemBarcodes
                    {
                        ItemBarcode = poBarcode,
                        ItemNo = query.ItemNo,
                        Quantity = int.Parse(query.ItemNum),
                        CreateBy = query.userName,
                        CreateDate = DateTime.Now,
                        LastupdateBy = query.userName,
                        LastupdateDate = DateTime.Now,
                        ItemSname = cMesItems.ItemName,
                        Factory = "1000",
                        Company = "1000",
                        LotDate = DateTime.Now.ToString("yyyy-MM-dd"),
                        Memo = "初始库存",
                        OrgName = query.OrgName,
                        OrgOwner = query.OrgOwner
                    }).ExecuteCommand();
                }
                // Insert record into MES_RF_PRNBARCODE
                Db.Insertable(new MesRfPrnbarcode
                {
                    Id = cId,
                    Forder = "1",
                    Fno = "1",
                    CreateDate = DateTime.Now,
                    Strp1 = poBarcode,
                    Strp3 = query.ItemNo,
                    Strp4 = query.ItemName ?? " ",
                    Strp5 = query.ItemNum + " " + cMesItems.ItemUnit,
                    Strp6 = DateTime.ParseExact(cIndate, "yyyyMMdd", null)
                        .ToString("yyyy-MM-dd"),
                    Strp7 = query.ItemModel ?? " ",
                    Strp8 = poBarcode,
                    Strp9 = query.ItemModel ?? " ",
                    Strp10 = poBarcode,
                    Strp11 = poBarcode,
                    Strp12 = query.ItemName ?? " ",
                    Strp15 = query.OrgName ?? " ",
                    Strp16 = query.OrgOwner ?? " ",
                }).ExecuteCommand();
            }
            Db.Ado.CommitTran();
        }
        catch (Exception ex)
        {
            Db.Ado.RollbackTran();
            throw new Exception("报错" + ex.Message);
        }
        return Db.Queryable<MesRfPrnbarcode>()
            .Where(s => s.Id == cId).ToList();
    }
    private dynamic SpGetBarcode2(string p0, string p1, decimal cBid,
        string cItemNo, string cIndate, int p5)
    {
        try
        {
            // å®šä¹‰è¾“出参数
            var outputResult = new SugarParameter("PO_VALUE", null,
                DbType.Int32, ParameterDirection.Output,
                4000);
            var outputMessage = new SugarParameter("PO_MSG", null,
                DbType.String,
                ParameterDirection.Output, 4000);
            // å®šä¹‰è¾“入参数
            var parameters = new List<SugarParameter>
            {
                new("PI_FACTORY", p0,
                    DbType.String, ParameterDirection.Input),
                new("PI_COMPANY", p1, DbType.String,
                    ParameterDirection.Input),
                new("P_BARCODE_TYPE_ID", cBid, DbType.String,
                    ParameterDirection.Input),
                new("P_TASK_NO", cItemNo, DbType.String,
                    ParameterDirection.Input),
                new("P_TASK_ITEM", cIndate, DbType.String,
                    ParameterDirection.Input),
                new("P_IF_COMMIT", p5, DbType.String,
                    ParameterDirection.Input),
                outputResult,
                outputMessage
            };
            // ä½¿ç”¨ SqlSugar æ‰§è¡Œå­˜å‚¨è¿‡ç¨‹
            Db.Ado.ExecuteCommand(
                "BEGIN SP_GET_BARCODE2(:PI_FACTORY, :PI_COMPANY, :P_BARCODE_TYPE_ID, :P_TASK_NO, :P_TASK_ITEM, :P_IF_COMMIT, :PO_VALUE, :PO_MSG); END;",
                parameters.ToArray());
            // èŽ·å–è¾“å‡ºå‚æ•°çš„å€¼
            var resultValue = outputResult.Value?.ToString();
            var messageValue = outputMessage.Value?.ToString();
            dynamic m = new System.Dynamic.ExpandoObject();
            m.Value = resultValue;
            m.Msg = messageValue;
            return m;
        }
        catch (Exception ex)
        {
            throw new Exception(ex.Message);
        }
    }
}
MESApplication/Controllers/BasicData/MesItemsController.cs
@@ -1,4 +1,5 @@
using System.Dynamic;
using MES.Service.Dto.service;
using MES.Service.Dto.webApi;
using MES.Service.Modes;
using MES.Service.service;
@@ -21,6 +22,29 @@
    private readonly string TableName = "MES_ITEMS";
    private readonly string URL = "http://localhost:10054/api/MesItems/";
    //GetItemQcPrint
    [HttpPost("GetItemQcPrint")]
    public ResponseResult GetItemQcPrint(WarehouseQuery query)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            var save = m.GetItemQcPrint(query);
            resultInfos.tbBillList = save;
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    [HttpPost("Save")]
    public ResponseResult Save(ErpItems unit)
MESApplication/Controllers/Warehouse/OrganizeController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,54 @@
using System.Dynamic;
using MES.Service.Dto.service;
using MES.Service.service.Warehouse;
using MES.Service.util;
using Microsoft.AspNetCore.Mvc;
namespace MESApplication.Controllers.Warehouse;
[ApiController]
[Route("api/[controller]")]
public class OrganizeController : ControllerBase
{
    private readonly OrganizeService m = new();
    [HttpPost("GetOrganizes")]
    public ResponseResult GetOrganizes()
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.GetOrganizes();
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    [HttpPost("GetBarcodeQcok")]
    public ResponseResult GetBarcodeQcok(WarehouseQuery query)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.GetBarcodeQcok(query);
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
}
MESApplication/Startup.cs
@@ -111,7 +111,7 @@
        app.UseEndpoints(endpoints => { endpoints.MapControllers(); });
        //////////////////////////
        ///////////////////////////
    }
}