This commit is contained in:
2026-04-03 10:32:14 +08:00
parent 18236d8d1f
commit 765c715d28
37 changed files with 914 additions and 227 deletions
@@ -52,8 +52,6 @@ public class HuiminManageController {
t1.*
FROM
huimin t1
LEFT JOIN activity_user_scope aus ON t1.groupId = aus.groupId
AND aus.userId = @userId
$condition
""");
Cnd cnd = Cnd.NEW();
@@ -7,6 +7,7 @@ import com.budwk.app.base.page.Pagination;
import com.budwk.app.base.param.PageForm;
import com.budwk.app.base.result.Result;
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
import com.budwk.app.zhgh.activity.basic.service.ActivityBasicScopeService;
import com.budwk.app.zhgh.staffbenefit.huimin.models.Huimin;
import com.budwk.app.zhgh.staffbenefit.huimin.service.HuiminService;
import io.swagger.annotations.Api;
@@ -16,9 +17,12 @@ 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.List;
@IocBean
@At("/platform/huimin/mine")
@Api(tags = "惠民服务-我的")
@@ -28,6 +32,8 @@ public class HuiminMineController {
@Inject
private HuiminService huiminService;
@Inject
private ActivityBasicScopeService activityBasicScopeService;
@At("")
@SaCheckPermission("huimin.mine")
@@ -50,8 +56,6 @@ public class HuiminMineController {
t1.*
FROM
huimin t1
LEFT JOIN activity_user_scope aus ON t1.groupId = aus.groupId
AND aus.userId = @userId
$condition
""");
Cnd cnd = Cnd.NEW();
@@ -61,12 +65,17 @@ public class HuiminMineController {
}
// 添加启用状态过滤(只显示启用的记录)
cnd.and("t1.enable", "=", true);
// 添加权限过滤
cnd.and(Cnd.exps("t1.groupId", "is", null).or("aus.groupId", "is not", null));
sql.params().set("userId", SecurityUtil.getUserId());
sql.setCondition(cnd);
Pagination pagination = huiminService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
return Result.success(pagination);
List<NutMap> list = huiminService.listMap(sql);
List<NutMap> filterList = list.stream().filter(item -> {
Integer groupId = item.getInt("groupId");
return groupId == null || activityBasicScopeService.isUserInGroup(groupId, SecurityUtil.getUserId());
}).toList();
int total = filterList.size();
int start = Math.max((pageForm.getPageNumber() - 1) * pageForm.getPageSize(), 0);
int end = Math.min(start + pageForm.getPageSize(), total);
List<NutMap> pageList = start >= total ? List.of() : filterList.subList(start, end);
return Result.success(new Pagination<>(pageForm.getPageNumber(), pageForm.getPageSize(), total, pageList));
}
@@ -22,6 +22,7 @@ import com.budwk.app.flow.enums.ProcessSubmitTypeEnum;
import com.budwk.app.flow.service.FlowCommonService;
import com.budwk.app.web.commons.auth.utils.AuthUtil;
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
import com.budwk.app.zhgh.activity.basic.service.ActivityBasicScopeService;
import com.budwk.app.zhgh.dayofficework.exerciseCard.vo.ExercisePeopleImportVo;
import com.budwk.app.zhgh.staffbenefit.maternityLeave.models.MaternityLeave;
import com.budwk.app.zhgh.staffbenefit.mutualInsurance.model.MutualInsuranceProject;
@@ -82,6 +83,8 @@ public class MutualInsuranceApplyController {
private MutualInsuranceProjectService mutualInsuranceProjectService;
@Inject
private MutualInsuranceUserService mutualInsuranceUserService;
@Inject
private ActivityBasicScopeService activityBasicScopeService;
@At("/index")
@Ok("beetl:/platform/zhgh/staffbenefit/mutualInsurance/apply/index.html")
@@ -118,8 +121,9 @@ public class MutualInsuranceApplyController {
Cnd cnd = Cnd.NEW();
cnd.andEX("`year`", "=", year == null ? DateUtil.thisYear() : year);
cnd.and("isOpen", "=", true);
cnd.and(new Static("(SELECT COUNT(1) FROM activity_user_scope WHERE groupId=activityGroupId AND userId='%s') >0".formatted(SecurityUtil.getUserId())));
List<MutualInsuranceProject> query = mutualInsuranceProjectService.query(cnd);
List<MutualInsuranceProject> query = mutualInsuranceProjectService.query(cnd).stream()
.filter(item -> activityBasicScopeService.isUserInGroup(item.getActivityGroupId(), SecurityUtil.getUserId()))
.toList();
return Result.success(query);
}
@@ -14,6 +14,7 @@ import com.budwk.app.base.param.PageForm;
import com.budwk.app.base.result.Result;
import com.budwk.app.base.utils.CommonDownloadUtil;
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
import com.budwk.app.zhgh.activity.basic.service.ActivityBasicScopeService;
import com.budwk.app.zhgh.staffbenefit.recuperation.constant.RecuperationState;
import com.budwk.app.zhgh.staffbenefit.recuperation.model.RecuperationConfig;
import com.budwk.app.zhgh.staffbenefit.recuperation.model.RecuperationEnroll;
@@ -65,6 +66,8 @@ public class RecuperationSchoolUnionUserQueryController {
private Dao dao;
@Inject
private RecuperationEnrollService enrollService;
@Inject
private ActivityBasicScopeService activityBasicScopeService;
@At("")
@Ok("beetl:/platform/zhgh/staffbenefit/recuperation/schoolUnionUserQuery/index.html")
@@ -462,12 +465,11 @@ public class RecuperationSchoolUnionUserQueryController {
u.unitname as unitName,
u.unionname as unionName
from
activity_user_scope us
left join vw_user u on u.id = us.userId
vw_user u
$condition
""");
Cnd cnd = Cnd.NEW();
cnd.and("us.groupId", "=", config.getActivityGroupId());
cnd.and("u.id", "in", activityBasicScopeService.buildGroupUserIdSubSql(config.getActivityGroupId()));
cnd.and(new Static(" u.loginname not in (select loginName from recuperation_enroll where year(signingUptime) = '%s' and isNormal = true)".formatted(DateUtil.thisYear())));
cnd.asc("unitcode");
sql.setCondition(cnd);
@@ -10,6 +10,7 @@ import com.budwk.app.sys.models.Sys_union;
import com.budwk.app.sys.models.Sys_user;
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
import com.budwk.app.zhgh.activity.basic.models.ActivityUserScope;
import com.budwk.app.zhgh.activity.basic.service.ActivityBasicScopeService;
import com.budwk.app.zhgh.staffbenefit.recuperation.constant.*;
import com.budwk.app.zhgh.staffbenefit.recuperation.model.*;
import com.budwk.app.zhgh.staffbenefit.recuperation.service.RecuperationEnrollService;
@@ -46,6 +47,8 @@ public class RecuperationEnrollServiceImpl extends BaseServiceImpl<RecuperationE
@Inject
private RecuperationLineService lineService;
@Inject
private ActivityBasicScopeService activityBasicScopeService;
public RecuperationEnrollServiceImpl(Dao dao) {
super(dao);
@@ -419,9 +422,7 @@ public class RecuperationEnrollServiceImpl extends BaseServiceImpl<RecuperationE
Sys_user user = dao().fetch(Sys_user.class, Cnd.where("loginname", "=", loginName));
//判断是否在报名范围内
int count = dao().count("activity_user_scope", Cnd.NEW().and("groupId", "=", config.getActivityGroupId())
.and("userId", "=", user.getId() ));
if (count == 0) {
if (!activityBasicScopeService.isUserInGroup(config.getActivityGroupId(), user.getId())) {
return Map.of(false, "抱歉,您不在报名范围内!");
}