矩阵题
This commit is contained in:
parent
caa5c265a3
commit
b47510d808
|
@ -9,6 +9,8 @@ import io.swagger.annotations.ApiModel;
|
|||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.jeecg.modules.kc.wjxWjxxTmlb.entity.WjxWjxxTmxx;
|
||||
import org.jeecg.modules.kc.wjxWjxxTmlb.vo.ScaleItemRows;
|
||||
import org.jeecg.modules.kc.wjxWjxxTmlb.vo.ScaleItems;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
|
@ -74,6 +76,12 @@ public class WjxDjxxTmxx implements Serializable {
|
|||
@TableField(exist = false)
|
||||
private List<WjxWjxxTmxx> wjxWjxxTmxxList;
|
||||
|
||||
@TableField(exist = false)
|
||||
private List<ScaleItems> items;
|
||||
|
||||
@TableField(exist = false)
|
||||
private List<ScaleItemRows> itemRows;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String tktda;
|
||||
@TableField(exist = false)
|
||||
|
@ -82,4 +90,6 @@ public class WjxDjxxTmxx implements Serializable {
|
|||
private String djtmid;
|
||||
@TableField(exist = false)
|
||||
private String wjSubtype;
|
||||
@TableField(exist = false)
|
||||
private String xxtitle;
|
||||
}
|
||||
|
|
|
@ -117,7 +117,7 @@
|
|||
</select>
|
||||
|
||||
<select id="findDjtmxx" parameterType="String" resultType="org.jeecg.modules.kc.wjxDjxx.entity.WjxDjxxTmxx">
|
||||
select x.id,x.wj_index,x.wj_type,x.wj_title,x.wj_score,y.item_selected,y.item_score,y.answer_text,y.pic_path,x.wj_subtype
|
||||
select x.id,x.wj_index,x.wj_type,x.wj_title,x.wj_score,y.item_selected,y.item_score,y.answer_text,y.pic_path,x.wj_subtype,y.xxtitle
|
||||
from (
|
||||
select c.id,c.wj_index,c.wj_type,c.wj_title,c.wj_score,c.wj_subtype
|
||||
from wjx_djxx a
|
||||
|
@ -128,7 +128,7 @@
|
|||
and a.jid = #{jid}
|
||||
) x
|
||||
inner join (
|
||||
select wj_index,item_score,answer_text,GROUP_CONCAT(item_index) as item_selected,pic_path
|
||||
select wj_index,wj_title xxtitle,item_score,answer_text,GROUP_CONCAT(item_index) as item_selected,pic_path
|
||||
from wjx_djxx_tmxx
|
||||
where vid = #{vid}
|
||||
and jid = #{jid}
|
||||
|
|
|
@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.incrementer.DefaultIdentifierGenerator;
|
|||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.apache.commons.compress.utils.Lists;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.jeecg.common.system.vo.LoginUser;
|
||||
|
@ -22,6 +23,8 @@ import org.jeecg.modules.kc.wjxWjxxTmlb.entity.WjxWjxxTmlb;
|
|||
import org.jeecg.modules.kc.wjxWjxxTmlb.entity.WjxWjxxTmxx;
|
||||
import org.jeecg.modules.kc.wjxWjxxTmlb.mapper.WjxWjxxTmlbMapper;
|
||||
import org.jeecg.modules.kc.wjxWjxxTmlb.mapper.WjxWjxxTmxxMapper;
|
||||
import org.jeecg.modules.kc.wjxWjxxTmlb.vo.ScaleItemRows;
|
||||
import org.jeecg.modules.kc.wjxWjxxTmlb.vo.ScaleItems;
|
||||
import org.jeecg.modules.kc.zyDbtx.entity.ZyDbtx;
|
||||
import org.jeecg.modules.kc.zyDbtx.service.IZyDbtxService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
@ -109,6 +112,15 @@ public class WjxDjxxServiceImpl extends ServiceImpl<WjxDjxxMapper, WjxDjxx> impl
|
|||
if (wjType == 8) {
|
||||
itemSelected = "-3";
|
||||
}
|
||||
|
||||
if (wjType == 7) {
|
||||
//量表题
|
||||
itemSelected = wjxDjxxTmlbPage.getItemSelected();
|
||||
if (itemSelected == null || itemSelected.equals("null") || itemSelected.equals("")) {
|
||||
itemSelected = "-3";
|
||||
}
|
||||
}
|
||||
|
||||
submitDataSb.append(WjIndex);
|
||||
submitDataSb.append("$");
|
||||
submitDataSb.append(itemSelected);
|
||||
|
@ -507,14 +519,60 @@ public class WjxDjxxServiceImpl extends ServiceImpl<WjxDjxxMapper, WjxDjxx> impl
|
|||
if (djxx != null) {
|
||||
djxx.setAnswerSfm(convertSecondsToHMS(djxx.getAnswerSeconds()));
|
||||
List<WjxDjxxTmxx> list = baseMapper.findDjtmxx(djxx.getVid(), djxx.getJid());
|
||||
for (WjxDjxxTmxx wjxDjxxTmxx : list) {
|
||||
List<WjxDjxxTmxx> resultList = Lists.newArrayList();
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
boolean searchBefore = false;
|
||||
WjxDjxxTmxx wjxDjxxTmxx = list.get(i);
|
||||
if(i == 0 || !(list.get(i).getId()).equals(list.get(i-1).getId())){
|
||||
resultList.add(wjxDjxxTmxx);
|
||||
}else{
|
||||
searchBefore = true;
|
||||
}
|
||||
List<WjxWjxxTmxx> list2 = wjxWjxxTmxxMapper.selectByMainId(wjxDjxxTmxx.getId());
|
||||
wjxDjxxTmxx.setWjxWjxxTmxxList(list2);
|
||||
//处理量表(矩阵)题
|
||||
List<ScaleItems> items = Lists.newArrayList();
|
||||
List<ScaleItemRows> itemRows = Lists.newArrayList();
|
||||
for (int j = 0; j < list2.size(); j++) {
|
||||
WjxWjxxTmxx WjxWjxxTmxx = list2.get(j);
|
||||
if ("items".equals(WjxWjxxTmxx.getScaleSign())) {
|
||||
ScaleItems scaleItem = new ScaleItems();
|
||||
scaleItem.setItemScore(WjxWjxxTmxx.getScaleItemsItemScore());
|
||||
scaleItem.setItemTitle(WjxWjxxTmxx.getScaleItemsItemTitle());
|
||||
items.add(scaleItem);
|
||||
}
|
||||
if ("item_rows".equals(WjxWjxxTmxx.getScaleSign())) {
|
||||
ScaleItemRows scaleItemRow = new ScaleItemRows();
|
||||
scaleItemRow.setQIndex(WjxWjxxTmxx.getScaleItemrowsQIndex());
|
||||
scaleItemRow.setItemIndex(WjxWjxxTmxx.getScaleItemrowsItemIndex());
|
||||
scaleItemRow.setItemTitle(WjxWjxxTmxx.getScaleItemrowsItemTitle());
|
||||
if(searchBefore){
|
||||
//将之前同id的都要处理下
|
||||
WjxDjxxTmxx wjxDjxxTmxx1 = resultList.get(resultList.size() - 1);
|
||||
wjxDjxxTmxx1.getItemRows().stream().forEach(r -> {
|
||||
if(wjxDjxxTmxx.getXxtitle().endsWith(r.getItemTitle())){
|
||||
r.setItemSelected(wjxDjxxTmxx.getAnswerText());
|
||||
}
|
||||
});
|
||||
}
|
||||
if(wjxDjxxTmxx.getXxtitle().endsWith(WjxWjxxTmxx.getScaleItemrowsItemTitle())){
|
||||
scaleItemRow.setItemSelected(wjxDjxxTmxx.getAnswerText());
|
||||
}
|
||||
itemRows.add(scaleItemRow);
|
||||
}
|
||||
}
|
||||
if ("7".equals(wjxDjxxTmxx.getWjType())) {
|
||||
wjxDjxxTmxx.setItems(items);
|
||||
wjxDjxxTmxx.setItemRows(itemRows);
|
||||
wjxDjxxTmxx.setAnswerText(null);
|
||||
wjxDjxxTmxx.setXxtitle(null);
|
||||
} else {
|
||||
wjxDjxxTmxx.setWjxWjxxTmxxList(list2);
|
||||
}
|
||||
//获取填空题答案
|
||||
WjxWjxxTmlb tmlb = wjxWjxxTmlbMapper.selectById(wjxDjxxTmxx.getId());
|
||||
wjxDjxxTmxx.setTktda(tmlb.getWjAnswer());
|
||||
}
|
||||
djxx.setWjxDjxxTmxxList(list);
|
||||
djxx.setWjxDjxxTmxxList(resultList);
|
||||
|
||||
}
|
||||
return djxx;
|
||||
|
|
|
@ -266,7 +266,7 @@ public class WjxWjxxController extends JeecgController<WjxWjxx, IWjxWjxxService>
|
|||
WjxWjxxTmlb wjxWjxxTmlb = new WjxWjxxTmlb();
|
||||
BeanUtils.copyProperties(wjxWjxxTmlbPage, wjxWjxxTmlb);
|
||||
wjxWjxxTmlb.setMainId(mainId);
|
||||
wjxWjxxTmlbService.saveMain(wjxWjxxTmlb, wjxWjxxTmlbPage.getWjxWjxxTmxxList());
|
||||
wjxWjxxTmlbService.saveMain(wjxWjxxTmlb, wjxWjxxTmlbPage);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.xkcoding.http.HttpUtil;
|
||||
import org.apache.commons.compress.utils.Lists;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.jeecg.common.system.vo.LoginUser;
|
||||
import org.jeecg.common.util.DateUtils;
|
||||
|
@ -340,6 +341,37 @@ public class WjxWjxxServiceImpl extends ServiceImpl<WjxWjxxMapper, WjxWjxx> impl
|
|||
} else if (wWjxWjxxTmlb.getWjType() == 8) {
|
||||
//文件题目
|
||||
map.put("q_subtype", 8);
|
||||
}else if (wWjxWjxxTmlb.getWjType() == 7){
|
||||
//量表题
|
||||
List<WjxWjxxTmxx> tmxxList = wjxWjxxTmxxMapper.selectByMainId(wWjxWjxxTmlb.getId());
|
||||
map.put("q_index", wWjxWjxxTmlb.getWjIndex());
|
||||
map.put("q_type", 7);
|
||||
map.put("q_title", wWjxWjxxTmlb.getWjTitle());
|
||||
map.put("matrix_mode", 101);
|
||||
map.put("style_mode", 0);
|
||||
|
||||
// 行标题
|
||||
List<Map<String, Object>> itemrowList = Lists.newArrayList();
|
||||
// 列内容
|
||||
List<Map<String, Object>> itemList = Lists.newArrayList();
|
||||
map.put("item_rows", itemrowList);
|
||||
map.put("items", itemList);
|
||||
for (int i = 0; i < tmxxList.size(); i++) {
|
||||
WjxWjxxTmxx wjxWjxxTmxx = tmxxList.get(i);
|
||||
if("items".equals(wjxWjxxTmxx.getScaleSign())){
|
||||
Map<String, Object> itemMap = new HashMap<>();
|
||||
itemMap.put("item_score", wjxWjxxTmxx.getScaleItemsItemScore());
|
||||
itemMap.put("item_title", wjxWjxxTmxx.getScaleItemsItemTitle());
|
||||
itemList.add(itemMap);
|
||||
}
|
||||
if("item_rows".equals(wjxWjxxTmxx.getScaleSign())){
|
||||
Map<String, Object> itemrowMap = new HashMap<>();
|
||||
itemrowMap.put("q_index", wjxWjxxTmxx.getScaleItemrowsQIndex());
|
||||
itemrowMap.put("item_index",wjxWjxxTmxx.getScaleItemrowsItemIndex());
|
||||
itemrowMap.put("item_title",wjxWjxxTmxx.getScaleItemrowsItemTitle());
|
||||
itemrowList.add(itemrowMap);
|
||||
}
|
||||
}
|
||||
}
|
||||
JSONObject json = new JSONObject(map);
|
||||
questionsList.add(json);
|
||||
|
@ -355,6 +387,7 @@ public class WjxWjxxServiceImpl extends ServiceImpl<WjxWjxxMapper, WjxWjxx> impl
|
|||
}
|
||||
map.put("publish", true);
|
||||
map.put("questions", questionsList.toString());
|
||||
|
||||
String result = wjxUtil.openapi(map, "1000101");
|
||||
System.out.println(result);
|
||||
if (!result.equals("")) {
|
||||
|
|
|
@ -120,7 +120,7 @@ public class WjxWjxxTmlbController extends JeecgController<WjxWjxxTmlb, IWjxWjxx
|
|||
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 添加
|
||||
* @return
|
||||
|
@ -143,7 +143,7 @@ public class WjxWjxxTmlbController extends JeecgController<WjxWjxxTmlb, IWjxWjxx
|
|||
for(WjxWjxxTmlbPage wjxWjxxTmlbPage:list){
|
||||
WjxWjxxTmlb wjxWjxxTmlb = new WjxWjxxTmlb();
|
||||
BeanUtils.copyProperties(wjxWjxxTmlbPage, wjxWjxxTmlb);
|
||||
wjxWjxxTmlbService.saveMain(wjxWjxxTmlb, wjxWjxxTmlbPage.getWjxWjxxTmxxList());
|
||||
wjxWjxxTmlbService.saveMain(wjxWjxxTmlb, wjxWjxxTmlbPage);
|
||||
}
|
||||
}
|
||||
return Result.OK("添加成功!");
|
||||
|
@ -169,12 +169,12 @@ public class WjxWjxxTmlbController extends JeecgController<WjxWjxxTmlb, IWjxWjxx
|
|||
for(WjxWjxxTmlbPage wjxWjxxTmlbPage:list){
|
||||
WjxWjxxTmlb wjxWjxxTmlb = new WjxWjxxTmlb();
|
||||
BeanUtils.copyProperties(wjxWjxxTmlbPage, wjxWjxxTmlb);
|
||||
wjxWjxxTmlbService.saveMain(wjxWjxxTmlb, wjxWjxxTmlbPage.getWjxWjxxTmxxList());
|
||||
wjxWjxxTmlbService.saveMain(wjxWjxxTmlb, wjxWjxxTmlbPage);
|
||||
}
|
||||
}
|
||||
return Result.OK("添加成功!");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*
|
||||
|
@ -194,7 +194,7 @@ public class WjxWjxxTmlbController extends JeecgController<WjxWjxxTmlb, IWjxWjxx
|
|||
wjxWjxxTmlbService.updateMain(wjxWjxxTmlb, wjxWjxxTmlbPage.getWjxWjxxTmxxList());
|
||||
return Result.OK("编辑成功!");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
|
@ -208,7 +208,7 @@ public class WjxWjxxTmlbController extends JeecgController<WjxWjxxTmlb, IWjxWjxx
|
|||
wjxWjxxTmlbService.delMain(id);
|
||||
return Result.OK("删除成功!");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
|
@ -223,7 +223,7 @@ public class WjxWjxxTmlbController extends JeecgController<WjxWjxxTmlb, IWjxWjxx
|
|||
this.wjxWjxxTmlbService.delBatchMain(Arrays.asList(ids.split(",")));
|
||||
return Result.OK("批量删除成功!");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
|
@ -241,7 +241,7 @@ public class WjxWjxxTmlbController extends JeecgController<WjxWjxxTmlb, IWjxWjxx
|
|||
return Result.OK(wjxWjxxTmlb);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
|
@ -348,7 +348,7 @@ public class WjxWjxxTmlbController extends JeecgController<WjxWjxxTmlb, IWjxWjxx
|
|||
for (WjxWjxxTmlbPage page : list) {
|
||||
WjxWjxxTmlb po = new WjxWjxxTmlb();
|
||||
BeanUtils.copyProperties(page, po);
|
||||
wjxWjxxTmlbService.saveMain(po, page.getWjxWjxxTmxxList());
|
||||
wjxWjxxTmlbService.saveMain(po, page);
|
||||
}
|
||||
return Result.OK("文件导入成功!数据行数:" + list.size());
|
||||
} catch (Exception e) {
|
||||
|
|
|
@ -8,6 +8,9 @@ import java.util.List;
|
|||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.jeecg.modules.kc.wjxWjxxTmlb.vo.ScaleItemRows;
|
||||
import org.jeecg.modules.kc.wjxWjxxTmlb.vo.ScaleItems;
|
||||
import org.jeecgframework.poi.excel.annotation.ExcelCollection;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.jeecg.common.aspect.annotation.Dict;
|
||||
|
@ -104,6 +107,12 @@ public class WjxWjxxTmlb implements Serializable {
|
|||
@TableField(exist = false)
|
||||
private List<WjxWjxxTmxx> wjxWjxxTmxxList;
|
||||
|
||||
@TableField(exist = false)
|
||||
private List<ScaleItems> items;
|
||||
|
||||
@TableField(exist = false)
|
||||
private List<ScaleItemRows> itemRows;
|
||||
|
||||
/**打开时间*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
|
|
|
@ -73,4 +73,21 @@ public class WjxWjxxTmxx implements Serializable {
|
|||
@TableField(exist = false)
|
||||
private String num;
|
||||
|
||||
@ApiModelProperty(value = "量表题标识,对应接口questions参数的key:items列内容item_rows行标题")
|
||||
private java.lang.String scaleSign;
|
||||
|
||||
@ApiModelProperty(value = "量表题用对应item_rows的q_index")
|
||||
private java.lang.Integer scaleItemrowsQIndex;
|
||||
|
||||
@ApiModelProperty(value = "量表题用对应item_rows的item_index")
|
||||
private java.lang.Integer scaleItemrowsItemIndex;
|
||||
|
||||
@ApiModelProperty(value = "量表题用对应item_rows的item_title")
|
||||
private java.lang.String scaleItemrowsItemTitle;
|
||||
|
||||
@ApiModelProperty(value = "量表题用对应items的item_score")
|
||||
private java.lang.String scaleItemsItemScore;
|
||||
|
||||
@ApiModelProperty(value = "量表题用对应items的item_title")
|
||||
private java.lang.String scaleItemsItemTitle;
|
||||
}
|
||||
|
|
|
@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|||
import org.jeecg.modules.kc.wjxWjxxTmlb.entity.WjxWjxxTmxx;
|
||||
import org.jeecg.modules.kc.wjxWjxxTmlb.entity.WjxWjxxTmlb;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.jeecg.modules.kc.wjxWjxxTmlb.vo.WjxWjxxTmlbPage;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
@ -18,14 +20,16 @@ import java.util.List;
|
|||
*/
|
||||
public interface IWjxWjxxTmlbService extends IService<WjxWjxxTmlb> {
|
||||
|
||||
public void saveMain(WjxWjxxTmlb wjxWjxxTmlb, List<WjxWjxxTmxx> wjxWjxxTmxxList) ;
|
||||
|
||||
/**
|
||||
* 添加一对多
|
||||
*
|
||||
* @param wjxWjxxTmlb
|
||||
* @param wjxWjxxTmxxList
|
||||
*/
|
||||
public void saveMain(WjxWjxxTmlb wjxWjxxTmlb,List<WjxWjxxTmxx> wjxWjxxTmxxList) ;
|
||||
|
||||
public void saveMain(WjxWjxxTmlb wjxWjxxTmlb, WjxWjxxTmlbPage wjxWjxxTmlbPage) ;
|
||||
|
||||
/**
|
||||
* 修改一对多
|
||||
*
|
||||
|
@ -33,14 +37,14 @@ public interface IWjxWjxxTmlbService extends IService<WjxWjxxTmlb> {
|
|||
* @param wjxWjxxTmxxList
|
||||
*/
|
||||
public void updateMain(WjxWjxxTmlb wjxWjxxTmlb,List<WjxWjxxTmxx> wjxWjxxTmxxList);
|
||||
|
||||
|
||||
/**
|
||||
* 删除一对多
|
||||
*
|
||||
* @param id
|
||||
*/
|
||||
public void delMain (String id);
|
||||
|
||||
|
||||
/**
|
||||
* 批量删除一对多
|
||||
*
|
||||
|
|
|
@ -3,6 +3,7 @@ package org.jeecg.modules.kc.wjxWjxxTmlb.service.impl;
|
|||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.apache.commons.compress.utils.Lists;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.jeecg.modules.kc.wjxDjxx.entity.WjxDjxxTmxx;
|
||||
import org.jeecg.modules.kc.wjxDjxx.mapper.WjxDjxxMapper;
|
||||
|
@ -13,6 +14,9 @@ import org.jeecg.modules.kc.wjxWjxxTmlb.entity.WjxWjxxTmxx;
|
|||
import org.jeecg.modules.kc.wjxWjxxTmlb.mapper.WjxWjxxTmxxMapper;
|
||||
import org.jeecg.modules.kc.wjxWjxxTmlb.mapper.WjxWjxxTmlbMapper;
|
||||
import org.jeecg.modules.kc.wjxWjxxTmlb.service.IWjxWjxxTmlbService;
|
||||
import org.jeecg.modules.kc.wjxWjxxTmlb.vo.ScaleItemRows;
|
||||
import org.jeecg.modules.kc.wjxWjxxTmlb.vo.ScaleItems;
|
||||
import org.jeecg.modules.kc.wjxWjxxTmlb.vo.WjxWjxxTmlbPage;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
@ -42,7 +46,7 @@ public class WjxWjxxTmlbServiceImpl extends ServiceImpl<WjxWjxxTmlbMapper, WjxWj
|
|||
private WjxDjxxMapper wjxDjxxMapper;
|
||||
@Autowired
|
||||
private WjxWjxxMapper wjxWjxxMapper;
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void saveMain(WjxWjxxTmlb wjxWjxxTmlb, List<WjxWjxxTmxx> wjxWjxxTmxxList) {
|
||||
|
@ -70,14 +74,84 @@ public class WjxWjxxTmlbServiceImpl extends ServiceImpl<WjxWjxxTmlbMapper, WjxWj
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void saveMain(WjxWjxxTmlb wjxWjxxTmlb, WjxWjxxTmlbPage wjxWjxxTmlbPage) {
|
||||
List<WjxWjxxTmxx> wjxWjxxTmxxList = wjxWjxxTmlbPage.getWjxWjxxTmxxList();
|
||||
Integer itemIndex = 0;
|
||||
wjxWjxxTmlb.setWjLeixing("6");
|
||||
wjxWjxxTmlbMapper.insert(wjxWjxxTmlb);
|
||||
if(wjxWjxxTmxxList!=null && wjxWjxxTmxxList.size()>0) {
|
||||
for(WjxWjxxTmxx entity:wjxWjxxTmxxList) {
|
||||
if(entity.getItemIndex()!=null && entity.getItemIndex() > itemIndex)itemIndex = entity.getItemIndex();
|
||||
entity.setId(null);
|
||||
//外键设置
|
||||
entity.setMainId(wjxWjxxTmlb.getId());
|
||||
entity.setWjIndex(wjxWjxxTmlb.getWjIndex());
|
||||
if(StringUtils.isNotBlank(wjxWjxxTmlb.getItemSelected())){
|
||||
String itemSelected[] = wjxWjxxTmlb.getItemSelected().split(",");
|
||||
String sfxz = wjxWjxxTmlb.getItemSelected();
|
||||
for(String par:itemSelected){
|
||||
if(StringUtils.equals(par, entity.getItemIndex().toString())){
|
||||
sfxz = "true";
|
||||
}
|
||||
}
|
||||
entity.setItemSelected(sfxz);
|
||||
}
|
||||
|
||||
wjxWjxxTmxxMapper.insert(entity);
|
||||
}
|
||||
}
|
||||
// 量表题 items 列内容
|
||||
++itemIndex;
|
||||
if (wjxWjxxTmlbPage.getItems() != null && !wjxWjxxTmlbPage.getItems().isEmpty()) {
|
||||
List<ScaleItems> itemList = wjxWjxxTmlbPage.getItems();
|
||||
for (int i = 0; i < itemList.size(); i++) {
|
||||
ScaleItems item = itemList.get(i);
|
||||
WjxWjxxTmxx entity = new WjxWjxxTmxx();
|
||||
entity.setId(null);
|
||||
entity.setMainId(wjxWjxxTmlb.getId());
|
||||
entity.setWjIndex(wjxWjxxTmlb.getWjIndex());
|
||||
entity.setWjIndex(itemIndex);
|
||||
entity.setItemIndex(i);
|
||||
entity.setItemTitle("-");
|
||||
entity.setScaleSign("items");
|
||||
entity.setScaleItemsItemScore(item.getItemScore());
|
||||
entity.setScaleItemsItemTitle(item.getItemTitle());
|
||||
wjxWjxxTmxxMapper.insert(entity);
|
||||
}
|
||||
}
|
||||
|
||||
// 量表题 itemRows 行内容
|
||||
++itemIndex;
|
||||
if (wjxWjxxTmlbPage.getItemRows() != null && !wjxWjxxTmlbPage.getItemRows().isEmpty()) {
|
||||
List<ScaleItemRows> itemRowsList = wjxWjxxTmlbPage.getItemRows();
|
||||
for (int i = 0; i < itemRowsList.size(); i++) {
|
||||
ScaleItemRows item = itemRowsList.get(i);
|
||||
WjxWjxxTmxx entity = new WjxWjxxTmxx();
|
||||
entity.setId(null);
|
||||
entity.setMainId(wjxWjxxTmlb.getId());
|
||||
entity.setWjIndex(wjxWjxxTmlb.getWjIndex());
|
||||
entity.setWjIndex(itemIndex);
|
||||
entity.setItemIndex(i);
|
||||
entity.setItemTitle("-");
|
||||
entity.setScaleSign("item_rows");
|
||||
entity.setScaleItemrowsQIndex(item.getQIndex());
|
||||
entity.setScaleItemrowsItemIndex(item.getItemIndex());
|
||||
entity.setScaleItemrowsItemTitle(item.getItemTitle());
|
||||
wjxWjxxTmxxMapper.insert(entity);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateMain(WjxWjxxTmlb wjxWjxxTmlb,List<WjxWjxxTmxx> wjxWjxxTmxxList) {
|
||||
wjxWjxxTmlbMapper.updateById(wjxWjxxTmlb);
|
||||
|
||||
|
||||
//1.先删除子表数据
|
||||
wjxWjxxTmxxMapper.deleteByMainId(wjxWjxxTmlb.getId());
|
||||
|
||||
|
||||
//2.子表数据重新插入
|
||||
if(wjxWjxxTmxxList!=null && wjxWjxxTmxxList.size()>0) {
|
||||
for(WjxWjxxTmxx entity:wjxWjxxTmxxList) {
|
||||
|
@ -128,16 +202,38 @@ public class WjxWjxxTmlbServiceImpl extends ServiceImpl<WjxWjxxTmlbMapper, WjxWj
|
|||
for(WjxWjxxTmlb WjxWjxxTmlb:list){
|
||||
List<WjxWjxxTmxx> list2= wjxWjxxTmxxMapper.selectByMainId(WjxWjxxTmlb.getId());
|
||||
String itemSelected = "";
|
||||
//处理量表(矩阵)题
|
||||
List<ScaleItems> items = Lists.newArrayList();
|
||||
List<ScaleItemRows> itemRows = Lists.newArrayList();
|
||||
for(WjxWjxxTmxx WjxWjxxTmxx:list2){
|
||||
if(StringUtils.equals(WjxWjxxTmxx.getItemSelected(),"true")){
|
||||
itemSelected = itemSelected+WjxWjxxTmxx.getItemIndex()+",";
|
||||
}
|
||||
if("items".equals(WjxWjxxTmxx.getScaleSign())){
|
||||
ScaleItems scaleItem = new ScaleItems();
|
||||
scaleItem.setItemScore(WjxWjxxTmxx.getScaleItemsItemScore());
|
||||
scaleItem.setItemTitle(WjxWjxxTmxx.getScaleItemsItemTitle());
|
||||
items.add(scaleItem);
|
||||
}
|
||||
if("item_rows".equals(WjxWjxxTmxx.getScaleSign())){
|
||||
ScaleItemRows scaleItemRow = new ScaleItemRows();
|
||||
scaleItemRow.setQIndex(WjxWjxxTmxx.getScaleItemrowsQIndex());
|
||||
scaleItemRow.setItemIndex(WjxWjxxTmxx.getScaleItemrowsItemIndex());
|
||||
scaleItemRow.setItemTitle(WjxWjxxTmxx.getScaleItemrowsItemTitle());
|
||||
itemRows.add(scaleItemRow);
|
||||
}
|
||||
}
|
||||
if(StringUtils.isNotBlank(itemSelected)){
|
||||
itemSelected = itemSelected.substring(0, itemSelected.length()-1);
|
||||
}
|
||||
WjxWjxxTmlb.setItemSelected(itemSelected);
|
||||
WjxWjxxTmlb.setWjxWjxxTmxxList(list2);
|
||||
if(WjxWjxxTmlb.getWjType() == 7){
|
||||
WjxWjxxTmlb.setItems(items);
|
||||
WjxWjxxTmlb.setItemRows(itemRows);
|
||||
}else{
|
||||
WjxWjxxTmlb.setWjxWjxxTmxxList(list2);
|
||||
}
|
||||
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
@ -150,9 +246,37 @@ public class WjxWjxxTmlbServiceImpl extends ServiceImpl<WjxWjxxTmlbMapper, WjxWj
|
|||
Date date = new Date();
|
||||
for(WjxWjxxTmlb WjxWjxxTmlb:list){
|
||||
List<WjxWjxxTmxx> list2= wjxWjxxTmxxMapper.selectByMainId(WjxWjxxTmlb.getId());
|
||||
WjxWjxxTmlb.setWjxWjxxTmxxList(list2);
|
||||
|
||||
}
|
||||
for(WjxWjxxTmlb WjxWjxxTmlb:list){
|
||||
List<WjxWjxxTmxx> list2= wjxWjxxTmxxMapper.selectByMainId(WjxWjxxTmlb.getId());
|
||||
//处理量表(矩阵)题
|
||||
List<ScaleItems> items = Lists.newArrayList();
|
||||
List<ScaleItemRows> itemRows = Lists.newArrayList();
|
||||
for(WjxWjxxTmxx WjxWjxxTmxx:list2){
|
||||
if("items".equals(WjxWjxxTmxx.getScaleSign())){
|
||||
ScaleItems scaleItem = new ScaleItems();
|
||||
scaleItem.setItemScore(WjxWjxxTmxx.getScaleItemsItemScore());
|
||||
scaleItem.setItemTitle(WjxWjxxTmxx.getScaleItemsItemTitle());
|
||||
items.add(scaleItem);
|
||||
}
|
||||
if("item_rows".equals(WjxWjxxTmxx.getScaleSign())){
|
||||
ScaleItemRows scaleItemRow = new ScaleItemRows();
|
||||
scaleItemRow.setQIndex(WjxWjxxTmxx.getScaleItemrowsQIndex());
|
||||
scaleItemRow.setItemIndex(WjxWjxxTmxx.getScaleItemrowsItemIndex());
|
||||
scaleItemRow.setItemTitle(WjxWjxxTmxx.getScaleItemrowsItemTitle());
|
||||
itemRows.add(scaleItemRow);
|
||||
}
|
||||
}
|
||||
WjxWjxxTmlb.setWjAnswer("");
|
||||
WjxWjxxTmlb.setOpenTime(date);
|
||||
if(WjxWjxxTmlb.getWjType() == 7){
|
||||
WjxWjxxTmlb.setItems(items);
|
||||
WjxWjxxTmlb.setItemRows(itemRows);
|
||||
}else{
|
||||
WjxWjxxTmlb.setWjxWjxxTmxxList(list2);
|
||||
}
|
||||
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
package org.jeecg.modules.kc.wjxWjxxTmlb.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class ScaleItemRows {
|
||||
private String itemTitle;
|
||||
private Integer qIndex;
|
||||
private Integer itemIndex;
|
||||
private String itemSelected;
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
package org.jeecg.modules.kc.wjxWjxxTmlb.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class ScaleItems {
|
||||
private String itemScore;
|
||||
private String itemTitle;
|
||||
}
|
|
@ -96,4 +96,12 @@ public class WjxWjxxTmlbPage {
|
|||
@ApiModelProperty(value = "选项信息")
|
||||
private List<WjxWjxxTmxx> wjxWjxxTmxxList;
|
||||
|
||||
@ExcelCollection(name="量表题列内容")
|
||||
@ApiModelProperty(value = "量表题列内容")
|
||||
private List<ScaleItems> items;
|
||||
|
||||
@ExcelCollection(name="量表题行内容")
|
||||
@ApiModelProperty(value = "量表题行内容")
|
||||
private List<ScaleItemRows> itemRows;
|
||||
|
||||
}
|
||||
|
|
6
pom.xml
6
pom.xml
|
@ -18,7 +18,7 @@
|
|||
<developerConnection>https://qiaoqiaoyun.com</developerConnection>
|
||||
<url>http://www.jeecg.com/vip</url>
|
||||
</scm>
|
||||
|
||||
|
||||
<parent>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-parent</artifactId>
|
||||
|
@ -488,7 +488,7 @@
|
|||
<url>http://maven.jeecg.com:8090/nexus/content/repositories/snapshots/</url>
|
||||
</snapshotRepository>
|
||||
</distributionManagement>
|
||||
|
||||
|
||||
<!-- 环境 -->
|
||||
<profiles>
|
||||
<!-- 开发 -->
|
||||
|
@ -534,4 +534,4 @@
|
|||
</modules>
|
||||
</profile>
|
||||
</profiles>
|
||||
</project>
|
||||
</project>
|
||||
|
|
Loading…
Reference in New Issue