tijian_jichuang/Code/ShouFei/frmMRSFQKHZ.cs
2025-02-20 11:54:48 +08:00

731 lines
28 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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;
}
}
}
}