package com.ruoyi.web.controller.api;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.ruoyi.common.basic.PageInfo;
|
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.framework.web.service.TokenService;
|
import com.ruoyi.system.model.TCrmClinic;
|
import com.ruoyi.system.model.TCrmSupplier;
|
import com.ruoyi.system.model.TErpProcurement;
|
import com.ruoyi.system.model.TSysAppUser;
|
import com.ruoyi.system.query.ClinicProcurementReportQuery;
|
import com.ruoyi.system.query.DataStatisticsQuery;
|
import com.ruoyi.system.service.*;
|
import com.ruoyi.system.vo.ClinicProcurementReportVO;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.util.CollectionUtils;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import java.math.BigDecimal;
|
import java.time.LocalDate;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.Objects;
|
|
@Api(tags = "财务报表")
|
@RestController
|
@RequestMapping("/financial-statements")
|
public class FinancialStatementsController {
|
|
private final TErpProcurementService erpProcurementService;
|
private final TokenService tokenService;
|
private final ISysUserService sysUserService;
|
private final TCrmSupplierService crmSupplierService;
|
private final TCrmClinicService crmClinicService;
|
private final TSysAppUserService sysAppUserService;
|
private final TCrmClinicPointsService crmClinicPointsService;
|
private final TSysOrderService sysOrderService;
|
|
@Autowired
|
public FinancialStatementsController(TErpProcurementService erpProcurementService, TokenService tokenService, ISysUserService sysUserService, TCrmSupplierService crmSupplierService, TCrmClinicService crmClinicService, TSysAppUserService sysAppUserService, TCrmClinicPointsService crmClinicPointsService, TSysOrderService sysOrderService) {
|
this.erpProcurementService = erpProcurementService;
|
this.tokenService = tokenService;
|
this.sysUserService = sysUserService;
|
this.crmSupplierService = crmSupplierService;
|
this.crmClinicService = crmClinicService;
|
this.sysAppUserService = sysAppUserService;
|
this.crmClinicPointsService = crmClinicPointsService;
|
this.sysOrderService = sysOrderService;
|
}
|
|
/**
|
* 诊所采购报表
|
*/
|
@ApiOperation(value = "诊所采购报表")
|
@PostMapping(value = "/clinicProcurementReport")
|
public R<PageInfo<ClinicProcurementReportVO>> clinicProcurementReport(@RequestBody ClinicProcurementReportQuery query) {
|
Long userId = tokenService.getLoginUser().getUserId();
|
Integer roleType = tokenService.getLoginUser().getUser().getRoleType();
|
query.setRoleType(roleType);
|
if (Objects.equals(roleType, 4)) {
|
TCrmSupplier crmSupplier = crmSupplierService.getOne(Wrappers.lambdaQuery(TCrmSupplier.class)
|
.eq(TCrmSupplier::getUserId, userId)
|
.last("LIMIT 1"));
|
query.setSupplierId(crmSupplier.getId());
|
}
|
if (Objects.equals(roleType, 5)) {
|
TCrmClinic crmClinic = crmClinicService.getOne(Wrappers.lambdaQuery(TCrmClinic.class)
|
.eq(TCrmClinic::getUserId, userId)
|
.last("LIMIT 1"));
|
query.setClinicId(crmClinic.getId());
|
}
|
|
PageInfo<ClinicProcurementReportVO> pageInfo = erpProcurementService.clinicProcurementReport(query);
|
return R.ok(pageInfo);
|
}
|
|
}
|