|
@@ -0,0 +1,399 @@
|
|
|
|
+package com.diagbot.facade;
|
|
|
|
+
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
|
+import com.diagbot.dto.GetInquiryDetailDTO;
|
|
|
|
+import com.diagbot.dto.HistoryInquiryDTO;
|
|
|
|
+import com.diagbot.dto.InquiryDTO;
|
|
|
|
+import com.diagbot.dto.InquiryPatDTO;
|
|
|
|
+import com.diagbot.dto.SaveInquiryDTO;
|
|
|
|
+import com.diagbot.entity.Client;
|
|
|
|
+import com.diagbot.entity.InquiryDetail;
|
|
|
|
+import com.diagbot.entity.InquiryInfo;
|
|
|
|
+import com.diagbot.entity.JSONResponseBean;
|
|
|
|
+import com.diagbot.entity.Option;
|
|
|
|
+import com.diagbot.entity.Request;
|
|
|
|
+import com.diagbot.entity.Response;
|
|
|
|
+import com.diagbot.enums.IdTypeEnum;
|
|
|
|
+import com.diagbot.enums.IsDeleteEnum;
|
|
|
|
+import com.diagbot.exception.CommonErrorCode;
|
|
|
|
+import com.diagbot.exception.CommonException;
|
|
|
|
+import com.diagbot.idc.VisibleIdCreater;
|
|
|
|
+import com.diagbot.service.impl.InquiryDetailServiceImpl;
|
|
|
|
+import com.diagbot.service.impl.InquiryInfoServiceImpl;
|
|
|
|
+import com.diagbot.util.BeanUtil;
|
|
|
|
+import com.diagbot.util.DateUtil;
|
|
|
|
+import com.diagbot.util.EntityUtil;
|
|
|
|
+import com.diagbot.util.FastJsonUtils;
|
|
|
|
+import com.diagbot.util.GsonUtil;
|
|
|
|
+import com.diagbot.util.HttpUtils;
|
|
|
|
+import com.diagbot.util.IdCard;
|
|
|
|
+import com.diagbot.util.ListUtil;
|
|
|
|
+import com.diagbot.util.StringUtil;
|
|
|
|
+import com.diagbot.vo.HistoryInquiryVO;
|
|
|
|
+import com.diagbot.vo.HospitalVO;
|
|
|
|
+import com.diagbot.vo.InquiryDetailVO;
|
|
|
|
+import com.diagbot.vo.InquiryMechVO;
|
|
|
|
+import com.diagbot.vo.InquiryPatInquiryVO;
|
|
|
|
+import com.diagbot.vo.InquiryPatVO;
|
|
|
|
+import com.diagbot.vo.SaveInquiryDetailVO;
|
|
|
|
+import com.diagbot.vo.SaveInquiryVO;
|
|
|
|
+import com.google.common.collect.Lists;
|
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
+import org.springframework.beans.factory.annotation.Qualifier;
|
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
|
|
+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;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ * @Description:
|
|
|
|
+ * @author: zhoutg
|
|
|
|
+ * @time: 2020/2/1 23:33
|
|
|
|
+ */
|
|
|
|
+@Component
|
|
|
|
+@Slf4j
|
|
|
|
+public class InquiryInfoFacade extends InquiryInfoServiceImpl {
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ OptInfoFacade optInfoFacade;
|
|
|
|
+ @Autowired
|
|
|
|
+ InquiryDetailFacade inquiryDetailFacade;
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ @Qualifier("inquiryDetailServiceImpl")
|
|
|
|
+ private InquiryDetailServiceImpl inquiryDetailService;
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ private VisibleIdCreater visibleIdCreater;
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ private SysSetFacade sysSetFacade;
|
|
|
|
+
|
|
|
|
+ @Value("${nali.apiUrl}")
|
|
|
|
+ private String apiUrl;
|
|
|
|
+ @Value("${nali.appKey}")
|
|
|
|
+ private String appKey;
|
|
|
|
+ @Value("${nali.appSecret}")
|
|
|
|
+ private String appSecret;
|
|
|
|
+
|
|
|
|
+ public SaveInquiryDTO saveInquiry(SaveInquiryVO saveInquiryVO) {
|
|
|
|
+ if (StringUtil.isBlank(saveInquiryVO.getHospitalCode())) {
|
|
|
|
+ saveInquiryVO.setHospitalCode("朗通通用");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ SaveInquiryDTO saveInquiryDTO = new SaveInquiryDTO();
|
|
|
|
+
|
|
|
|
+ Date now = DateUtil.now();
|
|
|
|
+ InquiryInfo inquiryInfo = null;
|
|
|
|
+ // 如果是身份证,获取性别和年龄
|
|
|
|
+ if (null != saveInquiryVO.getIdType()
|
|
|
|
+ && IdTypeEnum.IdentityCard.getKey() == saveInquiryVO.getIdType()) {
|
|
|
|
+ String idNum = saveInquiryVO.getIdNum();
|
|
|
|
+ if (StringUtil.isNotBlank(idNum)) {
|
|
|
|
+ saveInquiryVO.setPatAge(IdCard.getAgeByIdCardAddOne(idNum));
|
|
|
|
+ saveInquiryVO.setPatSex(IdCard.getGenderByIdCard(idNum));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ /*if (StringUtil.isNotBlank(saveInquiryVO.getHospitalCode())
|
|
|
|
+ && StringUtil.isNotBlank(saveInquiryVO.getPatName())
|
|
|
|
+ && !IntegerUtil.isNull(saveInquiryVO.getIdType())
|
|
|
|
+ && StringUtil.isNotBlank(saveInquiryVO.getIdNum())) {
|
|
|
|
+ if (sysSetFacade.isCover(saveInquiryVO.getHospitalCode())) {
|
|
|
|
+ String dateStr = DateUtil.formatDate(now);
|
|
|
|
+ inquiryInfo = this.getOne(new QueryWrapper<InquiryInfo>()
|
|
|
|
+ .eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
|
+ .eq("hospital_code", saveInquiryVO.getHospitalCode())
|
|
|
|
+ .eq("pat_name", saveInquiryVO.getPatName())
|
|
|
|
+ .eq("id_type", saveInquiryVO.getIdType())
|
|
|
|
+ .eq("id_num", saveInquiryVO.getIdNum())
|
|
|
|
+ .apply("date_format(gmt_modified, '%Y-%m-%d')={0}", dateStr), false
|
|
|
|
+ );
|
|
|
|
+ }
|
|
|
|
+ }*/
|
|
|
|
+
|
|
|
|
+ if (inquiryInfo == null) {
|
|
|
|
+ inquiryInfo = new InquiryInfo();
|
|
|
|
+ BeanUtil.copyProperties(saveInquiryVO, inquiryInfo);
|
|
|
|
+ inquiryInfo.setGmtCreate(now);
|
|
|
|
+ inquiryInfo.setGmtModified(now);
|
|
|
|
+ inquiryInfo.setIp(HttpUtils.getIpAddress());
|
|
|
|
+ save(inquiryInfo);
|
|
|
|
+ } else {
|
|
|
|
+ this.update(new UpdateWrapper<InquiryInfo>()
|
|
|
|
+ .set("ip", HttpUtils.getIpAddress())
|
|
|
|
+ .set("gmt_modified", now)
|
|
|
|
+ .set(StringUtil.isNotBlank(saveInquiryVO.getPhone()), "phone", saveInquiryVO.getPhone())
|
|
|
|
+ .set(StringUtil.isNotBlank(saveInquiryVO.getPersonnel()), "personnel", saveInquiryVO.getPersonnel())
|
|
|
|
+ .set(StringUtil.isNotBlank(saveInquiryVO.getAnxietyPoint()), "anxiety_point", saveInquiryVO.getAnxietyPoint())
|
|
|
|
+ .set(StringUtil.isNotBlank(saveInquiryVO.getAnxietyRange()), "anxiety_range", saveInquiryVO.getAnxietyRange())
|
|
|
|
+ .set(StringUtil.isNotBlank(saveInquiryVO.getAnxietyJudge()), "anxiety_judge", saveInquiryVO.getAnxietyJudge())
|
|
|
|
+ .set(StringUtil.isNotBlank(saveInquiryVO.getAnxietyAdvise()), "anxiety_advise", saveInquiryVO.getAnxietyAdvise())
|
|
|
|
+ .set(StringUtil.isNotBlank(saveInquiryVO.getDepressionPoint()), "depression_point", saveInquiryVO.getDepressionPoint())
|
|
|
|
+ .set(StringUtil.isNotBlank(saveInquiryVO.getDepressionRange()), "depression_range", saveInquiryVO.getDepressionRange())
|
|
|
|
+ .set(StringUtil.isNotBlank(saveInquiryVO.getDepressionJudge()), "depression_judge", saveInquiryVO.getDepressionJudge())
|
|
|
|
+ .set(StringUtil.isNotBlank(saveInquiryVO.getDepressionAdvise()), "depression_advise", saveInquiryVO.getDepressionAdvise())
|
|
|
|
+ .set(StringUtil.isNotBlank(saveInquiryVO.getMachineId()), "machine_id", saveInquiryVO.getMachineId())
|
|
|
|
+ .set("mpi_id", saveInquiryVO.getMpiId())
|
|
|
|
+ .set("app_id", saveInquiryVO.getAppId())
|
|
|
|
+ .eq("id", inquiryInfo.getId())
|
|
|
|
+ );
|
|
|
|
+ // 删除原明细
|
|
|
|
+ inquiryDetailFacade.update(new UpdateWrapper<InquiryDetail>()
|
|
|
|
+ .set("gmt_modified", now)
|
|
|
|
+ .set("is_deleted", IsDeleteEnum.Y.getKey())
|
|
|
|
+ .eq("inquiry_id", inquiryInfo.getId())
|
|
|
|
+ .eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
|
+ );
|
|
|
|
+ }
|
|
|
|
+ Long id = inquiryInfo.getId();
|
|
|
|
+ saveInquiryVO.setInquiryId(id);
|
|
|
|
+ List<InquiryDetail> inquiryDetailList = Lists.newArrayList();
|
|
|
|
+ for (SaveInquiryDetailVO saveInquiryDetailVO : saveInquiryVO.getDetailList()) {
|
|
|
|
+ InquiryDetail inquiryDetail = new InquiryDetail();
|
|
|
|
+ BeanUtil.copyProperties(saveInquiryDetailVO, inquiryDetail);
|
|
|
|
+ inquiryDetail.setInquiryId(id);
|
|
|
|
+ inquiryDetail.setGmtCreate(now);
|
|
|
|
+ inquiryDetail.setGmtModified(now);
|
|
|
|
+ if (ListUtil.isNotEmpty(saveInquiryDetailVO.getOptions())) {
|
|
|
|
+ inquiryDetail.setRemark(GsonUtil.toJson(saveInquiryDetailVO.getOptions()));
|
|
|
|
+ }
|
|
|
|
+ inquiryDetailList.add(inquiryDetail);
|
|
|
|
+ }
|
|
|
|
+ inquiryDetailService.saveBatch(inquiryDetailList);
|
|
|
|
+
|
|
|
|
+ HospitalVO hospitalVO = new HospitalVO();
|
|
|
|
+ hospitalVO.setHospitalCode(saveInquiryVO.getHospitalCode());
|
|
|
|
+ // 保存记录表
|
|
|
|
+ optInfoFacade.saveOptOnfo(hospitalVO, "2");
|
|
|
|
+
|
|
|
|
+ //邵逸夫医院 心理测试 对接纳里时,返回url
|
|
|
|
+ if (saveInquiryVO.getHospitalCode().equals("邵逸夫医院")
|
|
|
|
+ && saveInquiryVO.getFrom().equals("6")
|
|
|
|
+ && saveInquiryVO.getSource().equals("纳里")) {
|
|
|
|
+ List<String> naliRetList = getUrl(saveInquiryVO);
|
|
|
|
+ String retUrl = naliRetList.get(0);
|
|
|
|
+ saveInquiryDTO.setBody(retUrl);
|
|
|
|
+ saveInquiryDTO.setResponse(naliRetList.get(1));
|
|
|
|
+ saveInquiryDTO.setRequest(naliRetList.get(2));
|
|
|
|
+ saveInquiryDTO.setRequestBodys(naliRetList.get(3));
|
|
|
|
+ }
|
|
|
|
+ return saveInquiryDTO;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ public List<InquiryPatDTO> getPatListFac(InquiryPatVO inquiryPatVO) {
|
|
|
|
+ return this.getPatList(inquiryPatVO);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public String getMachineId() {
|
|
|
|
+ return visibleIdCreater.getNextId(6).toString();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public List<InquiryDTO> getPatInquiryFac(InquiryPatInquiryVO inquiryPatInquiryVO) {
|
|
|
|
+ return this.getPatInquiryList(inquiryPatInquiryVO);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public List<InquiryDTO> getInquirysByMech(InquiryMechVO inquiryMechVO) {
|
|
|
|
+ return this.getInquirysByMechId(inquiryMechVO);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public List<GetInquiryDetailDTO> getDetail(InquiryDetailVO inquiryDetailVO) {
|
|
|
|
+ List<InquiryDetail> list = inquiryDetailFacade.list(new QueryWrapper<InquiryDetail>()
|
|
|
|
+ .eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
|
+ .eq("inquiry_id", inquiryDetailVO.getId())
|
|
|
|
+ .orderByAsc("id")
|
|
|
|
+ );
|
|
|
|
+
|
|
|
|
+ List<GetInquiryDetailDTO> resList = new ArrayList<>();
|
|
|
|
+ if (ListUtil.isNotEmpty(list)) {
|
|
|
|
+ for (InquiryDetail inquiryDetail : list) {
|
|
|
|
+ GetInquiryDetailDTO getInquiryDetailDTO = new GetInquiryDetailDTO();
|
|
|
|
+ BeanUtil.copyProperties(inquiryDetail, getInquiryDetailDTO);
|
|
|
|
+ if (StringUtil.isNotBlank(inquiryDetail.getRemark())) {
|
|
|
|
+ getInquiryDetailDTO.setOptions(GsonUtil.toList(inquiryDetail.getRemark(), Option.class));
|
|
|
|
+ }
|
|
|
|
+ resList.add(getInquiryDetailDTO);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return resList;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 历史记录
|
|
|
|
+ *
|
|
|
|
+ * @param historyInquiryVO
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ public List<HistoryInquiryDTO> getHistoryInquiry(HistoryInquiryVO historyInquiryVO) {
|
|
|
|
+ //入参验证
|
|
|
|
+ if (null == historyInquiryVO) {
|
|
|
|
+ throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "请输入获取历史记录的参数!");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (StringUtil.isBlank(historyInquiryVO.getHospitalCode())) {
|
|
|
|
+ throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "请输入医院名称!");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (StringUtil.isBlank(historyInquiryVO.getMachineId())) {
|
|
|
|
+ if (StringUtil.isBlank(historyInquiryVO.getPatName()) || StringUtil.isBlank(historyInquiryVO.getIdNum())) {
|
|
|
|
+ throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "请输入机器ID或者同时输入证件号码和对应的姓名!");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //业务获取
|
|
|
|
+ List<HistoryInquiryDTO> historyInquiryDTOList = Lists.newLinkedList();
|
|
|
|
+ QueryWrapper<InquiryInfo> inquiryInfoQueryWrapper = new QueryWrapper<>();
|
|
|
|
+ inquiryInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
|
+ .eq("hospital_code", historyInquiryVO.getHospitalCode())
|
|
|
|
+ .eq(StringUtil.isNotBlank(historyInquiryVO.getPatName()), "pat_name", historyInquiryVO.getPatName())
|
|
|
|
+ .eq(StringUtil.isNotBlank(historyInquiryVO.getIdNum()), "id_num", historyInquiryVO.getIdNum())
|
|
|
|
+ .eq(StringUtil.isNotBlank(historyInquiryVO.getMachineId()), "machine_id", historyInquiryVO.getMachineId())
|
|
|
|
+ .orderByDesc("gmt_modified");
|
|
|
|
+ List<InquiryInfo> inquiryInfoList = this.list(inquiryInfoQueryWrapper);
|
|
|
|
+ if (ListUtil.isNotEmpty(inquiryInfoList)) {
|
|
|
|
+ if (sysSetFacade.isCover(historyInquiryVO.getHospitalCode())) {
|
|
|
|
+ List<String> keys = ListUtil.newArrayList();
|
|
|
|
+ for (int i = 0; i < inquiryInfoList.size(); i++) {
|
|
|
|
+ InquiryInfo myInquiryInfo = inquiryInfoList.get(i);
|
|
|
|
+ if (StringUtil.isNotBlank(myInquiryInfo.getPatName())
|
|
|
|
+ && StringUtil.isNotBlank(myInquiryInfo.getIdNum())
|
|
|
|
+ && (0 != myInquiryInfo.getIdType())) {
|
|
|
|
+ String key = myInquiryInfo.getIdType() + "_" + myInquiryInfo.getIdNum()
|
|
|
|
+ + "_" + myInquiryInfo.getPatName()
|
|
|
|
+ + "_" + DateUtil.format(myInquiryInfo.getGmtModified(), DateUtil.DATE_FORMAT);
|
|
|
|
+ if (keys.contains(key)) {
|
|
|
|
+ inquiryInfoList.remove(i--);
|
|
|
|
+ } else {
|
|
|
|
+ keys.add(key);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (ListUtil.isNotEmpty(inquiryInfoList)) {
|
|
|
|
+ List<Long> inquiryIdList = inquiryInfoList.stream().map(i -> i.getId()).collect(Collectors.toList());
|
|
|
|
+ QueryWrapper<InquiryDetail> inquiryDetailQueryWrapper = new QueryWrapper<>();
|
|
|
|
+ inquiryDetailQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
|
+ .in("inquiry_id", inquiryIdList)
|
|
|
|
+ .orderByAsc("inquiry_id", "id");
|
|
|
|
+ List<InquiryDetail> inquiryDetailList = inquiryDetailFacade.list(inquiryDetailQueryWrapper);
|
|
|
|
+ Map<Long, List<InquiryDetail>> detailMap = EntityUtil.makeEntityListMap(inquiryDetailList, "inquiryId");
|
|
|
|
+ for (InquiryInfo inquiryInfo : inquiryInfoList) {
|
|
|
|
+ HistoryInquiryDTO historyInquiryDTO = new HistoryInquiryDTO();
|
|
|
|
+ BeanUtil.copyProperties(inquiryInfo, historyInquiryDTO);
|
|
|
|
+ List<InquiryDetail> details = detailMap.get(inquiryInfo.getId());
|
|
|
|
+ List<GetInquiryDetailDTO> getInquiryDetailDTOList = Lists.newLinkedList();
|
|
|
|
+ if (ListUtil.isNotEmpty(details)) {
|
|
|
|
+ for (InquiryDetail inquiryDetail : details) {
|
|
|
|
+ GetInquiryDetailDTO getInquiryDetailDTO = new GetInquiryDetailDTO();
|
|
|
|
+ BeanUtil.copyProperties(inquiryDetail, getInquiryDetailDTO);
|
|
|
|
+ if (StringUtil.isNotBlank(inquiryDetail.getRemark())) {
|
|
|
|
+ getInquiryDetailDTO.setOptions(GsonUtil.toList(inquiryDetail.getRemark(), Option.class));
|
|
|
|
+ }
|
|
|
|
+ getInquiryDetailDTOList.add(getInquiryDetailDTO);
|
|
|
|
+ }
|
|
|
|
+ historyInquiryDTO.setDetailList(getInquiryDetailDTOList);
|
|
|
|
+ }
|
|
|
|
+ historyInquiryDTOList.add(historyInquiryDTO);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return historyInquiryDTOList;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ private List<String> getUrl(SaveInquiryVO saveInquiryVO) {
|
|
|
|
+ List<String> ret = Lists.newArrayList();
|
|
|
|
+ String retUrl = null;
|
|
|
|
+ Request request = null;
|
|
|
|
+ Response response = null;
|
|
|
|
+ try {
|
|
|
|
+ String encodingAesKey = "";
|
|
|
|
+ Client client = new Client(apiUrl, appKey, appSecret, encodingAesKey);
|
|
|
|
+ request = getltcs(saveInquiryVO);
|
|
|
|
+ response = client.execute(request);
|
|
|
|
+ log.info("request:" + FastJsonUtils.getBeanToJson(request));
|
|
|
|
+ log.info("requestBodys:" + FastJsonUtils.getBeanToJson(request.getBodys()));
|
|
|
|
+ log.info("response:" + FastJsonUtils.getBeanToJson(response));
|
|
|
|
+ if (response.isSuccess()) {
|
|
|
|
+ JSONResponseBean result = response.getJsonResponseBean();
|
|
|
|
+ retUrl = result.getBody().toString();
|
|
|
|
+ }
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ }
|
|
|
|
+ ret.add(retUrl);
|
|
|
|
+ ret.add(FastJsonUtils.getBeanToJson(response));
|
|
|
|
+ ret.add(FastJsonUtils.getBeanToJson(request));
|
|
|
|
+ ret.add(FastJsonUtils.getBeanToJson(request.getBodys()));
|
|
|
|
+ return ret;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private Request getltcs(SaveInquiryVO saveInquiryVO) {
|
|
|
|
+ List bodyList = new ArrayList<>();
|
|
|
|
+
|
|
|
|
+ List<Map<String, Object>> details = new ArrayList<>();
|
|
|
|
+ saveInquiryVO.getDetailList().forEach(i -> {
|
|
|
|
+ Map<String, Object> detail = new HashMap<>();
|
|
|
|
+ detail.put("question", i.getQuestion());
|
|
|
|
+ detail.put("answer", i.getAnswer());
|
|
|
|
+ List<Map<String, Object>> optionMapList = Lists.newArrayList();
|
|
|
|
+ if (ListUtil.isNotEmpty(i.getOptions())) {
|
|
|
|
+ i.getOptions().forEach(option -> {
|
|
|
|
+ optionMapList.add(FastJsonUtils.getJsonToMap(FastJsonUtils.getBeanToJson(option)));
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ detail.put("options", optionMapList);
|
|
|
|
+ details.add(detail);
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ Map<String, Object> body = new HashMap<>();
|
|
|
|
+ body.put("details", details);
|
|
|
|
+ body.put("mpiId", saveInquiryVO.getMpiId());
|
|
|
|
+ body.put("appId", saveInquiryVO.getAppId());
|
|
|
|
+ body.put("fromId", saveInquiryVO.getFrom());
|
|
|
|
+ body.put("sources", "langtong");
|
|
|
|
+ /*body.put("inquiryId", saveInquiryVO.getInquiryId());
|
|
|
|
+ body.put("anxietyPoint", saveInquiryVO.getAnxietyPoint());
|
|
|
|
+ body.put("anxietyRange", saveInquiryVO.getAnxietyRange());
|
|
|
|
+ body.put("anxietyJudge", saveInquiryVO.getAnxietyJudge());
|
|
|
|
+ body.put("anxietyAdvise", saveInquiryVO.getAnxietyAdvise());
|
|
|
|
+ body.put("depressionPoint", saveInquiryVO.getDepressionPoint());
|
|
|
|
+ body.put("depressionRange", saveInquiryVO.getDepressionRange());
|
|
|
|
+ body.put("depressionJudge", saveInquiryVO.getDepressionJudge());
|
|
|
|
+ body.put("depressionAdvise", saveInquiryVO.getDepressionAdvise());*/
|
|
|
|
+
|
|
|
|
+ String diagnosis = "";
|
|
|
|
+ diagnosis += saveInquiryVO.getAnxietyJudge() + "(" + saveInquiryVO.getAnxietyPoint() + ")" + System.lineSeparator();
|
|
|
|
+ diagnosis += saveInquiryVO.getAnxietyAdvise() + System.lineSeparator();
|
|
|
|
+ diagnosis += System.lineSeparator();
|
|
|
|
+ diagnosis += saveInquiryVO.getDepressionJudge() + "(" + saveInquiryVO.getDepressionPoint() + ")" + System.lineSeparator();
|
|
|
|
+ diagnosis += saveInquiryVO.getDepressionAdvise() + System.lineSeparator();
|
|
|
|
+ body.put("diagnosis", diagnosis);
|
|
|
|
+
|
|
|
|
+ body.put("doctorName", saveInquiryVO.getDoctorName());
|
|
|
|
+ body.put("organName", saveInquiryVO.getOrganName());
|
|
|
|
+ body.put("doctorId", saveInquiryVO.getDoctorId());
|
|
|
|
+ body.put("department", saveInquiryVO.getDepartment());
|
|
|
|
+ body.put("patientName", saveInquiryVO.getPatName());
|
|
|
|
+ body.put("patientAge", saveInquiryVO.getPatAge());
|
|
|
|
+ body.put("patientSex", saveInquiryVO.getPatientSex());
|
|
|
|
+ body.put("supplement", "");
|
|
|
|
+ body.put("pushList", Lists.newArrayList());
|
|
|
|
+ body.put("inquiryId", -1);
|
|
|
|
+
|
|
|
|
+ bodyList.add(body);
|
|
|
|
+
|
|
|
|
+ //X-Service-Id对应的值
|
|
|
|
+ String serviceId = "consult.questionRecordService";
|
|
|
|
+ //X-Service-Method对应的值
|
|
|
|
+ String method = "saveQuestionRecord";
|
|
|
|
+ return new Request(serviceId, method, bodyList);
|
|
|
|
+ }
|
|
|
|
+}
|