工会干部培训

This commit is contained in:
=
2025-10-27 16:28:42 +08:00
parent 5f8de5e32b
commit 712b1ea597
18 changed files with 298 additions and 74 deletions
@@ -149,7 +149,7 @@ public class ActivityCultureApplyActivityController {
}
return Result.success();
}
if (tissue.getIsUnseal() && tissue.getIsEnrollSystem()) {
if (tissue.getIsUnseal()!=null && tissue.getIsUnseal() && tissue.getIsEnrollSystem()) {
Sys_home_activity sysHomeActivity = tissue.covertToSysHomeActivity();
activityCultureService.insertOrUpdate(sysHomeActivity);
}
@@ -137,7 +137,7 @@ public class ActivityCultureAuditActivityController {
public Result doReview(@Param("data") String param, String id) {
Dict args = Json.fromJson(Dict.class, param);
ActivityTissue tissue = activityCultureService.dao().fetch(ActivityTissue.class, id);
if (tissue.getIsUnseal() && args.getInt("submitType") == 1) {
if (tissue.getIsUnseal()!=null &&tissue.getIsUnseal() && args.getInt("submitType") == 1) {
Sys_home_activity sysHomeActivity = tissue.covertToSysHomeActivity();
activityCultureService.insertOrUpdate(sysHomeActivity);
}
@@ -231,6 +231,7 @@ public class ActivityTissue extends BaseModel implements Serializable, SysHomeCo
@Column
@Comment("是否开启")
@Default("0")
@ColDefine(type = ColType.BOOLEAN)
private Boolean isUnseal;
@@ -3,9 +3,12 @@ package com.budwk.app.zhgh.dayofficework.cadreTraining.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.util.StrUtil;
import com.budwk.app.base.annotation.SLog;
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.result.Result;
import com.budwk.app.web.commons.auth.utils.AuthUtil;
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
import com.budwk.app.zhgh.dayofficework.cadreTraining.model.CadreTrainingAct;
import com.budwk.app.zhgh.dayofficework.cadreTraining.service.CadreTrainingActService;
import io.swagger.annotations.Api;
@@ -14,6 +17,7 @@ import lombok.extern.slf4j.Slf4j;
import org.nutz.aop.interceptor.ioc.TransAop;
import org.nutz.dao.Cnd;
import org.nutz.dao.Dao;
import org.nutz.dao.util.cri.Static;
import org.nutz.ioc.aop.Aop;
import org.nutz.ioc.loader.annotation.Inject;
import org.nutz.ioc.loader.annotation.IocBean;
@@ -1,10 +1,12 @@
package com.budwk.app.zhgh.dayofficework.cadreTraining.controller;
import cn.dev33.satoken.annotation.SaCheckLogin;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaMode;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Dict;
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.result.Result;
@@ -13,7 +15,9 @@ import com.budwk.app.flow.engine.FlowEngine;
import com.budwk.app.flow.entity.ProcessInstance;
import com.budwk.app.flow.entity.ProcessTask;
import com.budwk.app.flow.enums.ProcessSubmitTypeEnum;
import com.budwk.app.web.commons.auth.utils.AuthUtil;
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
import com.budwk.app.zhgh.activity.culture.models.ActivityTissuePerson;
import com.budwk.app.zhgh.dayofficework.cadreTraining.model.CadreTrainingAct;
import com.budwk.app.zhgh.dayofficework.cadreTraining.model.CadreTrainingSignUp;
import com.budwk.app.zhgh.dayofficework.cadreTraining.service.CadreTrainingActService;
@@ -25,8 +29,10 @@ import org.nutz.dao.Cnd;
import org.nutz.dao.Dao;
import org.nutz.dao.Sqls;
import org.nutz.dao.sql.Sql;
import org.nutz.dao.util.cri.Static;
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 org.nutz.mvc.annotation.Param;
@@ -59,19 +65,26 @@ public class CadreTrainingSignUpController {
@At
@SaCheckPermission("cadreTraining.branchUnionSignUp")
@ApiOperation("分页查询")
public Result pageData(@Valid PageForm pageForm,Integer year) {
public Result pageData(@Valid PageForm pageForm,Integer year, boolean isEnrolled) {
Sql sql = Sqls.create("""
SELECT
info.*
info.*,
CASE WHEN cts.id IS NOT NULL THEN 1 ELSE 0 END AS isEnrolled
FROM
cadre_training info
LEFT JOIN cadre_training_signup cts on cts.cadreTrainingActId=info.id AND (cts.applyUserId = @userId OR cts.userId = @userId)
$condition
""");
""").setParam("userId", SecurityUtil.getUserId());
Cnd cnd = Cnd.NEW();
if (!AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(),
RoleConstant.BRANCH_UNION_CHAIRMAN.name())) {
cnd.and(new Static("(SELECT COUNT(1) FROM activity_user_scope WHERE groupId=activityGroupId AND userId='%s') >0".formatted(SecurityUtil.getUserId())));
}
cnd.andEX("year(signUpStartTime)", "=", year);
if (StrUtil.isNotBlank(pageForm.getSearchKeyword())) {
cnd.where().andLike(CadreTrainingAct::getName, pageForm.getSearchKeyword());
}
cnd.and("cts.id", isEnrolled ? "IS NOT" : "IS", null);
sql.setCondition(cnd);
Pagination pagination = cadreTrainingActService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
return Result.success(pagination);
@@ -98,6 +111,20 @@ public class CadreTrainingSignUpController {
return Result.success();
}
@At
@SaCheckLogin
@ApiOperation(value = "队友搜索")
public Result queryTeammate(@Valid String keyword) {
Sql sql = Sqls.create("select id userId,username userName,loginname loginName,sex,mobile,unitName,unionId,unionName from vw_user $condition limit 0,10");
Cnd cnd = Cnd.NEW();
cnd.or(Cnd.likeEX("username", keyword));
cnd.or(Cnd.likeEX("loginname", keyword));
cnd.and("unionid", "=", SecurityUtil.getUnionId());
sql.setCondition(cnd);
List<NutMap> list = cadreTrainingActService.listMap(sql);
return Result.success(list);
}
@At
@@ -37,6 +37,11 @@ public class CadreTrainingAct extends BaseModel {
@ColDefine(type = ColType.VARCHAR, width = 50)
private String name;
@Column
@Comment("活动范围Id")
@ColDefine(type = ColType.INT, width = 32)
private Integer activityGroupId;
@Column
@Comment("报名开始时间")
@ColDefine(type = ColType.DATETIME)
@@ -28,6 +28,16 @@ public class CadreTrainingSignUp extends BaseModel {
@ColDefine(type = ColType.VARCHAR, width = 32)
private String cadreTrainingActId;
@Column
@Comment("报名人ID")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String applyUserId;
@Column
@Comment("报名人姓名")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String applyUserUserName;
@Column
@Comment("用户ID")
@ColDefine(type = ColType.VARCHAR, width = 32)
@@ -33,6 +33,7 @@ import org.nutz.dao.Dao;
import org.nutz.dao.Sqls;
import org.nutz.dao.sql.Sql;
import org.nutz.dao.util.cri.SqlExpressionGroup;
import org.nutz.dao.util.cri.Static;
import org.nutz.ioc.aop.Aop;
import org.nutz.ioc.loader.annotation.Inject;
import org.nutz.ioc.loader.annotation.IocBean;
@@ -119,6 +120,7 @@ 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);
return Result.success(query);
}
@@ -40,6 +40,16 @@ public class MutualInsuranceProject extends BaseModel implements Serializable {
@ColDefine(type = ColType.VARCHAR, width = 255)
private String projectName;
@Column
@Comment("活动范围Id")
@ColDefine(type = ColType.INT, width = 32)
private Integer activityGroupId;
@Column
@Comment("活动范围名称")
@ColDefine(type = ColType.VARCHAR, width = 40)
private String activityGroupName;
@Column
@Comment("开始时间")
@ColDefine(type = ColType.DATETIME)