zouxuan 5 years ago
parent
commit
0081cb1e0d

+ 22 - 0
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/dao/ExamManualLedgerDao.java

@@ -52,4 +52,26 @@ public interface ExamManualLedgerDao extends BaseDAO<Long, ExamManualLedger> {
      */
     List<Map<Integer, BigDecimal>> countOrgansLedgerWithExam(@Param("examId") Long examId,
                                                              @Param("organIds") List<Integer> organIds);
+
+    /**
+     * 获取每天支出
+     * @param tenantId
+     * @param days
+     * @return
+     */
+    List<Map<String, BigDecimal>> getDayPayment(@Param("tenantId") String tenantId, @Param("days") List<String> days);
+
+    /**
+     * 获取当年支出
+     * @param tenantId
+     * @return
+     */
+    BigDecimal getAnnualPayment(String tenantId);
+
+    /**
+     * 获取当月支出
+     * @param tenantId
+     * @return
+     */
+    BigDecimal getMonthPayment(String tenantId);
 }

+ 1 - 1
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/dao/ExamRegistrationPaymentDao.java

@@ -109,5 +109,5 @@ public interface ExamRegistrationPaymentDao extends BaseDAO<Long, ExamRegistrati
      * @param tenantId
      * @return
      */
-    List<Map<String, BigDecimal>> getDayIncome(@Param("tenantId") String tenantId, @Param("day") Integer day);
+    List<Map<String, BigDecimal>> getDayIncome(@Param("tenantId") String tenantId, @Param("days") List<String> days);
 }

+ 35 - 4
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/impl/ExaminationBasicServiceImpl.java

@@ -20,6 +20,7 @@ import com.keao.edu.user.enums.ExamStatusEnum;
 import com.keao.edu.user.page.ExaminationQueryInfo;
 import com.keao.edu.user.service.*;
 import com.keao.edu.util.collection.MapUtil;
+import com.keao.edu.util.date.DateUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.time.DateUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -67,7 +68,7 @@ public class ExaminationBasicServiceImpl extends BaseServiceImpl<Long, Examinati
     @Autowired
     private ExamRegistrationPaymentDao examRegistrationPaymentDao;
     @Autowired
-    private SysUserFeignService sysUserFeignService;
+    private ExamManualLedgerDao examManualLedgerDao;
     @Autowired
     private ExamTeacherSalaryService examTeacherSalaryService;
 
@@ -484,10 +485,40 @@ public class ExaminationBasicServiceImpl extends BaseServiceImpl<Long, Examinati
 
     @Override
     public Object homeBalanceOfPayment(String tenantId,Integer day) {
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if(day == null){
+            day = 7;
+        }
+        day = day * -1;
+
         BigDecimal annualIncome = examRegistrationPaymentDao.getAnnualIncome(tenantId);
         BigDecimal monthIncome = examRegistrationPaymentDao.getMonthIncome(tenantId);
-        List<Map<String,BigDecimal>> dayIncomes = examRegistrationPaymentDao.getDayIncome(tenantId,day);
-        return null;
+
+        LocalDate today = LocalDate.now();
+        List<String> days=new ArrayList<>();
+        days.add(today.toString());
+        for (int i = -1 ;i > day;i--){
+            days.add(today.plusDays(i).toString());
+        }
+        Map<String,BigDecimal> dayIncomes = MapUtil.convertMybatisMap(examRegistrationPaymentDao.getDayIncome(tenantId,days),String.class,BigDecimal.class);
+        Map<String,BigDecimal> dayPayments = MapUtil.convertMybatisMap(examManualLedgerDao.getDayPayment(tenantId,days),String.class,BigDecimal.class);
+        days.forEach(e->{
+            if(dayIncomes.get(e) == null){
+                dayIncomes.put(e,BigDecimal.ZERO);
+            }
+            if(dayPayments.get(e) == null){
+                dayPayments.put(e,BigDecimal.ZERO);
+            }
+        });
+
+        BigDecimal annualPayment = examManualLedgerDao.getAnnualPayment(tenantId);
+        BigDecimal monthPayment = examManualLedgerDao.getMonthPayment(tenantId);
+        HashMap<Object, Object> resultMap = new HashMap<>();
+        resultMap.put("annualIncome",annualIncome);
+        resultMap.put("monthIncome",monthIncome);
+        resultMap.put("dayIncomes",dayIncomes);
+        resultMap.put("annualPayment",annualPayment);
+        resultMap.put("monthPayment",monthPayment);
+        resultMap.put("dayPayments",dayPayments);
+        return resultMap;
     }
 }

+ 19 - 0
edu-user/edu-user-biz/src/main/resources/config/mybatis/ExamManualLedgerMapper.xml

@@ -206,4 +206,23 @@
 		GROUP BY
 			target_organ_id_;
     </select>
+    <select id="getDayPayment" resultType="java.util.Map">
+		SELECT DATE_FORMAT(eml.trans_time_,'%Y-%m-%d') 'key',SUM(eml.amount_) 'value' FROM exam_manual_ledger eml
+		WHERE eml.tenant_id_ = #{tenantId} AND eml.trans_direction_ = 'EXPENDITURE'
+		AND DATE_FORMAT(eml.trans_time_,'%Y-%m-%d') IN
+		<foreach collection="days" open="(" close=")" item="day" separator=",">
+			#{day}
+		</foreach>
+		GROUP BY DATE_FORMAT(eml.trans_time_,'%Y-%m-%d')
+	</select>
+	<select id="getAnnualPayment" resultType="java.math.BigDecimal">
+		SELECT SUM(eml.amount_) FROM exam_manual_ledger eml
+        WHERE eml.trans_direction_ = 'EXPENDITURE' AND DATE_FORMAT(eml.trans_time_,'%Y') = DATE_FORMAT(NOW(),'%Y')
+        AND eml.tenant_id_ = #{tenantId}
+	</select>
+	<select id="getMonthPayment" resultType="java.math.BigDecimal">
+		SELECT SUM(eml.amount_) FROM exam_manual_ledger eml
+        WHERE eml.trans_direction_ = 'EXPENDITURE' AND DATE_FORMAT(eml.trans_time_,'%Y-%m') = DATE_FORMAT(NOW(),'%Y-%m')
+        AND eml.tenant_id_ = #{tenantId}
+	</select>
 </mapper>

+ 11 - 7
edu-user/edu-user-biz/src/main/resources/config/mybatis/ExamRegistrationPaymentMapper.xml

@@ -246,18 +246,22 @@
     </select>
     <select id="getAnnualIncome" resultType="java.math.BigDecimal">
         SELECT SUM(erp.trans_amount_) FROM exam_registration_payment erp
-        WHERE erp.examination_basic_id_ = 1 AND erp.trans_status_ = 'SUCCESS'
-        AND DATE_FORMAT(erp.trans_successed_time_,'%Y-%m-%d') = DATE_FORMAT('2020-08-12','%Y-%m-%d')
+        WHERE erp.trans_status_ = 'SUCCESS' AND DATE_FORMAT(erp.trans_successed_time_,'%Y') = DATE_FORMAT(NOW(),'%Y')
+        AND erp.tenant_id_ = #{tenantId};
     </select>
     <select id="getMonthIncome" resultType="java.math.BigDecimal">
         SELECT SUM(erp.trans_amount_) FROM exam_registration_payment erp
-        WHERE erp.examination_basic_id_ = 1 AND erp.trans_status_ = 'SUCCESS'
-        AND DATE_FORMAT(erp.trans_successed_time_,'%Y-%m-%d') = DATE_FORMAT('2020-08-12','%Y-%m-%d')
+        WHERE erp.trans_status_ = 'SUCCESS' AND DATE_FORMAT(erp.trans_successed_time_,'%Y-%m') = DATE_FORMAT(NOW(),'%Y-%m')
+        AND erp.tenant_id_ = #{tenantId}
     </select>
     <select id="getDayIncome" resultType="java.util.Map">
-        SELECT SUM(erp.trans_amount_) FROM exam_registration_payment erp
-        WHERE erp.examination_basic_id_ = 1 AND erp.trans_status_ = 'SUCCESS'
-        AND DATE_FORMAT(erp.trans_successed_time_,'%Y-%m-%d') = DATE_FORMAT('2020-08-12','%Y-%m-%d')
+        SELECT DATE_FORMAT(erp.trans_successed_time_,'%Y-%m-%d') 'key',SUM(erp.trans_amount_) 'value' FROM exam_registration_payment erp
+        WHERE erp.tenant_id_ = #{tenantId} AND erp.trans_status_ = 'SUCCESS'
+        AND DATE_FORMAT(erp.trans_successed_time_,'%Y-%m-%d') IN
+        <foreach collection="days" open="(" close=")" item="day" separator=",">
+            #{day}
+        </foreach>
+        GROUP BY DATE_FORMAT(erp.trans_successed_time_,'%Y-%m-%d')
     </select>
 
     <resultMap id="ExamRegistrationPaymentDto" type="com.keao.edu.user.dto.ExamRegistrationPaymentDto"