From 0c42d79981ae3ddb626cb8bbafe99ace2e2d286a Mon Sep 17 00:00:00 2001 From: zhengziru Date: Thu, 17 Sep 2026 09:13:45 +0800 Subject: [PATCH] server_commit --- .../service/impl/SourceUserServiceImpl.java | 67 +++++++++++-------- .../impl/ProposalExportServiceImpl.java | 55 ++++++++------- ...emberChangeBranchUnionAuditController.java | 4 ++ .../info/MemberGroupInfoController.java | 1 + .../service/impl/MemberCommonServiceImpl.java | 10 ++- .../platform/member/apply/submit/index.html | 4 +- .../member/change/common/memberChange.js | 1 + .../platform/member/change/manage/index.html | 4 +- .../views/platform/member/info/GroupInfo.html | 1 + .../platform/member/inquire/Integrate.html | 1 + .../views/platform/sys/home/index.html | 2 +- 11 files changed, 91 insertions(+), 59 deletions(-) diff --git a/src/main/java/io/v/nutz/zhgh/data/service/impl/SourceUserServiceImpl.java b/src/main/java/io/v/nutz/zhgh/data/service/impl/SourceUserServiceImpl.java index 9162b63..c1aad9a 100644 --- a/src/main/java/io/v/nutz/zhgh/data/service/impl/SourceUserServiceImpl.java +++ b/src/main/java/io/v/nutz/zhgh/data/service/impl/SourceUserServiceImpl.java @@ -108,22 +108,27 @@ public class SourceUserServiceImpl extends ViServiceImpl implements @Aop(TransAop.READ_COMMITTED) public void updateSysUser(String pullTime, String sourceType, String[] columnNames, String isUpSet, String partGroupId, boolean isInvert) { try { - List sources = new ArrayList<>(); +// List sources = new ArrayList<>(); Map userPartMap = new HashMap<>(); - if (Strings.isNotBlank(partGroupId)) { - //如果为true,更新组别之外人员 - Sql sql = Sqls.create("select u.loginname from user_part up left join `user` u on u.id=up.userId where up.groupId = @groupId").setParam("groupId", partGroupId); - List loginNameList = userPatUpService.listMap(sql).stream().map(o -> o.getString("loginname")).collect(Collectors.toList()); - if (isInvert) { - sources = query(Cnd.where("pullTime", "=", pullTime).and("loginname", "not in", loginNameList).groupBy("loginname")); - userPartMap = sources.stream().collect(Collectors.toMap(Sys_user::getLoginname, Sys_user::getLoginname)); - } else { - userPartMap = userPatUpService.query(Cnd.where("groupId", "=", partGroupId)).stream().collect(Collectors.toMap(UserPartUp::getLoginname, UserPartUp::getLoginname)); - sources = query(Cnd.where("pullTime", "=", pullTime).and("loginname", "in", loginNameList).groupBy("loginname")); - } - } else { - sources = query(Cnd.where("pullTime", "=", pullTime).groupBy("loginname")); - } +// if (Strings.isNotBlank(partGroupId)) { +// //如果为true,更新组别之外人员 +// Sql sql = Sqls.create("select u.loginname from user_part up left join `user` u on u.id=up.userId where up.groupId = @groupId").setParam("groupId", partGroupId); +// List loginNameList = userPatUpService.listMap(sql).stream().map(o -> o.getString("loginname")).collect(Collectors.toList()); +// if (isInvert) { +// sources = query(Cnd.where("pullTime", "=", pullTime).and("loginname", "not in", loginNameList).groupBy("loginname")); +// userPartMap = sources.stream().collect(Collectors.toMap(Sys_user::getLoginname, Sys_user::getLoginname)); +// } else { +// userPartMap = userPatUpService.query(Cnd.where("groupId", "=", partGroupId)).stream().collect(Collectors.toMap(UserPartUp::getLoginname, UserPartUp::getLoginname)); +// sources = query(Cnd.where("pullTime", "=", pullTime).and("loginname", "in", loginNameList).groupBy("loginname")); +// } +// } else { +// sources = query(Cnd.where("pullTime", "=", pullTime).groupBy("loginname")); +// } + + Sql sql = Sqls.create("select * from user_source where loginname not in (select loginname from sys_user) and pullTime = @pullTime group by loginname").setParam("pullTime", pullTime); + List list = listMap(sql); + List sources = BeanUtil.copyToList(list, UserSource.class); + // 查询所有用户,判断是否需要更新 List users = sysUserService.query(Cnd.where("loginname", "is not", null)); @@ -184,7 +189,7 @@ public class SourceUserServiceImpl extends ViServiceImpl implements //不更新会员和福利会员字段 source.setMember(null); source.setWelfareMember(null); - Sys_user user = userMap.get(source.getLoginname().toLowerCase()); + Sys_user user = userMap.get(source.getLoginname()); if (isAuto) { checkMemberOrWelfareMember(changeConfig, source, user, addMemberUserIds, deleteMemberUserIds, @@ -256,9 +261,17 @@ public class SourceUserServiceImpl extends ViServiceImpl implements //如果有新用户,增加到用户表同时增加角色 if (Lang.isNotEmpty(needInitUserList)) { sysUserService.fastInsert(needInitUserList); - List userIdList = userRoles.stream().map(Sys_user_role::getUserId).collect(Collectors.toList()); - sysUserRoleService.dao().clear(Sys_user_role.class, Cnd.where("userId", "in", userIdList)); - sysUserRoleService.insert(userRoles); + + String roleId = Roles.PUBLIC; + + List roleList = needInitUserList.stream().map(v -> { + Sys_user_role role = new Sys_user_role(); + role.setUserId(v.getId()); + role.setRoleId(roleId); + return role; + }).collect(Collectors.toList()); + + sysUserRoleService.insert(roleList); } // 添加会员 @@ -567,7 +580,7 @@ public class SourceUserServiceImpl extends ViServiceImpl implements return null; } String changeInfos = changeList.stream().map(v -> { - return v.getString("fieldName") + ":" + HtmlUtil.cleanHtmlTag(v.getString("sourceValue")) + "->" + HtmlUtil.cleanHtmlTag(v.getString("newValue")); + return v.getString("fieldName") + ":" + HtmlUtil.cleanHtmlTag(v.getString("sourceValue", "")) + "->" + HtmlUtil.cleanHtmlTag(v.getString("newValue", "")); }).collect(Collectors.joining(";")); // 比较变更数据 commonCompareChange(source, user, changeTypes); @@ -596,13 +609,13 @@ public class SourceUserServiceImpl extends ViServiceImpl implements } } - if (!ObjectUtil.equals(user.getMember(), source.getMember())){ - if (source.getMember() == 1) { - changeTypes.add(MemberChangeType.RESTORE.getType()); - } else { - changeTypes.add(MemberChangeType.WITHDRAWAL.getType()); - } - } +// if (!ObjectUtil.equals(user.getMember(), source.getMember())){ +// if (source.getMember() != null && source.getMember() == 1) { +// changeTypes.add(MemberChangeType.RESTORE.getType()); +// } else { +// changeTypes.add(MemberChangeType.WITHDRAWAL.getType()); +// } +// } if (!ObjectUtil.equals(user.getUnitid(), source.getUnitid())) { changeTypes.add(MemberChangeType.UNIT_CHANGE.getType()); diff --git a/src/main/java/io/v/nutz/zhgh/proposal/services/impl/ProposalExportServiceImpl.java b/src/main/java/io/v/nutz/zhgh/proposal/services/impl/ProposalExportServiceImpl.java index 2de2a1b..a974e5d 100644 --- a/src/main/java/io/v/nutz/zhgh/proposal/services/impl/ProposalExportServiceImpl.java +++ b/src/main/java/io/v/nutz/zhgh/proposal/services/impl/ProposalExportServiceImpl.java @@ -27,6 +27,7 @@ import org.nutz.json.Json; import org.nutz.lang.Lang; import org.nutz.lang.Strings; import org.nutz.lang.util.NutMap; + import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @@ -172,32 +173,36 @@ public class ProposalExportServiceImpl extends BaseServiceImpl implements Propos }); } + List oneAuditRecordList = new ArrayList<>(); + if (StrUtil.isNotBlank(nutMap.getString("caseAuditId"))) { - Sql oneAuditRecordSql = Sqls.create(""" - SELECT - pa.*, - sign.`data` auditSign - FROM - proposal_audit pa - LEFT JOIN sys_signature sign ON sign.id = pa.signId - where pa.id in (@id) - """).setParam("id", Json.fromJsonAsList(String.class, nutMap.getString("caseAuditId"))); - List oneAuditRecordList = proposalInfoService.listMap(oneAuditRecordSql); - if (Lang.isNotEmpty(oneAuditRecordList)) { - oneAuditRecordList.forEach(v -> { - try { - v.setv("auditSign", StrUtil.isNotBlank(v.getString("auditSign")) ? getImg(v.getString("auditSign")) : null); - } catch (IOException e) { - e.printStackTrace(); - } - if (nutMap.getString("resultCode").equals("determine")) { - v.setv("resultAudit", "经提案工作委员会研究,符合提案立案条件,予以立案,此提案建议由%s办理,%s协办。".formatted(nutMap.getString("under1Unit"), (Strings.isNotBlank(nutMap.getString("under2Unit")) ? nutMap.getString("under2Unit") : "暂无"))); - } else if (nutMap.getString("resultCode").equals("opinion")) { - v.setv("resultAudit", "作为意见建议转送参考"); - } else { - v.setv("resultAudit", "该提案不予立项,不予立案原因属于以下提案内容"); - } - }); + + Sql oneAuditRecordSql = Sqls.create(""" + SELECT + pa.*, + sign.`data` auditSign + FROM + proposal_audit pa + LEFT JOIN sys_signature sign ON sign.id = pa.signId + where pa.id in (@id) + """).setParam("id", Json.fromJsonAsList(String.class, nutMap.getString("caseAuditId"))); + oneAuditRecordList = proposalInfoService.listMap(oneAuditRecordSql); + if (Lang.isNotEmpty(oneAuditRecordList)) { + oneAuditRecordList.forEach(v -> { + try { + v.setv("auditSign", StrUtil.isNotBlank(v.getString("auditSign")) ? getImg(v.getString("auditSign")) : null); + } catch (IOException e) { + e.printStackTrace(); + } + if (nutMap.getString("resultCode").equals("determine")) { + v.setv("resultAudit", "经提案工作委员会研究,符合提案立案条件,予以立案,此提案建议由%s办理,%s协办。".formatted(nutMap.getString("under1Unit"), (Strings.isNotBlank(nutMap.getString("under2Unit")) ? nutMap.getString("under2Unit") : "暂无"))); + } else if (nutMap.getString("resultCode").equals("opinion")) { + v.setv("resultAudit", "作为意见建议转送参考"); + } else { + v.setv("resultAudit", "该提案不予立项,不予立案原因属于以下提案内容"); + } + }); + } } Sql branchCaseSql = Sqls.create("select auditId from proposal_branch_leader_audit where proposalId = @proposalId AND isMaster=true").setParam("proposalId", proposalId); diff --git a/src/main/java/io/v/nutz/zhgh/staffmanage/member/controller/change/MemberChangeBranchUnionAuditController.java b/src/main/java/io/v/nutz/zhgh/staffmanage/member/controller/change/MemberChangeBranchUnionAuditController.java index 6e75870..ad6e7a5 100644 --- a/src/main/java/io/v/nutz/zhgh/staffmanage/member/controller/change/MemberChangeBranchUnionAuditController.java +++ b/src/main/java/io/v/nutz/zhgh/staffmanage/member/controller/change/MemberChangeBranchUnionAuditController.java @@ -5,6 +5,7 @@ import cn.wizzer.framework.base.Result; import cn.wizzer.framework.page.Pagination; import io.v.nutz.base.annontation.ViReturn; import io.v.nutz.base.model.Audit; +import io.v.nutz.base.utils.Vi; import io.v.nutz.sys.services.SysLocalProcessService; import io.v.nutz.web.commons.slog.annotation.SLog; import io.v.nutz.web.commons.utils.ShiroUtil; @@ -79,6 +80,9 @@ public class MemberChangeBranchUnionAuditController { } else { cnd.and("record.applyStateId", "=", 10020); } + if (!ShiroUtil.hasAnyRoles("sysadmin")){ + cnd.andEX("unionId", "=", Vi.getUnionId()); + } cnd.desc("record.applyDateTime"); sql.setCondition(cnd); Pagination pagination = memberCommonService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql); diff --git a/src/main/java/io/v/nutz/zhgh/staffmanage/member/controller/info/MemberGroupInfoController.java b/src/main/java/io/v/nutz/zhgh/staffmanage/member/controller/info/MemberGroupInfoController.java index dce464e..933047f 100644 --- a/src/main/java/io/v/nutz/zhgh/staffmanage/member/controller/info/MemberGroupInfoController.java +++ b/src/main/java/io/v/nutz/zhgh/staffmanage/member/controller/info/MemberGroupInfoController.java @@ -100,6 +100,7 @@ public class MemberGroupInfoController { birthday, mobile, idcard, + cardNum, personType, userState, unionid, diff --git a/src/main/java/io/v/nutz/zhgh/staffmanage/member/service/impl/MemberCommonServiceImpl.java b/src/main/java/io/v/nutz/zhgh/staffmanage/member/service/impl/MemberCommonServiceImpl.java index fc8dd70..f6558b9 100644 --- a/src/main/java/io/v/nutz/zhgh/staffmanage/member/service/impl/MemberCommonServiceImpl.java +++ b/src/main/java/io/v/nutz/zhgh/staffmanage/member/service/impl/MemberCommonServiceImpl.java @@ -6,6 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.http.HtmlUtil; import cn.wizzer.framework.page.Pagination; +import com.alibaba.druid.util.StringUtils; +import freemarker.template.utility.StringUtil; import io.v.nutz.base.dao.CndPlus; import io.v.nutz.base.query.PageForm; import io.v.nutz.base.service.impl.ViServiceImpl; @@ -361,9 +363,11 @@ public class MemberCommonServiceImpl extends ViServiceImpl implements // 如果有工会关系变更,也需要记录变更了什么工会 history.setChangeInfos(changeList); - String changeInfos = changeList.stream().map(v -> { - return v.getString("fieldName") + ":" + HtmlUtil.cleanHtmlTag(v.getString("sourceValue")) + "->" + HtmlUtil.cleanHtmlTag(v.getString("newValue")); - }).collect(Collectors.joining(";")); + String changeInfos = changeList.stream().map(v -> + v.getString("fieldName") + ":" + + HtmlUtil.cleanHtmlTag(Optional.of(v.getString("sourceValue")).orElse("")) + + "->" + HtmlUtil.cleanHtmlTag(Optional.of(v.getString("newValue")).orElse("")) + ).collect(Collectors.joining(";")); history.setChangeInfosStr(changeInfos); dao().updateIgnoreNull(info); dao().insert(history); diff --git a/src/main/resources/views/platform/member/apply/submit/index.html b/src/main/resources/views/platform/member/apply/submit/index.html index caab6df..8f2ccb2 100644 --- a/src/main/resources/views/platform/member/apply/submit/index.html +++ b/src/main/resources/views/platform/member/apply/submit/index.html @@ -105,13 +105,13 @@ layout("/layouts/platform.html"){ + style="width: 100%"> + style="width: 100%"> diff --git a/src/main/resources/views/platform/member/change/common/memberChange.js b/src/main/resources/views/platform/member/change/common/memberChange.js index 1e6b843..5a89a2c 100644 --- a/src/main/resources/views/platform/member/change/common/memberChange.js +++ b/src/main/resources/views/platform/member/change/common/memberChange.js @@ -291,6 +291,7 @@ const MEMBER_CHANGE = { getUnionName(val){ const data = this.units.find(v => v.id === val) this.$set(this.formData, 'unionName', data ? data.unionname : '') + this.$set(this.formData, 'unionId', data ? data.unionid : '') }, allowFields(prop) { return !this.allowChangeFields.map(v => v.code).includes(prop) diff --git a/src/main/resources/views/platform/member/change/manage/index.html b/src/main/resources/views/platform/member/change/manage/index.html index 951c635..6745467 100644 --- a/src/main/resources/views/platform/member/change/manage/index.html +++ b/src/main/resources/views/platform/member/change/manage/index.html @@ -957,8 +957,10 @@ layout("/layouts/platform.html"){ this.unions = await getUnionList() this.units = await getUnits() } else { + debugger + const user = JSON.parse(window.sessionStorage.getItem('user')) this.unions = await getUnionList() - this.$set(this.pageForm, 'unionId', this.unions ? this.unions[0].id : null) + this.$set(this.pageForm, "unionId", user.union ? user.union.id : null) this.flushUnits() } this.unitMoveUnions = clone(this.unions) diff --git a/src/main/resources/views/platform/member/info/GroupInfo.html b/src/main/resources/views/platform/member/info/GroupInfo.html index 30286cc..bea3205 100644 --- a/src/main/resources/views/platform/member/info/GroupInfo.html +++ b/src/main/resources/views/platform/member/info/GroupInfo.html @@ -293,6 +293,7 @@ layout("/layouts/platform.html"){ {prop: 'birthday', label: '出生年月', sortable: true}, {prop: 'mobile', label: '联系电话'}, {prop: 'idcard', label: '身份证号', width: 170}, + {prop: 'cardNum', label: '会员服务卡号', width: 170}, {prop: 'position', label: '职务', sortable: true, checked: 0}, {prop: 'jobTitle', label: '职称', sortable: true, checked: 0}, {prop: 'personType', label: '人员类型', sortable: true}, diff --git a/src/main/resources/views/platform/member/inquire/Integrate.html b/src/main/resources/views/platform/member/inquire/Integrate.html index 9982799..96cfc03 100644 --- a/src/main/resources/views/platform/member/inquire/Integrate.html +++ b/src/main/resources/views/platform/member/inquire/Integrate.html @@ -629,6 +629,7 @@ layout("/layouts/platform.html"){ {prop: 'birthday', label: '出生年月', sortable: true}, {prop: 'mobile', label: '联系电话'}, {prop: 'idcard', label: '身份证号', width: 170}, + {prop: 'cardNum', label: '会员服务卡号', width: 170}, {prop: 'position', label: '职务', sortable: true, checked: 0}, {prop: 'jobTitle', label: '职称', sortable: true, checked: 0}, {prop: 'userState', label: '在职状态', sortable: true}, diff --git a/src/main/resources/views/platform/sys/home/index.html b/src/main/resources/views/platform/sys/home/index.html index 910a09c..297d08a 100644 --- a/src/main/resources/views/platform/sys/home/index.html +++ b/src/main/resources/views/platform/sys/home/index.html @@ -327,7 +327,7 @@ layout("/layouts/platform.html"){ + v-model.trim="editUserData.cardNum" show-word-limit>