From 851efff6c0e8284021eb5bab14707cec3e439d2f Mon Sep 17 00:00:00 2001
From: yangle <admin@YINMOU>
Date: 星期三, 22 六月 2022 14:54:00 +0800
Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API

---
 Pub_Class/CustomerCls/ClsXt_SystemParameter.cs     |   24 ++++++++
 Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs |   16 +++-
 Pub_Class/CustomerCls/ClsPub.cs                    |  135 ++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 168 insertions(+), 7 deletions(-)

diff --git a/Pub_Class/CustomerCls/ClsPub.cs b/Pub_Class/CustomerCls/ClsPub.cs
index f87582c..615388e 100644
--- a/Pub_Class/CustomerCls/ClsPub.cs
+++ b/Pub_Class/CustomerCls/ClsPub.cs
@@ -418,7 +418,7 @@
                             }
                             return sBillNo;
 
-                        case 1://鏍规嵁 YY骞�+MM鏈� + 娴佹按鍙�  鐢熸垚鍗曟嵁鍙�
+                        case 1://鏍规嵁 YY骞�+MM鏈� 鏃� + 娴佹按鍙�  鐢熸垚鍗曟嵁鍙� 锛堟棩 閲囩敤浜� 浠撳簱鐨勫瓧娈碉級
                             sKjYear = sKjYear.Substring(2, 2);
                             sPeriod = "0" + sPeriod;
                             sPeriod = sPeriod.Substring(sPeriod.Length - 2, 2);
@@ -440,7 +440,6 @@
                                 oCn.RunProc("update Gy_Maxnum set NowNumBer=NowNumBer+1 where BillCode='" + BillCode.Trim() + "' and KjYear='" + sKjYear + "' and Period='" + sPeriod + "' and whcode='" + sDay + "'");
                             }
                             return sBillNo;
-
                         case 2:      //鏍规嵁骞�+鏈�+鏃�  鐢熸垚鍗曟嵁鍙�
                             Ds = oCn.RunProcReturn("Select * from Gy_MaxNum where BillCode='" + BillCode.Trim() + "' and KjYear='" + sKjYear + "' and Period='" + sPeriod + "' and whcode='" + sDay + "'", "Gy_MaxNum");
                             if (Ds.Tables[0].Rows.Count != 0)
@@ -476,6 +475,138 @@
             oCn = null;
         }
 
+        //寰楀埌鏈�澶у崟鎹彿
+        public static string CreateBillCode(string BillCode,string HOrgNumber,Int64 HOrgID,string HWhNumber, ref string sReturn, bool Add)
+        {
+            Int64 BillCodeMode;
+            string Profix;
+            Int64 Glida;
+            Int32 CodeLen;
+            string sBillNo = "";
+            char c = Convert.ToChar("0");
+            string sKjYear = DateTime.Today.Year.ToString();
+            string sPeriod = DateTime.Today.Month.ToString();
+            string sDay = DateTime.Today.Day.ToString();
+            //寰楀埌鍗曟嵁鍙疯〃 淇℃伅
+            ClsSqlHelper oCn = new ClsSqlHelper();
+            DataSet Ds = new DataSet();
+            Ds = oCn.RunProcReturn("Select * from Gy_BillNumber where BillCode='" + BillCode.Trim() + "'", "Gy_BillNumber");
+            if (Ds.Tables[0].Rows.Count != 0)
+            {
+                BillCodeMode = ClsPub.isLong(Ds.Tables[0].Rows[0]["BillCodeMode"].ToString());
+                Profix = ClsPub.isStrNull(Ds.Tables[0].Rows[0]["Profix"].ToString());
+                Glida = ClsPub.isLong(Ds.Tables[0].Rows[0]["Glida"].ToString());
+                CodeLen = ClsPub.isInt(Ds.Tables[0].Rows[0]["CodeLen"].ToString());
+            }
+            else
+            {
+                return "";
+            }
+            //
+            string sStr;
+            switch (BillCodeMode)
+            {
+                case 0:
+                    switch (Glida)
+                    {
+                        case 0://绾祦姘村彿
+                            Ds = oCn.RunProcReturn("Select * from Gy_MaxNum where BillCode='" + BillCode.Trim() + "'", "Gy_MaxNum");
+                            if (Ds.Tables[0].Rows.Count != 0)
+                            {
+                                sStr = new string(c, CodeLen - (Ds.Tables[0].Rows[0]["NowNumBer"].ToString()).Length);
+                                sBillNo = Profix.Trim() + sStr + Ds.Tables[0].Rows[0]["NowNumBer"].ToString().Trim();
+                            }
+                            else //鎻掑叆鏂拌褰�
+                            {
+                                sStr = new string(c, CodeLen - 1);
+                                oCn.RunProc("insert into Gy_MaxNum(BillCode,NowNumber) values('" + BillCode.Trim() + "',1)");
+                                sBillNo = Profix.Trim() + sStr + 1;
+                            }
+                            if (Add == true)
+                            {
+                                oCn.RunProc("update Gy_Maxnum set NowNumBer=NowNumBer+1 where BillCode='" + BillCode.Trim() + "'");
+                            }
+                            return sBillNo;
+
+                        case 1://鏍规嵁 YY骞�+MM鏈� 鏃� + 娴佹按鍙�  鐢熸垚鍗曟嵁鍙� 锛堟棩 閲囩敤浜� 浠撳簱鐨勫瓧娈碉級
+                            sKjYear = sKjYear.Substring(2, 2);
+                            sPeriod = "0" + sPeriod;
+                            sPeriod = sPeriod.Substring(sPeriod.Length - 2, 2);
+                            sDay = "";
+                            Ds = oCn.RunProcReturn("Select * from Gy_MaxNum where BillCode='" + BillCode.Trim() + "' and KjYear='" + sKjYear + "' and Period='" + sPeriod + "' and whcode='" + sDay + "'", "Gy_MaxNum");
+                            if (Ds.Tables[0].Rows.Count != 0)
+                            {
+                                sStr = new string(c, CodeLen - (Ds.Tables[0].Rows[0]["NowNumBer"].ToString()).Length);
+                                sBillNo = Profix.Trim() + sKjYear + sPeriod + sDay + sStr + Ds.Tables[0].Rows[0]["NowNumBer"].ToString().Trim();
+                            }
+                            else //鎻掑叆鏂拌褰�
+                            {
+                                sStr = new string(c, CodeLen - 1);
+                                oCn.RunProc("insert into Gy_Maxnum(BillCode,Kjyear,Period,whcode,NowNumber)  values('" + BillCode.Trim() + "','" + sKjYear + "','" + sPeriod + "','" + sDay + "',1)");
+                                sBillNo = Profix.Trim() + sKjYear + sPeriod + sDay + sStr + "1";
+                            }
+                            if (Add == true)
+                            {
+                                oCn.RunProc("update Gy_Maxnum set NowNumBer=NowNumBer+1 where BillCode='" + BillCode.Trim() + "' and KjYear='" + sKjYear + "' and Period='" + sPeriod + "' and whcode='" + sDay + "'");
+                            }
+                            return sBillNo;
+                        case 2:      //鏍规嵁骞�+鏈�+鏃�  鐢熸垚鍗曟嵁鍙� (杩欏姛鑳� 濂藉儚鏄綔搴熶簡锛�
+                            Ds = oCn.RunProcReturn("Select * from Gy_MaxNum where BillCode='" + BillCode.Trim() + "' and KjYear='" + sKjYear + "' and Period='" + sPeriod + "' and whcode='" + sDay + "'", "Gy_MaxNum");
+                            if (Ds.Tables[0].Rows.Count != 0)
+                            {
+                                sStr = new string(c, CodeLen - (Ds.Tables[0].Rows[0]["NowNumBer"].ToString()).Length);
+                                sBillNo = Profix.Trim() + sKjYear + ClsPub.isStrNull(("0" + sPeriod)).Substring(ClsPub.isStrNull(("0" + sPeriod)).Length - 2, 2) + ClsPub.isStrNull(("0" + sDay)).Substring(ClsPub.isStrNull(("0" + sDay)).Length - 2, 2) + sStr + Ds.Tables[0].Rows[0]["NowNumBer"].ToString().Trim();
+                            }
+                            else //鎻掑叆鏂拌褰�
+                            {
+                                sStr = new string(c, CodeLen - 1);
+                                oCn.RunProc("insert into Gy_Maxnum(BillCode,Kjyear,Period,whcode,NowNumber)  values('" + BillCode.Trim() + "','" + sKjYear + "','" + sPeriod + "','" + sDay + "',1)");
+                                sBillNo = Profix.Trim() + sKjYear + ClsPub.isStrNull(("0" + sPeriod)).Substring(ClsPub.isStrNull(("0" + sPeriod)).Length - 2, 2) + ClsPub.isStrNull(("0" + sDay)).Substring(ClsPub.isStrNull(("0" + sDay)).Length - 2, 2) + sStr + 1;
+                            }
+                            if (Add == true)
+                            {
+                                oCn.RunProc("update Gy_Maxnum set NowNumBer=NowNumBer+1 where BillCode='" + BillCode.Trim() + "' and KjYear='" + sKjYear + "' and Period='" + sPeriod + "' and whcode='" + sDay + "'");
+                            }
+                            return sBillNo;
+                        case 3://鏍规嵁 鍓嶇紑+缁勭粐+ YY骞�+MM鏈�   + 娴佹按鍙�  鐢熸垚鍗曟嵁鍙�  锛堢粍缁� 閲囩敤浜� 浠撳簱鐨勫瓧娈碉級
+                            sKjYear = sKjYear.Substring(2, 2);
+                            sPeriod = "0" + sPeriod;
+                            sPeriod = sPeriod.Substring(sPeriod.Length - 2, 2);
+                            
+                            Ds = oCn.RunProcReturn("Select * from Gy_MaxNum where BillCode='" + BillCode.Trim() + "' and KjYear='" + sKjYear + "' and Period='" + sPeriod + "' and whcode='" + HOrgNumber + "'", "Gy_MaxNum");
+                            if (Ds.Tables[0].Rows.Count != 0)
+                            {
+                                sStr = new string(c, CodeLen - (Ds.Tables[0].Rows[0]["NowNumBer"].ToString()).Length);
+                                sBillNo = Profix.Trim() + HOrgNumber + sKjYear + sPeriod  + sStr + Ds.Tables[0].Rows[0]["NowNumBer"].ToString().Trim();
+                            }
+                            else //鎻掑叆鏂拌褰�
+                            {
+                                sStr = new string(c, CodeLen - 1);
+                                oCn.RunProc("insert into Gy_Maxnum(BillCode,Kjyear,Period,whcode,NowNumber)  values('" + BillCode.Trim() + "','" + sKjYear + "','" + sPeriod + "','" + HOrgNumber + "',1)");
+                                sBillNo = Profix.Trim() + sKjYear + sPeriod + sDay + sStr + "1";
+                            }
+                            if (Add == true)
+                            {
+                                oCn.RunProc("update Gy_Maxnum set NowNumBer=NowNumBer+1 where BillCode='" + BillCode.Trim() + "' and KjYear='" + sKjYear + "' and Period='" + sPeriod + "' and whcode='" + HOrgNumber + "'");
+                            }
+                            return sBillNo;
+                        default:
+                            return sBillNo;
+
+                    }
+
+                case 1:
+                    return sBillNo;
+
+                default:
+                    return sBillNo;
+
+            }
+            oCn.CnClose();
+            oCn.CnDispose();
+            oCn = null;
+        }
+
 
         //寰楀埌鏈�澶у崟鎹彿2
         public static string CreateBillCode(string BillCode, ref string sReturn, bool Add,ClsSqlHelper oCn)
diff --git a/Pub_Class/CustomerCls/ClsXt_SystemParameter.cs b/Pub_Class/CustomerCls/ClsXt_SystemParameter.cs
index 0c4eba6..c385dfd 100644
--- a/Pub_Class/CustomerCls/ClsXt_SystemParameter.cs
+++ b/Pub_Class/CustomerCls/ClsXt_SystemParameter.cs
@@ -152,6 +152,10 @@
                     {
                         omodel.Kf_MateOutBill_BillTypeOneScan = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateOutBill_FIFOList")  //先进先出下架清单
+                    {
+                        omodel.Kf_MateOutBill_FIFOList = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateOutBill_FIFOCtl")  //先进先出控制
                     {
                         omodel.Kf_MateOutBill_FIFOCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
@@ -302,6 +306,10 @@
                     {
                         omodel.Kf_EntrustOutBill_BillTypeOneScan = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustOutBill_FIFOList")  //先进先出下架清单
+                    {
+                        omodel.Kf_EntrustOutBill_FIFOList = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustOutBill_FIFOCtl")
                     {
                         omodel.Kf_EntrustOutBill_FIFOCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
@@ -355,6 +363,10 @@
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_SellOutBill_BillTypeOneScan")
                     {
                         omodel.Kf_SellOutBill_BillTypeOneScan = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_SellOutBill_FIFOList") //先进先出下架清单
+                    {
+                        omodel.Kf_SellOutBill_FIFOList = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_SellOutBill_FIFOCtl")
                     {
@@ -452,6 +464,14 @@
                     {
                         omodel.Kf_MoveStockBill_BillTypeOneScan = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockBill_FIFOList")    //先进先出下架清单
+                    {
+                        omodel.Kf_MoveStockBill_FIFOList = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockBill_FIFOCtl")
+                    {
+                        omodel.Kf_MoveStockBill_FIFOCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockBillCheck_MustQtyCtl")
                     {
                         omodel.Kf_MoveStockBillCheck_MustQtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
@@ -532,6 +552,10 @@
                     {
                         omodel.Kf_MoveStockStepOutBill_BillTypeOneScan = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockStepOutBill_FIFOList")    //先进先出下架清单
+                    {
+                        omodel.Kf_MoveStockStepOutBill_FIFOList = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockStepOutBill_FIFOCtl")
                     {
                         omodel.Kf_MoveStockStepOutBill_FIFOCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
diff --git a/Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs b/Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs
index c7f65d7..67c6362 100644
--- a/Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs
+++ b/Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs
@@ -23,7 +23,8 @@
         public string Kf_MateOutBill_AutoCheck;
         public string Kf_MateOutBill_ERPMode;
         public string Kf_MateOutBill_MustQtyCtl;
-        public string Kf_MateOutBill_FIFOCtl;
+        public string Kf_MateOutBill_FIFOList;      //先进先出下架清单
+        public string Kf_MateOutBill_FIFOCtl;       //先进先出控制
         public string Kf_MateOutBill_AutoBarCode;   //免扫码模式, 不需要扫码物料条码自动写入临时表(只支持品种码)
         public string Kf_MateOutBill_MulSourceBill;   //多源单模式
         public string Kf_MateOutBill_SimpleMode;   //简洁模式(不显示源单列表,只显示扫码记录,但后台仍控制)
@@ -65,7 +66,8 @@
         public string Kf_EntrustOutBill_AutoCheck;
         public string Kf_EntrustOutBill_ERPMode;
         public string Kf_EntrustOutBill_MustQtyCtl;
-        public string Kf_EntrustOutBill_FIFOCtl;
+        public string Kf_EntrustOutBill_FIFOList;       //先进先出下架清单
+        public string Kf_EntrustOutBill_FIFOCtl;        //先进先出控制
         public string Kf_EntrustOutBill_MulSourceBill; //多源单模式
         public string Kf_EntrustOutBill_SimpleMode;   //简洁模式(不显示源单列表,只显示扫码记录,但后台仍控制)
         public string Kf_EntrustOutBill_BillTypeOneScan;//本单据类型内只允许一次扫码(唯一码,含缓存列表)
@@ -80,7 +82,8 @@
         public string Kf_SellOutBill_AutoCheck;
         public string Kf_SellOutBill_ERPMode;
         public string Kf_SellOutBill_MustQtyCtl;
-        public string Kf_SellOutBill_FIFOCtl;
+        public string Kf_SellOutBill_FIFOList;        //先进先出下架清单
+        public string Kf_SellOutBill_FIFOCtl;         //先进先出控制
         public string Kf_SellOutBill_MulSourceBill; //多源单模式
         public string Kf_SellOutBill_AutoSavePOStockInBill;     //同步生成采购入库单
         public string Kf_SellOutBill_NoRefresh;     //PDA不自动刷新
@@ -106,10 +109,12 @@
         public string Kf_OtherOutBill_BarCodeMustSameSourceBill;   // 条码必须同源单一致
         public string Kf_OtherOutBill_BillTypeOneScan;//本单据类型内只允许一次扫码(唯一码,含缓存列表)
         public string Kf_OtherOutBillCheck_MustQtyCtl;   //校验数量控制
-        //调拨
+        //直接调拨
         public string Kf_MoveStockBill_AutoCheck;
         public string Kf_MoveStockBill_ERPMode;
         public string Kf_MoveStockBill_MustQtyCtl;
+        public string Kf_MoveStockBill_FIFOList;        //先进先出下架清单
+        public string Kf_MoveStockBill_FIFOCtl;         //先进先出控制
         public string Kf_MoveStockBill_MulSourceBill; //多源单模式
         public string Kf_MoveStockBill_BarCodeMustSameSourceBill;   // 条码必须同源单一致
         public string Kf_MoveStockBill_BillTypeOneScan;//本单据类型内只允许一次扫码(唯一码,含缓存列表)
@@ -138,7 +143,8 @@
         public string Kf_MoveStockStepOutBill_ERPMode;      //ERP模式
         public string Kf_MoveStockStepOutBill_MustQtyCtl;   //
         public string Kf_MoveStockStepOutBill_MulSourceBill;//
-        public string Kf_MoveStockStepOutBill_FIFOCtl;               //先进先出控制
+        public string Kf_MoveStockStepOutBill_FIFOList;         //先进先出下架清单
+        public string Kf_MoveStockStepOutBill_FIFOCtl;          //先进先出控制
         public string Kf_MoveStockStepOutBill_BillTypeOneScan;//本单据类型内只允许一次扫码(唯一码,含缓存列表)
         //分步式调入单
         public string Kf_MoveStockStepInBill_AutoCheck;    //自动审核

--
Gitblit v1.9.1