diff --git a/ruoyi-ui/src/views/benyi/checkinstatisticsschool/index.vue b/ruoyi-ui/src/views/benyi/checkinstatisticsschool/index.vue index aa4f71b05..86531668a 100644 --- a/ruoyi-ui/src/views/benyi/checkinstatisticsschool/index.vue +++ b/ruoyi-ui/src/views/benyi/checkinstatisticsschool/index.vue @@ -1,6 +1,11 @@ <template> <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px"> + <el-form + :model="queryParams" + ref="queryForm" + :inline="true" + label-width="68px" + > <el-form-item label="选择月份" prop="month"> <el-date-picker clearable @@ -14,20 +19,44 @@ ></el-date-picker> </el-form-item> <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> - <el-button type="primary" plain size="mini" icon="el-icon-printer" @click="prints">打印</el-button> + <el-button + type="primary" + icon="el-icon-search" + size="mini" + @click="handleQuery" + >搜索</el-button + > + <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" + >重置</el-button + > + <el-button + type="primary" + plain + size="mini" + icon="el-icon-printer" + @click="prints" + >打印</el-button + > </el-form-item> </el-form> <div ref="printMe"> - <h2 style="text-align:center;">幼儿园班级儿童考勤表({{this.month}})</h2> - <el-table v-loading="loading" style="width: 100%" border :data="tableData"> - <template v-for="(item,index) in tableHead"> + <h2 style="text-align: center">幼儿园班级儿童考勤表({{ this.month }})</h2> + <el-table + v-loading="loading" + style="width: 100%" + border + :data="tableData" + > + <template v-for="(item, index) in tableHead"> <el-table-column - :prop=" item.column_name==''?'day'+(item.sort+1) : item.column_name" - :fixed="item.column_name!=''" - :label=" item.column_name==''?(item.sort+1)+'' : item.sort" + :prop=" + item.column_name == '' + ? 'day' + (item.sort + 1) + : item.column_name + " + :fixed="item.column_name != ''" + :label="item.column_name == '' ? item.sort + 1 + '' : item.sort" :key="index" ></el-table-column> </template> @@ -141,37 +170,130 @@ export default { response.rows.forEach((res) => { this.tableData.push({ bjmc: res.bjmc, - day1: res.day1 == "0" ? "" : res.day1 * 100 + "%", - day2: res.day2 == "0" ? "" : res.day2 * 100 + "%", - day3: res.day3 == "0" ? "" : res.day3 * 100 + "%", - day4: res.day4 == "0" ? "" : res.day4 * 100 + "%", - day5: res.day5 == "0" ? "" : res.day5 * 100 + "%", - day6: res.day6 == "0" ? "" : res.day6 * 100 + "%", - day7: res.day7 == "0" ? "" : res.day7 * 100 + "%", - day8: res.day8 == "0" ? "" : res.day8 * 100 + "%", - day9: res.day9 == "0" ? "" : res.day9 * 100 + "%", - day10: res.day10 == "0" ? "" : res.day10 * 100 + "%", - day11: res.day11 == "0" ? "" : res.day11 * 100 + "%", - day12: res.day12 == "0" ? "" : res.day12 * 100 + "%", - day13: res.day13 == "0" ? "" : res.day13 * 100 + "%", - day14: res.day14 == "0" ? "" : res.day14 * 100 + "%", - day15: res.day15 == "0" ? "" : res.day15 * 100 + "%", - day16: res.day16 == "0" ? "" : res.day16 * 100 + "%", - day17: res.day17 == "0" ? "" : res.day17 * 100 + "%", - day18: res.day18 == "0" ? "" : res.day18 * 100 + "%", - day19: res.day19 == "0" ? "" : res.day19 * 100 + "%", - day20: res.day20 == "0" ? "" : res.day20 * 100 + "%", - day21: res.day21 == "0" ? "" : res.day21 * 100 + "%", - day22: res.day22 == "0" ? "" : res.day22 * 100 + "%", - day23: res.day23 == "0" ? "" : res.day23 * 100 + "%", - day24: res.day24 == "0" ? "" : res.day24 * 100 + "%", - day25: res.day25 == "0" ? "" : res.day25 * 100 + "%", - day26: res.day26 == "0" ? "" : res.day26 * 100 + "%", - day27: res.day27 == "0" ? "" : res.day27 * 100 + "%", - day28: res.day28 == "0" ? "" : res.day28 * 100 + "%", - day29: res.day29 == "0" ? "" : res.day29 * 100 + "%", - day30: res.day30 == "0" ? "" : res.day30 * 100 + "%", - day31: res.day31 == "0" ? "" : res.day31 * 100 + "%", + day1: + res.day1 == "0" + ? "" + : parseFloat((res.day1 * 100).toFixed(2)) + "%", + day2: + res.day2 == "0" + ? "" + : parseFloat((res.day2 * 100).toFixed(2)) + "%", + day3: + res.day3 == "0" + ? "" + : parseFloat((res.day3 * 100).toFixed(2)) + "%", + day4: + res.day4 == "0" + ? "" + : parseFloat((res.day4 * 100).toFixed(2)) + "%", + day5: + res.day5 == "0" + ? "" + : parseFloat((res.day5 * 100).toFixed(2)) + "%", + day6: + res.day6 == "0" + ? "" + : parseFloat((res.day6 * 100).toFixed(2)) + "%", + day7: + res.day7 == "0" + ? "" + : parseFloat((res.day7 * 100).toFixed(2)) + "%", + day8: + res.day8 == "0" + ? "" + : parseFloat((res.day8 * 100).toFixed(2)) + "%", + day9: + res.day9 == "0" + ? "" + : parseFloat((res.day9 * 100).toFixed(2)) + "%", + day10: + res.day10 == "0" + ? "" + : parseFloat((res.day10 * 100).toFixed(2)) + "%", + day11: + res.day11 == "0" + ? "" + : parseFloat((res.day11 * 100).toFixed(2)) + "%", + day12: + res.day12 == "0" + ? "" + : parseFloat((res.day12 * 100).toFixed(2)) + "%", + day13: + res.day13 == "0" + ? "" + : parseFloat((res.day13 * 100).toFixed(2)) + "%", + day14: + res.day14 == "0" + ? "" + : parseFloat((res.day14 * 100).toFixed(2)) + "%", + day15: + res.day15 == "0" + ? "" + : parseFloat((res.day15 * 100).toFixed(2)) + "%", + day16: + res.day16 == "0" + ? "" + : parseFloat((res.day16 * 100).toFixed(2)) + "%", + day17: + res.day17 == "0" + ? "" + : parseFloat((res.day17 * 100).toFixed(2)) + "%", + day18: + res.day18 == "0" + ? "" + : parseFloat((res.day18 * 100).toFixed(2)) + "%", + day19: + res.day19 == "0" + ? "" + : parseFloat((res.day19 * 100).toFixed(2)) + "%", + day20: + res.day20 == "0" + ? "" + : parseFloat((res.day20 * 100).toFixed(2)) + "%", + day21: + res.day21 == "0" + ? "" + : parseFloat((res.day21 * 100).toFixed(2)) + "%", + day22: + res.day22 == "0" + ? "" + : parseFloat((res.day22 * 100).toFixed(2)) + "%", + day23: + res.day23 == "0" + ? "" + : parseFloat((res.day23 * 100).toFixed(2)) + "%", + day24: + res.day24 == "0" + ? "" + : parseFloat((res.day24 * 100).toFixed(2)) + "%", + day25: + res.day25 == "0" + ? "" + : parseFloat((res.day25 * 100).toFixed(2)) + "%", + day26: + res.day26 == "0" + ? "" + : parseFloat((res.day26 * 100).toFixed(2)) + "%", + day27: + res.day27 == "0" + ? "" + : parseFloat((res.day27 * 100).toFixed(2)) + "%", + day28: + res.day28 == "0" + ? "" + : parseFloat((res.day28 * 100).toFixed(2)) + "%", + day29: + res.day29 == "0" + ? "" + : parseFloat((res.day29 * 100).toFixed(2)) + "%", + day30: + res.day30 == "0" + ? "" + : parseFloat((res.day30 * 100).toFixed(2)) + "%", + day31: + res.day31 == "0" + ? "" + : parseFloat((res.day31 * 100).toFixed(2)) + "%", }); }); this.total = response.total; diff --git a/ruoyi/src/main/resources/mybatis/system/ByClassMapper.xml b/ruoyi/src/main/resources/mybatis/system/ByClassMapper.xml index 1ae9f4b88..806dcb732 100644 --- a/ruoyi/src/main/resources/mybatis/system/ByClassMapper.xml +++ b/ruoyi/src/main/resources/mybatis/system/ByClassMapper.xml @@ -283,6 +283,112 @@ where d.isdel='0' <!-- 数据范围过滤 --> ${dataScope} + union all + select '','','小计',0, + round(avg(day1),4),round(avg(day2),4),round(avg(day3),4),round(avg(day4),4),round(avg(day5),4),round(avg(day6),4),round(avg(day7),4),round(avg(day8),4),round(avg(day9),4),round(avg(day10),4), + round(avg(day11),4),round(avg(day12),4),round(avg(day13),4),round(avg(day14),4),round(avg(day15),4),round(avg(day16),4),round(avg(day17),4),round(avg(day18),4),round(avg(day19),4),round(avg(day20),4), + round(avg(day21),4),round(avg(day22),4),round(avg(day23),4),round(avg(day24),4),round(avg(day25),4),round(avg(day26),4),round(avg(day27),4),round(avg(day28),4),round(avg(day29),4),round(avg(day30),4),round(avg(day31),4) + from ( + select d.bjbh,d.dept_id,d.bjmc, + (select count(*) from by_child where classid=d.bjbh) as childcount, + ((select count(*) from by_child_checkin_detail where classid=d.bjbh and + date_format(create_time,'%Y-%m-%d')=concat(#{month},'-01') and type='01')/(select count(*) from by_child where + classid=d.bjbh)) as day1, + ((select count(*) from by_child_checkin_detail where classid=d.bjbh and + date_format(create_time,'%Y-%m-%d')=concat(#{month},'-02') and type='01')/(select count(*) from by_child where + classid=d.bjbh)) as day2, + ((select count(*) from by_child_checkin_detail where classid=d.bjbh and + date_format(create_time,'%Y-%m-%d')=concat(#{month},'-03') and type='01')/(select count(*) from by_child where + classid=d.bjbh)) as day3, + ((select count(*) from by_child_checkin_detail where classid=d.bjbh and + date_format(create_time,'%Y-%m-%d')=concat(#{month},'-04') and type='01')/(select count(*) from by_child where + classid=d.bjbh)) as day4, + ((select count(*) from by_child_checkin_detail where classid=d.bjbh and + date_format(create_time,'%Y-%m-%d')=concat(#{month},'-05') and type='01')/(select count(*) from by_child where + classid=d.bjbh)) as day5, + ((select count(*) from by_child_checkin_detail where classid=d.bjbh and + date_format(create_time,'%Y-%m-%d')=concat(#{month},'-06') and type='01')/(select count(*) from by_child where + classid=d.bjbh)) as day6, + ((select count(*) from by_child_checkin_detail where classid=d.bjbh and + date_format(create_time,'%Y-%m-%d')=concat(#{month},'-07') and type='01')/(select count(*) from by_child where + classid=d.bjbh)) as day7, + ((select count(*) from by_child_checkin_detail where classid=d.bjbh and + date_format(create_time,'%Y-%m-%d')=concat(#{month},'-08') and type='01')/(select count(*) from by_child where + classid=d.bjbh)) as day8, + ((select count(*) from by_child_checkin_detail where classid=d.bjbh and + date_format(create_time,'%Y-%m-%d')=concat(#{month},'-09') and type='01')/(select count(*) from by_child where + classid=d.bjbh)) as day9, + ((select count(*) from by_child_checkin_detail where classid=d.bjbh and + date_format(create_time,'%Y-%m-%d')=concat(#{month},'-10') and type='01')/(select count(*) from by_child where + classid=d.bjbh)) as day10, + ((select count(*) from by_child_checkin_detail where classid=d.bjbh and + date_format(create_time,'%Y-%m-%d')=concat(#{month},'-11') and type='01')/(select count(*) from by_child where + classid=d.bjbh)) as day11, + ((select count(*) from by_child_checkin_detail where classid=d.bjbh and + date_format(create_time,'%Y-%m-%d')=concat(#{month},'-12') and type='01')/(select count(*) from by_child where + classid=d.bjbh)) as day12, + ((select count(*) from by_child_checkin_detail where classid=d.bjbh and + date_format(create_time,'%Y-%m-%d')=concat(#{month},'-13') and type='01')/(select count(*) from by_child where + classid=d.bjbh)) as day13, + ((select count(*) from by_child_checkin_detail where classid=d.bjbh and + date_format(create_time,'%Y-%m-%d')=concat(#{month},'-14') and type='01')/(select count(*) from by_child where + classid=d.bjbh)) as day14, + ((select count(*) from by_child_checkin_detail where classid=d.bjbh and + date_format(create_time,'%Y-%m-%d')=concat(#{month},'-15') and type='01')/(select count(*) from by_child where + classid=d.bjbh)) as day15, + ((select count(*) from by_child_checkin_detail where classid=d.bjbh and + date_format(create_time,'%Y-%m-%d')=concat(#{month},'-16') and type='01')/(select count(*) from by_child where + classid=d.bjbh)) as day16, + ((select count(*) from by_child_checkin_detail where classid=d.bjbh and + date_format(create_time,'%Y-%m-%d')=concat(#{month},'-17') and type='01')/(select count(*) from by_child where + classid=d.bjbh)) as day17, + ((select count(*) from by_child_checkin_detail where classid=d.bjbh and + date_format(create_time,'%Y-%m-%d')=concat(#{month},'-18') and type='01')/(select count(*) from by_child where + classid=d.bjbh)) as day18, + ((select count(*) from by_child_checkin_detail where classid=d.bjbh and + date_format(create_time,'%Y-%m-%d')=concat(#{month},'-19') and type='01')/(select count(*) from by_child where + classid=d.bjbh)) as day19, + ((select count(*) from by_child_checkin_detail where classid=d.bjbh and + date_format(create_time,'%Y-%m-%d')=concat(#{month},'-20') and type='01')/(select count(*) from by_child where + classid=d.bjbh)) as day20, + ((select count(*) from by_child_checkin_detail where classid=d.bjbh and + date_format(create_time,'%Y-%m-%d')=concat(#{month},'-21') and type='01')/(select count(*) from by_child where + classid=d.bjbh)) as day21, + ((select count(*) from by_child_checkin_detail where classid=d.bjbh and + date_format(create_time,'%Y-%m-%d')=concat(#{month},'-22') and type='01')/(select count(*) from by_child where + classid=d.bjbh)) as day22, + ((select count(*) from by_child_checkin_detail where classid=d.bjbh and + date_format(create_time,'%Y-%m-%d')=concat(#{month},'-23') and type='01')/(select count(*) from by_child where + classid=d.bjbh)) as day23, + ((select count(*) from by_child_checkin_detail where classid=d.bjbh and + date_format(create_time,'%Y-%m-%d')=concat(#{month},'-24') and type='01')/(select count(*) from by_child where + classid=d.bjbh)) as day24, + ((select count(*) from by_child_checkin_detail where classid=d.bjbh and + date_format(create_time,'%Y-%m-%d')=concat(#{month},'-25') and type='01')/(select count(*) from by_child where + classid=d.bjbh)) as day25, + ((select count(*) from by_child_checkin_detail where classid=d.bjbh and + date_format(create_time,'%Y-%m-%d')=concat(#{month},'-26') and type='01')/(select count(*) from by_child where + classid=d.bjbh)) as day26, + ((select count(*) from by_child_checkin_detail where classid=d.bjbh and + date_format(create_time,'%Y-%m-%d')=concat(#{month},'-27') and type='01')/(select count(*) from by_child where + classid=d.bjbh)) as day27, + ((select count(*) from by_child_checkin_detail where classid=d.bjbh and + date_format(create_time,'%Y-%m-%d')=concat(#{month},'-28') and type='01')/(select count(*) from by_child where + classid=d.bjbh)) as day28, + ((select count(*) from by_child_checkin_detail where classid=d.bjbh and + date_format(create_time,'%Y-%m-%d')=concat(#{month},'-29') and type='01')/(select count(*) from by_child where + classid=d.bjbh)) as day29, + ((select count(*) from by_child_checkin_detail where classid=d.bjbh and + date_format(create_time,'%Y-%m-%d')=concat(#{month},'-30') and type='01')/(select count(*) from by_child where + classid=d.bjbh)) as day30, + ((select count(*) from by_child_checkin_detail where classid=d.bjbh and + date_format(create_time,'%Y-%m-%d')=concat(#{month},'-31') and type='01')/(select count(*) from by_child where + classid=d.bjbh)) as day31 + from by_class d + where d.isdel='0' + <!-- 数据范围过滤 --> + ${dataScope} + ) tmp </select> </mapper> \ No newline at end of file