Browse Source

20210106v1.3

recovery
zy_Java 5 years ago
parent
commit
5aae3419ad
  1. 9
      form/src/main/java/com/ccsens/form/bean/vo/FormVo.java
  2. 25
      form/src/main/java/com/ccsens/form/persist/dao/FormBasicDao.java
  3. 2
      form/src/main/java/com/ccsens/form/persist/dao/ModuleDao.java
  4. 11
      form/src/main/java/com/ccsens/form/service/FormService.java
  5. 2
      form/src/main/java/com/ccsens/form/service/ModuleService.java
  6. 54
      form/src/main/resources/mapper_dao/FormBasicDao.xml
  7. 12
      form/src/main/resources/mapper_dao/ModuleDao.xml

9
form/src/main/java/com/ccsens/form/bean/vo/FormVo.java

@ -1,5 +1,6 @@
package com.ccsens.form.bean.vo;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -97,16 +98,18 @@ public class FormVo {
public static class StatisticsForm{
@ApiModelProperty("填写的总人数")
private int nums;
@ApiModelProperty("填写人姓名")
@ApiModelProperty("需要统计的组件")
private List<StatisticsModule> moduleList;
}
@Data
@ApiModel("需要统计的组件")
public static class StatisticsModule{
@JsonIgnore//表单内组件id
private Long id;
@ApiModelProperty("组件名")
private String title;
@ApiModelProperty("填写人姓名")
@ApiModelProperty("组件内统计信息")
private List<StatisticsVo> statisticsList;
}
@ -114,7 +117,7 @@ public class FormVo {
@ApiModel("需要统计的组件")
public static class StatisticsVo{
@ApiModelProperty("统计项")
private String key;
private String optionKey;
@ApiModelProperty("数量")
private int nums;
}

25
form/src/main/java/com/ccsens/form/persist/dao/FormBasicDao.java

@ -0,0 +1,25 @@
package com.ccsens.form.persist.dao;
import com.ccsens.form.bean.vo.FormVo;
import com.ccsens.form.persist.mapper.FormBasicMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface FormBasicDao extends FormBasicMapper {
/**
* 查找填写人信息列表
* @param formId 表单id
* @return 返回填写人信息列表
*/
List<FormVo.FormList> getFormList(@Param("formId") Long formId);
/**
* 查询需要被统计的组件的统计信息
* @param formId 表单id
* @return 返回统计信息
*/
List<FormVo.StatisticsModule> getStatisticsForm(@Param("formId") Long formId);
}

2
form/src/main/java/com/ccsens/form/persist/dao/ModuleDao.java

@ -3,12 +3,14 @@ package com.ccsens.form.persist.dao;
import com.ccsens.form.bean.vo.ModuleVo;
import com.ccsens.form.persist.mapper.ModuleMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @author
*/
@Repository
public interface ModuleDao extends ModuleMapper {
/**
* 查找所有的组件模板和对应配置信息

11
form/src/main/java/com/ccsens/form/service/FormService.java

@ -2,7 +2,9 @@ package com.ccsens.form.service;
import com.ccsens.form.bean.dto.FormDto;
import com.ccsens.form.bean.po.FormBasic;
import com.ccsens.form.bean.po.FormUser;
import com.ccsens.form.bean.vo.FormVo;
import com.ccsens.form.persist.dao.FormBasicDao;
import com.ccsens.util.bean.dto.QueryDto;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@ -19,7 +21,8 @@ import java.util.List;
@Service
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public class FormService implements IFormService{
@Resource
private FormBasicDao formBasicDao;
/**
* 查看表单详细信息
@ -34,8 +37,7 @@ public class FormService implements IFormService{
*/
@Override
public List<FormVo.FormList> getFormList(FormDto.GetFormInfo param) {
return null;
return formBasicDao.getFormList(param.getFormId());
}
/**
@ -43,6 +45,9 @@ public class FormService implements IFormService{
*/
@Override
public FormVo.StatisticsForm statisticsForm(FormDto.GetFormInfo param) {
//获取填写总人数
//获取表单下需要统计的组件的信息
List<FormVo.StatisticsModule> statisticsModuleList = formBasicDao.getStatisticsForm(param.getFormId());
return null;
}
}

2
form/src/main/java/com/ccsens/form/service/ModuleService.java

@ -70,7 +70,7 @@ public class ModuleService implements IModuleService{
List<ModuleVo.Option> optionList = moduleDao.getOptionByFormModuleId(formModuleId,parentId);
if(CollectionUtil.isNotEmpty(optionList)){
optionList.forEach(option -> {
List<ModuleVo.Option> subOptionList = moduleDao.getOptionByFormModuleId(formModuleId,option.getId());
List<ModuleVo.Option> subOptionList = getOptionByFormModuleId(formModuleId,option.getId());
if(CollectionUtil.isNotEmpty(subOptionList)) {
option.setSubOption(subOptionList);
}

54
form/src/main/resources/mapper_dao/FormBasicDao.xml

@ -0,0 +1,54 @@
<?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="com.ccsens.form.persist.dao.FormBasicDao">
<select id="getFormList" resultType="com.ccsens.form.bean.vo.FormVo$FormList">
SELECT
id as formUserId,
user_name as `name`,
avatar_url as avatarUrl
FROM
t_form_user
WHERE
form_id = #{formId}
and submit_status = 1
and rec_status = 0
</select>
<select id="getStatisticsForm" resultType="com.ccsens.form.bean.vo.FormVo$StatisticsModule">
SELECT
t.fmId as id,
t.config_value as title,
w.answer as optionKey,
COUNT(*) as nums
FROM
(
SELECT
fm.id as fmId,
c1.config_value
FROM
t_form_module_config c
LEFT JOIN t_form_module fm on c.form_module_id = fm.id
LEFT JOIN t_module m on fm.module_id = m.id
LEFT JOIN
(SELECT * FROM
t_form_module_config
WHERE type = 0 and config_key = 'title' and rec_status = 0) c1
on c1.form_module_id = fm.id
WHERE
c.type = 2
and c.rec_status = 0
and fm.rec_status = 0
and m.rec_status = 0
) t
LEFT JOIN
(
SELECT
*
FROM
t_form_write
WHERE
rec_status = 0
) w on t.fmId = w.form_module_id
GROUP BY t.fmId,w.answer
</select>
</mapper>

12
form/src/main/resources/mapper_dao/ModuleDao.xml

@ -84,7 +84,17 @@
and rec_status = 0
</select>
<select id="getOptionByFormModuleId" resultType="com.ccsens.form.bean.vo.ModuleVo$Option">
SELECT
id,
option_key as optionKey,
option_value as optionValue,
sequence
FROM
t_form_module_option
WHERE
form_module_id = #{formModuleId}
and parent_id = #{parentId}
and rec_status = 0
</select>
</mapper>
Loading…
Cancel
Save