Sfoglia il codice sorgente

门特处方显示优化

lighter 3 anni fa
parent
commit
2ba666c299

+ 3 - 0
src/main/java/thyyxxk/webserver/dao/his/medicalinsurance/SiMzDao.java

@@ -108,6 +108,9 @@ public interface SiMzDao {
             "receipt_no=#{receipt} and bill_item_code!='TC' and charge_item_code!='BILL99'")
     List<MzReceipt> selectMzCharge(@Param("patNo") String patNo, @Param("times") int times, @Param("receipt") int receipt);
 
+    @Select("select max(national_code) from ${table} where code=#{code}")
+    String selectNationalCode(@Param("code") String code, @Param("table") String table);
+
     @Delete("delete from t_si_mz_diag where pat_no=#{patNo} and times=#{times}")
     void deleteMzDiags(@Param("patNo") String patNo, @Param("times") int times);
 

+ 4 - 2
src/main/java/thyyxxk/webserver/service/medicalinsurance/SiMzService.java

@@ -130,13 +130,12 @@ public class SiMzService {
     public ResultVo<List<MzReceipt>> getHistoryReceiptDetail(MzDepositFile mzDepositFile) {
         List<MzReceipt> mzReceipts = dao.selectMzCharge(mzDepositFile.getPatNo(),
                 mzDepositFile.getTimes(), mzDepositFile.getReceiptNo());
-        mzReceipts.forEach(itm -> itm.setChecked(true));
+        mzReceipts.forEach(itm -> itm.setChecked(StringUtil.notBlank(itm.getNationalCode())));
         return ResultVoUtil.success(mzReceipts);
     }
 
     private MzReceipt fillMzReceipt(Map<String, Object> detail) {
         MzReceipt receipt = new MzReceipt();
-        receipt.setChecked(true);
         receipt.setReceiptNo((int) detail.get("receiptNo"));
         receipt.setOrderNo((int) detail.get("orderNo"));
         receipt.setItemNo((int) detail.get("itemNo"));
@@ -151,6 +150,9 @@ public class SiMzService {
         receipt.setGroupNo(detail.get("groupNo").toString());
         receipt.setBillItemCode(detail.get("billItemCode").toString());
         receipt.setChargeBillCode(detail.get("chargeBillCode").toString());
+        String table = receipt.getGroupNo().trim().equals("00") ? "zd_charge_item" : "yp_zd_dict";
+        receipt.setNationalCode(dao.selectNationalCode(receipt.getChargeItemCode(), table));
+        receipt.setChecked(StringUtil.notBlank(receipt.getNationalCode()));
         if (null != detail.get("instructionText")) {
             receipt.setInstructionText(detail.get("instructionText").toString());
         }