Browse Source

Merge branch 'master' of https://gitlab.taihe.com/lighter/web-server

xiaochan 4 years ago
parent
commit
8a2d164fa0

+ 1 - 1
pom.xml

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

+ 6 - 0
src/main/java/thyyxxk/webserver/constants/sidicts/PolItemCode.java

@@ -41,12 +41,18 @@ public enum PolItemCode {
 
     EWBZDED("AB02", "额外补助第二段"),
 
+    YLBZQFBZ("YBS1", "医疗补助起付标准"),
+
     YLBZDYD("YB01", "医疗补助第一段"),
 
     YLBZDED("YB02", "医疗补助第二段"),
 
+    DEYD("L001", "大额一段"),
+
     CBFY("E000", "超标费用"),
 
+    ZWZL("S000", "转外自理"),
+
     JBYLCFDD("EC01", "基本医疗超封顶段");
 
     private final String code;

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

@@ -6,6 +6,7 @@ import thyyxxk.webserver.entity.ResultVo;
 import thyyxxk.webserver.entity.markmtfees.MzDepositFile;
 import thyyxxk.webserver.entity.markmtfees.MzReceipt;
 import thyyxxk.webserver.entity.markmtfees.OrderNo;
+import thyyxxk.webserver.entity.medicalinsurance.outpatient.SiMzDiag;
 import thyyxxk.webserver.entity.medicalinsurance.setlinfo.FundDetail;
 import thyyxxk.webserver.entity.medicalinsurance.outpatient.MzPatientInfo;
 import thyyxxk.webserver.entity.medicalinsurance.query.SiPatInfo;
@@ -97,4 +98,9 @@ public class SiMzController {
     public ResultVo<String> revokeOutpatientSettlement(@RequestBody MzPatientInfo p) {
         return service.revokeOutpatientSettlement(p);
     }
+
+    @PostMapping("/saveSiMzDiags")
+    public ResultVo<String> saveSiMzDiags(@RequestBody List<SiMzDiag> diags) {
+        return service.saveSiMzDiags(diags);
+    }
 }

+ 0 - 7
src/main/java/thyyxxk/webserver/controller/yibao/DictionaryController.java

@@ -15,7 +15,6 @@ import thyyxxk.webserver.service.yibao.DictionaryService;
 import thyyxxk.webserver.utils.ResultVoUtil;
 
 import java.util.List;
-import java.util.Map;
 
 /**
  * @author dj
@@ -31,12 +30,6 @@ public class DictionaryController {
         this.service = service;
     }
 
-    @PassToken
-    @GetMapping("/visitAndResponce")
-    public ResultVo<Map<String, List<PureCodeName>>> getVisitAndResponce() {
-        return service.getVisitAndResponce();
-    }
-
     @PostMapping("/executeSearch")
     public ResultVo<List<PureCodeName>> executeSearch(@RequestBody @Validated SearchDataParam param) {
         return service.executeSearch(param);

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

@@ -107,4 +107,13 @@ public interface SiMzDao {
             "from mz_charge_detail where patient_id=#{patNo} and times=#{times} and " +
             "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);
+
+    @Delete("delete from t_si_mz_diag where pat_no=#{patNo} and times=#{times}")
+    void deleteMzDiags(@Param("patNo") String patNo, @Param("times") int times);
+
+    @Insert("insert into t_si_mz_diag (pat_no, times, diag_srt_no, diag_type, diag_code, diag_name, diag_dept, " +
+            "dise_dor_no, dise_dor_name, diag_time, vali_flag, real_opter) " +
+            "values (#{patNo}, #{times}, #{diagSrtNo}, #{diagType}, #{diagCode}, #{diagName}, #{diagDept}, " +
+            "#{diseDorNo}, #{diseDorName}, #{diagTime}, #{valiFlag}, #{realOpter})")
+    void insertNewMzDiag(SiMzDiag diag);
 }

+ 69 - 0
src/main/java/thyyxxk/webserver/entity/medicalinsurance/outpatient/SiMzDiag.java

@@ -0,0 +1,69 @@
+package thyyxxk.webserver.entity.medicalinsurance.outpatient;
+
+import java.io.Serializable;
+import lombok.Data;
+import java.util.Date;
+
+@Data
+public class SiMzDiag implements Serializable {
+
+	private static final long serialVersionUID =  253205192902124404L;
+
+	/**
+	 * 门诊id
+	 */
+	private String patNo;
+
+	/**
+	 * 就诊次数
+	 */
+	private Integer times;
+
+	/**
+	 * 诊断排序号
+	 */
+	private Integer diagSrtNo;
+
+	/**
+	 * 诊断类别
+	 */
+	private String diagType;
+
+	/**
+	 * 诊断编码
+	 */
+	private String diagCode;
+
+	/**
+	 * 诊断名称
+	 */
+	private String diagName;
+
+	/**
+	 * 诊断科室
+	 */
+	private String diagDept;
+
+	/**
+	 * 诊断医生编码
+	 */
+	private String diseDorNo;
+
+	/**
+	 * 诊断医生姓名
+	 */
+	private String diseDorName;
+
+	/**
+	 * 诊断时间
+	 */
+	private Date diagTime;
+
+	/**
+	 * 有效标志
+	 */
+	private String valiFlag;
+
+	private String realOpter;
+	private Date realOpTime;
+}

+ 0 - 1
src/main/java/thyyxxk/webserver/service/externalhttp/SiMzSrvc.java

@@ -10,7 +10,6 @@ import thyyxxk.webserver.entity.medicalinsurance.query.SiPatInfo;
 import thyyxxk.webserver.entity.medicalinsurance.setlinfo.FundDetail;
 
 @BaseRequest(baseURL = "http://172.16.32.166:1100/mzFee")
-//@BaseRequest(baseURL = "http://localhost:1000/mzFee")
 public interface SiMzSrvc {
 
     @Post("/outpatientRegistration")

+ 14 - 0
src/main/java/thyyxxk/webserver/service/medicalinsurance/SiMzService.java

@@ -267,4 +267,18 @@ public class SiMzService {
         }
         return mzSrvc.revokeOutpatientSettlement(p);
     }
+
+    public ResultVo<String> saveSiMzDiags(List<SiMzDiag> diags) {
+        if (ListUtil.isBlank(diags)) {
+            return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "没有要保存的诊断!");
+        }
+        SiMzDiag diag = diags.get(0);
+        dao.deleteMzDiags(diag.getPatNo(), diag.getTimes());
+        String staffId = TokenUtil.getTokenUserId();
+        for (SiMzDiag itm : diags) {
+            itm.setRealOpter(staffId);
+            dao.insertNewMzDiag(itm);
+        }
+        return ResultVoUtil.success("门诊诊断保存成功。");
+    }
 }

+ 7 - 9
src/main/java/thyyxxk/webserver/service/medicalinsurance/SiQueryService.java

@@ -881,14 +881,6 @@ public class SiQueryService {
             selfPaySum = selfPaySum.add(selfPayAmt);
             fundPaySum = fundPaySum.add(fundPayAmt);
 
-            if (itm.getString("polItemName").trim().equals("大额一段")) {
-                lst.setBigAmtFrstLvPsnAmt(selfPayAmt);
-                lst.setBigAmtFrstLvPsnProp(selfPayProp);
-                lst.setBigAmtFrstLvFundAmt(fundPayAmt);
-                lst.setBigAmtFrstLvFundProp(fundPayProp);
-                lst.setBigAmtFrstLvSum(polItemPaySum);
-            }
-
             PolItemCode polItemCode = PolItemCode.get(itm.getString("polItemCode"));
             if (null == polItemCode) {
                 String message = String.format("找到了字典缺失的政策项:%s", itm);
@@ -896,7 +888,6 @@ public class SiQueryService {
                 wxsrvc.sendCorpWxMsg("2801", message);
                 continue;
             }
-
             switch (polItemCode) {
                 case QZF:
                     lst.setSelfPayPsnAmt(selfPayAmt);
@@ -940,6 +931,13 @@ public class SiQueryService {
                     lst.setFundScndLvFundProp(fundPayProp);
                     lst.setFundScndLvSum(polItemPaySum);
                     break;
+                case DEYD:
+                    lst.setBigAmtFrstLvPsnAmt(selfPayAmt);
+                    lst.setBigAmtFrstLvPsnProp(selfPayProp);
+                    lst.setBigAmtFrstLvFundAmt(fundPayAmt);
+                    lst.setBigAmtFrstLvFundProp(fundPayProp);
+                    lst.setBigAmtFrstLvSum(polItemPaySum);
+                    break;
             }
         }
         lst.setAllPsnAmt(selfPaySum);

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

@@ -3,7 +3,6 @@ package thyyxxk.webserver.service.yibao;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import thyyxxk.webserver.config.exception.ExceptionEnum;
-import thyyxxk.webserver.constants.Capacity;
 import thyyxxk.webserver.dao.his.yibao.DictionaryDao;
 import thyyxxk.webserver.entity.ResultVo;
 import thyyxxk.webserver.entity.dictionary.PureCodeName;
@@ -12,9 +11,7 @@ import thyyxxk.webserver.entity.medicalinsurance.inpatient.SpecialDiag;
 import thyyxxk.webserver.utils.ResultVoUtil;
 
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 
 /**
  * @author dj
@@ -28,13 +25,6 @@ public class DictionaryService {
         this.dao = dao;
     }
 
-    public ResultVo<Map<String, List<PureCodeName>>> getVisitAndResponce() {
-        Map<String, List<PureCodeName>> map = new HashMap<>(Capacity.TWO);
-        map.put("visitTypes", dao.getVisitType());
-        map.put("responceTypes", dao.getResponceType());
-        return ResultVoUtil.success(map);
-    }
-
     public ResultVo<List<PureCodeName>> executeSearch(SearchDataParam param) {
         switch (param.getTarget()) {
             case "physician":