Example #1
0
        /// <summary>
        /// 批量提交
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSave_Click(object sender, EventArgs e)
        {
            if (dataGridView1.Rows.Count == 0)
            {
                MessageDialog.ShowPromptMessage("没有数据需要提交");
                return;
            }

            txtReason.Text = txtReason.Text.Trim();

            if (txtReason.Text.Trim() == "")
            {
                MessageDialog.ShowPromptMessage("请录入变更原因后在进行此操作");
                txtReason.Focus();
                return;
            }

            // 手动模式变更的信息
            List <ZPX_ConvertedCVTNumber> lstManualMode = new List <ZPX_ConvertedCVTNumber>();

            // 自动动模式变更的信息
            List <ZPX_ConvertedCVTNumber> lstAutoMode = new List <ZPX_ConvertedCVTNumber>();

            DateTime date = ServerTime.Time;

            for (int i = 0; i < dataGridView1.Rows.Count; i++)
            {
                DataGridViewCellCollection cells = dataGridView1.Rows[i].Cells;
                string newCVTNumber = cells["新箱箱号"].Value.ToString();
                string oldCVTNumber = cells["旧箱箱号"].Value.ToString();

                #region 2013-09-18 夏石友,新箱未入库型号变更
                //if (m_convertCVTServer.IsNewCVT(cmbOldCVTType.Text, oldCVTNumber))
                //{
                //    MessageDialog.ShowErrorMessage(string.Format("旧箱箱号 {0} 还没有进行营销业务,不允许进行此操作", oldCVTNumber));
                //    dataGridView1.CurrentCell = dataGridView1.Rows[i].Cells[0];
                //    return;
                //}
                #endregion

                if (m_convertCVTServer.IsExists(ConvertCVTNumber_CheckEnum.检查旧箱信息, cmbOldCVTType.Text, oldCVTNumber))
                {
                    MessageDialog.ShowErrorMessage(string.Format("旧箱箱号 {0} 已经变更过,不允许进行此操作", oldCVTNumber));

                    dataGridView1.CurrentCell = dataGridView1.Rows[i].Cells[0];

                    return;
                }

                if (!m_convertCVTServer.IsExists(ConvertCVTNumber_CheckEnum.检查旧箱档案信息, cmbOldCVTType.Text, oldCVTNumber))
                {
                    MessageDialog.ShowErrorMessage(string.Format("电子档案中不存在旧箱箱号 {0} 的信息,不允许进行此操作", oldCVTNumber));

                    dataGridView1.CurrentCell = dataGridView1.Rows[i].Cells[0];

                    return;
                }

                if (cells["变更模式"].Value.ToString() == "手动模式")
                {
                    if (!m_convertCVTServer.IsNewCVT(cmbNewCVTType.Text, newCVTNumber))
                    {
                        MessageDialog.ShowErrorMessage(string.Format("新箱箱号 {0} 已经被使用过,不允许进行此操作", newCVTNumber));

                        dataGridView1.CurrentCell = dataGridView1.Rows[i].Cells[0];

                        return;
                    }

                    if (m_convertCVTServer.IsExists(ConvertCVTNumber_CheckEnum.检查新箱档案信息, cmbNewCVTType.Text, newCVTNumber))
                    {
                        MessageDialog.ShowErrorMessage("新箱号电子档案中已经存在,不允许再进行此操作");

                        dataGridView1.CurrentCell = dataGridView1.Rows[i].Cells[0];

                        return;
                    }

                    if (m_convertCVTServer.IsExists(ConvertCVTNumber_CheckEnum.检查新旧箱信息, cmbNewCVTType.Text, newCVTNumber))
                    {
                        MessageDialog.ShowErrorMessage(string.Format("新箱箱号 {0} 已经变更过,不允许进行此操作", newCVTNumber));

                        dataGridView1.CurrentCell = dataGridView1.Rows[i].Cells[0];

                        return;
                    }

                    if (!ServerModuleFactory.GetServerModule <IPrintProductBarcodeInfo>().IsExists(cmbNewCVTType.Text + " " + newCVTNumber))
                    {
                        MessageDialog.ShowErrorMessage(string.Format("新箱箱号 {0} 还未分配,手动模式时新箱箱号必须是已经打过条形码的,否则不允许进行此操作",
                                                                     newCVTNumber));

                        dataGridView1.CurrentCell = dataGridView1.Rows[i].Cells[0];

                        return;
                    }
                }
                else
                {
                    MessageDialog.ShowPromptMessage("当前不允许存在“自动模式”变更方式,必须手动变更,人为设置新箱箱号(可打印条形码分配箱号)");
                    return;
                }

                ZPX_ConvertedCVTNumber data = new ZPX_ConvertedCVTNumber();

                data.Date             = date;
                data.IsZeroKilometre  = chkIsNewCVT.Checked;
                data.NewProductNumber = newCVTNumber;
                data.NewProductType   = cmbNewCVTType.Text + (chkIsNewCVT.Checked ? "" : " FX");
                data.OldProductNumber = cells["旧箱箱号"].Value.ToString();
                data.OldProductType   = cmbOldCVTType.Text;
                data.UserCode         = BasicInfo.LoginID;
                data.Remark           = string.Format("批量变更:{0}", txtReason.Text);

                if (cells["变更模式"].Value.ToString() == "手动模式")
                {
                    lstManualMode.Add(data);
                }
                else
                {
                    lstAutoMode.Add(data);
                }
            }

            if (MessageDialog.ShowEnquiryMessage("变更箱号时将会为新箱号创建电子档案,复制旧箱号数据。是否继续?") == DialogResult.No)
            {
                return;
            }

            if (!m_convertCVTServer.BatchConvertCVTNumber("手动模式", lstManualMode, out m_error))
            {
                MessageDialog.ShowErrorMessage(m_error);
                return;
            }

            if (!m_convertCVTServer.BatchConvertCVTNumber("自动模式", lstAutoMode, out m_error))
            {
                MessageDialog.ShowErrorMessage(m_error);
                return;
            }

            MessageDialog.ShowPromptMessage("批量变更箱号成功");

            txtNewCVTNumber.Text = "";

            btnSave.Enabled = false;

            for (int i = 0; i < dataGridView1.Rows.Count; i++)
            {
                DataGridViewCellCollection cells = dataGridView1.Rows[i].Cells;

                if (cells["变更模式"].Value.ToString() == "自动模式")
                {
                    cells["新箱箱号"].Value  = lstAutoMode[i].NewProductNumber;
                    cells["变更模式"].Value += " 已分配箱号";

                    dataGridView1.Rows[i].DefaultCellStyle.ForeColor = Color.Blue;
                }
            }
        }
Example #2
0
        /// <summary>
        /// 生成新箱电子档案
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnGenerateNewCVT_Click(object sender, EventArgs e)
        {
            if (txtRemark.Text.Trim() == "")
            {
                txtRemark.Focus();
                MessageDialog.ShowErrorMessage("说明不允许为空");
                return;
            }

            string oldProductCode = cmbOldCVTType.Text + " " + txtOldCVTNumber.Text;
            string newProductCode = cmbNewCVTType.Text + " " + txtNewCVTNumber.Text;

            if (!m_electronFileServer.IsExists(oldProductCode))
            {
                MessageDialog.ShowErrorMessage("电子档案中找不到旧箱信息,检查操作是否有误,无法继续");
                return;
            }

            if (m_electronFileServer.IsExists(newProductCode))
            {
                MessageDialog.ShowErrorMessage("电子档案中已经存在新箱信息,检查操作是否有误,无法继续");
                return;
            }

            // 检测录入的新箱箱号格式是否正确
            if (!m_productCodeServer.VerifyProductCodesInfo(
                    cmbNewCVTType.Text, txtNewCVTNumber.Text, GlobalObject.CE_BarCodeType.内部钢印码, out error))
            {
                MessageDialog.ShowErrorMessage(error);

                txtNewCVTNumber.SelectAll();
                txtNewCVTNumber.Focus();

                return;
            }

            #region 2013-09-22 夏石友

            //if (m_convertCVTServer.IsNewCVT(cmbOldCVTType.Text, txtOldCVTNumber.Text))
            //{
            //    MessageDialog.ShowErrorMessage("旧箱箱号还没有进行营销业务,不允许进行此操作");

            //    txtOldCVTNumber.SelectAll();
            //    txtOldCVTNumber.Focus();

            //    return;
            //}

            #endregion

            if (!m_convertCVTServer.IsNewCVT(cmbNewCVTType.Text, txtNewCVTNumber.Text))
            {
                MessageDialog.ShowErrorMessage("新箱号已经被使用过,不允许再进行此操作");

                txtNewCVTNumber.SelectAll();
                txtNewCVTNumber.Focus();

                return;
            }

            if (m_convertCVTServer.IsExists(ConvertCVTNumber_CheckEnum.检查旧箱信息, cmbOldCVTType.Text, txtOldCVTNumber.Text))
            {
                MessageDialog.ShowErrorMessage("旧箱号已经变更过,不允许再进行此操作");

                txtOldCVTNumber.SelectAll();
                txtOldCVTNumber.Focus();

                return;
            }

            if (m_convertCVTServer.IsExists(ConvertCVTNumber_CheckEnum.检查新旧箱信息, cmbNewCVTType.Text, txtNewCVTNumber.Text))
            {
                MessageDialog.ShowErrorMessage("新箱号已经变更过,不允许再进行此操作");

                txtNewCVTNumber.SelectAll();
                txtNewCVTNumber.Focus();

                return;
            }

            if (m_convertCVTServer.IsExists(ConvertCVTNumber_CheckEnum.检查新箱档案信息, cmbNewCVTType.Text, txtNewCVTNumber.Text))
            {
                MessageDialog.ShowErrorMessage("新箱号电子档案中已经存在,不允许再进行此操作");

                txtNewCVTNumber.SelectAll();
                txtNewCVTNumber.Focus();

                return;
            }

            if (!ServerModuleFactory.GetServerModule <IPrintProductBarcodeInfo>().IsExists(newProductCode))
            {
                MessageDialog.ShowErrorMessage("新箱号还未分配,不允许进行此操作");

                txtNewCVTNumber.SelectAll();
                txtNewCVTNumber.Focus();

                return;
            }

            ZPX_ConvertedCVTNumber data = new ZPX_ConvertedCVTNumber();

            data.OldProductType   = cmbOldCVTType.Text;
            data.OldProductNumber = txtOldCVTNumber.Text;
            data.NewProductType   = cmbNewCVTType.Text;
            data.NewProductNumber = txtNewCVTNumber.Text;

            data.IsZeroKilometre = chkReturnZeroDistance.Checked;
            data.UserCode        = GlobalObject.BasicInfo.LoginID;
            data.Date            = ServerTime.Time;
            data.Remark          = "单个变更:" + txtRemark.Text;

            if (!m_convertCVTServer.Add(data, out error))
            {
                MessageDialog.ShowErrorMessage(error);
            }
            else
            {
                MessageDialog.ShowPromptMessage("成功添加返修信息, 并在电子档案中生成新箱信息");

                RefreshDataGridViewOfRepairInfo();
            }
        }