收费统计

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
ruoyi-ui/src/views/benyi
childcharge
schoolcharge
ruoyi/src/main
java/com/ruoyi/project/benyi
resources/mybatis/benyi

@ -50,7 +50,9 @@
</el-row>
</el-form>
<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-column type="selection" width="55" align="center" /> -->
<el-table-column
@ -74,11 +76,7 @@
align="center"
:formatter="mingxiFormat"
/>
<el-table-column
label="总计"
align="center"
:formatter="zongjiFormat"
/>
<el-table-column label="总计" align="center" prop="zj" />
<!-- <el-table-column label="保育费(大班)/月" align="center" prop="byf" />
<el-table-column label="伙食费(大班)/天" align="center" prop="hsf" />
<el-table-column label="保育费(中班)/月" align="center" prop="byfZ" />
@ -108,6 +106,7 @@ export default {
name: "Schoolcharge",
data() {
return {
className: "",
//
loading: true,
//
@ -201,24 +200,6 @@ export default {
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) {
return this.selectDictLabel(this.bjtypeOptions, row.bjtype);
@ -236,10 +217,23 @@ export default {
});
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() {
listClass(null).then((response) => {
this.classOptions = response.rows;
this.queryParams.classid = response.rows[0].bjbh;
this.className = response.rows[0].bjmc;
});
this.getList();
@ -262,6 +256,7 @@ export default {
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.className = this.classTitle(this.queryParams.classid);
this.getList();
},
//

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

@ -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;
}
/**
* 导出园所收费标准列表
*/

@ -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();
}
}

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