Quellcode durchsuchen

08 28 02 全院损益列表

hr vor 4 Jahren
Ursprung
Commit
b139bdefe5

+ 19 - 0
src/main/java/com/imed/costaccount/model/vo/HospProfitVO.java

@@ -0,0 +1,19 @@
+package com.imed.costaccount.model.vo;
+
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class HospProfitVO {
+
+    private Long id;
+    private Integer dateYear;
+    private Integer dateMonth;
+    private Integer reportNum;
+
+    private String reportName;
+
+    private BigDecimal amount;
+}

+ 15 - 2
src/main/java/com/imed/costaccount/service/HospProfitAndLossService.java

@@ -1,22 +1,35 @@
 package com.imed.costaccount.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.imed.costaccount.common.util.PageUtils;
 import com.imed.costaccount.model.HospProfitAndLoss;
 
 /**
  * 全院损益表
  *
  * @author huangrui
- * @email 
+ * @email
  * @date 2021-08-27 14:20:53
  */
 public interface HospProfitAndLossService extends IService<HospProfitAndLoss> {
 
     /**
      * 计算全院损益
-     * @param date yyyy-MM-dd 时间
+     *
+     * @param date   yyyy-MM-dd 时间
      * @param hospId 医院id
      */
     void calc(String date, Long hospId);
+
+    /**
+     * 全院损益列表
+     *
+     * @param current 当前页
+     * @param pageSize 每页展示数据大小
+     * @param date 日期
+     * @param hospId 医院id
+     * @return PageUtils
+     */
+    PageUtils getHospProfits(Integer current, Integer pageSize, String date, Long hospId);
 }
 

+ 34 - 0
src/main/java/com/imed/costaccount/service/impl/HospProfitAndLossServiceImpl.java

@@ -6,10 +6,14 @@ import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ReUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.imed.costaccount.common.enums.CalcTypeEnum;
 import com.imed.costaccount.common.enums.ReportTypeEnum;
 import com.imed.costaccount.common.exception.CostException;
+import com.imed.costaccount.common.util.BeanUtil;
+import com.imed.costaccount.common.util.PageUtils;
 import com.imed.costaccount.model.*;
+import com.imed.costaccount.model.vo.HospProfitVO;
 import com.imed.costaccount.model.vo.RelationVO;
 import com.imed.costaccount.service.*;
 import org.springframework.stereotype.Service;
@@ -331,4 +335,34 @@ public class HospProfitAndLossServiceImpl extends ServiceImpl<HospProfitAndLossM
                 .setAmount(calcTotal.get()).setCreateTime(System.currentTimeMillis()).setHospId(hospId);
 
     }
+
+
+    /**
+     * 全院损益列表
+     *
+     * @param current  当前页
+     * @param pageSize 每页展示数据大小
+     * @param date     日期
+     * @param hospId   医院id
+     * @return PageUtils
+     */
+    @Override
+    public PageUtils getHospProfits(Integer current, Integer pageSize, String date, Long hospId) {
+        DateTime parse = DateUtil.parse(date);
+        int year = DateUtil.year(parse);
+        int month = DateUtil.month(parse) + 1;
+        Page<HospProfitAndLoss> page = new Page<>(current, pageSize);
+        Page<HospProfitAndLoss> pages = this.page(
+                page,
+                new LambdaQueryWrapper<HospProfitAndLoss>()
+                        .eq(HospProfitAndLoss::getHospId, hospId)
+                        .eq(HospProfitAndLoss::getDateMonth, month)
+                        .eq(HospProfitAndLoss::getDateYear, year)
+        );
+        List<HospProfitAndLoss> records = pages.getRecords();
+        List<HospProfitVO> hospProfitVOS = BeanUtil.convertList(records, HospProfitVO.class);
+        PageUtils pageUtils = new PageUtils(pages);
+        pageUtils.setList(hospProfitVOS);
+        return pageUtils;
+    }
 }

+ 13 - 6
src/main/java/com/imed/costaccount/web/HospProfitAndLossController.java

@@ -1,19 +1,17 @@
 package com.imed.costaccount.web;
 
+import com.imed.costaccount.common.util.PageUtils;
 import com.imed.costaccount.common.util.Result;
 import com.imed.costaccount.service.HospProfitAndLossService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 @Api(tags = "全院损益相关")
 @RestController
 @RequestMapping("/costAccount/hospProfitAndLoss")
-public class HospProfitAndLossController extends AbstractController{
+public class HospProfitAndLossController extends AbstractController {
 
     private final HospProfitAndLossService hospProfitAndLossService;
 
@@ -24,8 +22,17 @@ public class HospProfitAndLossController extends AbstractController{
 
     @ApiOperation("计算全院损益")
     @PostMapping("/calc")
-    public Result calc(@RequestParam @ApiParam(name = "date",value = "yyyy-MM-dd") String date) {
+    public Result calc(@RequestParam @ApiParam(name = "date", value = "yyyy-MM-dd") String date) {
         hospProfitAndLossService.calc(date, getHospId());
         return Result.ok();
     }
+
+    @ApiOperation("全院损益列表")
+    @GetMapping("/getHospProfits")
+    public Result getHospProfits(@RequestParam(value = "current", defaultValue = "1") Integer current,
+                                 @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
+                                 @RequestParam(value = "date")String date) {
+        PageUtils pageUtils = hospProfitAndLossService.getHospProfits(current, pageSize, date, getHospId());
+        return Result.ok(pageUtils);
+    }
 }