using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using com.hnshituo.pur.vo; using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Tool; using Infragistics.Win.UltraWinGrid; using Pur.configure; using Pur.Entity; using Pur.Pop_upWindow; using Pur.PublicTools; namespace Pur.require_plan { public partial class FrmOilTrade : FrmPmsBase { string errMsg = ""; public FrmOilTrade() { InitializeComponent(); this.IsLoadUserView = true; } private void FrmOilTrade_Load(object sender, EventArgs e) { Init(); ck_is_all.Checked = false; txt_type1_M.SelectedIndex = 0; GridHelper.SetExcludeColumnsActive(ultraGrid1.DisplayLayout.Bands[0], new string[] { }); PublicPur.InitCellEdit(new UltraGrid[] { ultraGrid2 }, new string[] { "CHK", "CARDDID", "M1ADD", "M2ADD", "M3ADD", "M4ADD", "M5ADD", "M6ADD", "M7ADD", "M8ADD", "M9ADD", "M10ADD", "M11ADD", "M12ADD", "M1USE", "M2USE", "M3USE", "M4USE", "M5USE", "M6USE", "M7USE", "M8USE", "M9USE", "M10USE", "M11USE", "M12USE", "remain", "REMARK" }); PublicPur.SetupSummaryHeade(new String[] { "Count", "Sum", "Sum", "Sum", "Sum", "Sum", "Sum", "Sum", "Sum", "Sum", "Sum", "Sum", "Sum", "Sum", "Sum", "Sum", "Sum", "Sum", "Sum", "Sum", "Sum", "Sum", "Sum", "Sum", "Sum" }, new String[] { "共{0}条", "{0}", "{0}", "{0}", "{0}", "{0}", "{0}", "{0}", "{0}", "{0}", "{0}", "{0}", "{0}", "{0}", "{0}", "{0}", "{0}", "{0}", "{0}", "{0}", "{0}", "{0}", "{0}", "{0}", "{0}" }, new string[] { "CARDDID", "M1ADD", "M2ADD", "M3ADD", "M4ADD", "M5ADD", "M6ADD", "M7ADD", "M8ADD", "M9ADD", "M10ADD", "M11ADD", "M12ADD", "M1USE", "M2USE", "M3USE", "M4USE", "M5USE", "M6USE", "M7USE", "M8USE", "M9USE", "M10USE", "M11USE", "M12USE" }, this.ultraGrid2.DisplayLayout.Bands[0], SummaryDisplayAreas.TopFixed); PublicPur.SetupSummaryHeade(new String[] { "Count" }, new String[] { "共{0}条" }, new string[] { "Id" }, this.ultraGrid1.DisplayLayout.Bands[0], SummaryDisplayAreas.BottomFixed); } #region toolbar工具栏 /// /// toolbar /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": Query(); break; case "Save": DoSave(); break; case "Refresh": doQuery_d(""); break; case "Close": this.Close(); break; case "ImportUse": importUse(); break; case "ComputeAdd": computeAdd(); break; case "CarryOver": carryOver(); break; case "doExcel": // ButtonTool doExcel(); break; } } /// /// excel /// private void doExcel() { try { this.Cursor = Cursors.Default; if (ultraGrid2.Rows.Count <= 0) { MessageUtil.ShowTips("无可导出的消耗充值明细!"); return; } String strDpt = ""; String strType = ""; String tips = ""; if (ultraGrid1.ActiveRow != null) { strDpt = ultraGrid1.ActiveRow.GetCellValue("USERORGNAME").ToString().Trim(); strType = ultraGrid1.ActiveRow.GetCellValue("type").ToString().Trim(); } if (!String.IsNullOrEmpty(strDpt)) { tips = strDpt; if (!String.IsNullOrEmpty(strType)) { tips = tips+"_" + strType + ""; } } ArrayList alUltraGrid = new ArrayList(); alUltraGrid.Add(ultraGrid2); ArrayList alSheeft = new ArrayList(); alSheeft.Add(tips+"充值消耗明细"); GridHelper.ulGridToExcel(alUltraGrid, alSheeft, tips + "充值消耗明细"); } catch (Exception e) { MessageUtil.ShowTips("导出失败" + e.Message); } finally { this.Cursor = Cursors.Default; } } /// /// 年末转结 /// private void carryOver() { frmPop_selectYear frm = new frmPop_selectYear(this.ob); frm.ShowDialog(); if (frm.tips == "1") { String StrYear = frm.year + ""; OilTrade res = new OilTrade(); res.Year = StrYear; res.CreateName = UserInfo.GetUserName(); res.CreateTime = DateTime.Now; res.CreateUserid = UserInfo.GetUserID(); CoreResult crt = this.execute("com.hnshituo.pur.requireplan.service.OilTradeService", "carryOver", new object[] { res }); if (crt.Resultcode == 0) { MessageUtil.ShowTips("操作成功!"); } else { MessageUtil.ShowTips("操作成功:" + crt.Resultmsg); } } } /// /// 查询头 /// private void Query() { try { this.Cursor = Cursors.WaitCursor; cardM.Clear(); trade.Clear(); OilCardM cardM1 = new OilCardM(); cardM1.OilCardMId = txt_Card_No_M.Text.Trim(); cardM1.UserOrgName = txt_org_name.Text.Trim(); if (txt_type1_M.SelectedIndex != -1) { cardM1.Type = txt_type1_M.Value.ToString().Trim(); } cardM1.DeleteUserid = txt_cardMD_no.Text.Trim(); cardM1.UpdateUserid = txt_User_name1.Text.Trim(); DataTable dt = this.execute("com.hnshituo.pur.requireplan.service.OilCardMService", "find_CardM", new object[] { cardM1 }); if (dt != null) { GridHelper.CopyDataToDatatable(ref dt, ref dataTable2, true); GridHelper.RefreshAndAutoSize(ultraGrid1); } } catch (Exception ex) { MessageUtil.ShowError("加载数据失败;" + ex); } finally { this.Cursor = Cursors.Default; } } /// /// 保存 /// private void DoSave() { try { ultraGrid2.UpdateData(); int i = 0; ArrayList list = new ArrayList(); foreach (UltraGridRow row in ultraGrid2.Rows) { if (Convert.ToBoolean(row.Cells["CHK"].Value)) { i++; OilTrade res = new OilTrade(); res.CardDId = row.Cells["CARDDID"].Value.ToString().Trim(); res.Id = row.Cells["ID"].Value.ToString().Trim(); res.Year = row.Cells["year"].Value.ToString().Trim(); res.M1Use = row.Cells["M1USE"].Value.ToString().Trim(); res.M2Use = row.Cells["M2USE"].Value.ToString().Trim(); res.M3Use = row.Cells["M3USE"].Value.ToString().Trim(); res.M4Use = row.Cells["M4USE"].Value.ToString().Trim(); res.M5Use = row.Cells["M5USE"].Value.ToString().Trim(); res.M6Use = row.Cells["M6USE"].Value.ToString().Trim(); res.M7Use = row.Cells["M7USE"].Value.ToString().Trim(); res.M8Use = row.Cells["M8USE"].Value.ToString().Trim(); res.M9Use = row.Cells["M9USE"].Value.ToString().Trim(); res.M10Use = row.Cells["M10USE"].Value.ToString().Trim(); res.M11Use = row.Cells["M11USE"].Value.ToString().Trim(); res.M12Use = row.Cells["M12USE"].Value.ToString().Trim(); res.M1Add = row.Cells["M1ADD"].Value.ToString().Trim(); res.M2Add = row.Cells["M2ADD"].Value.ToString().Trim(); res.M3Add = row.Cells["M3ADD"].Value.ToString().Trim(); res.M4Add = row.Cells["M4ADD"].Value.ToString().Trim(); res.M5Add = row.Cells["M5ADD"].Value.ToString().Trim(); res.M6Add = row.Cells["M6ADD"].Value.ToString().Trim(); res.M7Add = row.Cells["M7ADD"].Value.ToString().Trim(); res.M8Add = row.Cells["M8ADD"].Value.ToString().Trim(); res.M9Add = row.Cells["M9ADD"].Value.ToString().Trim(); res.M10Add = row.Cells["M10ADD"].Value.ToString().Trim(); res.M11Add = row.Cells["M11ADD"].Value.ToString().Trim(); res.M12Add = row.Cells["M12ADD"].Value.ToString().Trim(); res.Remain = row.Cells["REMAIN"].Value.ToString().Trim(); res.Remark = row.Cells["REMARK"].Value.ToString().Trim(); if (res == null) return; if (TestData(res) == false) { MessageUtil.ShowTips(errMsg); return; } if (res.Id.Equals("")) { res.CreateName = UserInfo.GetUserName(); res.CreateTime = DateTime.Now; res.CreateUserid = UserInfo.GetUserID(); } else { res.UpdateName = UserInfo.GetUserName(); res.UpdateTime = DateTime.Now; res.UpdateUserid = UserInfo.GetUserID(); } list.Add(res); } } if (i == 0) { MessageUtil.ShowWarning("请选择需要操作的记录!"); return; } if (MessageBox.Show("是否确认保存数据?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) return; CoreResult re = this.execute("com.hnshituo.pur.requireplan.service.OilTradeService", "doSave", new object[] { list, 0, 0 }); if (re.Resultcode == 0) { MessageUtil.ShowTips("数据保存成功!"); Query(); OilTrade strbdg = (OilTrade)list[0]; string stroldId = strbdg.Did; ConfigureClassCommon.doActiveSelRow(ultraGrid2, "DID", stroldId); } else { MessageUtil.ShowTips("保存失败:" + re.Resultmsg); } } catch (Exception ex) { MessageUtil.ShowError("保存失败:" + ex); } } /// /// 查询行 /// /// private void doQuery_d(string p) { trade.Clear(); try { String strMid=""; if (!ck_is_all.Checked) { if (ultraGrid1.ActiveRow == null) { return; } strMid = ultraGrid1.ActiveRow.GetCellValue("ID").ToString().Trim(); if (String.IsNullOrEmpty(strMid)) { MessageUtil.ShowTips("主卡编号为空"); return; } } OilTrade trade1 = new OilTrade(); trade1.Mid = strMid; trade1.UserName = String.IsNullOrEmpty(QUse_Name.Text.Trim()) ? txt_User_name1.Text.Trim() : QUse_Name.Text.Trim(); trade1.CardDId = String.IsNullOrEmpty(Qcard_d_no.Text.Trim()) ? txt_cardMD_no.Text.Trim() : Qcard_d_no.Text.Trim(); trade1.Year = Qyear.Text.ToString().Trim(); if (Qstatus.SelectedIndex != -1) { trade1.Status = Qstatus.Value.ToString().Trim(); } DataTable dt = this.execute("com.hnshituo.pur.requireplan.service.OilTradeService", "find_Trade", new object[] { trade1 }); if (dt != null) { GridHelper.CopyDataToDatatable(ref dt, ref dataTable1, true); GridHelper.RefreshAndAutoSize(ultraGrid2); if (String.IsNullOrEmpty(p)) { publicPms.doActiveSelRow(ultraGrid1, "OILCARDID", p); } } } catch (Exception ex) { MessageUtil.ShowTips("加载数据异常:"+ex); } } /// /// 计算充值金额 /// private void computeAdd() { try { this.Cursor = Cursors.WaitCursor; //获取计算哪个月的充值金额 frmPop_selectDate frm = new frmPop_selectDate(this.ob, "0"); frm.ShowDialog(); if (frm.tips == "1") { DateTime date = frm.date; if (date == null) { MessageUtil.ShowTips("选择的月份为空"); } String strComputerType = frm.computerType; String limit = frm.limitCount; if (String.IsNullOrEmpty(strComputerType)) { MessageUtil.ShowTips("选择的计算模式为空"); return; } OilTrade res = new OilTrade(); res.DeleteTime = date; res.DeleteUserid = strComputerType; res.CreateName = UserInfo.GetUserName(); res.CreateTime = DateTime.Now; res.CreateUserid = UserInfo.GetUserID(); res.DeleteName = limit; CoreResult crt = this.execute("com.hnshituo.pur.requireplan.service.OilTradeService", "computeAdd", new object[] { res }); if (crt.Resultcode == 0) { MessageUtil.ShowTips("操作成功!"); } else { MessageUtil.ShowTips("操作失败:" + crt.Resultmsg); doQuery_d(""); } } } catch (Exception ex) { MessageUtil.ShowTips("操作失败:"+ex.Message); } finally { this.Cursor = Cursors.Default; } } /// /// 导入消耗 /// private void importUse() { FrmPurOilImportUse frm = new FrmPurOilImportUse(this.ob); frm.ShowDialog(); if (frm.strTips == "1") { doQuery_d(""); } } #endregion #region 界面事件 private void ultraGrid1_AfterRowActivate(object sender, EventArgs e) { doQuery_d(""); } #endregion #region 公共函数 private void Init() { //绑定年份数据 DataTable dt1 = new DataTable(); dt1.Columns.Add("YEAR", Type.GetType("System.Int32")); for (int i = DateTime.Now.AddYears(-3).Year; i <= DateTime.Now.AddYears(3).Year; i++) dt1.Rows.Add(new object[] { i }); Qyear.DataSource = dt1; Qyear.ValueMember = "YEAR"; Qyear.DisplayMember = "YEAR"; Qyear.Value = DateTime.Now.Year.ToString(); } /// /// 判断是否为正数数字 /// /// /// private bool IsNum(string str) { if (str != "") { return StringUtil.IsNumber(str); } return true; } /// /// /// /// /// private bool isrightRange(String str) { if (!String.IsNullOrEmpty(str)) { if (Convert.ToDouble(str) >= 200000 || Convert.ToDouble(str) <= -200000) { errMsg = "超出最大上限20万!"; return false; } } return true; } /// /// 校验保存填写数据是否满足要求 /// /// /// private bool TestData(OilTrade res) { try { if (String.IsNullOrEmpty(res.Id)) { if (String.IsNullOrEmpty(res.CardDId.ToString())) { errMsg = "若新增卡交易记录,需填写副卡卡号!"; return false; } } else { if (String.IsNullOrEmpty(res.CardDId.ToString())) { errMsg = "副卡卡号不能为空!"; return false; } } if (!IsNum(res.Year)) { errMsg = "年份输入格式不正确!"; return false; } if (res.Year.Length!=4) { errMsg = "年份输入格式不正确!"; return false; } if (!IsNum(res.Remain.ToString())) { errMsg = "年初卡余额请输入数字!"; return false; } if (isrightRange(res.Remain.ToString()) == false) { errMsg = "年初卡余额" + errMsg; return false; } if (!IsNum(res.M1Use.ToString())) { errMsg = "去年12月消耗输入数字!"; return false; } if (isrightRange(res.M1Use.ToString()) == false) { errMsg = "去年12月消耗" + errMsg; return false; } if (!IsNum(res.M2Use.ToString())) { errMsg = "1月消耗请输入数字!"; return false; } if (isrightRange(res.M2Use.ToString()) == false) { errMsg = "1月消耗" + errMsg; return false; } if (!IsNum(res.M3Use.ToString())) { errMsg = "2月消耗请输入数字!"; return false; } if (isrightRange(res.M3Use.ToString()) == false) { errMsg = "2月消耗" + errMsg; return false; } if (!IsNum(res.M4Use.ToString())) { errMsg = "3月消耗请输入数字!"; return false; } if (isrightRange(res.M4Use.ToString()) == false) { errMsg = "3月消耗" + errMsg; return false; } if (!IsNum(res.M5Use.ToString())) { errMsg = "4月消耗请输入数字!"; return false; } if (isrightRange(res.M5Use.ToString()) == false) { errMsg = "4月消耗" + errMsg; return false; } if (!IsNum(res.M6Use.ToString())) { errMsg = "5月消耗请输入数字!"; return false; } if (isrightRange(res.M6Use.ToString()) == false) { errMsg = "5月消耗" + errMsg; return false; } if (!IsNum(res.M7Use.ToString())) { errMsg = "6月消耗请输入数字!"; return false; } if (isrightRange(res.M7Use.ToString()) == false) { errMsg = "6月消耗" + errMsg; return false; } if (!IsNum(res.M8Use.ToString())) { errMsg = "7月消耗请输入数字!"; return false; } if (isrightRange(res.M8Use.ToString()) == false) { errMsg = "7月消耗" + errMsg; return false; } if (!IsNum(res.M9Use.ToString())) { errMsg = "8月消耗请输入数字!"; return false; } if (isrightRange(res.M9Use.ToString()) == false) { errMsg = "8月消耗" + errMsg; return false; } if (!IsNum(res.M10Use.ToString())) { errMsg = "9月消耗请输入数字!"; return false; } if (isrightRange(res.M10Use.ToString()) == false) { errMsg = "9月消耗" + errMsg; return false; } if (!IsNum(res.M11Use.ToString())) { errMsg = "10月消耗请输入数字!"; return false; } if (isrightRange(res.M11Use.ToString()) == false) { errMsg = "10月消耗" + errMsg; return false; } if (!IsNum(res.M12Use.ToString())) { errMsg = "11月消耗请输入数字!"; return false; } if (isrightRange(res.M12Use.ToString()) == false) { errMsg = "11月消耗" + errMsg; return false; } if (!IsNum(res.M1Add.ToString())) { errMsg = "1月充值输入数字!"; return false; } if (isrightRange(res.M1Add.ToString()) == false) { errMsg = "1月充值" + errMsg; return false; } if (!IsNum(res.M2Add.ToString())) { errMsg = "2月充值请输入数字!"; return false; } if (isrightRange(res.M2Add.ToString()) == false) { errMsg = "2月充值" + errMsg; return false; } if (!IsNum(res.M3Add.ToString())) { errMsg = "3月充值请输入数字!"; return false; } if (isrightRange(res.M3Add.ToString()) == false) { errMsg = "3月充值" + errMsg; return false; } if (!IsNum(res.M4Add.ToString())) { errMsg = "4月充值请输入数字!"; return false; } if (isrightRange(res.M4Add.ToString()) == false) { errMsg = "4月充值" + errMsg; return false; } if (!IsNum(res.M5Add.ToString())) { errMsg = "5月充值请输入数字!"; return false; } if (isrightRange(res.M5Add.ToString()) == false) { errMsg = "5月充值" + errMsg; return false; } if (!IsNum(res.M6Add.ToString())) { errMsg = "6月充值请输入数字!"; return false; } if (isrightRange(res.M6Add.ToString()) == false) { errMsg = "6月充值" + errMsg; return false; } if (!IsNum(res.M7Add.ToString())) { errMsg = "7月充值请输入数字!"; return false; } if (isrightRange(res.M7Add.ToString()) == false) { errMsg = "7月充值" + errMsg; return false; } if (!IsNum(res.M8Add.ToString())) { errMsg = "8月充值请输入数字!"; return false; } if (isrightRange(res.M8Add.ToString()) == false) { errMsg = "8月充值" + errMsg; return false; } if (!IsNum(res.M9Add.ToString())) { errMsg = "9月充值请输入数字!"; return false; } if (isrightRange(res.M9Add.ToString()) == false) { errMsg = "9月充值" + errMsg; return false; } if (!IsNum(res.M10Add.ToString())) { errMsg = "10月充值请输入数字!"; return false; } if (isrightRange(res.M10Add.ToString()) == false) { errMsg = "10月充值" + errMsg; return false; } if (!IsNum(res.M11Add.ToString())) { errMsg = "11月充值请输入数字!"; return false; } if (isrightRange(res.M11Add.ToString()) == false) { errMsg = "11月充值" + errMsg; return false; } if (!IsNum(res.M12Add.ToString())) { errMsg = "12月充值请输入数字!"; return false; } if (isrightRange(res.M12Add.ToString()) == false) { errMsg = "12月充值" + errMsg; return false; } return true; } catch (Exception ex) { errMsg = ex + ""; //MessageUtil.ShowError(""+ex); return false; } } #endregion private void ultraGrid2_AfterRowInsert(object sender, RowEventArgs e) { e.Row.Cells["Year"].Value = Qyear.Text.ToString(); } private void ultraGrid2_InitializeRow(object sender, InitializeRowEventArgs e) { if (e.Row.Cells["status"].Value.ToString().Equals("暂停")) { e.Row.Appearance.ForeColor = Color.Red; } else if (e.Row.Cells["status"].Value.ToString().Equals("注销")) { e.Row.Appearance.ForeColor = Color.Gray; } else { e.Row.Appearance.ForeColor = Color.Black; } } private void btn_query_d_Click(object sender, EventArgs e) { doQuery_d(""); } } }