一日流程评估

This commit is contained in:
zhanglipeng 2021-04-09 11:30:32 +08:00
parent 8cecc91d81
commit 7682ce5795
9 changed files with 178 additions and 337 deletions

View File

@ -1,53 +1,53 @@
import request from '@/utils/request'
import request from "@/utils/request";
// 查询幼儿园一日流程评估列表
export function listDayflowassessment(query) {
return request({
url: '/benyi/dayflowassessment/list',
method: 'get',
url: "/benyi/dayflowassessment/list",
method: "get",
params: query
})
});
}
// 查询幼儿园一日流程评估详细
export function getDayflowassessment(id) {
return request({
url: '/benyi/dayflowassessment/' + id,
method: 'get'
})
url: "/benyi/dayflowassessment/" + id,
method: "get"
});
}
// 新增幼儿园一日流程评估
export function addDayflowassessment(data) {
return request({
url: '/benyi/dayflowassessment',
method: 'post',
url: "/benyi/dayflowassessment",
method: "post",
data: data
})
});
}
// 修改幼儿园一日流程评估
export function updateDayflowassessment(data) {
return request({
url: '/benyi/dayflowassessment',
method: 'put',
url: "/benyi/dayflowassessment",
method: "put",
data: data
})
});
}
// 删除幼儿园一日流程评估
export function delDayflowassessment(id) {
return request({
url: '/benyi/dayflowassessment/' + id,
method: 'delete'
})
url: "/benyi/dayflowassessment/" + id,
method: "delete"
});
}
// 导出幼儿园一日流程评估
export function exportDayflowassessment(query) {
return request({
url: '/benyi/dayflowassessment/export',
method: 'get',
url: "/benyi/dayflowassessment/export",
method: "get",
params: query
})
});
}

View File

@ -110,16 +110,23 @@
prop="pgdx"
:formatter="pgdxFormat"
/>
<el-table-column
<!-- <el-table-column
label="评估环节"
align="center"
prop="bzid"
:formatter="dayFlowFormat"
/>
<el-table-column label="环节满分" align="center" prop="bzmf" />
<el-table-column label="环节满分" align="center" prop="bzmf" /> -->
<!-- <el-table-column label="扣分值" align="center" prop="kfz" /> -->
<!-- <el-table-column label="扣分次数" align="center" prop="kfcs" /> -->
<el-table-column label="最终得分" align="center" prop="zzdf" />
<el-table-column
label="评估人"
align="center"
prop="createUserid"
:formatter="createUserFormat"
/>
<el-table-column label="评估时间" align="center" prop="createTime" />
<el-table-column
label="操作"
align="center"
@ -129,19 +136,19 @@
<el-button
size="mini"
type="text"
icon="el-icon-edit"
icon="el-icon-view"
@click="handleAssessment(scope.row)"
v-hasPermi="['benyi:dayflowassessment:edit']"
>评估</el-button
v-hasPermi="['benyi:dayflowassessment:query']"
>详情</el-button
>
<!-- <el-button
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['benyi:dayflowassessment:remove']"
>删除</el-button
> -->
>
</template>
</el-table-column>
</el-table>
@ -160,15 +167,13 @@
import {
listDayflowassessment,
getDayflowassessment,
addDayflowassessment,
updateDayflowassessment,
delDayflowassessment,
} from "@/api/benyi/dayflowassessment";
import {
listDayflowassessmentplan,
getDayflowassessmentplan,
} from "@/api/benyi/dayflowassessmentplan";
import { listClass } from "@/api/system/class";
import { getUsersByRoleId } from "@/api/system/user";
import { listUser } from "@/api/system/user";
import { listDetail, getDetail } from "@/api/benyi/dayflow/dayflowmanger";
@ -188,26 +193,12 @@ export default {
total: 0,
//
dayflowassessmentList: [],
//
// dayflowassessmentplanOptions: [],
//
classOptions: [],
//
zbjsOptions: [],
//
pbjsOptions: [],
//
zljsOptions: [],
//
xnxqOptions: [],
//
userOptions: [],
//
detailOptions: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
@ -233,22 +224,12 @@ export default {
},
//
form: {},
//
rules: {},
};
},
created() {
this.getList();
this.getClassList();
this.getUserList();
this.getDayFlowList();
// this.getDayflowassessmentplan();
//
getUsersByRoleId().then((response) => {
this.zbjsOptions = response.zbjs;
this.pbjsOptions = response.pbjs;
this.zljsOptions = response.zljs;
});
//
this.getDicts("sys_xnxq").then((response) => {
this.xnxqOptions = response.data;
@ -264,12 +245,6 @@ export default {
this.loading = false;
});
},
/** 查询一日流程评估计划列表 */
// getDayflowassessmentplan() {
// listDayflowassessmentplan(null).then((response) => {
// this.dayflowassessmentplanOptions = response.rows;
// });
// },
//
getClassList() {
listClass(null).then((response) => {
@ -299,42 +274,6 @@ export default {
});
},
//
bzbhFormat(row, column) {
var actions = [];
var datas = this.zbjsOptions;
Object.keys(datas).map((key) => {
if (datas[key].userId == "" + row.bzbh) {
actions.push(datas[key].nickName);
return false;
}
});
return actions.join("");
},
//
pbbhFormat(row, column) {
var actions = [];
var datas = this.pbjsOptions;
Object.keys(datas).map((key) => {
if (datas[key].userId == "" + row.pbbh) {
actions.push(datas[key].nickName);
return false;
}
});
return actions.join("");
},
//
zlbhFormat(row, column) {
var actions = [];
var datas = this.zljsOptions;
Object.keys(datas).map((key) => {
if (datas[key].userId == "" + row.zlbh) {
actions.push(datas[key].nickName);
return false;
}
});
return actions.join("");
},
//
pgdxFormat(row, column) {
var actions = [];
var datas = this.userOptions;
@ -346,32 +285,13 @@ export default {
});
return actions.join("");
},
//
// planFormat(row, column) {
// var actions = [];
// var datas = this.dayflowassessmentplanOptions;
// Object.keys(datas).map((key) => {
// if (datas[key].id == "" + row.planid) {
// actions.push(datas[key].name);
// return false;
// }
// });
// return actions.join("");
// },
/** 查询一日流程列表 */
getDayFlowList() {
listDetail(null).then((response) => {
this.detailOptions = response.rows;
});
},
//
dayFlowFormat(row, column) {
// return this.selectDictLabel(this.classOptions, row.classid);
//
createUserFormat(row, column) {
var actions = [];
var datas = this.detailOptions;
var datas = this.userOptions;
Object.keys(datas).map((key) => {
if (datas[key].id + "" == "" + row.bzid) {
actions.push(datas[key].name);
if (datas[key].userId == "" + row.createUserid) {
actions.push(datas[key].nickName);
return false;
}
});
@ -381,37 +301,6 @@ export default {
xnxqFormat(row, column) {
return this.selectDictLabel(this.xnxqOptions, row.xnxq);
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: undefined,
planid: undefined,
deptId: undefined,
classid: undefined,
bzbh: undefined,
bzxm: undefined,
pbbh: undefined,
pbxm: undefined,
zlbh: undefined,
zlxm: undefined,
xnxq: undefined,
bzid: undefined,
kfz: undefined,
bzmf: undefined,
zzdf: undefined,
kfcs: undefined,
pgdx: undefined,
classdf: undefined,
createUserid: undefined,
createTime: undefined,
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
@ -428,64 +317,29 @@ export default {
this.single = selection.length != 1;
this.multiple = !selection.length;
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加幼儿园一日流程评估";
//
getUsersByRoleId().then((response) => {
this.zbjsOptions = response.zbjs;
this.pbjsOptions = response.pbjs;
this.zljsOptions = response.zljs;
});
},
handleAssessment(row) {
const id = row.id;
this.$router.push({ path: "/benyi/dayflowassessment/teacher/" + id });
},
handleAdd() {
this.$router.push({ path: "/benyi/dayflowassessment/teacher"});
this.$router.push({ path: "/benyi/dayflowassessment/teacher" });
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids;
getDayflowassessment(id).then((response) => {
this.form = response.data;
this.open = true;
this.title = "修改幼儿园一日流程评估";
//
getUsersByRoleId().then((response) => {
this.zbjsOptions = response.zbjs;
this.pbjsOptions = response.pbjs;
this.zljsOptions = response.zljs;
});
});
},
/** 提交按钮 */
submitForm: function () {
this.$refs["form"].validate((valid) => {
if (valid) {
if (this.form.id != undefined) {
updateDayflowassessment(this.form).then((response) => {
if (response.code === 200) {
this.msgSuccess("修改成功");
this.open = false;
this.getList();
}
});
} else {
addDayflowassessment(this.form).then((response) => {
if (response.code === 200) {
this.msgSuccess("新增成功");
this.open = false;
this.getList();
}
});
}
}
});
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$confirm("是否确认删除当前班级的评估数据?", "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(function () {
return delDayflowassessment(ids);
})
.then(() => {
this.getList();
this.msgSuccess("删除成功");
})
.catch(function () {});
},
},
};

View File

@ -1,5 +1,5 @@
<template>
<div class="app-container">
<div class="app-container" v-loading="loading">
<el-form ref="form" :model="form" :rules="rules" label-width="90px">
<el-row :gutter="10">
<el-col :xs="24" :ms="12" :md="5">
@ -71,20 +71,23 @@
)"
:key="itemBz.id"
>
<div class="checkbox-item flex align-center justify-between" :class="{'line': index !== 0}">
<p class="left-info">
{{ itemBz.standardTitle }}
</p>
<div class="right-number flex align-center justify-end">
<span>分值: {{ itemBz.score }}</span>
<el-input-number
class="number-input"
v-model="itemBz.mrz"
:precision="2"
:step="0.1"
:max="itemBz.score"
></el-input-number>
</div>
<div
class="checkbox-item flex align-center justify-between"
:class="{ line: index !== 0 }"
>
<p class="left-info">
{{ itemBz.standardTitle }}
</p>
<div class="right-number flex align-center justify-end">
<span>分值: {{ itemBz.score }}</span>
<el-input-number
class="number-input"
v-model="itemBz.mrz"
:precision="2"
:step="0.1"
:max="itemBz.score"
></el-input-number>
</div>
</div>
</div>
</div>
@ -96,9 +99,7 @@
import {
listDayflowassessment,
getDayflowassessment,
delDayflowassessment,
addDayflowassessment,
updateDayflowassessment,
} from "@/api/benyi/dayflowassessment";
import { listDayflowtask } from "@/api/benyi/dayflow/dayflowtask";
import { listDetail, getDetail } from "@/api/benyi/dayflow/dayflowmanger";
@ -113,7 +114,7 @@ export default {
data() {
return {
//
loading: true,
loading: false,
// id
dayflowtaskList: [],
//
@ -232,15 +233,33 @@ export default {
pgdxxm: undefined,
createUserid: undefined,
createTime: undefined,
list: [],
};
this.resetForm("form");
},
/** 提交按钮 */
submitForm: function () {
console.log(this.dayflowstandardList);
//console.log(this.dayflowstandardList);
this.$refs["form"].validate((valid) => {
if (valid) {
// console.log(this.form);
this.$confirm("确认提交评估数据?评估后数据不能取消", "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
callback: (action) => {
if (action === "confirm") {
this.loading = true;
this.form.list = this.dayflowstandardList;
addDayflowassessment(this.form).then((response) => {
if (response.code === 200) {
this.msgSuccess("评估成功");
this.loading = false;
}
});
}
},
});
}
});
},
@ -326,7 +345,6 @@ div {
.checkbox-item {
font-size: 14px;
line-height: 22px;
}
.check-info {
padding-left: 24px;

View File

@ -3,19 +3,16 @@ package com.ruoyi.project.benyi.controller;
import java.util.List;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.project.benyi.domain.ByDayFlowStandard;
import com.ruoyi.project.benyi.domain.ByDayflowassessmentitem;
import com.ruoyi.project.benyi.domain.ByDayflowassessmentplan;
import com.ruoyi.project.benyi.service.IByDayFlowStandardService;
import com.ruoyi.project.benyi.service.IByDayflowassessmentitemService;
import com.ruoyi.project.benyi.service.IByDayflowassessmentplanService;
import com.ruoyi.project.common.SchoolCommon;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.ruoyi.framework.aspectj.lang.annotation.Log;
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
import com.ruoyi.project.benyi.domain.ByDayflowassessment;
@ -40,6 +37,10 @@ public class ByDayflowassessmentController extends BaseController {
private IByDayFlowStandardService byDayFlowStandardService;
@Autowired
private IByDayflowassessmentplanService byDayflowassessmentplanService;
@Autowired
private SchoolCommon schoolCommon;
@Autowired
private IByDayflowassessmentitemService byDayflowassessmentitemService;
/**
* 查询幼儿园一日流程评估列表
@ -83,7 +84,30 @@ public class ByDayflowassessmentController extends BaseController {
public AjaxResult add(@RequestBody ByDayflowassessment byDayflowassessment) {
byDayflowassessment.setDeptId(SecurityUtils.getLoginUser().getUser().getDeptId());
byDayflowassessment.setCreateUserid(SecurityUtils.getLoginUser().getUser().getUserId());
return toAjax(byDayflowassessmentService.insertByDayflowassessment(byDayflowassessment));
byDayflowassessment.setXnxq(schoolCommon.getCurrentXnXq());
int iRows = byDayflowassessmentService.insertByDayflowassessment(byDayflowassessment);
List<ByDayFlowStandard> list = byDayflowassessment.getList();
if (list != null && list.size() > 0) {
//将传进来的评分值存入item表
ByDayflowassessmentitem byDayflowassessmentitem = null;
for (int i = 0; i < list.size(); i++) {
byDayflowassessmentitem = new ByDayflowassessmentitem();
String mrz = list.get(i).getMrz();
if (mrz != "0" && !schoolCommon.isStringEmpty(mrz)) {
Double dMrz = Double.valueOf(mrz);
if (dMrz != 0) {
byDayflowassessmentitem.setPid(byDayflowassessment.getId());
byDayflowassessmentitem.setItem(list.get(i).getId());
byDayflowassessmentitem.setValue(dMrz);
byDayflowassessmentitemService.insertByDayflowassessmentitem(byDayflowassessmentitem);
}
}
}
}
return toAjax(iRows);
}
/**
@ -94,108 +118,7 @@ public class ByDayflowassessmentController extends BaseController {
@PutMapping
public AjaxResult edit(@RequestBody ByDayflowassessment byDayflowassessment) {
AjaxResult ajax = AjaxResult.success();
if (byDayflowassessment.getItems() != null) {
// 取出标准id并根据id查询此标准的分数
String[] arr = byDayflowassessment.getItems().split(",");
// 勾选的总分数sum
Double sum = 0.0;
for (int i = 0; i < arr.length; i++) {
sum += byDayFlowStandardService.selectByDayFlowStandardById(Long.parseLong(arr[i])).getScore();
}
// 标准满分
Double bzmfAll = byDayflowassessment.getBzmf();
// 总扣分值
Double sumKfz = 0.0;
sumKfz = bzmfAll - sum;
ByDayflowassessmentplan byDayflowassessmentplan = new ByDayflowassessmentplan();
// 如果评估对象是主班教师 直接更新主板分数
if (byDayflowassessment.getPgdx().equals(byDayflowassessment.getBzbh())) {
// 主班教师扣分值
Double zbjsKfz = byDayflowassessment.getKfz() + sumKfz;
byDayflowassessment.setKfz(zbjsKfz);
// 判断扣分值是否超过满分
if (zbjsKfz.compareTo(bzmfAll) < 0) {
byDayflowassessment.setZzdf(bzmfAll - zbjsKfz);
} else {
byDayflowassessment.setZzdf(0.0);
}
byDayflowassessmentService.updateByDayflowassessment(byDayflowassessment);
// 设置班级平均分
ByDayflowassessment byDayflowassessment2 = new ByDayflowassessment();
byDayflowassessment2.setClassid(byDayflowassessment.getClassid());
byDayflowassessment2.setPlanid(byDayflowassessment.getPlanid());
List<ByDayflowassessment> list2 = byDayflowassessmentService.selectByDayflowassessmentList(byDayflowassessment2);
if (list2 != null && list2.size() > 0) {
Double total = 0.0;
Double avg = 0.0;
for (int i = 0; i < list2.size(); i++) {
total += list2.get(i).getZzdf();
}
avg = total / list2.size();
for (int j = 0; j < list2.size(); j++) {
byDayflowassessment2.setId(list2.get(j).getId());
byDayflowassessment2.setClassdf(avg);
byDayflowassessmentService.updateByDayflowassessment(byDayflowassessment2);
}
// 将计划中的平均分同步更新
byDayflowassessmentplan.setId(byDayflowassessment.getPlanid());
byDayflowassessmentplan.setClassavg(avg);
byDayflowassessmentplanService.updateByDayflowassessmentplan(byDayflowassessmentplan);
}
return ajax;
} else {
//如果是配班或者助理 先更新配班或者助理分数 再更新主班教师分数
byDayflowassessment.setKfz(sumKfz);
byDayflowassessment.setZzdf(sum);
byDayflowassessmentService.updateByDayflowassessment(byDayflowassessment);
// 继续扣除主班教师分数
ByDayflowassessment byDayflowassessment1 = new ByDayflowassessment();
// 其他老师扣分项
byDayflowassessment1.setPgdx(byDayflowassessment.getBzbh());
byDayflowassessment1.setPlanid(byDayflowassessment.getPlanid());
List<ByDayflowassessment> list = byDayflowassessmentService.selectByDayflowassessmentList(byDayflowassessment1);
if (list != null && list.size() > 0) {
// 主班教师当前扣分值
Double zbjsDqkfz = list.get(0).getKfz() + sumKfz;
byDayflowassessment1.setKfz(zbjsDqkfz);
// 主班教师当前最终得分
byDayflowassessment1.setId(list.get(0).getId());
// 如果扣分值超出满分 则主班分数等于0
if (zbjsDqkfz.compareTo(bzmfAll) < 0) {
byDayflowassessment1.setZzdf(bzmfAll - zbjsDqkfz);
} else {
byDayflowassessment1.setZzdf(0.0);
}
byDayflowassessmentService.updateByDayflowassessment(byDayflowassessment1);
// 设置班级平均分
ByDayflowassessment byDayflowassessment3 = new ByDayflowassessment();
byDayflowassessment3.setClassid(byDayflowassessment.getClassid());
byDayflowassessment3.setPlanid(byDayflowassessment.getPlanid());
List<ByDayflowassessment> list3 = byDayflowassessmentService.selectByDayflowassessmentList(byDayflowassessment3);
if (list3 != null && list3.size() > 0) {
Double total2 = 0.0;
Double avg2 = 0.0;
for (int i = 0; i < list3.size(); i++) {
total2 += list3.get(i).getZzdf();
}
avg2 = total2 / list3.size();
for (int j = 0; j < list3.size(); j++) {
byDayflowassessment3.setId(list3.get(j).getId());
byDayflowassessment3.setClassdf(avg2);
byDayflowassessmentService.updateByDayflowassessment(byDayflowassessment3);
}
// 将计划中的平均分同步更新
byDayflowassessmentplan.setId(byDayflowassessment.getPlanid());
byDayflowassessmentplan.setClassavg(avg2);
byDayflowassessmentplanService.updateByDayflowassessmentplan(byDayflowassessmentplan);
}
}
return ajax;
}
} else {
return AjaxResult.error("未勾选评估选项");
}
return ajax;
}
/**
@ -205,6 +128,10 @@ public class ByDayflowassessmentController extends BaseController {
@Log(title = "幼儿园一日流程评估", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids) {
//先删除item数据
for (int i = 0; i < ids.length; i++) {
byDayflowassessmentitemService.deleteByDayflowassessmentitemByPid(ids[i]);
}
return toAjax(byDayflowassessmentService.deleteByDayflowassessmentByIds(ids));
}
}

View File

@ -147,6 +147,8 @@ public class ByDayflowassessment extends BaseEntity {
@Excel(name = "执行人")
private Long createUserid;
private List<ByDayFlowStandard> list;
public void setId(Long id) {
this.id = id;
}
@ -291,6 +293,14 @@ public class ByDayflowassessment extends BaseEntity {
return createUserid;
}
public List<ByDayFlowStandard> getList() {
return list;
}
public void setList(List<ByDayFlowStandard> list) {
this.list = list;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
@ -317,6 +327,7 @@ public class ByDayflowassessment extends BaseEntity {
.append("pgdxxm", getPgdxxm())
.append("createUserid", getCreateUserid())
.append("createTime", getCreateTime())
.append("list",getList())
.toString();
}

View File

@ -51,6 +51,14 @@ public interface ByDayflowassessmentitemMapper {
*/
public int deleteByDayflowassessmentitemById(Long id);
/**
* 删除幼儿园一日流程评估得分项
*
* @param pId 幼儿园一日流程评估得分项ID
* @return 结果
*/
public int deleteByDayflowassessmentitemByPid(Long pId);
/**
* 批量删除幼儿园一日流程评估得分项
*

View File

@ -58,4 +58,12 @@ public interface IByDayflowassessmentitemService {
* @return 结果
*/
public int deleteByDayflowassessmentitemById(Long id);
/**
* 删除幼儿园一日流程评估得分项
*
* @param pId 幼儿园一日流程评估得分项ID
* @return 结果
*/
public int deleteByDayflowassessmentitemByPid(Long pId);
}

View File

@ -86,4 +86,15 @@ public class ByDayflowassessmentitemServiceImpl implements IByDayflowassessmenti
public int deleteByDayflowassessmentitemById(Long id) {
return byDayflowassessmentitemMapper.deleteByDayflowassessmentitemById(id);
}
/**
* 删除幼儿园一日流程评估得分项
*
* @param pId 幼儿园一日流程评估得分项ID
* @return 结果
*/
@Override
public int deleteByDayflowassessmentitemByPid(Long pId) {
return byDayflowassessmentitemMapper.deleteByDayflowassessmentitemByPid(pId);
}
}

View File

@ -67,6 +67,10 @@
delete from by_dayflowassessmentitem where id = #{id}
</delete>
<delete id="deleteByDayflowassessmentitemByPid" parameterType="Long">
delete from by_dayflowassessmentitem where pid = #{pid}
</delete>
<delete id="deleteByDayflowassessmentitemByIds" parameterType="String">
delete from by_dayflowassessmentitem where id in
<foreach item="id" collection="array" open="(" separator="," close=")">