收费统计

This commit is contained in:
zhanglipeng
2020-12-28 15:34:33 +08:00
parent bf7e14cef3
commit 3089c8368d
5 changed files with 131 additions and 66 deletions

View File

@ -53,9 +53,67 @@ public class BySchoolchargeController extends BaseController {
public TableDataInfo childlist(BySchoolcharge bySchoolcharge) {
startPage();
List<BySchoolcharge> list = bySchoolchargeService.selectByChildchargeList(bySchoolcharge);
if (list != null && list.size() > 0) {
for (int i = 0; i < list.size(); i++) {
list.get(i).setZj(getZongji(list.get(i)));
}
}
return getDataTable(list);
}
//根据每条幼儿统计数计算总费用
public double getZongji(BySchoolcharge bySchoolcharge) {
double d = 0;
//幼儿出勤天数
Long days = bySchoolcharge.getDays();
//班级类型
String classType = bySchoolcharge.getBjtype();
if (classType.equals("1")) {
//托班
//托班收费标准
String sfbz = bySchoolcharge.getByfT();
d = getTuofei(sfbz, days, bySchoolcharge.getHsfT());
} else if (classType.equals("2")) {
//小班
//小班收费标准
String sfbz = bySchoolcharge.getByfX();
d = getTuofei(sfbz, days, bySchoolcharge.getHsfX());
} else if (classType.equals("3")) {
//中班
//中班收费标准
String sfbz = bySchoolcharge.getByfZ();
d = getTuofei(sfbz, days, bySchoolcharge.getHsfZ());
} else if (classType.equals("4")) {
//大班
//大班收费标准
String sfbz = bySchoolcharge.getByf();
d = getTuofei(sfbz, days, bySchoolcharge.getHsf());
} else {
}
return d;
}
//根据班级收费标准、幼儿出勤天数、伙食费收费标准 计算幼儿总费用
public double getTuofei(String tfsfbz, Long days, Double hsf) {
double d = 0;
//1-3:100;4-10:500;11-31:1000
//分割各个阶段收费
String[] arrList = tfsfbz.split(";");
for (int i = 0; i < arrList.length; i++) {
//分割阶段收费
String[] arr = arrList[i].split(":");
Long one = Long.valueOf(arr[0].split("-")[0]);
Long two = Long.valueOf(arr[0].split("-")[1]);
if (days >= one && days <= two) {
d = days * hsf + Double.valueOf(arr[1]);
break;
}
}
return d;
}
/**
* 导出园所收费标准列表
*/

View File

@ -30,7 +30,7 @@ public class BySchoolcharge extends BaseEntity {
* 保育费
*/
@Excel(name = "保育费")
private Double byf;
private String byf;
/**
* 伙食费
@ -48,7 +48,7 @@ public class BySchoolcharge extends BaseEntity {
* 保育费小班
*/
@Excel(name = "保育费小班")
private Double byfX;
private String byfX;
/**
* 伙食费小班
@ -60,7 +60,7 @@ public class BySchoolcharge extends BaseEntity {
* 保育费托班
*/
@Excel(name = "保育费托班")
private Double byfT;
private String byfT;
/**
* 伙食费托班
@ -72,7 +72,7 @@ public class BySchoolcharge extends BaseEntity {
* 保育费中班
*/
@Excel(name = "保育费中班")
private Double byfZ;
private String byfZ;
/**
* 伙食费中班
@ -88,6 +88,7 @@ public class BySchoolcharge extends BaseEntity {
private String classid;
private Long days;
private String bjtype;
private Double zj;
public void setId(Long id) {
this.id = id;
@ -105,11 +106,11 @@ public class BySchoolcharge extends BaseEntity {
return deptId;
}
public void setByf(Double byf) {
public void setByf(String byf) {
this.byf = byf;
}
public Double getByf() {
public String getByf() {
return byf;
}
@ -129,19 +130,11 @@ public class BySchoolcharge extends BaseEntity {
return createUserid;
}
public SysDept getDept() {
return dept;
}
public void setDept(SysDept dept) {
this.dept = dept;
}
public void setByfX(Double byfX) {
public void setByfX(String byfX) {
this.byfX = byfX;
}
public Double getByfX() {
public String getByfX() {
return byfX;
}
@ -153,11 +146,11 @@ public class BySchoolcharge extends BaseEntity {
return hsfX;
}
public void setByfT(Double byfT) {
public void setByfT(String byfT) {
this.byfT = byfT;
}
public Double getByfT() {
public String getByfT() {
return byfT;
}
@ -169,11 +162,11 @@ public class BySchoolcharge extends BaseEntity {
return hsfT;
}
public void setByfZ(Double byfZ) {
public void setByfZ(String byfZ) {
this.byfZ = byfZ;
}
public Double getByfZ() {
public String getByfZ() {
return byfZ;
}
@ -185,6 +178,14 @@ public class BySchoolcharge extends BaseEntity {
return hsfZ;
}
public SysDept getDept() {
return dept;
}
public void setDept(SysDept dept) {
this.dept = dept;
}
public String getMonth() {
return month;
}
@ -225,6 +226,14 @@ public class BySchoolcharge extends BaseEntity {
this.bjtype = bjtype;
}
public void setZj(Double zj) {
this.zj = zj;
}
public Double getZj() {
return zj;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
@ -246,6 +255,7 @@ public class BySchoolcharge extends BaseEntity {
.append("classid", getClassid())
.append("bjtype", getBjtype())
.append("days", getDays())
.append("zj", getZj())
.toString();
}
}

View File

@ -52,8 +52,10 @@
<select id="selectByChildchargeList" parameterType="BySchoolcharge" resultMap="BySchoolchargeResult">
select a.name,a.classid,
c.bjtype,
(select count(*) from by_child_checkin_detail where childid=a.id and type='01' and date_format(create_time,'%Y-%m')=concat(#{month})) as days ,
b.id, b.dept_id, b.byf, b.hsf, b.create_userid, b.create_time,b.byf_x, b.hsf_x, b.byf_t, b.hsf_t, b.byf_z, b.hsf_z
(select count(*) from by_child_checkin_detail where childid=a.id and type='01' and
date_format(create_time,'%Y-%m')=concat(#{month})) as days ,
b.id, b.dept_id, b.byf, b.hsf, b.create_userid, b.create_time,b.byf_x, b.hsf_x, b.byf_t, b.hsf_t, b.byf_z,
b.hsf_z
from by_child a
left join by_class c on a.classid=c.bjbh
left join by_schoolcharge b on a.schoolid=b.dept_id
@ -71,28 +73,28 @@
insert into by_schoolcharge
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="deptId != null ">dept_id,</if>
<if test="byf != null ">byf,</if>
<if test="byf != null and byf != ''">byf,</if>
<if test="hsf != null ">hsf,</if>
<if test="createUserid != null ">create_userid,</if>
<if test="createTime != null ">create_time,</if>
<if test="byfX != null ">byf_x,</if>
<if test="byfX != null and byfX != ''">byf_x,</if>
<if test="hsfX != null ">hsf_x,</if>
<if test="byfT != null ">byf_t,</if>
<if test="byfT != null and byfT != ''">byf_t,</if>
<if test="hsfT != null ">hsf_t,</if>
<if test="byfZ != null ">byf_z,</if>
<if test="byfZ != null and byfZ != ''">byf_z,</if>
<if test="hsfZ != null ">hsf_z,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="deptId != null ">#{deptId},</if>
<if test="byf != null ">#{byf},</if>
<if test="byf != null and byf != ''">#{byf},</if>
<if test="hsf != null ">#{hsf},</if>
<if test="createUserid != null ">#{createUserid},</if>
<if test="createTime != null ">#{createTime},</if>
<if test="byfX != null ">#{byfX},</if>
<if test="byfX != null and byfX != ''">#{byfX},</if>
<if test="hsfX != null ">#{hsfX},</if>
<if test="byfT != null ">#{byfT},</if>
<if test="byfT != null and byfT != ''">#{byfT},</if>
<if test="hsfT != null ">#{hsfT},</if>
<if test="byfZ != null ">#{byfZ},</if>
<if test="byfZ != null and byfZ != ''">#{byfZ},</if>
<if test="hsfZ != null ">#{hsfZ},</if>
</trim>
</insert>
@ -101,15 +103,15 @@
update by_schoolcharge
<trim prefix="SET" suffixOverrides=",">
<if test="deptId != null ">dept_id = #{deptId},</if>
<if test="byf != null ">byf = #{byf},</if>
<if test="byf != null and byf != ''">byf = #{byf},</if>
<if test="hsf != null ">hsf = #{hsf},</if>
<if test="createUserid != null ">create_userid = #{createUserid},</if>
<if test="createTime != null ">create_time = #{createTime},</if>
<if test="byfX != null ">byf_x = #{byfX},</if>
<if test="byfX != null and byfX != ''">byf_x = #{byfX},</if>
<if test="hsfX != null ">hsf_x = #{hsfX},</if>
<if test="byfT != null ">byf_t = #{byfT},</if>
<if test="byfT != null and byfT != ''">byf_t = #{byfT},</if>
<if test="hsfT != null ">hsf_t = #{hsfT},</if>
<if test="byfZ != null ">byf_z = #{byfZ},</if>
<if test="byfZ != null and byfZ != ''">byf_z = #{byfZ},</if>
<if test="hsfZ != null ">hsf_z = #{hsfZ},</if>
</trim>
where id = #{id}