From 1cbc6c9bee7048d3546adebe87d96715630e7d59 Mon Sep 17 00:00:00 2001
From: yangle <admin@YINMOU>
Date: 星期二, 16 八月 2022 18:21:40 +0800
Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API

---
 WarM/条码打印/Sc_ICMOToBarCode.cs |  205 +++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 164 insertions(+), 41 deletions(-)

diff --git "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Sc_ICMOToBarCode.cs" "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Sc_ICMOToBarCode.cs"
index 258363c..27b3428 100644
--- "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Sc_ICMOToBarCode.cs"
+++ "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Sc_ICMOToBarCode.cs"
@@ -781,6 +781,8 @@
                 DataSet Ds;
                 int LSH = 0;                //娴佹按鍙�
                 string LSH2 = "";           //娴佹按鍙疯浆鎹㈡垚瀛楃
+
+
                 double HZXQty = 0;         //瑁呯鏁伴噺
                 double HDDQty = 0;         //璁㈠崟鏁伴噺
                 double HBQty = 0;         //绠辨暟
@@ -790,48 +792,159 @@
                 int LSHlen = 6;             //娴佹按鍙烽暱搴�
                 string TM = "";             //鏉$爜
                 string sPackBarCode = "";
-                //HDate = dtpHBeginDate.Value.ToShortDateString();
-                //HYear = ClsPub.isDate(HDate).Year.ToString().Substring(2, 2);
-                //HPeriod = "0" + ClsPub.isDate(HDate).Month.ToString();
-                //HPeriod = HPeriod.Substring(HPeriod.Length - 2, 2);
-                //HDay = "0" + ClsPub.isDate(HDate).Day.ToString();
-                //HDay = HDay.Substring(HDay.Length - 2, 2);
+                string HPrdDate = "";
+                string HBC = "";
+                string HDate1 = "";
+                DataSet Ds99;
 
-                    HDate = dtpHBeginDate.Value.ToShortDateString();
-                    DataSet DSet1 = oCn.RunProcReturn("select * from Gy_FactoryDayOff Where HFactoryDayOffDate='" + HDate.ToString() + "'", "Gy_FactoryDayOff", ref DBUtility.ClsPub.sExeReturnInfo);
-                    //鐢熸垚棣栬鏍囬
-                    if (DSet1 == null || DSet1.Tables[0].Rows.Count == 0)
+                //绠卞彿
+                string HXH = "";
+                //绠卞彿娴佹按鍙�
+                int LSH3 = 0;                //娴佹按鍙�
+                string LSH4 = "";           //娴佹按鍙疯浆鎹㈡垚瀛楃
+                //鏈哄彴
+                string HJT = "";
+
+                HDate = DateTime.Now.ToString();
+
+                //鍒ゆ柇褰撳墠鏃堕棿鏄惁鍦ㄥ伐浣滄椂闂存鍐�
+                string _strWorkingDayAM = "07:30";//宸ヤ綔鏃堕棿涓婂崍08:30
+                string _strWorkingDayPM = "19:30";
+                string _strWorkingDayTM = "00:00";
+                string _strWorkingDaySM = "23:59";
+                TimeSpan dspWorkingDayAM = DateTime.Parse(_strWorkingDayAM).TimeOfDay;
+                TimeSpan dspWorkingDayPM = DateTime.Parse(_strWorkingDayPM).TimeOfDay;
+                TimeSpan dspWorkingDayTM = DateTime.Parse(_strWorkingDayTM).TimeOfDay;
+                TimeSpan dspWorkingDaySM = DateTime.Parse(_strWorkingDaySM).TimeOfDay;
+
+                //string time1 = "2017-2-17 8:10:00";
+                DateTime t1 = Convert.ToDateTime(HDate);
+
+                TimeSpan dspNow = t1.TimeOfDay;
+                HDate1 = Convert.ToDateTime(HDate).ToShortDateString();
+                //1.姝e父涓婄彮鏃堕棿 灏辨槸鐧界彮  濡傛灉涓嶆槸绀兼嫓澶� 灏卞線鍓嶆彁鍓嶄竴澶�
+                if (dspNow > dspWorkingDayAM && dspNow < dspWorkingDayPM)
+                {
+                    HBC = "鐧界彮";
+
+                    DataSet DSet2 = oCn.RunProcReturn("select * from Gy_FactoryDayOff Where HFactoryDayOffDate='" + HDate1.ToString() + "'", "Gy_FactoryDayOff", ref DBUtility.ClsPub.sExeReturnInfo);
+                    if (DSet2 == null || DSet2.Tables[0].Rows.Count == 0)
                     {
-                        HDate = DateTime.Now.ToShortDateString();
-                        HYear = ClsPub.isDate(HDate).Year.ToString().Substring(2, 2);
-                        HPeriod = "0" + ClsPub.isDate(HDate).Month.ToString();
-                        HPeriod = HPeriod.Substring(HPeriod.Length - 2, 2);
-                        HDay = "0" + ClsPub.isDate(HDate).Day.ToString();
-                        HDay = HDay.Substring(HDay.Length - 2, 2);
-                        long HTMaterID = 0;
-                        HTMaterID = ClsPub.isLong(grdMain.Rows[0].Cells[Fun_GetCol("HMaterID")].Value);
-                        string sPackStr = "ZXM" + HYear + HPeriod + HDay + HTMaterID; //澶栫鐮� 鍓嶇紑
-                        DataSet DsTM = oCn.RunProcReturn("exec h_p_WMS_GetMaxNo '" + sPackStr + "'", "h_p_WMS_GetMaxNo");    //鑾峰彇鏈�澶ф祦姘村彿                                                                                          //oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sTMNumber + "'");
-                        Int64 TTM_LSH = ClsPub.isInt(DsTM.Tables[0].Rows[0][0]) + 1;
-                        sPackBarCode = sPackStr + TTM_LSH.ToString();
-                        oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sPackStr + "'");
+                        HPrdDate = HDate;
                     }
                     else
                     {
-                    HDate = DBUtility.ClsPub.isStrNull(DSet1.Tables[0].Rows[0]["HNoFactoryDayOffDate"]);
-                    HYear = ClsPub.isDate(HDate).Year.ToString().Substring(2, 2);
-                    HPeriod = "0" + ClsPub.isDate(HDate).Month.ToString();
-                    HPeriod = HPeriod.Substring(HPeriod.Length - 2, 2);
-                    HDay = "0" + ClsPub.isDate(HDate).Day.ToString();
-                    HDay = HDay.Substring(HDay.Length - 2, 2);
-                    long HTMaterID = 0;
-                    HTMaterID = ClsPub.isLong(grdMain.Rows[0].Cells[Fun_GetCol("HMaterID")].Value);
-                    string sPackStr = "ZXM" + HYear + HPeriod + HDay + HTMaterID; //澶栫鐮� 鍓嶇紑
-                    DataSet DsTM = oCn.RunProcReturn("exec h_p_WMS_GetMaxNo '" + sPackStr + "'", "h_p_WMS_GetMaxNo");    //鑾峰彇鏈�澶ф祦姘村彿                                                                                          //oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sTMNumber + "'");
-                    Int64 TTM_LSH = ClsPub.isInt(DsTM.Tables[0].Rows[0][0]) + 1;
-                    sPackBarCode = sPackStr + TTM_LSH.ToString() + "+" ;
-                    oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sPackStr + "'");
+                        HPrdDate = DBUtility.ClsPub.isStrNull(DSet2.Tables[0].Rows[0]["HNoFactoryDayOffDate"]);
                     }
+                }
+                //2.澶т簬19锛�30  灏忎簬24锛�00  澶滅彮
+                if (dspNow > dspWorkingDayPM && dspNow < dspWorkingDaySM)
+                {
+                    HBC = "澶滅彮";
+                    DataSet DSet2 = oCn.RunProcReturn("select * from Gy_FactoryDayOff Where HFactoryDayOffDate='" + HDate1.ToString() + "'", "Gy_FactoryDayOff", ref DBUtility.ClsPub.sExeReturnInfo);
+                    if (DSet2 == null || DSet2.Tables[0].Rows.Count == 0)
+                    {
+                        HPrdDate = HDate;
+                    }
+                    else
+                    {
+                        HPrdDate = DBUtility.ClsPub.isStrNull(DSet2.Tables[0].Rows[0]["HNoFactoryDayOffDate"]);
+                    }
+                }
+                //3.澶т簬00锛�00  灏忎簬7锛�30  鐧界彮  鍏堝噺涓�澶�  鍐嶅垽鏂噺浜嗕竴澶╃殑鏃ユ湡鏄笉鏄巶浼戞棩鏈�
+                if (dspNow > dspWorkingDayTM && dspNow < dspWorkingDayAM)
+                {
+                    HBC = "澶滅彮";
+                    HDate = DBUtility.ClsPub.isStrNull(DBUtility.ClsPub.isDate(HDate).AddDays(-1));
+                    HDate = DBUtility.ClsPub.isDate(HDate).ToShortDateString();
+                    DataSet DSet2 = oCn.RunProcReturn("select * from Gy_FactoryDayOff Where HFactoryDayOffDate='" + HDate.ToString() + "'", "Gy_FactoryDayOff", ref DBUtility.ClsPub.sExeReturnInfo);
+                    if (DSet2 == null || DSet2.Tables[0].Rows.Count == 0)
+                    {
+                        HPrdDate = HDate;
+                    }
+                    else
+                    {
+                        HPrdDate = DBUtility.ClsPub.isStrNull(DSet2.Tables[0].Rows[0]["HNoFactoryDayOffDate"]);
+                    }
+                }
+                HYear = ClsPub.isDate(HPrdDate).Year.ToString().Substring(2, 2);
+                HPeriod = "0" + ClsPub.isDate(HPrdDate).Month.ToString();
+                HPeriod = HPeriod.Substring(HPeriod.Length - 2, 2);
+                HDay = "0" + ClsPub.isDate(HPrdDate).Day.ToString();
+                HDay = HDay.Substring(HDay.Length - 2, 2);
+                long HTMaterID = 0;
+                HTMaterID = ClsPub.isLong(grdMain.Rows[0].Cells[Fun_GetCol("HMaterID")].Value);
+                string sPackStr = "ZXM" + HYear + HPeriod + HDay + HTMaterID; //澶栫鐮� 鍓嶇紑
+
+
+                //鑾峰彇澶勭悊杩囩殑鏃ユ湡璺熶粖澶╁樊鍑犲ぉ  鐒跺悗鍔犲嚑涓�+鍙�
+                TimeSpan HCY = Convert.ToDateTime(HPrdDate) - Convert.ToDateTime(DateTime.Now.ToString());
+                int a = 1;
+                while (a <= HCY.Days)  //褰揳 灏忎簬 宸紓澶╂暟  寰幆鍔犱笂 + 鍙�
+                {
+                    HPrdDate = HPrdDate + "+";
+                    a = a + 1;
+                }
+                DataSet DsTM = oCn.RunProcReturn("exec h_p_WMS_GetMaxNo '" + sPackStr + "'", "h_p_WMS_GetMaxNo");    //鑾峰彇鏈�澶ф祦姘村彿                                                                                          //oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sTMNumber + "'");
+                Int64 TTM_LSH = ClsPub.isInt(DsTM.Tables[0].Rows[0][0]) + 1;
+
+
+                sPackBarCode = sPackStr + TTM_LSH.ToString();
+                //DataSet DSet3 = oCn.RunProcReturn("select * from Gy_FactoryDayOff Where HFactoryDayOffDate='" + HDate1.ToString() + "'", "Gy_FactoryDayOff", ref DBUtility.ClsPub.sExeReturnInfo);
+                //if (DSet3 == null || DSet3.Tables[0].Rows.Count == 0)
+                //{
+                //    sPackBarCode = sPackStr + TTM_LSH.ToString() ;
+                //}
+                //else
+                //{
+                //    sPackBarCode = sPackStr + TTM_LSH.ToString() + "+";
+                //}
+
+
+                oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sPackStr + "'");
+
+
+                //DataSet DSet1 = oCn.RunProcReturn("select * from Gy_FactoryDayOff Where HFactoryDayOffDate='" + HDate.ToString() + "'", "Gy_FactoryDayOff", ref DBUtility.ClsPub.sExeReturnInfo);
+
+
+                //    //鐢熸垚棣栬鏍囬
+                //    if (DSet1 == null || DSet1.Tables[0].Rows.Count == 0)
+                //    {
+
+                //        HDate = DateTime.Now.ToShortDateString();
+                //        HYear = ClsPub.isDate(HDate).Year.ToString().Substring(2, 2);
+                //        HPeriod = "0" + ClsPub.isDate(HDate).Month.ToString();
+                //        HPeriod = HPeriod.Substring(HPeriod.Length - 2, 2);
+                //        HDay = "0" + ClsPub.isDate(HDate).Day.ToString();
+                //        HDay = HDay.Substring(HDay.Length - 2, 2);
+                //        long HTMaterID = 0;
+                //        HTMaterID = ClsPub.isLong(grdMain.Rows[0].Cells[Fun_GetCol("HMaterID")].Value);
+                //        string sPackStr = "ZXM" + HYear + HPeriod + HDay + HTMaterID; //澶栫鐮� 鍓嶇紑
+                //        DataSet DsTM = oCn.RunProcReturn("exec h_p_WMS_GetMaxNo '" + sPackStr + "'", "h_p_WMS_GetMaxNo");    //鑾峰彇鏈�澶ф祦姘村彿                                                                                          //oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sTMNumber + "'");
+                //        Int64 TTM_LSH = ClsPub.isInt(DsTM.Tables[0].Rows[0][0]) + 1;
+                //        sPackBarCode = sPackStr + TTM_LSH.ToString();
+                //        oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sPackStr + "'");
+                //    }
+
+                //    else
+                //    {
+
+                //        HDate = DBUtility.ClsPub.isStrNull(DSet1.Tables[0].Rows[0]["HNoFactoryDayOffDate"]);
+
+
+                //        HYear = ClsPub.isDate(HDate).Year.ToString().Substring(2, 2);
+                //        HPeriod = "0" + ClsPub.isDate(HDate).Month.ToString();
+                //        HPeriod = HPeriod.Substring(HPeriod.Length - 2, 2);
+                //        HDay = "0" + ClsPub.isDate(HDate).Day.ToString();
+                //        HDay = HDay.Substring(HDay.Length - 2, 2);
+                //        long HTMaterID = 0;
+                //        HTMaterID = ClsPub.isLong(grdMain.Rows[0].Cells[Fun_GetCol("HMaterID")].Value);
+                //        string sPackStr = "ZXM" + HYear + HPeriod + HDay + HTMaterID; //澶栫鐮� 鍓嶇紑
+                //        DataSet DsTM = oCn.RunProcReturn("exec h_p_WMS_GetMaxNo '" + sPackStr + "'", "h_p_WMS_GetMaxNo");    //鑾峰彇鏈�澶ф祦姘村彿                                                                                          //oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sTMNumber + "'");
+                //        Int64 TTM_LSH = ClsPub.isInt(DsTM.Tables[0].Rows[0][0]) + 1;
+                //        sPackBarCode = sPackStr + TTM_LSH.ToString() + "+" ;
+                //        oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sPackStr + "'");
+                //    }
 
                 //=============鏍规嵁鐣岄潰涓婂凡缁忓垎閰嶇殑鏁版嵁杩涜鏉$爜鐢熸垚鍜屾墦鍗般��
                 //鑾峰彇鏈鐢熸垚鐨� 涓诲唴鐮� 
@@ -874,6 +987,15 @@
                         HBatchNo = DBUtility.ClsPub.isStrNull(grdMain.Rows[j].Cells[Fun_GetCol("鎵规")].Value);
                         
                         HOrgNumber = ClsPub.HOrgNumber;
+
+
+                        //绠卞彿鐢熸垚瑙勫垯  鏃ユ湡 +  鏈哄彴 + 鐝 +  鐗╂枡   鍙鑾峰彇鏈�澶х殑娴佹按鍙�
+                        HJT = DBUtility.ClsPub.isStrNull(grdMain.Rows[j].Cells[Fun_GetCol("璁惧")].Value);
+                        HXH = HYear + HPeriod + HDay + HBC + HJT + HMaterNumber;
+                        Ds99 = oCn.RunProcReturn("exec h_p_WMS_GetMaxNo '" + HXH + "'", "h_p_WMS_GetMaxNo");    //鑾峰彇鏈�澶ф祦姘村彿
+                        LSH3 = ClsPub.isInt(Ds99.Tables[0].Rows[0][0]) + 1;
+                        LSH4 = LSH3.ToString();
+
 
 
                         //HBQty = HBQty + ClsPub.isInt(txtHBQty.Text);
@@ -969,7 +1091,7 @@
                                             ",HBarcodeQtys,HBarcodeNo,HDeptID,HWhID,HSPID,HRemark " +
                                             ",HCusID,HCusType,HEndDate,HWorkLineName,HBarCodeDate " +
                                             ",HSTOCKORGID,HOWNERID,HSeOrderBillNo,HSourceID,HInterID " +
-                                            ",HMaterName,HMaterModel,HPinfan,HAuxPropID,HMTONo,HInnerBillNo " +
+                                            ",HMaterName,HMaterModel,HPinfan,HAuxPropID,HMTONo,HPrdDate,HBC,HXH,HInnerBillNo " +
                                             ") values ("
                                             + "'" + HBarCode + "','" + HBarCodeType + "'," + HMaterID1.ToString() + "," + HUnitID.ToString() + "," + HQty2.ToString() + ", " + HMZQty.ToString()
                                             + ",'" + HBatchNo2 + "'," + HSupID.ToString() + "," + HGroupID.ToString() + ",'" + ClsPub.CurUserName + "',getdate()," + HPrintQty.ToString() + "," + HQty2.ToString()
@@ -977,22 +1099,23 @@
                                             + ", " + HBarcodeQtys.ToString() + "," + HBarcodeNo.ToString() + "," + HDeptID.ToString() + "," + HWhID.ToString() + "," + HSPID.ToString() + ",'" + HRemark + "'"
                                             + ", " + HCusID.ToString() + ",'" + HCusType + "','" + HEndDate.ToShortDateString() + "','" + HWorkLineName + "','" + HDate + "'"
                                             + ", " + ClsPub.HOrgID.ToString() + "," + ClsPub.HOrgID.ToString() + ",'" + HSeOrderBillNo + "'," + HSourceID.ToString() + "," + HInterID.ToString()
-                                            + ",'" + HMaterName + "','" + HMaterModel + "','" + HPinfan + "'," + HAuxPropID.ToString() + ",'" + HMTONo + "','" + HInnerBillNo + "')");
+                                            + ",'" + HMaterName + "','" + HMaterModel + "','" + HPinfan + "'," + HAuxPropID.ToString() + ",'" + HMTONo + "','" + HPrdDate + "','" + HBC + "','" + LSH4 + "','" + HInnerBillNo + "')");
 
                         oCn.RunProc("exec h_p_WMS_SetMaxNo '" + HTMNumber + "'");
+                        oCn.RunProc("exec h_p_WMS_SetMaxNo '" + HXH + "'");
                         DisplayTM();
                     }
                 }
                 //2.寰幆缁撴潫鍚庯紝鏍规嵁 鏈鐢熸垚鐨� 涓诲唴鐮侊紝浠庡悗鍙版暟鎹簱鑾峰彇 鏉$爜鍒楄〃锛岀敓鎴� 缁勬墭鍗� 鍜� 鎵樻潯鐮侊紝 鐩存帴璋冪敤瀛樺偍杩囩▼ 
                  //鏍规嵁澶栫鐮� 鍐欏叆 缁勬墭鍗曚富琛紝缁勬墭鍗曞瓙琛紝SUM锛屽绠辩爜妗f锛孲UM妗f
-                oCn.RunProc("exec  h_p_WMS_PackUnionBill_AddNew  '" + sPackBarCode + "'," + HInterID_TTM.ToString() + ",'" + DBUtility.ClsPub.CurUserName + "','" + HDate + "'," + HInterID.ToString()); //鏍规嵁绠辨潯鐮侊紝鍐欏叆 涓昏〃锛屽瓙琛� 锛岀鏉$爜妗f 
+                oCn.RunProc("exec  h_p_WMS_PackUnionBill_AddNew_test  '" + sPackBarCode + "'," + HInterID_TTM.ToString() + ",'" + DBUtility.ClsPub.CurUserName + "'," + HInterID.ToString()); //鏍规嵁绠辨潯鐮侊紝鍐欏叆 涓昏〃锛屽瓙琛� 锛岀鏉$爜妗f 
                 oCn.RunProc("exec  h_p_WMS_PackUnionBill_SumSubBill  " + HInterID_TTM.ToString() + ",'" + sPackBarCode + "','3783','" + DBUtility.ClsPub.CurUserName + "'," + HInterID.ToString()); //鏍规嵁绠辨潯鐮侊紝鍐欏叆 SUM琛紝SUM鏉$爜妗f
 
 
 
 
                 sPackBarCode = "";
-                DataSet DSet = oCn.RunProcReturn("select * from h_v_IF_BarCodeBillList_CS Where HInterID=" + HInterID.ToString() + " and 鏉$爜绫诲瀷 = '鎵樼洏鏉$爜'", "h_v_IF_BarCodeBillList_CS", ref DBUtility.ClsPub.sExeReturnInfo);
+                DataSet DSet = oCn.RunProcReturn("select * from h_v_IF_BarCodeBillList_CS_Test Where HInterID=" + HInterID.ToString() + " and 鏉$爜绫诲瀷 = '鎵樼洏鏉$爜'", "h_v_IF_BarCodeBillList_CS_Test", ref DBUtility.ClsPub.sExeReturnInfo);
                 //鐢熸垚棣栬鏍囬
                 if (DSet == null)
                 {
@@ -1525,7 +1648,7 @@
         private void DisplayTM()
         {
             //HInterID = DBUtility.ClsPub.isInt(txtHMaterID.Tag);
-            DataSet DSet = oCn.RunProcReturn("select * from h_v_IF_BarCodeBillList Where HinterID=" + HInterID.ToString() + " and 鏉$爜绫诲瀷 = '鎵樼洏鏉$爜' order by HItemID", "h_v_IF_BarCodeBillList", ref DBUtility.ClsPub.sExeReturnInfo);
+            DataSet DSet = oCn.RunProcReturn("select * from h_v_IF_BarCodeBillList_test Where HinterID=" + HInterID.ToString() + " and 鏉$爜绫诲瀷 = '鎵樼洏鏉$爜' order by HItemID", "h_v_IF_BarCodeBillList_test", ref DBUtility.ClsPub.sExeReturnInfo);
             //鐢熸垚棣栬鏍囬
             if (DSet == null)
             {

--
Gitblit v1.9.1