ch
2022-10-20 e79ef1f195754b2afdc8e1e149d64774c7757ad9
WarM/ÌõÂë´òÓ¡/Gy_BarCodeBillList.cs
@@ -37,6 +37,7 @@
        public string PrintQtyCtl = "";         //条码打印次数控制
        public string UpdatePrintQtyCtl = "";   //条码打印次数更新
        public string SourceQtyCtl = "";        //超源单数量控制
        public string CampanyName = "";         //客户定制化名称
        #region  å›ºå®šä»£ç 
@@ -70,6 +71,7 @@
                PrintQtyCtl = oSystemParameter.omodel.BarCode_PrintQtyCtl;
                UpdatePrintQtyCtl = oSystemParameter.omodel.BarCode_UpdatePrintQtyCtl;
                SourceQtyCtl = oSystemParameter.omodel.BarCode_SourceQtyCtl;
                CampanyName = oSystemParameter.omodel.WMS_CampanyName;
            }
        }
@@ -598,9 +600,134 @@
        #endregion
        #region  ç»‘定托条码
        private void bdBarCode_Pack_Click(object sender, EventArgs e)
        {
            if (grdMain.CurrentRow == null)
            {
                MessageBox.Show("请先选择需要绑定的条码!", "提示");
                return;
            }
            else
            {
                Int64 hmainid = 0;
                string HItemID = "";
                string s = "";
                string HBarCode_Pack = "";
                for (int i = 0; i <= grdMain.SelectedRows.Count - 1; i++)
                {
                    if (s.Length > 4500)
                    {
                        HItemID = HItemID + "#" + DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("hmainid")].Value.ToString());
                        s = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("hmainid")].Value.ToString());
                    }
                    else
                    {
                        HItemID = HItemID + "," + DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("hmainid")].Value.ToString());
                        s = s + "," + DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("hmainid")].Value.ToString());
                    }
                    //获取托条码号:托条码=所选条码中流水号最大的条码+‘-1’
                    if (hmainid<DBUtility.ClsPub.isLong(grdMain.SelectedRows[i].Cells[Fun_GetCol("hmainid")].Value.ToString()))
                    {
                        hmainid = DBUtility.ClsPub.isLong(grdMain.SelectedRows[i].Cells[Fun_GetCol("hmainid")].Value.ToString());
                        HBarCode_Pack = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("条码编号")].Value) + "-1";
                    }
                }
                try
                {
                    oCn.BeginTran();
                    Int64 HFlag = 0;
                    HItemID = HItemID.Remove(0, 1);     //去掉字符串第一个字符
                    string[] NewHItemID;
                    NewHItemID = HItemID.Split(Convert.ToChar("#"));
                    for (int i = 0; i <= NewHItemID.Length - 1; i++)
                    {
                        if(i == NewHItemID.Length - 1)
                        {
                            HFlag = 1;
                        }
                        //托条码绑定前判断,回填托条码信息,生成托条码
                        DataSet DS = oCn.RunProcReturn("exec h_p_Gy_BarCodeBill_BindPack '" + NewHItemID[i] + "','" + HBarCode_Pack + "','" + CampanyName + "'," + HFlag + ",'" + DBUtility.ClsPub.CurUserName + "'", "h_p_Gy_BarCodeBill_BindPack");
                        if (DS == null || DS.Tables[0].Rows.Count <= 0)
                        {
                            oCn.CnClose();
                            oCn.CnDispose();
                            MessageBox.Show("绑定并生成托条码判断错误!");
                            return;
                        }
                        else if (DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0][0]) == "1")
                        {
                            oCn.CnClose();
                            oCn.CnDispose();
                            MessageBox.Show(DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HRemark"]));
                            return;
                        }
                    }
                    MessageBox.Show("绑定并生成托条码成功!", "提示");
                    Display();
                    oCn.Commit();
                }
                catch (Exception e2)
                {
                    oCn.RollBack();
                    throw (e2);
                }
            }
        }
        #endregion
        #region  è§£ç»‘托条码
        private void jbBarCode_Pack_Click(object sender, EventArgs e)
        {
            if (grdMain.CurrentRow == null)
            {
                MessageBox.Show("请先选择需要解绑的条码!", "提示");
                return;
            }
            if (grdMain.SelectedRows.Count != 1)
            {
                MessageBox.Show("一次只允许选中一行条码记录,请重新选择需要解绑的条码!");
                return;
            }
            else
            {
                Int64 HItemID = 0;
                HItemID = DBUtility.ClsPub.isLong(grdMain.SelectedRows[0].Cells[Fun_GetCol("hmainid")].Value);
                //托条码解绑前判断,回填托条码信息,删除托条码
                DataSet DS = oCn.RunProcReturn("exec h_p_Gy_BarCodeBill_UnBindPack " + HItemID + ",'" + CampanyName + "'", "h_p_Gy_BarCodeBill_UnBindPack");
                if (DS == null || DS.Tables[0].Rows.Count <= 0)
                {
                    MessageBox.Show("解绑并删除托条码判断错误!");
                    return;
                }
                else if (DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0][0]) == "1")
                {
                    MessageBox.Show(DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HRemark"]));
                    return;
                }
                else
                {
                    MessageBox.Show("解绑并删除托条码成功!", "提示");
                    Display();
                }
            }
        }
        #endregion
    }