tijian_jichuang/Code/ShouFei/frmMRSFQKHZ.cs

731 lines
28 KiB
C#
Raw Normal View History

2025-02-20 11:54:48 +08:00
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<t_sfmxb> 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<IShouFei>();
List<t_sfmxb> lts1 = vs.GetDrSfmx(fddm,dt);
//页面数据缓存
lts = lts1;
this.dataGridView2.DataSource = null;
if(lts1==null||lts1.Count==0)
{
//没有数据 全是0
List<dto_sftj> lds = new List<dto_sftj>();
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<dto_sftj> lds = new List<dto_sftj>();
//收费方式 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<dto_sftj_list> ldsl = new List<dto_sftj_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<t_sfmxb> 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<t_sfmxb> 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<t_sfmxb> 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<t_sfmxb> 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<t_sfmxb> 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<t_sfmxb> 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<t_sfmxb> 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<t_sfmxb> 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<dto_sftj_list> ldsl = new List<dto_sftj_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<t_sfmxb> 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<t_sfmxb> 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;
}
}
}
}