..
This commit is contained in:
+136
@@ -0,0 +1,136 @@
|
||||
package com.budwk.app.zhgh.dayofficework.fund.dashboard;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.sys.models.Sys_user;
|
||||
import com.budwk.app.zhgh.dayofficework.fund.member.service.FundMemberService;
|
||||
import com.budwk.app.zhgh.dayofficework.fund.subsidy.models.FundSubsidy;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
@IocBean
|
||||
@At("/platform/fund/dashBoard")
|
||||
@Ok("json:full")
|
||||
@Slf4j
|
||||
public class FundDashBoardController {
|
||||
|
||||
@Inject
|
||||
private Dao dao;
|
||||
@Inject
|
||||
private FundMemberService fundMemberService;
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/zhgh/dayofficework/fund/dashboard/index.html")
|
||||
@SaCheckPermission("fund.dashBoard")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("fund.dashBoard")
|
||||
@ApiOperation("统计数量")
|
||||
public Result statCount() {
|
||||
// 基金会员总数
|
||||
int count = dao.count(Sys_user.class, Cnd.where(Sys_user::getAidFundMember, "=", 1));
|
||||
// 本年新增基金会员数
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
count(1)
|
||||
FROM
|
||||
fund_member_change_record r
|
||||
LEFT JOIN sys_user u ON u.loginname = r.loginName
|
||||
WHERE
|
||||
r.isJoin = 1
|
||||
AND YEAR(r.changeTime) = @year
|
||||
AND u.aidFundMember = 1
|
||||
""");
|
||||
sql.params().set("year", DateUtil.thisYear());
|
||||
sql.setCallback(Sqls.callback.integer());
|
||||
dao.execute(sql);
|
||||
int newCount = sql.getInt();
|
||||
|
||||
// 医疗补助数
|
||||
int subsidyCount = dao.count(FundSubsidy.class, Cnd.NEW());
|
||||
|
||||
// 总补助金额
|
||||
int totalSubsidyCost = dao.func(FundSubsidy.class, "sum", "subsidyCost");
|
||||
|
||||
HashMap<String, Object> map = new HashMap<>();
|
||||
map.put("count", count);
|
||||
map.put("newCount", newCount);
|
||||
map.put("subsidyCount", subsidyCount);
|
||||
map.put("totalSubsidyCost", totalSubsidyCost);
|
||||
|
||||
return Result.success(map);
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("fund.dashBoard")
|
||||
@ApiOperation("各分工会基金会员数")
|
||||
public Result statUnionCount() {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
gh.id,
|
||||
gh.`name`,
|
||||
COUNT(vu.id) AS count
|
||||
FROM
|
||||
sys_union gh
|
||||
LEFT JOIN
|
||||
vw_user vu ON vu.unionId = gh.id AND vu.aidFundMember = 1
|
||||
GROUP BY
|
||||
gh.id, gh.`name`
|
||||
ORDER BY
|
||||
gh.unionCode ASC;
|
||||
""");
|
||||
sql.setCallback(Sqls.callback.maps());
|
||||
dao.execute(sql);
|
||||
return Result.success(sql.getList(HashMap.class));
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("fund.dashBoard")
|
||||
@ApiOperation("各在职状态基金会员数")
|
||||
public Result userStateCount(){
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
COUNT(CASE WHEN userState != '退休' THEN 1 END) AS onDutyCount,
|
||||
COUNT(CASE WHEN userState = '退休' THEN 1 END) AS retireCount
|
||||
FROM
|
||||
sys_user
|
||||
WHERE
|
||||
aidFundMember = 1;
|
||||
""");
|
||||
return Result.success(fundMemberService.listMap(sql));
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("fund.dashBoard")
|
||||
@ApiOperation("各人员类型基金会员数")
|
||||
public Result personTypeCount(){
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
personType,
|
||||
COUNT(*) AS userCount
|
||||
FROM
|
||||
sys_user
|
||||
WHERE
|
||||
aidFundMember = 1
|
||||
GROUP BY
|
||||
personType;
|
||||
""");
|
||||
return Result.success(fundMemberService.listMap(sql));
|
||||
}
|
||||
|
||||
}
|
||||
+10
@@ -1,7 +1,9 @@
|
||||
package com.budwk.app.zhgh.dayofficework.fund.subsidy.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
@@ -19,4 +21,12 @@ public class FundSubsidyAnalysisController {
|
||||
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("fundSubsidy.analysis")
|
||||
@ApiOperation("年度补助人数")
|
||||
public Result yearSubsidyCount() {
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -52,7 +52,7 @@ public class TeacherCongressSessionController {
|
||||
public Result pageData(PageForm pageForm, String j, String c, Integer year) {
|
||||
Sql sql = Sqls.create("select * from teacher_congress_session $condition");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.andEX("YEAR(startDate)", "=", year);
|
||||
cnd.andEX("year", "=", year);
|
||||
cnd.andEX("j", "=", j);
|
||||
cnd.andEX("c", "=", c);
|
||||
cnd.desc("startDate");
|
||||
|
||||
Reference in New Issue
Block a user