|  | @ -21,6 +21,7 @@ import com.yihu.jw.utils.EntityUtils;
 | 
	
		
			
				|  |  | import com.yihu.jw.utils.hibernate.HibenateUtils;
 | 
	
		
			
				|  |  | import com.yihu.mysql.query.BaseJpaService;
 | 
	
		
			
				|  |  | import org.apache.commons.lang3.StringUtils;
 | 
	
		
			
				|  |  | import org.apache.xpath.operations.Bool;
 | 
	
		
			
				|  |  | import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  | import org.springframework.beans.factory.annotation.Value;
 | 
	
		
			
				|  |  | import org.springframework.jdbc.core.BeanPropertyRowMapper;
 | 
	
	
		
			
				|  | @ -29,10 +30,7 @@ import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  | import org.springframework.transaction.annotation.Transactional;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import java.math.BigDecimal;
 | 
	
		
			
				|  |  | import java.util.ArrayList;
 | 
	
		
			
				|  |  | import java.util.Date;
 | 
	
		
			
				|  |  | import java.util.List;
 | 
	
		
			
				|  |  | import java.util.Map;
 | 
	
		
			
				|  |  | import java.util.*;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | /**
 | 
	
		
			
				|  |  |  * Created by Trick on 2019/9/6
 | 
	
	
		
			
				|  | @ -287,7 +285,7 @@ public class SurveyService extends BaseJpaService<WlyySurveyQuestionDO, SurveyQu
 | 
	
		
			
				|  |  |             totalSql += " AND i.label_code ='"+label+"'";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (StringUtils.isNoneBlank(creater)){
 | 
	
		
			
				|  |  |             totalSql +=" AND  t.creater = '"+creater+"' ";
 | 
	
		
			
				|  |  |             totalSql +=" AND  t.creater_code = '"+creater+"' ";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         List<Map<String, Object>> rstotal = jdbcTemplate.queryForList(totalSql);
 | 
	
	
		
			
				|  | @ -397,15 +395,19 @@ public class SurveyService extends BaseJpaService<WlyySurveyQuestionDO, SurveyQu
 | 
	
		
			
				|  |  |             //设置问题
 | 
	
		
			
				|  |  |             List<WlyySurveyTemplateQuestionVO> tqVOs = new ArrayList<>();
 | 
	
		
			
				|  |  |             convertToModels(tqDOs,tqVOs,WlyySurveyTemplateQuestionVO.class);
 | 
	
		
			
				|  |  |             templateVO.setTemplateQuestionVOs(tqVOs);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             //设置选项
 | 
	
		
			
				|  |  |             for(WlyySurveyTemplateQuestionVO tq:tqVOs){
 | 
	
		
			
				|  |  |                 List<WlyySurveyTemplateOptionDO> optionDOs  = surveyTemplateOptionDao.findByQuestionCodeAndDelOrderBySortAsc(tq.getId(),tq.getTemplateCode(),"1");
 | 
	
		
			
				|  |  |                 List<WlyySurveyTemplateOptionDO> optionDOs  = surveyTemplateOptionDao.findByQuestionCodeAndDelOrderBySortAsc(tq.getCode(),tq.getTemplateCode(),"1");
 | 
	
		
			
				|  |  |                 List<WlyySurveyTemplateOptionVO> optionVOs = new ArrayList<>();
 | 
	
		
			
				|  |  |                 convertToModels(optionDOs,optionVOs,WlyySurveyTemplateOptionVO.class);
 | 
	
		
			
				|  |  |                 for (WlyySurveyTemplateOptionVO optionVO:optionVOs){
 | 
	
		
			
				|  |  |                     optionVO.setId(optionVO.getCode());
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 tq.setOptionVOs(optionVOs);
 | 
	
		
			
				|  |  |                 tq.setId(tq.getCode());
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             templateVO.setTemplateQuestionVOs(tqVOs);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return templateVO;
 | 
	
		
			
				|  |  |     }
 | 
	
	
		
			
				|  | @ -433,7 +435,13 @@ public class SurveyService extends BaseJpaService<WlyySurveyQuestionDO, SurveyQu
 | 
	
		
			
				|  |  |     public Boolean saveSurveyTemplate(String tempJson,String tempQJson,String tempOpJson,String labelJson,String labelInspJson)throws Exception{
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         WlyySurveyTemplateDO temp = objectMapper.readValue(tempJson,WlyySurveyTemplateDO.class);
 | 
	
		
			
				|  |  |         String doctor = temp.getCreaterCode();
 | 
	
		
			
				|  |  |         if (StringUtils.isNotEmpty(temp.getId())){
 | 
	
		
			
				|  |  |             WlyySurveyTemplateDO templateDO = surveyTemplateDao.findOne(temp.getId());
 | 
	
		
			
				|  |  |             if(null!=templateDO){
 | 
	
		
			
				|  |  |                 temp.setCreater(templateDO.getCreater());
 | 
	
		
			
				|  |  |                 temp.setCreaterCode(templateDO.getCreaterCode());
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         temp = surveyTemplateDao.save(temp);
 | 
	
		
			
				|  |  |         //删除原有问题
 | 
	
		
			
				|  |  |         List<WlyySurveyTemplateQuestionDO> questionDODels = surveyTemplateQuestionDao.findByTemplateCodeAndDelOrderBySortAsc(temp.getId(),"1");
 | 
	
	
		
			
				|  | @ -443,6 +451,11 @@ public class SurveyService extends BaseJpaService<WlyySurveyQuestionDO, SurveyQu
 | 
	
		
			
				|  |  |         //新增问题
 | 
	
		
			
				|  |  |         if(StringUtils.isNotBlank(tempQJson)){
 | 
	
		
			
				|  |  |             List<WlyySurveyTemplateQuestionDO> questions = EntityUtils.jsonToList(tempQJson, WlyySurveyTemplateQuestionDO.class);
 | 
	
		
			
				|  |  |             for (WlyySurveyTemplateQuestionDO wlyySurveyTemplateQuestionDO:questions){
 | 
	
		
			
				|  |  |                 wlyySurveyTemplateQuestionDO.setTemplateCode(temp.getId());
 | 
	
		
			
				|  |  |                 wlyySurveyTemplateQuestionDO.setCode(wlyySurveyTemplateQuestionDO.getId());
 | 
	
		
			
				|  |  |                 wlyySurveyTemplateQuestionDO.setId(UUID.randomUUID().toString());
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             surveyTemplateQuestionDao.save(questions);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -455,6 +468,11 @@ public class SurveyService extends BaseJpaService<WlyySurveyQuestionDO, SurveyQu
 | 
	
		
			
				|  |  |         //保存新问题选项
 | 
	
		
			
				|  |  |         if(StringUtils.isNotBlank(tempOpJson)){
 | 
	
		
			
				|  |  |             List<WlyySurveyTemplateOptionDO> options = EntityUtils.jsonToList(tempOpJson, WlyySurveyTemplateOptionDO.class);
 | 
	
		
			
				|  |  |             for (WlyySurveyTemplateOptionDO wlyySurveyTemplateOptionDO:options){
 | 
	
		
			
				|  |  |                 wlyySurveyTemplateOptionDO.setTemplateCode(temp.getId());
 | 
	
		
			
				|  |  |                 wlyySurveyTemplateOptionDO.setCode(wlyySurveyTemplateOptionDO.getId());
 | 
	
		
			
				|  |  |                 wlyySurveyTemplateOptionDO.setId(UUID.randomUUID()+"");
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             surveyTemplateOptionDao.save(options);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -580,7 +598,7 @@ public class SurveyService extends BaseJpaService<WlyySurveyQuestionDO, SurveyQu
 | 
	
		
			
				|  |  |         if(result!=null&&result.size()>0){
 | 
	
		
			
				|  |  |             for(Map<String,Object> map:result){
 | 
	
		
			
				|  |  |                 String tempId = (String)map.get("id");
 | 
	
		
			
				|  |  |                 List<WlyySurveyUserDO> list = surveyUserDao.findBySurvey(tempId,patient, DateUtil.strToDate(DateUtil.dateToStr(new Date(),"yyyy-MM-dd")));
 | 
	
		
			
				|  |  |                 List<WlyySurveyUserDO> list = surveyUserDao.findBySurvey(tempId,patient);
 | 
	
		
			
				|  |  |                 if(list!=null&&list.size()>0){
 | 
	
		
			
				|  |  |                     map.put("isAnswer",true);
 | 
	
		
			
				|  |  |                 }else{
 | 
	
	
		
			
				|  | @ -635,6 +653,9 @@ public class SurveyService extends BaseJpaService<WlyySurveyQuestionDO, SurveyQu
 | 
	
		
			
				|  |  |             List<WlyySurveyUserAnswerDO> answerDOs = EntityUtils.jsonToList(suaJsons,WlyySurveyUserAnswerDO.class);
 | 
	
		
			
				|  |  |             for(WlyySurveyUserAnswerDO answerDO : answerDOs){
 | 
	
		
			
				|  |  |                 answerDO.setSurverUserId(surveyUserDO.getId());
 | 
	
		
			
				|  |  |                 /*WlyySurveyTemplateOptionDO surveyTemplateOptionDO = surveyTemplateOptionDao.findOne(answerDO.getTempOptionCode());
 | 
	
		
			
				|  |  |                 answerDO.setTempQuestionCode(surveyTemplateOptionDO.getQuestionCode());
 | 
	
		
			
				|  |  |                 answerDO.setTempOptionCode(surveyTemplateOptionDO.getCode());*/
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             surveyUserAnswerDao.save(answerDOs);
 | 
	
		
			
				|  |  |             BasePatientBusinessDO basePatientBusinessDO = basePatientBusinessDao.findByDoctorPatientRelationCode(surveyUserDO.getPatient(),surveyUserDO.getSurveyTempCode(),surveyUserDO.getDoctor());
 | 
	
	
		
			
				|  | @ -654,9 +675,11 @@ public class SurveyService extends BaseJpaService<WlyySurveyQuestionDO, SurveyQu
 | 
	
		
			
				|  |  |         if(StringUtils.isNotBlank(surverUserId)){
 | 
	
		
			
				|  |  |             list = surveyUserAnswerDao.findBySurverUserId(surverUserId);
 | 
	
		
			
				|  |  |         }else{
 | 
	
		
			
				|  |  |             List<WlyySurveyUserDO> surveys = surveyUserDao.findBySurvey(tempId,patient, DateUtil.strToDate(DateUtil.dateToStr(new Date(),"yyyy-MM-dd")));
 | 
	
		
			
				|  |  |             List<WlyySurveyUserDO> surveys = surveyUserDao.findBySurvey(tempId,patient);
 | 
	
		
			
				|  |  |             System.out.println(surveys);
 | 
	
		
			
				|  |  |             if(surveys!=null&&surveys.size()>0){
 | 
	
		
			
				|  |  |                 WlyySurveyUserDO wlyySurveyUserDO = surveys.get(0);
 | 
	
		
			
				|  |  |                 System.out.println(wlyySurveyUserDO);
 | 
	
		
			
				|  |  |                 list = surveyUserAnswerDao.findBySurverUserId(wlyySurveyUserDO.getId());
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
	
		
			
				|  | @ -680,7 +703,7 @@ public class SurveyService extends BaseJpaService<WlyySurveyQuestionDO, SurveyQu
 | 
	
		
			
				|  |  |             templateVO.setVisitDeptName(doctor.getVisitDeptName());
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         //查询所有答题过的用户,计算答题总数
 | 
	
		
			
				|  |  |         List<WlyySurveyUserDO> surveyUsers = surveyUserDao.findBySurveyTempCodeAndStatus(templateVO.getId(),1);
 | 
	
		
			
				|  |  |         List<WlyySurveyUserDO> surveyUsers = surveyUserDao.findBySurveyTempCodeAndStatus(tempId,1);
 | 
	
		
			
				|  |  |         Integer total =0;
 | 
	
		
			
				|  |  |         if(surveyUsers!=null&&surveyUsers.size()>0){
 | 
	
		
			
				|  |  |             total = surveyUsers.size();
 | 
	
	
		
			
				|  | @ -692,15 +715,14 @@ public class SurveyService extends BaseJpaService<WlyySurveyQuestionDO, SurveyQu
 | 
	
		
			
				|  |  |             //设置问题
 | 
	
		
			
				|  |  |             List<WlyySurveyTemplateQuestionVO> tqVOs = new ArrayList<>();
 | 
	
		
			
				|  |  |             convertToModels(tqDOs,tqVOs,WlyySurveyTemplateQuestionVO.class);
 | 
	
		
			
				|  |  |             templateVO.setTemplateQuestionVOs(tqVOs);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             //设置选项
 | 
	
		
			
				|  |  |             for(WlyySurveyTemplateQuestionVO tq:tqVOs){
 | 
	
		
			
				|  |  |                 List<WlyySurveyTemplateOptionDO> optionDOs  = surveyTemplateOptionDao.findByQuestionCodeAndDelOrderBySortAsc(tq.getId(),tq.getTemplateCode(),"1");
 | 
	
		
			
				|  |  |                 List<WlyySurveyTemplateOptionDO> optionDOs  = surveyTemplateOptionDao.findByQuestionCodeAndDelOrderBySortAsc(tq.getCode(),tq.getTemplateCode(),"1");
 | 
	
		
			
				|  |  |                 List<WlyySurveyTemplateOptionVO> optionVOs = new ArrayList<>();
 | 
	
		
			
				|  |  |                 convertToModels(optionDOs,optionVOs,WlyySurveyTemplateOptionVO.class);
 | 
	
		
			
				|  |  |                 int tpCount = 0;
 | 
	
		
			
				|  |  |                 List<WlyySurveyUserAnswerDO> answerQuestionDOs = surveyUserAnswerDao.findByTempQuestionCodeDistinctPatient(tq.getId(),tempId);
 | 
	
		
			
				|  |  |                 List<WlyySurveyUserAnswerDO> answerQuestionDOs = surveyUserAnswerDao.findByTempQuestionCodeDistinctPatient(tq.getCode(),tempId);
 | 
	
		
			
				|  |  |                 if(answerQuestionDOs!=null&&answerQuestionDOs.size()>0){
 | 
	
		
			
				|  |  |                     tpCount = answerQuestionDOs.size();
 | 
	
		
			
				|  |  |                 }
 | 
	
	
		
			
				|  | @ -711,17 +733,19 @@ public class SurveyService extends BaseJpaService<WlyySurveyQuestionDO, SurveyQu
 | 
	
		
			
				|  |  |                 if(optionVOs!=null&&optionVOs.size()>0){
 | 
	
		
			
				|  |  |                     for(WlyySurveyTemplateOptionVO vo:optionVOs){
 | 
	
		
			
				|  |  |                         Integer answerCount =0;
 | 
	
		
			
				|  |  |                         List<WlyySurveyUserAnswerDO> answerDOs = surveyUserAnswerDao.findBytempOptionCode(vo.getId(),vo.getTemplateCode());
 | 
	
		
			
				|  |  |                         List<WlyySurveyUserAnswerDO> answerDOs = surveyUserAnswerDao.findBytempOptionCode(vo.getCode(),vo.getTemplateCode());
 | 
	
		
			
				|  |  |                         if(answerDOs!=null&&answerDOs.size()>0){
 | 
	
		
			
				|  |  |                             answerCount = answerDOs.size();
 | 
	
		
			
				|  |  |                         }
 | 
	
		
			
				|  |  |                         vo.setPercentage(PercentageUtil.bs(answerCount,total)+"%");
 | 
	
		
			
				|  |  |                         vo.setOptCount(answerCount);
 | 
	
		
			
				|  |  |                         vo.setId(vo.getCode());
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 tq.setOptionVOs(optionVOs);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                 tq.setId(tq.getCode());
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             templateVO.setTemplateQuestionVOs(tqVOs);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return templateVO;
 | 
	
		
			
				|  |  |     }
 | 
	
	
		
			
				|  | @ -904,4 +928,5 @@ public class SurveyService extends BaseJpaService<WlyySurveyQuestionDO, SurveyQu
 | 
	
		
			
				|  |  |         String response = HttpClientUtil.postBody(imAddr, params);
 | 
	
		
			
				|  |  |         return response;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | }
 |