lighter 4 anni fa
parent
commit
add7d8a16e

+ 1 - 1
pom.xml

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

+ 7 - 0
src/main/java/thyyxxk/webserver/dao/his/markmtfees/MarkMtFeesDao.java

@@ -5,6 +5,9 @@ import thyyxxk.webserver.pojo.markmtfees.*;
 
 import java.util.List;
 
+/**
+ * @author dj
+ */
 @Mapper
 public interface MarkMtFeesDao {
     @Select("select rtrim(social_no) from mz_patient_mi where patient_id=#{patientId}")
@@ -37,6 +40,10 @@ public interface MarkMtFeesDao {
                           @Param("responseType") String responseType,
                           @Param("ybType") String ybType);
 
+    @Delete("delete from mt_part_info where patient_id=#{patientId} and times=#{times}")
+    void clearMtPartInfo(@Param("patientId") String patientId,
+                         @Param("times") Integer times);
+
     @Insert("insert into mt_part_info (patient_id, times, icd, balance, serial_apply, responce_type) "+
             "values (#{patientId},#{times},#{icd},#{balance},#{apply}, '02')")
     void insertHnsybMtPartInfo(@Param("patientId") String patientId,

+ 29 - 24
src/main/java/thyyxxk/webserver/pojo/casefrontsheet/SheetInfo.java

@@ -3,11 +3,15 @@ package thyyxxk.webserver.pojo.casefrontsheet;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
+import thyyxxk.webserver.utils.StringUtil;
 
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
+/**
+ * @author dj
+ */
 @Data
 public class SheetInfo {
     private Integer fileStatus; // 0,未签收   1,已签收   2,已打印
@@ -180,8 +184,9 @@ public class SheetInfo {
 
     public String getResponceTypeName() {
         if (responceTypeName == null) {
-            if ("01".equals(responceType))
+            if ("01".equals(responceType)) {
                 return "自费";
+            }
         }
         return (responceTypeName) == null ? "" : (responceTypeName).trim();
     }
@@ -195,95 +200,95 @@ public class SheetInfo {
     }
 
     public String getNewBornWeight() {
-        return (newBornWeight) == null ? "-" : (newBornWeight).trim();
+        return StringUtil.isBlank(newBornWeight) ? "-" : (newBornWeight).trim();
     }
 
     public String getNewBornAdmissWeight() {
-        return (newBornAdmissWeight) == null ? "-" : (newBornAdmissWeight).trim();
+        return StringUtil.isBlank(newBornAdmissWeight) ? "-" : (newBornAdmissWeight).trim();
     }
 
     public String getAddrZipCode() {
-        return (addrZipCode) == null ? "-" : (addrZipCode).trim();
+        return StringUtil.isBlank(addrZipCode) ? "-" : (addrZipCode).trim();
     }
 
     public String getHkZipCode() {
-        return (hkZipCode) == null ? "-" : (hkZipCode).trim();
+        return StringUtil.isBlank(hkZipCode) ? "-" : (hkZipCode).trim();
     }
 
     public String getUnitName() {
-        return (unitName) == null ? "-" : (unitName).trim();
+        return StringUtil.isBlank(unitName) ? "-" : (unitName).trim();
     }
 
     public String getUnitPlace() {
-        return (unitPlace) == null ? "-" : (unitPlace).trim();
+        return StringUtil.isBlank(unitPlace) ? "-" : (unitPlace).trim();
     }
 
     public String getUnitPhone() {
-        return (unitPhone) == null ? "-" : (unitPhone).trim();
+        return StringUtil.isBlank(unitPhone) ? "-" : (unitPhone).trim();
     }
 
     public String getUnitZipCode() {
-        return (unitZipCode) == null ? "-" : (unitZipCode).trim();
+        return StringUtil.isBlank(unitZipCode) ? "-" : (unitZipCode).trim();
     }
 
     public String getHurtReasonName() {
-        return (hurtReasonName) == null ? "-" : (hurtReasonName).trim();
+        return StringUtil.isBlank(hurtReasonName) ? "-" : (hurtReasonName).trim();
     }
 
     public String getHurtReasonCode() {
-        return (hurtReasonCode) == null ? "-" : (hurtReasonCode).trim();
+        return StringUtil.isBlank(hurtReasonCode) ? "-" : (hurtReasonCode).trim();
     }
 
     public String getPathologicDiagStr() {
-        return (pathologicDiagStr) == null ? "-" : (pathologicDiagStr).trim();
+        return StringUtil.isBlank(pathologicDiagStr) ? "-" : (pathologicDiagStr).trim();
     }
 
     public String getPathologicDiagCode() {
-        return (pathologicDiagCode) == null ? "-" : (pathologicDiagCode).trim();
+        return StringUtil.isBlank(pathologicDiagCode) ? "-" : (pathologicDiagCode).trim();
     }
 
     public String getBlh() {
-        return (blh) == null ? "-" : (blh).trim();
+        return StringUtil.isBlank(blh) ? "-" : (blh).trim();
     }
 
     public String getComaDaysBeforeAdmiss() {
-        return (comaDaysBeforeAdmiss) == null ? "0" : (comaDaysBeforeAdmiss).trim();
+        return StringUtil.isBlank(comaDaysBeforeAdmiss) ? "0" : (comaDaysBeforeAdmiss).trim();
     }
 
     public String getComaHoursBeforeAdmiss() {
-        return (comaHoursBeforeAdmiss) == null ? "0" : (comaHoursBeforeAdmiss).trim();
+        return StringUtil.isBlank(comaHoursBeforeAdmiss) ? "0" : (comaHoursBeforeAdmiss).trim();
     }
 
     public String getComaMinutesBeforeAdmiss() {
-        return (comaMinutesBeforeAdmiss) == null ? "0" : (comaMinutesBeforeAdmiss).trim();
+        return StringUtil.isBlank(comaMinutesBeforeAdmiss) ? "0" : (comaMinutesBeforeAdmiss).trim();
     }
 
     public String getComaDaysAfterAdmiss() {
-        return (comaDaysAfterAdmiss) == null ? "0" : (comaDaysAfterAdmiss).trim();
+        return StringUtil.isBlank(comaDaysAfterAdmiss) ? "0" : (comaDaysAfterAdmiss).trim();
     }
 
     public String getComaHoursAfterAdmiss() {
-        return (comaHoursAfterAdmiss) == null ? "0" : (comaHoursAfterAdmiss).trim();
+        return StringUtil.isBlank(comaHoursAfterAdmiss) ? "0" : (comaHoursAfterAdmiss).trim();
     }
 
     public String getComaMinutesAfterAdmiss() {
-        return (comaMinutesAfterAdmiss) == null ? "0" : (comaMinutesAfterAdmiss).trim();
+        return StringUtil.isBlank(comaMinutesAfterAdmiss) ? "0" : (comaMinutesAfterAdmiss).trim();
     }
 
     public String getTotalCost() {
-        return (totalCost) == null ? "0" : (totalCost).trim();
+        return StringUtil.isBlank(totalCost) ? "0" : (totalCost).trim();
     }
 
     public String getSelfPay() {
-        return (selfPay) == null ? "0" : (selfPay).trim();
+        return StringUtil.isBlank(selfPay) ? "0" : (selfPay).trim();
     }
 
     public String getDismissDept() {
-        return (dismissDept == null || dismissDept.equals("")) ? getAdmissDept() : (dismissDept).trim();
+        return StringUtil.isBlank(dismissDept) ? getAdmissDept() : (dismissDept).trim();
     }
 
     public String getDismissWard() {
-        return (dismissWard == null || dismissWard.equals("")) ? getAdmissWard() : (dismissWard).trim();
+        return StringUtil.isBlank(dismissWard) ? getAdmissWard() : (dismissWard).trim();
     }
 
     public String getAdmissDays() {

+ 208 - 105
src/main/java/thyyxxk/webserver/utils/VerifyCaseFrontSheet.java → src/main/java/thyyxxk/webserver/service/casefrontsheet/VerifyCaseFrontSheet.java

@@ -1,16 +1,21 @@
-package thyyxxk.webserver.utils;
+package thyyxxk.webserver.service.casefrontsheet;
 
 import lombok.extern.slf4j.Slf4j;
 import thyyxxk.webserver.constants.Capacity;
 import thyyxxk.webserver.pojo.casefrontsheet.SheetDisdiag;
 import thyyxxk.webserver.pojo.casefrontsheet.SheetInfo;
 import thyyxxk.webserver.pojo.casefrontsheet.SheetSurgery;
+import thyyxxk.webserver.utils.DateUtil;
+import thyyxxk.webserver.utils.StringUtil;
 
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+/**
+ * @author dj
+ */
 @Slf4j
 public class VerifyCaseFrontSheet {
 
@@ -30,176 +35,244 @@ public class VerifyCaseFrontSheet {
         if (null != info.getLivePlace()) {
             try {
                 byte[] livePlaceBytes = info.getLivePlace().getBytes("GBK");
-                if (livePlaceBytes.length > 32)
+                if (livePlaceBytes.length > 32) {
                     builder.append("患者现住址不能超过32个字节,当前字节数为")
                             .append(livePlaceBytes.length)
                             .append("(1汉字=2字节,1字母或数字=1字节)!");
+                }
             } catch (Exception e) {
                 e.printStackTrace();
             }
         }
-        if (null != info.getHkPlaceName() && info.getHkPlaceName().length() > 10)
+        if (null != info.getHkPlaceName() && info.getHkPlaceName().length() > 10) {
             builder.append("患者户口地址不能超过10个汉字!");
-        if (null != info.getUnitPlace() && info.getUnitPlace().length() > 16)
+        }
+        if (null != info.getUnitPlace() && info.getUnitPlace().length() > 16) {
             builder.append("患者单位地址不能超过16个汉字!");
-        if (null != info.getContactAddrName() && info.getContactAddrName().length() > 16)
+        }
+        if (null != info.getContactAddrName() && info.getContactAddrName().length() > 16) {
             builder.append("患者联系人地址不能超过16个汉字!");
-        if (betweenDays(info.getQualityControlDate(), info.getDismissDate()) > 7)
+        }
+        if (betweenDays(info.getQualityControlDate(), info.getDismissDate()) > 7) {
             builder.append("质控日期不能大于出院7天!");
+        }
         return connectedVerify(builder, info);
     }
 
     public String printVerify(SheetInfo info) {
         StringBuilder sb = new StringBuilder();
-        if (StringUtil.isBlank(info.getName()))
+        if (StringUtil.isBlank(info.getName())) {
             sb.append("患者姓名不能为空!");
-        if (null == info.getBirthDate())
+        }
+        if (null == info.getBirthDate()) {
             sb.append("患者出生日期不能为空!");
-        if (StringUtil.isBlank(info.getAge()))
+        }
+        if (StringUtil.isBlank(info.getAge())) {
             sb.append("患者年龄不能为空!");
-        if (StringUtil.isBlank(info.getCountry()))
+        }
+        if (StringUtil.isBlank(info.getCountry())) {
             sb.append("患者国籍不能为空!");
-        if (StringUtil.isBlank(info.getBirthPlace()))
+        }
+        if (StringUtil.isBlank(info.getBirthPlace())) {
             sb.append("患者出生地不能为空!");
-        if (StringUtil.isBlank(info.getNativePlace()))
+        }
+        if (StringUtil.isBlank(info.getNativePlace())) {
             sb.append("患者籍贯不能为空!");
-        if (StringUtil.isBlank(info.getNation()))
+        }
+        if (StringUtil.isBlank(info.getNation())) {
             sb.append("患者民族不能为空!");
-        if (StringUtil.isBlank(info.getSocialNo()))
+        }
+        if (StringUtil.isBlank(info.getSocialNo())) {
             sb.append("患者身份证不能为空!");
-        if (StringUtil.isBlank(info.getOccupation()))
+        }
+        if (StringUtil.isBlank(info.getOccupation())) {
             sb.append("患者职业不能为空!");
-        if (StringUtil.isBlank(info.getMarriage()))
+        }
+        if (StringUtil.isBlank(info.getMarriage())) {
             sb.append("患者婚姻状况不能为空!");
-        if (StringUtil.isBlank(info.getLivePlace()))
+        }
+        if (StringUtil.isBlank(info.getLivePlace())) {
             sb.append("患者现住址不能为空!");
-        if (StringUtil.isBlank(info.getPhone()))
+        }
+        if (StringUtil.isBlank(info.getPhone())) {
             sb.append("患者电话不能为空!");
-        if (StringUtil.isBlank(info.getAddrZipCode()))
+        }
+        if (StringUtil.isBlank(info.getAddrZipCode())) {
             sb.append("现住址邮编不能为空!");
-        if (StringUtil.isBlank(info.getHkZipCode()))
+        }
+        if (StringUtil.isBlank(info.getHkZipCode())) {
             sb.append("户口地址邮编不能为空!");
-        if (StringUtil.isBlank(info.getUnitZipCode()))
+        }
+        if (StringUtil.isBlank(info.getUnitZipCode())) {
             sb.append("工作住址邮编不能为空!");
-        if (StringUtil.isBlank(info.getHkPlaceName()))
+        }
+        if (StringUtil.isBlank(info.getHkPlaceName())) {
             sb.append("患者户口地址不能为空!");
-        if (StringUtil.isBlank(info.getUnitName()) || StringUtil.isBlank(info.getUnitPlace()))
+        }
+        if (StringUtil.isBlank(info.getUnitName()) || StringUtil.isBlank(info.getUnitPlace())) {
             sb.append("患者工作单位及地址不能为空!");
-        if (StringUtil.isBlank(info.getUnitPhone()))
+        }
+        if (StringUtil.isBlank(info.getUnitPhone())) {
             sb.append("患者单位电话不能为空!");
-        if (StringUtil.isBlank(info.getContactName()))
+        }
+        if (StringUtil.isBlank(info.getContactName())) {
             sb.append("患者联系人姓名不能为空!");
-        if (StringUtil.isBlank(info.getContactRelation()))
+        }
+        if (StringUtil.isBlank(info.getContactRelation())) {
             sb.append("患者联系人关系不能为空!");
-        if (StringUtil.isBlank(info.getContactAddrName()))
+        }
+        if (StringUtil.isBlank(info.getContactAddrName())) {
             sb.append("患者联系人地址不能为空!");
-        if (StringUtil.isBlank(info.getContactPhone()))
+        }
+        if (StringUtil.isBlank(info.getContactPhone())) {
             sb.append("患者联系人电话不能为空!");
-        if (StringUtil.isBlank(info.getZyAdmissWay()))
+        }
+        if (StringUtil.isBlank(info.getZyAdmissWay())) {
             sb.append("患者入院途径不能为空!");
-        if (null == info.getAdmissDate())
+        }
+        if (null == info.getAdmissDate()) {
             sb.append("患者入院时间不能为空!");
-        if (StringUtil.isBlank(info.getAdmissDept()))
+        }
+        if (StringUtil.isBlank(info.getAdmissDept())) {
             sb.append("患者入院科别不能为空!");
-        if (StringUtil.isBlank(info.getHasSurgery()))
+        }
+        if (StringUtil.isBlank(info.getHasSurgery())) {
             sb.append("患者是否手术不能为空!");
-        if (null == info.getDismissDate())
+        }
+        if (null == info.getDismissDate()) {
             sb.append("患者出院时间不能为空!");
-        if (StringUtil.isBlank(info.getDismissDept()))
+        }
+        if (StringUtil.isBlank(info.getDismissDept())) {
             sb.append("患者出院科别不能为空!");
-        if (StringUtil.isBlank(info.getAdmissDays()))
+        }
+        if (StringUtil.isBlank(info.getAdmissDays())) {
             sb.append("患者住院天数不能为空!");
-        if (StringUtil.isBlank(info.getDisdiags().get(0).getName()))
+        }
+        if (StringUtil.isBlank(info.getDisdiags().get(0).getName())) {
             sb.append("患者主要诊断不能为空!");
-        if (StringUtil.isBlank(info.getDisdiags().get(0).getAdmissStatus()))
+        }
+        if (StringUtil.isBlank(info.getDisdiags().get(0).getAdmissStatus())) {
             sb.append("患者主要诊断入院病情不能为空!");
-        if (StringUtil.isBlank(info.getAllergy()))
+        }
+        if (StringUtil.isBlank(info.getAllergy())) {
             sb.append("患者有无药物过敏不能为空!");
-        if (StringUtil.isBlank(info.getBloodType()))
+        }
+        if (StringUtil.isBlank(info.getBloodType())) {
             sb.append("患者ABO血型不能为空!");
-        if (StringUtil.isBlank(info.getRh()))
+        }
+        if (StringUtil.isBlank(info.getRh())) {
             sb.append("患者Rh血型不能为空!");
-        if (StringUtil.isBlank(info.getDeptLeader()))
+        }
+        if (StringUtil.isBlank(info.getDeptLeader())) {
             sb.append("科主任不能为空!");
-        if (StringUtil.isBlank(info.getLeaderDoctor()))
+        }
+        if (StringUtil.isBlank(info.getLeaderDoctor())) {
             sb.append("主任(副主任)医师不能为空!");
-        if (StringUtil.isBlank(info.getMainDoctor()))
+        }
+        if (StringUtil.isBlank(info.getMainDoctor())) {
             sb.append("主治医师不能为空!");
-        if (StringUtil.isBlank(info.getAdmissDoctor()))
+        }
+        if (StringUtil.isBlank(info.getAdmissDoctor())) {
             sb.append("住院医师不能为空!");
-        if (StringUtil.isBlank(info.getQualityControlLevel()))
+        }
+        if (StringUtil.isBlank(info.getQualityControlLevel())) {
             sb.append("病案质量不能为空!");
-        if (StringUtil.isBlank(info.getZyDismissWay()))
+        }
+        if (StringUtil.isBlank(info.getZyDismissWay())) {
             sb.append("患者离院方式不能为空!");
-        if (StringUtil.isBlank(info.getAdmissAgainInOneMonth()))
+        }
+        if (StringUtil.isBlank(info.getAdmissAgainInOneMonth())) {
             sb.append("患者是否有出院31天内再住院计划不能为空!");
-        if (StringUtil.isBlank(info.getQualityControlDoctor()))
+        }
+        if (StringUtil.isBlank(info.getQualityControlDoctor())) {
             sb.append("质控医生不能为空!");
-        if (StringUtil.isBlank(info.getCaseClassification()))
+        }
+        if (StringUtil.isBlank(info.getCaseClassification())) {
             sb.append("病例分型不能为空!");
-        if (StringUtil.isBlank(info.getHasIcu()))
+        }
+        if (StringUtil.isBlank(info.getHasIcu())) {
             sb.append("实施重症监护不能为空!");
-        if (StringUtil.isBlank(info.getMonopathyManagement()))
+        }
+        if (StringUtil.isBlank(info.getMonopathyManagement())) {
             sb.append("单病种管理不能为空!");
-        if (StringUtil.isBlank(info.getClinicalPathwayManagement()))
+        }
+        if (StringUtil.isBlank(info.getClinicalPathwayManagement())) {
             sb.append("实施临床路径管理不能为空!");
-        if (StringUtil.isBlank(info.getTheDRGsManagement()))
+        }
+        if (StringUtil.isBlank(info.getTheDRGsManagement())) {
             sb.append("DRGs管理不能为空!");
-        if (StringUtil.isBlank(info.getUseAntibiotic()))
+        }
+        if (StringUtil.isBlank(info.getUseAntibiotic())) {
             sb.append("抗生素使用不能为空!");
-        if (StringUtil.isBlank(info.getBacilliculture()))
+        }
+        if (StringUtil.isBlank(info.getBacilliculture())) {
             sb.append("细菌培养标本送检不能为空!");
-        if (zipCodeLengthWrong(info.getAddrZipCode()))
+        }
+        if (zipCodeLengthWrong(info.getAddrZipCode())) {
             sb.append("现住址邮编长度错误!");
-        if (zipCodeLengthWrong(info.getHkZipCode()))
+        }
+        if (zipCodeLengthWrong(info.getHkZipCode())) {
             sb.append("户口地址邮编长度错误!");
-        if (zipCodeLengthWrong(info.getUnitZipCode()))
+        }
+        if (zipCodeLengthWrong(info.getUnitZipCode())) {
             sb.append("工作地址邮编错误!");
-        if (phoneLengthWrong(info.getPhone()))
+        }
+        if (phoneLengthWrong(info.getPhone())) {
             sb.append("患者电话号码长度错误!");
-        if (phoneLengthWrong(info.getContactPhone()))
+        }
+        if (phoneLengthWrong(info.getContactPhone())) {
             sb.append("联系人电话号码长度错误!");
-        if (phoneLengthWrong(info.getUnitPhone()))
+        }
+        if (phoneLengthWrong(info.getUnitPhone())) {
             sb.append("工作单位电话长度错误!");
-        if (betweenDays(info.getDismissDate(), info.getAdmissDate()) < 0)
+        }
+        if (betweenDays(info.getDismissDate(), info.getAdmissDate()) < 0) {
             sb.append("出院时间不能小于入院时间!");
-        if (betweenDays(info.getBirthDate(), info.getAdmissDate()) > 0)
+        }
+        if (betweenDays(info.getBirthDate(), info.getAdmissDate()) > 0) {
             sb.append("出生时间不能大于入院时间!");
-        if (betweenDays(info.getQualityControlDate(), info.getDismissDate()) > 7)
+        }
+        if (betweenDays(info.getQualityControlDate(), info.getDismissDate()) > 7) {
             sb.append("质控日期不能大于出院7天!");
+        }
         if (isNewBorn(info.getHasInfant(), info.getBirthDate())) {
             if (isNewBornInfoNull(info.getNewBornWeight()) ||
-                    isNewBornInfoNull(info.getNewBornAdmissWeight()))
+                    isNewBornInfoNull(info.getNewBornAdmissWeight())) {
                 sb.append("请填写新生儿信息!");
-            if (isNewBornInfoNull(info.getXxeApgar()))
+            }
+            if (isNewBornInfoNull(info.getXxeApgar())) {
                 sb.append("新生儿Apgar评分不能为空!");
+            }
         } else {
             if (!isNewBornInfoNull(info.getNewBornWeight()) ||
-                    !isNewBornInfoNull(info.getNewBornAdmissWeight()))
+                    !isNewBornInfoNull(info.getNewBornAdmissWeight())) {
                 sb.append("非新生儿请保持新生信息为空!");
+            }
         }
         return connectedVerify(sb, info);
     }
 
     private String connectedVerify(StringBuilder sb, SheetInfo info) {
         if (null != info.getZyDismissWay()) {
-            if (info.getZyDismissWay().equals("1") || info.getZyDismissWay().equals("2")) {
-                if (StringUtil.isBlank(info.getDismissDestination()))
+            if ("1".equals(info.getZyDismissWay()) || "2".equals(info.getZyDismissWay())) {
+                if (StringUtil.isBlank(info.getDismissDestination())) {
                     sb.append("患者转入医疗机构不能为空!");
+                }
             }
         }
-        if (null != info.getHasSurgery() && info.getHasSurgery().equals("0") && !info.getDiagConform3().equals("0")) {
+        if (null != info.getHasSurgery() && "0".equals(info.getHasSurgery()) && !"0".equals(info.getDiagConform3())) {
             sb.append("无手术时,诊断符合情况中的术前与术后需要为’未做‘!");
         }
         if (null != info.getHasSurgery()) {
-            if ((info.getHasSurgery().equals("1") || info.getHasSurgery().equals("2") || info.getHasSurgery().equals("3"))
-                    && info.getDiagConform3().equals("0")) {
+            if (("1".equals(info.getHasSurgery()) || "2".equals(info.getHasSurgery()) || "3".equals(info.getHasSurgery()))
+                    && "0".equals(info.getDiagConform3())) {
                 sb.append("有手术时,诊断符合情况中的术前与术后不可为’未做‘!");
             }
         }
         if (!StringUtil.isBlank(info.getAutopsy())) {
-            if (!info.getZyDismissWay().equals("4"))
+            if (!"4".equals(info.getZyDismissWay())) {
                 sb.append("尸检不为空时,需要离院方式为死亡!");
+            }
         }
         for (SheetSurgery surgery : info.getSurgeries()) {
             checkSurgery(sb, surgery);
@@ -208,89 +281,119 @@ public class VerifyCaseFrontSheet {
                 (StringUtil.isBlank(info.getPathologicDiagStr()) || StringUtil.isBlank(info.getPathologicDiagCode()))) {
             sb.append("根据患者出院主要诊断,病理诊断不能为空!");
         }
-        if (null != info.getHasIcu() && info.getHasIcu().equals("2") && (StringUtil.isBlank(info.getIcuDays()) || StringUtil.isBlank(info.getIcuHours()))) {
+        if (null != info.getHasIcu() && "2".equals(info.getHasIcu()) &&
+                (StringUtil.isBlank(info.getIcuDays()) || StringUtil.isBlank(info.getIcuHours()))) {
             sb.append("患者ICU时间不能为空!");
         }
-        if (null != info.getHasSurgery() && hasSurgery(info.getHasSurgery()) && StringUtil.isBlank(info.getSurgeries().get(0).getName()))
+        if (null != info.getHasSurgery() && hasSurgery(info.getHasSurgery()) && StringUtil.isBlank(info.getSurgeries().get(0).getName())) {
             sb.append("患者有手术时,手术列表不能为空!");
-        if (null != info.getAllergy() && info.getAllergy().equals("2") && StringUtil.isBlank(info.getAllergicMedicine()))
+        }
+        if (null != info.getAllergy() && "2".equals(info.getAllergy()) && StringUtil.isBlank(info.getAllergicMedicine())) {
             sb.append("患者有药物过敏时,过敏药物名称不能为空!");
-        if (!StringUtil.isBlank(info.getPathologicDiagFee()) && StringUtil.isBlank(info.getBlh()))
+        }
+        if (!StringUtil.isBlank(info.getPathologicDiagFee()) && StringUtil.isBlank(info.getBlh())) {
             sb.append("患者有病理诊断费,病理号不能为空!");
-        if (hasSurgeryFee(info.getSurgeryFee()) && StringUtil.isBlank(info.getSurgeries().get(0).getName()))
+        }
+        if (hasSurgeryFee(info.getSurgeryFee()) && StringUtil.isBlank(info.getSurgeries().get(0).getName())) {
             sb.append("患者有手术费,手术列表不能为空!");
+        }
         if (needHurtReason(info.getDisdiags().get(0).getCode()) &&
-                (StringUtil.isBlank(info.getHurtReasonName()) || StringUtil.isBlank(info.getHurtReasonCode())))
+                (StringUtil.isBlank(info.getHurtReasonName()) || StringUtil.isBlank(info.getHurtReasonCode()))) {
             sb.append("根据患者出院主要诊断,损伤中毒诊断不能为空!");
+        }
         if (null != info.getBloodType() && hasBloodType(info.getBloodType()) &&
-                (!info.getRh().equals("1") && !info.getRh().equals("2")))
+                (!"1".equals(info.getRh()) && !"2".equals(info.getRh()))) {
             sb.append("患者血型确定时,Rh血型应为阴或阳!");
-        if (hasDuplicateDiag(info.getDisdiags()))
+        }
+        if (hasDuplicateDiag(info.getDisdiags())) {
             sb.append("出院诊断不能存在相同的诊断编码!");
-        if (hasSameSurgeryInOneDay(info.getSurgeries()))
+        }
+        if (hasSameSurgeryInOneDay(info.getSurgeries())) {
             sb.append("同一天不能有相同的手术!");
-        if (surgeryDateWrong(info.getSurgeries(), info.getAdmissDate(), info.getDismissDate()))
+        }
+        if (surgeryDateWrong(info.getSurgeries(), info.getAdmissDate(), info.getDismissDate())) {
             sb.append("手术时间必须在入院时间和出院时间之间!");
-        if ((null != info.getBloodType() && (info.getBloodType().equals("5") || info.getBloodType().equals("6"))) &&
-                (null != info.getRh() && !info.getRh().equals("0") && !info.getRh().equals("3")))
+        }
+        if ((null != info.getBloodType() && ("5".equals(info.getBloodType()) || "6".equals(info.getBloodType()))) &&
+                (null != info.getRh() && !"0".equals(info.getRh()) && !"3".equals(info.getRh()))) {
             sb.append("患者血型不确定时,Rh血型应为不详或未查!");
-        if (!StringUtil.isBlank(info.getAutopsy()) || (null != info.getZyDismissWay() && info.getZyDismissWay().equals("4"))) {
-            if (info.getRescueTimes() <= 0)
+        }
+        if (!StringUtil.isBlank(info.getAutopsy()) || (null != info.getZyDismissWay() && "4".equals(info.getZyDismissWay()))) {
+            if (info.getRescueTimes() <= 0) {
                 sb.append("患者死亡时,抢救次数不能小于一次!");
+            }
         }
-        if (info.getRescueTimes() < 0)
+        if (info.getRescueTimes() < 0) {
             sb.append("抢救次数不能为负数!");
-        if (info.getRescueTimes() < info.getRescueSuccessTimes())
+        }
+        if (info.getRescueTimes() < info.getRescueSuccessTimes()) {
             sb.append("抢救成功次数不能大于抢救次数!");
-        if (info.getRescueTimes() - info.getRescueSuccessTimes() > 1)
+        }
+        if (info.getRescueTimes() - info.getRescueSuccessTimes() > 1) {
             sb.append("抢救成功次数不能少于抢救次数两次!");
+        }
         return sb.toString();
     }
 
     private boolean hasSurgeryFee(String str) {
-        if (str.equals("")) return false;
+        if (StringUtil.isBlank(str)) {
+            return false;
+        }
         return Float.parseFloat(str) > 0;
     }
 
     private boolean isNewBornInfoNull(String str) {
-        return str == null || str.equals("") || str.equals("-");
+        return StringUtil.isBlank(str) || "-".equals(str);
     }
 
     private boolean hasSurgery(String str) {
-        return str.equals("1") || str.equals("2") || str.equals("3");
+        return "1".equals(str) || "2".equals(str) || "3".equals(str);
     }
 
     private boolean isHighLevelSurgery(String level) {
-        return level.equals("3") || level.equals("4");
+        return "3".equals(level) || "4".equals(level);
     }
 
     private void checkSurgery(StringBuilder sb, SheetSurgery surgery) {
-        if (StringUtil.isBlank(surgery.getName())) return;
+        if (StringUtil.isBlank(surgery.getName())) {
+            return;
+        }
         if (isHighLevelSurgery(surgery.getLevel())) {
-            if (StringUtil.isBlank(surgery.getName()))
+            if (StringUtil.isBlank(surgery.getName())) {
                 sb.append("手术").append(surgery.getNo()).append(",三、四级手术名称、编码不能为空!");
-            if (null == surgery.getDate())
+            }
+            if (null == surgery.getDate()) {
                 sb.append("手术").append(surgery.getNo()).append(",三、四级手术日期不能为空!");
-            if (StringUtil.isBlank(surgery.getOperator()))
+            }
+            if (StringUtil.isBlank(surgery.getOperator())) {
                 sb.append("手术").append(surgery.getNo()).append(",三、四级手术术者不能为空!");
-            if (StringUtil.isBlank(surgery.getAssistantOne()))
+            }
+            if (StringUtil.isBlank(surgery.getAssistantOne())) {
                 sb.append("手术").append(surgery.getNo()).append(",三、四级手术I助不能为空!");
-            if (StringUtil.isBlank(surgery.getCutHeal()))
+            }
+            if (StringUtil.isBlank(surgery.getCutHeal())) {
                 sb.append("手术").append(surgery.getNo()).append(",三、四级手术切口愈合等级不能为空!");
-            if (StringUtil.isBlank(surgery.getAnaesthesia()))
+            }
+            if (StringUtil.isBlank(surgery.getAnaesthesia())) {
                 sb.append("手术").append(surgery.getNo()).append(",三、四级手术麻醉方式不能为空!");
-            if (StringUtil.isBlank(surgery.getAnaesthesiaor()))
+            }
+            if (StringUtil.isBlank(surgery.getAnaesthesiaor())) {
                 sb.append("手术").append(surgery.getNo()).append(",三、四级手术麻醉医师不能为空!");
-            if (StringUtil.isBlank(surgery.getAssistantTwo()))
+            }
+            if (StringUtil.isBlank(surgery.getAssistantTwo())) {
                 sb.append("手术").append(surgery.getNo()).append(",三、四级手术II助不能为空!");
+            }
         }
     }
 
     private boolean needPathologicDiag(String diag) {
-        if (StringUtil.isBlank(diag)) return false;
+        if (StringUtil.isBlank(diag)) {
+            return false;
+        }
         final char firstLetter = diag.toUpperCase().charAt(0);
-        if (firstLetter != 'C' && firstLetter != 'D')
+        if (firstLetter != 'C' && firstLetter != 'D') {
             return false;
+        }
         final String diagBase = diag.substring(1, 3);
         final int code;
         try {

+ 1 - 0
src/main/java/thyyxxk/webserver/service/lisdock/LisDockService.java

@@ -204,3 +204,4 @@ public class LisDockService {
         return null;
     }
 }
+

+ 12 - 9
src/main/java/thyyxxk/webserver/service/markmtfees/MarkMtFeesService.java

@@ -1,6 +1,5 @@
 package thyyxxk.webserver.service.markmtfees;
 
-import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -75,9 +74,9 @@ public class MarkMtFeesService {
         Object mapRet;
         if (ResponceType.HUNAN_PROVINCIAL_MEDICAL_INSURANCE.equals(param.getResponceType())) {
             param.setBizType("13");
-            mapRet = template.postForObject(YbActionLinks.normalLinks.get("hnsybMtInfo"), param, Object.class);
+            mapRet = template.postForObject(YbLinksUtil.normalLinks.get("hnsybMtInfo"), param, Object.class);
         } else {
-            mapRet = template.postForObject(YbActionLinks.normalLinks.get("cssybReadMzPatient"), param, Object.class);
+            mapRet = template.postForObject(YbLinksUtil.normalLinks.get("cssybReadMzPatient"), param, Object.class);
         }
         if (null == mapRet) {
             return ResultVoUtil.fail(ExceptionEnum.INTERNAL_SERVER_ERROR, "服务器内部错误,查询门特身份信息失败。");
@@ -106,6 +105,7 @@ public class MarkMtFeesService {
         if (mtCount > 0) {
             return ResultVoUtil.success();
         }
+        dao.clearMtPartInfo(param.getPatientId(), param.getTimes());
         param.setMzSerialNo(SnowFlakeId.instance().nextId());
         dao.insertCssybMtPartInfo(param);
         return ResultVoUtil.success();
@@ -130,7 +130,6 @@ public class MarkMtFeesService {
         Map<Integer, List<MzReceipt>> temp = new HashMap<>(Capacity.DEFAULT);
         mzReceipts.forEach(item -> {
             item.setChecked(true);
-            log.info("费用:{}", JSON.toJSONString(item));
             if (!temp.containsKey(item.getOrderNo())) {
                 List<MzReceipt> list = new ArrayList<>();
                 list.add(item);
@@ -190,8 +189,10 @@ public class MarkMtFeesService {
         param.put("patientId", patientId);
         param.put("times", times);
         param.put("staffId", TokenUtil.getTokenUserId());
+        log.info("市门特试算:{}", param);
         RestTemplate template = new RestTemplate();
-        Object mapRet = template.postForObject(YbActionLinks.normalLinks.get("cssybMtPreCal"), param, Object.class);
+        Object mapRet = template.postForObject(YbLinksUtil.normalLinks.get("cssybMtPreCal"), param, Object.class);
+        log.info("市门特试算结果:{}", mapRet);
         if (null == mapRet) {
             return ResultVoUtil.fail(ExceptionEnum.INTERNAL_SERVER_ERROR, "服务器内部错误,门特费用试算失败。");
         }
@@ -203,7 +204,7 @@ public class MarkMtFeesService {
     }
 
     public Map<String, Object> uploadMtFees(UploadMtFeeParam param) {
-        log.info("上传门特费用:{}", param);
+        log.info("上传门特费用:{}", param);
         Map<String, Object> resultMap = new HashMap<>(Capacity.TWO);
         String responceType = dao.selectResponceType(param.getPatientId(), param.getTimes());
         if (null == responceType) {
@@ -211,7 +212,7 @@ public class MarkMtFeesService {
             resultMap.put("msg", "未查询到此人的门特身份记录。");
             return resultMap;
         }
-        String urlHead = YbActionLinks.normalLinks.get("mtBase");
+        String urlHead = YbLinksUtil.normalLinks.get("mtBase");
         String urlEnd;
         if (responceType.equals(ResponceType.HUNAN_PROVINCIAL_MEDICAL_INSURANCE)) {
             urlEnd = ":2000/shengyb/mt/uploadFees";
@@ -221,6 +222,7 @@ public class MarkMtFeesService {
         String url = urlHead + urlEnd;
         RestTemplate restTemplate = new RestTemplate();
         Object templateRet = restTemplate.postForObject(url, param, Object.class);
+        log.info("上传省门特费用结果:{}", templateRet);
         return FilterUtil.cast(templateRet);
     }
 
@@ -233,7 +235,7 @@ public class MarkMtFeesService {
             resultMap.put("msg", "未查询到此人的门特身份记录。");
             return resultMap;
         }
-        String urlHead = YbActionLinks.normalLinks.get("mtBase");
+        String urlHead = YbLinksUtil.normalLinks.get("mtBase");
         String urlEnd;
         if (responceType.equals(ResponceType.HUNAN_PROVINCIAL_MEDICAL_INSURANCE)) {
             urlEnd = ":2000/shengyb/mt/retractFees";
@@ -255,7 +257,7 @@ public class MarkMtFeesService {
             resultMap.put("msg", "未查询到此人的门特身份记录。");
             return resultMap;
         }
-        String urlHead = YbActionLinks.normalLinks.get("mtBase");
+        String urlHead = YbLinksUtil.normalLinks.get("mtBase");
         String urlEnd;
         if (responceType.equals(ResponceType.HUNAN_PROVINCIAL_MEDICAL_INSURANCE)) {
             urlEnd = ":2000/shengyb/mt/calculateCost";
@@ -265,6 +267,7 @@ public class MarkMtFeesService {
         String url = urlHead + urlEnd;
         RestTemplate restTemplate = new RestTemplate();
         Object templateRet = restTemplate.postForObject(url, param, Object.class);
+        log.info("结算门特费用结果:{}", templateRet);
         return FilterUtil.cast(templateRet);
     }
 }

+ 8 - 8
src/main/java/thyyxxk/webserver/service/wxapi/WxApiService.java

@@ -83,17 +83,17 @@ public class WxApiService {
         String outRefundNo = SnowFlakeId.instance().nextId();
         String refundFee = DecimalUtil.moneyYuanToFen(param.getTotalFee());
         TreeMap<String, String> map = new TreeMap<>();
-        map.put("appid", WxPayUtil.APP_ID);
-        map.put("mch_id", WxPayUtil.MERCHANT_ID);
+        map.put("appid", WxCertUtil.APP_ID);
+        map.put("mch_id", WxCertUtil.MERCHANT_ID);
         map.put("nonce_str", nonceStr);
         map.put("out_refund_no", outRefundNo);
         map.put("out_trade_no", param.getTradeNo());
         map.put("refund_fee", refundFee);
         map.put("total_fee", refundFee);
-        String refundSign = WxPaySign.createSign(map);
+        String refundSign = Md5Util.createWxPaySign(map);
         String xml = "<xml>" +
-                "<appid>" + WxPayUtil.APP_ID + "</appid>" +
-                "<mch_id>" + WxPayUtil.MERCHANT_ID + "</mch_id>" +
+                "<appid>" + WxCertUtil.APP_ID + "</appid>" +
+                "<mch_id>" + WxCertUtil.MERCHANT_ID + "</mch_id>" +
                 "<nonce_str>" + nonceStr + "</nonce_str>" +
                 "<out_refund_no>" + outRefundNo + "</out_refund_no>" +
                 "<out_trade_no>" + param.getTradeNo() + "</out_trade_no>" +
@@ -126,9 +126,9 @@ public class WxApiService {
 
     private String requestWithSsl(String xml) throws Exception {
         BasicHttpClientConnectionManager connManager;
-        WxPayUtil wxPayUtil = new WxPayUtil();
-        char[] password = WxPayUtil.MERCHANT_ID.toCharArray();
-        InputStream certStream = wxPayUtil.getCertStream();
+        WxCertUtil wxCertUtil = new WxCertUtil();
+        char[] password = WxCertUtil.MERCHANT_ID.toCharArray();
+        InputStream certStream = wxCertUtil.getCertStream();
         KeyStore keyStore = KeyStore.getInstance("PKCS12");
         keyStore.load(certStream, password);
         KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());

+ 2 - 3
src/main/java/thyyxxk/webserver/service/yibao/SettleService.java

@@ -11,8 +11,7 @@ import thyyxxk.webserver.pojo.yibao.dismiss.YbSettleFeePojo;
 import thyyxxk.webserver.pojo.yibao.patient.PatientPojo;
 import thyyxxk.webserver.utils.FilterUtil;
 import thyyxxk.webserver.utils.ResultVoUtil;
-import thyyxxk.webserver.utils.TokenUtil;
-import thyyxxk.webserver.utils.YbActionLinks;
+import thyyxxk.webserver.utils.YbLinksUtil;
 
 import java.util.HashMap;
 
@@ -30,7 +29,7 @@ public class SettleService {
     }
 
     public ResultVo<String> calculateCost(PatientPojo param, String responce) {
-        final String url = YbActionLinks.getCompleteUrl("calculateCost", responce);
+        final String url = YbLinksUtil.getCompleteUrl("calculateCost", responce);
         if ("selfPay".equals(url)) {
             return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "自费病人无需进行医保相关操作。");
         }

+ 28 - 0
src/main/java/thyyxxk/webserver/utils/Md5Util.java

@@ -2,6 +2,10 @@ package thyyxxk.webserver.utils;
 
 import java.nio.charset.StandardCharsets;
 import java.security.MessageDigest;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
 
 /**
  * @author dj
@@ -31,4 +35,28 @@ public class Md5Util {
         }
         return result;
     }
+
+
+    /**
+     * 生成签名,用于在微信支付前,获取预支付时候需要使用的参数sign
+     * <p>算法参考:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_3</p>
+     *
+     * @param params 需要发送的所有数据设置为的Map
+     * @return 签名sign
+     */
+    public static String createWxPaySign(TreeMap<String, String> params) {
+        List<Map.Entry<String, String>> infoIds = new ArrayList<>(params.entrySet());
+        // 对所有传入参数按照字段名的 ASCII 码从小到大排序(字典序)
+        infoIds.sort(Map.Entry.comparingByKey());
+        StringBuilder stringA = new StringBuilder();
+        for (Map.Entry<String, String> item : infoIds) {
+            String key = item.getKey();
+            String val = item.getValue();
+            if (StringUtil.notBlank(val)) {
+                stringA.append(key).append("=").append(val).append("&");
+            }
+        }
+        String stringSignTemp = stringA.substring(0, stringA.length() - 1) + "&key=" + WxCertUtil.MERCHANT_KEY;
+        return encrypt(stringSignTemp).toUpperCase();
+    }
 }

+ 1 - 1
src/main/java/thyyxxk/webserver/utils/WxPayUtil.java → src/main/java/thyyxxk/webserver/utils/WxCertUtil.java

@@ -5,7 +5,7 @@ import java.io.*;
 /**
  * @author dj
  */
-public class WxPayUtil {
+public class WxCertUtil {
     public static final String APP_ID = "wxbde6b16acad84204";
     public static final String MERCHANT_ID = "1574204121";
     public static final String MERCHANT_KEY = "lilaiwflzIOLJI2320JLZL2Llisd02ak";

+ 0 - 35
src/main/java/thyyxxk/webserver/utils/WxPaySign.java

@@ -1,35 +0,0 @@
-package thyyxxk.webserver.utils;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.TreeMap;
-
-/**
- * @author dj
- */
-public class WxPaySign {
-
-    /**
-     * 生成签名,用于在微信支付前,获取预支付时候需要使用的参数sign
-     * <p>算法参考:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_3</p>
-     *
-     * @param params 需要发送的所有数据设置为的Map
-     * @return 签名sign
-     */
-    public static String createSign(TreeMap<String, String> params) {
-        List<Map.Entry<String, String>> infoIds = new ArrayList<>(params.entrySet());
-        // 对所有传入参数按照字段名的 ASCII 码从小到大排序(字典序)
-        infoIds.sort(Map.Entry.comparingByKey());
-        StringBuilder stringA = new StringBuilder();
-        for (Map.Entry<String, String> item : infoIds) {
-            String key = item.getKey();
-            String val = item.getValue();
-            if (StringUtil.notBlank(val)) {
-                stringA.append(key).append("=").append(val).append("&");
-            }
-        }
-        String stringSignTemp = stringA.substring(0, stringA.length() - 1) + "&key=" + WxPayUtil.MERCHANT_KEY;
-        return Md5Util.encrypt(stringSignTemp).toUpperCase();
-    }
-}

+ 5 - 5
src/main/java/thyyxxk/webserver/utils/YbActionLinks.java → src/main/java/thyyxxk/webserver/utils/YbLinksUtil.java

@@ -11,14 +11,14 @@ import java.util.HashMap;
  * @author dj
  */
 @Component
-public class YbActionLinks {
+public class YbLinksUtil {
     public static HashMap<String, String[]> uploadLinks = new HashMap<>(Capacity.TWO);
     public static HashMap<String, String> normalLinks = new HashMap<>(Capacity.EIGHT);
 
     private final Environment environment;
 
     @Autowired
-    public YbActionLinks(Environment environment) {
+    public YbLinksUtil(Environment environment) {
         this.environment = environment;
         initActionLinks();
     }
@@ -51,12 +51,12 @@ public class YbActionLinks {
         switch (responce) {
             case "03":
             case "09":
-                return YbActionLinks.normalLinks.get("cssyb") + tail;
+                return YbLinksUtil.normalLinks.get("cssyb") + tail;
             case "02":
             case "10":
-                return YbActionLinks.normalLinks.get("hnsyb") + tail;
+                return YbLinksUtil.normalLinks.get("hnsyb") + tail;
             case "04":
-                return YbActionLinks.normalLinks.get("xnhyb") + tail;
+                return YbLinksUtil.normalLinks.get("xnhyb") + tail;
             default:
                 return "selfPay";
         }

+ 2 - 2
src/main/java/thyyxxk/webserver/utils/YibaoHttpUtil.java

@@ -24,7 +24,7 @@ public class YibaoHttpUtil {
         if (tailUrl.startsWith(HTTP_HEADER)) {
             return restTemplate.postForObject(tailUrl, param, ResultVo.class);
         } else {
-            String url = YbActionLinks.getCompleteUrl(tailUrl, responce);
+            String url = YbLinksUtil.getCompleteUrl(tailUrl, responce);
             return restTemplate.postForObject(url, param, ResultVo.class);
         }
     }
@@ -33,7 +33,7 @@ public class YibaoHttpUtil {
                                             List<OverviewPojo> listParam,
                                             OverviewPojo singleParam, String responce) {
         ResultVo resultVo = null;
-        String[] links = YbActionLinks.uploadLinks.get(linkKey);
+        String[] links = YbLinksUtil.uploadLinks.get(linkKey);
         for (String link : links) {
             if (null == listParam) {
                 resultVo = httpPost(link + mode, singleParam, responce);