Просмотр исходного кода

断账患者的医保登记时间不能小于断账时间。

lighter 3 лет назад
Родитель
Сommit
c691bafb64

+ 1 - 7
pom.xml

@@ -10,7 +10,7 @@
     </parent>
     <groupId>thyyxxk</groupId>
     <artifactId>web-server</artifactId>
-    <version>2</version>
+    <version>1</version>
     <name>web-server</name>
     <description>server for yibao-web</description>
     <properties>
@@ -55,12 +55,6 @@
             <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
             <version>3.3.2</version>
         </dependency>
-        <dependency>
-            <groupId>com.oracle.database.jdbc</groupId>
-            <artifactId>ojdbc6</artifactId>
-            <version>11.2.0.4</version>
-        </dependency>
-
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-validation</artifactId>

+ 6 - 0
src/main/java/thyyxxk/webserver/controller/medicalinsurance/SiQueryController.java

@@ -138,6 +138,12 @@ public class SiQueryController {
         return service.selectSetldetailStatistics(condition);
     }
 
+    @GetMapping("/checkRegisterDate")
+    public ResultVo<String> checkRegisterDate(@RequestParam("patNo") String patNo,
+                                              @RequestParam("times") Integer times) {
+        return service.checkRegisterDate(patNo, times);
+    }
+
     @GetMapping("/weiJieSuanZaiYuanHuanZhe")
     public ResultVo<List<ZyActpatient>> weiJieSuanZaiYuanHuanZhe(@RequestParam("patNo") String patNo,
                                                                  @RequestParam("startTime") String startTime,

+ 7 - 1
src/main/java/thyyxxk/webserver/dao/his/medicalinsurance/SiQueryDao.java

@@ -176,7 +176,7 @@ public interface SiQueryDao {
             "admDeptName=(select rtrim(name) from zd_unit_code where code=isnull(c.zk_ward,c.small_dept)),  " +
             "c.bed_no as admBed,c.admiss_date as begntime, " +
             "endtime=(select account_date from zy_ledger_file d where d.inpatient_no=a.pat_no and d.admiss_times=a.times and " +
-            "d.ledger_sn=a.ledger_sn-1), " +
+            "d.ledger_sn=a.ledger_sn), " +
             "a.certno,a.mdtrt_cert_type, b.psn_idet_type,  " +
             "dscgMaindiagName=(select rtrim(dis_diag_comment) from zy_dis_diag_yb where zy_dis_diag_yb.inpatient_no=a.pat_no  " +
             "and zy_dis_diag_yb.admiss_times=a.times and zy_dis_diag_yb.dis_diag_no=1),  " +
@@ -392,6 +392,12 @@ public interface SiQueryDao {
     @Select("select name,code='' from t_si_admdvs where code=#{code}")
     PureCodeName selectAdmdvsName(@Param("code") String code);
 
+    @Select("select max(account_date) from zy_ledger_file where inpatient_no=#{patNo} and admiss_times=#{times}")
+    Date selectMaxLedgerAccountDate(@Param("patNo") String patNo,
+                                    @Param("times") int times);
+
+    @Select("select yb_register_date from zy_actpatient where inpatient_no=#{patNo}")
+    Date selectRegisterDate(@Param("patNo") String patNo);
 
     @Select("<script>" +
             "select                     rtrim(a.inpatient_no)     inpatient_no," +

+ 18 - 1
src/main/java/thyyxxk/webserver/service/medicalinsurance/SiQueryService.java

@@ -1601,5 +1601,22 @@ public class SiQueryService {
         return ResultVoUtil.success(actpatients);
     }
 
-
+    public ResultVo<String> checkRegisterDate(String patNo, Integer times) {
+        Date ledgerAccountDate = dao.selectMaxLedgerAccountDate(patNo, times);
+        if (null == ledgerAccountDate) {
+            return ResultVoUtil.success();
+        }
+        Date registerDate = dao.selectRegisterDate(patNo);
+        if (null == registerDate) {
+            return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "医保登记日期不能为空,请联系病房填写。");
+        }
+        Calendar ledgerCalendar = Calendar.getInstance();
+        ledgerCalendar.setTime(ledgerAccountDate);
+        Calendar registerCalendar = Calendar.getInstance();
+        registerCalendar.setTime(registerDate);
+        if (registerCalendar.after(ledgerCalendar)) {
+            return ResultVoUtil.success();
+        }
+        return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "医保登记日期不能小于断账日期,请联系病房修改。");
+    }
 }