Переглянути джерело

新农合审核通过时更新医疗卡号。

lighter 4 роки тому
батько
коміт
8aa1031244

+ 1 - 1
pom.xml

@@ -10,7 +10,7 @@
     </parent>
     <groupId>thyyxxk</groupId>
     <artifactId>web-server</artifactId>
-    <version>9.7.4</version>
+    <version>9.7.5</version>
     <name>web-server</name>
     <description>server for yibao-web</description>
     <properties>

+ 5 - 3
src/main/java/thyyxxk/webserver/dao/his/yibao/YbVerifyDao.java

@@ -14,9 +14,11 @@ import java.util.List;
  */
 @Mapper
 public interface YbVerifyDao {
-
-    @Update("update zy_actpatient set xnh_membersysno=#{memberNo} where inpatient_no=#{inpatientNo}")
-    void updateMemberSysNo(@Param("inpatientNo") String inpatientNo, @Param("memberNo") String memberNo);
+    @Update("update zy_actpatient set xnh_bookno=#{bookNo}, xnh_cardno=#{bookNo}, " +
+            "xnh_membersysno=#{memberNo} where inpatient_no=#{inpatientNo}")
+    void updateMemberSysNo(@Param("inpatientNo") String inpatientNo,
+                           @Param("memberNo") String memberNo,
+                           @Param("bookNo") String bookNo);
 
     @Select("select * from zy_xnh_record_sfz where inpatient_no=#{inpatientNo} and admiss_times=#{admissTimes}")
     IdCardUpload getSfzInfo(@Param("inpatientNo") String inpatientNo, @Param("admissTimes") Integer admissTimes);

+ 16 - 11
src/main/java/thyyxxk/webserver/service/yibao/YbVerifyService.java

@@ -32,19 +32,27 @@ public class YbVerifyService {
 
     @SuppressWarnings("unchecked")
     public ResultVo<String> approveYbsf(Patient param) {
-        log.info("医保身份审核通过 => 操作员:{},住院号:{},住院次数:{}", TokenUtil.getTokenUserId(),
+        String staff = TokenUtil.getTokenUserId();
+        log.info("医保身份审核通过 => 操作员:{},住院号:{},住院次数:{}", staff,
                 param.getInpatientNo(), param.getAdmissTimes());
         if (param.getResponceType().equals(ResponceType.NEW_RURAL_COOPERATIVE_MEDICAL_INSURANCE)) {
             ResultVo<Object> resultVo = httpPost("getFamilyMember", param, "04");
             if (resultVo.getCode() == ExceptionEnum.SUCCESS.getCode()) {
                 Map<String, Object> obj = FilterUtil.cast(resultVo.getData());
-                Map<String, String> members = FilterUtil.cast(obj.get("members"));
-                if (members.get("name").trim().equals(param.getName().trim())) {
-                    String memberSysNo = members.get("memberNo");
-                    param.setXnhMembersysno(memberSysNo);
-                    dao.updateMemberSysNo(param.getInpatientNo(), memberSysNo);
+                Map<String, String> family = FilterUtil.cast(obj.get("family"));
+                String bookNo = family.get("bookNo");
+                List<Map<String, String>> members = FilterUtil.cast(obj.get("members"));
+                for (Map<String, String> member : members) {
+                    if (member.get("name").trim().equals(param.getName().trim())) {
+                        String memberSysNo = member.get("memberNo");
+                        param.setXnhMembersysno(memberSysNo);
+                        dao.updateMemberSysNo(param.getInpatientNo(), memberSysNo, bookNo);
+                        log.info("【操作员:{},住院号:{}】更新农合成员编号:{},医疗证、卡号:{}",
+                                staff, param.getInpatientNo(), memberSysNo, bookNo);
+                        resultVo = httpPost("register", param, "04");
+                        break;
+                    }
                 }
-                resultVo = httpPost("register", param, "04");
                 if (resultVo.getCode() == ExceptionEnum.SUCCESS.getCode()) {
                     IdCardUpload info = dao.getSfzInfo(param.getInpatientNo(), param.getAdmissTimes());
                     if (info == null || info.getFileSfz() == null) {
@@ -57,15 +65,12 @@ public class YbVerifyService {
                         dao.approveYbsf(param.getInpatientNo(), param.getAdmissTimes(), TokenUtil.getTokenUserId(), param.getYbRemark());
                         dao.updateZyActpatient(param.getInpatientNo(), param.getAdmissTimes());
                         return ResultVoUtil.success();
-                    } else {
-                        return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, resultVo.getMessage());
                     }
-                } else {
                     return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, resultVo.getMessage());
                 }
-            } else {
                 return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, resultVo.getMessage());
             }
+            return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, resultVo.getMessage());
         } else {
             dao.approveYbsf(param.getInpatientNo(), param.getAdmissTimes(), TokenUtil.getTokenUserId(), param.getYbRemark());
             dao.updateZyActpatient(param.getInpatientNo(), param.getAdmissTimes());