lighter 3 роки тому
батько
коміт
9a1dd55103

+ 1 - 1
pom.xml

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

+ 80 - 0
src/main/java/thyyxxk/webserver/constants/sidicts/PsnIdetType.java

@@ -0,0 +1,80 @@
+package thyyxxk.webserver.constants.sidicts;
+
+import thyyxxk.webserver.utils.StringUtil;
+
+/**
+ * 人员身份类别
+ */
+public enum PsnIdetType {
+    YFRY("21", "优抚人员"),
+    YGXSJRJS("2101", "因公牺牲军人家属"),
+    TCXYDCJJR("2102", "退出现役的残疾军人"),
+    EDYJSCJR("2103", "二等乙级伤残军人"),
+    YZLJCJJR("2104", "一至六级残疾军人"),
+    LHJ("2105", "老红军"),
+    DFKZYFRY("2160", "地方扩展优抚人员"),
+    YLZGRY("22", "医疗照顾人员"),
+    FSJYSZZHTXLD("2201", "副省级以上在职和退休领导"),
+    LYYS("2211", "两院院士"),
+    SZZGYXZJ("2212", "省直直管优秀专家"),
+    GJJLM("2231", "国家级劳模"),
+    XSGWYDSJLM("2232", "享受公务员的省级劳模"),
+    YZYSGJYDY("2241", "亚洲以上冠军运动员"),
+    DFKZYLZGRY("2260", "地方扩展医疗照顾人员"),
+    YLJZRY("23", "医疗救助人员"),
+    SWRY("2301", "三无人员"),
+    JDLKPKRY("2302", "建档立卡贫困人员"),
+    DBJZDX("2303", "低保救助对象"),
+    TKJZDX("2304", "特困救助对象"),
+    DSRJZDX("2305", "低收入救助对象"),
+    SDFM("6008", "失独父母"),
+    YBZPJZDXHZTDJBRY("2306", "因病致贫救助对象(含重特大疾病人员)"),
+    NCWBH("2307", "农村五保户"),
+    CJRY("2308", "残疾人员"),
+    DFKZYLJZDXRY("2360", "地方扩展医疗救助对象人员"),
+    JR("24", "军人"),
+    XYJRJS("2401", "现役军人家属"),
+    DFKZJRRYQTJZRY("2460", "地方扩展军人人员,其他军转人员"),
+    JHSYH("31", "计划生育户"),
+    SNJZH("32", "双女结扎户"),
+    SJHH("33", "三结合户"),
+    DNH("34", "独女户"),
+    FQSYZBH("35", "放弃生育指标户"),
+    DSZNH("36", "独生子女户"),
+    DFKZQTTSDYRY("60", "地方扩展其他特殊待遇人员"),
+    WGJCBJDX("6001", "文革基残保健对象"),
+    WGQC("6002", "文革全残"),
+    JGQLGR("6003", "建国前老工人"),
+    JHSYH2("6004", "计划生育户"),
+    SXTMDMM("6005", "实行退牧的牧民"),
+    TDNYLDL("6006", "退地农业劳动力"),
+    CZC("6007", "城中村");
+
+    private final String code;
+    private final String name;
+
+    PsnIdetType(String code, String name) {
+        this.code = code;
+        this.name = name;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public static PsnIdetType get(String code) {
+        if (StringUtil.isBlank(code)) {
+            return null;
+        }
+        for (PsnIdetType patnCertType : PsnIdetType.values()) {
+            if (code.trim().equals(patnCertType.getCode())) {
+                return patnCertType;
+            }
+        }
+        return null;
+    }
+}

+ 35 - 0
src/main/java/thyyxxk/webserver/entity/medicalinsurance/inpatient/SiChargeTemp.java

@@ -87,4 +87,39 @@ public class SiChargeTemp implements Serializable {
 	 */
 	private String inscpScpAmt;
 
+	/**
+	 * 超限价金额
+	 * */
+	private String overlmtAmt;
+
+	/**
+	 * 单价
+	 * */
+	private String pric;
+
+	/**
+	 * 基本药物标志
+	 * */
+	private String basMednFlag;
+
+	/**
+	 * 医保谈判药品标志
+	 * */
+	private String hiNegoDrugFlag;
+
+	/**
+	 * 直报标志
+	 * */
+	private String drtReimFlag;
+
+	/**
+	 * 定价上限金额
+	 * */
+	private String pricUplmtAmt;
+
+	/**
+	 * 限制使用标志
+	 * */
+	private String lmtUsedFlag;
+
 }

+ 36 - 0
src/main/java/thyyxxk/webserver/entity/medicalinsurance/query/IdetInfo.java

@@ -0,0 +1,36 @@
+package thyyxxk.webserver.entity.medicalinsurance.query;
+
+import lombok.Data;
+
+/**
+ * 人员身份信息
+ * */
+@Data
+public class IdetInfo {
+    /**
+     * 人员身份类别
+     * */
+    private String psnIdetType;
+
+    /**
+     * 人员类别等级
+     * */
+    private String psnTypeLv;
+
+    /**
+     * 备注
+     * */
+    private String memo;
+
+    /**
+     * 开始时间
+     * */
+    private String begntime;
+
+    /**
+     * 结束时间
+     * */
+    private String endtime;
+
+    private String psnIdetTypeName;
+}

+ 5 - 0
src/main/java/thyyxxk/webserver/entity/medicalinsurance/query/PsnBaseInfo.java

@@ -86,6 +86,11 @@ public class PsnBaseInfo {
      * */
     List<InsuInfo> insuinfo;
 
+    /**
+     * 身份信息
+     * */
+    List<IdetInfo> idetInfos;
+
     private String gendName;
     private String psnCertTypeName;
 }

+ 3 - 1
src/main/java/thyyxxk/webserver/service/medicalinsurance/SiManageService.java

@@ -155,7 +155,7 @@ public class SiManageService {
             String setlOptins = info.getString("setl_optins");
             String optins;
             if (setlOptins.equals("430199")) {
-                optins = setlOptins;
+                optins = "430199(市本级)";
             } else {
                 optins = setlOptins.equals("439900") ? "439900(异地)" : dao.selectRegion(setlOptins);
             }
@@ -258,6 +258,8 @@ public class SiManageService {
         list.forEach(item -> {
             if (item.getClrOptins().equals("439900")) {
                 item.setClrOptinsName("439900(异地)");
+            } else if (item.getClrOptins().equals("430199")) {
+                item.setClrOptinsName("430199(市本级)");
             } else {
                 item.setClrOptinsName(dao.selectRegion(item.getClrOptins()));
             }

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

@@ -129,7 +129,6 @@ public class SiQueryService {
                 log.info("患者基本信息已更新:{}", psnBaseinfo);
                 output.put("times", qryPsnBsInfo.getTimes());
             }
-
             List<InsuInfo> list = new ArrayList<>();
             JSONArray insuinfo = output.getJSONArray("insuinfo");
             for (int i = 0; i < insuinfo.size(); i++) {
@@ -163,6 +162,18 @@ public class SiQueryService {
                 list.add(info);
             }
             psnBaseinfo.setInsuinfo(list);
+            List<IdetInfo> idetInfos = new ArrayList<>();
+            JSONArray idet = output.getJSONArray("idetinfo");
+            for (int i = 0; i < idet.size(); i++) {
+                JSONObject item = idet.getJSONObject(i);
+                IdetInfo info = JSONObject.parseObject(item.toJSONString(), IdetInfo.class);
+                PsnIdetType psnIdetType = PsnIdetType.get(info.getPsnIdetType());
+                if (null != psnIdetType) {
+                    info.setPsnIdetTypeName(psnIdetType.getName());
+                }
+                idetInfos.add(info);
+            }
+            psnBaseinfo.setIdetInfos(idetInfos);
             return ResultVoUtil.success(psnBaseinfo);
         }
         return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, result.getString(ERROR_MESSAGE));

+ 16 - 6
src/main/java/thyyxxk/webserver/service/medicalinsurance/SiZyService.java

@@ -19,7 +19,6 @@ import thyyxxk.webserver.entity.yibao.dismiss.YbSettleFee;
 import thyyxxk.webserver.entity.yibao.patient.Overview;
 import thyyxxk.webserver.service.yibao.DismissService;
 import thyyxxk.webserver.service.yibao.SettleService;
-import thyyxxk.webserver.service.yibao.XiangMuLuRuService;
 import thyyxxk.webserver.utils.*;
 import thyyxxk.webserver.websocket.WebSocketServer;
 
@@ -56,13 +55,12 @@ public class SiZyService {
     private final SiChargeTempDao chrgtmpdao;
     private final ExecService exec;
     private final DismissService dismissService;
-    private final XiangMuLuRuService xmlrService;
     private final SettleService settleService;
 
     @Autowired
     public SiZyService(SiZyDao dao, SiQueryDao qrydao, SiSetlinfoDao setlinfoDao,
                        SiSetldetailDao setldetldao, SiChargeTempDao chrgtmpdao, ExecService exec,
-                       DismissService dismissService, XiangMuLuRuService xmlrService, SettleService settleService) {
+                       DismissService dismissService, SettleService settleService) {
         this.dao = dao;
         this.qrydao = qrydao;
         this.setlinfodao = setlinfoDao;
@@ -70,7 +68,6 @@ public class SiZyService {
         this.chrgtmpdao = chrgtmpdao;
         this.exec = exec;
         this.dismissService = dismissService;
-        this.xmlrService = xmlrService;
         this.settleService = settleService;
     }
 
@@ -190,7 +187,6 @@ public class SiZyService {
         settleService.beforeUpload(o);
         dao.hisRecount(o.getInpatientNo(), o.getAdmissTimes(), o.getLedgerSn());
         o.setStaffId(TokenUtil.getTokenUserId());
-        xmlrService.yiZhuTuiFeiPiPei(o.getInpatientNo(), o.getAdmissTimes());
         ZyPatientInfo p = dao.selectPatientInfo(o.getInpatientNo());
         p.setSid(o.getSid());
         p.setLedgerSn(o.getLedgerSn());
@@ -263,10 +259,17 @@ public class SiZyService {
                     Double chargeAmt = upldretrn.getDouble("cnt");
                     String chrgitmLv = upldretrn.getString("chrgitm_lv");
                     String medChrgitemType = upldretrn.getString("med_chrgitm_type");
-                    String selfpayProp = upldretrn.getString("self_pay_prop");
+                    String selfpayProp = upldretrn.getString("selfpay_prop");
                     String fulamtOwnpayAmt = upldretrn.getString("fulamt_ownpay_amt;");
                     String preselfpayAmt = upldretrn.getString("preselfpay_amt");
                     String inscpScpAmt = upldretrn.getString("inscp_scp_amt");
+                    String overlmtAmt = upldretrn.getString("overlmt_amt");
+                    String pric = upldretrn.getString("pric");
+                    String basMednFlag = upldretrn.getString("bas_medn_flag");
+                    String hiNegoDrugFlag = upldretrn.getString("hi_nego_drug_flag");
+                    String drtReimFlag = upldretrn.getString("drt_reim_flag");
+                    String pricUplmtAmt = upldretrn.getString("pric_uplmt_amt");
+                    String lmtUsedFlag = upldretrn.getString("lmt_used_flag");
                     chrgtemp.setDetailSn(detailSn);
                     chrgtemp.setChargeFee(chargeFee);
                     chrgtemp.setChargeAmt(chargeAmt);
@@ -276,6 +279,13 @@ public class SiZyService {
                     chrgtemp.setFulamtOwnpayAmt(fulamtOwnpayAmt);
                     chrgtemp.setPreselfpayAmt(preselfpayAmt);
                     chrgtemp.setInscpScpAmt(inscpScpAmt);
+                    chrgtemp.setOverlmtAmt(overlmtAmt);
+                    chrgtemp.setPric(pric);
+                    chrgtemp.setBasMednFlag(basMednFlag);
+                    chrgtemp.setHiNegoDrugFlag(hiNegoDrugFlag);
+                    chrgtemp.setDrtReimFlag(drtReimFlag);
+                    chrgtemp.setPricUplmtAmt(pricUplmtAmt);
+                    chrgtemp.setLmtUsedFlag(lmtUsedFlag);
                     chrgtmpdao.insert(chrgtemp);
                 }
             } else {