This commit is contained in:
@jyuhsin
2025-10-17 15:23:10 +08:00
parent a5f278375a
commit 1cb3ee9d58
16 changed files with 62 additions and 34 deletions
@@ -20,6 +20,7 @@ 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.ActivityTissue;
import com.budwk.app.zhgh.activity.culture.service.ActivityCultureService;
import com.budwk.app.zhgh.club.model.ClubUser;
import com.budwk.app.zhgh.club.model.SysClub;
import com.budwk.app.zhgh.club.service.SysClubService;
import io.swagger.annotations.ApiOperation;
@@ -195,11 +196,9 @@ public class ActivityCultureApplyActivityController {
List<SysClub> myManageClub = sysClubService.getMyManageClub();
List<String> clubIds = myManageClub.stream().map(SysClub::getId).collect(Collectors.toList());
List<Sys_user_role> clubList = sysClubService.dao().query(Sys_user_role.class,
Cnd.where("roleId", "in", List.of(RoleConstant.CLUB_MEMBER.name()))
.and("clubId", "in", clubIds));
List<ClubUser> list = sysClubService.dao().query(ClubUser.class, Cnd.where(ClubUser::getClubId, "in", clubIds));
List<String> clubUserIds = clubList.stream().map(Sys_user_role::getUserId).toList();
List<String> clubUserIds = list.stream().map(ClubUser::getUserId).toList();
cnd.and("id", "in", clubUserIds);
}
}
@@ -28,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.ioc.loader.annotation.Inject;
import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.lang.Strings;
@@ -108,8 +109,11 @@ public class ActivityCultureUserStatisticsController {
cnd.and("atp.userId", "in", Sqls.create("SELECT userid FROM club_user WHERE clubId in (@clubIds)").setParam("clubIds", clubIdList));
}
}
if (Strings.isNotBlank(page.getSearchName()) && Strings.isNotBlank(page.getSearchKeyword())) {
cnd.where().andLike(page.getSearchName(), page.getSearchKeyword());
if (Strings.isNotBlank(page.getSearchKeyword())) {
SqlExpressionGroup group = new SqlExpressionGroup();
group.orLike("atp.username", page.getSearchKeyword());
group.orLike("atp.loginanme", page.getSearchKeyword());
cnd.and(group);
}
if (StrUtil.isNotBlank(page.getPageOrderName()) && StrUtil.isNotBlank(page.getPageOrderBy())) {
cnd.orderBy(page.getPageOrderName(), page.getPageOrderBy().equalsIgnoreCase("ascending") ? "ASC" : "DESC");
@@ -123,7 +123,7 @@ public class ClubRefreshReportController {
}
List<SysClubRefresh> list = dao.query(SysClubRefresh.class, cnd);
List<String> idList = list.stream().map(SysClubRefresh::getId).toList();
int count = dao.count(ProcessInstance.class, Cnd.where(ProcessInstance::getBusinessNo, "in", idList).and(ProcessInstance::getState, "!=", ProcessInstanceStateEnum.FINISHED.getCode()));
int count = dao.count(ProcessInstance.class, Cnd.where(ProcessInstance::getBusinessNo, "in", idList).and(ProcessInstance::getState, "not in", List.of(ProcessInstanceStateEnum.FINISHED.getCode(), ProcessInstanceStateEnum.REJECT.getCode())));
if (count > 0) {
return Result.error("您有该协会的申请记录尚未完成,请核对!");
}
@@ -124,7 +124,7 @@ public class ClubRuleUpdateController {
}
List<SysClubRule> list = dao.query(SysClubRule.class, cnd);
List<String> idList = list.stream().map(SysClubRule::getId).toList();
int count = dao.count(ProcessInstance.class, Cnd.where(ProcessInstance::getBusinessNo, "in", idList).and(ProcessInstance::getState, "!=", ProcessInstanceStateEnum.FINISHED.getCode()));
int count = dao.count(ProcessInstance.class, Cnd.where(ProcessInstance::getBusinessNo, "in", idList).and(ProcessInstance::getState, "not in", List.of(ProcessInstanceStateEnum.FINISHED.getCode(), ProcessInstanceStateEnum.REJECT.getCode())));
if (count > 0) {
return Result.error("您有该协会的申请记录尚未完成,请核对!");
}
@@ -87,7 +87,7 @@ public class ClubStatisticsController {
@SaCheckPermission("club.statistics")
public Result getClub(Boolean auditState) {
Cnd cnd = Cnd.NEW();
if (auditState != null) {
/*if (auditState != null) {
List<SysClubExamineRegister> examineRegisters = sysClubService.dao().query(SysClubExamineRegister.class, Cnd.where("year(registerDate)", "=", DateUtil.thisYear()));
List<String> list = examineRegisters.stream().map(SysClubExamineRegister::getId).toList();
@@ -96,7 +96,7 @@ public class ClubStatisticsController {
List<SysClubExamineRegister> registers = examineRegisters.stream().filter(o -> businessNoList.contains(o.getId())).toList();
cnd.and("id", auditState ? "in" : "not in", registers.stream().map(SysClubExamineRegister::getClubId).toList());
}
}*/
if (!AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.SCHOOL_UNION_ADMIN.name(), RoleConstant.SCHOOL_UNION_CLUB_ADMIN.name())) {
Sys_role sysRole = sysRoleService.getByCode(RoleConstant.CLUB_PRESIDENT);
List<Sys_user_role> userRoles = sysClubService.dao().query(Sys_user_role.class, Cnd.where("userId", "=", SecurityUtil.getUserId()).and("roleId", "=", sysRole.getId()));
@@ -104,7 +104,18 @@ public class ClubStatisticsController {
cnd.and("id", "in", myClubId);
}
List<SysClub> list = sysClubService.query(cnd);
return Result.success(list);
// 获取审核通过的
List<ProcessInstance> instanceList = sysClubService.dao().query(
ProcessInstance.class,
Cnd.where(ProcessInstance::getBusinessNo, "in", list.stream().map(SysClub::getId).toList())
.and(ProcessInstance::getState, "=", ProcessInstanceStateEnum.FINISHED.getCode())
);
// 获取id
List<String> passList = instanceList.stream().map(ProcessInstance::getBusinessNo).toList();
List<SysClub> clubList = list.stream().filter(o -> passList.contains(o.getId())).toList();
return Result.success(clubList);
}
@At
@@ -195,6 +206,7 @@ public class ClubStatisticsController {
cnd.andEX("u.sex", "=", sex);
sql.setCondition(cnd);
List<NutMap> listMap = sysClubService.listMap(sql);
for (NutMap nutMap : listMap) {
List<String> list = Json.fromJsonAsList(String.class, nutMap.getString("roleCode"));
String roleName = SysClubUserServiceImpl.convertRoleName(list);
@@ -206,6 +218,16 @@ public class ClubStatisticsController {
stCnd.andEX("id", "=", clubId);
List<SysClub> clubList = sysClubService.query(stCnd);
// 获取审核通过的
List<ProcessInstance> instanceList = sysClubService.dao().query(
ProcessInstance.class,
Cnd.where(ProcessInstance::getBusinessNo, "in", clubList.stream().map(SysClub::getId).toList())
.and(ProcessInstance::getState, "=", ProcessInstanceStateEnum.FINISHED.getCode())
);
// 获取id
List<String> passList = instanceList.stream().map(ProcessInstance::getBusinessNo).toList();
clubList = clubList.stream().filter(o -> passList.contains(o.getId())).toList();
List<ExcelExportEntity> exportEntities = new ArrayList<>();
exportEntities.add(new ExcelExportEntity("姓名", "userName", 20));
exportEntities.add(new ExcelExportEntity("工号", "loginName", 20));
@@ -164,7 +164,7 @@ public class SysClubInfoManageServiceImpl extends BaseServiceImpl<ClubCommonPage
//查询社团成员
if (pageForm.getRadioType() != null && 2 == pageForm.getRadioType()) {
cnd.and(new Static("JSON_CONTAINS(scu.roleCode, '\"CLUB_MEMBER\"')"));
cnd.and(new Static("JSON_LENGTH(scu.roleCode) = 1"));
//cnd.and(new Static("JSON_LENGTH(scu.roleCode) = 1"));
}
sql.setCondition(cnd);
Pagination<ClubUserCommonPageVo> listPageVO = sysClubService.listPageVO(pageForm, sql, ClubUserCommonPageVo.class);