From 19686a600d06d4a29e60a49addadab930034f4fa Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期三, 07 八月 2024 00:17:02 +0800
Subject: [PATCH] Position增加条码生成

---
 Tiger.Business.MES/Transaction/Position.cs |   36 +++++++++++++++++++++++++++++++++++-
 1 files changed, 35 insertions(+), 1 deletions(-)

diff --git a/Tiger.Business.MES/Transaction/Position.cs b/Tiger.Business.MES/Transaction/Position.cs
index 483e3c8..720f86b 100644
--- a/Tiger.Business.MES/Transaction/Position.cs
+++ b/Tiger.Business.MES/Transaction/Position.cs
@@ -387,6 +387,9 @@
                     case BAS_LABEL_VAR.VAR_TYPEs.DateVariable:
                         item.Value = DateTime.Now.ToString(item.VAR_VALUE);
                         break;
+                    case BAS_LABEL_VAR.VAR_TYPEs.BarcodeGenerate:
+                        item.Value = GetGeneratePValue(labelPVs, item);
+                        break;
                     case BAS_LABEL_VAR.VAR_TYPEs.CustomVariable:
                     default:
                         item.Value = "";
@@ -425,7 +428,7 @@
                                     return "";
                             }
                         }
-                    case BAS_LABEL_PV.VAR_TYPEs.WebApiWebApi:
+                    case BAS_LABEL_PV.VAR_TYPEs.WebApi:
                         break;
                     case BAS_LABEL_PV.VAR_TYPEs.StoredProcedure:
                         break;
@@ -435,6 +438,37 @@
             }
             return "";
         }
+
+        /// <summary>
+        /// 鑾峰彇鏍规嵁鏉$爜瑙勫垯鐢熸垚鏍囩妯℃澘鐨勮繃绋嬪彉閲忓��
+        /// </summary>
+        /// <param name="labelPVs"></param>
+        /// <param name="lv"></param>
+        /// <returns></returns>
+        public string GetGeneratePValue(List<BAS_LABEL_PV> labelPVs, BAS_LABEL_VAR lv)
+        {
+            var pv = labelPVs.FirstOrDefault(q => q.VAR_CODE == lv.VAR_VALUE);
+            if (!pv.IsNullOrEmpty())
+            {
+                switch (pv.VAR_TYPE.GetEnum<BAS_LABEL_PV.VAR_TYPEs>())
+                {
+                    case BAS_LABEL_PV.VAR_TYPEs.BarcodeGenerate:
+                        {
+                            switch (pv.VAR_METHOD)
+                            {
+                                case "GetCartonGenerate":
+                                    return Biz.CodeRule[lv.BARCODE_RULE].Generate($"{WorkBatch.Batch.BATCH_NO}-{WorkBatch.Batch.PLAN_QTY}-").Data.ToString();
+                                default:
+                                    return "";
+                            }
+                        }
+                    default:
+                        break;
+                }
+            }
+            return "";
+        }
+
         /// <summary>
         /// 鑾峰彇宸ュ崟缁存姢鐨勬ā鏉垮彉閲�
         /// </summary>

--
Gitblit v1.9.3