From dab707634882415dea7c690339d41f0979baa786 Mon Sep 17 00:00:00 2001
From: 展杰 <1240968267@qq.com>
Date: 星期三, 21 八月 2024 11:12:11 +0800
Subject: [PATCH] 合并上格8.20

---
 MESApplication/Controllers/Warehouse/OrganizeController.cs |   54 ++++
 MESApplication/Startup.cs                                  |    2 
 MES.Service/Dto/webApi/ErpCAB.cs                           |    6 
 MES.Service/service/Warehouse/OrganizeService.cs           |  261 ++++++++++++++++++++
 MESApplication/Controllers/BasicData/MesItemsController.cs |   24 +
 MES.Service/Modes/MesBarcodeType.cs                        |  214 ++++++++++++++++
 MES.Service/Dto/service/WarehouseQuery.cs                  |    9 
 MES.Service/service/BasicData/MesItemsManager.cs           |    9 
 MES.Service/Modes/MesRfPrnbarcode.cs                       |  155 +++++++++++
 9 files changed, 731 insertions(+), 3 deletions(-)

diff --git a/MES.Service/Dto/service/WarehouseQuery.cs b/MES.Service/Dto/service/WarehouseQuery.cs
index a7422e3..925d2e2 100644
--- a/MES.Service/Dto/service/WarehouseQuery.cs
+++ b/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; }
 }
\ No newline at end of file
diff --git a/MES.Service/Dto/webApi/ErpCAB.cs b/MES.Service/Dto/webApi/ErpCAB.cs
index 220da75..5be7747 100644
--- a/MES.Service/Dto/webApi/ErpCAB.cs
+++ b/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; }
 }
\ No newline at end of file
diff --git a/MES.Service/Modes/MesBarcodeType.cs b/MES.Service/Modes/MesBarcodeType.cs
new file mode 100644
index 0000000..f11c46e
--- /dev/null
+++ b/MES.Service/Modes/MesBarcodeType.cs
@@ -0,0 +1,214 @@
+锘縰sing 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>
+        /// 鏉$爜寮�濮嬩綅缃甔 
+        ///</summary>
+         [SugarColumn(ColumnName="BARCODE_BEGIN_POSITION_X"    )]
+         public decimal? BarcodeBeginPositionX { get; set; }
+        /// <summary>
+        /// 鏉$爜寮�濮嬩綅缃甕 
+        ///</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>
+        /// 鍏徃浠g爜 
+        ///</summary>
+         [SugarColumn(ColumnName="COMPANY"    )]
+         public string Company { get; set; }
+        /// <summary>
+        /// 娴佹按鍙蜂綅鏁� 
+        ///</summary>
+         [SugarColumn(ColumnName="ORDER_NUM"    )]
+         public decimal? OrderNum { get; set; }
+    }
+}
diff --git a/MES.Service/Modes/MesRfPrnbarcode.cs b/MES.Service/Modes/MesRfPrnbarcode.cs
new file mode 100644
index 0000000..ab60c94
--- /dev/null
+++ b/MES.Service/Modes/MesRfPrnbarcode.cs
@@ -0,0 +1,155 @@
+锘縰sing 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; }
+    }
+}
\ No newline at end of file
diff --git a/MES.Service/service/BasicData/MesItemsManager.cs b/MES.Service/service/BasicData/MesItemsManager.cs
index fc630e8..019e483 100644
--- a/MES.Service/service/BasicData/MesItemsManager.cs
+++ b/MES.Service/service/BasicData/MesItemsManager.cs
@@ -1,5 +1,6 @@
 锘縰sing 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);
diff --git a/MES.Service/service/Warehouse/OrganizeService.cs b/MES.Service/service/Warehouse/OrganizeService.cs
new file mode 100644
index 0000000..817525d
--- /dev/null
+++ b/MES.Service/service/Warehouse/OrganizeService.cs
@@ -0,0 +1,261 @@
+锘縰sing 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);
+        }
+    }
+}
\ No newline at end of file
diff --git a/MESApplication/Controllers/BasicData/MesItemsController.cs b/MESApplication/Controllers/BasicData/MesItemsController.cs
index c095307..8792e05 100644
--- a/MESApplication/Controllers/BasicData/MesItemsController.cs
+++ b/MESApplication/Controllers/BasicData/MesItemsController.cs
@@ -1,4 +1,5 @@
 锘縰sing 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)
diff --git a/MESApplication/Controllers/Warehouse/OrganizeController.cs b/MESApplication/Controllers/Warehouse/OrganizeController.cs
new file mode 100644
index 0000000..c768452
--- /dev/null
+++ b/MESApplication/Controllers/Warehouse/OrganizeController.cs
@@ -0,0 +1,54 @@
+锘縰sing 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);
+        }
+    }
+}
\ No newline at end of file
diff --git a/MESApplication/Startup.cs b/MESApplication/Startup.cs
index 0b7bc42..50bfa25 100644
--- a/MESApplication/Startup.cs
+++ b/MESApplication/Startup.cs
@@ -111,7 +111,7 @@
         app.UseEndpoints(endpoints => { endpoints.MapControllers(); });
 
         //////////////////////////
-        
+
         ///////////////////////////
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3