收费统计

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

@ -50,7 +50,9 @@
</el-row> </el-row>
</el-form> </el-form>
<div ref="printMe" class="print-me"> <div ref="printMe" class="print-me">
<h2 style="text-align: center">{{ this.queryParams.month }}月收费明细</h2> <h2 style="text-align: center">
{{ this.className }}收费明细({{ this.queryParams.month }})
</h2>
<el-table v-loading="loading" border :data="childchargeList"> <el-table v-loading="loading" border :data="childchargeList">
<!-- <el-table-column type="selection" width="55" align="center" /> --> <!-- <el-table-column type="selection" width="55" align="center" /> -->
<el-table-column <el-table-column
@ -74,11 +76,7 @@
align="center" align="center"
:formatter="mingxiFormat" :formatter="mingxiFormat"
/> />
<el-table-column <el-table-column label="总计" align="center" prop="zj" />
label="总计"
align="center"
:formatter="zongjiFormat"
/>
<!-- <el-table-column label="保育费(大班)/月" align="center" prop="byf" /> <!-- <el-table-column label="保育费(大班)/月" align="center" prop="byf" />
<el-table-column label="伙食费(大班)/天" align="center" prop="hsf" /> <el-table-column label="伙食费(大班)/天" align="center" prop="hsf" />
<el-table-column label="保育费(中班)/月" align="center" prop="byfZ" /> <el-table-column label="保育费(中班)/月" align="center" prop="byfZ" />
@ -108,6 +106,7 @@ export default {
name: "Schoolcharge", name: "Schoolcharge",
data() { data() {
return { return {
className: "",
// //
loading: true, loading: true,
// //
@ -201,24 +200,6 @@ export default {
return ""; return "";
} }
}, },
//
zongjiFormat(row, column) {
if (row.bjtype == "1") {
//
return row.byfT + row.days * row.hsfT;
} else if (row.bjtype == "2") {
//
return row.byfX + row.days * row.hsfX;
} else if (row.bjtype == "3") {
//
return row.byfZ + row.days * row.hsfZ;
} else if (row.bjtype == "4") {
//
return row.byf + +(row.days * row.hsf);
} else {
return "";
}
},
// -- // --
bjtypeFormat(row, column) { bjtypeFormat(row, column) {
return this.selectDictLabel(this.bjtypeOptions, row.bjtype); return this.selectDictLabel(this.bjtypeOptions, row.bjtype);
@ -236,10 +217,23 @@ export default {
}); });
return actions.join(""); return actions.join("");
}, },
classTitle(classid) {
// return this.selectDictLabel(this.classOptions, row.classid);
var actions = [];
var datas = this.classOptions;
Object.keys(datas).map((key) => {
if (datas[key].bjbh == "" + classid) {
actions.push(datas[key].bjmc);
return false;
}
});
return actions.join("");
},
getClassList() { getClassList() {
listClass(null).then((response) => { listClass(null).then((response) => {
this.classOptions = response.rows; this.classOptions = response.rows;
this.queryParams.classid = response.rows[0].bjbh; this.queryParams.classid = response.rows[0].bjbh;
this.className = response.rows[0].bjmc;
}); });
this.getList(); this.getList();
@ -262,6 +256,7 @@ export default {
/** 搜索按钮操作 */ /** 搜索按钮操作 */
handleQuery() { handleQuery() {
this.queryParams.pageNum = 1; this.queryParams.pageNum = 1;
this.className = this.classTitle(this.queryParams.classid);
this.getList(); this.getList();
}, },
// //

View File

@ -86,10 +86,10 @@
<el-dialog :title="title" :visible.sync="open" class="v-dialog"> <el-dialog :title="title" :visible.sync="open" class="v-dialog">
<el-form ref="form" :model="form" :rules="rules" label-width="120px"> <el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-form-item label="保育费大班(月)" prop="byf"> <el-form-item label="保育费大班(月)" prop="byf">
<el-input-number <el-input
v-model="form.byf" v-model="form.byf"
:precision="2" :precision="2"
placeholder="请输入保育费" placeholder="请输入保育费(1-10:100;11-20:200;21-31:300)"
/> />
</el-form-item> </el-form-item>
<el-form-item label="伙食费大班(天)" prop="hsf"> <el-form-item label="伙食费大班(天)" prop="hsf">
@ -100,10 +100,10 @@
/> />
</el-form-item> </el-form-item>
<el-form-item label="保育费中班(月)" prop="byfZ"> <el-form-item label="保育费中班(月)" prop="byfZ">
<el-input-number <el-input
v-model="form.byfZ" v-model="form.byfZ"
:precision="2" :precision="2"
placeholder="请输入保育费" placeholder="请输入保育费(1-10:100;11-20:200;21-31:300)"
/> />
</el-form-item> </el-form-item>
<el-form-item label="伙食费中班(天)" prop="hsfZ"> <el-form-item label="伙食费中班(天)" prop="hsfZ">
@ -114,10 +114,10 @@
/> />
</el-form-item> </el-form-item>
<el-form-item label="保育费小班(月)" prop="byfX"> <el-form-item label="保育费小班(月)" prop="byfX">
<el-input-number <el-input
v-model="form.byfX" v-model="form.byfX"
:precision="2" :precision="2"
placeholder="请输入保育费" placeholder="请输入保育费(1-10:100;11-20:200;21-31:300)"
/> />
</el-form-item> </el-form-item>
<el-form-item label="伙食费小班(天)" prop="hsfX"> <el-form-item label="伙食费小班(天)" prop="hsfX">
@ -128,10 +128,10 @@
/> />
</el-form-item> </el-form-item>
<el-form-item label="保育费拖班(月)" prop="byfT"> <el-form-item label="保育费拖班(月)" prop="byfT">
<el-input-number <el-input
v-model="form.byfT" v-model="form.byfT"
:precision="2" :precision="2"
placeholder="请输入保育费" placeholder="请输入保育费(1-10:100;11-20:200;21-31:300)"
/> />
</el-form-item> </el-form-item>
<el-form-item label="伙食费拖班(天)" prop="hsT"> <el-form-item label="伙食费拖班(天)" prop="hsT">

View File

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

View File

@ -52,8 +52,10 @@
<select id="selectByChildchargeList" parameterType="BySchoolcharge" resultMap="BySchoolchargeResult"> <select id="selectByChildchargeList" parameterType="BySchoolcharge" resultMap="BySchoolchargeResult">
select a.name,a.classid, select a.name,a.classid,
c.bjtype, 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 , (select count(*) from by_child_checkin_detail where childid=a.id and type='01' and
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 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 from by_child a
left join by_class c on a.classid=c.bjbh left join by_class c on a.classid=c.bjbh
left join by_schoolcharge b on a.schoolid=b.dept_id left join by_schoolcharge b on a.schoolid=b.dept_id
@ -71,28 +73,28 @@
insert into by_schoolcharge insert into by_schoolcharge
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="deptId != null ">dept_id,</if> <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="hsf != null ">hsf,</if>
<if test="createUserid != null ">create_userid,</if> <if test="createUserid != null ">create_userid,</if>
<if test="createTime != null ">create_time,</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="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="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> <if test="hsfZ != null ">hsf_z,</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="deptId != null ">#{deptId},</if> <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="hsf != null ">#{hsf},</if>
<if test="createUserid != null ">#{createUserid},</if> <if test="createUserid != null ">#{createUserid},</if>
<if test="createTime != null ">#{createTime},</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="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="hsfT != null ">#{hsfT},</if>
<if test="byfZ != null ">#{byfZ},</if> <if test="byfZ != null and byfZ != ''">#{byfZ},</if>
<if test="hsfZ != null ">#{hsfZ},</if> <if test="hsfZ != null ">#{hsfZ},</if>
</trim> </trim>
</insert> </insert>
@ -101,15 +103,15 @@
update by_schoolcharge update by_schoolcharge
<trim prefix="SET" suffixOverrides=","> <trim prefix="SET" suffixOverrides=",">
<if test="deptId != null ">dept_id = #{deptId},</if> <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="hsf != null ">hsf = #{hsf},</if>
<if test="createUserid != null ">create_userid = #{createUserid},</if> <if test="createUserid != null ">create_userid = #{createUserid},</if>
<if test="createTime != null ">create_time = #{createTime},</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="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="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> <if test="hsfZ != null ">hsf_z = #{hsfZ},</if>
</trim> </trim>
where id = #{id} where id = #{id}