| 
					
				 | 
			
			
				@ -0,0 +1,517 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				package com.yihu.jw.hospital.survey.service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.alibaba.fastjson.JSON; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.fasterxml.jackson.databind.ObjectMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.hospital.doctor.WlyyDoctorWorkTimeDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.hospital.survey.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.hospital.survey.dao.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.hospital.consult.WlyyHospitalSysDictVO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.hospital.survey.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.web.MixEnvelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.utils.EntityUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.utils.StringUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.mysql.query.BaseJpaService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.apache.commons.lang3.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.apache.poi.ss.formula.functions.T; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.jdbc.core.BeanPropertyRowMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.jdbc.core.JdbcTemplate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.jdbc.support.nativejdbc.OracleJdbc4NativeJdbcExtractor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.transaction.annotation.Transactional; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.ArrayList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.Map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * Created by Trick on 2019/9/6. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				@Service 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				@Transactional 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				public class SurveyService extends BaseJpaService<WlyySurveyQuestionDO, SurveyQuestionDao> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private WlyyHospitalSysDictDao sysDictDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private JdbcTemplate jdbcTemplate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private ObjectMapper objectMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private SurveyQuestionDao surveyQuestionDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private SurveyQuestionsOptionDao surveyQuestionsOptionDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private SurveyTemplateDao surveyTemplateDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private SurveyTemplateQuestionDao surveyTemplateQuestionDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private SurveyTemplateOptionDao surveyTemplateOptionDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private SurveyLabelInfoDao surveyLabelInfoDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private SurveyInspLabelInfoDao surveyInspLabelInfoDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private SurveyDeptDao surveyDeptDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private SurveyUserDao surveyUserDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private SurveyUserAnswerDao surveyUserAnswerDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 查询字典 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 1.surveyLabel;2.surveyScreenLabel 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<WlyyHospitalSysDictVO> findSurveyLabel(String name){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<WlyyHospitalSysDictVO> list = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return convertToModels(sysDictDao.findByDictName(name),list,WlyyHospitalSysDictVO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 查询问题 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param title 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param questionType 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param page 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param size 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public MixEnvelop findSurveyQuestion(String title,Integer questionType,Integer page,Integer size)throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //计算总数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String totalSql ="SELECT" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " COUNT(1) AS total" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " wlyy_survey_question q " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE q.del = '1' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNotBlank(title)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSql+=" AND q.title like '%"+title+"%'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(questionType!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSql+=" AND q.question_type ="+questionType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> rstotal = jdbcTemplate.queryForList(totalSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long count = 0L; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (rstotal != null && rstotal.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            count = (Long) rstotal.get(0).get("total"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //计算总数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql ="SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " q.id AS id, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " q.title AS title, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " q.question_comment AS questionComment, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " q.question_type AS questionType, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " q.is_required AS isRequired, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " q.min_num AS minNum, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " q.max_num AS maxNum, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " q.del, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " q.create_time AS createTime, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " q.update_time AS updateTime " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " wlyy_survey_question q " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE q.del = '1' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNotBlank(title)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql+=" AND q.title like '%"+title+"%'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(questionType!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql+=" AND q.question_type ="+questionType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql += " ORDER BY q.create_time DESC LIMIT " + (page - 1) * size + "," + size + " "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<WlyySurveyQuestionVO> list = jdbcTemplate.query(sql, new BeanPropertyRowMapper(WlyySurveyQuestionVO.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(list!=null&&list.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for(WlyySurveyQuestionVO sq:list){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                List<WlyySurveyQuestionsOptionDO> optionDOs = surveyQuestionsOptionDao.findByQuestionCodeAndDelOrderBySortAsc(sq.getId(),"1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(optionDOs!=null&&optionDOs.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    List<WlyySurveyQuestionsOptionVO> optionVOs = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    sq.setOptionVOs(convertToModels(optionDOs,optionVOs,WlyySurveyQuestionsOptionVO.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return MixEnvelop.getSuccessListWithPage(BaseHospitalRequestMapping.Prescription.api_success, list, page, size, count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 查询问题单条 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param surveyId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public WlyySurveyQuestionVO findBySurveyId(String surveyId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        WlyySurveyQuestionDO sq = surveyQuestionDao.findOne(surveyId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        WlyySurveyQuestionVO surveyQuestionVO = convertToModel(sq,WlyySurveyQuestionVO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<WlyySurveyQuestionsOptionDO> optionDOs = surveyQuestionsOptionDao.findByQuestionCodeAndDelOrderBySortAsc(sq.getId(),"1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(optionDOs!=null&&optionDOs.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<WlyySurveyQuestionsOptionVO> optionVOs = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            surveyQuestionVO.setOptionVOs(convertToModels(optionDOs,optionVOs,WlyySurveyQuestionsOptionVO.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return surveyQuestionVO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 保存问题 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param sqOptionJson 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @throws Exception 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Boolean saveSurveyQuestion(String sqjsons,String sqOptionJson)throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //保存问题 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<WlyySurveyQuestionDO> surveys = EntityUtils.jsonToList(sqjsons, WlyySurveyQuestionDO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        surveyQuestionDao.save(surveys); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(surveys!=null&&surveys.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for(WlyySurveyQuestionDO sq:surveys){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                List<WlyySurveyQuestionsOptionDO> optionDOs = surveyQuestionsOptionDao.findByQuestionCodeAndDelOrderBySortAsc(sq.getId(),"1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(optionDOs!=null&&optionDOs.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    surveyQuestionsOptionDao.delete(optionDOs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(StringUtils.isNotBlank(sqOptionJson)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    List<WlyySurveyQuestionsOptionDO> options = EntityUtils.jsonToList(sqOptionJson, WlyySurveyQuestionsOptionDO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    surveyQuestionsOptionDao.save(options); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 单个编辑问题 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param sqjson 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param sqOptionJson 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @throws Exception 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Boolean updataSurveyQuestion(String sqjson,String sqOptionJson) throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        WlyySurveyQuestionDO sq = objectMapper.readValue(sqjson,WlyySurveyQuestionDO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        surveyQuestionDao.save(sq); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<WlyySurveyQuestionsOptionDO> optionDOs = surveyQuestionsOptionDao.findByQuestionCodeAndDelOrderBySortAsc(sq.getId(),"1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(optionDOs!=null&&optionDOs.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            surveyQuestionsOptionDao.delete(optionDOs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNotBlank(sqOptionJson)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<WlyySurveyQuestionsOptionDO> options = EntityUtils.jsonToList(sqOptionJson, WlyySurveyQuestionsOptionDO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            surveyQuestionsOptionDao.save(options); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 删除问题 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param ids 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Boolean delSurveyQuestion(String ids){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sids[] =ids.split(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(sids!=null&&ids.length()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for(String id:sids){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                WlyySurveyQuestionDO del = surveyQuestionDao.findOne(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(del!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    surveyQuestionDao.delete(del); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                List<WlyySurveyQuestionsOptionDO> optionDOs = surveyQuestionsOptionDao.findByQuestionCodeAndDelOrderBySortAsc(id,"1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(optionDOs!=null&&optionDOs.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    surveyQuestionsOptionDao.delete(optionDOs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    //=====================问卷模板===================================== 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     *  查询模板列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param title 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param label 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param page 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param size 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public MixEnvelop findSurveyTemplate(String title,String label,Integer page,Integer size){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String totalSql ="SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " COUNT(1) AS total" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " wlyy_survey_template t "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNotBlank(label)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSql+=" JOIN wlyy_survey_label_info i OM t.id = i.survey_temp_code"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        totalSql += " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " t.del = '1'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNotBlank(title)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSql += " t.title like '%"+title+"%' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNotBlank(label)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSql += " i.label_code ='"+label+"'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> rstotal = jdbcTemplate.queryForList(totalSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long count = 0L; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (rstotal != null && rstotal.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            count = (Long) rstotal.get(0).get("total"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " t.id, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " t.title, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " t.template_comment AS templateComment, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " t.organization, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " t.creater, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " t.create_time AS createTime, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " t.del, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " t.update_time AS updateTime" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " wlyy_survey_template t "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNotBlank(label)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql += " JOIN wlyy_survey_label_info i OM t.id = i.survey_temp_code"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql += " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   " t.del = '1'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNotBlank(title)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql += " t.title like '%"+title+"%' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNotBlank(label)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql += " i.label_code ='"+label+"'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql += " ORDER BY t.create_time DESC LIMIT " + (page - 1) * size + "," + size + " "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<WlyySurveyTemplateVO> list = jdbcTemplate.query(sql, new BeanPropertyRowMapper(WlyySurveyTemplateVO.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(list!=null&&list.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //设置标签 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for(WlyySurveyTemplateVO templateVO : list){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                templateVO.setLabels(findSurveyTemplateLabel(templateVO.getId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return MixEnvelop.getSuccessListWithPage(BaseHospitalRequestMapping.Prescription.api_success, list, page, size, count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 获取问卷模板详情 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param tempId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public WlyySurveyTemplateVO findSurveyTemplateById(String tempId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        WlyySurveyTemplateDO templateDO = surveyTemplateDao.findOne(tempId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        WlyySurveyTemplateVO templateVO = convertToModel(templateDO,WlyySurveyTemplateVO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        templateVO.setLabels(findSurveyTemplateLabel(tempId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        templateVO.setInsplabels(findSurveyInspTemplateLabel(tempId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<WlyySurveyTemplateQuestionDO> tqDOs = surveyTemplateQuestionDao.findByTemplateCodeAndDelOrderBySortAsc(tempId,"1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(tqDOs!=null&&tqDOs.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //设置问题 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<WlyySurveyTemplateQuestionVO> tqVOs = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            convertToModels(tqDOs,tqVOs,WlyySurveyTemplateQuestionVO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            templateVO.setTemplateQuestionVOs(tqVOs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //设置选项 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for(WlyySurveyTemplateQuestionVO tq:tqVOs){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                List<WlyySurveyTemplateOptionDO> optionDOs  = surveyTemplateOptionDao.findByTemplateQuestionCodeAndDelOrderBySortAsc(tq.getId(),"1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                List<WlyySurveyTemplateOptionVO> optionVOs = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                convertToModels(optionDOs,optionVOs,WlyySurveyTemplateOptionVO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                tq.setTemplateOptionVOs(optionVOs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return templateVO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<WlyySurveyLabelInfoVO> findSurveyTemplateLabel(String tempId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<WlyySurveyLabelInfoDO> list = surveyLabelInfoDao.findBySurveyTempCode(tempId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<WlyySurveyLabelInfoVO> rs = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return convertToModels(list,rs,WlyySurveyLabelInfoVO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<WlyySurveyInspLabelInfoVO> findSurveyInspTemplateLabel(String tempId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<WlyySurveyInspLabelInfoDO> list = surveyInspLabelInfoDao.findBySurveyTempCode(tempId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<WlyySurveyInspLabelInfoVO> rs = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return convertToModels(list,rs,WlyySurveyInspLabelInfoVO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 保存,更新模板 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param tempJson 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param tempQJson 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param tempOpJson 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @throws Exception 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Boolean saveSurveyTemplate(String tempJson,String tempQJson,String tempOpJson,String labelJson,String labelInspJson)throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        WlyySurveyTemplateDO temp = objectMapper.readValue(tempJson,WlyySurveyTemplateDO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        temp = surveyTemplateDao.save(temp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //删除原有问题 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<WlyySurveyTemplateQuestionDO> questionDODels = surveyTemplateQuestionDao.findByTemplateCodeAndDelOrderBySortAsc(temp.getId(),"1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(questionDODels!=null&&questionDODels.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            surveyTemplateQuestionDao.delete(questionDODels); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //新增问题 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNotBlank(tempQJson)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<WlyySurveyTemplateQuestionDO> questions = EntityUtils.jsonToList(tempQJson, WlyySurveyTemplateQuestionDO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            surveyTemplateQuestionDao.save(questions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //删除原有问题选项 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<WlyySurveyTemplateOptionDO> optionDODels = surveyTemplateOptionDao.findByTemplateCodeAndDelOrderBySortAsc(temp.getId(),"1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(optionDODels!=null&&optionDODels.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            surveyTemplateOptionDao.delete(optionDODels); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //保存新问题选项 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNotBlank(tempOpJson)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<WlyySurveyTemplateOptionDO> questions = EntityUtils.jsonToList(tempOpJson, WlyySurveyTemplateOptionDO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            surveyTemplateOptionDao.save(questions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //保存标签 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<WlyySurveyLabelInfoDO> labelDels = surveyLabelInfoDao.findBySurveyTempCode(temp.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(labelDels!=null&&labelDels.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            surveyLabelInfoDao.delete(labelDels); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNotBlank(labelJson)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<WlyySurveyLabelInfoDO> labels = EntityUtils.jsonToList(labelJson, WlyySurveyLabelInfoDO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            surveyLabelInfoDao.save(labels); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //删除检查标签 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<WlyySurveyInspLabelInfoDO> labelInspDels = surveyInspLabelInfoDao.findBySurveyTempCode(temp.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(labelDels!=null&&labelDels.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            surveyInspLabelInfoDao.delete(labelInspDels); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //保存检查标签 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNotBlank(labelInspJson)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<WlyySurveyInspLabelInfoDO> labels = EntityUtils.jsonToList(labelInspJson, WlyySurveyInspLabelInfoDO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            surveyInspLabelInfoDao.save(labels); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 删除 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param tempId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Boolean delSurveyTemplate(String tempId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        WlyySurveyTemplateDO temp = surveyTemplateDao.findOne(tempId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(temp!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //删除原有问题 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<WlyySurveyTemplateQuestionDO> questionDODels = surveyTemplateQuestionDao.findByTemplateCodeAndDelOrderBySortAsc(temp.getId(),"1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(questionDODels!=null&&questionDODels.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                surveyTemplateQuestionDao.delete(questionDODels); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //删除原有问题选项 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<WlyySurveyTemplateOptionDO> optionDODels = surveyTemplateOptionDao.findByTemplateCodeAndDelOrderBySortAsc(temp.getId(),"1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(optionDODels!=null&&optionDODels.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                surveyTemplateOptionDao.delete(optionDODels); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            surveyTemplateDao.delete(temp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    //=======================调查问卷发送===================== 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 保存问卷科室关系 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param tempId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param sdJsons 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @throws Exception 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Boolean saveSurveyDept(String tempId,String sdJsons)throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //删除之前关系 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<WlyySurveyDeptDO> dels = surveyDeptDao.findBySurveyTempCode(tempId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(dels!=null&&dels.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            surveyDeptDao.delete(dels); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNotBlank(sdJsons)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<WlyySurveyDeptDO> list = EntityUtils.jsonToList(sdJsons,WlyySurveyDeptDO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(list!=null&&list.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                surveyDeptDao.save(list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 查询科室下问卷列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param dept 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<Map<String,Object>> findSurveyByDept(String dept){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " t.id, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " t.title, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " t.template_comment AS templateComment " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " wlyy_survey_template t " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " JOIN wlyy_survey_dept d ON t.id = d.survey_temp_code " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " d.dept = '"+dept+"'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 查询问卷下科室 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param tempId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<Map<String,Object>> findDeptBySurvey(String tempId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql ="SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " d.dept, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " d.dept_name AS deptName " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " wlyy_survey_template t " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " JOIN wlyy_survey_dept d ON t.id = d.survey_temp_code " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " t.id = '"+tempId+"'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param suJson 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param suaJsons 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @throws Exception 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Boolean saveSurveyAnswer(String suJson,String suaJsons)throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        WlyySurveyUserDO surveyUserDO = objectMapper.readValue(suJson,WlyySurveyUserDO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        surveyUserDao.save(surveyUserDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //删除问题答案 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<WlyySurveyUserAnswerDO> dels = surveyUserAnswerDao.findBySurveyTempCodeAndPatient(surveyUserDO.getSurveyTempCode(),surveyUserDO.getPatient()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(dels!=null&&dels.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            surveyUserAnswerDao.delete(dels); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //保存答案 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNotBlank(suaJsons)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<WlyySurveyUserAnswerDO> answerDOs = EntityUtils.jsonToList(suaJsons,WlyySurveyUserAnswerDO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            surveyUserAnswerDao.save(answerDOs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<WlyySurveyUserAnswerDO> findAnswerBySurveyTempCode(String patient,String tempId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<WlyySurveyUserAnswerDO> list = surveyUserAnswerDao.findBySurveyTempCodeAndPatient(tempId,patient); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |