Browse Source

门特试算先看有没有结算

lighter 3 years ago
parent
commit
8b0b027bcd

+ 1 - 1
pom.xml

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

+ 5 - 5
src/main/java/thyyxxk/webserver/controller/medicalinsurance/MarkMtFeesController.java

@@ -82,11 +82,11 @@ public class MarkMtFeesController {
         FundDetail fund = result.getData();
         map.put("code", 0);
         Map<String, String> payInfo = new HashMap<>();
-        payInfo.put("cashPay", String.valueOf(fund.getCashPay()));
-        payInfo.put("selfPay", String.valueOf(fund.getSelfPay()));
-        payInfo.put("acctPay", String.valueOf(fund.getAcctPay()));
-        payInfo.put("fundPay", String.valueOf(fund.getFundPay()));
-        payInfo.put("totalCost", String.valueOf(fund.getTotalCost()));
+        payInfo.put("cashPay", fund.getCashPay());
+        payInfo.put("selfPay", fund.getSelfPay());
+        payInfo.put("acctPay", fund.getAcctPay());
+        payInfo.put("fundPay", fund.getFundPay());
+        payInfo.put("totalCost", fund.getTotalCost());
         map.put("payInfo", payInfo);
         log.info("{}:参数:{},结果:{}", logText, param, map);
         return map;

+ 2 - 135
src/main/java/thyyxxk/webserver/dao/his/yibao/DictionaryDao.java

@@ -54,141 +54,8 @@ public interface DictionaryDao {
     @Select("select diagnosis_code as code, diagnosis_name as name from t_si_dl_dss_dns where diagnosis_name LIKE #{content}")
     List<PureCodeName> searchDiagnoseByName(String content);
 
-
-    @Select("SELECT icdAllno AS code,icdName AS name FROM zd_icd_code_xnh WHERE py_code LIKE #{content}")
-    List<PureCodeName> search_04_n_n_diagByPinyin(String content);
-
-    @Select("SELECT icdAllno AS code,icdName AS name FROM zd_icd_code_xnh WHERE icdAllno LIKE #{content}")
-    List<PureCodeName> search_04_n_n_diagByCode(String content);
-
-    @Select("SELECT icdAllno AS code,icdName AS name FROM zd_icd_code_xnh WHERE icdName LIKE #{content}")
-    List<PureCodeName> search_04_n_n_diagByName(String content);
-
-    @Select("SELECT icd AS code,disease AS name FROM [insur_yb].dbo.bs_disease WHERE center_id='439900' AND " +
-            "charindex('_dbz',icd)=0 AND code_py LIKE #{content} order by disease")
-    List<PureCodeName> search_10_n_n_diagByPinyin(String content);
-
-    @Select("SELECT icd AS code,disease AS name FROM [insur_yb].dbo.bs_disease WHERE center_id='439900' AND " +
-            "charindex('_dbz',icd)=0 AND icd LIKE #{content} order by disease")
-    List<PureCodeName> search_10_n_n_diagByCode(String content);
-
-    @Select("SELECT icd AS code,disease AS name FROM [insur_yb].dbo.bs_disease WHERE center_id='439900' AND " +
-            "charindex('_dbz',icd)=0 AND disease LIKE #{content} order by disease")
-    List<PureCodeName> search_10_n_n_diagByName(String content);
-
-    @Select("SELECT icd AS code,disease AS name FROM [insur_yb].dbo.bs_disease WHERE center_id='439900' " +
-            "AND expire_date>getdate() AND (charindex('_dbz',icd)>0 or charindex('BGBZ',icd)>0) AND code_py LIKE #{content}")
-    List<PureCodeName> search_n_12_121_diagByPinyin(String content);
-
-    @Select("SELECT icd AS code,disease AS name FROM [insur_yb].dbo.bs_disease WHERE center_id='439900' " +
-            "AND expire_date>getdate() AND (charindex('_dbz',icd)>0 or charindex('BGBZ',icd)>0) AND icd LIKE #{content}")
-    List<PureCodeName> search_n_12_121_diagByCode(String content);
-
-    @Select("SELECT icd AS code,disease AS name FROM [insur_yb].dbo.bs_disease WHERE center_id='439900' " +
-            "AND expire_date>getdate() AND (charindex('_dbz',icd)>0 or charindex('BGBZ',icd)>0) AND disease LIKE #{content}")
-    List<PureCodeName> search_n_12_121_diagByName(String content);
-
-    @Select("SELECT icd AS code,disease AS name FROM [insur_yb].dbo.bs_disease WHERE center_id='439900' " +
-            "AND expire_date>getdate() AND charindex('_dbz',icd)=0 AND code_py LIKE #{content}")
-    List<PureCodeName> search_n_12_n_diagByPinyin(String content);
-
-    @Select("SELECT icd AS code,disease AS name FROM [insur_yb].dbo.bs_disease WHERE center_id='439900' " +
-            "AND expire_date>getdate() AND charindex('_dbz',icd)=0 AND icd LIKE #{content}")
-    List<PureCodeName> search_n_12_n_diagByCode(String content);
-
-    @Select("SELECT icd AS code,disease AS name FROM [insur_yb].dbo.bs_disease WHERE center_id='439900' " +
-            "AND expire_date>getdate() AND charindex('_dbz',icd)=0 AND disease LIKE #{content}")
-    List<PureCodeName> search_n_12_n_diagByName(String content);
-
-    @Select("SELECT icd AS code,disease AS name FROM [insur_szgs].dbo.bs_disease " +
-            "WHERE center_id='439901' AND expire_date>getdate() AND code_py LIKE #{content}")
-    List<PureCodeName> search_02_42_n_diagByPinyin(String content);
-
-    @Select("SELECT icd AS code,disease AS name FROM [insur_szgs].dbo.bs_disease " +
-            "WHERE center_id='439901' AND expire_date>getdate() AND icd LIKE #{content}")
-    List<PureCodeName> search_02_42_n_diagByCode(String content);
-
-    @Select("SELECT icd AS code,disease AS name FROM [insur_szgs].dbo.bs_disease " +
-            "WHERE center_id='439901' AND expire_date>getdate() AND disease LIKE #{content}")
-    List<PureCodeName> search_02_42_n_diagByName(String content);
-
-    @Select("SELECT rtrim(code) code,rtrim(name) name FROM yb_zd_icd_code WHERE gs_flag=1 AND py_code LIKE #{content}")
-    List<PureCodeName> search_n_42_n_diagByPinyin(String content);
-
-    @Select("SELECT rtrim(code) code,rtrim(name) name FROM yb_zd_icd_code WHERE gs_flag=1 AND code LIKE #{content}")
-    List<PureCodeName> search_n_42_n_diagByCode(String content);
-
-    @Select("SELECT rtrim(code) code,rtrim(name) name FROM yb_zd_icd_code WHERE gs_flag=1 AND name LIKE #{content}")
-    List<PureCodeName> search_n_42_n_diagByName(String content);
-
-    @Select("SELECT icd AS code,disease AS name FROM [insur_yb].dbo.bs_disease WHERE expire_date>getdate() " +
-            "AND charindex('_dbz',icd)=0 AND code_py LIKE #{content}")
-    List<PureCodeName> search_n_52_n_diagByPinyin(String content);
-
-    @Select("SELECT icd AS code,disease AS name FROM [insur_yb].dbo.bs_disease WHERE expire_date>getdate() " +
-            "AND charindex('_dbz',icd)=0 AND icd LIKE #{content}")
-    List<PureCodeName> search_n_52_n_diagByCode(String content);
-
-    @Select("SELECT icd AS code,disease AS name FROM [insur_yb].dbo.bs_disease WHERE expire_date>getdate() " +
-            "AND charindex('_dbz',icd)=0 AND disease LIKE #{content}")
-    List<PureCodeName> search_n_52_n_diagByName(String content);
-
-    @Select("SELECT rtrim(code) code,rtrim(name) name FROM yb_zd_icd_code WHERE gs_flag=1 AND py_code LIKE #{content}")
-    List<PureCodeName> search_n_44or46_n_diagByPinyin(String content);
-
-    @Select("SELECT rtrim(code) code,rtrim(name) name FROM yb_zd_icd_code WHERE gs_flag=1 AND code LIKE #{content}")
-    List<PureCodeName> search_n_44or46_n_diagByCode(String content);
-
-    @Select("SELECT rtrim(code) code,rtrim(name) name FROM yb_zd_icd_code WHERE gs_flag=1 AND name LIKE #{content}")
-    List<PureCodeName> search_n_44or46_n_diagByName(String content);
-
-    @Select("SELECT rtrim(code) code,rtrim(name) name FROM yb_zd_icd_code WHERE sy_flag=1 AND " +
-            "(charindex('SY',code)>0 or CHARINDEX('sy', code)>0) AND py_code LIKE #{content}")
-    List<PureCodeName> search_n_53or54_n_diagByPinyin(String content);
-
-    @Select("SELECT rtrim(code) code,rtrim(name) name FROM yb_zd_icd_code WHERE sy_flag=1 AND " +
-            "(charindex('SY',code)>0 or CHARINDEX('sy', code)>0) AND code LIKE #{content}")
-    List<PureCodeName> search_n_53or54_n_diagByCode(String content);
-
-    @Select("SELECT rtrim(code) code,rtrim(name) name FROM yb_zd_icd_code WHERE sy_flag=1 AND " +
-            "(charindex('SY',code)>0 or CHARINDEX('sy', code)>0) AND name LIKE #{content}")
-    List<PureCodeName> search_n_53or54_n_diagByName(String content);
-
-    @Select("SELECT rtrim(code) code,rtrim(name) name FROM yb_zd_icd_code WHERE sy_flag=1 AND " +
-            "charindex('sy',code)>0 AND py_code LIKE #{content}")
-    List<PureCodeName> search_n_31or73_n_diagByPinyin(String content);
-
-    @Select("SELECT rtrim(code) code,rtrim(name) name FROM yb_zd_icd_code WHERE sy_flag=1 AND " +
-            "charindex('sy',code)>0 AND code LIKE #{content}")
-    List<PureCodeName> search_n_31or73_n_diagByCode(String content);
-
-    @Select("SELECT rtrim(code) code,rtrim(name) name FROM yb_zd_icd_code WHERE sy_flag=1 AND " +
-            "charindex('sy',code)>0 AND name LIKE #{content}")
-    List<PureCodeName> search_n_31or73_n_diagByName(String content);
-
-    @Select("SELECT rtrim(code) code,rtrim(name) name FROM yb_zd_icd_code WHERE charindex('DBZ',code)=0 " +
-            "AND (charindex('SY',code)=0 or CHARINDEX('sy', code)=0) AND charindex('sy',code)=0 AND py_code LIKE #{content}")
-    List<PureCodeName> search_n_21or61_n_diagByPinyin(String content);
-
-    @Select("SELECT rtrim(code) code,rtrim(name) name FROM yb_zd_icd_code WHERE charindex('DBZ',code)=0 " +
-            "AND (charindex('SY',code)=0 or CHARINDEX('sy', code)=0) AND charindex('sy',code)=0 AND code LIKE #{content}")
-    List<PureCodeName> search_n_21or61_n_diagByCode(String content);
-
-    @Select("SELECT rtrim(code) code,rtrim(name) name FROM yb_zd_icd_code WHERE charindex('DBZ',code)=0 " +
-            "AND (charindex('SY',code)=0 or CHARINDEX('sy', code)=0) AND charindex('sy',code)=0 AND name LIKE #{content}")
-    List<PureCodeName> search_n_21or61_n_diagByName(String content);
-
-    @Select("SELECT rtrim(code) code,rtrim(name) name FROM yb_zd_icd_code WHERE " +
-            "charindex('DBZ',code)>0 AND py_code LIKE #{content}")
-    List<PureCodeName> search_n_23or63_n_diagByPinyin(String content);
-
-    @Select("SELECT rtrim(code) code,rtrim(name) name FROM yb_zd_icd_code WHERE " +
-            "charindex('DBZ',code)>0 AND code LIKE #{content}")
-    List<PureCodeName> search_n_23or63_n_diagByCode(String content);
-
-    @Select("SELECT rtrim(code) code,rtrim(name) name FROM yb_zd_icd_code WHERE " +
-            "charindex('DBZ',code)>0 AND name LIKE #{content}")
-    List<PureCodeName> search_n_23or63_n_diagByName(String content);
+    @Select("select code,disease_name as name from t_si_dl_slw_spc_chr where disease_name like #{content}")
+    List<PureCodeName> selectSlwSpcDiag(String content);
 
     @Select("select * from ${table}")
     List<SpecialDiag> selectAllSpecialDiags(@Param("table") String table);

+ 75 - 0
src/main/java/thyyxxk/webserver/entity/medicalinsurance/query/FeeDetl.java

@@ -132,6 +132,81 @@ public class FeeDetl {
      * */
     private String bilgDrName;
 
+    /**
+     * 限制使用标志
+     * */
+    private String lmtUsedFlag;
+
+    /**
+     * 医院制剂标志
+     * */
+    private String hospPrepFlag;
+
+    /**
+     * 医院审批标志
+     * */
+    private String hospApprFlag;
+
+    /**
+     * 中药使用方式
+     * */
+    private String tcmdrugUsedWay;
+
+    /**
+     * 生产地类别
+     * */
+    private String prodplacType;
+
+    /**
+     * 基本药物标志
+     * */
+    private String basMednFlag;
+
+    /**
+     * 医保谈判药品标志
+     * */
+    private String hiNegoDrugFlag;
+
+    /**
+     * 儿童用药标志
+     * */
+    private String chldMedcFlag;
+
+    /**
+     * 外检标志
+     * */
+    private String etipFlag;
+
+    /**
+     * 外检医院编码
+     * */
+    private String etipHospCode;
+
+    /**
+     * 出院带药标志
+     * */
+    private String dscgTkdrugFlag;
+
+    /**
+     * 目录特项标志
+     * */
+    private String listSpItemFlag;
+
+    /**
+     * 生育费用标志
+     * */
+    private String matnFeeFlag;
+
+    /**
+     * 直报标志
+     * */
+    private String drtReimFlag;
+
+    /**
+     * 备注
+     * */
+    private String memo;
+
     /**
      * 经办人ID
      * */

+ 5 - 5
src/main/java/thyyxxk/webserver/entity/medicalinsurance/setlinfo/FundDetail.java

@@ -9,9 +9,9 @@ import lombok.Data;
  */
 @Data
 public class FundDetail {
-    private Double totalCost;
-    private Double fundPay;
-    private Double acctPay;
-    private Double cashPay;
-    private Double selfPay;
+    private String totalCost;
+    private String fundPay;
+    private String acctPay;
+    private String cashPay;
+    private String selfPay;
 }

+ 24 - 16
src/main/java/thyyxxk/webserver/service/medicalinsurance/SiMzService.java

@@ -456,6 +456,8 @@ public class SiMzService {
         if (null == p.getTimes()) {
             p.setTimes(dao.selectMaxTimes(p.getPatNo()));
         }
+        ResultVo<FundDetail> fundDetail1 = getFundDetailResultVo(p);
+        if (fundDetail1 != null) return fundDetail1;
         PreSetlmt preSetlmt = dao.selectPreSetlmt(p.getPatNo(), p.getTimes());
         preSetlmt.setMedfeeSumamt(preSetlmt.getMedfeeSumamt().setScale(2, RoundingMode.HALF_UP));
         JSONObject input = exec.makeTradeHeaderWithInsureArea(SiFunction.OUTPATIENT_PRE_SETTLEMENT, preSetlmt.getInsuplcAdmdvs());
@@ -488,30 +490,36 @@ public class SiMzService {
             }
             JSONObject setlinfo = result.getJSONObject(OUTPUT).getJSONObject("setlinfo");
             FundDetail fundDetail = new FundDetail();
-            fundDetail.setTotalCost(setlinfo.getDouble("medfee_sumamt"));
-            fundDetail.setFundPay(setlinfo.getDouble("fund_pay_sumamt"));
-            fundDetail.setCashPay(setlinfo.getDouble("psn_cash_pay"));
-            fundDetail.setAcctPay(setlinfo.getDouble("acct_pay"));
-            fundDetail.setSelfPay(setlinfo.getDouble("psn_part_amt"));
+            fundDetail.setTotalCost(setlinfo.getString("medfee_sumamt"));
+            fundDetail.setFundPay(setlinfo.getString("fund_pay_sumamt"));
+            fundDetail.setCashPay(setlinfo.getString("psn_cash_pay"));
+            fundDetail.setAcctPay(setlinfo.getString("acct_pay"));
+            fundDetail.setSelfPay(setlinfo.getString("psn_part_amt"));
             return ResultVoUtil.success(fundDetail);
         }
         return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, result.getString(ERROR_MESSAGE));
     }
 
-    public ResultVo<FundDetail> outpatientSettlement(MzPatientInfo p) {
+    private ResultVo<FundDetail> getFundDetailResultVo(MzPatientInfo p) {
         SiSetlinfo sisetl = dao.selectSettledInfo(p.getPatNo(), p.getTimes());
         if (null != sisetl && null != sisetl.getSetlId()) {
             FundDetail fundDetail = new FundDetail();
-            fundDetail.setTotalCost(sisetl.getMedfeeSumamt());
-            fundDetail.setFundPay(sisetl.getFundPaySumamt());
-            fundDetail.setCashPay(sisetl.getPsnCashPay());
-            fundDetail.setAcctPay(sisetl.getAcctPay());
-            fundDetail.setSelfPay(sisetl.getPsnPartAmt());
+            fundDetail.setTotalCost(String.valueOf(sisetl.getMedfeeSumamt()));
+            fundDetail.setFundPay(String.valueOf(sisetl.getFundPaySumamt()));
+            fundDetail.setCashPay(String.valueOf(sisetl.getPsnCashPay()));
+            fundDetail.setAcctPay(String.valueOf(sisetl.getAcctPay()));
+            fundDetail.setSelfPay(String.valueOf(sisetl.getPsnPartAmt()));
             return ResultVoUtil.success(fundDetail);
         }
         if (null == p.getStaffId()) {
             p.setStaffId(TokenUtil.getTokenUserId());
         }
+        return null;
+    }
+
+    public ResultVo<FundDetail> outpatientSettlement(MzPatientInfo p) {
+        ResultVo<FundDetail> fundDetail1 = getFundDetailResultVo(p);
+        if (fundDetail1 != null) return fundDetail1;
         Setlmt setlmt = dao.selectSetlmt(p.getPatNo(), p.getTimes());
         JSONObject input = exec.makeTradeHeaderWithInsureArea(SiFunction.OUTPATIENT_SETTLEMENT, setlmt.getInsuplcAdmdvs());
         setlmt.setMdtrtCertType(MdtrtCertType.RESIDENT_IDENTITY_CARD.getCode());
@@ -551,11 +559,11 @@ public class SiMzService {
                 setldetailDao.insert(setldetailEntity);
             }
             FundDetail fundDetail = new FundDetail();
-            fundDetail.setTotalCost(setlEntity.getMedfeeSumamt());
-            fundDetail.setFundPay(setlEntity.getFundPaySumamt());
-            fundDetail.setCashPay(setlEntity.getPsnCashPay());
-            fundDetail.setAcctPay(setlEntity.getAcctPay());
-            fundDetail.setSelfPay(setlEntity.getPsnPartAmt());
+            fundDetail.setTotalCost(String.valueOf(setlEntity.getMedfeeSumamt()));
+            fundDetail.setFundPay(String.valueOf(setlEntity.getFundPaySumamt()));
+            fundDetail.setCashPay(String.valueOf(setlEntity.getPsnCashPay()));
+            fundDetail.setAcctPay(String.valueOf(setlEntity.getAcctPay()));
+            fundDetail.setSelfPay(String.valueOf(setlEntity.getPsnPartAmt()));
             return ResultVoUtil.success(fundDetail);
         }
         return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, result.getString(ERROR_MESSAGE));

+ 7 - 0
src/main/java/thyyxxk/webserver/service/yibao/DictionaryService.java

@@ -45,6 +45,8 @@ public class DictionaryService {
                 return ResultVoUtil.success(deepinRedeemType(param.getMethod(), param.getContent(), param.isAccurateSearch()));
             case "diag":
                 return ResultVoUtil.success(deepinDiag(param.getMethod(), param.getContent(), param.isAccurateSearch()));
+            case "slwspcdiag":
+                return ResultVoUtil.success(deepinSlwSpcDiag(param.getContent()));
         }
         return ResultVoUtil.fail(ExceptionEnum.NULL_POINTER);
     }
@@ -105,6 +107,11 @@ public class DictionaryService {
         }
     }
 
+    private List<PureCodeName> deepinSlwSpcDiag(String content) {
+        content = "%" + content + "%";
+        return dao.selectSlwSpcDiag(content);
+    }
+
     public ResultVo<List<SpecialDiag>> getAllSpecialDiags(String medType) {
         String tableName;
         if (medType.equals("2102")) {