Merge branch 'main' of https://dd3skj.picp.vip/JyuHsin/zhgh_jshvc
This commit is contained in:
+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);
|
||||
|
||||
Reference in New Issue
Block a user