This commit is contained in:
2025-12-30 18:53:33 +08:00
parent 9c84ac6a6d
commit da65274cbb
13 changed files with 56 additions and 11 deletions
@@ -14,6 +14,7 @@ import com.budwk.app.sys.services.SysRoleService;
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
import org.nutz.dao.Cnd;
import org.nutz.dao.Dao;
import org.nutz.lang.Lang;
import java.util.List;
@@ -27,11 +28,11 @@ public class FlowFghzxAssignmentHandler implements AssignmentHandler {
SysRoleService sysRoleService = ServiceContext.find(SysRoleService.class);
Sys_role sysRole = sysRoleService.getByCode(RoleConstant.BRANCH_UNION_CHAIRMAN);
String unionId = StrUtil.blankToDefault(execution.getArgs().getStr(FlowConst.INITIATOR_UNIT_UNION_ID), SecurityUtil.getUnionId());
Sys_user_role user_role = dao.fetch(Sys_user_role.class, Cnd.where(Sys_user_role::getRoleId, "=", sysRole.getId()).and(Sys_user_role::getUnionId, "=", unionId));
if (user_role == null) {
List<Sys_user_role> user_roles = dao.query(Sys_user_role.class, Cnd.where(Sys_user_role::getRoleId, "=", sysRole.getId()).and(Sys_user_role::getUnionId, "=", unionId));
if (Lang.isNotEmpty(user_roles)) {
throw new BaseException("分工会主席没有设置,请联系校工会!", sysRole.getCode());
}
return List.of(user_role.getUserId());
return user_roles.stream().map(Sys_user_role::getUserId).distinct().toList();
}
@Override
@@ -92,7 +92,7 @@ public class ActivityBasicScopeController {
* @return {@link Result}
*/
@At
@SaCheckPermission("activity.basic.scope")
@SaCheckPermission("activity.basic")
public Result pageData(@Param("data") ActivityUserScopePageParam pageForm) {
Sql sql = Sqls.create("""
SELECT
@@ -236,7 +236,7 @@ public class TrainSignUpActivityStatisticsController {
for (TrainSignUpCourse c : courseList) {
String k = c.getCourseName();
List<NutMap> v = userList.stream().filter(x -> x.getString("courseName").equals(k)).collect(Collectors.toList());
List<NutMap> v = userList.stream().filter(x -> StrUtil.isNotBlank(x.getString("courseName")) && x.getString("courseName").equals(k)).collect(Collectors.toList());
ExportParams userExportParams = new ExportParams();
userExportParams.setSheetName(k);
userExportParams.setType(ExcelType.HSSF);
@@ -91,6 +91,24 @@ public class TrainSignUpActivityServiceImpl extends BaseServiceImpl<TrainSignUpA
if (Lang.isEmpty(courseList)) {
return;
}
Set<String> newIds = courseList.stream()
.map(TrainSignUpCourse::getId)
.filter(StrUtil::isNotBlank)
.collect(Collectors.toSet());
List<TrainSignUpCourse> oldCourses = dao().query(TrainSignUpCourse.class, Cnd.where("activityId", "=", activity.getId()));
Set<String> oldIds = oldCourses.stream()
.map(TrainSignUpCourse::getId)
.filter(StrUtil::isNotBlank)
.collect(Collectors.toSet());
Set<String> deletedIds = Sets.difference(oldIds, newIds).immutableCopy();
if(Lang.isNotEmpty(deletedIds)) {
dao().clear(TrainSignUpCourse.class, Cnd.where("id", "in", deletedIds));
}
for (TrainSignUpCourse course : courseList) {
course.setActivityId(activity.getId());
dao().insertOrUpdate(course);
@@ -8,11 +8,13 @@ import com.budwk.app.base.utils.CommonDownloadUtil;
import com.budwk.app.base.utils.SysOfficeTemplateUtil;
import com.budwk.app.bpm.enums.BpmProcessInstanceStatusEnum;
import com.budwk.app.flow.enums.ProcessInstanceStateEnum;
import com.budwk.app.sys.models.Sys_user;
import com.budwk.app.sys.models.Sys_user_role;
import com.budwk.app.web.commons.auth.utils.AuthUtil;
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
import com.budwk.app.web.commons.base.Globals;
import com.budwk.app.web.controllers.open.commons.service.CommonService;
import com.budwk.app.zhgh.club.model.ClubUser;
import com.budwk.app.zhgh.club.param.ClubUserPageForm;
import com.budwk.app.zhgh.club.service.SysClubInfoManageService;
import com.budwk.app.zhgh.club.service.SysClubService;
@@ -26,6 +28,7 @@ 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.SqlExpressionGroup;
import org.nutz.dao.util.cri.Static;
import org.nutz.ioc.loader.annotation.Inject;
import org.nutz.ioc.loader.annotation.IocBean;
@@ -95,6 +98,18 @@ public class SysClubInfoManageServiceImpl extends BaseServiceImpl<ClubCommonPage
cnd.and("c.clubName", "LIKE", "%" + pageForm.getClubName() + "%");
}
if(StrUtil.isNotBlank(pageForm.getSearchKeyword())) {
Cnd c = Cnd.NEW();
SqlExpressionGroup group = new SqlExpressionGroup();
group.orLike("userName", pageForm.getSearchKeyword());
group.orLike("loginName", pageForm.getSearchKeyword());
c.and(group);
c.limit(50);
List<Sys_user> userList = dao().query(Sys_user.class, c);
List<ClubUser> list = dao().query(ClubUser.class, Cnd.where("userId", "in", userList.stream().map(Sys_user::getId).toList()));
cnd.and("c.id", "in", list.stream().map(ClubUser::getClubId).toList());
}
cnd.andEX("year(c.createTime)", "=", pageForm.getYear());
cnd.and("c.dismiss", "=", false);
cnd.and("ins.state", "=", ProcessInstanceStateEnum.FINISHED.getCode());
@@ -18,6 +18,7 @@ import com.budwk.app.sys.models.Sys_user_role;
import com.budwk.app.sys.services.SysRoleService;
import com.budwk.app.sys.services.SysUserService;
import com.budwk.app.zhgh.democratic.teachercongress.delegation.models.Teacher_congress_delegation;
import com.budwk.app.zhgh.democratic.teachercongress.delegation.models.Teacher_congress_delegation_union;
import com.budwk.app.zhgh.democratic.teachercongress.delegation.models.Teacher_congress_delegation_unit;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -147,6 +148,8 @@ public class TeacherCongressDelegationController {
@SaCheckPermission("tc.delegation")
public Result delete(@Valid String id) {
dao.delete(Teacher_congress_delegation.class, id);
dao.clear(Teacher_congress_delegation_union.class, Cnd.where(Teacher_congress_delegation_union::getDelegationId, "=", id));
dao.clear(Teacher_congress_delegation_unit.class, Cnd.where(Teacher_congress_delegation_unit::getDelegationId, "=", id));
return Result.success();
}
@@ -100,7 +100,7 @@ public class SingleTeacherServiceImpl extends BaseServiceImpl<SingleTeacher> imp
cnd.andEX("u.personType", "=", pageForm.getPersonType());
cnd.andEX("u.userState", "=", pageForm.getUserState());
cnd.andEX("st.education", "=", pageForm.getEducation());
cnd.andEX("u.marriage", "=", pageForm.getMarriage());
cnd.andEX("st.maritalStatus", "=", pageForm.getMarriage());
if (StrUtil.isAllNotBlank(pageForm.getPageOrderName(), pageForm.getPageOrderBy())) {
cnd.orderBy(pageForm.getPageOrderName(), PageUtil.getOrder(pageForm.getPageOrderBy()));
@@ -194,7 +194,7 @@ public class ThirtyTeachController {
break;
}
List<Sys_user> matchUsers = users.stream().filter(u -> u.getLoginname().equals(temp.getLoginName())).map(u -> {
List<Sys_user> matchUsers = users.stream().filter(u -> StrUtil.isNotBlank(u.getLoginname()) && u.getLoginname().equals(temp.getLoginName())).map(u -> {
Sys_user user = new Sys_user();
user.setId(u.getId());
user.setLoginname(temp.getLoginName());
@@ -13,6 +13,10 @@ const SCHOOL_CLUB_MANAGE_TEMPLATE = {
v-model="pageForm.clubName"
></el-input>
</search-item>
<search-item label="姓名/工号">
<el-input v-model="pageForm.searchKeyword" placeholder="请输入姓名或工号"
clearable></el-input>
</search-item>
</search>
</el-card>
<el-card shadow="never" class="mt10">
@@ -58,6 +58,8 @@ const CLUB_MANAGER_TEMPLATE = {
</template>
<template slot-scope="scope">
<el-button
:disabled="scope.row.roleCode === 'CLUB_PRESIDENT'
|| scope.row.roleCode === 'CLUB_SECRETARY'""
@click="deleteRow(scope.row, scope.$index)"
size="mini" type="danger">删除
</el-button>
@@ -76,7 +76,7 @@ layout("/layouts/platform.html"){
<el-row type="flex" justify="end">
<el-button @click="$refs.guava.index()" size="small">取消</el-button>
<el-button @click="handleTaskAction(6)" size="small" type="info">退回到发起人</el-button>
<el-button @click="handleTaskAction(20)" size="small" type="danger">不同意</el-button>
<el-button @click="handleTaskAction(2)" size="small" type="danger">不同意</el-button>
<el-button @click="handleTaskAction(1)" size="small" type="primary">同意</el-button>
</el-row>
</div>
@@ -163,7 +163,9 @@ layout("/layouts/platform.html"){
this.importDialog = true
},
successImport() {
this.importDialog = false
if(this.$refs.viewImport.$data.errorInfoData.errorCount === 0) {
this.importDialog = false
}
this.pageData()
},
exportMember() {
@@ -18,7 +18,7 @@ layout("/layouts/platform.html"){
placeholder="请选择年度"
></el-date-picker>
</search-item>
<template v-if="pageForm.queryType == 'union'">
<template v-if="pageForm.queryType == 'fgh'">
<search-item label="工会">
<el-select placeholder="分工会" v-model="pageForm.queryId" style="width: 100%" @change="doSearch" clearable filterable>
<el-option v-for="item in unions" :label="item.name" :value="item.id"></el-option>
@@ -45,7 +45,7 @@ layout("/layouts/platform.html"){
<table-tool label="会员分析"></table-tool>
<el-table :data="tableData" show-summary>
<el-table-column align="center" header-align="center" type="index" label="序号" width="80px"></el-table-column>
<el-table-column v-if="pageForm.queryType=='union'" align="center" header-align="center" label="分工会" width="220px">
<el-table-column v-if="pageForm.queryType=='fgh'" align="center" header-align="center" label="分工会" width="220px">
<template scope="{row}">{{row.unionCode ? ''+row.unionCode+'' : null }}{{row.unionName}}</template>
</el-table-column>
<el-table-column v-if="pageForm.queryType=='unit'" align="center" header-align="center" label="单位" width="220px">