commit
This commit is contained in:
@@ -72,7 +72,7 @@ public class WkWebSocket extends AbstractWsEndpoint implements PubSub {
|
||||
ScanResult<String> scan = null;
|
||||
do {
|
||||
scan = jedis.scan(scan == null ? ScanParams.SCAN_POINTER_START : scan.getStringCursor(), match);
|
||||
for (String key : scan.getResult()) {
|
||||
for (String key : scan.getResult()) {
|
||||
switch (jedis.type(key)) {
|
||||
case "none":
|
||||
break;
|
||||
|
||||
+53
-2
@@ -1,24 +1,33 @@
|
||||
package com.budwk.app.zhgh.activity.declarereimbursement.reimbursement.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.hutool.core.lang.Dict;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.annotation.SLog;
|
||||
import com.budwk.app.base.exception.BaseException;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.base.utils.PageUtil;
|
||||
import com.budwk.app.flow.enums.ProcessTaskStateEnum;
|
||||
import com.budwk.app.flow.service.FlowCommonService;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
import com.budwk.app.zhgh.activity.declarereimbursement.reimbursement.models.ActivityReimbursementInfo;
|
||||
import com.budwk.app.zhgh.activity.declarereimbursement.reimbursement.service.ActivityReimbursementService;
|
||||
import com.budwk.app.zhgh.activity.declarereimbursement.vo.CommonPageParam;
|
||||
import com.budwk.app.zhgh.dayofficework.outlay.activityBudget.models.ActivityBudget;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.nutz.dao.Cnd;
|
||||
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.json.Json;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -36,6 +45,9 @@ public class ActivityReimbursementDeputySchoolUnionController {
|
||||
@Inject
|
||||
private ActivityReimbursementService activityReimbursementService;
|
||||
|
||||
@Inject
|
||||
private FlowCommonService flowCommonService;
|
||||
|
||||
@At("")
|
||||
@SaCheckPermission("activityReimbursement.deputySchoolUnion")
|
||||
@Ok("beetl:/platform/zhgh/activity/declarereimbursement/reimbursement/deputySchoolUnion/index.html")
|
||||
@@ -96,8 +108,8 @@ public class ActivityReimbursementDeputySchoolUnionController {
|
||||
pageParam.buildSearch(cnd, "info.");
|
||||
|
||||
cnd.and("t.taskName", "=", "f9b8379f-f348-4985-ba58-b6ba28deb9af");
|
||||
cnd.and("ta.actorId", "in", List.of(SecurityUtil.getUserId()));
|
||||
cnd.andEX("outlay.budgetReimburseType", "=" , pageParam.getBudgetReimburseType());
|
||||
// cnd.and("ta.actorId", "in", List.of(SecurityUtil.getUserId()));
|
||||
cnd.andEX("outlay.budgetReimburseType", "=", pageParam.getBudgetReimburseType());
|
||||
cnd.andEX("info.outlayManageSource", "=", pageParam.getOutlayManageSource());
|
||||
cnd.andEX("info.activityReimbursementMode", "=", pageParam.getActivityReimbursementMode());
|
||||
|
||||
@@ -119,5 +131,44 @@ public class ActivityReimbursementDeputySchoolUnionController {
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@SLog(tag = "报销", msg = "校工会副主席审核了一条记录")
|
||||
@SaCheckPermission("activityReimbursement.deputySchoolUnion")
|
||||
public Result doReview(@Param("data") String param, String id) {
|
||||
Dict args = Json.fromJson(Dict.class, param);
|
||||
if (args.getInt("submitType") == 1) {
|
||||
|
||||
ActivityReimbursementInfo info = activityReimbursementService.dao().fetch(ActivityReimbursementInfo.class, id);
|
||||
if (info.getActualMoney().compareTo(BigDecimal.valueOf(10000)) < 0) {
|
||||
ActivityBudget budget = activityReimbursementService.dao().fetch(ActivityBudget.class, info.getDeductionBudgetId());
|
||||
|
||||
Sql sql1 = Sqls.create("""
|
||||
SELECT
|
||||
info.actualMoney
|
||||
FROM
|
||||
`activity_reimbursement_info` info
|
||||
LEFT JOIN wf_process_instance ins ON ins.businessNo = info.id
|
||||
WHERE
|
||||
ins.state = 20
|
||||
and info.deductionBudgetId=@deductionBudgetId
|
||||
""").setParam("deductionBudgetId", info.getDeductionBudgetId());
|
||||
List<NutMap> infoList = activityReimbursementService.listMap(sql1);
|
||||
|
||||
double usedBudgetMoney = infoList.stream().mapToDouble(v -> v.getDouble("actualMoney")).sum();
|
||||
|
||||
//全部已使用
|
||||
BigDecimal allUsedMoney = info.getActualMoney().add(BigDecimal.valueOf(usedBudgetMoney));
|
||||
if (allUsedMoney.compareTo(budget.getTotalBudgetMoney()) > 0) {
|
||||
return Result.error("剩余配额不足!当前活动预算:" + budget.getTotalBudgetMoney()
|
||||
+ ",已使用:" + usedBudgetMoney + "元,剩余:"
|
||||
+ budget.getTotalBudgetMoney().subtract(BigDecimal.valueOf(usedBudgetMoney)));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
flowCommonService.executeTask(args);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
+32
-2
@@ -18,11 +18,16 @@ import com.budwk.app.zhgh.dayofficework.outlay.outlayManage.union.model.OutlayMa
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
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.aop.Aop;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.json.Json;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
@@ -45,7 +50,32 @@ public class ActivityReimbursementSchoolUnionServiceImpl extends BaseServiceImpl
|
||||
Dict args = Json.fromJson(Dict.class, param);
|
||||
if (args.getInt("submitType") == 1) {
|
||||
ActivityReimbursementInfo info = dao().fetch(ActivityReimbursementInfo.class, id);
|
||||
OutlayUseDetail detail = new OutlayUseDetail();
|
||||
|
||||
ActivityBudget budget = dao().fetch(ActivityBudget.class, info.getDeductionBudgetId());
|
||||
Sql sql1 = Sqls.create("""
|
||||
SELECT
|
||||
info.actualMoney
|
||||
FROM
|
||||
`activity_reimbursement_info` info
|
||||
LEFT JOIN wf_process_instance ins ON ins.businessNo = info.id
|
||||
WHERE
|
||||
ins.state = 20
|
||||
and info.deductionBudgetId=@deductionBudgetId
|
||||
""").setParam("deductionBudgetId", id);
|
||||
List<NutMap> infoList = listMap(sql1);
|
||||
|
||||
double usedBudgetMoney = infoList.stream().mapToDouble(v -> v.getDouble("actualMoney")).sum();
|
||||
|
||||
//全部已使用
|
||||
BigDecimal allUsedMoney = info.getActualMoney().add(BigDecimal.valueOf(usedBudgetMoney));
|
||||
if (allUsedMoney.compareTo(budget.getTotalBudgetMoney()) > 0) {
|
||||
throw new BaseException("剩余配额不足!当前活动预算:" + budget.getTotalBudgetMoney()
|
||||
+ ",已使用:" + usedBudgetMoney + "元,剩余:"
|
||||
+ budget.getTotalBudgetMoney().subtract(BigDecimal.valueOf(usedBudgetMoney)));
|
||||
}
|
||||
|
||||
|
||||
/* OutlayUseDetail detail = new OutlayUseDetail();
|
||||
|
||||
detail.setProjectName(info.getActivityName());
|
||||
detail.setAdjustMoney(info.getActualMoney());
|
||||
@@ -135,7 +165,7 @@ public class ActivityReimbursementSchoolUnionServiceImpl extends BaseServiceImpl
|
||||
//添加使用记录到经费管理表
|
||||
detail.setOutlayManageId(manageClub.getId());
|
||||
dao().insert(detail);
|
||||
}
|
||||
}*/
|
||||
|
||||
}
|
||||
flowCommonService.executeTask(args);
|
||||
|
||||
+1
-1
@@ -89,7 +89,7 @@ public class ActivityBudgetSchoolAuditController {
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.and("t.taskName", "=", "b6f29037-972d-4b97-8677-c3b3672ef0dc");
|
||||
cnd.and("ta.actorId", "in", List.of(SecurityUtil.getUserId()));
|
||||
// cnd.and("ta.actorId", "in", List.of(SecurityUtil.getUserId()));
|
||||
cnd.andEX("info.unionId", "=", unionId);
|
||||
cnd.andEX("info.outlayManageSource", "=", outlayManageSource);
|
||||
cnd.andEX("info.budgetReimburseType", "=", budgetReimburseType);
|
||||
|
||||
@@ -50,6 +50,11 @@ public class WelfareUserSelection extends BaseModel implements Serializable {
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String selectUserId;
|
||||
|
||||
@Column
|
||||
@Comment("选择用户")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String userName;
|
||||
|
||||
@Column
|
||||
@Comment("选择时间")
|
||||
@ColDefine(type = ColType.DATETIME)
|
||||
|
||||
@@ -16,6 +16,7 @@ import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.base.service.impl.BaseServiceImpl;
|
||||
import com.budwk.app.base.utils.CommonDownloadUtil;
|
||||
import com.budwk.app.base.utils.PageUtil;
|
||||
import com.budwk.app.sys.models.Sys_union;
|
||||
import com.budwk.app.sys.views.View_user;
|
||||
import com.budwk.app.web.commons.auth.utils.AuthUtil;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
@@ -392,7 +393,7 @@ public class WelfareListServiceImpl extends BaseServiceImpl<WelfareList> impleme
|
||||
t2.birthday
|
||||
FROM
|
||||
`welfare_list` t1
|
||||
LEFT JOIN sys_user t2 ON t2.id = t1.userId
|
||||
LEFT JOIN `vw_user` t2 ON t2.id = t1.userId
|
||||
$condition
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
@@ -408,6 +409,9 @@ public class WelfareListServiceImpl extends BaseServiceImpl<WelfareList> impleme
|
||||
if (pageForm.getBirthMonths() != null && pageForm.getBirthMonths().length > 0) {
|
||||
cnd.andEX("MONTH(t2.birthday)", "in", pageForm.getBirthMonths());
|
||||
}
|
||||
if(!AuthUtil.hasRole(RoleConstant.SYSADMIN.name()) && AuthUtil.hasRole(RoleConstant.BRANCH_UNION_CHAIRMAN.name())) {
|
||||
cnd.and("t2.unionId", "=", SecurityUtil.getUnionId());
|
||||
}
|
||||
cnd.andEX("t1.welfareUnitId", "in", pageForm.getUnitIds());
|
||||
cnd.andEX("t1.welfareUnionId", "=", pageForm.getUnionId());
|
||||
cnd.andEX("t1.personType", "in", pageForm.getPersonTypes());
|
||||
|
||||
+3
@@ -219,6 +219,9 @@ public class WelfareSelectionSituationServiceImpl extends BaseServiceImpl<Welfar
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.and("t1.projectId", "=", pageForm.getProjectId());
|
||||
cnd.groupBy("t1.id");
|
||||
if (AuthUtil.hasRole(RoleConstant.BRANCH_UNION_CHAIRMAN.name()) || AuthUtil.hasRole(RoleConstant.BRANCH_UNION_ADMIN.name())) {
|
||||
cnd.and("t1.welfareUnionId", "=", SecurityUtil.getUnionId());
|
||||
}
|
||||
cnd.asc("t1.welfareUnitId");
|
||||
sql.setCondition(cnd);
|
||||
List<NutMap> list = listMap(sql);
|
||||
|
||||
+12
-1
@@ -7,11 +7,14 @@ import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity;
|
||||
import cn.afterturn.easypoi.excel.export.ExcelExportService;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.constant.RoleConstant;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.param.PageForm;
|
||||
import com.budwk.app.base.service.impl.BaseServiceImpl;
|
||||
import com.budwk.app.base.utils.CommonDownloadUtil;
|
||||
import com.budwk.app.sys.models.Sys_union;
|
||||
import com.budwk.app.web.commons.auth.utils.AuthUtil;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
import com.budwk.app.zhgh.welfare.model.WelfareProject;
|
||||
import com.budwk.app.zhgh.welfare.model.WelfareProjectSubjectOption;
|
||||
import com.budwk.app.zhgh.welfare.service.WelfareStatisticsService;
|
||||
@@ -44,9 +47,15 @@ public class WelfareStatisticsServiceImpl extends BaseServiceImpl<WelfareProject
|
||||
@Override
|
||||
public NutMap pageData(String projectId, String unionId) {
|
||||
// 分工会数据
|
||||
List<Sys_union> unions = dao().query(Sys_union.class, Cnd.NEW().andEX(Sys_union::getId, "=", unionId).asc(Sys_union::getUnionCode));
|
||||
List<Sys_union> unions;
|
||||
if (AuthUtil.hasRole(RoleConstant.BRANCH_UNION_CHAIRMAN.name()) || AuthUtil.hasRole(RoleConstant.BRANCH_UNION_ADMIN.name())) {
|
||||
unions = dao().query(Sys_union.class, Cnd.NEW().andEX(Sys_union::getId, "=", SecurityUtil.getUnionId()).asc(Sys_union::getUnionCode));
|
||||
}else {
|
||||
unions = dao().query(Sys_union.class, Cnd.NEW().andEX(Sys_union::getId, "=", unionId).asc(Sys_union::getUnionCode));
|
||||
}
|
||||
List<NutMap> mapUnions = BeanUtil.copyToList(unions, NutMap.class);
|
||||
|
||||
|
||||
// 表格动态列数据
|
||||
List<NutMap> dynamicTableColumns = new ArrayList<>() {{
|
||||
add(NutMap.NEW().addv("label", "分工会").addv("prop", "name"));
|
||||
@@ -468,6 +477,7 @@ public class WelfareStatisticsServiceImpl extends BaseServiceImpl<WelfareProject
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.and("t1.projectId", "=", projectId);
|
||||
cnd.groupBy("t1.userId");
|
||||
sql.setCondition(cnd);
|
||||
List<NutMap> welfareSelectionList = listMap(sql);
|
||||
|
||||
@@ -483,6 +493,7 @@ public class WelfareStatisticsServiceImpl extends BaseServiceImpl<WelfareProject
|
||||
""");
|
||||
Cnd cnd2 = Cnd.NEW();
|
||||
cnd2.and("t1.welfareId", "=", projectId);
|
||||
|
||||
sql2.setCondition(cnd2);
|
||||
List<NutMap> userSelections = listMap(sql2);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user