Browse Source

电子处方可以按条件查询

lighter 7 months ago
parent
commit
becf4c76f9

+ 3 - 3
src/main/java/thyyxxk/webserver/controller/medicalinsurance/SiMzController.java

@@ -149,9 +149,9 @@ public class SiMzController {
         return ResultVoUtil.success(mzBlRecord);
     }
 
-    @GetMapping("/getRxIndex")
-    public ResultVo<List<RxIndex>> getRxIndex() {
-        return ResultVoUtil.success(service.getRxIndex());
+    @PostMapping("/getRxIndex")
+    public ResultVo<List<RxIndex>> getRxIndex(@RequestBody IndexInquiry inquiry) {
+        return ResultVoUtil.success(service.getRxIndex(inquiry));
     }
 
     @GetMapping("/getRxDetail")

+ 4 - 2
src/main/java/thyyxxk/webserver/dao/his/medicalinsurance/DigitalReceiptDao.java

@@ -4,6 +4,7 @@ import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Select;
 import org.apache.ibatis.annotations.Update;
 import thyyxxk.webserver.entity.medicalinsurance.digitalreceipt.*;
+import thyyxxk.webserver.entity.medicalinsurance.digitalreceipt.request.IndexInquiry;
 import thyyxxk.webserver.entity.medicalinsurance.digitalreceipt.request.RxRevokeRequest;
 import thyyxxk.webserver.entity.medicalinsurance.outpatient.MzPatientInfo;
 
@@ -16,8 +17,9 @@ public interface DigitalReceiptDao {
             "a.prsc_time,state=isnull(c.rx_state,'NEW_RECEIPT') " +
             "from t_rx_receiptinfo a,t_rx_mdtrtinfo b " +
             "left join t_rx_precheck c on c.hosp_rxno=b.hosp_rxno " +
-            "where a.hosp_rxno=b.hosp_rxno")
-    List<RxIndex> getRxIndex();
+            "where a.hosp_rxno=b.hosp_rxno and a.prsc_time>=#{begintime} " +
+            "and a.prsc_time<=#{endtime} order by a.prsc_time desc ")
+    List<RxIndex> getRxIndex(IndexInquiry inquiry);
 
     @Select("select original_rx_file from t_rx_precheck where hosp_rxno=#{hospRxno}")
     String getRxFile(String hospRxno);

+ 1 - 0
src/main/java/thyyxxk/webserver/entity/medicalinsurance/digitalreceipt/RxState.java

@@ -1,6 +1,7 @@
 package thyyxxk.webserver.entity.medicalinsurance.digitalreceipt;
 
 public enum RxState {
+    ALL,
     NEW_RECEIPT,
     PRE_CHECKED,
     SIGNED,

+ 13 - 0
src/main/java/thyyxxk/webserver/entity/medicalinsurance/digitalreceipt/request/IndexInquiry.java

@@ -0,0 +1,13 @@
+package thyyxxk.webserver.entity.medicalinsurance.digitalreceipt.request;
+
+import lombok.Data;
+import thyyxxk.webserver.entity.medicalinsurance.digitalreceipt.RxState;
+
+import java.util.Date;
+
+@Data
+public class IndexInquiry {
+    private Date begintime;
+    private Date endtime;
+    private RxState state;
+}

+ 12 - 3
src/main/java/thyyxxk/webserver/service/medicalinsurance/SiMzService.java

@@ -498,7 +498,6 @@ public class SiMzService {
             psninfo.setLedgerSn(0);
             psninfo.setPsnType(insuInfo.getPsnType());
             psninfo.setEmpName(insuInfo.getEmpName());
-            psninfo.setInsuplc(insuInfo.getInsuplcAdmdvs());
             psninfo.setBalc(insuInfo.getBalc());
             dao.insertSiMzInfoPsnNo(psninfo);
         } else {
@@ -602,8 +601,18 @@ public class SiMzService {
         return mzSrvc.directRegistration(siMzFeeUrl, params);
     }
 
-    public List<RxIndex> getRxIndex() {
-        return rxDao.getRxIndex();
+    public List<RxIndex> getRxIndex(IndexInquiry inquiry) {
+        if (null == inquiry.getBegintime()) {
+            inquiry.setBegintime(DateUtil.parse("2024-01-01", "yyyy-MM-dd"));
+        }
+        if (null == inquiry.getEndtime()) {
+            inquiry.setEndtime(new Date());
+        }
+        List<RxIndex> list = rxDao.getRxIndex(inquiry);
+        if (inquiry.getState() != RxState.ALL) {
+            list.removeIf(item -> item.getState() != inquiry.getState());
+        }
+        return list;
     }
 
     public String getRxDetail(String hospRxno) {