WarM/ÌõÂë´òÓ¡/Gy_BarCodeBill_Rework.cs
@@ -27,7 +27,7 @@
        public const Int16 HMaterIDCol = 6;
        public const Int16 HMaterNumberCol = 7;
        public const Int16 HMaterNameCol = 8;
        public const Int16 HPinfanCol = 9;
        public const Int16 HSubjoin2Col = 9;
        public const Int16 HMaterModelCol = 10;
        public const Int16 HAuxPropIDCol = 11;
        public const Int16 HAuxPropNumberCol = 12;
@@ -77,6 +77,8 @@
        public const Int16 HInnerBillNoCol = 56;
        public const Int16 HEndDateCol = 57;
        public const Int16 HSourceBillQtyCol = 58;
        public const Int16 HPinfanCol = 59;
        //
        public  string ModName = "85";
        public  string ModCaption = "条码生成";
@@ -259,8 +261,6 @@
            this.lblCaption.Text = ModCaption;
            //加载组织信息
            Sub_AddOrdList();
            //加载源单类型
            Sub_AddHSourceBillTypeList();
            //获取系统参数
            ClsXt_SystemParameter oSystemParameter = new ClsXt_SystemParameter();
@@ -307,25 +307,7 @@
            cmbHOrgID.DisplayMember = "HName";
            cmbHOrgID.ValueMember = "HItemID";
        }
        //加载源单类型
        private void Sub_AddHSourceBillTypeList()
        {
            DataSet ds = oCn.RunProcReturn("exec h_p_Gy_BarCodeBill_SourceBillType " + HOrgID.ToString(), "h_p_Gy_BarCodeBill_SourceBillType");
            if (ds == null || ds.Tables[0].Rows.Count == 0)
            {
                cmbSourceBillType.DataSource = null;
                cmbSourceBillType.Items.Clear();
                MessageBox.Show("获取源单类型失败");
                return;
            }
            cmbSourceBillType.DataSource = null;
            cmbSourceBillType.Items.Clear();
            cmbSourceBillType.DataSource = ds.Tables[0];
            cmbSourceBillType.DisplayMember = "HName";
            cmbSourceBillType.ValueMember = "HItemID";
        }
        //窗体尺寸变化时
        private void Gy_BarCodeBill_Rework_Resize(object sender, EventArgs e)
        {
@@ -567,7 +549,6 @@
                int HSumBQty = 0;               //同一批生成条码总箱数
                int n = 0;                      //同一批生成条码中的第几条
                DataSet Ds;
                pb1.Value = 0;
                Int64 HEntryID = 0;             //子ID
                string HBarCode = "";           //条形码 
@@ -622,7 +603,6 @@
                    if (ClsPub.isLong(grdMain.Rows[j].Cells[HMaterIDCol].Value) != 0)
                    {
                        HSumBQty = HSumBQty + ClsPub.isInt(grdMain.Rows[j].Cells[HBQtyCol].Value);
                        pb1.Maximum = HSumBQty;
                    }
                }
                for (int j = 0; j < grdMain.Rows.Count; j++)
@@ -642,39 +622,13 @@
                        //==================================
                        if (HBarCodeType == "唯一条码")
                        {
                            if (CampanyName == "中控")
                            {
                                HSourceBillNo = DBUtility.ClsPub.isStrNull(grdMain.Rows[j].Cells[HBillNoCol].Value);
                                sSourceEntryID = DBUtility.ClsPub.isStrNull(grdMain.Rows[j].Cells[HSubIDCol].Value);
                                if (HSourceBillNo == "")
                                {
                                    //条码前缀 = ç»„织代码 + ç‰©æ–™ä»£ç  + å¹´ + æœˆ + æ—¥
                                    sTMNumber = HOrgNumber + sMaterID + sYear + sPeriod + sDay;
                                    Ds = oCn.RunProcReturn("exec h_p_WMS_GetMaxNo '" + sTMNumber + "'", "h_p_WMS_GetMaxNo");    //获取最大流水号
                                    LSH = ClsPub.isLong(Ds.Tables[0].Rows[0][0]);
                                }
                                else
                                {
                                    //条码 = æºå•单号 + ç‰©æ–™ID + è¡Œå·
                                    sTMNumber = HSourceBillNo + sMaterID + sSourceEntryID;
                                }
                            }
                            else  //通用方法
                            {
                                //条码前缀 = ç»„织代码 + ç‰©æ–™ä»£ç  + å¹´ + æœˆ + æ—¥
                                sTMNumber = HOrgNumber + sMaterID + sYear + sPeriod + sDay;
                                Ds = oCn.RunProcReturn("exec h_p_WMS_GetMaxNo '" + sTMNumber + "'", "h_p_WMS_GetMaxNo");    //获取最大流水号
                                LSH = ClsPub.isLong(Ds.Tables[0].Rows[0][0]);
                            }
                        }
                        else if (HBarCodeType == "品种条码")
                        {
                            TM = HOrgNumber + sMaterID;
                        }
                        else if (HBarCodeType == "批次条码")
                        {
                            TM = HOrgNumber + sMaterID + HBatchNo;
                        }
                            //条码前缀 = ç»„织代码 + ç‰©æ–™ä»£ç  + å¹´ + æœˆ + æ—¥
                            //sTMNumber = HOrgNumber + sMaterID + sYear + sPeriod + sDay;
                            sTMNumber = sYear + sPeriod + sDay;
                            Ds = oCn.RunProcReturn("exec h_p_WMS_GetMaxNo_ReWorkBar '" + sTMNumber + "'", "h_p_WMS_GetMaxNo_ReWorkBar");    //获取最大流水号
                            LSH = ClsPub.isLong(Ds.Tables[0].Rows[0][0]);
                        }
                        else
                        {
                            MessageBox.Show("错误的条码类型,不能生成条码!");
@@ -716,31 +670,11 @@
                            }
                            if (HBarCodeType == "唯一条码")
                            {
                                if (CampanyName == "中控")
                                {
                                    if (HSourceBillNo == "")
                                    {
                                        //条码编号 = æ¡ç å‰ç¼€ + æµæ°´å·
                                        TM = sTMNumber + LSH2;
                                    }
                                    else
                                    {
                                        if (HBQty > 1)
                                        {
                                            MessageBox.Show("生产汇报单、收料通知单生成条码时,箱数不能大于1!");
                                            bc.Enabled = true;
                                            oCn.RollBack();
                                            return;
                                        }
                                        //条码编号 = æ¡ç å‰ç¼€
                                        TM = sTMNumber;
                                    }
                                }
                                else
                                {
                                    //条码编号 = æ¡ç å‰ç¼€ + æµæ°´å·
                                    TM = sTMNumber + LSH2;
                                }
                                Int32 HModelLen = grdMain.Rows[j].Cells[HMaterModelCol].Value.ToString().Length;
                                string HModelLeft = HModelLen >= 4 ? grdMain.Rows[j].Cells[HMaterModelCol].Value.ToString() : "";
                                string HSubjoin2 = grdMain.Rows[j].Cells[HSubjoin2Col].Value.ToString();
                                //条码编号 = å·¥åŽ‚ä»£ç ï¼ˆ1) + è½¦é—´ä»£ç ï¼ˆ060113)+ æœºåž‹å· + å¹´ + æœˆ + æ—¥ + æµæ°´å·
                                TM = "1" + 060113.ToString() + HSubjoin2 + sYear + sPeriod + sDay + LSH.ToString("D5");
                            }
                            HEntryID = j + 1;
@@ -815,7 +749,6 @@
                                    + ", " + HCusID.ToString() + ",'" + HCusType + "','" + HSeOrderBillNo + "'," + HSeOrderSEQ.ToString() + ",'" + HInnerBillNo + "','" + HWorkLineName + "'"
                                    + ",'" + HMaterName + "','" + HMaterModel + "','" + HPinfan + "','" + HEndDate.ToShortDateString() + "','" + ClsPub.CurUserName + "',getdate()" +
                                    ")");
                            pb1.Value = n + 1;
                            n = n + 1;
                            nn = nn + 1;
                        }
@@ -875,7 +808,7 @@
        private void initGrid()
        {
            grdMain.RowCount = 0;
            grdMain.ColumnCount = 59;                       //总列数
            grdMain.ColumnCount = 60;                       //总列数
            DBUtility.Xt_BaseBillFun.initGridFst(grdMain, this.Name);
            grdMain.Columns[HSnoCol].HeaderText = "序号";
            grdMain.Columns[HMainIDCol].HeaderText = "源单主ID";
@@ -886,6 +819,7 @@
            grdMain.Columns[HMaterNumberCol].HeaderText = "物料代码";
            grdMain.Columns[HMaterNameCol].HeaderText = "物料名称";
            grdMain.Columns[HMaterModelCol].HeaderText = "规格型号";
            grdMain.Columns[HSubjoin2Col].HeaderText = "机型码";
            grdMain.Columns[HPinfanCol].HeaderText = "品番";
            grdMain.Columns[HUnitIDCol].HeaderText = "计量单位ID";
            grdMain.Columns[HUnitNumberCol].HeaderText = "计量单位代码";
@@ -936,6 +870,7 @@
            grdMain.Columns[HInnerBillNoCol].HeaderText = "内部采购订单号";
            grdMain.Columns[HEndDateCol].HeaderText = "计划完工日期";
            //格式化   éšè—åˆ—
            grdMain.Columns[HTagCol].Visible = false;
            grdMain.Columns[HMainIDCol].Visible = false;
@@ -977,6 +912,9 @@
            grdMain.Columns[HSeOrderSEQCol].Visible = false;
            grdMain.Columns[HInnerBillNoCol].Visible = false;
            grdMain.Columns[HEndDateCol].Visible = false;
            grdMain.Columns[HBillNoCol].Visible = false;
            grdMain.Columns[HAuxPropNumberCol].Visible = false;
            grdMain.Columns[HAuxPropNameCol].Visible = false;
            //设置可编辑列
            string sAllowCol = HQtyCol.ToString() +
@@ -1016,17 +954,9 @@
                grdMain.Rows[i].Cells[HGiveAwayFlagCol] = oCell3;
                //网格下拉选择框
                DataGridViewComboBoxCell column = new DataGridViewComboBoxCell();
                if (CampanyName == "中控")
                {
                    column.Items.Add("批次条码");
                    column.Items.Add("品种条码");
                }
                else
                {
                    column.Items.Add("唯一条码");
                    column.Items.Add("批次条码");
                    column.Items.Add("品种条码");
                }
                column.Items.Add("唯一条码");
                grdMain.Rows[i].Cells[HBarCodeTypeCol] = column;
            }
@@ -1125,7 +1055,8 @@
                                        grdMain.Rows[sRow].Cells[HAuxPropNameCol].Value = oMater.omodel.HAuxPropName;
                                        grdMain.Rows[sRow].Cells[HBatchManagerCol].Value = oMater.omodel.HBatchManager;
                                        grdMain.Rows[sRow].Cells[HISKFPERIODCol].Value = oMater.omodel.HISKFPERIOD;
                                        grdMain.Rows[sRow].Cells[HBarCodeTypeCol].Value = oMater.omodel.HBarCodeType;
                                        grdMain.Rows[sRow].Cells[HSubjoin2Col].Value = oMater.omodel.HSubjoin2;
                                        grdMain.Rows[sRow].Cells[HBarCodeTypeCol].Value = "唯一条码";
                                        //启用批次
                                        if (oMater.omodel.HBatchManager)
                                        {
@@ -1150,12 +1081,7 @@
                                            grdMain.Rows[sRow].Cells[HProduceDateCol].Value = "";
                                            grdMain.Rows[sRow].Cells[HExpiryDateCol].Value = "";
                                        }
                                        if (CampanyName == "中控")
                                        {
                                            grdMain.Rows[sRow].Cells[HQtyCol].Value = oMater.omodel.HQtyMin;
                                            grdMain.Rows[sRow].Cells[HBQtyCol].Value = 1;
                                        }
                                        oEdit.Text = oMater.omodel.HNumber;
                                    }
                                    else
@@ -1375,154 +1301,7 @@
        }
        #endregion
        #region é€‰æºå•返回信息     æŒ‰æ”¾å¤§é•œå›¾æ ‡è¿”回
        private void cmdSourceBillNo_Click(object sender, EventArgs e)
        {
            if (cmbSourceBillType.Text.Trim() == "生产订单")
            {
                string sWhere = "";
                //系统参数,生成条码数量可否超源单数量控制(N为不可超源单数量)
                if (SourceQtyCtl == "N")
                {
                    sWhere = " and HOrgID =" + HOrgID.ToString() + " and ä»»åŠ¡æ•°é‡>0";
                }
                else
                {
                    sWhere = " and HOrgID =" + HOrgID.ToString();
                }
                DAL.Cls_S_IFCLD_ICMOList oIFCLD_ICMOList = new DAL.Cls_S_IFCLD_ICMOList();
                if (oIFCLD_ICMOList.Refresh(sWhere))  //选择原单
                {
                    FillSelectData(oIFCLD_ICMOList.oBillSelectColl);
                }
            }
            else if (cmbSourceBillType.Text.Trim() == "生产汇报单")
            {
                string sWhere = " and HOrgID =" + HOrgID.ToString();
                DAL.Cls_S_IF_ICMOReportBillList oIF_ICMOReportBillList = new DAL.Cls_S_IF_ICMOReportBillList();
                if (oIF_ICMOReportBillList.Refresh(sWhere))  //选择原单
                {
                    FillSelectData(oIF_ICMOReportBillList.oBillSelectColl);
                }
            }
            else if (cmbSourceBillType.Text.Trim() == "收料通知单")
            {
                string sWhere = " and HOrgID =" + HOrgID.ToString();
                DAL.Cls_S_IF_POInStockBillList oIF_POInStockBillList = new DAL.Cls_S_IF_POInStockBillList();
                if (oIF_POInStockBillList.Refresh(sWhere))  //选择原单
                {
                    FillSelectData(oIF_POInStockBillList.oBillSelectColl);
                }
            }
            else if (cmbSourceBillType.Text.Trim() == "采购订单")
            {
                string sWhere = " and HOrgID =" + HOrgID.ToString();
                DAL.Cls_S_IF_POOrderBillList oIF_POOrderBillList = new DAL.Cls_S_IF_POOrderBillList();
                if (oIF_POOrderBillList.Refresh(sWhere))  //选择原单
                {
                    FillSelectData(oIF_POOrderBillList.oBillSelectColl);
                }
            }
            else if (cmbSourceBillType.Text.Trim() == "委外订单")
            {
                string sWhere = " and HOrgID =" + HOrgID.ToString();
                DAL.Cls_S_IF_EntrustOrderBillList oIF_EntrustOrderBillList = new DAL.Cls_S_IF_EntrustOrderBillList();
                if (oIF_EntrustOrderBillList.Refresh(sWhere))  //选择原单
                {
                    FillSelectData(oIF_EntrustOrderBillList.oBillSelectColl);
                }
            }
            else if (cmbSourceBillType.Text.Trim() == "采购入库单")
            {
                string sWhere = "";
                DAL.Cls_S_IF_POStockInBillList oIF_POStockInBillList = new DAL.Cls_S_IF_POStockInBillList();
                if (oIF_POStockInBillList.Refresh(sWhere))  //选择原单
                {
                    FillSelectData(oIF_POStockInBillList.oBillSelectColl);
                }
            }
            else if (cmbSourceBillType.Text.Trim() == "退货通知单")
            {
                string sWhere = "";
                DAL.Cls_S_IF_SeOutStockBackBillList oIF_SeOutStockBackBillList = new DAL.Cls_S_IF_SeOutStockBackBillList();
                if (oIF_SeOutStockBackBillList.Refresh(sWhere))  //选择原单
                {
                    FillSelectData(oIF_SeOutStockBackBillList.oBillSelectColl);
                }
            }
            else if (cmbSourceBillType.Text.Trim() == "其他入库单")
            {
                string sWhere = " and HOrgID =" + HOrgID.ToString();
                DAL.Cls_S_IF_OtherInBillList oIF_OtherInBillList = new DAL.Cls_S_IF_OtherInBillList();
                if (oIF_OtherInBillList.Refresh(sWhere))  //选择原单
                {
                    FillSelectData(oIF_OtherInBillList.oBillSelectColl);
                }
            }
            else if (cmbSourceBillType.Text.Trim() == "直接调拨单")
            {
                string sWhere = " and HOrgID =" + HOrgID.ToString();
                DAL.Cls_S_IF_MoveStockBillList oIF_MoveStockBillList = new DAL.Cls_S_IF_MoveStockBillList();
                if (oIF_MoveStockBillList.Refresh(sWhere))  //选择原单
                {
                    FillSelectData(oIF_MoveStockBillList.oBillSelectColl);
                }
            }
            else if (cmbSourceBillType.Text.Trim() == "采购退料单")
            {
                string sWhere = " and HOrgID =" + HOrgID.ToString();
                DAL.Cls_S_IF_POStockInBackBillList oIF_POStockInBackBillList = new DAL.Cls_S_IF_POStockInBackBillList();
                if (oIF_POStockInBackBillList.Refresh(sWhere))  //选择原单
                {
                    FillSelectData(oIF_POStockInBackBillList.oBillSelectColl);
                }
            }
            else if (cmbSourceBillType.Text.Trim() == "生产退料单")
            {
                string sWhere = " and HOrgID =" + HOrgID.ToString();
                DAL.Cls_S_IF_MateOutBackBillList oIF_MateOutBackBillList = new DAL.Cls_S_IF_MateOutBackBillList();
                if (oIF_MateOutBackBillList.Refresh(sWhere))  //选择原单
                {
                    FillSelectData(oIF_MateOutBackBillList.oBillSelectColl);
                }
            }
            else if (cmbSourceBillType.Text.Trim() == "组装拆卸单")
            {
                string sWhere = " and HOrgID =" + HOrgID.ToString();
                DAL.Cls_S_IF_PackageDismantleBillList oIF_PackageDismantleBillList = new DAL.Cls_S_IF_PackageDismantleBillList();
                if (oIF_PackageDismantleBillList.Refresh(sWhere))  //选择原单
                {
                    FillSelectData(oIF_PackageDismantleBillList.oBillSelectColl);
                }
            }
            else if (cmbSourceBillType.Text.Trim() == "工序流转卡")
            {
                string sWhere = " and HOrgID =" + HOrgID.ToString();
                DAL.Cls_S_IF_ProcessExchangeBillList oIF_ProcessExchangeBillList = new DAL.Cls_S_IF_ProcessExchangeBillList();
                if (oIF_ProcessExchangeBillList.Refresh(sWhere))  //选择原单
                {
                    FillSelectData(oIF_ProcessExchangeBillList.oBillSelectColl);
                }
            }
            else if (cmbSourceBillType.Text.Trim() == "工序汇报单")
            {
                string sWhere = " and HOrgID =" + HOrgID.ToString();
                DAL.Cls_S_IF_ProcessReportBillList oIF_ProcessReportBillList = new DAL.Cls_S_IF_ProcessReportBillList();
                if (oIF_ProcessReportBillList.Refresh(sWhere))  //选择原单
                {
                    FillSelectData(oIF_ProcessReportBillList.oBillSelectColl);
                }
            }
            else
            {
            }
        }
        private void FillSelectData(List<DBUtility.BillSelect> oList)
        {
            DataSet Ds;
@@ -1838,51 +1617,8 @@
                grdMain.Rows[i].Cells[HExpiryDateCol].Value = "";
            }
            if (CampanyName == "中控")
            {
                grdMain.Rows[i].Cells[HMinQtyCol].Value = ClsPub.isDoule(oTable.Rows[0]["未生成条码数量"]);
            }
            else
            {
                grdMain.Rows[i].Cells[HMinQtyCol].Value = oTable.Rows[0]["最小包装数"].ToString();
            }
            if (cmbSourceBillType.Text.Trim() == "收料通知单" || cmbSourceBillType.Text.Trim() == "采购订单"
                || cmbSourceBillType.Text.Trim() == "委外订单" || cmbSourceBillType.Text.Trim() == "采购入库单")
            {
                grdMain.Rows[i].Cells[HInnerBillNoCol].Value = oTable.Rows[0]["内部采购订单号"].ToString();
                grdMain.Rows[i].Cells[HSupIDCol].Value = oTable.Rows[0]["hsupid"].ToString();
                grdMain.Rows[i].Cells[HSupNumberCol].Value = oTable.Rows[0]["供应商代码"].ToString();
                grdMain.Rows[i].Cells[HSupNameCol].Value = oTable.Rows[0]["供应商"].ToString();
                if (cmbSourceBillType.Text.Trim() == "收料通知单")
                {
                    if (oTable.Rows[0]["是否赠品"].ToString() == "是")
                    {
                        grdMain.Rows[i].Cells[HGiveAwayFlagCol].Value = 1;
                    }
                    else
                    {
                        grdMain.Rows[i].Cells[HGiveAwayFlagCol].Value = 0;
                    }
                    grdMain.Rows[i].Cells[HSeOrderBillNoCol].Value = oTable.Rows[0]["销售订单号"].ToString();
                    grdMain.Rows[i].Cells[HSeOrderSEQCol].Value = oTable.Rows[0]["销售订单行号"].ToString();
                }
            grdMain.Rows[i].Cells[HMinQtyCol].Value = oTable.Rows[0]["最小包装数"].ToString();
            }
            if (cmbSourceBillType.Text.Trim() == "退货通知单")
            {
                grdMain.Rows[i].Cells[HCusIDCol].Value = oTable.Rows[0]["HCusID"].ToString();
                grdMain.Rows[i].Cells[HCusNumberCol].Value = oTable.Rows[0]["客户代码"].ToString();
                grdMain.Rows[i].Cells[HCusNameCol].Value = oTable.Rows[0]["客户"].ToString();
            }
            if (cmbSourceBillType.Text.Trim() == "其他入库单")
            {
                grdMain.Rows[i].Cells[HWhIDCol].Value = oTable.Rows[0]["HWhID"].ToString();
                grdMain.Rows[i].Cells[HWhNumberCol].Value = oTable.Rows[0]["仓库代码"].ToString();
                grdMain.Rows[i].Cells[HWhNameCol].Value = oTable.Rows[0]["仓库"].ToString();
                grdMain.Rows[i].Cells[HSPIDCol].Value = oTable.Rows[0]["HSPID"].ToString();
                grdMain.Rows[i].Cells[HSPNumberCol].Value = oTable.Rows[0]["仓位代码"].ToString();
                grdMain.Rows[i].Cells[HSPNameCol].Value = oTable.Rows[0]["仓位"].ToString();
            }
            //--
            //设置可编辑列
            string sAllowCol = HQtyCol.ToString() +
@@ -1952,10 +1688,6 @@
                grdMain.Rows[i].Cells[HExpiryDateCol].Value = "";
            }
            if (CampanyName == "中控")
            {
                grdMain.Rows[i].Cells[HMinQtyCol].Value = ClsPub.isDoule(oTable.Rows[0]["数量"]);
            }
            //--
            //设置可编辑列
            string sAllowCol = HQtyCol.ToString() +
@@ -1972,117 +1704,9 @@
            RowCount(i, 0);
        }
        #endregion
        #region é€‰æºå•返回信息     æŒ‰å›žè½¦é”®è¿”回
        private void txtHSourceBillNo_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == (char)Keys.Return)//回车带出源单信息
            {
                if (txtHSourceBillNo.Text.Length < 4)
                {
                    MessageBox.Show("请输入4位以上数据!");
                    return;
                }
                //根据源单类型 å’Œæºå•号 èŽ·å–ä¿¡æ¯
                if (cmbSourceBillType.Text.Trim() == "生产订单")
                {
                    DAL.Cls_S_IFCLD_ICMOList oIFCLD_ICMOList = new DAL.Cls_S_IFCLD_ICMOList();
                    //系统参数,生成条码数量可否超源单数量控制(N为不可超源单数量)
                    if (SourceQtyCtl == "N")
                    {
                        if (oIFCLD_ICMOList.RefreshBySourceBillNo(" Where å•据号 like '%" + txtHSourceBillNo.Text + "' and HOrgID =" + HOrgID.ToString() + " and ä»»åŠ¡æ•°é‡>0"))  //选择原单
                        {
                            FillSelectData(oIFCLD_ICMOList.oBillSelectColl);
                            txtHSourceBillNo.Text = "";
                        }
                        else
                        {
                            MessageBox.Show("未查询到任务数据,请确认所选组织、源单类型与源单单号是否正确!");
                            return;
                        }
                    }
                    else
                    {
                        if (oIFCLD_ICMOList.RefreshBySourceBillNo(" Where å•据号 like '%" + txtHSourceBillNo.Text + "' and HOrgID =" + HOrgID.ToString()))  //选择原单
                        {
                            FillSelectData(oIFCLD_ICMOList.oBillSelectColl);
                            txtHSourceBillNo.Text = "";
                        }
                        else
                        {
                            MessageBox.Show("未查询到任务数据,请确认所选组织、源单类型与源单单号是否正确!");
                            return;
                        }
                    }
                }
                else if (cmbSourceBillType.Text.Trim() == "生产汇报单")
                {
                    DAL.Cls_S_IF_ICMOReportBillList oIF_ICMOReportBillList = new DAL.Cls_S_IF_ICMOReportBillList();
                    if (oIF_ICMOReportBillList.RefreshBySourceBillNo(" Where å•据号 like '%" + txtHSourceBillNo.Text + "' and HOrgID =" + HOrgID.ToString()))  //选择原单
                    {
                        FillSelectData(oIF_ICMOReportBillList.oBillSelectColl);
                        txtHSourceBillNo.Text = "";
                    }
                    else
                    {
                        MessageBox.Show("未查询到任务数据,请确认所选组织、源单类型与源单单号是否正确!");
                        return;
                    }
                }
                else if (cmbSourceBillType.Text.Trim() == "收料通知单")
                {
                    DAL.Cls_S_IF_POInStockBillList oIF_POInStockBillList = new DAL.Cls_S_IF_POInStockBillList();
                    if (oIF_POInStockBillList.RefreshBySourceBillNo(" Where å•据号 like '%" + txtHSourceBillNo.Text + "' and HOrgID =" + HOrgID.ToString()))  //选择原单
                    {
                        FillSelectData(oIF_POInStockBillList.oBillSelectColl);
                        txtHSourceBillNo.Text = "";
                    }
                    else
                    {
                        MessageBox.Show("未查询到任务数据,请确认所选组织、源单类型与源单单号是否正确!");
                        return;
                    }
                }
                else if (cmbSourceBillType.Text.Trim() == "采购订单")
                {
                    DAL.Cls_S_IF_POOrderBillList oIF_POOrderBillList = new DAL.Cls_S_IF_POOrderBillList();
                    if (oIF_POOrderBillList.RefreshBySourceBillNo(" Where å•据号 like '%" + txtHSourceBillNo.Text + "' and HOrgID =" + HOrgID.ToString()))  //选择原单
                    {
                        FillSelectData(oIF_POOrderBillList.oBillSelectColl);
                        txtHSourceBillNo.Text = "";
                    }
                    else
                    {
                        MessageBox.Show("未查询到任务数据,请确认所选组织、源单类型与源单单号是否正确!");
                        return;
                    }
                }
                else if (cmbSourceBillType.Text.Trim() == "委外订单")
                {
                    DAL.Cls_S_IF_EntrustOrderBillList oIF_EntrustOrderBillList = new DAL.Cls_S_IF_EntrustOrderBillList();
                    if (oIF_EntrustOrderBillList.RefreshBySourceBillNo(" Where å•据号 like '%" + txtHSourceBillNo.Text + "' and HOrgID =" + HOrgID.ToString()))  //选择原单
                    {
                        FillSelectData(oIF_EntrustOrderBillList.oBillSelectColl);
                        txtHSourceBillNo.Text = "";
                    }
                    else
                    {
                        MessageBox.Show("未查询到任务数据,请确认所选组织、源单类型与源单单号是否正确!");
                        return;
                    }
                }
                else
                {
                    MessageBox.Show("所选源单类型,不支持此功能!");
                    return;
                }
            }
        }
        #endregion
        #region  //打印设置
@@ -2328,28 +1952,28 @@
        #region é€‰æ‹©æ—¥æœŸ
        private void dtpHDate_ValueChanged(object sender, EventArgs e)
        {
            if (chkUpdateSubDate.Checked == true)
            {
                for (int j = 0; j < grdMain.Rows.Count; j++)
                {
                    long HMaterID = DBUtility.ClsPub.isLong(grdMain.Rows[j].Cells[HMaterIDCol].Value);  // ç‰©æ–™å†…码
                    if (HMaterID != 0 && DBUtility.ClsPub.isStrNull(grdMain.Rows[j].Cells[HRemarkCol].Value) != "按库存生成")
                    {
                        //获取生产日期、有效期至
                        DateTime HProduceDate = dtpHDate.Value;                                                 //生产日期
                        string HEXPUNIT = DBUtility.ClsPub.isStrNull(grdMain.Rows[j].Cells[HEXPUNITCol].Value); //保质期单位
                        int HEXPPERIOD = DBUtility.ClsPub.isInt(grdMain.Rows[j].Cells[HEXPPERIODCol].Value);    //保质期
                        //生产日期
                        grdMain.Rows[j].Cells[HProduceDateCol].Value = dtpHDate.Value.ToShortDateString();
            //if (chkUpdateSubDate.Checked == true)
            //{
            //    for (int j = 0; j < grdMain.Rows.Count; j++)
            //    {
            //        long HMaterID = DBUtility.ClsPub.isLong(grdMain.Rows[j].Cells[HMaterIDCol].Value);  // ç‰©æ–™å†…码
            //        if (HMaterID != 0 && DBUtility.ClsPub.isStrNull(grdMain.Rows[j].Cells[HRemarkCol].Value) != "按库存生成")
            //        {
            //            //获取生产日期、有效期至
            //            DateTime HProduceDate = dtpHDate.Value;                                                 //生产日期
            //            string HEXPUNIT = DBUtility.ClsPub.isStrNull(grdMain.Rows[j].Cells[HEXPUNITCol].Value); //保质期单位
            //            int HEXPPERIOD = DBUtility.ClsPub.isInt(grdMain.Rows[j].Cells[HEXPPERIODCol].Value);    //保质期
            //            //生产日期
            //            grdMain.Rows[j].Cells[HProduceDateCol].Value = dtpHDate.Value.ToShortDateString();
                        if (GetExpiryDate(HProduceDate, HEXPUNIT, HEXPPERIOD, ref sReturn, ref HExpiryDate))
                        {
                            //有效期至
                            grdMain.Rows[j].Cells[HExpiryDateCol].Value = HExpiryDate;
                        }
                    }
                }
            }
            //            if (GetExpiryDate(HProduceDate, HEXPUNIT, HEXPPERIOD, ref sReturn, ref HExpiryDate))
            //            {
            //                //有效期至
            //                grdMain.Rows[j].Cells[HExpiryDateCol].Value = HExpiryDate;
            //            }
            //        }
            //    }
            //}
        }
        #endregion
@@ -2480,17 +2104,9 @@
                grdMain.Rows[row + r].Cells[HGiveAwayFlagCol] = oCell3;
                //网格下拉选择框
                DataGridViewComboBoxCell column = new DataGridViewComboBoxCell();
                if (CampanyName == "中控")
                {
                    column.Items.Add("批次条码");
                    column.Items.Add("品种条码");
                }
                else
                {
                    column.Items.Add("唯一条码");
                    column.Items.Add("批次条码");
                    column.Items.Add("品种条码");
                }
                column.Items.Add("唯一条码");
                grdMain.Rows[row + r].Cells[HBarCodeTypeCol] = column;
            }
            DBUtility.Xt_BaseBillFun.SetSumGrid(oSumGrid);