Compare commits
2 Commits
3e833ecc7e
...
b21126950d
Author | SHA1 | Date |
---|---|---|
|
b21126950d | |
|
0ee1a04713 |
|
@ -57,6 +57,17 @@ public class SysScaleQuestionController extends BaseController {
|
||||||
ExcelUtil.exportExcel(list, "量问题内容", SysScaleQuestionVo.class, response);
|
ExcelUtil.exportExcel(list, "量问题内容", SysScaleQuestionVo.class, response);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询量表所有问题
|
||||||
|
*
|
||||||
|
* @param bo
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@GetMapping("/findByScaleId")
|
||||||
|
public R<List<SysScaleQuestionVo>> findByScaleId(SysScaleQuestionBo bo) {
|
||||||
|
return R.ok(sysScaleQuestionService.queryList(bo));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取量问题内容详细信息
|
* 获取量问题内容详细信息
|
||||||
*
|
*
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
package org.dromara.scale.domain.bo;
|
package org.dromara.scale.domain.bo;
|
||||||
|
|
||||||
import io.github.linpeilie.annotations.AutoMapper;
|
import io.github.linpeilie.annotations.AutoMapper;
|
||||||
|
import io.github.linpeilie.annotations.AutoMapping;
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
|
import jakarta.validation.constraints.NotEmpty;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import org.dromara.common.core.validate.AddGroup;
|
import org.dromara.common.core.validate.AddGroup;
|
||||||
|
@ -9,6 +11,7 @@ import org.dromara.common.core.validate.EditGroup;
|
||||||
import org.dromara.scale.domain.SysScalePublish;
|
import org.dromara.scale.domain.SysScalePublish;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 量发布业务对象 sys_scale_publish
|
* 量发布业务对象 sys_scale_publish
|
||||||
|
@ -29,13 +32,14 @@ public class SysScalePublishBo {
|
||||||
/**
|
/**
|
||||||
* 量表id,以逗号隔开
|
* 量表id,以逗号隔开
|
||||||
*/
|
*/
|
||||||
@NotBlank(message = "量表id,以逗号隔开不能为空", groups = { AddGroup.class, EditGroup.class })
|
@NotEmpty(message = "量表id,以逗号隔开不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
private String scaleIds;
|
@AutoMapping(target = "scaleIds", expression = "java(java.lang.String.join(\",\", source.getScaleIds()))")
|
||||||
|
private List<String> scaleIds;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 量表名称 以逗号隔开
|
* 量表名称 以逗号隔开
|
||||||
*/
|
*/
|
||||||
@NotBlank(message = "量表名称 以逗号隔开不能为空", groups = { AddGroup.class, EditGroup.class })
|
// @NotBlank(message = "量表名称 以逗号隔开不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
private String scaleNames;
|
private String scaleNames;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -53,7 +57,7 @@ public class SysScalePublishBo {
|
||||||
/**
|
/**
|
||||||
* 应参评人数
|
* 应参评人数
|
||||||
*/
|
*/
|
||||||
@NotNull(message = "应参评人数不能为空", groups = { AddGroup.class, EditGroup.class })
|
// @NotNull(message = "应参评人数不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
private Long partNum;
|
private Long partNum;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -7,6 +7,8 @@ import org.dromara.scale.domain.vo.SysScaleVo;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 心理测评量Mapper接口
|
* 心理测评量Mapper接口
|
||||||
*
|
*
|
||||||
|
@ -16,6 +18,6 @@ import java.util.List;
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface SysScaleMapper extends BaseMapperPlus<SysScale, SysScaleVo> {
|
public interface SysScaleMapper extends BaseMapperPlus<SysScale, SysScaleVo> {
|
||||||
|
|
||||||
List<SysScaleVo> selectPublishListByIds(List<Long> list);
|
List<SysScaleVo> findSysScaleByIds(String scaleIds);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package org.dromara.scale.service.impl;
|
package org.dromara.scale.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
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.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;
|
||||||
|
@ -9,6 +11,7 @@ import org.dromara.common.core.utils.MapstructUtils;
|
||||||
import org.dromara.common.core.utils.StringUtils;
|
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.domain.SysScale;
|
||||||
import org.dromara.scale.domain.SysScalePublish;
|
import org.dromara.scale.domain.SysScalePublish;
|
||||||
import org.dromara.scale.domain.bo.SysScalePublishBo;
|
import org.dromara.scale.domain.bo.SysScalePublishBo;
|
||||||
import org.dromara.scale.domain.vo.SysEvaluationRecordVo;
|
import org.dromara.scale.domain.vo.SysEvaluationRecordVo;
|
||||||
|
@ -21,9 +24,11 @@ import org.dromara.scale.service.ISysScalePublishService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static org.dromara.common.satoken.utils.LoginHelper.getLoginUser;
|
import static org.dromara.common.satoken.utils.LoginHelper.getLoginUser;
|
||||||
|
|
||||||
|
@ -38,6 +43,7 @@ import static org.dromara.common.satoken.utils.LoginHelper.getLoginUser;
|
||||||
public class SysScalePublishServiceImpl implements ISysScalePublishService {
|
public class SysScalePublishServiceImpl implements ISysScalePublishService {
|
||||||
|
|
||||||
private final SysScalePublishMapper baseMapper;
|
private final SysScalePublishMapper baseMapper;
|
||||||
|
private final SysScaleMapper sysScaleMapper;
|
||||||
|
|
||||||
private final SysScaleMapper scaleMapper;
|
private final SysScaleMapper scaleMapper;
|
||||||
|
|
||||||
|
@ -73,7 +79,7 @@ public class SysScalePublishServiceImpl implements ISysScalePublishService {
|
||||||
private LambdaQueryWrapper<SysScalePublish> buildQueryWrapper(SysScalePublishBo bo) {
|
private LambdaQueryWrapper<SysScalePublish> buildQueryWrapper(SysScalePublishBo bo) {
|
||||||
//Map<String, Object> params = bo.getParams();
|
//Map<String, Object> params = bo.getParams();
|
||||||
LambdaQueryWrapper<SysScalePublish> lqw = Wrappers.lambdaQuery();
|
LambdaQueryWrapper<SysScalePublish> lqw = Wrappers.lambdaQuery();
|
||||||
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.getDeptId() != null, SysScalePublish::getDeptId, bo.getDeptId());
|
||||||
|
@ -94,10 +100,25 @@ public class SysScalePublishServiceImpl implements ISysScalePublishService {
|
||||||
add.setCreateBy(loginUser.getUserId());
|
add.setCreateBy(loginUser.getUserId());
|
||||||
add.setCreateTime(new Date());
|
add.setCreateTime(new Date());
|
||||||
validEntityBeforeSave(add);
|
validEntityBeforeSave(add);
|
||||||
|
|
||||||
|
if (CollUtil.isNotEmpty(bo.getScaleIds())) {
|
||||||
|
List<SysScaleVo> list = sysScaleMapper.findSysScaleByIds(StrUtil.join(StrUtil.COMMA, bo.getScaleIds()));
|
||||||
|
add.setScaleNames(list.stream().map(SysScaleVo::getScaleName).collect(Collectors.joining(StrUtil.COMMA)));
|
||||||
|
|
||||||
|
List<SysScale> scaleList = new ArrayList<>(bo.getScaleIds().size());
|
||||||
|
for (String scaleId : bo.getScaleIds()) {
|
||||||
|
SysScale sysScale = sysScaleMapper.selectById(scaleId);
|
||||||
|
sysScale.setPublishNums(sysScale.getPublishNums() + 1);
|
||||||
|
scaleList.add(sysScale);
|
||||||
|
}
|
||||||
|
sysScaleMapper.updateBatchById(scaleList, 100);
|
||||||
|
}
|
||||||
|
|
||||||
boolean flag = baseMapper.insert(add) > 0;
|
boolean flag = baseMapper.insert(add) > 0;
|
||||||
if (flag) {
|
if (flag) {
|
||||||
bo.setBatchNo(add.getBatchNo());
|
bo.setBatchNo(add.getBatchNo());
|
||||||
}
|
}
|
||||||
|
|
||||||
return flag;
|
return flag;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -150,9 +171,8 @@ public class SysScalePublishServiceImpl implements ISysScalePublishService {
|
||||||
sysScalePublishVo = baseMapper.selectVoOne(lqw);
|
sysScalePublishVo = baseMapper.selectVoOne(lqw);
|
||||||
}
|
}
|
||||||
Long batchNo = sysScalePublishVo.getBatchNo();
|
Long batchNo = sysScalePublishVo.getBatchNo();
|
||||||
List<Long> idList = Arrays.stream(sysScalePublishVo.getScaleIds().split(","))
|
String scaleIds = sysScalePublishVo.getScaleIds();
|
||||||
.mapToLong(Long::valueOf).boxed().toList();
|
List<SysScaleVo> publishScaleVos = sysScaleMapper.findSysScaleByIds(StrUtil.join(StrUtil.COMMA, scaleIds));
|
||||||
List<SysScaleVo> publishScaleVos = scaleMapper.selectPublishListByIds(idList);
|
|
||||||
List<SysEvaluationRecordVo> recordVos = recordMapper.selectSclaeRecordListByUserAndBatch(userId, batchNo);
|
List<SysEvaluationRecordVo> recordVos = recordMapper.selectSclaeRecordListByUserAndBatch(userId, batchNo);
|
||||||
for (SysEvaluationRecordVo recordVo : recordVos) {
|
for (SysEvaluationRecordVo recordVo : recordVos) {
|
||||||
publishScaleVos.stream().filter(p -> p.getScaleId().equals(recordVo.getScaleId()))
|
publishScaleVos.stream().filter(p -> p.getScaleId().equals(recordVo.getScaleId()))
|
||||||
|
|
|
@ -3,12 +3,8 @@
|
||||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="org.dromara.scale.mapper.SysScaleMapper">
|
<mapper namespace="org.dromara.scale.mapper.SysScaleMapper">
|
||||||
<select id="selectPublishListByIds" resultType="org.dromara.scale.domain.vo.SysScaleVo">
|
|
||||||
SELECT scale_id, scale_name, cover
|
<select id="findSysScaleByIds" resultType="org.dromara.scale.domain.vo.SysScaleVo">
|
||||||
FROM sys_scale
|
SELECT * FROM sys_scale t WHERE FIND_IN_SET(t.scale_id, #{scaleIds})
|
||||||
WHERE scale_id IN
|
|
||||||
<foreach item="scaleId" collection="list" open="(" separator="," close=")">
|
|
||||||
#{scaleId}
|
|
||||||
</foreach>
|
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
Loading…
Reference in New Issue