新增:续费统计功能
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
package com.gxwebsoft.oa.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.gxwebsoft.common.core.web.BaseController;
|
||||
import com.gxwebsoft.common.system.entity.User;
|
||||
import com.gxwebsoft.oa.entity.OaApp;
|
||||
import com.gxwebsoft.oa.service.OaAppRenewService;
|
||||
import com.gxwebsoft.oa.entity.OaAppRenew;
|
||||
import com.gxwebsoft.oa.param.OaAppRenewParam;
|
||||
@@ -10,13 +12,18 @@ import com.gxwebsoft.common.core.web.PageResult;
|
||||
import com.gxwebsoft.common.core.web.PageParam;
|
||||
import com.gxwebsoft.common.core.web.BatchParam;
|
||||
import com.gxwebsoft.common.core.annotation.OperationLog;
|
||||
import com.gxwebsoft.oa.service.OaAppService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 续费管理控制器
|
||||
@@ -30,6 +37,8 @@ import java.util.List;
|
||||
public class OaAppRenewController extends BaseController {
|
||||
@Resource
|
||||
private OaAppRenewService oaAppRenewService;
|
||||
@Resource
|
||||
private OaAppService oaAppService;
|
||||
|
||||
@ApiOperation("分页查询续费管理")
|
||||
@GetMapping("/page")
|
||||
@@ -117,4 +126,36 @@ public class OaAppRenewController extends BaseController {
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("统计信息")
|
||||
@GetMapping("/data")
|
||||
public ApiResult<Map<String, java.math.BigDecimal>> data() {
|
||||
Map<String, java.math.BigDecimal> data = new HashMap<>();
|
||||
final User loginUser = getLoginUser();
|
||||
if(loginUser == null){
|
||||
return fail("请先登录",null);
|
||||
}
|
||||
|
||||
// 获取当前年份的起止时间
|
||||
LocalDateTime startOfYear = LocalDateTime.now().withMonth(1).withDayOfMonth(1)
|
||||
.withHour(0).withMinute(0).withSecond(0);
|
||||
LocalDateTime endOfYear = startOfYear.plusYears(1).minusNanos(1);
|
||||
|
||||
// 今年应收续费总金额(到期时间在今年的记录)
|
||||
java.math.BigDecimal totalNum1 = oaAppService.sumMoney(new LambdaQueryWrapper<OaApp>()
|
||||
.between(OaApp::getExpirationTime, startOfYear, endOfYear));
|
||||
// 今年已收续费总金额(到期时间在今年的记录)
|
||||
java.math.BigDecimal totalNum2 = oaAppRenewService.sumMoney(new LambdaQueryWrapper<OaAppRenew>()
|
||||
.between(OaAppRenew::getEndTime, startOfYear, endOfYear));
|
||||
|
||||
// 今年已收续费总金额(创建时间在今年且已支付的记录)
|
||||
java.math.BigDecimal totalNum3 = oaAppRenewService.sumMoney(new LambdaQueryWrapper<OaAppRenew>()
|
||||
.between(OaAppRenew::getCreateTime, startOfYear, endOfYear)
|
||||
.isNotNull(OaAppRenew::getMoney));
|
||||
|
||||
data.put("totalNum1", totalNum1 != null ? totalNum1 : java.math.BigDecimal.ZERO);
|
||||
data.put("totalNum2", totalNum2 != null ? totalNum2 : BigDecimal.ZERO);
|
||||
return success(data);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
package com.gxwebsoft.oa.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.gxwebsoft.oa.entity.OaAppField;
|
||||
import com.gxwebsoft.oa.param.OaAppFieldParam;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -16,22 +18,22 @@ import java.util.List;
|
||||
*/
|
||||
public interface OaAppFieldMapper extends BaseMapper<OaAppField> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param page 分页对象
|
||||
* @param param 查询参数
|
||||
* @return List<OaAppField>
|
||||
*/
|
||||
List<OaAppField> selectPageRel(@Param("page") IPage<OaAppField> page,
|
||||
@Param("param") OaAppFieldParam param);
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param page 分页对象
|
||||
* @param param 查询参数
|
||||
* @return List<OaAppField>
|
||||
*/
|
||||
List<OaAppField> selectPageRel(@Param("page") IPage<OaAppField> page,
|
||||
@Param("param") OaAppFieldParam param);
|
||||
|
||||
/**
|
||||
* 查询全部
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @return List<User>
|
||||
*/
|
||||
List<OaAppField> selectListRel(@Param("param") OaAppFieldParam param);
|
||||
/**
|
||||
* 查询全部
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @return List<User>
|
||||
*/
|
||||
List<OaAppField> selectListRel(@Param("param") OaAppFieldParam param);
|
||||
|
||||
}
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
package com.gxwebsoft.oa.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.gxwebsoft.oa.entity.OaApp;
|
||||
import com.gxwebsoft.oa.param.OaAppParam;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -16,22 +18,30 @@ import java.util.List;
|
||||
*/
|
||||
public interface OaAppMapper extends BaseMapper<OaApp> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param page 分页对象
|
||||
* @param param 查询参数
|
||||
* @return List<OaApp>
|
||||
*/
|
||||
List<OaApp> selectPageRel(@Param("page") IPage<OaApp> page,
|
||||
@Param("param") OaAppParam param);
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param page 分页对象
|
||||
* @param param 查询参数
|
||||
* @return List<OaApp>
|
||||
*/
|
||||
List<OaApp> selectPageRel(@Param("page") IPage<OaApp> page,
|
||||
@Param("param") OaAppParam param);
|
||||
|
||||
/**
|
||||
* 查询全部
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @return List<User>
|
||||
*/
|
||||
List<OaApp> selectListRel(@Param("param") OaAppParam param);
|
||||
/**
|
||||
* 查询全部
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @return List<User>
|
||||
*/
|
||||
List<OaApp> selectListRel(@Param("param") OaAppParam param);
|
||||
|
||||
/**
|
||||
* 统计金额总和
|
||||
*
|
||||
* @param wrapper 查询条件
|
||||
* @return 金额总和
|
||||
*/
|
||||
BigDecimal selectSumMoney(@Param("ew") Wrapper<?> wrapper);
|
||||
|
||||
}
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
package com.gxwebsoft.oa.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.gxwebsoft.oa.entity.OaAppRenew;
|
||||
import com.gxwebsoft.oa.param.OaAppRenewParam;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -34,4 +37,11 @@ public interface OaAppRenewMapper extends BaseMapper<OaAppRenew> {
|
||||
*/
|
||||
List<OaAppRenew> selectListRel(@Param("param") OaAppRenewParam param);
|
||||
|
||||
/**
|
||||
* 统计金额总和
|
||||
*
|
||||
* @param wrapper 查询条件
|
||||
* @return 金额总和
|
||||
*/
|
||||
BigDecimal selectSumMoney(@Param("ew") Wrapper<?> wrapper);
|
||||
}
|
||||
|
||||
@@ -226,4 +226,13 @@
|
||||
<include refid="selectSql"></include>
|
||||
</select>
|
||||
|
||||
<!-- 统计金额总和 -->
|
||||
<select id="selectSumMoney" resultType="java.math.BigDecimal">
|
||||
SELECT COALESCE(SUM(renew_money), 0) as total_money
|
||||
FROM oa_app
|
||||
<if test="ew != null">
|
||||
${ew.customSqlSegment}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -58,4 +58,13 @@
|
||||
<include refid="selectSql"></include>
|
||||
</select>
|
||||
|
||||
<!-- 统计金额总和 -->
|
||||
<select id="selectSumMoney" resultType="java.math.BigDecimal">
|
||||
SELECT COALESCE(SUM(money), 0) as total_money
|
||||
FROM oa_app_renew
|
||||
<if test="ew != null">
|
||||
${ew.customSqlSegment}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -1,10 +1,14 @@
|
||||
package com.gxwebsoft.oa.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.gxwebsoft.common.core.web.PageResult;
|
||||
import com.gxwebsoft.oa.entity.OaAppRenew;
|
||||
import com.gxwebsoft.oa.param.OaAppRenewParam;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -39,4 +43,11 @@ public interface OaAppRenewService extends IService<OaAppRenew> {
|
||||
*/
|
||||
OaAppRenew getByIdRel(Integer appRenewId);
|
||||
|
||||
/**
|
||||
* 统计金额总和
|
||||
* @param wrapper 查询条件
|
||||
* @return 金额总和
|
||||
*/
|
||||
BigDecimal sumMoney(LambdaQueryWrapper<OaAppRenew> wrapper);
|
||||
|
||||
}
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
package com.gxwebsoft.oa.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.gxwebsoft.common.core.web.PageResult;
|
||||
import com.gxwebsoft.oa.entity.OaApp;
|
||||
import com.gxwebsoft.oa.param.OaAppParam;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -39,4 +41,11 @@ public interface OaAppService extends IService<OaApp> {
|
||||
*/
|
||||
OaApp getByIdRel(Integer appId);
|
||||
|
||||
/**
|
||||
* 统计金额总和
|
||||
*
|
||||
* @param wrapper 查询条件
|
||||
* @return 金额总和
|
||||
*/
|
||||
BigDecimal sumMoney(LambdaQueryWrapper<OaApp> wrapper);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.gxwebsoft.oa.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.gxwebsoft.oa.mapper.OaAppRenewMapper;
|
||||
import com.gxwebsoft.oa.service.OaAppRenewService;
|
||||
@@ -9,6 +10,7 @@ import com.gxwebsoft.common.core.web.PageParam;
|
||||
import com.gxwebsoft.common.core.web.PageResult;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -44,4 +46,9 @@ public class OaAppRenewServiceImpl extends ServiceImpl<OaAppRenewMapper, OaAppRe
|
||||
return param.getOne(baseMapper.selectListRel(param));
|
||||
}
|
||||
|
||||
@Override
|
||||
public BigDecimal sumMoney(LambdaQueryWrapper<OaAppRenew> wrapper) {
|
||||
return baseMapper.selectSumMoney(wrapper);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.gxwebsoft.oa.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.gxwebsoft.oa.mapper.OaAppMapper;
|
||||
import com.gxwebsoft.oa.service.OaAppService;
|
||||
@@ -9,6 +10,7 @@ import com.gxwebsoft.common.core.web.PageParam;
|
||||
import com.gxwebsoft.common.core.web.PageResult;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -44,4 +46,9 @@ public class OaAppServiceImpl extends ServiceImpl<OaAppMapper, OaApp> implements
|
||||
return param.getOne(baseMapper.selectListRel(param));
|
||||
}
|
||||
|
||||
@Override
|
||||
public BigDecimal sumMoney(LambdaQueryWrapper<OaApp> wrapper) {
|
||||
return baseMapper.selectSumMoney(wrapper);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user