chengyao пре 4 година
родитељ
комит
04ab3188c8

+ 8 - 5
src/main/java/com/diagbot/facade/BasDoctorInfoFacade.java

@@ -81,11 +81,14 @@ public class BasDoctorInfoFacade extends BasDoctorInfoServiceImpl {
             }
         }
         list.forEach(behospitalInfo -> {
-            BasDoctorInfo basDoctorInfo = new BasDoctorInfo();
-            basDoctorInfo.setHospitalId(behospitalInfo.getHospitalId());
-            basDoctorInfo.setDoctorId(behospitalInfo.getDoctorId());
-            basDoctorInfo.setName(behospitalInfo.getDoctorName());
-            doctorData.add(basDoctorInfo);
+            if(behospitalInfo!= null){
+                BasDoctorInfo basDoctorInfo = new BasDoctorInfo();
+                basDoctorInfo.setHospitalId(behospitalInfo.getHospitalId());
+                basDoctorInfo.setDoctorId(behospitalInfo.getDoctorId());
+                basDoctorInfo.setName(behospitalInfo.getDoctorName());
+                doctorData.add(basDoctorInfo);
+            }
+
         });
             return doctorData;
     }

+ 110 - 0
src/main/java/com/diagbot/facade/ConsoleByDeptFacade.java

@@ -485,9 +485,119 @@ public class ConsoleByDeptFacade {
         }
         filterFacade.filterOrderVOSame(filterOrderVO);
         List<LevelStsByDeptDTO> records = behospitalInfoFacade.levelStatisticsByDept(filterOrderVO);
+        if(ListUtil.isNotEmpty(records)){
+            for (LevelStsByDeptDTO record : records) {
+                BigDecimalMethod(record);
+            }
+        }
         return records;
     }
 
+    public void BigDecimalMethod(LevelStsByDeptDTO record){
+        BigDecimal entrySameBigDecimal = getSubtract(new BigDecimal(record.getEntryNum()), new BigDecimal(record.getSameNum() == null? 0:record.getSameNum()));
+
+        if(entrySameBigDecimal.compareTo(BigDecimal.ZERO)>0){
+            record.setEntrySameNum(1);
+        }else if(entrySameBigDecimal.compareTo(BigDecimal.ZERO) == 0){
+            record.setEntrySameNum(0);
+        }else{
+            record.setEntrySameNum(-1);
+        }
+
+        BigDecimal sameMrNumBigDecimal = getSubtract(new BigDecimal(record.getMrNum()), new BigDecimal(record.getSameMrNum()  == null? 0:record.getSameMrNum()));
+        if(sameMrNumBigDecimal.compareTo(BigDecimal.ZERO)>0){
+            record.setMrSameNum(1);
+        }else if(sameMrNumBigDecimal.compareTo(BigDecimal.ZERO) == 0){
+            record.setMrSameNum(0);
+        }else{
+            record.setMrSameNum(-1);
+        }
+
+        BigDecimal sameAvgValueDecimal = getSubtract(new BigDecimal(record.getAverageValue()), new BigDecimal(record.getSameAvgValue() == null? 0:record.getSameAvgValue()));
+        if(sameAvgValueDecimal.compareTo(BigDecimal.ZERO)>0){
+            record.setAvSameValue(1);
+        }else if(sameAvgValueDecimal.compareTo(BigDecimal.ZERO) == 0){
+            record.setAvSameValue(0);
+        }else{
+            record.setAvSameValue(-1);
+        }
+
+        BigDecimal SameFirstLevelBigDecimal = getSubtract(new BigDecimal(record.getFirstLevelNum()), new BigDecimal(record.getSameFirstLevelNum() == null? 0:record.getSameFirstLevelNum()));
+        if(SameFirstLevelBigDecimal.compareTo(BigDecimal.ZERO)>0){
+            record.setFirSameLevelNum(1);
+        }else if(SameFirstLevelBigDecimal.compareTo(BigDecimal.ZERO) == 0){
+            record.setFirSameLevelNum(0);
+        }else{
+            record.setFirSameLevelNum(-1);
+        }
+
+        BigDecimal SameSecondLevelBigDecimal = getSubtract(new BigDecimal(record.getSecondLevelNum()), new BigDecimal(record.getSameSecondLevelNum() == null? 0:record.getSameSecondLevelNum()));
+        if(SameSecondLevelBigDecimal.compareTo(BigDecimal.ZERO)>0){
+            record.setSecSameLevelNum(1);
+        }else if(SameSecondLevelBigDecimal.compareTo(BigDecimal.ZERO) == 0){
+            record.setSecSameLevelNum(0);
+        }else{
+            record.setSecSameLevelNum(-1);
+        }
+
+        BigDecimal SameThirdLevelBigDecimal = getSubtract(new BigDecimal(record.getThirdLevelNum()), new BigDecimal(record.getSameThirdLevelNum() == null? 0:record.getSameThirdLevelNum()));
+        if(SameThirdLevelBigDecimal.compareTo(BigDecimal.ZERO)>0){
+            record.setThiSameLevelNum(1);
+        }else if(SameThirdLevelBigDecimal.compareTo(BigDecimal.ZERO) == 0){
+            record.setThiSameLevelNum(0);
+        }else{
+            record.setThiSameLevelNum(-1);
+        }
+
+        BigDecimal SameFirstLevelPeDecimal = getSubtract(new BigDecimal(record.getFirstLevelPercent()), new BigDecimal(record.getSameFirstLevelPercent() == null? 0:record.getSameFirstLevelPercent()));
+        if(SameFirstLevelPeDecimal.compareTo(BigDecimal.ZERO)>0){
+            record.setFirSameLevelPercent(1);
+        }else if(SameFirstLevelPeDecimal.compareTo(BigDecimal.ZERO) == 0){
+            record.setFirSameLevelPercent(0);
+        }else{
+            record.setFirSameLevelPercent(-1);
+        }
+
+        BigDecimal SameSecondLevelPeDecimal = getSubtract(new BigDecimal(record.getSecondLevelPercent()), new BigDecimal(record.getSameSecondLevelPercent() == null? 0:record.getSameSecondLevelPercent()));
+        if(SameSecondLevelPeDecimal.compareTo(BigDecimal.ZERO)>0){
+            record.setSecSameLevelPercent(1);
+        }else if(SameSecondLevelPeDecimal.compareTo(BigDecimal.ZERO) == 0){
+            record.setSecSameLevelPercent(0);
+        }else{
+            record.setSecSameLevelPercent(-1);
+        }
+
+        BigDecimal SameThirdLevelPeDecimal = getSubtract(new BigDecimal(record.getThirdLevelPercent()), new BigDecimal(record.getSameThirdLevelPercent() == null? 0:record.getSameThirdLevelPercent()));
+        if(SameThirdLevelPeDecimal.compareTo(BigDecimal.ZERO)>0){
+            record.setThiSameLevelPercent(1);
+        }else if(SameThirdLevelPeDecimal.compareTo(BigDecimal.ZERO) == 0){
+            record.setThiSameLevelPercent(0);
+        }else{
+            record.setThiSameLevelPercent(-1);
+        }
+    };
+
+
+    /**
+     * 差值计算
+     *
+     * @param bigDecimalOne
+     * @param bigDecimalTwo
+     * @return
+     */
+    private BigDecimal getSubtract(BigDecimal bigDecimalOne, BigDecimal bigDecimalTwo) {
+        BigDecimal newBigDecimal = new BigDecimal(0);
+        if (null == bigDecimalOne && null != bigDecimalTwo) {
+            newBigDecimal = newBigDecimal.subtract(bigDecimalTwo);
+        } else if (null != bigDecimalOne && null == bigDecimalTwo) {
+            newBigDecimal = bigDecimalOne.subtract(newBigDecimal);
+        } else if (null != bigDecimalOne && null != bigDecimalTwo) {
+            newBigDecimal = bigDecimalOne.subtract(bigDecimalTwo);
+        }
+        return newBigDecimal;
+    }
+
+
     /**
      * 病案首页合格率占比
      *

+ 3 - 3
src/main/resources/mapper/BehospitalInfoMapper.xml

@@ -3936,7 +3936,7 @@
         AND t1.behDeptName = t2.behDeptName
         ORDER BY
         t1.behDeptName,
-        t1.behDoctorName,
+        t1.doctorName,
         t1.patName,
         <if test="radioCheck !=null and radioCheck == 1">
             t1.caseName,
@@ -4175,7 +4175,7 @@
         AND t1.behDeptName = t2.behDeptName
         ORDER BY
         t1.behDeptName,
-        t1.behDoctorName,
+        t1.doctorName,
         t1.patName,
         <if test="radioCheck !=null and radioCheck == 1">
             t1.caseName,
@@ -4409,7 +4409,7 @@
         AND t1.behDeptName = t2.behDeptName
         ORDER BY
         t1.behDeptName,
-        t1.behDoctorName,
+        t1.doctorName,
         t1.patName,
         <if test="radioCheck !=null and radioCheck == 1">
             t1.caseName,