From fbc87a40c6d11131bdc69308c3866e952bcaf166 Mon Sep 17 00:00:00 2001 From: server Date: Mon, 15 Sep 2025 17:00:22 +0800 Subject: [PATCH] .. --- .../app/sys/controller/SysHomeController.java | 6 +- .../impl/SysDataUserAllUpdateServiceImpl.java | 95 +++++++- .../sys/services/impl/SysUserServiceImpl.java | 2 +- .../app/task/job/SysUserAllRenewJob.java | 5 +- .../ActivityBasicScopeController.java | 5 + .../family/models/FamilyActivity.java | 4 +- .../controller/HonorBoardController.java | 25 ++- .../MemberBranchUnionManageController.java | 41 ++++ .../MemberSchoolUnionManageController.java | 39 ++++ .../service/impl/MemberManageServiceImpl.java | 2 + .../static/assets/platform/css/pdf/pdfh5.css | 212 ++++++++++++++++++ .../assets/platform/js/util/commonUtil.js | 12 + .../static/components/plugins/Guava.vue | 2 +- .../resources/views/layouts/platform_h5.html | 3 + .../views/platform/sys/data/user/update.html | 13 +- .../zhgh/activity/family/apply/index.html | 74 +++--- .../dayofficework/evaluation/apply/apply.js | 23 +- .../zhgh/dayofficework/honor/board/index.html | 1 + .../zhgh/dayofficework/rest/query/index.html | 7 +- .../common/audit/memberAuditChangeInfo.js | 1 + .../member/common/audit/memberAuditTable.js | 2 +- .../member/common/manage/memberManageTable.js | 37 +-- .../views/platform/zhghh5/sys/home/work.js | 2 +- src/test/java/com/budwk/app/JugTest.java | 119 +++++++++- 24 files changed, 646 insertions(+), 86 deletions(-) create mode 100644 src/main/resources/static/assets/platform/css/pdf/pdfh5.css diff --git a/src/main/java/com/budwk/app/sys/controller/SysHomeController.java b/src/main/java/com/budwk/app/sys/controller/SysHomeController.java index fad0dc2..65b5640 100644 --- a/src/main/java/com/budwk/app/sys/controller/SysHomeController.java +++ b/src/main/java/com/budwk/app/sys/controller/SysHomeController.java @@ -176,9 +176,9 @@ public class SysHomeController { Date startDate = activity.getStartDate(); Date endDate = activity.getEndDate(); // 判断当前时间是否在活动范围内,不在就过滤掉 -// if (!DateUtil.isIn(today, startDate, endDate)) { -// continue; -// } + if (!DateUtil.isIn(today, startDate, endDate)) { + continue; + } Integer allowUserGroupId = activity.getAllowUserGroupId(); String allowUserSql = activity.getAllowUserSql(); activity.setAllowUserSql(null); diff --git a/src/main/java/com/budwk/app/sys/services/impl/SysDataUserAllUpdateServiceImpl.java b/src/main/java/com/budwk/app/sys/services/impl/SysDataUserAllUpdateServiceImpl.java index 7546266..85b5e48 100644 --- a/src/main/java/com/budwk/app/sys/services/impl/SysDataUserAllUpdateServiceImpl.java +++ b/src/main/java/com/budwk/app/sys/services/impl/SysDataUserAllUpdateServiceImpl.java @@ -176,7 +176,97 @@ public class SysDataUserAllUpdateServiceImpl implements SysDataUserUpdateService // cnd = ConditionGroupUtil.applyConditionGroup(cnd, updateParam.getConditionGroup()); } + // 特别人员 + List specialStaffs = dao.query(SpecialStaff.class, Cnd.NEW()); + List specialManyUnitStaffs = specialStaffs.stream().filter(SpecialStaff::getIsManyUnit).toList(); + List specialManyUnitStaffUserIds = specialManyUnitStaffs.stream().map(SpecialStaff::getUserId).toList(); + List specialManyUnitStaffUserLoginNames = dao.query(Sys_user.class, Cnd.where(Sys_user::getId, "in", specialManyUnitStaffUserIds)).stream().map(Sys_user::getLoginname).toList(); + + // 排除掉多单位人员不更新 + cnd.andEX(Sys_user_source::getLoginname, "not in", specialManyUnitStaffUserLoginNames); + + + List bsh = new ArrayList<>(); + bsh.add("91036"); + bsh.add("91035"); + bsh.add("91030"); + bsh.add("91034"); + bsh.add("91033"); + bsh.add("91031"); + bsh.add("91032"); + bsh.add("91027"); + bsh.add("91026"); + bsh.add("91024"); + bsh.add("91025"); + bsh.add("91023"); + bsh.add("91021"); + bsh.add("91020"); + bsh.add("91022"); + bsh.add("91018"); + bsh.add("91015"); + bsh.add("91017"); + bsh.add("91014"); + bsh.add("91013"); + bsh.add("91012"); + bsh.add("91011"); + bsh.add("91008"); + bsh.add("91004"); + bsh.add("90996"); + bsh.add("90994"); + bsh.add("90992"); + bsh.add("90993"); + bsh.add("90991"); + bsh.add("90990"); + bsh.add("90979"); + bsh.add("90978"); + bsh.add("90976"); + bsh.add("90975"); + bsh.add("90974"); + bsh.add("90972"); + bsh.add("90971"); + bsh.add("90973"); + bsh.add("90969"); + bsh.add("90966"); + bsh.add("90967"); + bsh.add("90965"); + bsh.add("90964"); + bsh.add("90968"); + bsh.add("90959"); + bsh.add("90957"); + bsh.add("90958"); + bsh.add("90961"); + bsh.add("90960"); + bsh.add("90952"); + bsh.add("90950"); + bsh.add("90951"); + bsh.add("90953"); + bsh.add("90954"); + bsh.add("90948"); + bsh.add("90947"); + bsh.add("90949"); + bsh.add("90946"); + bsh.add("90942"); + bsh.add("90937"); + bsh.add("90935"); + bsh.add("90934"); + bsh.add("90933"); + bsh.add("90932"); + bsh.add("90930"); + bsh.add("90927"); + bsh.add("90926"); + bsh.add("90913"); + bsh.add("90906"); + bsh.add("90904"); + bsh.add("90903"); + bsh.add("90901"); + bsh.add("90899"); + bsh.add("90898"); + bsh.add("90895"); + bsh.add("90894"); + +// cnd.and(Sys_user_source::getLoginname, "in", bsh); List sources = dao.query(Sys_user_source.class, cnd.groupBy("loginname")); + log.info("符合条件的数据源记录数: {}", sources.size()); // 查询系统用户 @@ -190,10 +280,9 @@ public class SysDataUserAllUpdateServiceImpl implements SysDataUserUpdateService List addMemberUserIds = Collections.synchronizedList(new ArrayList<>()); List removeMemberUserIds = Collections.synchronizedList(new ArrayList<>()); + // 处理每条数据 for (Sys_user_source source : sources) { - source.setMember(null); - source.setWelfareMember(null); Sys_user user = userMap.get(source.getLoginname()); @@ -227,6 +316,7 @@ public class SysDataUserAllUpdateServiceImpl implements SysDataUserUpdateService } else { // 修改现有用户 u.setId(user.getId()); + u.setMember(user.getMember()); // 本人电话、身份证不覆盖 if (StrUtil.isNotBlank(user.getMobile())) { @@ -276,6 +366,7 @@ public class SysDataUserAllUpdateServiceImpl implements SysDataUserUpdateService // 1. 新增用户 - 使用批量处理 if (Lang.isNotEmpty(needInitUserList)) { +// dao.fastInsert(needInitUserList); CompletableFuture insertTask = CompletableFuture.runAsync(() -> { log.info("新增用户: {} 个", needInitUserList.size()); // 分批处理,每批200条 diff --git a/src/main/java/com/budwk/app/sys/services/impl/SysUserServiceImpl.java b/src/main/java/com/budwk/app/sys/services/impl/SysUserServiceImpl.java index ac5ec22..63474c7 100644 --- a/src/main/java/com/budwk/app/sys/services/impl/SysUserServiceImpl.java +++ b/src/main/java/com/budwk/app/sys/services/impl/SysUserServiceImpl.java @@ -306,7 +306,7 @@ public class SysUserServiceImpl extends BaseServiceImpl implements Sys String decodePwd = Base64Decoder.decodeStr(passowrd); String hashedPassword = PwdUtil.getPassword(decodePwd, user.getSalt()); if (!Strings.sNull(hashedPassword).equalsIgnoreCase(user.getPassword())) { -// throw new BaseException("用户名或者密码不正确"); + throw new BaseException("用户名或者密码不正确"); } user = this.fetchLinks(user, "unit"); if (Lang.isNotEmpty(user.getUnit()) && StrUtil.isNotBlank(user.getUnit().getUnionId())) { diff --git a/src/main/java/com/budwk/app/task/job/SysUserAllRenewJob.java b/src/main/java/com/budwk/app/task/job/SysUserAllRenewJob.java index 6c61cc2..bcb02f4 100644 --- a/src/main/java/com/budwk/app/task/job/SysUserAllRenewJob.java +++ b/src/main/java/com/budwk/app/task/job/SysUserAllRenewJob.java @@ -39,7 +39,7 @@ public class SysUserAllRenewJob implements Job { @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { -// Date pullTime = sysDataUserPullService.pull(); + Date pullTime = sysDataUserPullService.pull(); JobDataMap jobDataMap = jobExecutionContext.getJobDetail().getJobDataMap(); NutMap conditionGroupMap = (NutMap)jobDataMap.get("conditionGroup"); if(conditionGroupMap == null || conditionGroupMap.isEmpty()){ @@ -54,8 +54,7 @@ public class SysUserAllRenewJob implements Job { } SysDataUserUpdateParam param = new SysDataUserUpdateParam(); -// param.setPullTime(DateUtil.formatDateTime(pullTime)); - param.setPullTime("2025-09-10 16:45:01"); + param.setPullTime(DateUtil.formatDateTime(pullTime)); param.setUpdateMode(SysDataUpdateMode.ALL.name()); param.setConditionGroup(conditionGroup); diff --git a/src/main/java/com/budwk/app/zhgh/activity/basic/controller/ActivityBasicScopeController.java b/src/main/java/com/budwk/app/zhgh/activity/basic/controller/ActivityBasicScopeController.java index 1764982..9982895 100644 --- a/src/main/java/com/budwk/app/zhgh/activity/basic/controller/ActivityBasicScopeController.java +++ b/src/main/java/com/budwk/app/zhgh/activity/basic/controller/ActivityBasicScopeController.java @@ -12,6 +12,7 @@ import com.budwk.app.base.page.Pagination; import com.budwk.app.base.result.Result; import com.budwk.app.base.service.BaseService; import com.budwk.app.sys.models.Sys_role; +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.basic.param.ActivityUserScopePageParam; @@ -33,6 +34,7 @@ import org.nutz.mvc.annotation.At; import org.nutz.mvc.annotation.Ok; import org.nutz.mvc.annotation.Param; +import javax.management.relation.Role; import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.List; @@ -95,6 +97,9 @@ public class ActivityBasicScopeController { """); try { Cnd cnd = getCnd(pageForm); + if(!AuthUtil.hasRole(RoleConstant.SYSADMIN.name())) { + cnd.and("u.unionId", "=", SecurityUtil.getUnionId()); + } sql.setCondition(cnd); Pagination pagination = baseService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql); return Result.success(pagination); diff --git a/src/main/java/com/budwk/app/zhgh/activity/family/models/FamilyActivity.java b/src/main/java/com/budwk/app/zhgh/activity/family/models/FamilyActivity.java index 86c677f..1479fd8 100644 --- a/src/main/java/com/budwk/app/zhgh/activity/family/models/FamilyActivity.java +++ b/src/main/java/com/budwk/app/zhgh/activity/family/models/FamilyActivity.java @@ -128,8 +128,8 @@ public class FamilyActivity extends BaseModel implements Serializable, SysHomeCo sysHomeActivity.setId(this.getId()); sysHomeActivity.setName(this.getActivityName()); sysHomeActivity.setCover(this.getCover()); - sysHomeActivity.setUrl("/platform/family/manage/apply"); - sysHomeActivity.setH5Url("/platform/mobile/familyActivity/familyList"); + sysHomeActivity.setUrl("/platform/family/apply"); + sysHomeActivity.setH5Url("/platform/family/apply/h5?id=" + this.getId()); if (Lang.isNotEmpty(this.getActivitySignUpStartTime())) { sysHomeActivity.setStartDate(this.getActivitySignUpStartTime()); sysHomeActivity.setEndDate(this.getActivitySignUpEndTime()); diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/honor/controller/HonorBoardController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/honor/controller/HonorBoardController.java index 1989527..e43760b 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/honor/controller/HonorBoardController.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/honor/controller/HonorBoardController.java @@ -1,6 +1,7 @@ package com.budwk.app.zhgh.dayofficework.honor.controller; import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.hutool.core.convert.Convert; import com.budwk.app.base.result.Result; import com.budwk.app.zhgh.dayofficework.honor.constant.HonorTypeOrigin; import com.budwk.app.zhgh.dayofficework.honor.models.HonorBasicSettings; @@ -13,13 +14,12 @@ import org.nutz.dao.sql.Sql; import org.nutz.dao.util.Daos; import org.nutz.ioc.loader.annotation.Inject; import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.lang.Lang; import org.nutz.lang.util.NutMap; import org.nutz.mvc.annotation.At; import org.nutz.mvc.annotation.Ok; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.List; +import java.util.*; @IocBean @@ -43,7 +43,7 @@ public class HonorBoardController { @SaCheckPermission("honor.board") public Result getHonorTypeByYear() { Sql sqlYear = Sqls.create(""" - select YEAR(grantDate) AS `year` from honor where grantDate is not null GROUP BY grantDate + select grantDate AS `year` from honor where grantDate is not null GROUP BY grantDate """); int[] yearList = (int[]) Daos.query(dao, sqlYear.toString(), Sqls.callback.ints()); @@ -54,15 +54,16 @@ public class HonorBoardController { } Sql sql = Sqls.create(""" - SELECT YEAR - ( h.grantDate ) as year, + SELECT + h.grantDate AS year, hbs.`name` FROM honor h left join honor_basic_settings hbs on hbs.id = h.honorType - WHERE YEAR (h.grantDate) <= @currentYear + where h.grantDate is not null and h.grantDate != '' """); - sql.setParam("currentYear", Calendar.getInstance().get(Calendar.YEAR)); +// WHERE YEAR (h.grantDate) <= @currentYear +// sql.setParam("currentYear", Calendar.getInstance().get(Calendar.YEAR)); List list = honorCommonService.listMap(sql); for (NutMap map : resultList) { @@ -82,13 +83,13 @@ public class HonorBoardController { SELECT hbs.`name`, count( 1 ) AS num, - YEAR ( h.grantDate ) as year + h.grantDate as year FROM honor h LEFT JOIN honor_basic_settings hbs ON hbs.id = h.prize WHERE h.honorType = @honorType - AND YEAR (h.grantDate) <= @currentYear + AND h.grantDate <= @currentYear GROUP BY h.prize """); @@ -106,14 +107,14 @@ public class HonorBoardController { SELECT hbs.`name`, count( 1 ) AS num, - YEAR ( h.grantDate ) AS YEAR + h.grantDate AS YEAR FROM honor h LEFT JOIN honor_basic_settings hbs ON hbs.id = h.honorLevel WHERE h.honorLevel IS NOT NULL AND h.honorType = @honorType - AND YEAR ( h.grantDate ) <= @currentYear + AND h.grantDate <= @currentYear GROUP BY h.honorLevel """); diff --git a/src/main/java/com/budwk/app/zhgh/staffmanage/member/controller/branch/MemberBranchUnionManageController.java b/src/main/java/com/budwk/app/zhgh/staffmanage/member/controller/branch/MemberBranchUnionManageController.java index f0557db..721ba83 100644 --- a/src/main/java/com/budwk/app/zhgh/staffmanage/member/controller/branch/MemberBranchUnionManageController.java +++ b/src/main/java/com/budwk/app/zhgh/staffmanage/member/controller/branch/MemberBranchUnionManageController.java @@ -1,6 +1,11 @@ package com.budwk.app.zhgh.staffmanage.member.controller.branch; +import cn.afterturn.easypoi.excel.ExcelExportUtil; +import cn.afterturn.easypoi.excel.entity.ExportParams; +import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; +import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity; import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.hutool.core.util.DesensitizedUtil; import cn.hutool.core.util.StrUtil; import com.budwk.app.base.annotation.RepeatSubmit; import com.budwk.app.base.annotation.SLog; @@ -9,14 +14,17 @@ 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.result.Result; +import com.budwk.app.base.utils.CommonDownloadUtil; import com.budwk.app.bpm.service.BpmService; import com.budwk.app.sys.models.Sys_user; import com.budwk.app.web.controllers.open.commons.service.CommonService; import com.budwk.app.zhgh.staffmanage.member.constant.MemberChangeOrigin; import com.budwk.app.zhgh.staffmanage.member.models.MemberApplyRecord; import com.budwk.app.zhgh.staffmanage.member.param.pageform.MemberManagePageForm; +import com.budwk.app.zhgh.staffmanage.member.param.pageform.MemberStatisticsPageForm; import com.budwk.app.zhgh.staffmanage.member.service.MemberManageService; import lombok.extern.slf4j.Slf4j; +import org.apache.poi.ss.usermodel.Workbook; import org.nutz.aop.interceptor.ioc.TransAop; import org.nutz.dao.Cnd; import org.nutz.dao.sql.Sql; @@ -28,7 +36,9 @@ import org.nutz.mvc.annotation.At; import org.nutz.mvc.annotation.Ok; import org.nutz.mvc.annotation.Param; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.ArrayList; import java.util.List; import java.util.Objects; @@ -121,4 +131,35 @@ public class MemberBranchUnionManageController { return Result.error(e.getMessage()); } } + + @At + @Ok("void") + @SaCheckPermission("member.branchUnion.manage.list") + public void doExport(MemberManagePageForm pageForm, HttpServletResponse response){ + Sql sql = memberManageService.getSql(pageForm, "branchUnion"); + List list = memberManageService.listMap(sql); + + List exportEntities = new ArrayList<>(); + exportEntities.add(new ExcelExportEntity("工号", "loginname", 20)); + exportEntities.add(new ExcelExportEntity("姓名", "username", 20)); + exportEntities.add(new ExcelExportEntity("性别", "sex", 20)); + exportEntities.add(new ExcelExportEntity("出生年月", "birthday", 20)); + exportEntities.add(new ExcelExportEntity("联系电话", "mobile", 20)); + exportEntities.add(new ExcelExportEntity("在职状态", "userState", 20)); + exportEntities.add(new ExcelExportEntity("聘用方式", "preparedBy", 20)); + exportEntities.add(new ExcelExportEntity("人员类型", "personType", 20)); + exportEntities.add(new ExcelExportEntity("所属工会", "unionName", 20)); + exportEntities.add(new ExcelExportEntity("所属单位", "unitName", 30)); + + ExportParams exportParams = new ExportParams(); + exportParams.setType(ExcelType.XSSF); + + try { + Workbook workbook = ExcelExportUtil.exportExcel(exportParams, exportEntities, list); + CommonDownloadUtil.download("会员名单.xlsx", workbook, response); + } catch (Exception e) { + e.printStackTrace(); + } + } + } diff --git a/src/main/java/com/budwk/app/zhgh/staffmanage/member/controller/school/MemberSchoolUnionManageController.java b/src/main/java/com/budwk/app/zhgh/staffmanage/member/controller/school/MemberSchoolUnionManageController.java index 1f89c70..33714e3 100644 --- a/src/main/java/com/budwk/app/zhgh/staffmanage/member/controller/school/MemberSchoolUnionManageController.java +++ b/src/main/java/com/budwk/app/zhgh/staffmanage/member/controller/school/MemberSchoolUnionManageController.java @@ -1,5 +1,9 @@ package com.budwk.app.zhgh.staffmanage.member.controller.school; +import cn.afterturn.easypoi.excel.ExcelExportUtil; +import cn.afterturn.easypoi.excel.entity.ExportParams; +import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; +import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity; import cn.dev33.satoken.annotation.SaCheckPermission; import cn.hutool.core.bean.BeanUtil; import com.budwk.app.base.annotation.RepeatSubmit; @@ -7,6 +11,7 @@ import com.budwk.app.base.annotation.SLog; import com.budwk.app.base.constant.BpmProcessConstant; import com.budwk.app.base.page.Pagination; import com.budwk.app.base.result.Result; +import com.budwk.app.base.utils.CommonDownloadUtil; import com.budwk.app.bpm.enums.BpmTaskApprovalTypeEnum; import com.budwk.app.bpm.models.BpmProcessInstance; import com.budwk.app.bpm.models.BpmProcessTask; @@ -18,6 +23,7 @@ import com.budwk.app.zhgh.staffmanage.member.models.MemberApplyRecord; import com.budwk.app.zhgh.staffmanage.member.param.pageform.MemberManagePageForm; import com.budwk.app.zhgh.staffmanage.member.service.MemberManageService; import lombok.extern.slf4j.Slf4j; +import org.apache.poi.ss.usermodel.Workbook; import org.nutz.aop.interceptor.ioc.TransAop; import org.nutz.dao.Cnd; import org.nutz.dao.Dao; @@ -31,7 +37,9 @@ import org.nutz.mvc.annotation.At; import org.nutz.mvc.annotation.Ok; import org.nutz.mvc.annotation.Param; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -131,4 +139,35 @@ public class MemberSchoolUnionManageController { return Result.error(e.getMessage()); } } + + @At + @Ok("void") + @SaCheckPermission("member.branchUnion.manage.list") + public void doExport(MemberManagePageForm pageForm, HttpServletResponse response){ + Sql sql = memberManageService.getSql(pageForm, "schoolUnion"); + List list = memberManageService.listMap(sql); + + List exportEntities = new ArrayList<>(); + exportEntities.add(new ExcelExportEntity("工号", "loginname", 20)); + exportEntities.add(new ExcelExportEntity("姓名", "username", 20)); + exportEntities.add(new ExcelExportEntity("性别", "sex", 20)); + exportEntities.add(new ExcelExportEntity("出生年月", "birthday", 20)); + exportEntities.add(new ExcelExportEntity("联系电话", "mobile", 20)); + exportEntities.add(new ExcelExportEntity("在职状态", "userState", 20)); + exportEntities.add(new ExcelExportEntity("聘用方式", "preparedBy", 20)); + exportEntities.add(new ExcelExportEntity("人员类型", "personType", 20)); + exportEntities.add(new ExcelExportEntity("所属工会", "unionName", 20)); + exportEntities.add(new ExcelExportEntity("所属单位", "unitName", 30)); + + ExportParams exportParams = new ExportParams(); + exportParams.setType(ExcelType.XSSF); + + try { + Workbook workbook = ExcelExportUtil.exportExcel(exportParams, exportEntities, list); + CommonDownloadUtil.download("会员名单.xlsx", workbook, response); + } catch (Exception e) { + e.printStackTrace(); + } + } + } diff --git a/src/main/java/com/budwk/app/zhgh/staffmanage/member/service/impl/MemberManageServiceImpl.java b/src/main/java/com/budwk/app/zhgh/staffmanage/member/service/impl/MemberManageServiceImpl.java index 07d737e..bac3caa 100644 --- a/src/main/java/com/budwk/app/zhgh/staffmanage/member/service/impl/MemberManageServiceImpl.java +++ b/src/main/java/com/budwk/app/zhgh/staffmanage/member/service/impl/MemberManageServiceImpl.java @@ -99,6 +99,8 @@ public class MemberManageServiceImpl extends BaseServiceImpl implement if ("branchUnion".equals(queryType)) { cnd.and("u.unionId", "=", SecurityUtil.getUnionId()); } + cnd.asc("u.unionId"); + cnd.asc("u.unitId"); sql.setCondition(cnd); return sql; } diff --git a/src/main/resources/static/assets/platform/css/pdf/pdfh5.css b/src/main/resources/static/assets/platform/css/pdf/pdfh5.css new file mode 100644 index 0000000..df83a53 --- /dev/null +++ b/src/main/resources/static/assets/platform/css/pdf/pdfh5.css @@ -0,0 +1,212 @@ +.pdfjs { + width: 100%; + height: 100%; + overflow: hidden; + background: #fff; + position: relative; +} + +.pdfjs .viewerContainer { + position: relative; + width: 100%; + height: 100%; + overflow: auto; + -webkit-overflow-scrolling: touch; + transition: all .3s; +} + +.pdfjs .pdfViewer { + position: relative; + top: 0; + left: 0; + padding: 10px 8px; +} + +.pdfjs .pdfViewer .pageContainer { + width: 100%; + margin: 0px auto 8px auto; + position: relative; + overflow: visible; + -webkit-box-shadow: darkgrey 0px 1px 3px 0px; + -moz-box-shadow: darkgrey 0px 1px 3px 0px; + box-shadow: darkgrey 0px 1px 3px 0px; + background-color: white; + box-sizing: border-box; +} + +.pdfjs .pdfViewer .pageContainer img { + width: 100%; + height: 100%; + position: relative; + z-index: 100; + /* user-select:none; */ +} + +.pdfjs .pageNum { + padding: 0px 7px; + height: 26px; + position: absolute; + top: 20px; + left: 15px; + z-index: 997; + border-radius: 8px; + transition: all .3s; + display: none; +} + +.pdfjs .pageNum-bg, +.pdfjs .pageNum-num { + width: 100%; + height: 100%; + line-height: 26px; + text-align: center; + position: absolute; + top: 0px; + left: 0px; + color: #fff; + border-radius: 8px; + font-size: 16px; +} + +.pdfjs .pageNum-bg { + background: rgba(0, 0, 0, 0.5); +} + +.pdfjs .pageNum-num { + position: relative; +} + +.pdfjs .pageNum span { + color: #fff; + font-size: 16px; +} + +.pdfjs .loadingBar { + position: absolute; + width: 100%; + z-index: 99; + background: #fff !important; + height: 4px; + top: 0px; + left: 0px; + transition: all .3s; +} + +.pdfjs .loadingBar .progress { + background: #fff !important; + position: absolute; + top: 0; + left: 0; + width: 0%; + height: 100%; + overflow: hidden; + transition: width 200ms; +} + +.pdfjs .loadingBar .progress .glimmer { + position: absolute; + top: 0; + left: 0; + height: 100%; + width: calc(100% + 150px); + background: #7bcf34; +} + +.pdfjs .backTop { + width: 50px; + height: 50px; + line-height: 50px; + text-align: center; + position: absolute; + bottom: 90px; + right: 15px; + font-size: 18px; + z-index: 999; + border-radius: 50%; + background: rgba(0, 0, 0, 0.4) url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAAA+klEQVRYw+2WUQ2DMBCG2TIBSJiESkACEpCAg83BcLBJmIQ5gClgDpiDby9tciGkoaUtZOESXuhdv7+X/pdm2dYC6IgX7Zh3THy+w9oN/rMASqBcE26iSA1XwCAEDIBKBc8F/KE/gB7IU8BbDXyJf2Z2tFFFAE8N6iRIi/jotXssuGn1FzhPrCu9BtCEhlcCrix5hbiYVSh46bKpELvcniO71Q51zWJ7ju3mUe9vzym7eR7Az57CbohTXBzAt9GknG9PoLY8KK4z6htLfeXTTXMZAfoZuWYWKC+YZWMAQuWZSP0k2wXsAnYB2xNwci1wGTKhO/COlLtu/ABVfTFsxwwYRgAAAABJRU5ErkJggg==) no-repeat center; + background-size: 50% 50%; + transition: all .3s; + display: none; +} + +.pdfjs .loadEffect { + width: 100px; + height: 100px; + position: absolute; + top: 50%; + left: 50%; + margin-top: -50px; + margin-left: -50px; + z-index: 99; + background: url(data:image/gif;base64,R0lGODlhgACAAKIAAP///93d3bu7u5mZmQAA/wAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFBQAEACwCAAIAfAB8AAAD/0i63P4wygYqmDjrzbtflvWNZGliYXiubKuloivPLlzReD7al+7/Eh5wSFQIi8hHYBkwHUmD6CD5YTJLz49USuVYraRsZ7vtar7XnQ1Kjpoz6LRHvGlz35O4nEPP2O94EnpNc2sef1OBGIOFMId/inB6jSmPdpGScR19EoiYmZobnBCIiZ95k6KGGp6ni4wvqxilrqBfqo6skLW2YBmjDa28r6Eosp27w8Rov8ekycqoqUHODrTRvXsQwArC2NLF29UM19/LtxO5yJd4Au4CK7DUNxPebG4e7+8n8iv2WmQ66BtoYpo/dvfacBjIkITBE9DGlMvAsOIIZjIUAixliv9ixYZVtLUos5GjwI8gzc3iCGghypQqrbFsme8lwZgLZtIcYfNmTJ34WPTUZw5oRxdD9w0z6iOpO15MgTh1BTTJUKos39jE+o/KS64IFVmsFfYT0aU7capdy7at27dw48qdS7eu3bt480I02vUbX2F/JxYNDImw4GiGE/P9qbhxVpWOI/eFKtlNZbWXuzlmG1mv58+gQ4seTbq06dOoU6vGQZJy0FNlMcV+czhQ7SQmYd8eMhPs5BxVdfcGEtV3buDBXQ+fURxx8oM6MT9P+Fh6dOrH2zavc13u9JXVJb520Vp8dvC76wXMuN5Sepm/1WtkEZHDefnzR9Qvsd9+/wi8+en3X0ntYVcSdAE+UN4zs7ln24CaLagghIxBaGF8kFGoIYV+Ybghh841GIyI5ICIFoklJsigihmimJOLEbLYIYwxSgigiZ+8l2KB+Ml4oo/w8dijjcrouCORKwIpnJIjMnkkksalNeR4fuBIm5UEYImhIlsGCeWNNJphpJdSTlkml1jWeOY6TnaRpppUctcmFW9mGSaZceYopH9zkjnjUe59iR5pdapWaGqHopboaYua1qije67GJ6CuJAAAIfkEBQUABAAsCgACAFcAMAAAA/9Iutz+ML5Ag7w46z0r5WAoSp43nihXVmnrdusrv+s332dt4Tyo9yOBUJD6oQBIQGs4RBlHySSKyczVTtHoidocPUNZaZAr9F5FYbGI3PWdQWn1mi36buLKFJvojsHjLnshdhl4L4IqbxqGh4gahBJ4eY1kiX6LgDN7fBmQEJI4jhieD4yhdJ2KkZk8oiSqEaatqBekDLKztBG2CqBACq4wJRi4PZu1sA2+v8C6EJexrBAD1AOBzsLE0g/V1UvYR9sN3eR6lTLi4+TlY1wz6Qzr8u1t6FkY8vNzZTxaGfn6mAkEGFDgL4LrDDJDyE4hEIbdHB6ESE1iD4oVLfLAqPETIsOODwmCDJlv5MSGJklaS6khAQAh+QQFBQAEACwfAAIAVwAwAAAD/0i63P5LSAGrvTjrNuf+YKh1nWieIumhbFupkivPBEzR+GnnfLj3ooFwwPqdAshAazhEGUXJJIrJ1MGOUamJ2jQ9QVltkCv0XqFh5IncBX01afGYnDqD40u2z76JK/N0bnxweC5sRB9vF34zh4gjg4uMjXobihWTlJUZlw9+fzSHlpGYhTminKSepqebF50NmTyor6qxrLO0L7YLn0ALuhCwCrJAjrUqkrjGrsIkGMW/BMEPJcphLgDaABjUKNEh29vdgTLLIOLpF80s5xrp8ORVONgi8PcZ8zlRJvf40tL8/QPYQ+BAgjgMxkPIQ6E6hgkdjoNIQ+JEijMsasNY0RQix4gKP+YIKXKkwJIFF6JMudFEAgAh+QQFBQAEACw8AAIAQgBCAAAD/kg0PPowykmrna3dzXvNmSeOFqiRaGoyaTuujitv8Gx/661HtSv8gt2jlwIChYtc0XjcEUnMpu4pikpv1I71astytkGh9wJGJk3QrXlcKa+VWjeSPZHP4Rtw+I2OW81DeBZ2fCB+UYCBfWRqiQp0CnqOj4J1jZOQkpOUIYx/m4oxg5cuAaYBO4Qop6c6pKusrDevIrG2rkwptrupXB67vKAbwMHCFcTFxhLIt8oUzLHOE9Cy0hHUrdbX2KjaENzey9Dh08jkz8Tnx83q66bt8PHy8/T19vf4+fr6AP3+/wADAjQmsKDBf6AOKjS4aaHDgZMeSgTQcKLDhBYPEswoA1BBAgAh+QQFBQAEACxOAAoAMABXAAAD7Ei6vPOjyUkrhdDqfXHm4OZ9YSmNpKmiqVqykbuysgvX5o2HcLxzup8oKLQQix0UcqhcVo5ORi+aHFEn02sDeuWqBGCBkbYLh5/NmnldxajX7LbPBK+PH7K6narfO/t+SIBwfINmUYaHf4lghYyOhlqJWgqDlAuAlwyBmpVnnaChoqOkpaanqKmqKgGtrq+wsbA1srW2ry63urasu764Jr/CAb3Du7nGt7TJsqvOz9DR0tPU1TIA2ACl2dyi3N/aneDf4uPklObj6OngWuzt7u/d8fLY9PXr9eFX+vv8+PnYlUsXiqC3c6PmUUgAACH5BAUFAAQALE4AHwAwAFcAAAPpSLrc/m7IAau9bU7MO9GgJ0ZgOI5leoqpumKt+1axPJO1dtO5vuM9yi8TlAyBvSMxqES2mo8cFFKb8kzWqzDL7Xq/4LB4TC6bz1yBes1uu9uzt3zOXtHv8xN+Dx/x/wJ6gHt2g3Rxhm9oi4yNjo+QkZKTCgGWAWaXmmOanZhgnp2goaJdpKGmp55cqqusrZuvsJays6mzn1m4uRAAvgAvuBW/v8GwvcTFxqfIycA3zA/OytCl0tPPO7HD2GLYvt7dYd/ZX99j5+Pi6tPh6+bvXuTuzujxXens9fr7YPn+7egRI9PPHrgpCQAAIfkEBQUABAAsPAA8AEIAQgAAA/lIutz+UI1Jq7026h2x/xUncmD5jehjrlnqSmz8vrE8u7V5z/m5/8CgcEgsGo/IpHLJbDqf0Kh0ShBYBdTXdZsdbb/Yrgb8FUfIYLMDTVYz2G13FV6Wz+lX+x0fdvPzdn9WeoJGAYcBN39EiIiKeEONjTt0kZKHQGyWl4mZdREAoQAcnJhBXBqioqSlT6qqG6WmTK+rsa1NtaGsuEu6o7yXubojsrTEIsa+yMm9SL8osp3PzM2cStDRykfZ2tfUtS/bRd3ewtzV5pLo4eLjQuUp70Hx8t9E9eqO5Oku5/ztdkxi90qPg3x2EMpR6IahGocPCxp8AGtigwQAIfkEBQUABAAsHwBOAFcAMAAAA/9Iutz+MMo36pg4682J/V0ojs1nXmSqSqe5vrDXunEdzq2ta3i+/5DeCUh0CGnF5BGULC4tTeUTFQVONYAs4CfoCkZPjFar83rBx8l4XDObSUL1Ott2d1U4yZwcs5/xSBB7dBMBhgEYfncrTBGDW4WHhomKUY+QEZKSE4qLRY8YmoeUfkmXoaKInJ2fgxmpqqulQKCvqRqsP7WooriVO7u8mhu5NacasMTFMMHCm8qzzM2RvdDRK9PUwxzLKdnaz9y/Kt8SyR3dIuXmtyHpHMcd5+jvWK4i8/TXHff47SLjQvQLkU+fG29rUhQ06IkEG4X/Rryp4mwUxSgLL/7IqFETB8eONT6ChCFy5ItqJomES6kgAQAh+QQFBQAEACwKAE4AVwAwAAAD/0i63A4QuEmrvTi3yLX/4MeNUmieITmibEuppCu3sDrfYG3jPKbHveDktxIaF8TOcZmMLI9NyBPanFKJp4A2IBx4B5lkdqvtfb8+HYpMxp3Pl1qLvXW/vWkli16/3dFxTi58ZRcChwIYf3hWBIRchoiHiotWj5AVkpIXi4xLjxiaiJR/T5ehoomcnZ+EGamqq6VGoK+pGqxCtaiiuJVBu7yaHrk4pxqwxMUzwcKbyrPMzZG90NGDrh/JH8t72dq3IN1jfCHb3L/e5ebh4ukmxyDn6O8g08jt7tf26ybz+m/W9GNXzUQ9fm1Q/APoSWAhhfkMAmpEbRhFKwsvCsmosRIHx444PoKcIXKkjIImjTzjkQAAIfkEBQUABAAsAgA8AEIAQgAAA/VIBNz+8KlJq72Yxs1d/uDVjVxogmQqnaylvkArT7A63/V47/m2/8CgcEgsGo/IpHLJbDqf0Kh0Sj0FroGqDMvVmrjgrDcTBo8v5fCZki6vCW33Oq4+0832O/at3+f7fICBdzsChgJGeoWHhkV0P4yMRG1BkYeOeECWl5hXQ5uNIAOjA1KgiKKko1CnqBmqqk+nIbCkTq20taVNs7m1vKAnurtLvb6wTMbHsUq4wrrFwSzDzcrLtknW16tI2tvERt6pv0fi48jh5h/U6Zs77EXSN/BE8jP09ZFA+PmhP/xvJgAMSGBgQINvEK5ReIZhQ3QEMTBLAAAh+QQFBQAEACwCAB8AMABXAAAD50i6DA4syklre87qTbHn4OaNYSmNqKmiqVqyrcvBsazRpH3jmC7yD98OCBF2iEXjBKmsAJsWHDQKmw571l8my+16v+CweEwum8+hgHrNbrvbtrd8znbR73MVfg838f8BeoB7doN0cYZvaIuMjY6PkJGSk2gClgJml5pjmp2YYJ6dX6GeXaShWaeoVqqlU62ir7CXqbOWrLafsrNctjIDwAMWvC7BwRWtNsbGFKc+y8fNsTrQ0dK3QtXAYtrCYd3eYN3c49/a5NVj5eLn5u3s6e7x8NDo9fbL+Mzy9/T5+tvUzdN3Zp+GBAAh+QQJBQAEACwCAAIAfAB8AAAD/0i63P4wykmrvTjrzbv/YCiOZGmeaKqubOu+cCzPdArcQK2TOL7/nl4PSMwIfcUk5YhUOh3M5nNKiOaoWCuWqt1Ou16l9RpOgsvEMdocXbOZ7nQ7DjzTaeq7zq6P5fszfIASAYUBIYKDDoaGIImKC4ySH3OQEJKYHZWWi5iZG0ecEZ6eHEOio6SfqCaqpaytrpOwJLKztCO2jLi1uoW8Ir6/wCHCxMG2x7muysukzb230M6H09bX2Nna29zd3t/g4cAC5OXm5+jn3Ons7eba7vHt2fL16tj2+QL0+vXw/e7WAUwnrqDBgwgTKlzIsKHDh2gGSBwAccHEixAvaqTYcFCjRoYeNyoM6REhyZIHT4o0qPIjy5YTTcKUmHImx5cwE85cmJPnSYckK66sSAAj0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gwxZJAAA7) no-repeat center; + background-size: 30% 30%; + transition: all .3s; +} +.pdfjs .pdfViewer .pageContainer img.pdfLogo{ + /* user-select:none; */ + position:absolute; + z-index: 101; +} +.pdfjs .textLayer { + position: absolute; + left: 0; + top: 0; + right: 0; + bottom: 0; + overflow: hidden; + opacity: 0.2; + line-height: 1.0; + z-index: 101; +} + +.pdfjs .textLayer > span { + color: transparent; + position: absolute; + white-space: pre; + cursor: text; + transform-origin: 0% 0%; + transform: translate(-99px, -80px) scaleX(1) !important; +} + +.pdfjs .textLayer .highlight { + margin: -1px; + padding: 1px; + background-color: rgba(180, 0, 170, 1); + border-radius: 4px; +} + +.pdfjs .textLayer .highlight.begin { + border-radius: 4px 0px 0px 4px; +} + +.pdfjs .textLayer .highlight.end { + border-radius: 0px 4px 4px 0px; +} + +.pdfjs .textLayer .highlight.middle { + border-radius: 0px; +} + +.pdfjs .textLayer .highlight.selected { + background-color: rgba(0, 100, 0, 1); +} + +.pdfjs .textLayer ::selection { + background: rgba(0, 0, 255, 1); +} + +.pdfjs .textLayer .endOfContent { + display: block; + position: absolute; + left: 0px; + top: 100%; + right: 0px; + bottom: 0px; + z-index: -1; + cursor: default; + /* user-select: none; */ +} + +.pdfjs .textLayer .endOfContent.active { + top: 0px; +} \ No newline at end of file diff --git a/src/main/resources/static/assets/platform/js/util/commonUtil.js b/src/main/resources/static/assets/platform/js/util/commonUtil.js index b16a6d5..b585734 100644 --- a/src/main/resources/static/assets/platform/js/util/commonUtil.js +++ b/src/main/resources/static/assets/platform/js/util/commonUtil.js @@ -228,3 +228,15 @@ const commonUtil = { } } } + +function GetQueryString(name) { + return new URLSearchParams(window.location.search).get(name) +} + +function loc() { + return location.href.replace(location.search, "").replace(location.hash, "") +} + +function clone(obj) { + return JSON.parse(JSON.stringify(obj)) +} diff --git a/src/main/resources/static/components/plugins/Guava.vue b/src/main/resources/static/components/plugins/Guava.vue index 4413567..f18d50e 100644 --- a/src/main/resources/static/components/plugins/Guava.vue +++ b/src/main/resources/static/components/plugins/Guava.vue @@ -18,7 +18,7 @@
-
+
diff --git a/src/main/resources/views/layouts/platform_h5.html b/src/main/resources/views/layouts/platform_h5.html index 1676da9..b242eda 100644 --- a/src/main/resources/views/layouts/platform_h5.html +++ b/src/main/resources/views/layouts/platform_h5.html @@ -270,6 +270,9 @@ Vue.component("svg-icon", httpVueLoader("/components/plugins/sysSvgIcon/index.vue?v=" + new Date().getTime())) Vue.component("year-van-dropdown-item", httpVueLoader("/components/plugins/vantMore/yearVanDropDownItem.vue?v=" + new Date().getTime())) Vue.component("van-text-dialog", httpVueLoader("/components/plugins/vantMore/vantTextDialog.vue?v=" + new Date().getTime())) + Vue.component("enum-tag", httpVueLoader("/components/plugins/sysEnum/EnumTag.vue?v=" + new Date().getTime())) + Vue.component("table-list", httpVueLoader("/components/plugins/h5/TableList.vue?v=" + new Date().getTime())) + Vue.component("table-column", httpVueLoader("/components/plugins/h5/TableColumn.vue?v=" + new Date().getTime())) diff --git a/src/main/resources/views/platform/sys/data/user/update.html b/src/main/resources/views/platform/sys/data/user/update.html index b6ac48b..0dc7947 100644 --- a/src/main/resources/views/platform/sys/data/user/update.html +++ b/src/main/resources/views/platform/sys/data/user/update.html @@ -85,6 +85,10 @@ layout("/layouts/platform.html"){ + + @@ -125,10 +129,15 @@ layout("/layouts/platform.html"){