|
@@ -3,11 +3,15 @@ package com.diagbot.facade;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
import com.diagbot.entity.ModuleDetail;
|
|
|
-import com.diagbot.entity.ModuleInfo;
|
|
|
+import com.diagbot.entity.QuestionInfo;
|
|
|
import com.diagbot.enums.IsDeleteEnum;
|
|
|
+import com.diagbot.enums.TagTypeEnum;
|
|
|
import com.diagbot.service.ModuleDetailService;
|
|
|
+import com.diagbot.service.QuestionInfoService;
|
|
|
import com.diagbot.service.impl.ModuleDetailServiceImpl;
|
|
|
import com.diagbot.util.DateUtil;
|
|
|
+import com.diagbot.util.StringUtil;
|
|
|
+import com.diagbot.vo.AddModuleDetailVO;
|
|
|
import com.diagbot.vo.AddModuleInfoVO;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Qualifier;
|
|
@@ -15,6 +19,7 @@ import org.springframework.stereotype.Component;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
@@ -31,6 +36,11 @@ public class ModuleDetailFacade extends ModuleDetailServiceImpl {
|
|
|
@Autowired
|
|
|
@Qualifier("moduleDetailServiceImpl")
|
|
|
private ModuleDetailService moduleDetailService;
|
|
|
+ @Autowired
|
|
|
+ private QuestionInfoFacade questionInfoFacade;
|
|
|
+ @Autowired
|
|
|
+ @Qualifier("questionInfoServiceImpl")
|
|
|
+ private QuestionInfoService questionInfoService;
|
|
|
/**
|
|
|
* 根据questionId删除明细
|
|
|
*
|
|
@@ -58,38 +68,84 @@ public class ModuleDetailFacade extends ModuleDetailServiceImpl {
|
|
|
* @param addModuleInfoVO
|
|
|
* @return
|
|
|
*/
|
|
|
- public Boolean saveOrUpdateInfos(AddModuleInfoVO addModuleInfoVO){
|
|
|
+ public Boolean saveOrUpdateInfos(AddModuleInfoVO addModuleInfoVO,Long moduleId){
|
|
|
/*String userId = UserUtils.getCurrentPrincipleID();*/
|
|
|
Date now = DateUtil.now();
|
|
|
- //获取添加的模板信息
|
|
|
- QueryWrapper<ModuleInfo> moduleInfoQueryWrapper = new QueryWrapper<>();
|
|
|
- moduleInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
- .eq("name",addModuleInfoVO.getName())
|
|
|
- .eq("type",addModuleInfoVO.getType());
|
|
|
- ModuleInfo moduleInfo = moduleInfoFacade.getOne(moduleInfoQueryWrapper);
|
|
|
//如果该模板添加过明细,先删除
|
|
|
UpdateWrapper<ModuleDetail> moduleDetailUpdateWrapper = new UpdateWrapper<>();
|
|
|
moduleDetailUpdateWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
- .eq("module_id",moduleInfo.getId())
|
|
|
+ .eq("module_id",moduleId)
|
|
|
.set("is_deleted",IsDeleteEnum.Y.getKey())
|
|
|
.set("modifier","1"/*userId*/)
|
|
|
.set("gmt_modified",now);
|
|
|
this.update(new ModuleDetail(),moduleDetailUpdateWrapper);
|
|
|
- //重新添加明细
|
|
|
- List<ModuleDetail> moduleDetailList = new ArrayList<>();
|
|
|
+ //查询自定义标签的id
|
|
|
+ List<String> textList = new ArrayList<>();
|
|
|
+ for(AddModuleDetailVO addModuleDetailVO:addModuleInfoVO.getModelDetils()){
|
|
|
+ if(StringUtil.isNotEmpty(addModuleDetailVO.getText())){
|
|
|
+ textList.add(addModuleDetailVO.getText());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ QueryWrapper<QuestionInfo> questionInfoQueryWrapper = new QueryWrapper<>();
|
|
|
+ questionInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
+ .eq("tag_type", TagTypeEnum.T8.getKey())
|
|
|
+ .in("name",textList);
|
|
|
+ List<QuestionInfo> questionInfoList = questionInfoFacade.list(questionInfoQueryWrapper);
|
|
|
+ //将标签id放入map
|
|
|
+ Map<String,Long> questionIdMap = new HashMap<>();
|
|
|
+ QuestionInfo addquestionInfo = null;
|
|
|
+ List<QuestionInfo> addQuestionInfoList = new ArrayList<>();
|
|
|
+ for (QuestionInfo questionInfo:questionInfoList) {
|
|
|
+ questionIdMap.put(questionInfo.getTagName(),questionInfo.getId());
|
|
|
+ }
|
|
|
+ //循环给questionId赋值,如果遇到赋值失败的则是没有questionID,执行添加
|
|
|
+ for (AddModuleDetailVO addModuleDetailVO:addModuleInfoVO.getModelDetils()) {
|
|
|
+ if (StringUtil.isNotEmpty(addModuleDetailVO.getText())){
|
|
|
+ addModuleDetailVO.setQuestionId(questionIdMap.get(addModuleDetailVO.getText()));
|
|
|
+ if(addModuleDetailVO.getQuestionId() == null){
|
|
|
+ addquestionInfo = new QuestionInfo();
|
|
|
+ addquestionInfo.setModifier("1");
|
|
|
+ addquestionInfo.setCreator("1");
|
|
|
+ addquestionInfo.setGmtCreate(now);
|
|
|
+ addquestionInfo.setGmtModified(now);
|
|
|
+ addquestionInfo.setTagType(String.valueOf(TagTypeEnum.T8.getKey()));
|
|
|
+ addquestionInfo.setTagName(addModuleDetailVO.getText());
|
|
|
+ addquestionInfo.setName(addModuleDetailVO.getText());
|
|
|
+ addquestionInfo.setType(addModuleInfoVO.getType());
|
|
|
+ addquestionInfo.setSubType(1);
|
|
|
+ addquestionInfo.setName(addModuleDetailVO.getText());
|
|
|
+ addQuestionInfoList.add(addquestionInfo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ questionInfoService.saveBatch(addQuestionInfoList);
|
|
|
+ //查询自定义标签的id
|
|
|
+ QueryWrapper<QuestionInfo> questionInfoQueryWrapper1 = new QueryWrapper<>();
|
|
|
+ questionInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
+ .eq("tag_type", TagTypeEnum.T8.getKey());
|
|
|
+ List<QuestionInfo> questionInfoList1 = questionInfoFacade.list(questionInfoQueryWrapper1);
|
|
|
+ for (QuestionInfo questionInfo:questionInfoList1) {
|
|
|
+ questionIdMap.put(questionInfo.getTagName(),questionInfo.getId());
|
|
|
+ }
|
|
|
+ //二次赋值保证每一个questionId都有值
|
|
|
ModuleDetail moduleDetail = null;
|
|
|
+ List<ModuleDetail> moduleDetailList = new ArrayList<>();
|
|
|
for(int i = 0; i < addModuleInfoVO.getModelDetils().size(); i++){
|
|
|
moduleDetail = new ModuleDetail();
|
|
|
- moduleDetail.setModuleId(moduleInfo.getId());
|
|
|
+ moduleDetail.setModuleId(moduleId);
|
|
|
moduleDetail.setCreator("1"/*userId*/);
|
|
|
moduleDetail.setModifier("1"/*userId*/);
|
|
|
moduleDetail.setGmtCreate(now);
|
|
|
moduleDetail.setGmtModified(now);
|
|
|
- moduleDetail.setQuestionId(addModuleInfoVO.getModelDetils().get(i).getQuestionId());
|
|
|
- moduleDetail.setModuleId(moduleInfo.getId());
|
|
|
moduleDetail.setOrderNo(i+1);
|
|
|
+ if (StringUtil.isNotEmpty(addModuleInfoVO.getModelDetils().get(i).getText())){
|
|
|
+ moduleDetail.setQuestionId(questionIdMap.get(addModuleInfoVO.getModelDetils().get(i).getText()));
|
|
|
+ }else {
|
|
|
+ moduleDetail.setQuestionId(addModuleInfoVO.getModelDetils().get(i).getQuestionId());
|
|
|
+ }
|
|
|
moduleDetailList.add(moduleDetail);
|
|
|
}
|
|
|
+ //添加模板明细
|
|
|
moduleDetailService.saveBatch(moduleDetailList);
|
|
|
return true;
|
|
|
}
|