一日流程评估

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

@ -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=")">