Browse Source

ICSS引用预问诊接口修改

rengb 5 years ago
parent
commit
d8f301d3d1

+ 53 - 30
prec-service/src/main/java/com/diagbot/facade/InquiryInfoFacade.java

@@ -297,9 +297,9 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
         QueryWrapper<InquiryInfo> inquiryInfoQe = new QueryWrapper<InquiryInfo>();
         inquiryInfoQe.eq(getInquiryDetailVO.getInquiryId() != null,
                 "id", getInquiryDetailVO.getInquiryId());
+        inquiryInfoQe.eq("is_deleted", IsDeleteEnum.N.getKey());
         inquiryInfoQe.eq(!sysSetFacade.isQuoteShow(getInquiryDetailVO.getHospitalCode()),
-                "is_deleted", IsDeleteEnum.N.getKey());
-        inquiryInfoQe.eq("is_quoted", InquiryQuotedTypeEnum.Disable.getKey());
+                "is_quoted", InquiryQuotedTypeEnum.Disable.getKey());
         inquiryInfoQe.eq(getInquiryDetailVO.getHospitalId() != null,
                 "hospital_id", getInquiryDetailVO.getHospitalId());
         inquiryInfoQe.eq(StringUtil.isNotBlank(getInquiryDetailVO.getHospitalCode()),
@@ -488,40 +488,63 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
         if (!inquiryInfo.getHospitalCode().equals(inquiryQuoteForIcssVO.getHospitalCode())) {
             throw new CommonException(CommonErrorCode.RPC_ERROR, "医院不一致");
         }
-        if (inquiryInfo.getIsQuoted() == 1) {
+
+        Date now = DateUtil.now();
+        InquiryQuote inquiryQuote = null;
+        if (inquiryInfo.getIsQuoted() == 0) {
+            inquiryInfo.setGmtModified(now);
+            inquiryInfo.setIsQuoted(1);
+            if (StringUtil.isBlank(inquiryInfo.getInquiryCode())) {
+                inquiryInfo.setInquiryCode(inquiryQuoteForIcssVO.getInquiryCode());
+            }
+            inquiryInfo.setPatientId(inquiryQuoteForIcssVO.getPatientId());
+            inquiryInfo.setPatientCode(inquiryQuoteForIcssVO.getPatientCode());
+            inquiryInfo.setPatientName(inquiryQuoteForIcssVO.getPatientName());
+            inquiryInfo.setPatientIdNo(
+                    StringUtil.isBlank(inquiryQuoteForIcssVO.getPatientIdentityNum())
+                            ? inquiryQuoteForIcssVO.getPatientIdNo()
+                            : inquiryQuoteForIcssVO.getPatientIdentityNum()
+            );
+            inquiryInfo.setPatientBirthday(inquiryQuoteForIcssVO.getPatientBirthday());
+            inquiryInfo.setPatientPhone(inquiryQuoteForIcssVO.getPatientPhone());
+            inquiryInfo.setPatientSex(inquiryQuoteForIcssVO.getPatientSex());
+            updateById(inquiryInfo);
+        } else if (sysSetFacade.isQuoteShow(inquiryQuoteForIcssVO.getHospitalCode())) {
+            QueryWrapper<InquiryQuote> inquiryQuoteQe = new QueryWrapper<>();
+            inquiryQuoteQe.eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .eq("inquiry_id", inquiryQuoteForIcssVO.getInquiryId())
+                    .eq("hospital_code", inquiryQuoteForIcssVO.getHospitalCode())
+                    .eq("hospital_dept_code", inquiryQuoteForIcssVO.getHospitalDeptCode())
+                    .eq("doctor_code", inquiryQuoteForIcssVO.getDoctorCode())
+                    .eq("patient_code", inquiryQuoteForIcssVO.getPatientCode())
+                    .eq("inquiry_code", inquiryQuoteForIcssVO.getInquiryCode())
+                    .eq(StringUtil.isNotBlank(inquiryQuoteForIcssVO.getSonHospitalCode()),
+                            "son_hospital_code", inquiryQuoteForIcssVO.getSonHospitalCode());
+            inquiryQuote = inquiryQuoteFacade.getOne(inquiryQuoteQe);
+        } else {
             return true;
         }
 
-        Date now = DateUtil.now();
-        inquiryInfo.setGmtModified(now);
-        inquiryInfo.setIsQuoted(1);
-        inquiryInfo.setInquiryCode(inquiryQuoteForIcssVO.getInquiryCode());
-        inquiryInfo.setPatientId(inquiryQuoteForIcssVO.getPatientId());
-        inquiryInfo.setPatientCode(inquiryQuoteForIcssVO.getPatientCode());
-        inquiryInfo.setPatientName(inquiryQuoteForIcssVO.getPatientName());
-        inquiryInfo.setPatientIdNo(
-                StringUtil.isBlank(inquiryQuoteForIcssVO.getPatientIdentityNum())
-                        ? inquiryQuoteForIcssVO.getPatientIdNo()
-                        : inquiryQuoteForIcssVO.getPatientIdentityNum()
-        );
-        inquiryInfo.setPatientBirthday(inquiryQuoteForIcssVO.getPatientBirthday());
-        inquiryInfo.setPatientPhone(inquiryQuoteForIcssVO.getPatientPhone());
-        inquiryInfo.setPatientSex(inquiryQuoteForIcssVO.getPatientSex());
-        updateById(inquiryInfo);
+        if (inquiryQuote == null) {
+            inquiryQuote = new InquiryQuote();
+            inquiryQuote.setGmtCreate(now);
+            BeanUtil.copyProperties(inquiryQuoteForIcssVO, inquiryQuote);
+            inquiryQuote.setRegVisitedState(inquiryInfo.getRegVisitedState());
+            inquiryQuote.setType(inquiryInfo.getType());
+            inquiryQuote.setDataJson(inquiryInfo.getDataJson());
+            inquiryQuote.setPatientIdNo(
+                    StringUtil.isBlank(inquiryQuoteForIcssVO.getPatientIdentityNum())
+                            ? inquiryQuoteForIcssVO.getPatientIdNo()
+                            : inquiryQuoteForIcssVO.getPatientIdentityNum()
+            );
 
-        InquiryQuote inquiryQuote = new InquiryQuote();
-        BeanUtil.copyProperties(inquiryQuoteForIcssVO, inquiryQuote);
-        inquiryQuote.setRegVisitedState(inquiryInfo.getRegVisitedState());
-        inquiryQuote.setType(inquiryInfo.getType());
-        inquiryQuote.setDataJson(inquiryInfo.getDataJson());
-        inquiryQuote.setPatientIdNo(
-                StringUtil.isBlank(inquiryQuoteForIcssVO.getPatientIdentityNum())
-                        ? inquiryQuoteForIcssVO.getPatientIdNo()
-                        : inquiryQuoteForIcssVO.getPatientIdentityNum()
-        );
-        inquiryQuoteFacade.save(inquiryQuote);
+        }
+        inquiryQuote.setGmtModified(now);
+        inquiryQuoteFacade.saveOrUpdate(inquiryQuote);
 
         return true;
     }
+
+
 }
 

+ 2 - 1
prec-service/src/main/java/com/diagbot/facade/SysSetFacade.java

@@ -8,6 +8,7 @@ import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.RespDTOUtil;
+import com.diagbot.util.StringUtil;
 import com.diagbot.vo.HospitalSetVO;
 import com.diagbot.vo.SysHospitalCodeVO;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -69,7 +70,7 @@ public class SysSetFacade {
             throw new CommonException(CommonErrorCode.RPC_ERROR, "获取配置数据失败!");
         }
 
-        return retData.data.get(0).getValue().equals("1");
+        return StringUtil.isNotBlank(retData.data.get(0).getValue()) && retData.data.get(0).getValue().equals("1");
     }
 
 }