lidongdong
2023-10-17 76a7d24a64fec40107d1e966199f102bed41670f
springcloud_k8s_panzhihuazhihuishequ/service_jinhui_community/src/main/java/com/panzhihua/service_jinhui_community/service/impl/JinhuiComActWorkGuideServiceImpl.java
@@ -133,7 +133,7 @@
        BeanUtils.copyProperties(workGuideDTO, workGuideDO);
        workGuideDO.setUpdateBy(userId+"");
        workGuideDO.setUpdateAt(new Date());
        this.baseMapper.updateById(workGuideDO);
        if (workGuideDTO.getMaterials().size() == 0) {// 若编辑材料为null,执行删除操作
            workGuideMaterialDAO.delete(new LambdaQueryWrapper<JinhuiComActWorkGuideMaterial>()
                .eq(JinhuiComActWorkGuideMaterial::getWorkGuideId, workGuideDTO.getId()));
@@ -168,6 +168,58 @@
                }
            });
        }
        // 统计该调查问卷填报题目数量
        int count = 0;
        List<QuestnaiteSubVO> questnaiteSubVOS = JSON.parseArray(workGuideDO.getJsonObject(), QuestnaiteSubVO.class);
        if (!questnaiteSubVOS.isEmpty()) {
            count = questnaiteSubVOS.size();
        }
        workGuideDO.setCount(count);
        workGuideDO.setJsonObject(workGuideDO.getJsonObject());
        this.baseMapper.updateById(workGuideDO);
        // 删除原调查问卷题目以及选项,重新进行新增
        baseMapper.deleteQuesSubAll(workGuideDO.getId());
        baseMapper.deleteQuesSubAll2(workGuideDO.getId());
        // 重新新增题目以及题目选项
        if (!questnaiteSubVOS.isEmpty()) {
            questnaiteSubVOS.forEach(sub -> {
                JinhuiComActQuestnaireSub comActQuestnaireSubDO = new JinhuiComActQuestnaireSub();
                comActQuestnaireSubDO.setType(sub.getType()+"");
                comActQuestnaireSubDO.setContent(sub.getLabel());
                comActQuestnaireSubDO.setSort(sub.getSort()+"");
                comActQuestnaireSubDO.setKey(sub.getKey());
                comActQuestnaireSubDO.setQueId(workGuideDO.getId());
                comActQuestnaireSubDO.setCreateBy(userId);
                questnaireSubDao.insert(comActQuestnaireSubDO);
                ArrayList<JinhuiComActQuestnaireSubSelection> subSelectionList = Lists.newArrayList();
                if (sub.getOptions() != null && !sub.getOptions().isEmpty()) {
                    List<QuestnaiteSubSelectionVO> subOptions = sub.getOptions();
                    for (int i = 0; i < subOptions.size(); i++) {
                        QuestnaiteSubSelectionVO subSelect = subOptions.get(i);
                        JinhuiComActQuestnaireSubSelection subSelectionDO = new JinhuiComActQuestnaireSubSelection();
                        subSelectionDO.setQueSubId(comActQuestnaireSubDO.getId()+"");
                        if (subSelect.getType().equals(1)) {
                            // 添加选项名称
                            subSelectionDO.setOptionName(subSelect.getOptionName());
                        } else {
                            subSelectionDO.setOptionName(String.valueOf(Character.toChars('A' + i)));
                        }
                        subSelectionDO.setKey(subSelect.getKey());
                        subSelectionDO.setContent(subSelect.getLabel());
                        subSelectionDO.setQueId(workGuideDO.getId());
                        subSelectionDO.setCreateBy(userId);
                        subSelectionDO.setType(subSelect.getType()+"");
                        subSelectionList.add(subSelectionDO);
                    }
                }
                questnaireSubSelectionService.saveBatch(subSelectionList);
            });
        }
        return R.ok();
    }