王 垚
2022-07-28 98731367da8582a305024679c07089b68d36e29b
WarM/ÌõÂë´òÓ¡/Sc_ICMOToBarCode.cs
@@ -41,6 +41,7 @@
        public Int64 HInterID_TTM = 0;
        public string HBillNo_TTM = "";
        ClsCN SubCn = new ClsCN();
        Pub_Class.ClsGridViewSum oSumGrid = new Pub_Class.ClsGridViewSum();
        //
        private void initGrid()
        {
@@ -216,6 +217,7 @@
        {
            //
            //frmCondition = new frmBillQueryCondition_New();
            oSumGrid.ogrdMain = grdMain;
            this.Text = ModCaption;
            //lblCaption.Text = ModCaption;
            initGrid();
@@ -225,8 +227,34 @@
            HUserName = ClsPub.isStrNull(DBUtility.ClsPub.CurUserName);
            Int64 HUserID = 0;
            HUserID = ClsPub.isInt(DBUtility.ClsPub.CurUserID);
            txtHEmpID.Text = HUserName;
            txtHEmpID.Tag = HUserID;
            DataSet DSet;
            DSet = oCn.RunProcReturn("Select HEmpID from gy_czygl Where czymc='" + HUserName + "'", "gy_czygl", ref DBUtility.ClsPub.sExeReturnInfo);
            if (DSet == null)
            //if (DSet == null|| DSet.Tables[0].Rows.Count == 0)
            {
                MessageBox.Show("没有返回任何结果,请在过滤框中点击【恢复】按钮,尝试再次查询!" + DBUtility.ClsPub.sExeReturnInfo);
                return;
            }
            else
            {
                //grdMain.DataSource = DSet.Tables[0].DefaultView;
                //把当前单据ID å­˜åˆ°ä¸€ä¸ªæŒ‰é’®é‡Œé¢   åˆ·æ–°æ—¶æ¯æ¬¡å­˜ä¸€é
                if (DSet.Tables[0].Rows.Count > 0)
                {
                    txtHEmpID.Tag = DBUtility.ClsPub.isStrNull(DSet.Tables[0].Rows[0]["HEmpID"]);
                }
                else
                {
                }
            }
        }
        private void grdMain_DblClick(object sender, EventArgs e)
@@ -722,62 +750,6 @@
            }
        }
        private void zf_Click(object sender, EventArgs e)
        {
            //Sub_AbandonCheck();
            if (!ClsPub.Security_Log(ModRightNameDelete, 1, true, DBUtility.ClsPub.CurUserName))
            {
                return;
            }
            if (grdMain.CurrentRow == null)
                return;
            DAL.ClsGy_BarCodeBill_Ctl oBar = new DAL.ClsGy_BarCodeBill_Ctl();
            if (MessageBox.Show("确定要作废所选条码?", "提示", MessageBoxButtons.OKCancel) == DialogResult.Cancel)
            {
                return;
            }
            for (int i = 0; i <= grdMain.SelectedRows.Count - 1; i++)
            {
                if (DBUtility.ClsPub.isLong(grdMain.SelectedRows[i].Cells[Fun_GetCol("HMaterID")].Value) != 0)
                {
                    if (!oBar.Cancelltion(DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("条码编号")].Value)))
                    {
                        MessageBox.Show("作废失败!", "提示");
                        return;
                    }
                }
            }
            MessageBox.Show("作废成功!", "提示");
        }
        private void fzf_Click(object sender, EventArgs e)
        {
            //this.Sub_CheckBill();
            if (!ClsPub.Security_Log(ModRightNameDelete, 1, true, DBUtility.ClsPub.CurUserName))
            {
                return;
            }
            if (grdMain.CurrentRow == null)
                return;
            DAL.ClsGy_BarCodeBill_Ctl oBar = new DAL.ClsGy_BarCodeBill_Ctl();
            if (MessageBox.Show("确定要反作废所选条码?", "提示", MessageBoxButtons.OKCancel) == DialogResult.Cancel)
            {
                return;
            }
            for (int i = 0; i <= grdMain.SelectedRows.Count - 1; i++)
            {
                if (DBUtility.ClsPub.isLong(grdMain.SelectedRows[i].Cells[Fun_GetCol("HMaterID")].Value) != 0)
                {
                    if (!oBar.UnCancelltion(DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("条码编号")].Value)))
                    {
                        MessageBox.Show("反作废失败!", "提示");
                        return;
                    }
                }
            }
            MessageBox.Show("反作废成功!", "提示");
        }
        private void cmdHSaveBill_Click(object sender, EventArgs e)
        {
@@ -817,13 +789,49 @@
                string WeiShu = "";         //尾数
                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);
                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);
                    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)
                    {
                        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 + "'");
                    }
                //=============根据界面上已经分配的数据进行条码生成和打印。
                //获取本次生成的 ä¸»å†…码 
@@ -837,11 +845,13 @@
                //00 å…ˆç”Ÿæˆ å”¯ä¸€çš„ æ‰˜æ¡ç 
                //生成一个外箱码
                string sPackStr = "ZXM" + HYear + HPeriod + HDay; //外箱码 å‰ç¼€
                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;
                string sPackBarCode = sPackStr + TTM_LSH.ToString();
                oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sPackStr + "'");
                //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;
                //string sPackBarCode = sPackStr + TTM_LSH.ToString();
                //oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sPackStr + "'");
                //MessageBox.Show("11");
@@ -975,7 +985,7 @@
                }
                //2.循环结束后,根据 æœ¬æ¬¡ç”Ÿæˆçš„ ä¸»å†…码,从后台数据库获取 æ¡ç åˆ—表,生成 ç»„托单 å’Œ æ‰˜æ¡ç ï¼Œ ç›´æŽ¥è°ƒç”¨å­˜å‚¨è¿‡ç¨‹ 
                 //根据外箱码 å†™å…¥ ç»„托单主表,组托单子表,SUM,外箱码档案,SUM档案
                oCn.RunProc("exec  h_p_WMS_PackUnionBill_AddNew  '" + sPackBarCode + "'," + HInterID_TTM.ToString() + ",'" + DBUtility.ClsPub.CurUserName + "'," + HInterID.ToString()); //根据箱条码,写入 ä¸»è¡¨ï¼Œå­è¡¨ ï¼Œç®±æ¡ç æ¡£æ¡ˆ
                oCn.RunProc("exec  h_p_WMS_PackUnionBill_AddNew  '" + sPackBarCode + "'," + HInterID_TTM.ToString() + ",'" + DBUtility.ClsPub.CurUserName + "','" + HDate + "'," + HInterID.ToString()); //根据箱条码,写入 ä¸»è¡¨ï¼Œå­è¡¨ ï¼Œç®±æ¡ç æ¡£æ¡ˆ
                oCn.RunProc("exec  h_p_WMS_PackUnionBill_SumSubBill  " + HInterID_TTM.ToString() + ",'" + sPackBarCode + "','3783','" + DBUtility.ClsPub.CurUserName + "'," + HInterID.ToString()); //根据箱条码,写入 SUM表,SUM条码档案
@@ -1025,185 +1035,107 @@
        private void button4_Click(object sender, EventArgs e)
        {
            //根据本箱数量 æ¥ åˆ†é…åˆ° æ¯ä¸ªç”Ÿäº§è®¢å•上(分配时 è¦è€ƒè™‘ è®¢å•剩余数量已经是 è´Ÿæ•°çš„æƒ…况)
            //如果有标准装箱数量 å…ˆé»˜è®¤å–标准装箱数量  æ²¡æœ‰å†å–手输的本箱数量
            //1.判断本箱数量 å¿…须大于0
            double HZXQty = 0;//整箱数量
            if (txtHZXQty.Text.Trim() != "")
            {
                HZXQty = ClsPub.isDoule(txtHZXQty.Text);
            }
            else
            {
                HZXQty = ClsPub.isDoule(txtHMiniQty.Text);
            }
            if (HZXQty <= 0)
            {
                MessageBox.Show("请输入整箱数量!");
                return;
            }
            //2.刷新网格
            //Display();
            //3.把整箱数量 åˆ†é…åˆ° ç½‘格下面的每一个 ç”Ÿäº§è®¢å•上去。  å¾ªçŽ¯ç½‘æ ¼
            for(int i =0;i<grdMain.Rows.Count;i++)
            {
                if (HZXQty > 0)
                {
                    if (HZXQty > DBUtility.ClsPub.isDoule(grdMain.Rows[i].Cells["生产订单数量"].Value))
                    {
                        HZXQty = HZXQty - DBUtility.ClsPub.isDoule(grdMain.Rows[i].Cells["生产订单数量"].Value);
                        grdMain.Rows[i].Cells["本次数量"].Value = DBUtility.ClsPub.isDoule(grdMain.Rows[i].Cells["生产订单数量"].Value);
                    }
                    else
                    {
                        grdMain.Rows[i].Cells["本次数量"].Value = HZXQty;
                        break;
                    }
                }
                else
                {
                    break;
                }
            }
            Sub_SaveBarCode();
            //
            ////1.获取界面上面整箱数量框输入的数量 èµ‹å€¼ç»™å˜é‡  å¹¶åˆ·æ–°ç½‘æ ¼
            //double HBarCodeQty = 0;
            //double HZXQty = 0;
            //HZXQty = ClsPub.isDoule(txtHZXQty.Text);
            //if (HZXQty ==0)
            ////根据本箱数量 æ¥ åˆ†é…åˆ° æ¯ä¸ªç”Ÿäº§è®¢å•上(分配时 è¦è€ƒè™‘ è®¢å•剩余数量已经是 è´Ÿæ•°çš„æƒ…况)
            ////如果有标准装箱数量 å…ˆé»˜è®¤å–标准装箱数量  æ²¡æœ‰å†å–手输的本箱数量
            ////1.判断本箱数量 å¿…须大于0
            //double HZXQty = 0;//整箱数量
            //if (txtHZXQty.Text.Trim() != "")
            //{
            //    HZXQty = ClsPub.isDoule(txtHZXQty.Text);
            //}
            //else
            //{
            //    HZXQty = ClsPub.isDoule(txtHMiniQty.Text);
            //}
            //if (HZXQty <= 0)
            //{
            //    MessageBox.Show("请输入整箱数量!");
            //    return;
            //}
            //Display();
            ////2.获取网格选中行物料ID
            ////int a = grdMain.CurrentRow.Index;
            ////long HMaterID = 0;
            //////HMaterID = DBUtility.ClsPub.isLong(grdMain.Rows[a].Cells[Fun_GetCol("HMaterID")].Value);
            ////    if (HMaterID == 0)
            ////    {
            ////        MessageBox.Show("没有选中任何记录!");
            ////        return;
            ////    }
            ////3.定义是否组托的变量
            //int Mul = 0;
            ////4.根据单据类型获取本次条码主内码HInterID
            //HInterID = DBUtility.ClsPub.CreateBillID_Prod(ModName, ref DBUtility.ClsPub.sExeReturnInfo);
            //for (int i = 0; i < grdMain.Rows.Count; i++)
            ////2.刷新网格
            ////Display();
            ////3.把整箱数量 åˆ†é…åˆ° ç½‘格下面的每一个 ç”Ÿäº§è®¢å•上去。  å¾ªçŽ¯ç½‘æ ¼
            //for(int i =0;i<grdMain.Rows.Count;i++)
            //{
            //    //获取网格里面每一行订单对应的订单数量
            //    double HDDQty = 0;
            //    HDDQty = DBUtility.ClsPub.isDoule(grdMain.Rows[grdMain.Rows[i].Index].Cells[Fun_GetCol("订单数量")].Value);
            //    //获取当前系统登陆组织代码
            //    HOrgNumber = ClsPub.HOrgNumber;
            //    //自动匹配逻辑  åˆ¤æ–­è®¢å•数量是否大于整箱数量   å¦‚果订单数量大于整箱数量  ç›´æŽ¥ç”Ÿæˆå”¯ä¸€ç 
            //    //如果订单数量小于整箱数量  åˆ™å¾ªçŽ¯ç”Ÿæˆå”¯ä¸€ç    ç”Ÿæˆå¯¹åº”的托条码
            //        if (HDDQty >= HZXQty)
            //    if (HZXQty > 0)
            //    {
            //        if (HZXQty > DBUtility.ClsPub.isDoule(grdMain.Rows[i].Cells["生产订单数量"].Value))
            //        {
            //            HBarCodeQty = HZXQty;
            //            this.Sub_SaveBill_TTM();
            //            Display();
            //            Mul = Mul + 1;
            //            break;
            //            HZXQty = HZXQty - DBUtility.ClsPub.isDoule(grdMain.Rows[i].Cells["生产订单数量"].Value);
            //            grdMain.Rows[i].Cells["本次数量"].Value = DBUtility.ClsPub.isDoule(grdMain.Rows[i].Cells["生产订单数量"].Value);
            //            //MessageBox.Show("请点击超额生产按钮生成条码!");
            //            //return;
            //        }
            //        else if(HDDQty < HZXQty)
            //        else if (HZXQty == 0)
            //        {
            //            HBarCodeQty = HDDQty;
            //            HZXQty = HZXQty - HDDQty;
            //            this.Sub_SaveBill_TTM();
            //            Mul = Mul + 1;
            //            continue;
            //            return;
            //        }
            //        else
            //        {
            //            grdMain.Rows[i].Cells["本次数量"].Value = HZXQty;
            //            //
            //    //如果Mul>1 æ–°å¢žç»„托单主表
            //            //HZXQty = HZXQty - DBUtility.ClsPub.isDoule(grdMain.Rows[i].Cells["生产订单数量"].Value);
            //            //grdMain.Rows[i].Cells["本次数量"].Value = DBUtility.ClsPub.isDoule(grdMain.Rows[i].Cells["生产订单数量"].Value);
            //        }
            //    }
            //    else
            //    {
            //        break;
            //    }
            //}
            //Sub_SaveBarCode();
            ////
            //if (Mul > 1)
            //{
            //    //HICMOBillNo = DBUtility.ClsPub.isStrNull(grdMain.Rows[i].Cells[Fun_GetCol("生产订单号")].Value);
            //    DataSet DS1;
            //    HTTMNumber = HOrgNumber + HICMOBillNo;
            //    DS1 = oCn.RunProcReturn("exec h_p_WMS_GetMaxNo '" + HTTMNumber + "'", "h_p_WMS_GetMaxNo");    //获取最大流水号
            //    TLSH = ClsPub.isInt(DS1.Tables[0].Rows[0][0]);
            //    TLSH2 = TLSH.ToString();
            //    TTM = HTTMNumber + TLSH2;
            //    HInterID_TTM = DBUtility.ClsPub.CreateBillID_Prod(ModName1, ref DBUtility.ClsPub.sExeReturnInfo);
            //    HBillNo_TTM = DBUtility.ClsPub.CreateBillCode_Prod(ModName1, ref DBUtility.ClsPub.sExeReturnInfo, true);//得到新单号
            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++)
                    {
            //    string HDate = "";
            //    string HYear = "";
            //    string HPeriod = "";
            //    string HDay = "";
            //    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);
                        HICMOQty += Pub_Class.ClsPub.isDoule(this.grdMain.Rows[i1].Cells["生产订单数量"].Value);
                    }
                    if (HICMOQty < num)
                    {
                        MessageBox.Show("请点击超额生产按钮生成条码!");
                        break;
                    }
            //    oCn.RunProc("insert into Sc_PackUnionBillMain (HYear,HPeriod,HBillType,HInterID,HDate" +
            //                       ",HBillNo,HBillStatus,HICMOBillNo,HBarCode_Pack,HMaterID,HUnitID,HWeight" +
            //                       ",HPWeight,HProdOrgID,HDeptID,HEmpID,HSNum,HPackNum,HBarCode_Cus,HBatchNo " +
            //                       ") values ("
            //                       + HYear + "," + HPeriod + ",'3783'," + HInterID_TTM + ",'" + HDate + "'"
            //                       + ", " + HBillNo_TTM.ToString() + ",1,''," + TTM.ToString() + ",0,0,0"
            //                       + ",0,1,0,0,0,0,'','')");
            //}
            ////3.先判断物料是否一致  å¦‚果一致开始循环网格
            //for (int i = 0; i < grdMain.Rows.Count; i++)
            //{
            //    //long HGrdMaterID = 0;
            //    //HGrdMaterID = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.Rows[i].Index].Cells[Fun_GetCol("HMaterID")].Value);
            //    //if (HGrdMaterID == HMaterID)
            //    //{
            //    //    double HDDQty = 0;
            //    //    HDDQty = DBUtility.ClsPub.isDoule(grdMain.Rows[grdMain.Rows[i].Index].Cells[Fun_GetCol("订单数量")].Value);
            //    //    //如果循环的该行记录的订单数量已经大于等于本次装箱数量  åˆ™ç›´æŽ¥ç”Ÿæˆå”¯ä¸€ç   å¹¶ä¸”刷新网格  åˆ·æ–°æ¡ç ä¿¡æ¯é¡µ
            //    //    if (HDDQty >= HZXQty)
            //    //    {
            //    //        double HBarCodeQty = 0;
            //    //        HBarCodeQty = HZXQty;
            //    //        this.Sub_SaveBill();
            //    //        Display();
            //    //    }
            //    //    //如果改行记录订单数量小于本次装箱数量 åˆ™ç»§ç»­å¾ªçޝ  èµ°ç”Ÿæˆæ‰˜æ¡ç æ–¹æ³•
            //    //    else
            //    //    {
            //    //        //查出符合条件的选中这条数量跟装箱数量的差异值
            //    //        double HCYQty = 0;
            //    //        HCYQty = HZXQty - DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.Rows[i].Index].Cells[Fun_GetCol("订单数量")].Value);
            //    //    }
            //    //}
            //    //else
            //    //{
            //    //}
            //}
                    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();
            }
        }
        private void Sub_SaveBill()
@@ -1430,9 +1362,49 @@
                }
                if (cmbHBarCodeType.Text == "唯一条码")
                {
                    //条码编号 = æ¡ç å‰ç¼€ + æµæ°´å·
                    TM = HTMNumber + LSH2;
                    HDate = DateTime.Now.ToShortDateString();
                    DataSet DSet = oCn.RunProcReturn("select * from Gy_FactoryDayOff Where HFactoryDayOffDate='" + HDate.ToString() + "'", "Gy_FactoryDayOff", ref DBUtility.ClsPub.sExeReturnInfo);
                    //生成首行标题
                    if (DSet == null || DSet.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);
                        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]);
                        TM = HTMNumber + LSH2;
                    }
                    else
                    {
                        HDate = DBUtility.ClsPub.isStrNull(DSet.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);
                        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]);
                        TM = HTMNumber + LSH2 + "+";
                    }
                    //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);
                    //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]);
                }
                //if (cmbHBarCodeType.Text == "唯一条码")
                //{
                //    //条码编号 = æ¡ç å‰ç¼€ + æµæ°´å·
                //    TM = HTMNumber + LSH2;
                //}
                if (TM.Trim() == "")
                {
                    MessageBox.Show("条形码不能为空,不能生成条码!");
@@ -1725,14 +1697,17 @@
        private void cmdHSourceID_Click(object sender, EventArgs e)
        {
            Int64 HEmpID = 0;
            HEmpID = ClsPub.isLong(txtHEmpID.Tag);
            string HEmpName = "";
            HEmpName = ClsPub.isStrNull(txtHEmpID.Text);
            HEmpID = Convert.ToInt64(txtHEmpID.Tag);
            //MessageBox.Show(ClsPub.isStrNull(HEmpID));
            //string HEmpName = "";
            //HEmpName = ClsPub.isStrNull(txtHEmpID.Text);
            DAL.ClsGy_Source_View oSource = new DAL.ClsGy_Source_View();
            if (HEmpName != "")
            if (HEmpID != 0)
            {
                if (oSource.GetInfoByID(HEmpID))
                if (oSource.GetInfoByID_AoBang(HEmpID))
                {
                    this.txtHSourceID.Text = oSource.oModel.HName;
                    this.txtHSourceID.Tag = oSource.oModel.HItemID.ToString();
@@ -1950,6 +1925,7 @@
            grdList.DataSource = null;
            grdSub.DataSource = null;
            grdMain.DataSource = null;
            txtHEmpID.Tag = 0;
        }
        private void button2_Click(object sender, EventArgs e)
@@ -2063,5 +2039,49 @@
            Sub_SaveBarCode();
            //
        }
        private void cmdESOP_Click(object sender, EventArgs e)
        {
            Sc_MESNowWorkBill_Fast oSc_MESNowWorkBill_Fast = new Sc_MESNowWorkBill_Fast();
            oSc_MESNowWorkBill_Fast.txtHICMOBillNo.Text = "";
            oSc_MESNowWorkBill_Fast.txtHMaterID.Text =txtHMaterID.Text;
            oSc_MESNowWorkBill_Fast.txtHName.Text = ClsPub.isStrNull(grdMain.Rows[0].Cells[Fun_GetCol("物料名称")].Value);
            oSc_MESNowWorkBill_Fast.txtHModel.Text = ClsPub.isStrNull(grdMain.Rows[0].Cells[Fun_GetCol("规格型号")].Value);
            oSc_MESNowWorkBill_Fast.Show();
        }
        private void txtHBarCode_KeyDown(object sender, KeyEventArgs e)
        {
            if(e.KeyCode==Keys.Enter)
            {
                //
                //获取第一行条形码进行打印
                DataSet DSet = oCn.RunProcReturn("select * from h_v_IF_BarCodeBillList_CS Where  æ¡ç ç¼–号='"+ txtHBarCode.Text +"' and æ¡ç ç±»åž‹ = '托盘条码'", "h_v_IF_BarCodeBillList_CS", ref DBUtility.ClsPub.sExeReturnInfo);
                //生成首行标题
                if (DSet == null)
                {
                    MessageBox.Show("没有返回任何结果,条码不存在!" + DBUtility.ClsPub.sExeReturnInfo);
                    return;
                }
                //
                grdList.DataSource = DSet.Tables[0].DefaultView;
                //冻结
                int FrCol = 0;
                string s = "是";
                DBUtility.Xt_BaseBillFun.DisplayGrid(grdList, this.Name + "grdList", s, FrCol);
                //
                //判断是否已经生成条码
                if (DBUtility.ClsPub.isStrNull(grdList.Rows[0].Cells[Fun_GetColList("条码编号")].Value) == "")
                {
                    MessageBox.Show("条码未生成,请先生成条码后再预览!");
                    return;
                }
                //选择打印模板
                Sub_SetReport("注塑物料标签");
                Report.Print(false);
                Thread.Sleep(1000);
            }
        }
    }
}