private void FuncationRegiste() //注册控件相关事件 { #region 窗体加载事件 Load += delegate { dgv_table.ReadOnly = false; foreach (DataGridViewColumn dgvc in dgv_table.Columns) { if (dgvc == drchk_check) { continue; } dgvc.ReadOnly = true; } }; #endregion #region 添加按钮事件 AddEvent += delegate { var uc = new UCMaintainThreeGuarantyEdit { UCForm = this, windowStatus = WindowStatus.Add }; uc.addUserControl(uc, "三包服务单-新增", "UCMaintainThreeGuarantyAdd", Tag.ToString(), Name); }; #endregion #region 复制按钮事件 CopyEvent += delegate { var tgid = ""; var dataView = GetCheckRows(); if (dataView != null) { foreach (DataRowView rowView in GetSelectedRowData()) { tgid = rowView["tg_id"].ToString(); break; } } var uc = new UCMaintainThreeGuarantyEdit { UCForm = this, TgId = tgid, windowStatus = WindowStatus.Copy }; uc.addUserControl(uc, "三包服务单-复制", "UCMaintainThreeGuarantyCopy", Tag.ToString(), Name); }; #endregion #region 编辑按钮事件 EditEvent += delegate { var tgid = ""; var dataView = GetCheckRows(); if (dataView != null && dataView.Count > 0) { foreach (DataRowView rowView in GetSelectedRowData()) { tgid = rowView["tg_id"].ToString(); break; } } var uc = new UCMaintainThreeGuarantyEdit { UCForm = this, TgId = tgid, windowStatus = WindowStatus.Edit }; uc.addUserControl(uc, "三包服务单-编辑", "UCMaintainThreeGuarantyEdit", Tag.ToString(), Name); }; #endregion #region 删除按钮事件 DeleteEvent += delegate { var selectedRows = GetCheckRows(); if (MessageBoxEx.Show("确认要删除吗?", "提示", MessageBoxButtons.OKCancel) != DialogResult.OK) { return; } var comField = new Dictionary<string, string> {{"enable_flag", "0"}}; var flag = DBHelper.BatchUpdateDataByIn("删除三包服务单", TableName, comField, "tg_id", selectedRows.ToArray()); if (flag) { BindPageData(); if (dgv_table.Rows.Count > 0) { dgv_table.CurrentCell = dgv_table.Rows[0].Cells[0]; } MessageBoxEx.Show("删除成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBoxEx.Show("删除失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }; #endregion #region 激活作废按钮事件 InvalidOrActivationEvent += delegate { if (MessageBoxEx.Show("确认要" + btnActivation.Caption + "吗?", "提示", MessageBoxButtons.OKCancel) != DialogResult.OK) { return; } var selectedRows = GetCheckRows(); var flag = false; foreach (var selectedRow in selectedRows) { var dvt = DBHelper.GetTable("获得三包服务单前一个状态", "tb_maintain_three_guaranty_BackUp", "info_status", "tg_id='" + selectedRow + "'", "", "order by Record_id_UpdateTime desc"); var oldStatus = DbDic2Enum.SYS_SERVICE_INFO_STATUS_CG; if (dvt.Rows.Count > 0) { var dr = dvt.Rows[0]; oldStatus = CommonCtrl.IsNullToString(dr["info_status"]); } flag = DBHelper.Submit_AddOrEdit("作废或激活三包服务单", TableName, "tg_id", selectedRow, new Dictionary<string, string> { { "info_status", btnActivation.Caption == "作废" ? DbDic2Enum.SYS_SERVICE_INFO_STATUS_YZF : oldStatus }, { "update_by", GlobalStaticObj.UserID }, { "update_name", GlobalStaticObj.UserName }, { "update_time", Common.LocalDateTimeToUtcLong(GlobalStaticObj.CurrentDateTime).ToString() } }); } if (flag) { BindPageData(); if (dgv_table.Rows.Count > 0) { dgv_table.CurrentCell = dgv_table.Rows[0].Cells[0]; } MessageBoxEx.Show(btnActivation.Caption + "成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBoxEx.Show(btnActivation.Caption + "失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }; #endregion #region 提交按钮事件 btnSubmit.Click += delegate { if (!GlobalStaticObj.IsDefaultAcc) { MessageBoxEx.ShowWarning("不是主账套信息,不允许进行操作!"); return; } var dataView = GetCheckRows(); if (dataView != null) { var cg = 0; var sb = 0; foreach (DataRowView rowView in GetSelectedRowData()) { var tgid = CommonCtrl.IsNullToString(rowView["tg_id"]); var status = CommonCtrl.IsNullToString(rowView["info_status"]); var serviceNo = CommonCtrl.IsNullToString(rowView["service_no"]); var dicFields = new Dictionary<string, string>(); dicFields.Add("info_status", DbDic2Enum.SYS_SERVICE_INFO_STATUS_YTJ); if (status == DbDic2Enum.SYS_SERVICE_INFO_STATUS_CG && String.IsNullOrEmpty(serviceNo)) dicFields.Add("service_no", CommonUtility.GetNewNo(DataSources.EnumProjectType.ThreeGuarantyService)); var result = DBHelper.Submit_AddOrEdit("三包服务单提交", "tb_maintain_three_guaranty", "tg_id", tgid, dicFields); if (result) cg++; else sb++; } if (cg != 0) { BindPageData(); } var msg = "三包服务单提交操作成功"; if (sb != 0 && cg == 0) { msg = "三包服务单提交失败"; } else if (cg != 0 && sb == 0) { msg = "三包服务单提交成功"; } else { msg += ",但存在"+ sb +"条提交失败的单据"; } MessageBoxEx.Show(msg, "操作提示"); } else { MessageBoxEx.Show("无法获取到选择的数据,请选择需要操作的数据", "操作提示"); } }; #endregion #region 审核按钮事件 VerifyEvent += delegate { var tgid = ""; var dataView = GetCheckRows(); if (dataView != null) { foreach (DataRowView rowView in GetSelectedRowData()) { tgid = rowView["tg_id"].ToString(); break; } } var form = new UCMaintainThreeGuarantyVerify(tgid); form.UcForm = this; var result = form.ShowDialog(this); if (result == DialogResult.OK) { BindPageData(); } }; #endregion #region 上报厂家/总公司按钮事件 CommitEvent += delegate { if (!GlobalStaticObj.IsDefaultAcc) { MessageBoxEx.ShowWarning("不是主账套信息,不允许进行操作!"); return; } if (MessageBoxEx.Show("确认要将三包服务单上报宇通吗?", "提示", MessageBoxButtons.OKCancel) != DialogResult.OK) { return; } var tgid = ""; var dataView = GetCheckRows(); if (dataView != null) { foreach (DataRowView rowView in GetSelectedRowData()) { tgid = rowView["tg_id"].ToString(); break; } } else { return; } var resultStr = Submit2Company(tgid, "100000001"); MessageBoxEx.Show(String.IsNullOrEmpty(resultStr) ? "三包服务单上报厂家成功!" : "三包服务单上报厂家失败!", "操作提示"); BindPageData(); }; #endregion #region 撤销按钮事件 RevokeEvent += delegate { if (!GlobalStaticObj.IsDefaultAcc) { MessageBoxEx.ShowWarning("不是主账套信息,不允许进行操作!"); return; } if (MessageBoxEx.Show("确认要撤销已提交的单据吗?", "提示", MessageBoxButtons.OKCancel) != DialogResult.OK) { return; } var selectedRowsYt = GetCheckRowsByYt(); var selectedRows = GetCheckRows(); var canSubmit2Company = false; if (selectedRowsYt != null && selectedRowsYt.Count > 0) { var orderStatus = DBHelper.GetSingleValue("获取三包服务单状态", TableName, "info_status", String.Format("tg_id = '{0}'", selectedRows[0]), ""); if (orderStatus == DbDic2Enum.SYS_SERVICE_INFO_STATUS_YTJ) { bool flag = DBHelper.Submit_AddOrEdit("撤销三包服务单", "tb_maintain_three_guaranty", "tg_id", selectedRows[0], new Dictionary<string, string> { { "info_status", DbDic2Enum.SYS_SERVICE_INFO_STATUS_CG } }); if (flag) { BindPageData("enable_flag = '1'"); MessageBoxEx.Show("撤销成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBoxEx.Show("撤销失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else if (orderStatus == DbDic2Enum.SYS_SERVICE_INFO_STATUS_SHTG) { var resultStr = DBHelper.WebServHandlerByObj("查询三包服务单状态", EnumWebServFunName.SearchOrderStatus, selectedRowsYt[0]); if (resultStr == "100000001" || String.IsNullOrEmpty(resultStr)) { Submit2Company(selectedRows[0], selectedRowsYt[0], "100000002"); var flag = DBHelper.Submit_AddOrEdit("撤销三包服务单", "tb_maintain_three_guaranty", "tg_id", selectedRows[0], new Dictionary<string, string> { { "info_status", DbDic2Enum.SYS_SERVICE_INFO_STATUS_YTJ } }); if (flag) { BindPageData("enable_flag = '1'"); MessageBoxEx.Show("撤销成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBoxEx.Show("撤销失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else { MessageBoxEx.Show("此单据已被引用,无法撤销!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } else { MessageBoxEx.Show("请选择需要撤销的单据信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }; #endregion #region 导入按钮事件 ImportEvent += delegate { //var callbackImport = new UCRepairCallbackImport(); //callbackImport.Fetchuc = this; //callbackImport.strTag = "1"; //callbackImport.ShowDialog(); }; #endregion #region 查询按钮事件 btn_query.Click += delegate { BindPageData(); }; #endregion #region 清除按钮事件 btn_clear.Click += delegate { txt_service_no.Caption = txt_service_no_yt.Caption = String.Empty; txt_vehicle_no.Text = String.Empty; txt_depot_no.Caption = String.Empty; txt_customer_code.Text = String.Empty; txt_customer_name.Caption = String.Empty; cbo_bill_type_yt.SelectedIndex = 0; cbo_info_status.SelectedIndex = 0; cbo_approve_status_yt.SelectedIndex = 0; dtp_repairs_time_s.Value = DateTime.Now.AddMonths(-1); dtp_repairs_time_e.Value = DateTime.Now.AddDays(1); dtp_approval_date_s.Value = DateTime.Now.AddMonths(-1); dtp_approval_date_e.Value = DateTime.Now.AddDays(1); }; #endregion #region 数据翻页 pageQ.PageIndexChanged += delegate { BindPageData(); }; #endregion #region 数据表数据选择 dgv_table.CellDoubleClick += delegate(object sender, DataGridViewCellEventArgs args) { if (args.RowIndex < 0) return; var tgid = dgv_table.Rows[args.RowIndex].Cells["drtxt_tg_id"].Value.ToString(); if (String.IsNullOrEmpty(tgid)) { MessageBoxEx.Show("无效的结算单信息", "操作提示"); return; } var uc = new UCMaintainThreeGuarantyViewDetail {TgId = tgid, UCForm = this}; uc.addUserControl(uc, "三包服务单-详细信息", "UCMaintainThreeGuarantyViewDetail" + uc.TgId, Tag.ToString(), Name); }; #endregion #region 数据表格单元格数据转换 dgv_table.CellFormatting += (sender, args) => ConvertDataGridColumnsData(args); #endregion #region 根据选择的数据判断功能按钮的显示状态 dgv_table.CellMouseUp += delegate { var dataView = GetSelectedRowData(); var listField = GetCheckRows(); if (dataView == null || listField.Count == 0) { //btnAdd, btnCopy, btnDelete, btnInvalidOrActivation, btnVerify, btnSave, btnCommit, btnCancel, btnExport, btnImport, btn_Revoke, btnView, btnPrint, btnSet btnCopy.Enabled = false; btnEdit.Enabled = false; btnDelete.Enabled = false; btnActivation.Enabled = false; btnCommit.Enabled = btnSubmit.Enabled = btnVerify.Enabled = false; } else { var cg = 0; var shwtg = 0; var shtg = 0; var ytj = 0; var yzf = 0; foreach (DataRowView drv in dataView) { var status = drv["info_status"].ToString(); if (status == DbDic2Enum.SYS_SERVICE_INFO_STATUS_CG) cg++; else if (status == DbDic2Enum.SYS_SERVICE_INFO_STATUS_SHWTG) shwtg++; else if (status == DbDic2Enum.SYS_SERVICE_INFO_STATUS_SHTG) shtg++; else if (status == DbDic2Enum.SYS_SERVICE_INFO_STATUS_YTJ) ytj++; else if (status == DbDic2Enum.SYS_SERVICE_INFO_STATUS_YZF) yzf++; } #region 编辑 if (listField.Count == 1 && (cg+shwtg) == listField.Count) { btnEdit.Enabled = true; } else { btnEdit.Enabled = false; } //提交 if (listField.Count >= 1 && (cg + shwtg) == listField.Count) { btnSubmit.Enabled = true; } else { btnSubmit.Enabled = false; } #endregion #region 复制 if (listField.Count == 1 ) { btnCopy.Enabled = true; } #endregion #region 删除 if (listField.Count >= 1 && (cg+shwtg+yzf) == listField.Count) { btnDelete.Enabled = true; } else { btnDelete.Enabled = false; } #endregion #region 作废/激活 var zf = 0; var jh = 0; if (listField.Count == 1) { foreach (DataRowView rowView in dataView) //作废/激活 { if (rowView["info_status"].ToString() == DbDic2Enum.SYS_SERVICE_INFO_STATUS_CG || rowView["info_status"].ToString() == DbDic2Enum.SYS_SERVICE_INFO_STATUS_SHWTG) { zf ++; } else if (rowView["info_status"].ToString() == DbDic2Enum.SYS_SERVICE_INFO_STATUS_YZF) { jh++; } } if (zf == 0 && jh != 0) { btnActivation.Enabled = true; btnActivation.Caption = "激活"; btnActivation.Width = 60; } else if (zf != 0 && jh == 0) { btnActivation.Enabled = true; btnActivation.Caption = "作废"; btnActivation.Width = 60; } else { btnActivation.Enabled = false; btnActivation.Caption = "作废/激活"; btnActivation.Width = 90; } } else { btnActivation.Enabled = false; btnActivation.Caption = "作废/激活"; btnActivation.Width = 90; } #endregion #region 审核 if (UIAssistants.ThreeServiceAudit && listField.Count == 1) { btnVerify.Enabled = ytj == listField.Count; } else { btnVerify.Enabled = false; } #endregion #region 上报厂家/总公司 if (UIAssistants.ThreeServiceAudit) { if (listField.Count == 1 && listField.Count == shtg) { btnCommit.Enabled = true; } else { btnCommit.Enabled = false; } } else { if (listField.Count == 1 && listField.Count == ytj) { btnCommit.Enabled = true; } else { btnCommit.Enabled = false; } } #endregion #region 撤销 if (listField.Count == 1 && cg == 0) { btnRevoke.Enabled = true; } else { btnRevoke.Enabled = false; } #endregion } }; #endregion }
private void FuncationRegiste() //注册控件相关事件 { #region 窗体加载事件 Load += delegate { dgv_table.ReadOnly = false; foreach (DataGridViewColumn dgvc in dgv_table.Columns) { if (dgvc == drchk_check) { continue; } dgvc.ReadOnly = true; } }; #endregion #region 添加按钮事件 AddEvent += delegate { //var uc = new UCMaintainThreeGuarantyAddOrEdit(); //uc.addUserControl(uc, "三包服务单-新增", "UCMaintainThreeGuarantyAdd", Tag.ToString(), Name); var uc = new UCMaintainThreeGuarantyEdit { UCForm = this, windowStatus = WindowStatus.Add }; uc.addUserControl(uc, "三包服务单-新增", "UCMaintainThreeGuarantyAdd", Tag.ToString(), Name); }; #endregion #region 复制按钮事件 CopyEvent += delegate { var tgid = ""; var dataView = GetCheckRows(); if (dataView != null && dataView.Count > 0) { foreach (DataRowView rowView in GetSelectedRowData()) { tgid = rowView["tg_id"].ToString(); break; } var uc = new UCMaintainThreeGuarantyEdit { UCForm = this, TgId = tgid, windowStatus = WindowStatus.Copy }; uc.addUserControl(uc, "三包服务单-复制", "UCMaintainThreeGuarantyCopy", Tag.ToString(), Name); } else { MessageBoxEx.Show("请选择需要操作的数据!", "操作提示"); } }; #endregion #region 编辑按钮事件 EditEvent += delegate { var tgid = ""; var dataView = GetCheckRows(); if (dataView != null && dataView.Count > 0) { foreach (DataRowView rowView in GetSelectedRowData()) { tgid = rowView["tg_id"].ToString(); break; } var uc = new UCMaintainThreeGuarantyEdit { UCForm = this, TgId = tgid, windowStatus = WindowStatus.Edit }; uc.addUserControl(uc, "三包服务单-编辑", "UCMaintainThreeGuarantyEdit", Tag.ToString(), Name); } else { MessageBoxEx.Show("请选择需要操作的数据!", "操作提示"); } }; #endregion #region 删除按钮事件 DeleteEvent += delegate { var selectedRows = GetCheckRows(); if (MessageBoxEx.Show("确认要删除吗?", "提示", MessageBoxButtons.OKCancel) != DialogResult.OK) { return; } var comField = new Dictionary<string, string> {{"enable_flag", "0"}}; var flag = DBHelper.BatchUpdateDataByIn("删除三包服务单", TableName, comField, "tg_id", selectedRows.ToArray()); if (flag) { BindPageData(); if (dgv_table.Rows.Count > 0) { dgv_table.CurrentCell = dgv_table.Rows[0].Cells[0]; } MessageBoxEx.Show("删除成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBoxEx.Show("删除失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }; #endregion #region 激活作废按钮事件 InvalidOrActivationEvent += delegate { if (MessageBoxEx.Show("确认要" + btnActivation.Caption + "吗?", "提示", MessageBoxButtons.OKCancel) != DialogResult.OK) { return; } var selectedRows = GetCheckRows(); var flag = false; foreach (var selectedRow in selectedRows) { var dvt = DBHelper.GetTable("获得三包服务单前一个状态", "tb_maintain_three_guaranty_BackUp", "info_status", "tg_id='" + selectedRow + "'", "", "order by Record_id_UpdateTime desc"); var oldStatus = DbDic2Enum.SYS_SERVICE_INFO_STATUS_CG; if (dvt.Rows.Count > 0) { var dr = dvt.Rows[0]; oldStatus = CommonCtrl.IsNullToString(dr["info_status"]); } flag = DBHelper.Submit_AddOrEdit("作废或激活三包服务单", TableName, "tg_id", selectedRow, new Dictionary<string, string> { { "info_status", btnActivation.Caption == "作废" ? DbDic2Enum.SYS_SERVICE_INFO_STATUS_YZF : oldStatus }, { "update_by", GlobalStaticObj.UserID }, { "update_name", GlobalStaticObj.UserName }, { "update_time", Common.LocalDateTimeToUtcLong(GlobalStaticObj.CurrentDateTime).ToString() } }); } if (flag) { BindPageData(); if (dgv_table.Rows.Count > 0) { dgv_table.CurrentCell = dgv_table.Rows[0].Cells[0]; } MessageBoxEx.Show(btnActivation.Caption + "成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBoxEx.Show(btnActivation.Caption + "失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }; #endregion #region 提交按钮事件 btnSubmit.Click += delegate { if (!GlobalStaticObj.IsDefaultAcc) { MessageBoxEx.ShowWarning("不是主账套信息,不允许进行操作!"); return; } var dataView = GetCheckRows(); if (dataView != null) { var cg = 0; var sb = 0; foreach (DataRowView rowView in GetSelectedRowData()) { var tgid = CommonCtrl.IsNullToString(rowView["tg_id"]); var preId = CommonCtrl.IsNullToString(rowView["pre_order_id"]); var fullCount = DBHelper.GetSingleValue("", "tr_order_relation", "count(*)", "pre_order_id = '" + preId + "' and post_order_name = 'tb_maintain_three_guaranty' and post_item_order_id is null", ""); if (Convert.ToInt32(fullCount) > 0) { MessageBoxEx.Show("前置单据已经被引用,无法再次引用!"); return; } var dmtCheck = DBHelper.GetTable("维修用料数据", "tb_maintain_three_guaranty_material_detail", "*", string.Format(" tg_id='{0}'", tgid), "", ""); if (dmtCheck.Rows.Count > 0) { foreach (DataRow dataRowView in dmtCheck.Rows) { var materialCount = DBHelper.GetSingleValue("", "tr_order_relation", "count(*)", "pre_order_id = '" + preId + "' and post_item_order_id = '" + CommonCtrl.IsNullToString(dataRowView["pre_order_id"]) + "'",""); if (Convert.ToInt32(materialCount) > 0) { if (Convert.ToInt32(fullCount) > 0) { MessageBoxEx.Show("前置单据的维修用料已经被引用,无法再次引用!"); return; } } } } var dptCheck = DBHelper.GetTable("维修项目数据", "tb_maintain_three_guaranty_item", "*", string.Format(" tg_id='{0}'", tgid), "", ""); if (dptCheck.Rows.Count > 0) { foreach (DataRow dataRowView in dptCheck.Rows) { var materialCount = DBHelper.GetSingleValue("", "tr_order_relation", "count(*)", "pre_order_id = '" + preId + "' and post_item_order_id = '" + CommonCtrl.IsNullToString(dataRowView["pre_order_id"]) + "'", ""); if (Convert.ToInt32(materialCount) > 0) { if (Convert.ToInt32(fullCount) > 0) { MessageBoxEx.Show("前置单据的维修项目已经被引用,无法再次引用!"); return; } } } } var status = CommonCtrl.IsNullToString(rowView["info_status"]); var serviceNo = CommonCtrl.IsNullToString(rowView["service_no"]); var dicFields = new Dictionary<string, string>(); dicFields.Add("info_status", DbDic2Enum.SYS_SERVICE_INFO_STATUS_YTJ); if (status == DbDic2Enum.SYS_SERVICE_INFO_STATUS_CG && String.IsNullOrEmpty(serviceNo)) dicFields.Add("service_no", CommonUtility.GetNewNo(DataSources.EnumProjectType.ThreeGuarantyService)); var result = DBHelper.Submit_AddOrEdit("三包服务单提交", "tb_maintain_three_guaranty", "tg_id", tgid, dicFields); if (result) { cg++; //维修用料 var dmt = DBHelper.GetTable("维修用料数据", "tb_maintain_three_guaranty_material_detail", "*", string.Format(" tg_id='{0}'", tgid), "", ""); if (dmt.Rows.Count > 0) { foreach (DataRow dataRowView in dmt.Rows) { var dmtFields = new Dictionary<String, String>(); dmtFields.Add("order_relation_id", Guid.NewGuid().ToString()); dmtFields.Add("pre_order_id", preId); dmtFields.Add("pre_order_name", "tb_maintain_info"); dmtFields.Add("post_order_id", tgid); dmtFields.Add("post_order_name", "tb_maintain_three_guaranty"); dmtFields.Add("pre_item_order_id", CommonCtrl.IsNullToString(dataRowView["pre_order_id"])); dmtFields.Add("pre_item_order_name", "tb_maintain_material_detail"); dmtFields.Add("post_item_order_id", CommonCtrl.IsNullToString(dataRowView["material_id"])); dmtFields.Add("post_item_order_name", "tb_maintain_three_guaranty_material_detail"); //dmtFields.Add("create_time", DBHelper.GetCurrentTime().ToUniversalTime().Ticks.ToString()); DBHelper.Submit_AddOrEdit("三包服务单关联维修单信息", "tr_order_relation", "order_relation", String.Empty, dmtFields); } } //维修项目 var dpt = DBHelper.GetTable("维修项目数据", "tb_maintain_three_guaranty_item", "*", string.Format(" tg_id='{0}'", tgid), "", ""); if (dpt.Rows.Count > 0) { foreach (DataRow dataRowView in dpt.Rows) { var dptFields = new Dictionary<String, String>(); dptFields.Add("order_relation_id", Guid.NewGuid().ToString()); dptFields.Add("pre_order_id", preId); dptFields.Add("pre_order_name", "tb_maintain_info"); dptFields.Add("post_order_id", tgid); dptFields.Add("post_order_name", "tb_maintain_three_guaranty"); dptFields.Add("pre_item_order_id", CommonCtrl.IsNullToString(dataRowView["pre_order_id"])); dptFields.Add("pre_item_order_name", "tb_maintain_item"); dptFields.Add("post_item_order_id", CommonCtrl.IsNullToString(dataRowView["item_id"])); dptFields.Add("post_item_order_name", "tb_maintain_three_guaranty_item"); //dmtFields.Add("create_time", DBHelper.GetCurrentTime().ToUniversalTime().Ticks.ToString()); DBHelper.Submit_AddOrEdit("三包服务单关联维修单信息", "tr_order_relation", "order_relation", String.Empty, dptFields); } } try { var dmtCount = DBHelper.GetSingleValue("获取维修单维修用料数量", "tb_maintain_material_detail", "count(*)", String.Format("maintain_id = '{0}'", preId), ""); var dptCount = DBHelper.GetSingleValue("获取维修单维修项目数量", "tb_maintain_info", "count(*)", String.Format("maintain_id = '{0}'", preId), ""); var reOrderCount = DBHelper.GetSingleValue("获取维修单维修项目数量", "tr_order_relation", "COUNT(*)", String.Format("pre_order_id = '{0}' and post_order_name = 'tb_maintain_three_guaranty'", preId), ""); if (Convert.ToInt32(dmtCount) + Convert.ToInt32(dptCount) == Convert.ToInt32(reOrderCount)) { var dmtFields = new Dictionary<String, String>(); dmtFields.Add("order_relation_id", Guid.NewGuid().ToString()); dmtFields.Add("pre_order_id", preId); dmtFields.Add("pre_order_name", "tb_maintain_info"); //dmtFields.Add("post_order_id", tgid); dmtFields.Add("post_order_name", "tb_maintain_three_guaranty"); //dmtFields.Add("create_time", DBHelper.GetCurrentTime().ToUniversalTime().Ticks.ToString()); DBHelper.Submit_AddOrEdit("三包服务单关联维修单信息", "tr_order_relation", "order_relation", String.Empty, dmtFields); } } catch (Exception ex) { GlobalStaticObj.GlobalLogService.WriteLog(ex); } } else sb++; } if (cg != 0) { BindPageData(); } var msg = "三包服务单提交操作成功"; if (sb != 0 && cg == 0) { msg = "三包服务单提交失败"; } else if (cg != 0 && sb == 0) { msg = "三包服务单提交成功"; } else { msg += ",但存在"+ sb +"条提交失败的单据"; } MessageBoxEx.Show(msg, "操作提示"); } else { MessageBoxEx.Show("无法获取到选择的数据,请选择需要操作的数据", "操作提示"); } }; #endregion #region 审核按钮事件 VerifyEvent += delegate { var tgid = ""; var dataView = GetCheckRows(); if (dataView != null) { foreach (DataRowView rowView in GetSelectedRowData()) { tgid = rowView["tg_id"].ToString(); break; } } var form = new UCMaintainThreeGuarantyVerify(tgid); form.UcForm = this; var result = form.ShowDialog(this); if (result == DialogResult.OK) { BindPageData(); } }; #endregion #region 上报厂家/总公司按钮事件 CommitEvent += delegate { if (!GlobalStaticObj.IsDefaultAcc) { MessageBoxEx.ShowWarning("不是主账套信息,不允许进行操作!"); return; } if (MessageBoxEx.Show("确认要将三包服务单上报宇通吗?", "提示", MessageBoxButtons.OKCancel) != DialogResult.OK) { return; } var tgid = ""; var dataView = GetCheckRows(); if (dataView != null) { foreach (DataRowView rowView in GetSelectedRowData()) { tgid = rowView["tg_id"].ToString(); break; } } else { return; } //var process = new ProcessOperator(); //#region 匿名方法,后台线程执行调用 //process.BackgroundWork = delegate() //{ var resultStr = Submit2Company(tgid, "100000001"); MessageBoxEx.Show(String.IsNullOrEmpty(resultStr) ? "三包服务单上报厂家成功!" : resultStr, "操作提示"); BindPageData(); //}; //#endregion //process.MessageInfo = "正在执行中..."; //#region 匿名方法,后台线程执行完调用 //process.BackgroundWorkerCompleted += new EventHandler<BackgroundWorkerEventArgs>( // delegate(object osender, BackgroundWorkerEventArgs be) // { // if (be.BackGroundException != null) // { // GlobalStaticObj.GlobalLogService.WriteLog("三包单上报", be.BackGroundException); // } // } // ); //#endregion //process.Start(); }; #endregion #region 撤销按钮事件 RevokeEvent += delegate { if (!GlobalStaticObj.IsDefaultAcc) { MessageBoxEx.ShowWarning("不是主账套信息,不允许进行操作!"); return; } if (MessageBoxEx.Show("确认要撤销已提交的单据吗?", "提示", MessageBoxButtons.OKCancel) != DialogResult.OK) { return; } var selectedRowsYt = GetCheckRowsByYt(); var selectedRows = GetCheckRows(); if (selectedRowsYt != null && selectedRowsYt.Count > 0) { var orderStatus = DBHelper.GetSingleValue("获取三包服务单状态", TableName, "info_status", String.Format("tg_id = '{0}'", selectedRows[0]), ""); if (orderStatus == DbDic2Enum.SYS_SERVICE_INFO_STATUS_YTJ) { bool flag = DBHelper.Submit_AddOrEdit("撤销三包服务单", "tb_maintain_three_guaranty", "tg_id", selectedRows[0], new Dictionary<string, string> { { "info_status", DbDic2Enum.SYS_SERVICE_INFO_STATUS_CG } }); if (flag) { var preId = String.Empty; foreach (DataRowView rowView in GetSelectedRowData()) { preId = CommonCtrl.IsNullToString(rowView["pre_order_id"]); } DBHelper.BatchDeleteDataByWhere("删除订单关系表信息", "tr_order_relation", String.Format("pre_order_id = '{0}' and post_order_name = 'tb_maintain_three_guaranty' and post_item_order_name is null", preId)); DBHelper.BatchDeleteDataByWhere("删除订单关系表信息", "tr_order_relation", String.Format("pre_order_id = '{0}' and post_order_id = '{1}'", preId, selectedRows[0])); BindPageData(); MessageBoxEx.Show("撤销成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBoxEx.Show("撤销失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else if (orderStatus == DbDic2Enum.SYS_SERVICE_INFO_STATUS_SHTG) { var resultStr = DBHelper.WebServHandlerByObj("查询三包服务单状态", EnumWebServFunName.SearchOrderStatus, selectedRowsYt[0]); if (resultStr == "100000001" || String.IsNullOrEmpty(resultStr)) { var process = new ProcessOperator(); #region 匿名方法,后台线程执行调用 process.BackgroundWork = delegate() { Submit2Company(selectedRows[0], selectedRowsYt[0], "100000002"); }; #endregion process.MessageInfo = "正在执行中..."; #region 匿名方法,后台线程执行完调用 process.BackgroundWorkerCompleted += new EventHandler<BackgroundWorkerEventArgs>( delegate(object osender, BackgroundWorkerEventArgs be) { if (be.BackGroundException != null) { GlobalStaticObj.GlobalLogService.WriteLog("三包单上报", be.BackGroundException); } } ); #endregion process.Start(); var flag = DBHelper.Submit_AddOrEdit("撤销三包服务单", "tb_maintain_three_guaranty", "tg_id", selectedRows[0], new Dictionary<string, string> { { "info_status", DbDic2Enum.SYS_SERVICE_INFO_STATUS_YTJ } }); if (flag) { MessageBoxEx.Show("撤销成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); BindPageData(); } else { MessageBoxEx.Show("撤销失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else { MessageBoxEx.Show("此单据已被引用,无法撤销!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } else { MessageBoxEx.Show("请选择需要撤销的单据信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }; #endregion #region 导入按钮事件 ImportEvent += delegate { //var callbackImport = new UCRepairCallbackImport(); //callbackImport.Fetchuc = this; //callbackImport.strTag = "1"; //callbackImport.ShowDialog(); }; #endregion #region 查询按钮事件 pnl_search.QueryClick += (sender, args) => BindPageData(); #endregion #region 数据翻页 pageQ.PageIndexChanged += delegate { BindPageData(); }; #endregion #region 数据表数据选择 dgv_table.CellDoubleClick += delegate(object sender, DataGridViewCellEventArgs args) { if (args.RowIndex < 0) return; var tgid = dgv_table.Rows[args.RowIndex].Cells["drtxt_tg_id"].Value.ToString(); if (String.IsNullOrEmpty(tgid)) { MessageBoxEx.Show("无效的结算单信息", "操作提示"); return; } var uc = new UCMaintainThreeGuarantyViewDetail {TgId = tgid, UCForm = this}; uc.addUserControl(uc, "三包服务单-详细信息", "UCMaintainThreeGuarantyViewDetail" + uc.TgId, Tag.ToString(), Name); }; #endregion #region 数据表格单元格数据转换 dgv_table.CellFormatting += (sender, args) => ConvertDataGridColumnsData(args); #endregion #region 根据选择的数据判断功能按钮的显示状态 dgv_table.CellMouseUp += delegate { var dataView = GetSelectedRowData(); var listField = GetCheckRows(); if (dataView == null || listField.Count == 0) { //btnAdd, btnCopy, btnDelete, btnInvalidOrActivation, btnVerify, btnSave, btnCommit, btnCancel, btnExport, btnImport, btn_Revoke, btnView, btnPrint, btnSet btnCopy.Enabled = false; btnEdit.Enabled = false; btnDelete.Enabled = false; btnActivation.Enabled = false; btnCommit.Enabled = btnSubmit.Enabled = btnVerify.Enabled = false; } else { var cg = 0; var shwtg = 0; var shtg = 0; var ytj = 0; var yzf = 0; foreach (DataRowView drv in dataView) { var status = drv["info_status"].ToString(); if (status == DbDic2Enum.SYS_SERVICE_INFO_STATUS_CG) cg++; else if (status == DbDic2Enum.SYS_SERVICE_INFO_STATUS_SHWTG) shwtg++; else if (status == DbDic2Enum.SYS_SERVICE_INFO_STATUS_SHTG) shtg++; else if (status == DbDic2Enum.SYS_SERVICE_INFO_STATUS_YTJ) ytj++; else if (status == DbDic2Enum.SYS_SERVICE_INFO_STATUS_YZF) yzf++; } #region 编辑 if (listField.Count == 1 && (cg+shwtg) == listField.Count) { btnEdit.Enabled = true; } else { btnEdit.Enabled = false; } //提交 if (listField.Count >= 1 && (cg + shwtg) == listField.Count) { btnSubmit.Enabled = true; } else { btnSubmit.Enabled = false; } #endregion #region 复制 if (listField.Count == 1 ) { btnCopy.Enabled = true; } #endregion #region 删除 if (listField.Count >= 1 && (cg+shwtg+yzf) == listField.Count) { btnDelete.Enabled = true; } else { btnDelete.Enabled = false; } #endregion #region 作废/激活 var zf = 0; var jh = 0; if (listField.Count == 1) { foreach (DataRowView rowView in dataView) //作废/激活 { if (rowView["info_status"].ToString() == DbDic2Enum.SYS_SERVICE_INFO_STATUS_CG || rowView["info_status"].ToString() == DbDic2Enum.SYS_SERVICE_INFO_STATUS_SHWTG) { zf ++; } else if (rowView["info_status"].ToString() == DbDic2Enum.SYS_SERVICE_INFO_STATUS_YZF) { jh++; } } if (zf == 0 && jh != 0) { btnActivation.Enabled = true; btnActivation.Caption = "激活"; btnActivation.Width = 60; } else if (zf != 0 && jh == 0) { btnActivation.Enabled = true; btnActivation.Caption = "作废"; btnActivation.Width = 60; } else { btnActivation.Enabled = false; btnActivation.Caption = "作废/激活"; btnActivation.Width = 90; } } else { btnActivation.Enabled = false; btnActivation.Caption = "作废/激活"; btnActivation.Width = 90; } #endregion #region 审核 if (UIAssistants.ThreeServiceAudit && listField.Count == 1) { btnVerify.Enabled = ytj == listField.Count; } else { btnVerify.Enabled = false; } #endregion #region 上报厂家/总公司 if (UIAssistants.ThreeServiceAudit) { if (listField.Count == 1 && listField.Count == shtg) { btnCommit.Enabled = true; } else { btnCommit.Enabled = false; } } else { if (listField.Count == 1 && listField.Count == ytj) { btnCommit.Enabled = true; } else { btnCommit.Enabled = false; } } #endregion #region 撤销 if (listField.Count == 1 && cg == 0) { btnRevoke.Enabled = true; } else { btnRevoke.Enabled = false; } #endregion } }; #endregion }