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 cn.dev33.satoken.annotation.SaCheckPermission;
|
||||||
import jakarta.servlet.http.HttpServletResponse;
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
import jakarta.validation.constraints.NotEmpty;
|
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.dromara.common.core.domain.R;
|
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.excel.utils.ExcelUtil;
|
||||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
|
||||||
import org.dromara.common.log.annotation.Log;
|
import org.dromara.common.log.annotation.Log;
|
||||||
import org.dromara.common.log.enums.BusinessType;
|
import org.dromara.common.log.enums.BusinessType;
|
||||||
import org.dromara.common.web.core.BaseController;
|
import org.dromara.common.web.core.BaseController;
|
||||||
|
@ -35,14 +31,6 @@ public class SysScaleFactorRangeController extends BaseController {
|
||||||
|
|
||||||
private final ISysScaleFactorRangeService sysScaleFactorRangeService;
|
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));
|
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
|
* 部门分组id
|
||||||
*/
|
*/
|
||||||
private Long deptId;
|
@AutoMapping(target = "deptIds", expression = "java(cn.hutool.core.util.StrUtil.split(source.getDeptIds(), \",\"))")
|
||||||
|
private String deptIds;
|
||||||
/**
|
|
||||||
* 应参评人数
|
|
||||||
*/
|
|
||||||
private Long partNum;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 截止日期
|
* 截止日期
|
||||||
|
|
|
@ -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 })
|
@NotBlank(message = "场次名称不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
private String sessionName;
|
private String sessionName;
|
||||||
|
|
||||||
/**
|
@NotEmpty(message = "分组id,以逗号隔开不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
* 部门分组id
|
@AutoMapping(target = "deptIds", expression = "java(java.lang.String.join(\",\", source.getDeptIds()))")
|
||||||
*/
|
private List<String> deptIds;
|
||||||
@NotNull(message = "年级分组id不能为空", groups = { AddGroup.class, EditGroup.class })
|
|
||||||
private Long deptId;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 应参评人数
|
|
||||||
*/
|
|
||||||
// @NotNull(message = "应参评人数不能为空", groups = { AddGroup.class, EditGroup.class })
|
|
||||||
private Long partNum;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 截止日期
|
* 截止日期
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package org.dromara.scale.domain.vo;
|
package org.dromara.scale.domain.vo;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
|
@ -23,5 +24,13 @@ public class StatisticNumVo implements Serializable {
|
||||||
private int value;
|
private int value;
|
||||||
|
|
||||||
private int spareValue;
|
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;
|
package org.dromara.scale.domain.vo;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
|
@ -18,11 +19,19 @@ public class StatisticWarnVo implements Serializable {
|
||||||
@Serial
|
@Serial
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
private String deptName;
|
private String name;
|
||||||
|
|
||||||
private Integer noneNum;
|
private Integer noneNum;
|
||||||
private Integer lowNum;
|
private Integer lowNum;
|
||||||
private Integer middleNum;
|
private Integer middleNum;
|
||||||
private Integer highNum;
|
private Integer highNum;
|
||||||
private Integer majorNum;
|
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;
|
private String sessionName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 部门分组id
|
* 分组id,以逗号隔开
|
||||||
*/
|
*/
|
||||||
@ExcelProperty(value = "部门分组id")
|
@ExcelProperty(value = "部门分组id")
|
||||||
private Long deptId;
|
private List<String> deptIds;
|
||||||
|
|
||||||
/**
|
|
||||||
* 应参评人数
|
|
||||||
*/
|
|
||||||
@ExcelProperty(value = "应参评人数")
|
|
||||||
private Long partNum;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 截止日期
|
* 截止日期
|
||||||
|
|
|
@ -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);
|
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.PageQuery;
|
||||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
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.SysEvaluationRecordBo;
|
||||||
import org.dromara.scale.domain.bo.SysScalePublishBo;
|
|
||||||
import org.dromara.scale.domain.vo.SysEvaluationRecordVo;
|
import org.dromara.scale.domain.vo.SysEvaluationRecordVo;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -32,7 +32,7 @@ public interface ISysEvaluationRecordService {
|
||||||
List<SysEvaluationRecordVo> queryList(SysEvaluationRecordBo bo);
|
List<SysEvaluationRecordVo> queryList(SysEvaluationRecordBo bo);
|
||||||
|
|
||||||
|
|
||||||
void insertBathByPublish(SysScalePublishBo bo);
|
void insertBathByPublish(SysScalePublish add);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,8 @@
|
||||||
package org.dromara.scale.service;
|
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.scale.domain.bo.SysScaleFactorRangeBo;
|
||||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
import org.dromara.scale.domain.vo.SysScaleFactorRangeVo;
|
||||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
|
||||||
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -22,28 +18,10 @@ public interface ISysScaleFactorRangeService {
|
||||||
*/
|
*/
|
||||||
SysScaleFactorRangeVo queryById(Long rangeId);
|
SysScaleFactorRangeVo queryById(Long rangeId);
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询因子分段列表
|
|
||||||
*/
|
|
||||||
TableDataInfo<SysScaleFactorRangeVo> queryPageList(SysScaleFactorRangeBo bo, PageQuery pageQuery);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询因子分段列表
|
* 查询因子分段列表
|
||||||
*/
|
*/
|
||||||
List<SysScaleFactorRangeVo> queryList(SysScaleFactorRangeBo bo);
|
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.StatisticNumVo;
|
||||||
import org.dromara.scale.domain.vo.StatisticWarnVo;
|
import org.dromara.scale.domain.vo.StatisticWarnVo;
|
||||||
import org.dromara.scale.mapper.StatisticMapper;
|
import org.dromara.scale.mapper.StatisticMapper;
|
||||||
import org.dromara.scale.mapper.SysScalePublishMapper;
|
|
||||||
import org.dromara.scale.service.IStatisticService;
|
import org.dromara.scale.service.IStatisticService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
@ -21,13 +20,10 @@ import java.util.List;
|
||||||
|
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
@Service
|
@Service
|
||||||
public class StatisticService implements IStatisticService {
|
public class StatisticServiceImpl implements IStatisticService {
|
||||||
|
|
||||||
private final StatisticMapper statisticMapper;
|
private final StatisticMapper statisticMapper;
|
||||||
|
|
||||||
private final SysScalePublishMapper publishMapper;
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public StatisticNumVo getComplete4All(BaseQueryBo query) {
|
public StatisticNumVo getComplete4All(BaseQueryBo query) {
|
||||||
Long batchNo = query.getBatchNo();
|
Long batchNo = query.getBatchNo();
|
||||||
|
@ -35,9 +31,9 @@ public class StatisticService implements IStatisticService {
|
||||||
List<StatisticNumVo> list = statisticMapper.selectCompleteAvaluation(batchNo, scaleId);
|
List<StatisticNumVo> list = statisticMapper.selectCompleteAvaluation(batchNo, scaleId);
|
||||||
int complete = list.stream().mapToInt(StatisticNumVo::getValue).sum();
|
int complete = list.stream().mapToInt(StatisticNumVo::getValue).sum();
|
||||||
int uncompleted = list.stream().mapToInt(StatisticNumVo::getSpareValue).sum();
|
int uncompleted = list.stream().mapToInt(StatisticNumVo::getSpareValue).sum();
|
||||||
String deptName = publishMapper.selectDeptNameByBatchNo(batchNo);
|
|
||||||
StatisticNumVo data = new StatisticNumVo();
|
StatisticNumVo data = new StatisticNumVo();
|
||||||
data.setName(deptName);
|
//data.setName(deptName);
|
||||||
data.setValue(complete);
|
data.setValue(complete);
|
||||||
data.setSpareValue(uncompleted);
|
data.setSpareValue(uncompleted);
|
||||||
return data;
|
return data;
|
||||||
|
@ -60,9 +56,9 @@ public class StatisticService implements IStatisticService {
|
||||||
int middleNum = list.stream().mapToInt(StatisticWarnVo::getMiddleNum).sum();
|
int middleNum = list.stream().mapToInt(StatisticWarnVo::getMiddleNum).sum();
|
||||||
int highNum = list.stream().mapToInt(StatisticWarnVo::getHighNum).sum();
|
int highNum = list.stream().mapToInt(StatisticWarnVo::getHighNum).sum();
|
||||||
int majorNum = list.stream().mapToInt(StatisticWarnVo::getMajorNum).sum();
|
int majorNum = list.stream().mapToInt(StatisticWarnVo::getMajorNum).sum();
|
||||||
String deptName = publishMapper.selectDeptNameByBatchNo(batchNo);
|
|
||||||
StatisticWarnVo data = new StatisticWarnVo();
|
StatisticWarnVo data = new StatisticWarnVo();
|
||||||
data.setDeptName(deptName);
|
//data.setDeptName(deptName);
|
||||||
data.setNoneNum(noneNum);
|
data.setNoneNum(noneNum);
|
||||||
data.setLowNum(lowNum);
|
data.setLowNum(lowNum);
|
||||||
data.setMiddleNum(middleNum);
|
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.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import lombok.RequiredArgsConstructor;
|
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.PageQuery;
|
||||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
import org.dromara.scale.constant.StatusEnum;
|
import org.dromara.scale.constant.StatusEnum;
|
||||||
import org.dromara.scale.domain.SysEvaluationRecord;
|
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.SysEvaluationRecordBo;
|
||||||
import org.dromara.scale.domain.bo.SysScalePublishBo;
|
|
||||||
import org.dromara.scale.domain.vo.SysEvaluationRecordVo;
|
import org.dromara.scale.domain.vo.SysEvaluationRecordVo;
|
||||||
import org.dromara.scale.mapper.SysEvaluationRecordMapper;
|
import org.dromara.scale.mapper.SysEvaluationRecordMapper;
|
||||||
import org.dromara.scale.service.ISysEvaluationRecordService;
|
import org.dromara.scale.service.ISysEvaluationRecordService;
|
||||||
import org.dromara.system.domain.SysUser;
|
import org.dromara.system.domain.SysUser;
|
||||||
import org.dromara.system.mapper.SysUserMapper;
|
import org.dromara.system.mapper.SysUserMapper;
|
||||||
import org.dromara.system.service.ISysDeptService;
|
|
||||||
import org.springframework.scheduling.annotation.Async;
|
import org.springframework.scheduling.annotation.Async;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
@ -34,8 +34,6 @@ public class SysEvaluationRecordServiceImpl implements ISysEvaluationRecordServi
|
||||||
|
|
||||||
private final SysEvaluationRecordMapper baseMapper;
|
private final SysEvaluationRecordMapper baseMapper;
|
||||||
|
|
||||||
private final ISysDeptService deptService;
|
|
||||||
|
|
||||||
private final SysUserMapper userMapper;
|
private final SysUserMapper userMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -76,15 +74,15 @@ public class SysEvaluationRecordServiceImpl implements ISysEvaluationRecordServi
|
||||||
|
|
||||||
@Async
|
@Async
|
||||||
@Override
|
@Override
|
||||||
public void insertBathByPublish(SysScalePublishBo bo) {
|
public void insertBathByPublish(SysScalePublish add) {
|
||||||
Long deptId = bo.getDeptId();
|
String deptIds = add.getDeptIds();
|
||||||
Long batchNo = bo.getBatchNo();
|
Long batchNo = add.getBatchNo();
|
||||||
List<String> scaleIds = bo.getScaleIds();
|
String scaleIds = add.getScaleIds();
|
||||||
//判断人数
|
List<String> scaleList = StringUtils.splitList(scaleIds);
|
||||||
boolean parent = deptService.isParent(deptId);
|
List<SysUser> sysUsers = userMapper.selectStudentListByDeptIds(deptIds);
|
||||||
List<SysUser> sysUsers = userMapper.selectStudentListByDeptId(deptId, parent);
|
|
||||||
List<SysEvaluationRecord> recordList = new ArrayList<>();
|
List<SysEvaluationRecord> recordList = new ArrayList<>();
|
||||||
for (String scaleId : scaleIds) {
|
for (String scaleId : scaleList) {
|
||||||
for (SysUser user : sysUsers) {
|
for (SysUser user : sysUsers) {
|
||||||
SysEvaluationRecord record = new SysEvaluationRecord();
|
SysEvaluationRecord record = new SysEvaluationRecord();
|
||||||
record.setUserId(user.getUserId());
|
record.setUserId(user.getUserId());
|
||||||
|
|
|
@ -1,23 +1,18 @@
|
||||||
package org.dromara.scale.service.impl;
|
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.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import lombok.RequiredArgsConstructor;
|
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.bo.SysScaleFactorRangeBo;
|
||||||
import org.dromara.scale.domain.vo.SysScaleFactorRangeVo;
|
import org.dromara.scale.domain.vo.SysScaleFactorRangeVo;
|
||||||
import org.dromara.scale.domain.SysScaleFactorRange;
|
|
||||||
import org.dromara.scale.mapper.SysScaleFactorRangeMapper;
|
import org.dromara.scale.mapper.SysScaleFactorRangeMapper;
|
||||||
import org.dromara.scale.service.ISysScaleFactorRangeService;
|
import org.dromara.scale.service.ISysScaleFactorRangeService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Collection;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 因子分段Service业务层处理
|
* 因子分段Service业务层处理
|
||||||
|
@ -39,15 +34,6 @@ public class SysScaleFactorRangeServiceImpl implements ISysScaleFactorRangeServi
|
||||||
return baseMapper.selectVoById(rangeId);
|
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;
|
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.PageQuery;
|
||||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
import org.dromara.common.redis.utils.QueueUtils;
|
import org.dromara.common.redis.utils.QueueUtils;
|
||||||
import org.dromara.scale.constant.StatusEnum;
|
|
||||||
import org.dromara.scale.domain.SysScalePublish;
|
import org.dromara.scale.domain.SysScalePublish;
|
||||||
import org.dromara.scale.domain.bo.BaseQueryBo;
|
import org.dromara.scale.domain.bo.BaseQueryBo;
|
||||||
import org.dromara.scale.domain.bo.SysScalePublishBo;
|
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.mapper.SysScalePublishMapper;
|
||||||
import org.dromara.scale.service.ISysEvaluationRecordService;
|
import org.dromara.scale.service.ISysEvaluationRecordService;
|
||||||
import org.dromara.scale.service.ISysScalePublishService;
|
import org.dromara.scale.service.ISysScalePublishService;
|
||||||
import org.dromara.system.service.ISysDeptService;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
@ -51,8 +49,6 @@ public class SysScalePublishServiceImpl implements ISysScalePublishService {
|
||||||
|
|
||||||
private final SysScaleMapper scaleMapper;
|
private final SysScaleMapper scaleMapper;
|
||||||
|
|
||||||
private final ISysDeptService deptService;
|
|
||||||
|
|
||||||
private final ISysEvaluationRecordService evaluationRecordService;
|
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.getScaleIds()), SysScalePublish::getScaleIds, bo.getScaleIds());
|
||||||
// lqw.eq(StringUtils.isNotBlank(bo.getScaleNames()), SysScalePublish::getScaleNames, bo.getScaleNames());
|
// lqw.eq(StringUtils.isNotBlank(bo.getScaleNames()), SysScalePublish::getScaleNames, bo.getScaleNames());
|
||||||
lqw.like(StringUtils.isNotBlank(bo.getSessionName()), SysScalePublish::getSessionName, bo.getSessionName());
|
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.getExpireTime() != null, SysScalePublish::getExpireTime, bo.getExpireTime());
|
||||||
lqw.eq(bo.getStatus() != null, SysScalePublish::getStatus, bo.getStatus());
|
lqw.eq(bo.getStatus() != null, SysScalePublish::getStatus, bo.getStatus());
|
||||||
lqw.eq(bo.getAllowQueryResult() != null, SysScalePublish::getAllowQueryResult, bo.getAllowQueryResult());
|
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);
|
QueueUtils.addDelayedQueueObject("scalePublish-delay-queue", add.getBatchNo(), l, TimeUnit.MILLISECONDS);
|
||||||
//预处理量测记录,方便后续统计与查询
|
//预处理量测记录,方便后续统计与查询
|
||||||
evaluationRecordService.insertBathByPublish(bo);
|
evaluationRecordService.insertBathByPublish(add);
|
||||||
return flag;
|
return flag;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -151,12 +145,16 @@ public class SysScalePublishServiceImpl implements ISysScalePublishService {
|
||||||
*/
|
*/
|
||||||
private void validEntityBeforeSave(SysScalePublish entity) {
|
private void validEntityBeforeSave(SysScalePublish entity) {
|
||||||
//TODO 做一些数据校验,如唯一约束
|
//TODO 做一些数据校验,如唯一约束
|
||||||
Long deptId = entity.getDeptId();
|
String deptIds = entity.getDeptIds();
|
||||||
List<SysScalePublishVo> sysScalePublishVos = baseMapper.selectVoList(new LambdaQueryWrapper<SysScalePublish>()
|
List<String> deptIdList = StringUtils.splitList(deptIds);
|
||||||
.eq(SysScalePublish::getDeptId, deptId)
|
List<String> publishDeptIdList = baseMapper.selectDeptIdsInUse();
|
||||||
.eq(SysScalePublish::getStatus, StatusEnum.IN_USE.getValue()));
|
if (ObjectUtil.isNotEmpty(publishDeptIdList)) {
|
||||||
if (!ObjectUtil.isEmpty(sysScalePublishVos)) {
|
for (String publishDeptIds : publishDeptIdList) {
|
||||||
throw new ServiceException("此年级下已有发布");
|
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.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
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 lombok.RequiredArgsConstructor;
|
||||||
import org.dromara.common.core.domain.model.LoginUser;
|
import org.dromara.common.core.domain.model.LoginUser;
|
||||||
import org.dromara.common.core.enums.UserType;
|
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.ISysWarnRecordService;
|
||||||
import org.dromara.scale.service.IWebService;
|
import org.dromara.scale.service.IWebService;
|
||||||
import org.dromara.system.domain.SysOss;
|
import org.dromara.system.domain.SysOss;
|
||||||
import org.dromara.system.domain.vo.SysDeptVo;
|
|
||||||
import org.dromara.system.mapper.SysDeptMapper;
|
import org.dromara.system.mapper.SysDeptMapper;
|
||||||
import org.dromara.system.mapper.SysOssMapper;
|
import org.dromara.system.mapper.SysOssMapper;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
@ -82,32 +79,8 @@ public class WebServiceImpl implements IWebService {
|
||||||
if (!UserType.STUDENT.getName().equals(userType)) {
|
if (!UserType.STUDENT.getName().equals(userType)) {
|
||||||
throw new ServiceException("只有学生账户才能测评");
|
throw new ServiceException("只有学生账户才能测评");
|
||||||
}
|
}
|
||||||
SysScalePublishVo sysScalePublishVo = null;
|
SysScalePublishVo sysScalePublishVo = publishMapper.selectUsePublishVoByDeptId(deptId);
|
||||||
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();
|
|
||||||
}
|
|
||||||
Long batchNo = sysScalePublishVo.getBatchNo();
|
Long batchNo = sysScalePublishVo.getBatchNo();
|
||||||
List<String> scaleIds = sysScalePublishVo.getScaleIds();
|
List<String> scaleIds = sysScalePublishVo.getScaleIds();
|
||||||
//todo
|
//todo
|
||||||
|
@ -140,7 +113,6 @@ public class WebServiceImpl implements IWebService {
|
||||||
if (!UserType.STUDENT.getName().equals(userType)) {
|
if (!UserType.STUDENT.getName().equals(userType)) {
|
||||||
throw new ServiceException("只有学生账户才能测评");
|
throw new ServiceException("只有学生账户才能测评");
|
||||||
}
|
}
|
||||||
//LoginUser loginUser = getLoginUser();
|
|
||||||
SysEvaluationRecord evaluationRecord = recordMapper.selectById(recordId);
|
SysEvaluationRecord evaluationRecord = recordMapper.selectById(recordId);
|
||||||
if (evaluationRecord == null) {
|
if (evaluationRecord == null) {
|
||||||
throw new ServiceException("未查询到需要测试的记录,请联系管理员");
|
throw new ServiceException("未查询到需要测试的记录,请联系管理员");
|
||||||
|
@ -148,6 +120,7 @@ public class WebServiceImpl implements IWebService {
|
||||||
if (evaluationRecord.getStatus() == 1) {
|
if (evaluationRecord.getStatus() == 1) {
|
||||||
throw new ServiceException("此量表已经答题完毕,请勿重复提交");
|
throw new ServiceException("此量表已经答题完毕,请勿重复提交");
|
||||||
}
|
}
|
||||||
|
|
||||||
SysEvaluationRecord update = new SysEvaluationRecord();
|
SysEvaluationRecord update = new SysEvaluationRecord();
|
||||||
update.setRecordId(recordId);
|
update.setRecordId(recordId);
|
||||||
update.setCreateTime(new Date());
|
update.setCreateTime(new Date());
|
||||||
|
@ -163,20 +136,9 @@ public class WebServiceImpl implements IWebService {
|
||||||
if (!UserType.STUDENT.getName().equals(userType)) {
|
if (!UserType.STUDENT.getName().equals(userType)) {
|
||||||
throw new ServiceException("只有学生账户才能测评");
|
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);
|
SysEvaluationRecord sysEvaluationRecord = recordMapper.selectById(recordId);
|
||||||
if (ObjectUtil.isEmpty(sysEvaluationRecord)) {
|
if (ObjectUtil.isEmpty(sysEvaluationRecord)) {
|
||||||
throw new ServiceException("未能查到测量记录,请确认后再提交");
|
throw new ServiceException("未能查到测量记录,请确认后再提交");
|
||||||
|
@ -184,6 +146,19 @@ public class WebServiceImpl implements IWebService {
|
||||||
if (sysEvaluationRecord.getStatus() == 0) {
|
if (sysEvaluationRecord.getStatus() == 0) {
|
||||||
throw new ServiceException("此量表暂未开始作答,请确认后再提交");
|
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);
|
SysScalePublishVo scalePublishVo = recordMapper.selectPublishByUseRecord(recordId);
|
||||||
//查询考核结果
|
//查询考核结果
|
||||||
if (scalePublishVo.getAllowQueryResult() == 0) {
|
if (scalePublishVo.getAllowQueryResult() == 0) {
|
||||||
|
@ -191,7 +166,7 @@ public class WebServiceImpl implements IWebService {
|
||||||
}
|
}
|
||||||
List<SysEvaluationAnswer> answerAdd = MapstructUtils.convert(answerList, SysEvaluationAnswer.class);
|
List<SysEvaluationAnswer> answerAdd = MapstructUtils.convert(answerList, SysEvaluationAnswer.class);
|
||||||
evaluationAnswerMapper.insertBatch(answerAdd);
|
evaluationAnswerMapper.insertBatch(answerAdd);
|
||||||
|
//计算
|
||||||
List<SysEvaluationConclusionVo> list = calculateEvaluationResult(scaleId, answerList);
|
List<SysEvaluationConclusionVo> list = calculateEvaluationResult(scaleId, answerList);
|
||||||
List<SysEvaluationConclusion> conclusionAdd = MapstructUtils.convert(list, SysEvaluationConclusion.class);
|
List<SysEvaluationConclusion> conclusionAdd = MapstructUtils.convert(list, SysEvaluationConclusion.class);
|
||||||
evaluationConclusionMapper.insertBatch(conclusionAdd);
|
evaluationConclusionMapper.insertBatch(conclusionAdd);
|
||||||
|
@ -203,7 +178,6 @@ public class WebServiceImpl implements IWebService {
|
||||||
riskLevel = ec.getSituation();
|
riskLevel = ec.getSituation();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//判断风险等级是否为"高风险、重大风险",若是,则形成预警记录
|
|
||||||
if (riskLevel.equals(SituationEnum.HIGH.getValue()) || riskLevel.equals(SituationEnum.MAJOR.getValue())) {
|
if (riskLevel.equals(SituationEnum.HIGH.getValue()) || riskLevel.equals(SituationEnum.MAJOR.getValue())) {
|
||||||
SysWarnRecord wre = new SysWarnRecord();
|
SysWarnRecord wre = new SysWarnRecord();
|
||||||
wre.setBatchNo(scalePublishVo.getBatchNo());
|
wre.setBatchNo(scalePublishVo.getBatchNo());
|
||||||
|
|
|
@ -5,25 +5,33 @@
|
||||||
<mapper namespace="org.dromara.scale.mapper.StatisticMapper">
|
<mapper namespace="org.dromara.scale.mapper.StatisticMapper">
|
||||||
|
|
||||||
<select id="selectCompleteAvaluation" resultType="org.dromara.scale.domain.vo.StatisticNumVo">
|
<select id="selectCompleteAvaluation" resultType="org.dromara.scale.domain.vo.StatisticNumVo">
|
||||||
select d.dept_name as `name`,
|
select d.dept_id,
|
||||||
count(if(er.status = 1, 1, null)) as value,
|
d.dept_name,
|
||||||
count(if(er.status = 0, 1, null)) as spareValue
|
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
|
from sys_evaluation_record er
|
||||||
left join sys_dept d on d.dept_id = er.dept_id
|
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}
|
where er.batch_no = #{batchNo}
|
||||||
and er.scale_id = #{scaleId}
|
and er.scale_id = #{scaleId}
|
||||||
group by d.dept_id
|
group by d.dept_id
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectStatisticWarn" resultType="org.dromara.scale.domain.vo.StatisticWarnVo">
|
<select id="selectStatisticWarn" resultType="org.dromara.scale.domain.vo.StatisticWarnVo">
|
||||||
select d.dept_name,
|
select d.dept_id,
|
||||||
count(if(sfr.situation = 1, 1, null)) as noneNum,
|
d.dept_name,
|
||||||
count(if(sfr.situation = 2, 1, null)) as lowNum,
|
d.parent_id,
|
||||||
count(if(sfr.situation = 3, 1, null)) as middleNum,
|
parent.dept_name as `parentName`,
|
||||||
count(if(sfr.situation = 4, 1, null)) as highNum,
|
count(if(sfr.situation = 1, 1, null)) as `noneNum`,
|
||||||
count(if(sfr.situation = 5, 1, null)) as majorNum
|
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
|
from sys_evaluation_record er
|
||||||
left join sys_dept d on d.dept_id = er.dept_id
|
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_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
|
left join sys_scale_factor_range sfr on sfr.range_id = ec.factor_range_id
|
||||||
where er.batch_no = #{batchNo}
|
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
|
order by d.dept_id
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectDeptNameByBatchNo" resultType="java.lang.String">
|
<select id="selectDeptIdsInUse" resultType="java.lang.String">
|
||||||
select d.dept_name
|
select dept_ids
|
||||||
from sys_scale_publish sp
|
from sys_scale_publish
|
||||||
left join sys_dept d on d.dept_id = sp.dept_id
|
where status = 1
|
||||||
where sp.batch_no = #{batchNo}
|
</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>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
@ -119,6 +119,6 @@ public interface SysUserMapper extends BaseMapperPlus<SysUser, SysUserVo> {
|
||||||
int updatePasswordBatchById(List<SysUserVo> list);
|
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);
|
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.convert.Convert;
|
||||||
import cn.hutool.core.lang.tree.Tree;
|
import cn.hutool.core.lang.tree.Tree;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
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.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.dromara.common.core.constant.CacheNames;
|
import org.dromara.common.core.constant.CacheNames;
|
||||||
import org.dromara.common.core.constant.UserConstants;
|
import org.dromara.common.core.constant.UserConstants;
|
||||||
import org.dromara.common.core.exception.ServiceException;
|
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.SysRoleMapper;
|
||||||
import org.dromara.system.mapper.SysUserMapper;
|
import org.dromara.system.mapper.SysUserMapper;
|
||||||
import org.dromara.system.service.ISysDeptService;
|
import org.dromara.system.service.ISysDeptService;
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import org.springframework.cache.annotation.CacheEvict;
|
import org.springframework.cache.annotation.CacheEvict;
|
||||||
import org.springframework.cache.annotation.Cacheable;
|
import org.springframework.cache.annotation.Cacheable;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
@ -326,14 +325,5 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
|
||||||
return baseMapper.deleteById(deptId);
|
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>
|
</foreach>
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<select id="selectStudentListByDeptId" resultType="org.dromara.system.domain.SysUser">
|
<select id="selectStudentListByDeptIds" resultType="org.dromara.system.domain.SysUser">
|
||||||
select u.*
|
select u.*
|
||||||
from sys_dept d
|
from sys_dept d
|
||||||
left join sys_user u on u.dept_id = d.dept_id
|
left join sys_user u on u.dept_id = d.dept_id
|
||||||
<where>
|
where u.user_type = 'student'
|
||||||
u.user_type = 'student'
|
and find_in_set(d.dept_id, #{deptIds})
|
||||||
<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>
|
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
Loading…
Reference in New Issue