Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
1180220b18
|
@ -2,14 +2,10 @@ package org.dromara.scale.controller;
|
|||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.excel.utils.ExcelUtil;
|
||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
import org.dromara.common.log.annotation.Log;
|
||||
import org.dromara.common.log.enums.BusinessType;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
|
@ -35,14 +31,6 @@ public class SysScaleFactorRangeController extends BaseController {
|
|||
|
||||
private final ISysScaleFactorRangeService sysScaleFactorRangeService;
|
||||
|
||||
/**
|
||||
* 查询因子分段列表
|
||||
*/
|
||||
// @SaCheckPermission("scale:scaleFactorRange:pageList")
|
||||
// @GetMapping("/pageList")
|
||||
// public TableDataInfo<SysScaleFactorRangeVo> list(SysScaleFactorRangeBo bo, PageQuery pageQuery) {
|
||||
// return sysScaleFactorRangeService.queryPageList(bo, pageQuery);
|
||||
// }
|
||||
|
||||
/**
|
||||
* 导出因子分段列表
|
||||
|
@ -67,38 +55,6 @@ public class SysScaleFactorRangeController extends BaseController {
|
|||
return R.ok(sysScaleFactorRangeService.queryById(rangeId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增因子分段
|
||||
*/
|
||||
@SaCheckPermission("scale:scaleFactorRange:add")
|
||||
@Log(title = "因子分段", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody SysScaleFactorRangeBo bo) {
|
||||
return toAjax(sysScaleFactorRangeService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改因子分段
|
||||
*/
|
||||
@SaCheckPermission("scale:scaleFactorRange:edit")
|
||||
@Log(title = "因子分段", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysScaleFactorRangeBo bo) {
|
||||
return toAjax(sysScaleFactorRangeService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除因子分段
|
||||
*
|
||||
* @param rangeIds 主键串
|
||||
*/
|
||||
@SaCheckPermission("scale:scaleFactorRange:remove")
|
||||
@Log(title = "因子分段", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{rangeIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] rangeIds) {
|
||||
return toAjax(sysScaleFactorRangeService.deleteWithValidByIds(List.of(rangeIds), true));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,106 +0,0 @@
|
|||
package org.dromara.scale.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.excel.utils.ExcelUtil;
|
||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
import org.dromara.common.log.annotation.Log;
|
||||
import org.dromara.common.log.enums.BusinessType;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.scale.domain.bo.SysScaleFormulaBo;
|
||||
import org.dromara.scale.domain.vo.SysScaleFormulaVo;
|
||||
import org.dromara.scale.service.ISysScaleFormulaService;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 测评量公式
|
||||
*
|
||||
* @author jiangzhe
|
||||
* @date 2024-03-29
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/scale/formula")
|
||||
public class SysScaleFormulaController extends BaseController {
|
||||
|
||||
private final ISysScaleFormulaService sysScaleFormulaService;
|
||||
|
||||
/**
|
||||
* 查询测评量公式列表
|
||||
*/
|
||||
@SaCheckPermission("scale:formula:pageList")
|
||||
@GetMapping("/pageList")
|
||||
public TableDataInfo<SysScaleFormulaVo> list(SysScaleFormulaBo bo, PageQuery pageQuery) {
|
||||
return sysScaleFormulaService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出测评量公式列表
|
||||
*/
|
||||
@SaCheckPermission("scale:formula:export")
|
||||
@Log(title = "测评量公式", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(SysScaleFormulaBo bo, HttpServletResponse response) {
|
||||
List<SysScaleFormulaVo> list = sysScaleFormulaService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "测评量公式", SysScaleFormulaVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取测评量公式详细信息
|
||||
*
|
||||
* @param formulaId 主键
|
||||
*/
|
||||
@SaCheckPermission("scale:formula:query")
|
||||
@GetMapping("/{formulaId}")
|
||||
public R<SysScaleFormulaVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long formulaId) {
|
||||
return R.ok(sysScaleFormulaService.queryById(formulaId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增测评量公式
|
||||
*/
|
||||
@SaCheckPermission("scale:formula:add")
|
||||
@Log(title = "测评量公式", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody SysScaleFormulaBo bo) {
|
||||
return toAjax(sysScaleFormulaService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改测评量公式
|
||||
*/
|
||||
@SaCheckPermission("scale:formula:edit")
|
||||
@Log(title = "测评量公式", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysScaleFormulaBo bo) {
|
||||
return toAjax(sysScaleFormulaService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除测评量公式
|
||||
*
|
||||
* @param formulaIds 主键串
|
||||
*/
|
||||
@SaCheckPermission("scale:formula:remove")
|
||||
@Log(title = "测评量公式", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{formulaIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] formulaIds) {
|
||||
return toAjax(sysScaleFormulaService.deleteWithValidByIds(List.of(formulaIds), true));
|
||||
}
|
||||
}
|
|
@ -1,47 +0,0 @@
|
|||
package org.dromara.scale.domain;
|
||||
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
/**
|
||||
* 测评量公式对象 sys_scale_formula
|
||||
*
|
||||
* @author jiangzhe
|
||||
* @date 2024-03-29
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("sys_scale_formula")
|
||||
public class SysScaleFormula extends BaseEntity {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 公式id
|
||||
*/
|
||||
@TableId(value = "formula_id")
|
||||
private Long formulaId;
|
||||
|
||||
/**
|
||||
* 公式名称
|
||||
*/
|
||||
private String formulaName;
|
||||
|
||||
/**
|
||||
* 公式常量
|
||||
*/
|
||||
private BigDecimal formulaConstant;
|
||||
|
||||
/**
|
||||
* 公式系数
|
||||
*/
|
||||
private BigDecimal formulaCoefficient;
|
||||
|
||||
|
||||
}
|
|
@ -52,12 +52,8 @@ public class SysScalePublish {
|
|||
/**
|
||||
* 部门分组id
|
||||
*/
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
* 应参评人数
|
||||
*/
|
||||
private Long partNum;
|
||||
@AutoMapping(target = "deptIds", expression = "java(cn.hutool.core.util.StrUtil.split(source.getDeptIds(), \",\"))")
|
||||
private String deptIds;
|
||||
|
||||
/**
|
||||
* 截止日期
|
||||
|
|
|
@ -1,49 +0,0 @@
|
|||
package org.dromara.scale.domain.bo;
|
||||
|
||||
import org.dromara.scale.domain.SysScaleFormula;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import jakarta.validation.constraints.*;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 测评量公式业务对象 sys_scale_formula
|
||||
*
|
||||
* @author jiangzhe
|
||||
* @date 2024-03-29
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@AutoMapper(target = SysScaleFormula.class, reverseConvertGenerate = false)
|
||||
public class SysScaleFormulaBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 公式id
|
||||
*/
|
||||
@NotNull(message = "公式id不能为空", groups = { EditGroup.class })
|
||||
private Long formulaId;
|
||||
|
||||
/**
|
||||
* 公式名称
|
||||
*/
|
||||
@NotBlank(message = "公式名称不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String formulaName;
|
||||
|
||||
/**
|
||||
* 公式常量
|
||||
*/
|
||||
@NotNull(message = "公式常量不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private BigDecimal formulaConstant;
|
||||
|
||||
/**
|
||||
* 公式系数
|
||||
*/
|
||||
@NotNull(message = "公式系数不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private BigDecimal formulaCoefficient;
|
||||
|
||||
|
||||
}
|
|
@ -48,17 +48,9 @@ public class SysScalePublishBo {
|
|||
@NotBlank(message = "场次名称不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String sessionName;
|
||||
|
||||
/**
|
||||
* 部门分组id
|
||||
*/
|
||||
@NotNull(message = "年级分组id不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
* 应参评人数
|
||||
*/
|
||||
// @NotNull(message = "应参评人数不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long partNum;
|
||||
@NotEmpty(message = "分组id,以逗号隔开不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
@AutoMapping(target = "deptIds", expression = "java(java.lang.String.join(\",\", source.getDeptIds()))")
|
||||
private List<String> deptIds;
|
||||
|
||||
/**
|
||||
* 截止日期
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package org.dromara.scale.domain.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
|
@ -23,5 +24,13 @@ public class StatisticNumVo implements Serializable {
|
|||
private int value;
|
||||
|
||||
private int spareValue;
|
||||
@JsonIgnore
|
||||
private Long deptId;
|
||||
@JsonIgnore
|
||||
private String deptName;
|
||||
@JsonIgnore
|
||||
private Long parentId;
|
||||
@JsonIgnore
|
||||
private String parentName;
|
||||
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package org.dromara.scale.domain.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
|
@ -18,11 +19,19 @@ public class StatisticWarnVo implements Serializable {
|
|||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private String deptName;
|
||||
|
||||
private String name;
|
||||
private Integer noneNum;
|
||||
private Integer lowNum;
|
||||
private Integer middleNum;
|
||||
private Integer highNum;
|
||||
private Integer majorNum;
|
||||
|
||||
@JsonIgnore
|
||||
private Long deptId;
|
||||
@JsonIgnore
|
||||
private String deptName;
|
||||
@JsonIgnore
|
||||
private Long parentId;
|
||||
@JsonIgnore
|
||||
private String parentName;
|
||||
}
|
||||
|
|
|
@ -1,57 +0,0 @@
|
|||
package org.dromara.scale.domain.vo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import org.dromara.scale.domain.SysScaleFormula;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import org.dromara.common.excel.annotation.ExcelDictFormat;
|
||||
import org.dromara.common.excel.convert.ExcelDictConvert;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 测评量公式视图对象 sys_scale_formula
|
||||
*
|
||||
* @author jiangzhe
|
||||
* @date 2024-03-29
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
@AutoMapper(target = SysScaleFormula.class)
|
||||
public class SysScaleFormulaVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 公式id
|
||||
*/
|
||||
@ExcelProperty(value = "公式id")
|
||||
private Long formulaId;
|
||||
|
||||
/**
|
||||
* 公式名称
|
||||
*/
|
||||
@ExcelProperty(value = "公式名称")
|
||||
private String formulaName;
|
||||
|
||||
/**
|
||||
* 公式常量
|
||||
*/
|
||||
@ExcelProperty(value = "公式常量")
|
||||
private BigDecimal formulaConstant;
|
||||
|
||||
/**
|
||||
* 公式系数
|
||||
*/
|
||||
@ExcelProperty(value = "公式系数")
|
||||
private BigDecimal formulaCoefficient;
|
||||
|
||||
|
||||
}
|
|
@ -48,16 +48,10 @@ public class SysScalePublishVo implements Serializable {
|
|||
private String sessionName;
|
||||
|
||||
/**
|
||||
* 部门分组id
|
||||
* 分组id,以逗号隔开
|
||||
*/
|
||||
@ExcelProperty(value = "部门分组id")
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
* 应参评人数
|
||||
*/
|
||||
@ExcelProperty(value = "应参评人数")
|
||||
private Long partNum;
|
||||
private List<String> deptIds;
|
||||
|
||||
/**
|
||||
* 截止日期
|
||||
|
|
|
@ -1,17 +0,0 @@
|
|||
package org.dromara.scale.mapper;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.dromara.scale.domain.SysScaleFormula;
|
||||
import org.dromara.scale.domain.vo.SysScaleFormulaVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 测评量公式Mapper接口
|
||||
*
|
||||
* @author jiangzhe
|
||||
* @date 2024-03-29
|
||||
*/
|
||||
@Mapper
|
||||
public interface SysScaleFormulaMapper extends BaseMapperPlus<SysScaleFormula, SysScaleFormulaVo> {
|
||||
|
||||
}
|
|
@ -20,6 +20,8 @@ public interface SysScalePublishMapper extends BaseMapperPlus<SysScalePublish, S
|
|||
|
||||
List<EvaluationVo> selectEvaluationVoList(@Param("batchNo") Long batchNo, @Param("scaleId") Long scaleId, @Param("deptId") Long deptId);
|
||||
|
||||
String selectDeptNameByBatchNo(Long batchNo);
|
||||
List<String> selectDeptIdsInUse();
|
||||
|
||||
SysScalePublishVo selectUsePublishVoByDeptId(Long deptId);
|
||||
|
||||
}
|
||||
|
|
|
@ -2,8 +2,8 @@ package org.dromara.scale.service;
|
|||
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.scale.domain.SysScalePublish;
|
||||
import org.dromara.scale.domain.bo.SysEvaluationRecordBo;
|
||||
import org.dromara.scale.domain.bo.SysScalePublishBo;
|
||||
import org.dromara.scale.domain.vo.SysEvaluationRecordVo;
|
||||
|
||||
import java.util.List;
|
||||
|
@ -32,7 +32,7 @@ public interface ISysEvaluationRecordService {
|
|||
List<SysEvaluationRecordVo> queryList(SysEvaluationRecordBo bo);
|
||||
|
||||
|
||||
void insertBathByPublish(SysScalePublishBo bo);
|
||||
void insertBathByPublish(SysScalePublish add);
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1,12 +1,8 @@
|
|||
package org.dromara.scale.service;
|
||||
|
||||
import org.dromara.scale.domain.SysScaleFactorRange;
|
||||
import org.dromara.scale.domain.vo.SysScaleFactorRangeVo;
|
||||
import org.dromara.scale.domain.bo.SysScaleFactorRangeBo;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.scale.domain.vo.SysScaleFactorRangeVo;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
@ -22,28 +18,10 @@ public interface ISysScaleFactorRangeService {
|
|||
*/
|
||||
SysScaleFactorRangeVo queryById(Long rangeId);
|
||||
|
||||
/**
|
||||
* 查询因子分段列表
|
||||
*/
|
||||
TableDataInfo<SysScaleFactorRangeVo> queryPageList(SysScaleFactorRangeBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询因子分段列表
|
||||
*/
|
||||
List<SysScaleFactorRangeVo> queryList(SysScaleFactorRangeBo bo);
|
||||
|
||||
/**
|
||||
* 新增因子分段
|
||||
*/
|
||||
Boolean insertByBo(SysScaleFactorRangeBo bo);
|
||||
|
||||
/**
|
||||
* 修改因子分段
|
||||
*/
|
||||
Boolean updateByBo(SysScaleFactorRangeBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除因子分段信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
|
|
|
@ -1,49 +0,0 @@
|
|||
package org.dromara.scale.service;
|
||||
|
||||
import org.dromara.scale.domain.SysScaleFormula;
|
||||
import org.dromara.scale.domain.vo.SysScaleFormulaVo;
|
||||
import org.dromara.scale.domain.bo.SysScaleFormulaBo;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 测评量公式Service接口
|
||||
*
|
||||
* @author jiangzhe
|
||||
* @date 2024-03-29
|
||||
*/
|
||||
public interface ISysScaleFormulaService {
|
||||
|
||||
/**
|
||||
* 查询测评量公式
|
||||
*/
|
||||
SysScaleFormulaVo queryById(Long formulaId);
|
||||
|
||||
/**
|
||||
* 查询测评量公式列表
|
||||
*/
|
||||
TableDataInfo<SysScaleFormulaVo> queryPageList(SysScaleFormulaBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询测评量公式列表
|
||||
*/
|
||||
List<SysScaleFormulaVo> queryList(SysScaleFormulaBo bo);
|
||||
|
||||
/**
|
||||
* 新增测评量公式
|
||||
*/
|
||||
Boolean insertByBo(SysScaleFormulaBo bo);
|
||||
|
||||
/**
|
||||
* 修改测评量公式
|
||||
*/
|
||||
Boolean updateByBo(SysScaleFormulaBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除测评量公式信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
|
@ -5,7 +5,6 @@ import org.dromara.scale.domain.bo.BaseQueryBo;
|
|||
import org.dromara.scale.domain.vo.StatisticNumVo;
|
||||
import org.dromara.scale.domain.vo.StatisticWarnVo;
|
||||
import org.dromara.scale.mapper.StatisticMapper;
|
||||
import org.dromara.scale.mapper.SysScalePublishMapper;
|
||||
import org.dromara.scale.service.IStatisticService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
@ -21,13 +20,10 @@ import java.util.List;
|
|||
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class StatisticService implements IStatisticService {
|
||||
public class StatisticServiceImpl implements IStatisticService {
|
||||
|
||||
private final StatisticMapper statisticMapper;
|
||||
|
||||
private final SysScalePublishMapper publishMapper;
|
||||
|
||||
|
||||
@Override
|
||||
public StatisticNumVo getComplete4All(BaseQueryBo query) {
|
||||
Long batchNo = query.getBatchNo();
|
||||
|
@ -35,9 +31,9 @@ public class StatisticService implements IStatisticService {
|
|||
List<StatisticNumVo> list = statisticMapper.selectCompleteAvaluation(batchNo, scaleId);
|
||||
int complete = list.stream().mapToInt(StatisticNumVo::getValue).sum();
|
||||
int uncompleted = list.stream().mapToInt(StatisticNumVo::getSpareValue).sum();
|
||||
String deptName = publishMapper.selectDeptNameByBatchNo(batchNo);
|
||||
|
||||
StatisticNumVo data = new StatisticNumVo();
|
||||
data.setName(deptName);
|
||||
//data.setName(deptName);
|
||||
data.setValue(complete);
|
||||
data.setSpareValue(uncompleted);
|
||||
return data;
|
||||
|
@ -60,9 +56,9 @@ public class StatisticService implements IStatisticService {
|
|||
int middleNum = list.stream().mapToInt(StatisticWarnVo::getMiddleNum).sum();
|
||||
int highNum = list.stream().mapToInt(StatisticWarnVo::getHighNum).sum();
|
||||
int majorNum = list.stream().mapToInt(StatisticWarnVo::getMajorNum).sum();
|
||||
String deptName = publishMapper.selectDeptNameByBatchNo(batchNo);
|
||||
|
||||
StatisticWarnVo data = new StatisticWarnVo();
|
||||
data.setDeptName(deptName);
|
||||
//data.setDeptName(deptName);
|
||||
data.setNoneNum(noneNum);
|
||||
data.setLowNum(lowNum);
|
||||
data.setMiddleNum(middleNum);
|
|
@ -4,18 +4,18 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.scale.constant.StatusEnum;
|
||||
import org.dromara.scale.domain.SysEvaluationRecord;
|
||||
import org.dromara.scale.domain.SysScalePublish;
|
||||
import org.dromara.scale.domain.bo.SysEvaluationRecordBo;
|
||||
import org.dromara.scale.domain.bo.SysScalePublishBo;
|
||||
import org.dromara.scale.domain.vo.SysEvaluationRecordVo;
|
||||
import org.dromara.scale.mapper.SysEvaluationRecordMapper;
|
||||
import org.dromara.scale.service.ISysEvaluationRecordService;
|
||||
import org.dromara.system.domain.SysUser;
|
||||
import org.dromara.system.mapper.SysUserMapper;
|
||||
import org.dromara.system.service.ISysDeptService;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
@ -34,8 +34,6 @@ public class SysEvaluationRecordServiceImpl implements ISysEvaluationRecordServi
|
|||
|
||||
private final SysEvaluationRecordMapper baseMapper;
|
||||
|
||||
private final ISysDeptService deptService;
|
||||
|
||||
private final SysUserMapper userMapper;
|
||||
|
||||
/**
|
||||
|
@ -76,15 +74,15 @@ public class SysEvaluationRecordServiceImpl implements ISysEvaluationRecordServi
|
|||
|
||||
@Async
|
||||
@Override
|
||||
public void insertBathByPublish(SysScalePublishBo bo) {
|
||||
Long deptId = bo.getDeptId();
|
||||
Long batchNo = bo.getBatchNo();
|
||||
List<String> scaleIds = bo.getScaleIds();
|
||||
//判断人数
|
||||
boolean parent = deptService.isParent(deptId);
|
||||
List<SysUser> sysUsers = userMapper.selectStudentListByDeptId(deptId, parent);
|
||||
public void insertBathByPublish(SysScalePublish add) {
|
||||
String deptIds = add.getDeptIds();
|
||||
Long batchNo = add.getBatchNo();
|
||||
String scaleIds = add.getScaleIds();
|
||||
List<String> scaleList = StringUtils.splitList(scaleIds);
|
||||
List<SysUser> sysUsers = userMapper.selectStudentListByDeptIds(deptIds);
|
||||
|
||||
List<SysEvaluationRecord> recordList = new ArrayList<>();
|
||||
for (String scaleId : scaleIds) {
|
||||
for (String scaleId : scaleList) {
|
||||
for (SysUser user : sysUsers) {
|
||||
SysEvaluationRecord record = new SysEvaluationRecord();
|
||||
record.setUserId(user.getUserId());
|
||||
|
|
|
@ -1,23 +1,18 @@
|
|||
package org.dromara.scale.service.impl;
|
||||
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.scale.domain.SysScaleFactorRange;
|
||||
import org.dromara.scale.domain.bo.SysScaleFactorRangeBo;
|
||||
import org.dromara.scale.domain.vo.SysScaleFactorRangeVo;
|
||||
import org.dromara.scale.domain.SysScaleFactorRange;
|
||||
import org.dromara.scale.mapper.SysScaleFactorRangeMapper;
|
||||
import org.dromara.scale.service.ISysScaleFactorRangeService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 因子分段Service业务层处理
|
||||
|
@ -39,15 +34,6 @@ public class SysScaleFactorRangeServiceImpl implements ISysScaleFactorRangeServi
|
|||
return baseMapper.selectVoById(rangeId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询因子分段列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<SysScaleFactorRangeVo> queryPageList(SysScaleFactorRangeBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<SysScaleFactorRange> lqw = buildQueryWrapper(bo);
|
||||
Page<SysScaleFactorRangeVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询因子分段列表
|
||||
|
@ -71,45 +57,8 @@ public class SysScaleFactorRangeServiceImpl implements ISysScaleFactorRangeServi
|
|||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增因子分段
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(SysScaleFactorRangeBo bo) {
|
||||
SysScaleFactorRange add = MapstructUtils.convert(bo, SysScaleFactorRange.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setRangeId(add.getRangeId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改因子分段
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(SysScaleFactorRangeBo bo) {
|
||||
SysScaleFactorRange update = MapstructUtils.convert(bo, SysScaleFactorRange.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(SysScaleFactorRange entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除因子分段
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,111 +0,0 @@
|
|||
package org.dromara.scale.service.impl;
|
||||
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.dromara.scale.domain.bo.SysScaleFormulaBo;
|
||||
import org.dromara.scale.domain.vo.SysScaleFormulaVo;
|
||||
import org.dromara.scale.domain.SysScaleFormula;
|
||||
import org.dromara.scale.mapper.SysScaleFormulaMapper;
|
||||
import org.dromara.scale.service.ISysScaleFormulaService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 测评量公式Service业务层处理
|
||||
*
|
||||
* @author jiangzhe
|
||||
* @date 2024-03-29
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class SysScaleFormulaServiceImpl implements ISysScaleFormulaService {
|
||||
|
||||
private final SysScaleFormulaMapper baseMapper;
|
||||
|
||||
/**
|
||||
* 查询测评量公式
|
||||
*/
|
||||
@Override
|
||||
public SysScaleFormulaVo queryById(Long formulaId){
|
||||
return baseMapper.selectVoById(formulaId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询测评量公式列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<SysScaleFormulaVo> queryPageList(SysScaleFormulaBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<SysScaleFormula> lqw = buildQueryWrapper(bo);
|
||||
Page<SysScaleFormulaVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询测评量公式列表
|
||||
*/
|
||||
@Override
|
||||
public List<SysScaleFormulaVo> queryList(SysScaleFormulaBo bo) {
|
||||
LambdaQueryWrapper<SysScaleFormula> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<SysScaleFormula> buildQueryWrapper(SysScaleFormulaBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<SysScaleFormula> lqw = Wrappers.lambdaQuery();
|
||||
lqw.like(StringUtils.isNotBlank(bo.getFormulaName()), SysScaleFormula::getFormulaName, bo.getFormulaName());
|
||||
lqw.eq(bo.getFormulaConstant() != null, SysScaleFormula::getFormulaConstant, bo.getFormulaConstant());
|
||||
lqw.eq(bo.getFormulaCoefficient() != null, SysScaleFormula::getFormulaCoefficient, bo.getFormulaCoefficient());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增测评量公式
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(SysScaleFormulaBo bo) {
|
||||
SysScaleFormula add = MapstructUtils.convert(bo, SysScaleFormula.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setFormulaId(add.getFormulaId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改测评量公式
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(SysScaleFormulaBo bo) {
|
||||
SysScaleFormula update = MapstructUtils.convert(bo, SysScaleFormula.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(SysScaleFormula entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除测评量公式
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
}
|
|
@ -15,7 +15,6 @@ import org.dromara.common.core.utils.StringUtils;
|
|||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.redis.utils.QueueUtils;
|
||||
import org.dromara.scale.constant.StatusEnum;
|
||||
import org.dromara.scale.domain.SysScalePublish;
|
||||
import org.dromara.scale.domain.bo.BaseQueryBo;
|
||||
import org.dromara.scale.domain.bo.SysScalePublishBo;
|
||||
|
@ -26,7 +25,6 @@ import org.dromara.scale.mapper.SysScaleMapper;
|
|||
import org.dromara.scale.mapper.SysScalePublishMapper;
|
||||
import org.dromara.scale.service.ISysEvaluationRecordService;
|
||||
import org.dromara.scale.service.ISysScalePublishService;
|
||||
import org.dromara.system.service.ISysDeptService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Collection;
|
||||
|
@ -51,8 +49,6 @@ public class SysScalePublishServiceImpl implements ISysScalePublishService {
|
|||
|
||||
private final SysScaleMapper scaleMapper;
|
||||
|
||||
private final ISysDeptService deptService;
|
||||
|
||||
private final ISysEvaluationRecordService evaluationRecordService;
|
||||
|
||||
/**
|
||||
|
@ -88,8 +84,6 @@ public class SysScalePublishServiceImpl implements ISysScalePublishService {
|
|||
// lqw.eq(StringUtils.isNotBlank(bo.getScaleIds()), SysScalePublish::getScaleIds, bo.getScaleIds());
|
||||
// lqw.eq(StringUtils.isNotBlank(bo.getScaleNames()), SysScalePublish::getScaleNames, bo.getScaleNames());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getSessionName()), SysScalePublish::getSessionName, bo.getSessionName());
|
||||
lqw.eq(bo.getDeptId() != null, SysScalePublish::getDeptId, bo.getDeptId());
|
||||
lqw.eq(bo.getPartNum() != null, SysScalePublish::getPartNum, bo.getPartNum());
|
||||
lqw.eq(bo.getExpireTime() != null, SysScalePublish::getExpireTime, bo.getExpireTime());
|
||||
lqw.eq(bo.getStatus() != null, SysScalePublish::getStatus, bo.getStatus());
|
||||
lqw.eq(bo.getAllowQueryResult() != null, SysScalePublish::getAllowQueryResult, bo.getAllowQueryResult());
|
||||
|
@ -132,7 +126,7 @@ public class SysScalePublishServiceImpl implements ISysScalePublishService {
|
|||
//加入延迟队列
|
||||
QueueUtils.addDelayedQueueObject("scalePublish-delay-queue", add.getBatchNo(), l, TimeUnit.MILLISECONDS);
|
||||
//预处理量测记录,方便后续统计与查询
|
||||
evaluationRecordService.insertBathByPublish(bo);
|
||||
evaluationRecordService.insertBathByPublish(add);
|
||||
return flag;
|
||||
}
|
||||
|
||||
|
@ -151,12 +145,16 @@ public class SysScalePublishServiceImpl implements ISysScalePublishService {
|
|||
*/
|
||||
private void validEntityBeforeSave(SysScalePublish entity) {
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
Long deptId = entity.getDeptId();
|
||||
List<SysScalePublishVo> sysScalePublishVos = baseMapper.selectVoList(new LambdaQueryWrapper<SysScalePublish>()
|
||||
.eq(SysScalePublish::getDeptId, deptId)
|
||||
.eq(SysScalePublish::getStatus, StatusEnum.IN_USE.getValue()));
|
||||
if (!ObjectUtil.isEmpty(sysScalePublishVos)) {
|
||||
throw new ServiceException("此年级下已有发布");
|
||||
String deptIds = entity.getDeptIds();
|
||||
List<String> deptIdList = StringUtils.splitList(deptIds);
|
||||
List<String> publishDeptIdList = baseMapper.selectDeptIdsInUse();
|
||||
if (ObjectUtil.isNotEmpty(publishDeptIdList)) {
|
||||
for (String publishDeptIds : publishDeptIdList) {
|
||||
List<String> useList = StringUtils.splitList(publishDeptIds);
|
||||
if (useList.stream().anyMatch(deptIdList::contains)) {
|
||||
throw new ServiceException("所选年级下已有发布");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -3,8 +3,6 @@ package org.dromara.scale.service.impl;
|
|||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.common.core.domain.model.LoginUser;
|
||||
import org.dromara.common.core.enums.UserType;
|
||||
|
@ -24,7 +22,6 @@ import org.dromara.scale.service.ISysScaleFactorService;
|
|||
import org.dromara.scale.service.ISysWarnRecordService;
|
||||
import org.dromara.scale.service.IWebService;
|
||||
import org.dromara.system.domain.SysOss;
|
||||
import org.dromara.system.domain.vo.SysDeptVo;
|
||||
import org.dromara.system.mapper.SysDeptMapper;
|
||||
import org.dromara.system.mapper.SysOssMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
@ -82,32 +79,8 @@ public class WebServiceImpl implements IWebService {
|
|||
if (!UserType.STUDENT.getName().equals(userType)) {
|
||||
throw new ServiceException("只有学生账户才能测评");
|
||||
}
|
||||
SysScalePublishVo sysScalePublishVo = null;
|
||||
if (deptId != null) {
|
||||
//先查询直接用户组的发布
|
||||
LambdaQueryWrapper<SysScalePublish> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(SysScalePublish::getDeptId, deptId);
|
||||
lqw.eq(SysScalePublish::getStatus, StatusEnum.IN_USE.getValue());
|
||||
sysScalePublishVo = publishMapper.selectVoOne(lqw);
|
||||
//没有则查询上级用户组的发布
|
||||
if (sysScalePublishVo == null) {
|
||||
SysDeptVo sysDept = deptMapper.selectDeptById(deptId);
|
||||
LambdaQueryWrapper<SysScalePublish> parentLqw = Wrappers.lambdaQuery();
|
||||
parentLqw.eq(SysScalePublish::getDeptId, sysDept.getParentId());
|
||||
parentLqw.eq(SysScalePublish::getStatus, StatusEnum.IN_USE.getValue());
|
||||
sysScalePublishVo = publishMapper.selectVoOne(lqw);
|
||||
}
|
||||
}
|
||||
//都没有则查针对全部的发布 暂时不考虑
|
||||
// if (sysScalePublishVo == null) {
|
||||
// LambdaQueryWrapper<SysScalePublish> lqw = Wrappers.lambdaQuery();
|
||||
// lqw.eq(SysScalePublish::getDeptId, null);
|
||||
// lqw.eq(SysScalePublish::getStatus, StatusEnum.IN_USE.getValue());
|
||||
// sysScalePublishVo = publishMapper.selectVoOne(lqw);
|
||||
// }
|
||||
if (sysScalePublishVo == null) {
|
||||
return new SysScalePublishVo();
|
||||
}
|
||||
SysScalePublishVo sysScalePublishVo = publishMapper.selectUsePublishVoByDeptId(deptId);
|
||||
|
||||
Long batchNo = sysScalePublishVo.getBatchNo();
|
||||
List<String> scaleIds = sysScalePublishVo.getScaleIds();
|
||||
//todo
|
||||
|
@ -140,7 +113,6 @@ public class WebServiceImpl implements IWebService {
|
|||
if (!UserType.STUDENT.getName().equals(userType)) {
|
||||
throw new ServiceException("只有学生账户才能测评");
|
||||
}
|
||||
//LoginUser loginUser = getLoginUser();
|
||||
SysEvaluationRecord evaluationRecord = recordMapper.selectById(recordId);
|
||||
if (evaluationRecord == null) {
|
||||
throw new ServiceException("未查询到需要测试的记录,请联系管理员");
|
||||
|
@ -148,6 +120,7 @@ public class WebServiceImpl implements IWebService {
|
|||
if (evaluationRecord.getStatus() == 1) {
|
||||
throw new ServiceException("此量表已经答题完毕,请勿重复提交");
|
||||
}
|
||||
|
||||
SysEvaluationRecord update = new SysEvaluationRecord();
|
||||
update.setRecordId(recordId);
|
||||
update.setCreateTime(new Date());
|
||||
|
@ -163,20 +136,9 @@ public class WebServiceImpl implements IWebService {
|
|||
if (!UserType.STUDENT.getName().equals(userType)) {
|
||||
throw new ServiceException("只有学生账户才能测评");
|
||||
}
|
||||
boolean allowQueryResult = true;
|
||||
Long scaleId = bo.getScaleId();
|
||||
Map<String, List<SysScaleAnswerVo>> answerMapByQuestion = scaleAnswerService.getScaleAnswerMap(scaleId);
|
||||
int keySize = answerMapByQuestion.keySet().size();
|
||||
List<SysEvaluationAnswerBo> answerList = bo.getAnswerList();
|
||||
if (ObjectUtil.isEmpty(answerList)) {
|
||||
throw new ServiceException("请先填写答案,再提交");
|
||||
}
|
||||
int answerSize = answerList.size();
|
||||
if (keySize != answerSize) {
|
||||
throw new ServiceException("有题目未作选择,请检查后提交");
|
||||
}
|
||||
Long recordId = answerList.get(0).getRecordId();
|
||||
|
||||
List<SysEvaluationAnswerBo> answerList = bo.getAnswerList();
|
||||
Long recordId = answerList.get(0).getRecordId();
|
||||
SysEvaluationRecord sysEvaluationRecord = recordMapper.selectById(recordId);
|
||||
if (ObjectUtil.isEmpty(sysEvaluationRecord)) {
|
||||
throw new ServiceException("未能查到测量记录,请确认后再提交");
|
||||
|
@ -184,6 +146,19 @@ public class WebServiceImpl implements IWebService {
|
|||
if (sysEvaluationRecord.getStatus() == 0) {
|
||||
throw new ServiceException("此量表暂未开始作答,请确认后再提交");
|
||||
}
|
||||
|
||||
boolean allowQueryResult = true;
|
||||
Long scaleId = bo.getScaleId();
|
||||
Map<String, List<SysScaleAnswerVo>> answerMapByQuestion = scaleAnswerService.getScaleAnswerMap(scaleId);
|
||||
int keySize = answerMapByQuestion.keySet().size();
|
||||
if (ObjectUtil.isEmpty(answerList)) {
|
||||
throw new ServiceException("请先填写答案,再提交");
|
||||
}
|
||||
int answerSize = answerList.size();
|
||||
if (keySize != answerSize) {
|
||||
throw new ServiceException("有题目未作选择,请检查后提交");
|
||||
}
|
||||
|
||||
SysScalePublishVo scalePublishVo = recordMapper.selectPublishByUseRecord(recordId);
|
||||
//查询考核结果
|
||||
if (scalePublishVo.getAllowQueryResult() == 0) {
|
||||
|
@ -191,7 +166,7 @@ public class WebServiceImpl implements IWebService {
|
|||
}
|
||||
List<SysEvaluationAnswer> answerAdd = MapstructUtils.convert(answerList, SysEvaluationAnswer.class);
|
||||
evaluationAnswerMapper.insertBatch(answerAdd);
|
||||
|
||||
//计算
|
||||
List<SysEvaluationConclusionVo> list = calculateEvaluationResult(scaleId, answerList);
|
||||
List<SysEvaluationConclusion> conclusionAdd = MapstructUtils.convert(list, SysEvaluationConclusion.class);
|
||||
evaluationConclusionMapper.insertBatch(conclusionAdd);
|
||||
|
@ -203,7 +178,6 @@ public class WebServiceImpl implements IWebService {
|
|||
riskLevel = ec.getSituation();
|
||||
}
|
||||
}
|
||||
//判断风险等级是否为"高风险、重大风险",若是,则形成预警记录
|
||||
if (riskLevel.equals(SituationEnum.HIGH.getValue()) || riskLevel.equals(SituationEnum.MAJOR.getValue())) {
|
||||
SysWarnRecord wre = new SysWarnRecord();
|
||||
wre.setBatchNo(scalePublishVo.getBatchNo());
|
||||
|
|
|
@ -5,25 +5,33 @@
|
|||
<mapper namespace="org.dromara.scale.mapper.StatisticMapper">
|
||||
|
||||
<select id="selectCompleteAvaluation" resultType="org.dromara.scale.domain.vo.StatisticNumVo">
|
||||
select d.dept_name as `name`,
|
||||
count(if(er.status = 1, 1, null)) as value,
|
||||
count(if(er.status = 0, 1, null)) as spareValue
|
||||
select d.dept_id,
|
||||
d.dept_name,
|
||||
d.parent_id,
|
||||
parent.dept_name as `parentName`,
|
||||
count(if(er.status = 1, 1, null)) as `value`,
|
||||
count(if(er.status = 0, 1, null)) as `spareValue`
|
||||
from sys_evaluation_record er
|
||||
left join sys_dept d on d.dept_id = er.dept_id
|
||||
left join sys_dept parent on parent.dept_id = d.parent_id
|
||||
where er.batch_no = #{batchNo}
|
||||
and er.scale_id = #{scaleId}
|
||||
group by d.dept_id
|
||||
</select>
|
||||
|
||||
<select id="selectStatisticWarn" resultType="org.dromara.scale.domain.vo.StatisticWarnVo">
|
||||
select d.dept_name,
|
||||
count(if(sfr.situation = 1, 1, null)) as noneNum,
|
||||
count(if(sfr.situation = 2, 1, null)) as lowNum,
|
||||
count(if(sfr.situation = 3, 1, null)) as middleNum,
|
||||
count(if(sfr.situation = 4, 1, null)) as highNum,
|
||||
count(if(sfr.situation = 5, 1, null)) as majorNum
|
||||
select d.dept_id,
|
||||
d.dept_name,
|
||||
d.parent_id,
|
||||
parent.dept_name as `parentName`,
|
||||
count(if(sfr.situation = 1, 1, null)) as `noneNum`,
|
||||
count(if(sfr.situation = 2, 1, null)) as `lowNum`,
|
||||
count(if(sfr.situation = 3, 1, null)) as `middleNum`,
|
||||
count(if(sfr.situation = 4, 1, null)) as `highNum`,
|
||||
count(if(sfr.situation = 5, 1, null)) as `majorNum`
|
||||
from sys_evaluation_record er
|
||||
left join sys_dept d on d.dept_id = er.dept_id
|
||||
left join sys_dept parent on parent.dept_id = d.parent_id
|
||||
left join sys_evaluation_conclusion ec on ec.record_id = er.record_id
|
||||
left join sys_scale_factor_range sfr on sfr.range_id = ec.factor_range_id
|
||||
where er.batch_no = #{batchNo}
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="org.dromara.scale.mapper.SysScaleFormulaMapper">
|
||||
|
||||
</mapper>
|
|
@ -24,10 +24,16 @@
|
|||
order by d.dept_id
|
||||
</select>
|
||||
|
||||
<select id="selectDeptNameByBatchNo" resultType="java.lang.String">
|
||||
select d.dept_name
|
||||
from sys_scale_publish sp
|
||||
left join sys_dept d on d.dept_id = sp.dept_id
|
||||
where sp.batch_no = #{batchNo}
|
||||
<select id="selectDeptIdsInUse" resultType="java.lang.String">
|
||||
select dept_ids
|
||||
from sys_scale_publish
|
||||
where status = 1
|
||||
</select>
|
||||
|
||||
<select id="selectUsePublishVoByDeptId" resultType="org.dromara.scale.domain.vo.SysScalePublishVo">
|
||||
select *
|
||||
from sys_scale_publish
|
||||
where status = 1
|
||||
and find_in_set(#{deptId}, dept_ids)
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
@ -119,6 +119,6 @@ public interface SysUserMapper extends BaseMapperPlus<SysUser, SysUserVo> {
|
|||
int updatePasswordBatchById(List<SysUserVo> list);
|
||||
|
||||
|
||||
List<SysUser> selectStudentListByDeptId(@Param("deptId") Long deptId,@Param("isParent") boolean isParent);
|
||||
List<SysUser> selectStudentListByDeptIds(String deptIds);
|
||||
|
||||
}
|
||||
|
|
|
@ -115,5 +115,4 @@ public interface ISysDeptService {
|
|||
*/
|
||||
int deleteDeptById(Long deptId);
|
||||
|
||||
boolean isParent(Long deptId);
|
||||
}
|
||||
|
|
|
@ -4,10 +4,10 @@ import cn.hutool.core.collection.CollUtil;
|
|||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.lang.tree.Tree;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.common.core.constant.CacheNames;
|
||||
import org.dromara.common.core.constant.UserConstants;
|
||||
import org.dromara.common.core.exception.ServiceException;
|
||||
|
@ -28,7 +28,6 @@ import org.dromara.system.mapper.SysDeptMapper;
|
|||
import org.dromara.system.mapper.SysRoleMapper;
|
||||
import org.dromara.system.mapper.SysUserMapper;
|
||||
import org.dromara.system.service.ISysDeptService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.cache.annotation.CacheEvict;
|
||||
import org.springframework.cache.annotation.Cacheable;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
@ -326,14 +325,5 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
|
|||
return baseMapper.deleteById(deptId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isParent(Long deptId) {
|
||||
String ancestors = baseMapper.selectAncestorsById(deptId);
|
||||
List<String> split = StrUtil.split(ancestors, StringUtils.SEPARATOR);
|
||||
if (split.size() <= 2) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -183,24 +183,11 @@
|
|||
</foreach>
|
||||
</update>
|
||||
|
||||
<select id="selectStudentListByDeptId" resultType="org.dromara.system.domain.SysUser">
|
||||
<select id="selectStudentListByDeptIds" resultType="org.dromara.system.domain.SysUser">
|
||||
select u.*
|
||||
from sys_dept d
|
||||
left join sys_user u on u.dept_id = d.dept_id
|
||||
<where>
|
||||
u.user_type = 'student'
|
||||
<choose>
|
||||
<when test="isParent == true">
|
||||
and d.parent_id = #{deptId}
|
||||
</when>
|
||||
<when test="isParent == false">
|
||||
and d.dept_id = #{deptId}
|
||||
</when>
|
||||
<!-- 如果以上都不成立,则使用其他条件 -->
|
||||
<otherwise>
|
||||
and d.dept_id is null
|
||||
</otherwise>
|
||||
</choose>
|
||||
</where>
|
||||
where u.user_type = 'student'
|
||||
and find_in_set(d.dept_id, #{deptIds})
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
Loading…
Reference in New Issue