using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using SOH.Kernel; using SOH.BLL; using SOH.Entities; using EAS; using EAS.Data; using EAS.Services; using SOH.Data; using SOH.Entities.DTO; namespace SOH.ShouFei { [ModuleAttribute(ModuleID = "A4009C61-9C59-4F4A-880A-1D4BD4D29680", ModuleName = "每日收费情况汇总")] public partial class frmMRSFQKHZ : SOH.Window.baseChildForm { private short fddm; private List lts; public frmMRSFQKHZ() { InitializeComponent(); string yydm = LoginUser.yydm; short fddmtemp = 0; short.TryParse(yydm, out fddmtemp); fddm = fddmtemp; this.dataGridView1.AutoGenerateColumns = false; this.dataGridView2.AutoGenerateColumns = false; } private void button1_Click(object sender, EventArgs e) { DateTime dt=this.dateTimePicker1.Value; var vs = ServiceContainer.GetService(); List lts1 = vs.GetDrSfmx(fddm,dt); //页面数据缓存 lts = lts1; this.dataGridView2.DataSource = null; if(lts1==null||lts1.Count==0) { //没有数据 ,全是0 List lds = new List(); dto_sftj ds1=new dto_sftj(); ds1.lx = 0; ds1.tjmc = "个人收费报表"; ds1.bs = 0; ds1.je = 0.00; lds.Add(ds1); dto_sftj ds2=new dto_sftj(); ds2.tjmc = "体检卡收费报表"; ds2.lx = 1; ds2.bs = 0; ds2.je = 0.00; lds.Add(ds2); this.dataGridView1.DataSource = null; this.dataGridView1.DataSource = lds; } else { //左侧统计数据拼接 List lds = new List(); //收费方式 0 现金 ,1 银行卡,2 支票,3 支付宝,4 免费 //5 网上套餐卡,6 微信,7挂账 //个人的 var data1 = lts1.Where(t => t.sffs >= 0 && t.sffs <=9); dto_sftj ds1 = new dto_sftj(); ds1.tjmc = "个人收费报表"; ds1.lx = 0; if (data1.Any()) { ds1.bs = data1.Count(); //ds1.je= //sffx 0收费 1退费 int jejia=0; int jejian=0; var datajia= data1.Where(t => t.sffx == 0); var datajian = data1.Where(t => t.sffx == 1); if (datajia.Any()) { jejia = datajia.Sum(t => t.je); } if (datajian.Any()) { jejian = datajian.Sum(t => t.je); } ds1.je = (jejia - jejian) / 100; lds.Add(ds1); } else { ds1.bs = 0; ds1.je = 0; lds.Add(ds1); } var data2 = lts1.Where(t => t.sffs ==5 || t.sffs ==6); dto_sftj ds2 = new dto_sftj(); ds2.tjmc = "体检卡收费报表"; ds2.lx = 1; if (data2.Any()) { ds2.bs = data2.Count(); //ds1.je= //sffx 0收费 1退费 int jejia = 0; int jejian = 0; var datajia = data2.Where(t => t.sffx == 0); var datajian = data2.Where(t => t.sffx == 1); if (datajia.Any()) { jejia = datajia.Sum(t => t.je); } if (datajian.Any()) { jejian = datajian.Sum(t => t.je); } ds2.je = (jejia - jejian) / 100; lds.Add(ds2); } else { ds2.bs = 0; ds2.je = 0; lds.Add(ds2); } this.dataGridView1.DataSource = null; this.dataGridView1.DataSource = lds; } } //左侧选择,右侧显示明细 private void dataGridView1_SelectionChanged(object sender, EventArgs e) { if (this.dataGridView1.SelectedRows.Count > 0) { int rindex = this.dataGridView1.SelectedRows[0].Index; dto_sftj ds = this.dataGridView1.Rows[rindex].DataBoundItem as dto_sftj; this.dataGridView2.DataSource = null; if (ds.lx == 0) //个人 { List ldsl = new List(); if (lts == null || lts.Count == 0) { for (int i = 0; i < 9; i++) { dto_sftj_list dsl = new dto_sftj_list(); dsl.sffs = (short)i; if(i==0) { dsl.sffsmc = "现金"; } if (i == 1) { dsl.sffsmc = "银行卡"; } if (i == 2) { dsl.sffsmc = "支票"; } if (i == 3) { dsl.sffsmc = "支付宝"; } if (i == 4) { dsl.sffsmc = "免费"; } if (i == 5) { dsl.sffsmc = "网上套餐"; } if (i == 6) { dsl.sffsmc = "微信"; } if (i == 7) { dsl.sffsmc = "挂账"; } if (i == 8) { dsl.sffs = -1; dsl.sffsmc = "合计"; } dsl.sfje = 0; dsl.tfje = 0; dsl.xj = 0; ldsl.Add(dsl); } this.dataGridView2.DataSource = ldsl; return; } var data = lts.Where(t => t.sffs >= 0 && t.sffs <= 5); if (data.Any()) { //0现金 var data0 = data.Where(t => t.sffs == 0); if (data0.Any()) { dto_sftj_list dsl0 = new dto_sftj_list(); dsl0.sfje = 0; dsl0.tfje = 0; List lt0 = data0.ToList(); foreach (t_sfmxb ts in lt0) { if (ts.sffx == 0) //收费 { dsl0.sfje += (ts.je / 100); } else { dsl0.tfje += (ts.je / 100); } } dsl0.xj = dsl0.sfje - dsl0.tfje; dsl0.sffs = 0; dsl0.sffsmc = "现金"; ldsl.Add(dsl0); } else { dto_sftj_list dsl0 = new dto_sftj_list(); dsl0.sfje = 0; dsl0.tfje = 0; dsl0.xj = 0; dsl0.sffs = 0; dsl0.sffsmc = "现金"; ldsl.Add(dsl0); } //1银行卡 var data1 = data.Where(t => t.sffs == 1); if (data1.Any()) { dto_sftj_list dsl1 = new dto_sftj_list(); dsl1.sfje = 0; dsl1.tfje = 0; List lt1 = data1.ToList(); foreach (t_sfmxb ts in lt1) { if (ts.sffx == 0) //收费 { dsl1.sfje += (ts.je / 100); } else { dsl1.tfje += (ts.je / 100); } } dsl1.xj = dsl1.sfje - dsl1.tfje; dsl1.sffs = 1; dsl1.sffsmc = "银行卡"; ldsl.Add(dsl1); } else { dto_sftj_list dsl1 = new dto_sftj_list(); dsl1.sfje = 0; dsl1.tfje = 0; dsl1.xj = 0; dsl1.sffs = 1; dsl1.sffsmc = "银行卡"; ldsl.Add(dsl1); } //2支票 var data2 = data.Where(t => t.sffs == 2); if (data2.Any()) { dto_sftj_list dsl2 = new dto_sftj_list(); dsl2.sfje = 0; dsl2.tfje = 0; List lt2 = data2.ToList(); foreach (t_sfmxb ts in lt2) { if (ts.sffx == 0) //收费 { dsl2.sfje += (ts.je / 100); } else { dsl2.tfje += (ts.je / 100); } } dsl2.xj = dsl2.sfje - dsl2.tfje; dsl2.sffs = 2; dsl2.sffsmc = "支票"; ldsl.Add(dsl2); } else { dto_sftj_list dsl2 = new dto_sftj_list(); dsl2.sfje = 0; dsl2.tfje = 0; dsl2.xj = 0; dsl2.sffs = 2; dsl2.sffsmc = "支票"; ldsl.Add(dsl2); } //3支付宝 var data3 = data.Where(t => t.sffs == 3); if (data3.Any()) { dto_sftj_list dsl3 = new dto_sftj_list(); dsl3.sfje = 0; dsl3.tfje = 0; List lt3 = data3.ToList(); foreach (t_sfmxb ts in lt3) { if (ts.sffx == 0) //收费 { dsl3.sfje += (ts.je / 100); } else { dsl3.tfje += (ts.je / 100); } } dsl3.xj = dsl3.sfje - dsl3.tfje; dsl3.sffs = 3; dsl3.sffsmc = "支付宝"; ldsl.Add(dsl3); } else { dto_sftj_list dsl3 = new dto_sftj_list(); dsl3.sfje = 0; dsl3.tfje = 0; dsl3.xj = 0; dsl3.sffs = 3; dsl3.sffsmc = "支付宝"; ldsl.Add(dsl3); } //4免费 var data4 = data.Where(t => t.sffs == 4); if (data4.Any()) { dto_sftj_list dsl4 = new dto_sftj_list(); dsl4.sfje = 0; dsl4.tfje = 0; List lt4 = data4.ToList(); foreach (t_sfmxb ts in lt4) { if (ts.sffx == 0) //收费 { dsl4.sfje += (ts.je / 100); } else { dsl4.tfje += (ts.je / 100); } } dsl4.xj = dsl4.sfje - dsl4.tfje; dsl4.sffs = 4; dsl4.sffsmc = "免费"; ldsl.Add(dsl4); } else { dto_sftj_list dsl4 = new dto_sftj_list(); dsl4.sfje = 0; dsl4.tfje = 0; dsl4.xj = 0; dsl4.sffs = 4; dsl4.sffsmc = "免费"; ldsl.Add(dsl4); } //5网上套餐 var data5 = data.Where(t => t.sffs == 5); if (data5.Any()) { dto_sftj_list dsl5 = new dto_sftj_list(); dsl5.sfje = 0; dsl5.tfje = 0; List lt5 = data5.ToList(); foreach (t_sfmxb ts in lt5) { if (ts.sffx == 0) //收费 { dsl5.sfje += (ts.je / 100); } else { dsl5.tfje += (ts.je / 100); } } dsl5.xj = dsl5.sfje - dsl5.tfje; dsl5.sffs = 5; dsl5.sffsmc = "网上套餐"; ldsl.Add(dsl5); } else { dto_sftj_list dsl5 = new dto_sftj_list(); dsl5.sfje = 0; dsl5.tfje = 0; dsl5.xj = 0; dsl5.sffs = 5; dsl5.sffsmc = "网上套餐"; ldsl.Add(dsl5); } //6微信 var data6 = data.Where(t => t.sffs == 6); if (data6.Any()) { dto_sftj_list dsl6 = new dto_sftj_list(); dsl6.sfje = 0; dsl6.tfje = 0; List lt6 = data6.ToList(); foreach (t_sfmxb ts in lt6) { if (ts.sffx == 0) //收费 { dsl6.sfje += (ts.je / 100); } else { dsl6.tfje += (ts.je / 100); } } dsl6.xj = dsl6.sfje - dsl6.tfje; dsl6.sffs = 6; dsl6.sffsmc = "微信"; ldsl.Add(dsl6); } else { dto_sftj_list dsl6 = new dto_sftj_list(); dsl6.sfje = 0; dsl6.tfje = 0; dsl6.xj = 0; dsl6.sffs = 6; dsl6.sffsmc = "微信"; ldsl.Add(dsl6); } //7挂账 var data7 = data.Where(t => t.sffs == 7); if (data7.Any()) { dto_sftj_list dsl7 = new dto_sftj_list(); dsl7.sfje = 0; dsl7.tfje = 0; List lt7 = data7.ToList(); foreach (t_sfmxb ts in lt7) { if (ts.sffx == 0) //收费 { dsl7.sfje += (ts.je / 100); } else { dsl7.tfje += (ts.je / 100); } } dsl7.xj = dsl7.sfje - dsl7.tfje; dsl7.sffs = 7; dsl7.sffsmc = "挂账"; ldsl.Add(dsl7); } else { dto_sftj_list dsl7 = new dto_sftj_list(); dsl7.sfje = 0; dsl7.tfje = 0; dsl7.xj = 0; dsl7.sffs = 7; dsl7.sffsmc = "挂账"; ldsl.Add(dsl7); } dto_sftj_list dsl_hj = new dto_sftj_list(); dsl_hj.sffs = -1; dsl_hj.sffsmc = "合计"; dsl_hj.sfje = 0; dsl_hj.tfje = 0; foreach (dto_sftj_list dslt in ldsl) { dsl_hj.sfje += dslt.sfje; dsl_hj.tfje += dslt.tfje; } dsl_hj.xj = dsl_hj.sfje - dsl_hj.tfje; ldsl.Add(dsl_hj); this.dataGridView2.DataSource = ldsl; return; } else { for (int i = 0; i < 9; i++) { dto_sftj_list dsl = new dto_sftj_list(); dsl.sffs = (short)i; if (i == 0) { dsl.sffsmc = "现金"; } if (i == 1) { dsl.sffsmc = "银行卡"; } if (i == 2) { dsl.sffsmc = "支票"; } if (i == 3) { dsl.sffsmc = "支付宝"; } if (i == 4) { dsl.sffsmc = "免费"; } if (i == 5) { dsl.sffsmc = "网上套餐"; } if (i == 6) { dsl.sffsmc = "微信"; } if (i == 7) { dsl.sffsmc = "挂账"; } if (i == 8) { dsl.sffs = -1; dsl.sffsmc = "合计"; } dsl.sfje = 0; dsl.tfje = 0; dsl.xj = 0; ldsl.Add(dsl); } this.dataGridView2.DataSource = ldsl; return; } } else //体检卡 { List ldsl = new List(); if (lts == null || lts.Count == 0) { for (int i = 5; i < 8; i++) { dto_sftj_list dsl = new dto_sftj_list(); dsl.sffs = (short)i; if (i == 5) { dsl.sffsmc = "套餐卡"; } if (i == 6) { dsl.sffsmc = "记账卡"; } if (i == 7) { dsl.sffs = -1; dsl.sffsmc = "合计"; } dsl.sfje = 0; dsl.tfje = 0; dsl.xj = 0; ldsl.Add(dsl); } this.dataGridView2.DataSource = ldsl; return; } var data = lts.Where(t => t.sffs == 5 && t.sffs == 6); if (data.Any()) { //5套餐卡 var data5 = data.Where(t => t.sffs == 5); if (data5.Any()) { dto_sftj_list dsl5 = new dto_sftj_list(); dsl5.sfje = 0; dsl5.tfje = 0; List lt5 = data5.ToList(); foreach (t_sfmxb ts in lt5) { if (ts.sffx == 0) //收费 { dsl5.sfje += (ts.je / 100); } else { dsl5.tfje += (ts.je / 100); } } dsl5.xj = dsl5.sfje - dsl5.tfje; dsl5.sffs = 5; dsl5.sffsmc = "套餐卡"; ldsl.Add(dsl5); } else { dto_sftj_list dsl5 = new dto_sftj_list(); dsl5.sfje = 0; dsl5.tfje = 0; dsl5.xj = 0; dsl5.sffs = 5; dsl5.sffsmc = "套餐卡"; ldsl.Add(dsl5); } //6记账卡 var data6 = data.Where(t => t.sffs == 1); if (data6.Any()) { dto_sftj_list dsl6 = new dto_sftj_list(); dsl6.sfje = 0; dsl6.tfje = 0; List lt6 = data6.ToList(); foreach (t_sfmxb ts in lt6) { if (ts.sffx == 0) //收费 { dsl6.sfje += (ts.je / 100); } else { dsl6.tfje += (ts.je / 100); } } dsl6.xj = dsl6.sfje - dsl6.tfje; dsl6.sffs = 6; dsl6.sffsmc = "记账卡"; ldsl.Add(dsl6); } else { dto_sftj_list dsl6 = new dto_sftj_list(); dsl6.sfje = 0; dsl6.tfje = 0; dsl6.xj = 0; dsl6.sffs = 6; dsl6.sffsmc = "记账卡"; ldsl.Add(dsl6); } dto_sftj_list dsl_hj = new dto_sftj_list(); dsl_hj.sffs = -1; dsl_hj.sffsmc = "合计"; dsl_hj.sfje = 0; dsl_hj.tfje = 0; foreach (dto_sftj_list dslt in ldsl) { dsl_hj.sfje += dslt.sfje; dsl_hj.tfje += dslt.tfje; } dsl_hj.xj = dsl_hj.sfje - dsl_hj.tfje; ldsl.Add(dsl_hj); this.dataGridView2.DataSource = ldsl; return; } else { for (int i = 5; i < 8; i++) { dto_sftj_list dsl = new dto_sftj_list(); dsl.sffs = (short)i; if (i == 5) { dsl.sffsmc = "套餐卡"; } if (i == 6) { dsl.sffsmc = "记账卡"; } if (i == 7) { dsl.sffs = -1; dsl.sffsmc = "合计"; } dsl.sfje = 0; dsl.tfje = 0; dsl.xj = 0; ldsl.Add(dsl); } this.dataGridView2.DataSource = ldsl; return; } } } else { return; } } } }