WarM/ÌõÂë´òÓ¡/Gy_BarCodeBill_XB_SelectMater.cs
@@ -8,6 +8,7 @@
using gregn6Lib;
using Pub_Class;
using System.Threading;
using System.Text.RegularExpressions;
namespace WarM
{
@@ -37,47 +38,51 @@
        public const Int16 HBarCodeTypeCol = 16;
        public const Int16 HQtyCol = 17;
        public const Int16 HMinQtyCol = 18;
        public const Int16 HBQtyCol = 19;
        public const Int16 HinitQtyCol = 20;
        public const Int16 HISKFPERIODCol = 21;
        public const Int16 HProduceDateCol = 22;
        public const Int16 HExpiryDateCol = 23;
        public const Int16 HEXPUNITCol = 24;
        public const Int16 HEXPPERIODCol = 25;
        public const Int16 HGiveAwayFlagCol = 26;
        public const Int16 HUnitIDCol = 27;
        public const Int16 HUnitNumberCol = 28;
        public const Int16 HUnitNameCol = 29;
        public const Int16 HWhIDCol = 30;
        public const Int16 HWhNumberCol = 31;
        public const Int16 HWhNameCol = 32;
        public const Int16 HSPIDCol = 33;
        public const Int16 HSPNumberCol = 34;
        public const Int16 HSPNameCol = 35;
        public const Int16 HMTONoCol = 36;
        public const Int16 HRemarkCol = 37;
        public const Int16 HDeptIDCol = 38;
        public const Int16 HDeptNumberCol = 39;
        public const Int16 HDeptNameCol = 40;
        public const Int16 HSourceIDCol = 41;
        public const Int16 HSourceNumberCol = 42;
        public const Int16 HSourceNameCol = 43;
        public const Int16 HSupIDCol = 44;
        public const Int16 HSupNumberCol = 45;
        public const Int16 HSupNameCol = 46;
        public const Int16 HGroupIDCol = 47;
        public const Int16 HGroupNumberCol = 48;
        public const Int16 HGroupNameCol = 49;
        public const Int16 HCusIDCol = 50;
        public const Int16 HCusNumberCol = 51;
        public const Int16 HCusNameCol = 52;
        public const Int16 HCusTypeCol = 53;
        public const Int16 HSeOrderBillNoCol = 54;
        public const Int16 HSeOrderSEQCol = 55;
        public const Int16 HInnerBillNoCol = 56;
        public const Int16 HEndDateCol = 57;
        public const Int16 HSourceBillQtyCol = 58;
        public const Int16 HPinfanCol = 59;
        public const Int16 HPackBarQtyCol = 19;  //规格数量,字段内容为手动输入
        public const Int16 HCoilNOCol = 20;  //钢卷号,字段内容为手动输入
        public const Int16 HFactoryCol = 21;  //产地(厂商),字段内容为手动输入
        public const Int16 HJiaYeCol = 22; //库位号
        public const Int16 HRemarkCol = 23;
        public const Int16 HBQtyCol = 24;
        public const Int16 HinitQtyCol = 25;
        public const Int16 HISKFPERIODCol = 26;
        public const Int16 HProduceDateCol = 27;
        public const Int16 HExpiryDateCol = 28;
        public const Int16 HEXPUNITCol = 29;
        public const Int16 HEXPPERIODCol = 30;
        public const Int16 HGiveAwayFlagCol = 31;
        public const Int16 HUnitIDCol = 32;
        public const Int16 HUnitNumberCol = 33;
        public const Int16 HUnitNameCol = 34;
        public const Int16 HWhIDCol = 35;
        public const Int16 HWhNumberCol = 36;
        public const Int16 HWhNameCol = 37;
        public const Int16 HSPIDCol = 38;
        public const Int16 HSPNumberCol = 39;
        public const Int16 HSPNameCol = 40;
        public const Int16 HMTONoCol = 41;
        public const Int16 HDeptIDCol = 42;
        public const Int16 HDeptNumberCol = 43;
        public const Int16 HDeptNameCol = 44;
        public const Int16 HSourceIDCol = 45;
        public const Int16 HSourceNumberCol = 46;
        public const Int16 HSourceNameCol = 47;
        public const Int16 HSupIDCol = 48;
        public const Int16 HSupNumberCol = 49;
        public const Int16 HSupNameCol = 50;
        public const Int16 HGroupIDCol = 51;
        public const Int16 HGroupNumberCol = 52;
        public const Int16 HGroupNameCol = 53;
        public const Int16 HCusIDCol = 54;
        public const Int16 HCusNumberCol = 55;
        public const Int16 HCusNameCol = 56;
        public const Int16 HCusTypeCol = 57;
        public const Int16 HSeOrderBillNoCol = 58;
        public const Int16 HSeOrderSEQCol = 59;
        public const Int16 HInnerBillNoCol = 60;
        public const Int16 HEndDateCol = 61;
        public const Int16 HSourceBillQtyCol = 62;
        public const Int16 HPinfanCol = 63;
        //
        public  string ModName = "85";
@@ -515,6 +520,13 @@
                    {
                        sHRemark = sHRemark + " ç¬¬" + ClsPub.isLong(grdMain.Rows[j].Cells[HSnoCol].Value) + "行,物料:" + ClsPub.isStrNull(grdMain.Rows[j].Cells[HMaterNameCol].Value) + " å¯ç”¨ä¿è´¨æœŸç®¡ç†ï¼Œæœ‰æ•ˆæœŸè‡³ä¸èƒ½ä¸ºç©ºï¼›";
                    }
                    // æ­£åˆ™è¡¨è¾¾å¼ï¼šåŒ¹é…æ•´æ•°ã€æµ®ç‚¹æ•°ã€æ­£è´Ÿå·ã€ç§‘学计数法(可根据需求调整)
                    string numericRegex = @"^[+-]?(\d+(\.\d*)?|\.\d+)([eE][+-]?\d+)?$";
                    if (!Regex.IsMatch(DBUtility.ClsPub.isStrNull(grdMain.Rows[j].Cells[HPackBarQtyCol].Value), numericRegex) && DBUtility.ClsPub.isStrNull(grdMain.Rows[j].Cells[HPackBarQtyCol].Value) != "")
                    {
                        sHRemark = sHRemark + " ç¬¬" + HSno + "行,规格数量不为数字格式,请输入正确的数值!";
                    }
                }
            }
            if (sHRemark != "")
@@ -594,6 +606,10 @@
                string HMaterModel = "";        //产品规格型号
                string HPinfan = "";            //品番
                DateTime HEndDate;              //计划完工日期
                double HPackBarQty = 0;        //规格数量
                string HCoilNO = "";        //钢卷号
                string HFactory = "";        //产地(厂商)
                string HJiaYe = "";        //库位号
                oCn.BeginTran();
                Application.DoEvents();
@@ -726,6 +742,10 @@
                            HMaterModel = ClsPub.isStrNull(grdMain.Rows[j].Cells[HMaterModelCol].Value);
                            HPinfan = ClsPub.isStrNull(grdMain.Rows[j].Cells[HPinfanCol].Value);
                            HEndDate = ClsPub.isDate(grdMain.Rows[j].Cells[HEndDateCol].Value);
                            HPackBarQty = ClsPub.isDoule(grdMain.Rows[j].Cells[HPackBarQtyCol].Value == "" ? 0 : grdMain.Rows[j].Cells[HPackBarQtyCol].Value);
                            HCoilNO = ClsPub.isStrNull(grdMain.Rows[j].Cells[HCoilNOCol].Value);
                            HFactory = ClsPub.isStrNull(grdMain.Rows[j].Cells[HFactoryCol].Value);
                            HJiaYe = ClsPub.isStrNull(grdMain.Rows[j].Cells[HJiaYeCol].Value);
                            oCn.RunProc("insert into Gy_BarCodeBill" +
                                    "(HInterID,HEntryID,HBarCode,HBarCodeType,HMaterID,HUnitID" +
@@ -736,7 +756,7 @@
                                    ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HInitSourceEntryID,HRemark" +
                                    ",HPrintQty,HSTOCKORGID,HOWNERID,HDeptID,HSupID,HGroupID" +
                                    ",HCusID,HCusType,HSeOrderBillNo,HSeOrderSEQ,HInnerBillNo,HWorkLineName" +
                                    ",HMaterName,HMaterModel,HPinfan,HEndDate,HMaker,HMakeDate" +
                                    ",HMaterName,HMaterModel,HPinfan,HEndDate,HMaker,HMakeDate,HPackBarQty,HCoilNO,HFactory,HJiaYe" +
                                    ") values ("
                                    + " " + HInterID.ToString() + "," + HEntryID.ToString() + ",'" + HBarCode + "','" + HBarCodeType + "'," + HMaterID.ToString() + "," + HUnitID.ToString()
                                    + ", " + HAuxPropID.ToString() + ",'" + HBatchNo + "','" + HMTONo + "'," + HQty.ToString() + "," + HinitQty.ToString() + "," + HSourceBillQty.ToString()
@@ -746,7 +766,7 @@
                                    + ", " + HSourceInterID.ToString() + "," + HSourceEntryID.ToString() + ",'" + HSourceBillNo + "','" + HSourceBillType + "'," + HInitSourceEntryID.ToString() + ",'" + HRemark + "'"
                                    + ", " + HPrintQty.ToString() + "," + HSTOCKORGID.ToString() + "," + HOWNERID.ToString() + "," + HDeptID.ToString() + "," + HSupID.ToString() + "," + HGroupID.ToString()
                                    + ", " + HCusID.ToString() + ",'" + HCusType + "','" + HSeOrderBillNo + "'," + HSeOrderSEQ.ToString() + ",'" + HInnerBillNo + "','" + HWorkLineName + "'"
                                    + ",'" + HMaterName + "','" + HMaterModel + "','" + HPinfan + "','" + HEndDate.ToShortDateString() + "','" + ClsPub.CurUserName + "',getdate()" +
                                    + ",'" + HMaterName + "','" + HMaterModel + "','" + HPinfan + "','" + HEndDate.ToShortDateString() + "','" + ClsPub.CurUserName + "',getdate()" + "," + HPackBarQty + ",'" + HCoilNO + "','" + HFactory + "','" + HJiaYe + "'" +
                                    ")");
                            n = n + 1;
                            nn = nn + 1;
@@ -807,7 +827,7 @@
        private void initGrid()
        {
            grdMain.RowCount = 0;
            grdMain.ColumnCount = 60;                       //总列数
            grdMain.ColumnCount = 64;                       //总列数
            DBUtility.Xt_BaseBillFun.initGridFst(grdMain, this.Name);
            grdMain.Columns[HSnoCol].HeaderText = "序号";
            grdMain.Columns[HMainIDCol].HeaderText = "源单主ID";
@@ -831,6 +851,11 @@
            grdMain.Columns[HQtyCol].HeaderText = "数量";
            grdMain.Columns[HMinQtyCol].HeaderText = "最小包装数";
            grdMain.Columns[HBQtyCol].HeaderText = "箱数";
            grdMain.Columns[HPackBarQtyCol].HeaderText = "规格数量";
            grdMain.Columns[HCoilNOCol].HeaderText = "钢卷号";
            grdMain.Columns[HFactoryCol].HeaderText = "产地";
            grdMain.Columns[HJiaYeCol].HeaderText = "库位号";
            grdMain.Columns[HRemarkCol].HeaderText = "备注";
            grdMain.Columns[HinitQtyCol].HeaderText = "初始化数量";
            grdMain.Columns[HSourceBillQtyCol].HeaderText = "源单可生成条码数量";
            grdMain.Columns[HBarCodeTypeCol].HeaderText = "条码类型";
@@ -847,7 +872,6 @@
            grdMain.Columns[HSPNumberCol].HeaderText = "仓位代码";
            grdMain.Columns[HSPNameCol].HeaderText = "仓位";
            grdMain.Columns[HMTONoCol].HeaderText = "计划跟踪号";
            grdMain.Columns[HRemarkCol].HeaderText = "备注";
            grdMain.Columns[HDeptIDCol].HeaderText = "车间ID";
            grdMain.Columns[HDeptNumberCol].HeaderText = "车间代码";
            grdMain.Columns[HDeptNameCol].HeaderText = "车间";
@@ -925,6 +949,10 @@
                                "," + HBatchNoCol.ToString() +
                                "," + HBarCodeTypeCol.ToString() +
                                "," + HProduceDateCol.ToString() +
                                "," + HPackBarQtyCol.ToString() +
                                "," + HCoilNOCol.ToString() +
                                "," + HFactoryCol.ToString() +
                                "," + HJiaYeCol.ToString() +
                                "," + HRemarkCol.ToString();
            //设置合计列
@@ -1057,6 +1085,10 @@
                                        grdMain.Rows[sRow].Cells[HISKFPERIODCol].Value = oMater.omodel.HISKFPERIOD;
                                        grdMain.Rows[sRow].Cells[HSubjoin2Col].Value = oMater.omodel.HSubjoin2;
                                        grdMain.Rows[sRow].Cells[HBarCodeTypeCol].Value = "唯一条码";
                                        grdMain.Rows[sRow].Cells[HPackBarQtyCol].Value = 0;
                                        grdMain.Rows[sRow].Cells[HCoilNOCol].Value = "";
                                        grdMain.Rows[sRow].Cells[HFactoryCol].Value = "";
                                        grdMain.Rows[sRow].Cells[HJiaYeCol].Value = "";
                                        //启用批次
                                        if (oMater.omodel.HBatchManager)
                                        {
@@ -1105,6 +1137,10 @@
                                        grdMain.Rows[sRow].Cells[HEXPPERIODCol].Value = "";
                                        grdMain.Rows[sRow].Cells[HProduceDateCol].Value = "";
                                        grdMain.Rows[sRow].Cells[HExpiryDateCol].Value = "";
                                        grdMain.Rows[sRow].Cells[HPackBarQtyCol].Value = 0;
                                        grdMain.Rows[sRow].Cells[HCoilNOCol].Value = "";
                                        grdMain.Rows[sRow].Cells[HFactoryCol].Value = "";
                                        grdMain.Rows[sRow].Cells[HJiaYeCol].Value = "";
                                    }
                                }
                                else
@@ -1128,6 +1164,10 @@
                                    grdMain.Rows[sRow].Cells[HEXPPERIODCol].Value = "";
                                    grdMain.Rows[sRow].Cells[HProduceDateCol].Value = "";
                                    grdMain.Rows[sRow].Cells[HExpiryDateCol].Value = "";
                                    grdMain.Rows[sRow].Cells[HPackBarQtyCol].Value = 0;
                                    grdMain.Rows[sRow].Cells[HCoilNOCol].Value = "";
                                    grdMain.Rows[sRow].Cells[HFactoryCol].Value = "";
                                    grdMain.Rows[sRow].Cells[HJiaYeCol].Value = "";
                                }
                                break;
@@ -1546,6 +1586,10 @@
                                "," + HBatchNoCol.ToString() +
                                "," + HBarCodeTypeCol.ToString() +
                                "," + HProduceDateCol.ToString() +
                                "," + HPackBarQtyCol.ToString() +
                                "," + HCoilNOCol.ToString() +
                                "," + HFactoryCol.ToString() +
                                "," + HJiaYeCol.ToString() +
                                "," + HRemarkCol.ToString();
            grdMain.Columns[HBillNoCol].ReadOnly = true;
            //设置合计列
@@ -2047,6 +2091,10 @@
                grdMain.Rows[row + r].Cells[HBatchNoCol].Value = grdMain.Rows[row].Cells[HBatchNoCol].Value;
                grdMain.Rows[row + r].Cells[HQtyCol].Value = DBUtility.ClsPub.isDoule(hq, 4);
                grdMain.Rows[row + r].Cells[HMinQtyCol].Value = 0;
                grdMain.Rows[row + r].Cells[HPackBarQtyCol].Value = 0;
                grdMain.Rows[row + r].Cells[HCoilNOCol].Value = "";
                grdMain.Rows[row + r].Cells[HFactoryCol].Value = "";
                grdMain.Rows[row + r].Cells[HJiaYeCol].Value = "";
                grdMain.Rows[row + r].Cells[HSourceBillQtyCol].Value = DBUtility.ClsPub.isDoule(hq, 4);
                grdMain.Rows[row + r].Cells[HProduceDateCol].Value = grdMain.Rows[row].Cells[HProduceDateCol].Value;
                grdMain.Rows[row + r].Cells[HExpiryDateCol].Value = grdMain.Rows[row].Cells[HExpiryDateCol].Value;