|
|
@@ -272,6 +272,8 @@ public class FsUserInformationCollectionServiceImpl extends ServiceImpl<FsUserIn
|
|
|
vo.setSex(fsUserInformationCollection.getSex());
|
|
|
vo.setUserPhoneFour(fsUserInformationCollection.getUserPhoneFour());
|
|
|
vo.setUserName(fsUserInformationCollection.getUserName());
|
|
|
+ vo.setRemark(fsUserInformationCollection.getRemark());
|
|
|
+ vo.setAllergy(fsUserInformationCollection.getAllergy());
|
|
|
if (map.getQuestionId() == null) {
|
|
|
FsQuestionAndAnswerVO questionAndAnswerVO = questionAndAnswerService.selectFsQuestionAndAnswerById(fsUserInformationCollection.getQuestionId());
|
|
|
List<AnswerVO> answerVOS = JSON.parseArray(fsUserInformationCollection.getJsonInfo(), AnswerVO.class);
|
|
|
@@ -300,6 +302,21 @@ public class FsUserInformationCollectionServiceImpl extends ServiceImpl<FsUserIn
|
|
|
}
|
|
|
if (ObjectUtil.isNotEmpty(vo.getAnswers())){
|
|
|
vo.getAnswers().forEach(answerVO -> {
|
|
|
+ if (answerVO.getSort() == null) {
|
|
|
+ if (answerVO.getTitle().contains("糖尿病")) {
|
|
|
+ answerVO.setSort(1);
|
|
|
+ } else if (answerVO.getTitle().contains("心脑血管")) {
|
|
|
+ answerVO.setSort(2);
|
|
|
+ } else if (answerVO.getTitle().contains("风湿骨病")) {
|
|
|
+ answerVO.setSort(3);
|
|
|
+ } else if (answerVO.getTitle().contains("肝胆")) {
|
|
|
+ answerVO.setSort(4);
|
|
|
+ } else if (answerVO.getTitle().contains("其他")) {
|
|
|
+ answerVO.setSort(5);
|
|
|
+ } else if (answerVO.getTitle().contains("特殊")) {
|
|
|
+ answerVO.setSort(6);
|
|
|
+ }
|
|
|
+ }
|
|
|
if(answerVO.getFlag() == null) {
|
|
|
answerVO.setFlag(false);
|
|
|
}
|
|
|
@@ -312,10 +329,13 @@ public class FsUserInformationCollectionServiceImpl extends ServiceImpl<FsUserIn
|
|
|
// .sorted(Comparator.comparing(AnswerVO::getValue, Comparator.nullsFirst(Integer::compareTo)).reversed()).collect(Collectors.toList())
|
|
|
// .stream()
|
|
|
// .sorted((a,b)-> Boolean.compare(b.getFlag(),a.getFlag())).collect(Collectors.toList());
|
|
|
+ //List<AnswerVO> collect = vo.getAnswers().stream()
|
|
|
+ // .sorted(Comparator.comparing(AnswerVO::getValue, Comparator.nullsFirst(List::indexOf)).reversed()).collect(Collectors.toList())
|
|
|
+ // .stream()
|
|
|
+ // .sorted((a,b)-> Boolean.compare(b.getFlag(),a.getFlag())).collect(Collectors.toList());
|
|
|
List<AnswerVO> collect = vo.getAnswers().stream()
|
|
|
- .sorted(Comparator.comparing(AnswerVO::getValue, Comparator.nullsFirst(List::indexOf)).reversed()).collect(Collectors.toList())
|
|
|
- .stream()
|
|
|
- .sorted((a,b)-> Boolean.compare(b.getFlag(),a.getFlag())).collect(Collectors.toList());
|
|
|
+ .sorted(Comparator.comparing(AnswerVO::getSort)).collect(Collectors.toList());
|
|
|
+
|
|
|
vo.setAnswers(collect);
|
|
|
}
|
|
|
return vo;
|
|
|
@@ -331,6 +351,8 @@ public class FsUserInformationCollectionServiceImpl extends ServiceImpl<FsUserIn
|
|
|
FsUserInformationCollectionVO vo = new FsUserInformationCollectionVO();
|
|
|
FsUserInformationCollection collection = fsUserInformationCollectionMapper.selectFsUserInformationCollectionById(id);
|
|
|
if (collection != null) {
|
|
|
+ vo.setAllergy(collection.getAllergy());
|
|
|
+ vo.setRemark(collection.getRemark());
|
|
|
vo.setAnswers(JSON.parseArray(collection.getJsonInfo(), AnswerVO.class));
|
|
|
List<AnswerVO> answers = vo.getAnswers();
|
|
|
if (!CollectionUtils.isEmpty(answers)){
|
|
|
@@ -534,6 +556,8 @@ public class FsUserInformationCollectionServiceImpl extends ServiceImpl<FsUserIn
|
|
|
vo.setUserAdvice(collection.getUserAdvice());
|
|
|
vo.setDoctorAdvice(collection.getDoctorAdvice());
|
|
|
vo.setDoctor(doctorMapper.selectFsDoctorByDoctorId(collection.getDoctorId()));
|
|
|
+ vo.setAllergy(collection.getAllergy());
|
|
|
+ vo.setRemark(collection.getRemark());
|
|
|
}
|
|
|
return vo;
|
|
|
}
|
|
|
@@ -829,6 +853,8 @@ public class FsUserInformationCollectionServiceImpl extends ServiceImpl<FsUserIn
|
|
|
fsUserInformationCollection.setUserName(param.getUserName());
|
|
|
fsUserInformationCollection.setUserPhoneFour(param.getUserPhoneFour());
|
|
|
fsUserInformationCollection.setSex(param.getSex());
|
|
|
+ fsUserInformationCollection.setAllergy(param.getAllergy());
|
|
|
+ fsUserInformationCollection.setRemark(param.getRemark());
|
|
|
//获取医生信息
|
|
|
CompanyUser companyUser = companyUserMapper.selectCompanyUserById(param.getCompanyUserId());
|
|
|
if (companyUser == null) {
|
|
|
@@ -850,20 +876,21 @@ public class FsUserInformationCollectionServiceImpl extends ServiceImpl<FsUserIn
|
|
|
}
|
|
|
|
|
|
public static void main(String[] args) {
|
|
|
- String str1 = "[{\"options\":[{\"flag\":false,\"name\":\"通天\",\"value\":0},{\"flag\":false,\"name\":\"哈哈\",\"value\":1}],\"title\":\"测试标题1\",\"value\":1},{\"options\":[{\"flag\":false,\"name\":\"呼呼\",\"value\":0},{\"flag\":false,\"name\":\"嘻嘻\",\"value\":1}],\"title\":\"测试标题2\",\"value\":1},{\"options\":[{\"flag\":false,\"name\":\"胸痛\",\"value\":0},{\"flag\":false,\"name\":\"胸闷\",\"value\":1},{\"flag\":false,\"name\":\"头晕\",\"value\":2},{\"flag\":false,\"name\":\"肢体麻木\",\"value\":3},{\"flag\":false,\"name\":\"无\",\"value\":4}],\"title\":\"您目前是否有心脑血管相关症状,如胸痛、胸闷、头晕、肢体麻木等?\",\"value\":1}]";
|
|
|
- String str2 = "[{\"options\":[{\"flag\":true,\"name\":\"胸痛\",\"value\":0},{\"flag\":true,\"name\":\"胸闷\",\"value\":1},{\"flag\":true,\"name\":\"头晕\",\"value\":2},{\"flag\":true,\"name\":\"肢体麻木\",\"value\":3},{\"flag\":true,\"name\":\"无\",\"value\":4}],\"title\":\"您目前是否有心脑血管相关症状,如胸痛、胸闷、头晕、肢体麻木等?\",\"value\":1},{\"options\":[{\"flag\":false,\"name\":\"胃疼\",\"value\":0},{\"flag\":false,\"name\":\"反酸\",\"value\":1},{\"flag\":false,\"name\":\"恶心\",\"value\":2},{\"flag\":false,\"name\":\"呕吐\",\"value\":3},{\"flag\":false,\"name\":\"黑便\",\"value\":4},{\"flag\":false,\"name\":\"无\",\"value\":5}],\"title\":\"您近期是否出现胃部不适症状,如胃痛、反酸、恶心、呕吐或黑便?\",\"value\":1}]";
|
|
|
- List<AnswerVO> vo1 = null;
|
|
|
- List<AnswerVO> vo2 = JSON.parseArray(str2, AnswerVO.class);
|
|
|
- System.out.println(vo1);
|
|
|
- System.out.println(vo2);
|
|
|
- vo2.addAll(vo1);
|
|
|
- Map<String, List<AnswerVO>> collect = vo2.stream()
|
|
|
- .collect(Collectors.groupingBy(AnswerVO::getTitle));
|
|
|
- List<AnswerVO> collect1 = vo2.stream()
|
|
|
- .collect(Collectors.groupingBy(AnswerVO::getTitle))
|
|
|
- .values().stream()
|
|
|
- .map(group -> group.stream().reduce((a, b) -> a).orElse(null)).collect(Collectors.toList());
|
|
|
- System.out.println(JSON.toJSONString(collect));
|
|
|
- System.out.println(JSON.toJSONString(collect1));
|
|
|
+// String str1 = "[{\"options\":[{\"flag\":false,\"name\":\"通天\",\"value\":0},{\"flag\":false,\"name\":\"哈哈\",\"value\":1}],\"title\":\"测试标题1\",\"value\":1},{\"options\":[{\"flag\":false,\"name\":\"呼呼\",\"value\":0},{\"flag\":false,\"name\":\"嘻嘻\",\"value\":1}],\"title\":\"测试标题2\",\"value\":1},{\"options\":[{\"flag\":false,\"name\":\"胸痛\",\"value\":0},{\"flag\":false,\"name\":\"胸闷\",\"value\":1},{\"flag\":false,\"name\":\"头晕\",\"value\":2},{\"flag\":false,\"name\":\"肢体麻木\",\"value\":3},{\"flag\":false,\"name\":\"无\",\"value\":4}],\"title\":\"您目前是否有心脑血管相关症状,如胸痛、胸闷、头晕、肢体麻木等?\",\"value\":1}]";
|
|
|
+// String str2 = "[{\"options\":[{\"flag\":true,\"name\":\"胸痛\",\"value\":0},{\"flag\":true,\"name\":\"胸闷\",\"value\":1},{\"flag\":true,\"name\":\"头晕\",\"value\":2},{\"flag\":true,\"name\":\"肢体麻木\",\"value\":3},{\"flag\":true,\"name\":\"无\",\"value\":4}],\"title\":\"您目前是否有心脑血管相关症状,如胸痛、胸闷、头晕、肢体麻木等?\",\"value\":1},{\"options\":[{\"flag\":false,\"name\":\"胃疼\",\"value\":0},{\"flag\":false,\"name\":\"反酸\",\"value\":1},{\"flag\":false,\"name\":\"恶心\",\"value\":2},{\"flag\":false,\"name\":\"呕吐\",\"value\":3},{\"flag\":false,\"name\":\"黑便\",\"value\":4},{\"flag\":false,\"name\":\"无\",\"value\":5}],\"title\":\"您近期是否出现胃部不适症状,如胃痛、反酸、恶心、呕吐或黑便?\",\"value\":1}]";
|
|
|
+// List<AnswerVO> vo1 = null;
|
|
|
+// List<AnswerVO> vo2 = JSON.parseArray(str2, AnswerVO.class);
|
|
|
+// System.out.println(vo1);
|
|
|
+// System.out.println(vo2);
|
|
|
+// vo2.addAll(vo1);
|
|
|
+// Map<String, List<AnswerVO>> collect = vo2.stream()
|
|
|
+// .collect(Collectors.groupingBy(AnswerVO::getTitle));
|
|
|
+// List<AnswerVO> collect1 = vo2.stream()
|
|
|
+// .collect(Collectors.groupingBy(AnswerVO::getTitle))
|
|
|
+// .values().stream()
|
|
|
+// .map(group -> group.stream().reduce((a, b) -> a).orElse(null)).collect(Collectors.toList());
|
|
|
+// System.out.println(JSON.toJSONString(collect));
|
|
|
+// System.out.println(JSON.toJSONString(collect1));
|
|
|
+ boolean contains = "是否有糖尿病相关疾病?".contains("糖尿病");
|
|
|
}
|
|
|
}
|