commit
This commit is contained in:
@@ -329,6 +329,7 @@ public class SysUnitController {
|
||||
parentId = "";
|
||||
}
|
||||
unit.setCreatedBy(SecurityUtil.getUserId());
|
||||
unit.setUnitTypeCode(1);
|
||||
sysUnitService.save(unit, parentId);
|
||||
return Result.success();
|
||||
} catch (Exception e) {
|
||||
|
||||
+11
-1
@@ -4,11 +4,13 @@ import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.json.JSONObject;
|
||||
import com.budwk.app.base.constant.RoleConstant;
|
||||
import com.budwk.app.base.exception.BaseException;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.param.PageForm;
|
||||
import com.budwk.app.base.service.impl.BaseServiceImpl;
|
||||
import com.budwk.app.sys.views.View_user;
|
||||
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.models.ActivityUserScope;
|
||||
import com.budwk.app.zhgh.activity.culture.models.ActivityTissue;
|
||||
@@ -74,12 +76,20 @@ public class ActivityCultureApplyUserServiceImpl extends BaseServiceImpl<Activit
|
||||
cnd.andEX("tissue.activity_type", "=", activity_type);
|
||||
cnd.and("tissue.isEnrollSystem", "=", 1);
|
||||
cnd.andEX("tissue.projectTypeCode", "!=", 50004);
|
||||
cnd.andEX("tissue.signUpMethod", "in", List.of(1, 2, 3));
|
||||
|
||||
if (StrUtil.isNotBlank(page.getPageOrderName()) && StrUtil.isNotBlank(page.getPageOrderBy())) {
|
||||
cnd.orderBy(page.getPageOrderName(), page.getPageOrderBy().equalsIgnoreCase("ascending") ? "ASC" : "DESC");
|
||||
} else {
|
||||
cnd.desc("tissue.startTime");
|
||||
}
|
||||
if (AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(),
|
||||
RoleConstant.SCHOOL_UNION_ADMIN.name(),
|
||||
RoleConstant.BRANCH_UNION_WENTI_SPORTS.name(),
|
||||
RoleConstant.BRANCH_UNION_CHAIRMAN.name())) {
|
||||
cnd.andEX("tissue.signUpMethod", "in", List.of(1, 2, 3));
|
||||
} else {
|
||||
cnd.andEX("tissue.signUpMethod", "in", List.of(1, 2));
|
||||
}
|
||||
|
||||
if (state == 1) {
|
||||
|
||||
|
||||
+125
-117
@@ -47,136 +47,144 @@ import java.util.List;
|
||||
@At("/platform/member/info/dataManage")
|
||||
public class MemberDataManageController {
|
||||
|
||||
@Inject
|
||||
private MemberInfoService memberInfoService;
|
||||
@Inject
|
||||
private Dao dao;
|
||||
@Inject
|
||||
private SysRoleService roleService;
|
||||
@Inject
|
||||
private MemberInfoService memberInfoService;
|
||||
@Inject
|
||||
private Dao dao;
|
||||
@Inject
|
||||
private SysRoleService roleService;
|
||||
|
||||
@At("")
|
||||
@SaCheckPermission("member.info.dataManage")
|
||||
@Ok("beetl:/platform/zhgh/staffmanage/member/info/datamanage/index.html")
|
||||
public void index() {
|
||||
}
|
||||
@At("")
|
||||
@SaCheckPermission("member.info.dataManage")
|
||||
@Ok("beetl:/platform/zhgh/staffmanage/member/info/datamanage/index.html")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ApiOperation("数据管理工具")
|
||||
@SaCheckPermission("member.info.dataManage")
|
||||
public Result pageData(MemberInfoPageForm pageForm) {
|
||||
Sql sql = generateSql(pageForm, Cnd.NEW());
|
||||
Pagination pagination = memberInfoService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
return Result.success(pagination);
|
||||
}
|
||||
@At
|
||||
@ApiOperation("数据管理工具")
|
||||
@SaCheckPermission("member.info.dataManage")
|
||||
public Result pageData(MemberInfoPageForm pageForm) {
|
||||
Sql sql = generateSql(pageForm, Cnd.NEW());
|
||||
Pagination pagination = memberInfoService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
return Result.success(pagination);
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("根据身份证号设置出生日期")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@SaCheckPermission("member.info.dataManage")
|
||||
@SLog(tag = "会员管理-数据管理工具", msg = "根据身份证号设置出生日期")
|
||||
public Object setBirthdayByIdCard() {
|
||||
Sql sql = Sqls.create("""
|
||||
UPDATE sys_user
|
||||
SET birthday = STR_TO_DATE(SUBSTRING(idcard, 7, 8), '%Y%m%d')
|
||||
WHERE (birthday IS NULL OR birthday = '') AND length(idcard)=18
|
||||
""");
|
||||
memberInfoService.execute(sql);
|
||||
return Result.success();
|
||||
}
|
||||
@At
|
||||
@ApiOperation("根据身份证号设置出生日期")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@SaCheckPermission("member.info.dataManage")
|
||||
@SLog(tag = "会员管理-数据管理工具", msg = "根据身份证号设置出生日期")
|
||||
public Object setBirthdayByIdCard() {
|
||||
int count = dao.count(Sys_user.class, Cnd.where("idCard", "is not", null));
|
||||
if (count == 0) {
|
||||
return Result.error("系统里暂时没有身份证");
|
||||
}
|
||||
Sql sql = Sqls.create("""
|
||||
UPDATE sys_user
|
||||
SET birthday = STR_TO_DATE(SUBSTRING(idCard, 7, 8), '%Y%m%d')
|
||||
WHERE birthday IS NULL
|
||||
AND LENGTH(idCard) = 18
|
||||
AND idCard IS NOT NULL
|
||||
AND idCard != ''
|
||||
AND SUBSTRING(idCard, 7, 8) REGEXP '^(19|20)[0-9]{2}(0[1-9]|1[0-2])(0[1-9]|[12][0-9]|3[01])$';
|
||||
""");
|
||||
memberInfoService.execute(sql);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("批量设置会员")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@SaCheckPermission("member.info.dataManage")
|
||||
@SLog(tag = "会员管理-数据管理工具", msg = "批量设置会员")
|
||||
public Object setMemberByCnd(@Param(value = "pageForm") MemberInfoPageForm pageForm,
|
||||
@Param(value = "append") boolean append) {
|
||||
@At
|
||||
@ApiOperation("批量设置会员")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@SaCheckPermission("member.info.dataManage")
|
||||
@SLog(tag = "会员管理-数据管理工具", msg = "批量设置会员")
|
||||
public Object setMemberByCnd(@Param(value = "pageForm") MemberInfoPageForm pageForm,
|
||||
@Param(value = "append") boolean append) {
|
||||
|
||||
Sys_role sysRole = roleService.getByCode(RoleConstant.MEMBER.name());
|
||||
// 如果是先清空再追加
|
||||
if(!append) {
|
||||
dao.update(Sys_user.class, Chain.make("member", false), Cnd.NEW());
|
||||
dao.clear(Sys_user_role.class, Cnd.where(Sys_user_role::getRoleId, "=", sysRole.getId()));
|
||||
}
|
||||
Sys_role sysRole = roleService.getByCode(RoleConstant.MEMBER.name());
|
||||
// 如果是先清空再追加
|
||||
if (!append) {
|
||||
dao.update(Sys_user.class, Chain.make("member", false), Cnd.NEW());
|
||||
dao.clear(Sys_user_role.class, Cnd.where(Sys_user_role::getRoleId, "=", sysRole.getId()));
|
||||
}
|
||||
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.and(Cnd.exps("member", "=", false).or("member", "is", null));
|
||||
Sql sql = generateSql(pageForm, cnd);
|
||||
List<NutMap> listMap = memberInfoService.listMap(sql);
|
||||
List<String> list = listMap.stream().map(o -> o.getString("id")).toList();
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.and(Cnd.exps("member", "=", false).or("member", "is", null));
|
||||
Sql sql = generateSql(pageForm, cnd);
|
||||
List<NutMap> listMap = memberInfoService.listMap(sql);
|
||||
List<String> list = listMap.stream().map(o -> o.getString("id")).toList();
|
||||
|
||||
List<Sys_user_role> userRoles = list.stream().map(o -> {
|
||||
Sys_user_role userRole = new Sys_user_role();
|
||||
userRole.setRoleId(sysRole.getId());
|
||||
userRole.setUserId(o);
|
||||
return userRole;
|
||||
}).toList();
|
||||
List<Sys_user_role> userRoles = list.stream().map(o -> {
|
||||
Sys_user_role userRole = new Sys_user_role();
|
||||
userRole.setRoleId(sysRole.getId());
|
||||
userRole.setUserId(o);
|
||||
return userRole;
|
||||
}).toList();
|
||||
|
||||
dao.update(Sys_user.class, Chain.make("member", true), Cnd.where("id", "in", list));
|
||||
dao.insert(userRoles);
|
||||
return Result.success();
|
||||
}
|
||||
dao.update(Sys_user.class, Chain.make("member", true), Cnd.where("id", "in", list));
|
||||
dao.insert(userRoles);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("批量设置福利会员")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@SaCheckPermission("member.info.dataManage")
|
||||
@SLog(tag = "会员管理-数据管理工具", msg = "批量设置福利会员")
|
||||
public Object setWelfareMemberByCnd(@Param(value = "pageForm") MemberInfoPageForm pageForm,
|
||||
@Param(value = "append") boolean append) {
|
||||
@At
|
||||
@ApiOperation("批量设置福利会员")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@SaCheckPermission("member.info.dataManage")
|
||||
@SLog(tag = "会员管理-数据管理工具", msg = "批量设置福利会员")
|
||||
public Object setWelfareMemberByCnd(@Param(value = "pageForm") MemberInfoPageForm pageForm,
|
||||
@Param(value = "append") boolean append) {
|
||||
|
||||
// 如果是先清空再追加
|
||||
if(!append) {
|
||||
dao.update(Sys_user.class, Chain.make("welfareMember", false), Cnd.NEW());
|
||||
}
|
||||
// 如果是先清空再追加
|
||||
if (!append) {
|
||||
dao.update(Sys_user.class, Chain.make("welfareMember", false), Cnd.NEW());
|
||||
}
|
||||
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.and(Cnd.exps("welfareMember", "=", false).or("welfareMember", "is", null));
|
||||
Sql sql = generateSql(pageForm, cnd);
|
||||
List<NutMap> listMap = memberInfoService.listMap(sql);
|
||||
List<String> list = listMap.stream().map(o -> o.getString("id")).toList();
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.and(Cnd.exps("welfareMember", "=", false).or("welfareMember", "is", null));
|
||||
Sql sql = generateSql(pageForm, cnd);
|
||||
List<NutMap> listMap = memberInfoService.listMap(sql);
|
||||
List<String> list = listMap.stream().map(o -> o.getString("id")).toList();
|
||||
|
||||
dao.update(Sys_user.class, Chain.make("welfareMember", true), Cnd.where("id", "in", list));
|
||||
return Result.success();
|
||||
}
|
||||
dao.update(Sys_user.class, Chain.make("welfareMember", true), Cnd.where("id", "in", list));
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
private Sql generateSql(MemberInfoPageForm pageForm, Cnd cnd) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
id,
|
||||
loginname as loginName,
|
||||
username as userName,
|
||||
sex,
|
||||
userState,
|
||||
personType,
|
||||
preparedBy,
|
||||
unionName,
|
||||
unitName,
|
||||
mobile
|
||||
from
|
||||
`vw_user`
|
||||
$condition
|
||||
""");
|
||||
pageForm.buildSearch(cnd, "");
|
||||
if (StrUtil.isNotBlank(pageForm.getStartLoginNames())) {
|
||||
String[] loginNames = pageForm.getStartLoginNames().split(",");
|
||||
SqlExpressionGroup seg = new SqlExpressionGroup();
|
||||
for (String loginName : loginNames) {
|
||||
seg.orLikeL("loginname", loginName);
|
||||
}
|
||||
cnd.and(seg);
|
||||
}
|
||||
private Sql generateSql(MemberInfoPageForm pageForm, Cnd cnd) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
id,
|
||||
loginname as loginName,
|
||||
username as userName,
|
||||
sex,
|
||||
userState,
|
||||
personType,
|
||||
preparedBy,
|
||||
unionName,
|
||||
unitName,
|
||||
mobile
|
||||
from
|
||||
`vw_user`
|
||||
$condition
|
||||
""");
|
||||
pageForm.buildSearch(cnd, "");
|
||||
if (StrUtil.isNotBlank(pageForm.getStartLoginNames())) {
|
||||
String[] loginNames = pageForm.getStartLoginNames().split(",");
|
||||
SqlExpressionGroup seg = new SqlExpressionGroup();
|
||||
for (String loginName : loginNames) {
|
||||
seg.orLikeL("loginname", loginName);
|
||||
}
|
||||
cnd.and(seg);
|
||||
}
|
||||
|
||||
if (StrUtil.isNotBlank(pageForm.getEndLoginNames())) {
|
||||
String[] loginNames = pageForm.getEndLoginNames().split(",");
|
||||
SqlExpressionGroup seg = new SqlExpressionGroup();
|
||||
for (String loginName : loginNames) {
|
||||
seg.orLikeR("loginname", loginName);
|
||||
}
|
||||
cnd.and(seg);
|
||||
}
|
||||
sql.setCondition(cnd);
|
||||
return sql;
|
||||
}
|
||||
if (StrUtil.isNotBlank(pageForm.getEndLoginNames())) {
|
||||
String[] loginNames = pageForm.getEndLoginNames().split(",");
|
||||
SqlExpressionGroup seg = new SqlExpressionGroup();
|
||||
for (String loginName : loginNames) {
|
||||
seg.orLikeR("loginname", loginName);
|
||||
}
|
||||
cnd.and(seg);
|
||||
}
|
||||
sql.setCondition(cnd);
|
||||
return sql;
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@ public class SingleTeacherPageForm extends PageForm {
|
||||
private String sex;
|
||||
|
||||
@ApiModelProperty("婚姻状况")
|
||||
private String maritalStatus;
|
||||
private String marriage;
|
||||
|
||||
@ApiModelProperty("学历")
|
||||
private String education;
|
||||
|
||||
+2
-2
@@ -36,7 +36,7 @@ public class SingleTeacherServiceImpl extends BaseServiceImpl<SingleTeacher> imp
|
||||
Sql sql = buildSql(pageForm);
|
||||
List<NutMap> list = listMap(sql);
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
list.get(i).put("序号", (i + 1));
|
||||
list.get(i).put("index", (i + 1));
|
||||
}
|
||||
|
||||
List<ExcelExportEntity> entities = new ArrayList<>();
|
||||
@@ -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.maritalStatus", "=", pageForm.getMaritalStatus());
|
||||
cnd.andEX("u.marriage", "=", pageForm.getMarriage());
|
||||
|
||||
if (StrUtil.isAllNotBlank(pageForm.getPageOrderName(), pageForm.getPageOrderBy())) {
|
||||
cnd.orderBy(pageForm.getPageOrderName(), PageUtil.getOrder(pageForm.getPageOrderBy()));
|
||||
|
||||
@@ -4,51 +4,51 @@ const act = {
|
||||
<div class="section-wrapper">
|
||||
<div class="section-act">
|
||||
<!-- Swiper容器 -->
|
||||
|
||||
<div v-if="actList && actList.length > 0" class="activity-swiper-container">
|
||||
<div class="activity-swiper-container">
|
||||
<!-- 活动数据 - Swiper -->
|
||||
<div class="swiper activity-swiper">
|
||||
<div class="swiper-wrapper">
|
||||
<div class="swiper-slide" v-for="(activity, index) in actList" :key="activity.id">
|
||||
<div class="item" @click="go(activity)">
|
||||
<div class="img-box">
|
||||
<img :src="activity.cover || 'https://www.ncu.edu.cn/__local/8/52/2C/644986B4C9A030F7B65300178A6_8679CB08_18467.jpg'"
|
||||
alt="">
|
||||
<span class="status">
|
||||
|
||||
<div v-if="actList && actList.length > 0" class="activity-swiper-container">
|
||||
<div class="activity-swiper-container">
|
||||
<!-- 活动数据 - Swiper -->
|
||||
<div class="swiper activity-swiper">
|
||||
<div class="swiper-wrapper">
|
||||
<div class="swiper-slide" v-for="(activity, index) in actList" :key="activity.id">
|
||||
<div class="item" @click="go(activity)">
|
||||
<div class="img-box">
|
||||
<img :src="activity.cover || 'https://www.ncu.edu.cn/__local/8/52/2C/644986B4C9A030F7B65300178A6_8679CB08_18467.jpg'"
|
||||
alt="">
|
||||
<span class="status">
|
||||
{{getStatusText(activity)}}
|
||||
</span>
|
||||
</div>
|
||||
<h4 class="title">
|
||||
{{ activity.name}}
|
||||
</h4>
|
||||
<!--报名时间-->
|
||||
<div class="time">
|
||||
<p>
|
||||
<i class="fa fa-clock-o"></i>
|
||||
时间:{{ activity.startDate }}至{{ activity.endDate }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 导航按钮 -->
|
||||
<div class="swiper-button-next"></div>
|
||||
<div class="swiper-button-prev"></div>
|
||||
|
||||
<!-- 进度条 -->
|
||||
<div class="swiper-pagination"></div>
|
||||
</div>
|
||||
</div>
|
||||
<h4 class="title">
|
||||
{{ activity.name}}
|
||||
</h4>
|
||||
<!--报名时间-->
|
||||
<div class="time">
|
||||
<p>
|
||||
<i class="fa fa-clock-o"></i>
|
||||
时间:{{ activity.startDate }}至{{ activity.endDate }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 导航按钮 -->
|
||||
<div class="swiper-button-next"></div>
|
||||
<div class="swiper-button-prev"></div>
|
||||
|
||||
<!-- 进度条 -->
|
||||
<div class="swiper-pagination"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-else class="no-activity-placeholder">
|
||||
<div class="icon">📅</div>
|
||||
<p>暂无近期活动</p>
|
||||
<p class="subtext">敬请关注后续通知</p>
|
||||
</div>
|
||||
|
||||
|
||||
<div v-else class="no-activity-placeholder">
|
||||
<div class="icon">📅</div>
|
||||
<p>暂无近期活动</p>
|
||||
<p class="subtext">敬请关注后续通知</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
`,
|
||||
@@ -119,6 +119,11 @@ const act = {
|
||||
this.$message.warning("管理员未配置活动链接")
|
||||
return
|
||||
}
|
||||
if (act.url === "/platform/activity/apply"
|
||||
&& !this.$auth.hasRoleOr(["SYSADMIN", "SCHOOL_UNION_ADMIN", "BRANCH_UNION_CHAIRMAN", "BRANCH_UNION_WENTI_SPORTS"])) {
|
||||
return this.$message.warning("PC端暂未开放报名,请前往移动端报名!")
|
||||
|
||||
}
|
||||
window.open(act.url)
|
||||
}
|
||||
},
|
||||
|
||||
@@ -32,7 +32,7 @@ layout("/layouts/platform.html"){
|
||||
</div>
|
||||
</search-item>
|
||||
<search-item label="婚姻状况">
|
||||
<el-select v-model="pageForm.maritalStatus" placeholder="请选择婚姻状况" clearable style="width: 100%">
|
||||
<el-select v-model="pageForm.marriage" placeholder="请选择婚姻状况" clearable style="width: 100%">
|
||||
<el-option label="未婚" value="未婚"></el-option>
|
||||
<el-option label="已婚" value="已婚"></el-option>
|
||||
<el-option label="离异" value="离异"></el-option>
|
||||
|
||||
@@ -48,7 +48,7 @@ layout("/layouts/platform_h5.html"){
|
||||
<van-dropdown-menu>
|
||||
<year-van-dropdown-item :num="5" @change="doSearch" v-model="pageForm.year"></year-van-dropdown-item>
|
||||
<van-dropdown-item :options="stateList" @change="doSearch" v-model="pageForm.state"></van-dropdown-item>
|
||||
<van-dropdown-item :options="isEnrolledOptions" @change="doSearch" v-model="pageForm.isEnrolledText"></van-dropdown-item>
|
||||
<van-dropdown-item :options="isEnrolledOptions" @change="doSearch" v-model="pageForm.isEnrolled"></van-dropdown-item>
|
||||
<van-dropdown-item :options="activityTypeOptions" @change="doSearch" v-model="pageForm.activity_type"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
</van-sticky>
|
||||
@@ -94,7 +94,7 @@ layout("/layouts/platform_h5.html"){
|
||||
refreshing: false,
|
||||
pageForm: {
|
||||
state: 2,
|
||||
isEnrolledText: 0,
|
||||
isEnrolled: 0,
|
||||
year: new Date().getFullYear(),
|
||||
pageNumber: 1,
|
||||
pageSize: 5,
|
||||
|
||||
Reference in New Issue
Block a user