This commit is contained in:
15683799673 2025-08-17 07:03:22 +08:00
commit a0927b1e6e
15 changed files with 91 additions and 43 deletions

View File

@ -74,8 +74,8 @@
<properties> <properties>
<!-- 环境标识,需要与配置文件的名称相对应 --> <!-- 环境标识,需要与配置文件的名称相对应 -->
<profiles.active>dev</profiles.active> <profiles.active>dev</profiles.active>
<nacos.server>127.0.0.1:8848</nacos.server> <nacos.server>10.20.1.65:8848</nacos.server>
<logstash.address>127.0.0.1:4560</logstash.address> <logstash.address>10.20.1.65:4560</logstash.address>
<nacos.discovery.group>DEFAULT_GROUP</nacos.discovery.group> <nacos.discovery.group>DEFAULT_GROUP</nacos.discovery.group>
<nacos.config.group>DEFAULT_GROUP</nacos.config.group> <nacos.config.group>DEFAULT_GROUP</nacos.config.group>
<nacos.username>nacos</nacos.username> <nacos.username>nacos</nacos.username>

View File

@ -51,7 +51,7 @@ public class QuestionnaireController extends BaseController {
* *
* @param id 主键 * @param id 主键
*/ */
@SaCheckPermission("property:questionnaire:query") // @SaCheckPermission("property:questionnaire:query")
@GetMapping("/{id}") @GetMapping("/{id}")
public R<QuestionnaireVo> getInfo(@NotNull(message = "主键不能为空") public R<QuestionnaireVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) { @PathVariable("id") Long id) {

View File

@ -41,10 +41,10 @@ public class AttendanceArrangement extends TenantEntity {
*/ */
private Long groupId; private Long groupId;
/** // /**
* 区域id // * 区域id
*/ // */
private Long areaId; // private Long areaId;
/** /**
* 排班类型1-固定班制2-排班制 * 排班类型1-固定班制2-排班制

View File

@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.annotation.*;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import java.util.Date; import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial; import java.io.Serial;
@ -59,5 +58,4 @@ public class Questionnaire extends TenantEntity {
*/ */
private String status; private String status;
} }

View File

@ -45,10 +45,10 @@ public class AttendanceArrangementBo extends BaseEntity {
*/ */
private Long groupId; private Long groupId;
/** // /**
* 区域id // * 区域id
*/ // */
private Long areaId; // private Long areaId;
/** /**
* 排班类型1-固定班制2-排班制 * 排班类型1-固定班制2-排班制

View File

@ -11,8 +11,6 @@ import jakarta.validation.constraints.*;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
/** /**
* 调查问卷业务对象 questionnaire * 调查问卷业务对象 questionnaire
* *

View File

@ -45,11 +45,11 @@ public class AttendanceArrangementVo implements Serializable {
@ExcelProperty(value = "考勤组ID") @ExcelProperty(value = "考勤组ID")
private Long groupId; private Long groupId;
@ExcelProperty(value = "区域Id") // @ExcelProperty(value = "区域Id")
/** // /**
* 区域id // * 区域id
*/ // */
private Long areaId; // private Long areaId;
/** /**
* 排班类型1-固定班制2-排班制 * 排班类型1-固定班制2-排班制

View File

@ -7,11 +7,12 @@ import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert; import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper; import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
import org.dromara.property.domain.QuestionnaireQuestionItem;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
@ -70,5 +71,8 @@ public class QuestionnaireQuestionVo implements Serializable {
@ExcelProperty(value = "排序") @ExcelProperty(value = "排序")
private Long sort; private Long sort;
/**
* 问题列表
*/
private List<QuestionnaireQuestionItemVo> questionnaireQuestionItemVos;
} }

View File

@ -13,7 +13,7 @@ import lombok.Data;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
@ -72,5 +72,8 @@ public class QuestionnaireVo implements Serializable {
@ExcelProperty(value = "状态(1草稿2已发布3未发布)") @ExcelProperty(value = "状态(1草稿2已发布3未发布)")
private String status; private String status;
/**
* 问题列表
*/
private List<QuestionnaireQuestionVo> questionnaireQuestionVos;
} }

View File

@ -146,10 +146,10 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS
vo.setAttendanceGroup(attendanceGroup); vo.setAttendanceGroup(attendanceGroup);
//3.根据id查询区域信息 //3.根据id查询区域信息
Long areaId = vo.getAreaId(); // Long areaId = vo.getAreaId();
//根据区域id查询出区域的详细信息 //根据区域id查询出区域的详细信息
AttendanceArea attendanceArea = attendanceAreaMapper.selectById(areaId); // AttendanceArea attendanceArea = attendanceAreaMapper.selectById(areaId);
vo.setAttendanceArea(attendanceArea); // vo.setAttendanceArea(attendanceArea);
//4.查询班制信息 //4.查询班制信息
//判断当前考勤组的班制是固定班制还是排班制 //判断当前考勤组的班制是固定班制还是排班制

View File

@ -216,11 +216,11 @@ public class AttendanceUserGroupServiceImpl implements IAttendanceUserGroupServi
vo.setAttendanceGroup(attendanceGroup); vo.setAttendanceGroup(attendanceGroup);
//3.根据id查询区域信息 // //3.根据id查询区域信息
Long areaId = arrangement.getAreaId(); // Long areaId = arrangement.getAreaId();
//根据区域id查询出区域的详细信息 // //根据区域id查询出区域的详细信息
AttendanceArea attendanceArea = attendanceAreaMapper.selectById(areaId); // AttendanceArea attendanceArea = attendanceAreaMapper.selectById(areaId);
vo.setAttendanceArea(attendanceArea); // vo.setAttendanceArea(attendanceArea);
// 判断当前考勤组的班制是固定班制还是排班制 // 判断当前考勤组的班制是固定班制还是排班制
if (Objects.equals(attendanceGroup.getAttendanceType(), StatusConstant.FIXEDSCHEDULE)) { if (Objects.equals(attendanceGroup.getAttendanceType(), StatusConstant.FIXEDSCHEDULE)) {

View File

@ -16,6 +16,8 @@ import org.dromara.property.domain.QuestionnaireQuestion;
import org.dromara.property.domain.QuestionnaireQuestionItem; import org.dromara.property.domain.QuestionnaireQuestionItem;
import org.dromara.property.domain.bo.QuestionnaireQuestionBo; import org.dromara.property.domain.bo.QuestionnaireQuestionBo;
import org.dromara.property.domain.bo.QuestionnaireQuestionItemBo; import org.dromara.property.domain.bo.QuestionnaireQuestionItemBo;
import org.dromara.property.domain.vo.QuestionnaireQuestionItemVo;
import org.dromara.property.domain.vo.QuestionnaireQuestionVo;
import org.dromara.property.mapper.QuestionnaireQuestionItemMapper; import org.dromara.property.mapper.QuestionnaireQuestionItemMapper;
import org.dromara.property.mapper.QuestionnaireQuestionMapper; import org.dromara.property.mapper.QuestionnaireQuestionMapper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -53,7 +55,9 @@ public class QuestionnaireServiceImpl implements IQuestionnaireService {
*/ */
@Override @Override
public QuestionnaireVo queryById(Long id) { public QuestionnaireVo queryById(Long id) {
return baseMapper.selectVoById(id); QuestionnaireVo questionnaireVo = baseMapper.selectVoById(id);
processingData(questionnaireVo,null, null);
return questionnaireVo;
} }
/** /**
@ -67,6 +71,23 @@ public class QuestionnaireServiceImpl implements IQuestionnaireService {
public TableDataInfo<QuestionnaireVo> queryPageList(QuestionnaireBo bo, PageQuery pageQuery) { public TableDataInfo<QuestionnaireVo> queryPageList(QuestionnaireBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<Questionnaire> lqw = buildQueryWrapper(bo); LambdaQueryWrapper<Questionnaire> lqw = buildQueryWrapper(bo);
Page<QuestionnaireVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); Page<QuestionnaireVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
if (CollUtil.isNotEmpty(result.getRecords())) {
//收集所有的问卷id
List<Long> questionnaireIds = result.getRecords().stream().map(QuestionnaireVo::getId).toList();
// 一次性查询所有问题
LambdaQueryWrapper<QuestionnaireQuestion> questionQueryWrapper = Wrappers.lambdaQuery();
questionQueryWrapper.in(QuestionnaireQuestion::getQuestionnaireId, questionnaireIds);
List<QuestionnaireQuestionVo> questionnaireQuestionVos = questionnaireQuestionMapper.selectVoList(questionQueryWrapper);
//收集所有问题id
List<Long> idList = questionnaireQuestionVos.stream().map(QuestionnaireQuestionVo::getId).toList();
//查询所有问题选项
LambdaQueryWrapper<QuestionnaireQuestionItem> questionItemQueryWrapper = Wrappers.lambdaQuery();
questionItemQueryWrapper.in(QuestionnaireQuestionItem::getQuestionId, idList);
List<QuestionnaireQuestionItemVo> questionnaireQuestionItemVos = questionnaireQuestionItemMapper.selectVoList(questionItemQueryWrapper);
result.getRecords().stream().forEach(questionnaireVo -> {
processingData(questionnaireVo, questionnaireQuestionVos, questionnaireQuestionItemVos);
});
}
return TableDataInfo.build(result); return TableDataInfo.build(result);
} }
@ -91,6 +112,37 @@ public class QuestionnaireServiceImpl implements IQuestionnaireService {
return lqw; return lqw;
} }
/**
* 处理数据
*/
private void processingData(QuestionnaireVo questionnaireVo, List<QuestionnaireQuestionVo> questionnaireQuestionVos, List<QuestionnaireQuestionItemVo> questionnaireQuestionItemVos) {
// 在此处添加您选中的代码来获取问卷问题列表
if (CollUtil.isEmpty(questionnaireQuestionVos)) {
LambdaQueryWrapper<QuestionnaireQuestion> questionQueryWrapper = Wrappers.lambdaQuery();
questionQueryWrapper.eq(QuestionnaireQuestion::getQuestionnaireId, questionnaireVo.getId());
questionnaireQuestionVos = questionnaireQuestionMapper.selectVoList(questionQueryWrapper);
if (CollUtil.isEmpty(questionnaireQuestionItemVos)) {
//收集所有问题id
List<Long> idList = questionnaireQuestionVos.stream().map(QuestionnaireQuestionVo::getId).toList();
//查询所有问题选项
LambdaQueryWrapper<QuestionnaireQuestionItem> questionItemQueryWrapper = Wrappers.lambdaQuery();
questionItemQueryWrapper.in(QuestionnaireQuestionItem::getQuestionId, idList);
questionnaireQuestionItemVos = questionnaireQuestionItemMapper.selectVoList(questionItemQueryWrapper);
}
}
if (CollUtil.isNotEmpty(questionnaireQuestionVos)) {
List<QuestionnaireQuestionItemVo> finalQuestionnaireQuestionItemVos = questionnaireQuestionItemVos;
questionnaireQuestionVos.stream().forEach(questionnaireQuestionVo -> {
//筛选出属于当前问题的问题项返回list
List<QuestionnaireQuestionItemVo> list = finalQuestionnaireQuestionItemVos.stream().filter(questionnaireQuestionItemVo -> questionnaireQuestionItemVo.getQuestionId().equals(questionnaireQuestionVo.getId())).toList();
questionnaireQuestionVo.setQuestionnaireQuestionItemVos(list);
});
}
questionnaireVo.setQuestionnaireQuestionVos(questionnaireQuestionVos);
}
;
/** /**
* 新增调查问卷 * 新增调查问卷
* *
@ -191,7 +243,7 @@ public class QuestionnaireServiceImpl implements IQuestionnaireService {
@Override @Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
boolean flag = baseMapper.deleteByIds(ids) > 0; boolean flag = baseMapper.deleteByIds(ids) > 0;
if(flag){ if (flag) {
ids.stream().forEach(id -> { ids.stream().forEach(id -> {
//查询问题 //查询问题
List<QuestionnaireQuestion> questionnaireQuestionList = questionnaireQuestionMapper.selectList(new LambdaUpdateWrapper<QuestionnaireQuestion>().eq(QuestionnaireQuestion::getQuestionnaireId, id)); List<QuestionnaireQuestion> questionnaireQuestionList = questionnaireQuestionMapper.selectList(new LambdaUpdateWrapper<QuestionnaireQuestion>().eq(QuestionnaireQuestion::getQuestionnaireId, id));

View File

@ -42,10 +42,3 @@ spring:
- optional:nacos:application-common.yml - optional:nacos:application-common.yml
- optional:nacos:datasource.yml - optional:nacos:datasource.yml
- optional:nacos:${spring.application.name}.yml - optional:nacos:${spring.application.name}.yml
--- # rocketmq 配置
rocketmq:
name-server: 192.168.24.101:9876
producer:
# 生产者组
group: dist-test

View File

@ -15,7 +15,7 @@
<module>ruoyi-resource</module> <module>ruoyi-resource</module>
<module>ruoyi-workflow</module> <module>ruoyi-workflow</module>
<module>Property</module> <module>Property</module>
<!-- <module>Sis</module>--> <module>Sis</module>
</modules> </modules>
<artifactId>ruoyi-modules</artifactId> <artifactId>ruoyi-modules</artifactId>

View File

@ -40,7 +40,7 @@ spring.sql.init.platform=mysql
db.num=1 db.num=1
### Connect URL of DB: ### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/ry-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true db.url.0=jdbc:mysql://10.20.1.65:3306/ry-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
db.user.0=root db.user.0=root
db.password.0=By@2025! db.password.0=By@2025!