yangle
2023-08-31 9dd3335301f79d7462bf4acb41ba6456cd6e74e1
WarM/ÌõÂë´òÓ¡/Sc_ICMOToBarCode.cs
@@ -119,8 +119,11 @@
                //把当前单据ID å­˜åˆ°ä¸€ä¸ªæŒ‰é’®é‡Œé¢   åˆ·æ–°æ—¶æ¯æ¬¡å­˜ä¸€é
                if (DSet.Tables[0].Rows.Count > 0)
                {
                    txtHMaterID.Tag = DBUtility.ClsPub.isInt(grdMain.Rows[0].Cells["HInterID"].Value);
                    txtHMaterID.Tag = DBUtility.ClsPub.isLong(grdMain.Rows[0].Cells["HInterID"].Value);
                    txtHMiniQty.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[0].Cells["标准装箱"].Value);
                    //txtHMaterID.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[0].Cells["物料编码"].Value);
                    txtHMaterModel.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[0].Cells["规格型号"].Value);
                    txtHMaterName.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[0].Cells["物料名称"].Value);
                }
                else
                {
@@ -140,7 +143,7 @@
            //    }
            //}
            //冻结
            //int FrCol = DBUtility.ClsPub.isInt(frmCondition.txtFrozenCol.Text);
            //int FrCol = DBUtility.ClsPub.isLong(frmCondition.txtFrozenCol.Text);
            //string s = frmCondition.cmbHComplete.Text;
            //DBUtility.Xt_BaseBillFun.DisplayGrid(grdMain, this.Name, s,FrCol);
            //画线
@@ -226,7 +229,7 @@
            string HUserName = "";
            HUserName = ClsPub.isStrNull(DBUtility.ClsPub.CurUserName);
            Int64 HUserID = 0;
            HUserID = ClsPub.isInt(DBUtility.ClsPub.CurUserID);
            HUserID = ClsPub.isLong(DBUtility.ClsPub.CurUserID);
            DataSet DSet;
@@ -752,7 +755,6 @@
        private void cmdHSaveBill_Click(object sender, EventArgs e)
        {
            Display();
        }
@@ -779,7 +781,7 @@
                string HTMNumber = "";
                string HOrgNumber = "";
                DataSet Ds;
                int LSH = 0;                //流水号
                Int64 LSH = 0;                //流水号
                string LSH2 = "";           //流水号转换成字符
@@ -800,7 +802,7 @@
                //箱号
                string HXH = "";
                //箱号流水号
                int LSH3 = 0;                //流水号
                Int64 LSH3 = 0;                //流水号
                string LSH4 = "";           //流水号转换成字符
                //机台
                string HJT = "";
@@ -886,7 +888,7 @@
                    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;
                Int64 TTM_LSH = ClsPub.isLong(DsTM.Tables[0].Rows[0][0]) + 1;
                sPackBarCode = sPackStr + TTM_LSH.ToString();
@@ -921,7 +923,7 @@
                //        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;
                //        Int64 TTM_LSH = ClsPub.isLong(DsTM.Tables[0].Rows[0][0]) + 1;
                //        sPackBarCode = sPackStr + TTM_LSH.ToString();
                //        oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sPackStr + "'");
                //    }
@@ -941,7 +943,7 @@
                //        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;
                //        Int64 TTM_LSH = ClsPub.isLong(DsTM.Tables[0].Rows[0][0]) + 1;
                //        sPackBarCode = sPackStr + TTM_LSH.ToString() + "+" ;
                //        oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sPackStr + "'");
                //    }
@@ -962,7 +964,7 @@
                //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;
                //Int64 TTM_LSH = ClsPub.isLong(DsTM.Tables[0].Rows[0][0]) + 1;
                //string sPackBarCode = sPackStr + TTM_LSH.ToString();
                //oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sPackStr + "'");
@@ -990,22 +992,31 @@
                        //箱号生成规则  æ—¥æœŸ +  æœºå° + ç­æ¬¡ +  ç‰©æ–™   åªè¦èŽ·å–æœ€å¤§çš„æµæ°´å·
                        string sBoxYear;
                        string sBoxPeriod;
                        string sBoxDay;
                        DateTime HBoxDate = DBUtility.ClsPub.isDate(DBUtility.ClsPub.GetServerDate(0));
                        sBoxYear = HBoxDate.Year.ToString().Substring(2, 2);
                        sBoxPeriod = "0" +  HBoxDate.Month.ToString();
                        sBoxPeriod = HPeriod.Substring(HPeriod.Length - 2, 2);
                        sBoxDay = "0" + HBoxDate.Day.ToString();
                        sBoxDay = HDay.Substring(HDay.Length - 2, 2);
                        HJT = DBUtility.ClsPub.isStrNull(grdMain.Rows[j].Cells[Fun_GetCol("设备")].Value);
                        HXH = HYear + HPeriod + HDay + HBC + HJT + HMaterNumber;
                        HXH = sBoxYear + sBoxPeriod + sBoxDay + 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;
                        LSH3 = ClsPub.isLong(Ds99.Tables[0].Rows[0][0]) + 1;
                        LSH4 = LSH3.ToString();
                        //HBQty = HBQty + ClsPub.isInt(txtHBQty.Text);
                        //HBQty = HBQty + ClsPub.isLong(txtHBQty.Text);
                        HZXQty = DBUtility.ClsPub.isDoule(grdMain.Rows[j].Cells[Fun_GetCol("本次数量")].Value);
                        HDDQty = DBUtility.ClsPub.isDoule(grdMain.Rows[j].Cells[Fun_GetCol("生产订单数量")].Value);
                        HICMOBillNo = DBUtility.ClsPub.isStrNull(grdMain.Rows[j].Cells[Fun_GetCol("生产订单号")].Value);
                        HTMNumber = HOrgNumber + HMaterNumber + HYear + HPeriod + HDay;
                        Ds = oCn.RunProcReturn("exec h_p_WMS_GetMaxNo '" + HTMNumber + "'", "h_p_WMS_GetMaxNo");    //获取最大流水号
                        LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]);
                        LSH = ClsPub.isLong(Ds.Tables[0].Rows[0][0]);
                        n = 0;
                        LSH2 = LSH.ToString();
                        while (LSH2.Length < LSHlen)  //如果流水号小于6位数前面补0
@@ -1084,7 +1095,7 @@
                        HWorkLineName = "";
                        HSeOrderBillNo = "";
                        HInnerBillNo = sPackBarCode;
                        HSourceID = ClsPub.isInt(txtHSourceID.Tag);
                        HSourceID = ClsPub.isLong(txtHSourceID.Tag);
                        oCn.RunProc("insert into Gy_BarCodeBill (HBarCode,HBarCodeType,HMaterID,HUnitID,HQty,HMaterialMQty" +
                                            ",HBatchNo,HSupID,HGroupID,HMaker,HMakeDate,HPrintQty,HinitQty" +
                                            ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HEndQty " +
@@ -1212,19 +1223,70 @@
            //Sub_SaveBarCode();
            ////
            //bool flag = this.txtHZXQty.Text.Trim() != "";
            //double num;
            //double HICMOQty = 0;
            //if (flag)
            //{
            //    num = Pub_Class.ClsPub.isDoule(this.txtHZXQty.Text);
            //}
            //else
            //{
            //    num = Pub_Class.ClsPub.isDoule(this.txtHMiniQty.Text);
            //}
            //bool flag2 = num <= 0.0;
            //if (flag2)
            //{
            //    MessageBox.Show("请输入整箱数量!");
            //}
            //else
            //{
            //    for (int i = 0; i < this.grdMain.Rows.Count; i++)
            //    {
            //        for (int i1 = 0; i1 < this.grdMain.Rows.Count; i1++)
            //        {
            //            HICMOQty += Pub_Class.ClsPub.isDoule(this.grdMain.Rows[i1].Cells["生产订单数量"].Value);
            //        }
            //        if (HICMOQty < num)
            //        {
            //            MessageBox.Show("请点击超额生产按钮生成条码!");
            //            break;
            //        }
            //        bool flag3 = num > 0.0;
            //        if (!flag3)
            //        {
            //            break;
            //        }
            //        bool flag4 = num > Pub_Class.ClsPub.isDoule(this.grdMain.Rows[i].Cells["生产订单数量"].Value);
            //        if (!flag4)
            //        {
            //            this.grdMain.Rows[i].Cells["本次数量"].Value = num;
            //            break;
            //        }
            //        num -= Pub_Class.ClsPub.isDoule(this.grdMain.Rows[i].Cells["生产订单数量"].Value);
            //        this.grdMain.Rows[i].Cells["本次数量"].Value = Pub_Class.ClsPub.isDoule(this.grdMain.Rows[i].Cells["生产订单数量"].Value);
            //    }
            //    this.Sub_SaveBarCode();
            bool flag = this.txtHZXQty.Text.Trim() != "";
            double HICMOQty = 0.0;
            bool flag5 = flag;
            double num;
            double HICMOQty = 0;
            if (flag)
            if (flag5)
            {
                num = Pub_Class.ClsPub.isDoule(this.txtHZXQty.Text);
                num = ClsPub.isDoule(this.txtHZXQty.Text);
            }
            else
            {
                num = Pub_Class.ClsPub.isDoule(this.txtHMiniQty.Text);
                num = ClsPub.isDoule(this.txtHMiniQty.Text);
            }
            bool flag2 = num <= 0.0;
            if (flag2)
            bool flag6 = flag2;
            if (flag6)
            {
                MessageBox.Show("请输入整箱数量!");
            }
@@ -1232,30 +1294,31 @@
            {
                for (int i = 0; i < this.grdMain.Rows.Count; i++)
                {
                    for (int i1 = 0; i1 < this.grdMain.Rows.Count; i1++)
                    for (int i2 = 0; i2 < this.grdMain.Rows.Count; i2++)
                    {
                        HICMOQty += Pub_Class.ClsPub.isDoule(this.grdMain.Rows[i1].Cells["生产订单数量"].Value);
                        HICMOQty += ClsPub.isDoule(this.grdMain.Rows[i2].Cells["生产订单数量"].Value);
                    }
                    if (HICMOQty < num)
                    bool flag7 = HICMOQty < num;
                    if (flag7)
                    {
                        MessageBox.Show("请点击超额生产按钮生成条码!");
                        break;
                    }
                    bool flag3 = num > 0.0;
                    if (!flag3)
                    bool flag8 = !flag3;
                    if (flag8)
                    {
                        break;
                    }
                    bool flag4 = num > Pub_Class.ClsPub.isDoule(this.grdMain.Rows[i].Cells["生产订单数量"].Value);
                    if (!flag4)
                    bool flag4 = num > ClsPub.isDoule(this.grdMain.Rows[i].Cells["生产订单数量"].Value);
                    bool flag9 = !flag4;
                    if (flag9)
                    {
                        this.grdMain.Rows[i].Cells["本次数量"].Value = num;
                        break;
                    }
                    num -= Pub_Class.ClsPub.isDoule(this.grdMain.Rows[i].Cells["生产订单数量"].Value);
                    this.grdMain.Rows[i].Cells["本次数量"].Value = Pub_Class.ClsPub.isDoule(this.grdMain.Rows[i].Cells["生产订单数量"].Value);
                    num -= ClsPub.isDoule(this.grdMain.Rows[i].Cells["生产订单数量"].Value);
                    this.grdMain.Rows[i].Cells["本次数量"].Value = ClsPub.isDoule(this.grdMain.Rows[i].Cells["生产订单数量"].Value);
                }
                this.Sub_SaveBarCode();
            }
@@ -1273,7 +1336,7 @@
            string HTMNumber = "";
            string HOrgNumber = "";
            DataSet Ds;
            int LSH = 0;                //流水号
            Int64 LSH = 0;                //流水号
            string LSH2 = "";           //流水号转换成字符
            double HZXQty = 0;         //装箱数量
            double HDDQty = 0;         //订单数量
@@ -1296,7 +1359,7 @@
                HOrgNumber = ClsPub.HOrgNumber;
                //HBQty = HBQty + ClsPub.isInt(txtHBQty.Text);
                //HBQty = HBQty + ClsPub.isLong(txtHBQty.Text);
                HZXQty = ClsPub.isDoule(txtHZXQty.Text);
                HDDQty = DBUtility.ClsPub.isDoule(grdMain.Rows[j].Cells[Fun_GetCol("订单数量")].Value);
@@ -1305,7 +1368,7 @@
                {
                    HTMNumber = HOrgNumber + HMaterNumber + HYear + HPeriod + HDay;
                    Ds = oCn.RunProcReturn("exec h_p_WMS_GetMaxNo '" + HTMNumber + "'", "h_p_WMS_GetMaxNo");    //获取最大流水号
                    LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]);
                    LSH = ClsPub.isLong(Ds.Tables[0].Rows[0][0]);
                }
                else if (cmbHBarCodeType.Text == "批次条码")
                {
@@ -1436,7 +1499,7 @@
            string HTMNumber = "";
            string HOrgNumber = "";
            DataSet Ds;
            int LSH = 0;                //流水号
            Int64 LSH = 0;                //流水号
            string LSH2 = "";           //流水号转换成字符
            double HZXQty = 0;         //装箱数量
            double HDDQty = 0;         //订单数量
@@ -1459,7 +1522,7 @@
                HOrgNumber = ClsPub.HOrgNumber;
                //HBQty = HBQty + ClsPub.isInt(txtHBQty.Text);
                //HBQty = HBQty + ClsPub.isLong(txtHBQty.Text);
                HZXQty = ClsPub.isDoule(txtHZXQty.Text);
                HDDQty = DBUtility.ClsPub.isDoule(grdMain.Rows[j].Cells[Fun_GetCol("订单数量")].Value);
                HICMOBillNo = DBUtility.ClsPub.isStrNull(grdMain.Rows[j].Cells[Fun_GetCol("生产订单号")].Value);
@@ -1468,7 +1531,7 @@
                {
                    HTMNumber = HOrgNumber + HMaterNumber + HYear + HPeriod + HDay;
                    Ds = oCn.RunProcReturn("exec h_p_WMS_GetMaxNo '" + HTMNumber + "'", "h_p_WMS_GetMaxNo");    //获取最大流水号
                    LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]);
                    LSH = ClsPub.isLong(Ds.Tables[0].Rows[0][0]);
                }
                else if (cmbHBarCodeType.Text == "批次条码")
                {
@@ -1498,7 +1561,7 @@
                        HDay = HDay.Substring(HDay.Length - 2, 2);
                        HTMNumber = HOrgNumber + HMaterNumber + HYear + HPeriod + HDay;
                        Ds = oCn.RunProcReturn("exec h_p_WMS_GetMaxNo '" + HTMNumber + "'", "h_p_WMS_GetMaxNo");    //获取最大流水号
                        LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]);
                        LSH = ClsPub.isLong(Ds.Tables[0].Rows[0][0]);
                        TM = HTMNumber + LSH2;
                    }
                    else
@@ -1511,7 +1574,7 @@
                        HDay = HDay.Substring(HDay.Length - 2, 2);
                        HTMNumber = HOrgNumber + HMaterNumber + HYear + HPeriod + HDay;
                        Ds = oCn.RunProcReturn("exec h_p_WMS_GetMaxNo '" + HTMNumber + "'", "h_p_WMS_GetMaxNo");    //获取最大流水号
                        LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]);
                        LSH = ClsPub.isLong(Ds.Tables[0].Rows[0][0]);
                        TM = HTMNumber + LSH2 + "+"; 
                    }
                    //HYear = ClsPub.isDate(HDate).Year.ToString().Substring(2, 2);
@@ -1521,7 +1584,7 @@
                    //HDay = HDay.Substring(HDay.Length - 2, 2);
                    //HTMNumber = HOrgNumber + HMaterNumber + HYear + HPeriod + HDay;
                    //Ds = oCn.RunProcReturn("exec h_p_WMS_GetMaxNo '" + HTMNumber + "'", "h_p_WMS_GetMaxNo");    //获取最大流水号
                    //LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]);
                    //LSH = ClsPub.isLong(Ds.Tables[0].Rows[0][0]);
                }
                //if (cmbHBarCodeType.Text == "唯一条码")
                //{
@@ -1647,7 +1710,7 @@
        private void DisplayTM()
        {
            //HInterID = DBUtility.ClsPub.isInt(txtHMaterID.Tag);
            //HInterID = DBUtility.ClsPub.isLong(txtHMaterID.Tag);
            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)
@@ -1807,7 +1870,7 @@
            //
            grdSub.DataSource = DSet.Tables[0].DefaultView;
            //冻结
            //int FrCol = DBUtility.ClsPub.isInt(frmCondition.txtFrozenCol.Text);
            //int FrCol = DBUtility.ClsPub.isLong(frmCondition.txtFrozenCol.Text);
            //string s = frmCondition.cmbHComplete.Text;
            //DBUtility.Xt_BaseBillFun.DisplayGrid(grdSub, this.Name, s, FrCol);
            //画线
@@ -2055,13 +2118,13 @@
        {
            //获取网格第一行HInterID的值
            Int64 HInterID = 0;
            HInterID = DBUtility.ClsPub.isInt(txtHMaterID.Tag);
            HInterID = DBUtility.ClsPub.isLong(txtHMaterID.Tag);
            DataSet DSBefore;
            DSBefore =  SubCn.RunProcReturn("exec h_p_PreviousMater "+ HInterID, "h_p_PreviousMater", ref DBUtility.ClsPub.sExeReturnInfo);
            grdMain.DataSource = DSBefore.Tables[0].DefaultView;
            //if (DSBefore.Tables[0].Rows.Count > 0)
            //{
            //    txtHMaterID.Tag = DBUtility.ClsPub.isInt(grdMain.Rows[0].Cells["HInterID"].Value);
            //    txtHMaterID.Tag = DBUtility.ClsPub.isLong(grdMain.Rows[0].Cells["HInterID"].Value);
            //}
            //else
            //{
@@ -2076,8 +2139,10 @@
            else
            {
                grdMain.DataSource = DSBefore.Tables[0].DefaultView;
                txtHMaterID.Tag = DBUtility.ClsPub.isInt(grdMain.Rows[0].Cells["HInterID"].Value);
                txtHMaterID.Tag = DBUtility.ClsPub.isLong(grdMain.Rows[0].Cells["HInterID"].Value);
                txtHMiniQty.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[0].Cells["标准装箱"].Value);
                txtHMaterModel.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[0].Cells["规格型号"].Value);
                txtHMaterName.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[0].Cells["物料名称"].Value);
            }
@@ -2088,8 +2153,8 @@
        {
            //根据
            Int64 HInterID = 0;
            //HInterID = DBUtility.ClsPub.isInt(grdMain.Rows[0].Cells[Fun_GetCol("HInterID")].Value);
            HInterID = DBUtility.ClsPub.isInt(txtHMaterID.Tag);
            //HInterID = DBUtility.ClsPub.isLong(grdMain.Rows[0].Cells[Fun_GetCol("HInterID")].Value);
            HInterID = DBUtility.ClsPub.isLong(txtHMaterID.Tag);
            DataSet DSBefore;
            DSBefore = SubCn.RunProcReturn("exec h_p_NextMater " + HInterID, "h_p_NextMater", ref DBUtility.ClsPub.sExeReturnInfo);
            if (DSBefore == null || DSBefore.Tables[0].Rows.Count == 0)
@@ -2101,8 +2166,10 @@
            else
            {
                grdMain.DataSource = DSBefore.Tables[0].DefaultView;
                txtHMaterID.Tag = DBUtility.ClsPub.isInt(grdMain.Rows[0].Cells["HInterID"].Value);
                txtHMaterID.Tag = DBUtility.ClsPub.isLong(grdMain.Rows[0].Cells["HInterID"].Value);
                txtHMiniQty.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[0].Cells["标准装箱"].Value);
                txtHMaterModel.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[0].Cells["规格型号"].Value);
                txtHMaterName.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[0].Cells["物料名称"].Value);
            }
            //txtHMaterID.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[0].Cells["HInterID"].Value);
        }
@@ -2206,5 +2273,10 @@
                Thread.Sleep(1000); 
            }
        }
        private void label14_Click(object sender, EventArgs e)
        {
        }
    }
}