/// <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; } } }
/// <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(); } }