diff --git a/esua-epdc/doc/branch/dev_1118/db/esua_epdc_events.sql b/esua-epdc/doc/branch/dev_1118/db/esua_epdc_events.sql index b85157381..512307c15 100644 --- a/esua-epdc/doc/branch/dev_1118/db/esua_epdc_events.sql +++ b/esua-epdc/doc/branch/dev_1118/db/esua_epdc_events.sql @@ -84,6 +84,7 @@ ALTER TABLE esua_epdc_events.epdc_events DROP COLUMN `STREET`; ALTER TABLE esua_epdc_events.epdc_events DROP COLUMN `STREET_ID`; ALTER TABLE esua_epdc_events.epdc_events DROP COLUMN `COMMUNITY`; ALTER TABLE esua_epdc_events.epdc_events DROP COLUMN `COMMUNITY_ID`; +ALTER TABLE esua_epdc_events.epdc_events DROP COLUMN `ISSUE_CATEGORY_ID`; ALTER TABLE esua_epdc_events.epdc_events ADD PARENT_DEPT_IDS VARCHAR(1024) NULL COMMENT '父所有部门'; ALTER TABLE esua_epdc_events.epdc_events ADD PARENT_DEPT_NAMES VARCHAR(1024) NULL COMMENT '父所有部门'; @@ -94,6 +95,7 @@ ALTER TABLE esua_epdc_events.epdc_issue DROP COLUMN `STREET`; ALTER TABLE esua_epdc_events.epdc_issue DROP COLUMN `STREET_ID`; ALTER TABLE esua_epdc_events.epdc_issue DROP COLUMN `COMMUNITY`; ALTER TABLE esua_epdc_events.epdc_issue DROP COLUMN `COMMUNITY_ID`; +ALTER TABLE esua_epdc_events.epdc_issue DROP COLUMN `ISSUE_CATEGORY_ID`; ALTER TABLE esua_epdc_events.epdc_issue ADD PARENT_DEPT_IDS VARCHAR(1024) NULL COMMENT '父所有部门'; ALTER TABLE esua_epdc_events.epdc_issue ADD PARENT_DEPT_NAMES VARCHAR(1024) NULL COMMENT '父所有部门'; @@ -104,6 +106,7 @@ ALTER TABLE esua_epdc_events.epdc_item DROP COLUMN `STREET`; ALTER TABLE esua_epdc_events.epdc_item DROP COLUMN `STREET_ID`; ALTER TABLE esua_epdc_events.epdc_item DROP COLUMN `COMMUNITY`; ALTER TABLE esua_epdc_events.epdc_item DROP COLUMN `COMMUNITY_ID`; +ALTER TABLE esua_epdc_events.epdc_item DROP COLUMN `ISSUE_CATEGORY_ID`; ALTER TABLE esua_epdc_events.epdc_item ADD PARENT_DEPT_IDS VARCHAR(1024) NULL COMMENT '父所有部门'; ALTER TABLE esua_epdc_events.epdc_item ADD PARENT_DEPT_NAMES VARCHAR(1024) NULL COMMENT '父所有部门'; diff --git a/esua-epdc/doc/branch/dev_1118/db/esua_epdc_group.sql b/esua-epdc/doc/branch/dev_1118/db/esua_epdc_group.sql new file mode 100644 index 000000000..90b83aacf --- /dev/null +++ b/esua-epdc/doc/branch/dev_1118/db/esua_epdc_group.sql @@ -0,0 +1,29 @@ +------------------------------------------2019-11-28------------------------------------------------ +-- 社群表修改 +ALTER TABLE esua_epdc_group.epdc_group DROP COLUMN `AREA`; +ALTER TABLE esua_epdc_group.epdc_group DROP COLUMN `AREA_ID`; +ALTER TABLE esua_epdc_group.epdc_group DROP COLUMN `STREET`; +ALTER TABLE esua_epdc_group.epdc_group DROP COLUMN `STREET_ID`; +ALTER TABLE esua_epdc_group.epdc_group DROP COLUMN `COMMUNITY`; +ALTER TABLE esua_epdc_group.epdc_group DROP COLUMN `COMMUNITY_ID`; + +ALTER TABLE esua_epdc_group.epdc_group ADD ALL_DEPT_IDS varchar(512) NULL COMMENT '所有部门ID'; +ALTER TABLE esua_epdc_group.epdc_group ADD ALL_DEPT_NAMES varchar(512) NULL COMMENT '所有部门名称'; +ALTER TABLE esua_epdc_group.epdc_group ADD PARENT_DEPT_IDS VARCHAR(1024) NULL COMMENT '父所有部门'; +ALTER TABLE esua_epdc_group.epdc_group ADD PARENT_DEPT_NAMES VARCHAR(1024) NULL COMMENT '父所有部门'; + + +-- 话题表修改 +ALTER TABLE esua_epdc_group.epdc_topic DROP COLUMN `AREA`; +ALTER TABLE esua_epdc_group.epdc_topic DROP COLUMN `AREA_ID`; +ALTER TABLE esua_epdc_group.epdc_topic DROP COLUMN `STREET`; +ALTER TABLE esua_epdc_group.epdc_topic DROP COLUMN `STREET_ID`; +ALTER TABLE esua_epdc_group.epdc_topic DROP COLUMN `COMMUNITY`; +ALTER TABLE esua_epdc_group.epdc_topic DROP COLUMN `COMMUNITY_ID`; + +ALTER TABLE esua_epdc_group.epdc_topic ADD ALL_DEPT_IDS varchar(512) NULL COMMENT '所有部门ID'; +ALTER TABLE esua_epdc_group.epdc_topic ADD ALL_DEPT_NAMES varchar(512) NULL COMMENT '所有部门名称'; +ALTER TABLE esua_epdc_group.epdc_topic ADD PARENT_DEPT_IDS VARCHAR(1024) NULL COMMENT '父所有部门'; +ALTER TABLE esua_epdc_group.epdc_topic ADD PARENT_DEPT_NAMES VARCHAR(1024) NULL COMMENT '父所有部门'; + +------------------------------------------2019-11-28------------------------------------------------ \ No newline at end of file diff --git a/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/DeptNode.java b/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/DeptNode.java new file mode 100644 index 000000000..03f5a032d --- /dev/null +++ b/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/DeptNode.java @@ -0,0 +1,20 @@ +package com.elink.esua.epdc.dto; + +import lombok.Data; + +import java.util.List; + +/** + * @author work@yujt.net.cn + * @date 1 1 + */ +@Data +public class DeptNode { + + private String value; + + private String label; + + private List children; + +} diff --git a/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/DeptNodeLast.java b/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/DeptNodeLast.java new file mode 100644 index 000000000..2adcb675a --- /dev/null +++ b/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/DeptNodeLast.java @@ -0,0 +1,17 @@ +package com.elink.esua.epdc.dto; + +import lombok.Data; + + +/** + * @author work@yujt.net.cn + * @date 1 1 + */ +@Data +public class DeptNodeLast { + + private String value; + + private String label; + +} diff --git a/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/DeptOption.java b/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/DeptOption.java new file mode 100644 index 000000000..eec16176a --- /dev/null +++ b/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/DeptOption.java @@ -0,0 +1,70 @@ +package com.elink.esua.epdc.dto; + +import com.alibaba.fastjson.JSONObject; +import com.google.common.collect.Lists; +import lombok.Data; + +import java.util.List; + +/** + * 部门节点 + * + * @author work@yujt.net.cn + * @date 2019/11/27 10:03 + */ +@Data +public class DeptOption { + + private List options; + + public static void main(String[] args) { + + + // 第一层 + List nodeList1 = Lists.newArrayList(); + DeptNode node1 = new DeptNode(); + node1.setLabel("第一层 → 1"); + node1.setValue("1::::1"); + nodeList1.add(node1); + + DeptOption option = new DeptOption(); + option.setOptions(nodeList1); + + for (int i = 0; i < nodeList1.size(); i++) { + + // 第二层 + List nodeList2 = Lists.newArrayList(); + + DeptNode node2 = new DeptNode(); + node2.setLabel("第二层 → 1"); + node2.setValue("2::::1"); + nodeList2.add(node2); + + node2 = new DeptNode(); + node2.setLabel("第二层2"); + node2.setValue("2::::2"); + nodeList2.add(node2); + + nodeList1.get(i).setChildren(nodeList2); + + for (int j = 0; j < nodeList2.size(); j++) { + + // 第三层 + List nodeList3 = Lists.newArrayList(); + DeptNodeLast nodeLast = new DeptNodeLast(); + nodeLast.setLabel("第三层 → 1"); + nodeLast.setValue("3::::1"); + nodeList3.add(nodeLast); + + nodeLast = new DeptNodeLast(); + nodeLast.setLabel("第三层 → 2"); + nodeLast.setValue("3::::2"); + nodeList3.add(nodeLast); + + nodeList2.get(j).setChildren(nodeList3); + } + } + + System.out.println(JSONObject.toJSONString(option)); + } +} diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysUserController.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysUserController.java index ea10d98bf..3246bf97e 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysUserController.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysUserController.java @@ -189,11 +189,10 @@ public class SysUserController { } /** - * * 根据openId获取用户信息 * - * @params [openId] * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [openId] * @author liuchuang * @since 2019/11/20 13:54 */ @@ -205,11 +204,10 @@ public class SysUserController { } /** - * * 根据用户ID 获取用户角色权限信息 * + * @return com.elink.esua.epdc.commons.tools.utils.Result> * @params [id] - * @return com.elink.esua.epdc.commons.tools.utils.Result> * @author liuchuang * @since 2019/11/19 23:36 */ @@ -221,11 +219,10 @@ public class SysUserController { } /** - * * 根据用户名更新用户微信openId * - * @params [sysUserOpenIdFormDto] * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [sysUserOpenIdFormDto] * @author liuchuang * @since 2019/11/20 9:52 */ @@ -273,11 +270,10 @@ public class SysUserController { } /** - * * 获取部门下的所有用户ID * + * @return com.elink.esua.epdc.commons.tools.utils.Result> * @params [deptId] - * @return com.elink.esua.epdc.commons.tools.utils.Result> * @author liuchuang * @since 2019/10/29 17:31 */ @@ -287,4 +283,30 @@ public class SysUserController { return new Result>().ok(data); } + /** + * 组装用户部门多层结构 + * + * @param userId + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author work@yujt.net.cn + * @date 2019/11/27 14:31 + */ + @GetMapping("packageOption/{userId}") + public Result packageUserDeptOption(@PathVariable("userId") Long userId) { + sysDeptService.packageUserDeptOption(userId); + return new Result(); + } + + /** + * 获取用户部门多层结构,用户前端显示,请求需携带token + * + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author work@yujt.net.cn + * @date 2019/11/27 14:31 + */ + @GetMapping("options/getByLoginUser") + public Result getUserDeptOption() { + return sysDeptService.getUserDeptOption(); + } + } diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysDeptDao.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysDeptDao.java index bd7e3c979..2f92fb044 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysDeptDao.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysDeptDao.java @@ -94,4 +94,25 @@ public interface SysDeptDao extends BaseDao { * @date 2019/10/24 15:27 */ List selectListGridForLeader(@Param("gridIdList") List gridIdList); + + /** + * 通过用户部门权限 获取第一级部门节点 + * + * @param dataScopeDeptList + * @return java.util.List + * @author work@yujt.net.cn + * @date 2019/11/27 19:10 + */ + List selectListHeadDeptNode(@Param("dataScopeDeptList") List dataScopeDeptList); + + /** + * s + * + * @param dataScopeDeptList + * @param parentDeptIdList + * @return java.util.List + * @author work@yujt.net.cn + * @date 2019/11/27 19:32 + */ + List selectChildrenDeptNode(@Param("dataScopeDeptList") List dataScopeDeptList, @Param("parentDeptIdList") List parentDeptIdList); } diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java index c1194b91d..8a0edb974 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java @@ -10,6 +10,7 @@ package com.elink.esua.epdc.service; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.CompleteDeptDTO; +import com.elink.esua.epdc.dto.DeptOption; import com.elink.esua.epdc.dto.SysSimpleDeptDTO; import com.elink.esua.epdc.dto.epdc.GridForLeaderRegisterDTO; import com.elink.esua.epdc.entity.SysDeptEntity; @@ -132,4 +133,23 @@ public interface SysDeptService extends BaseService { * @date 2019/11/27 15:09 */ Result> getCompleteDeptList(Long deptId); + + /** + * 组装用户部门多层结构 + * + * @param userId + * @return void + * @author work@yujt.net.cn + * @date 2019/11/27 14:33 + */ + void packageUserDeptOption(Long userId); + + /** + * 从缓存中读取用户部门层级结构 + * + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author work@yujt.net.cn + * @date 2019/11/28 11:13 + */ + Result getUserDeptOption(); } diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysUserService.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysUserService.java index 98d469c70..7d8681786 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysUserService.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysUserService.java @@ -11,6 +11,7 @@ package com.elink.esua.epdc.service; import com.elink.esua.epdc.commons.mybatis.service.BaseService; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.DeptOption; import com.elink.esua.epdc.dto.SysUserOpenIdFormDTO; import com.elink.esua.epdc.dto.epdc.GridLeaderRegisterDTO; import com.elink.esua.epdc.dto.SysUserDTO; @@ -65,33 +66,30 @@ public interface SysUserService extends BaseService { Result listGridWhileLeaderRegister(String mobile); /** - * * 根据openId获取用户信息 * - * @params [openId] * @return com.elink.esua.epdc.dto.SysUserDTO + * @params [openId] * @author liuchuang * @since 2019/11/20 13:56 */ SysUserDTO getSysUserInfoByOpenId(String openId); /** - * * 获取部门下的所有用户ID * - * @params [deptId] * @return java.util.List + * @params [deptId] * @author liuchuang * @since 2019/10/29 16:14 */ List listOfUserIdsByDeptId(Long deptId); /** - * * 根据用户名更新用户微信openId * - * @params [sysUserOpenIdFormDto] * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [sysUserOpenIdFormDto] * @author liuchuang * @since 2019/11/20 9:56 */ diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java index 42d1c7010..798393eb5 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java @@ -8,6 +8,7 @@ package com.elink.esua.epdc.service.impl; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; import com.elink.esua.epdc.commons.tools.constant.Constant; @@ -16,15 +17,16 @@ import com.elink.esua.epdc.commons.tools.constant.OrganizationTypeConstant; import com.elink.esua.epdc.commons.tools.enums.SuperAdminEnum; import com.elink.esua.epdc.commons.tools.exception.ErrorCode; import com.elink.esua.epdc.commons.tools.exception.RenException; +import com.elink.esua.epdc.commons.tools.redis.RedisKeys; +import com.elink.esua.epdc.commons.tools.redis.RedisUtils; +import com.elink.esua.epdc.commons.tools.redis.UserDetailRedis; import com.elink.esua.epdc.commons.tools.security.user.SecurityUser; import com.elink.esua.epdc.commons.tools.security.user.UserDetail; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.TreeUtils; import com.elink.esua.epdc.dao.SysDeptDao; -import com.elink.esua.epdc.dto.CompleteDeptDTO; -import com.elink.esua.epdc.dto.SysDeptDTO; -import com.elink.esua.epdc.dto.SysSimpleDeptDTO; +import com.elink.esua.epdc.dto.*; import com.elink.esua.epdc.dto.epdc.GridForLeaderRegisterDTO; import com.elink.esua.epdc.entity.SysDeptEntity; import com.elink.esua.epdc.feign.GroupFeignClient; @@ -57,6 +59,12 @@ public class SysDeptServiceImpl extends BaseServiceImpl list(Map params) { //普通管理员,只能查询所属部门及子部门的数据 @@ -273,4 +281,149 @@ public class SysDeptServiceImpl extends BaseServiceImpl dataScopeDeptList = userDetail.getDeptIdList(); + if (CollUtil.isEmpty(dataScopeDeptList)) { + return; + } + // 通过用户部门权限 获取第一级部门节点 + List headDepts = baseDao.selectListHeadDeptNode(dataScopeDeptList); + if (CollUtil.isEmpty(headDepts)) { + return; + } + + // 存放上级节点的主键,查询下级节点用 + List parentDeptIdList = Lists.newArrayList(); + Long deptId; + // 一级节点 + List headNodeList = Lists.newArrayList(); + DeptNode node; + for (int i = 0; i < headDepts.size(); i++) { + deptId = headDepts.get(i).getId(); + parentDeptIdList.add(deptId); + + node = new DeptNode(); + node.setLabel(headDepts.get(i).getName()); + node.setValue(String.valueOf(deptId)); + headNodeList.add(node); + } + + // 查询所有一级节点的下级部门,用于组装 二级节点 + List childDepts = baseDao.selectChildrenDeptNode(dataScopeDeptList, parentDeptIdList); + if (CollUtil.isEmpty(childDepts)) { + return; + } + + parentDeptIdList = Lists.newArrayList(); + + // 所有上级节点下 所有下级节点 + List allChildrenNodeList = Lists.newArrayList(); + // 单个上级节点下 所有下级节点 + List childrenNodeList; + // 单个 下级节点 + DeptNode childrenNode; + // 单个 上级节点 + DeptNode parentNode; + + for (int i = 0; i < headNodeList.size(); i++) { + // 父节点 + parentNode = headNodeList.get(i); + childrenNodeList = Lists.newArrayList(); + + for (int j = 0; j < childDepts.size(); j++) { + deptId = childDepts.get(j).getId(); + + if (parentNode.getValue().equals(String.valueOf(childDepts.get(j).getPid()))) { + childrenNode = new DeptNode<>(); + childrenNode.setLabel(childDepts.get(j).getName()); + childrenNode.setValue(String.valueOf(deptId)); + childrenNodeList.add(childrenNode); + + allChildrenNodeList.add(childrenNode); + parentDeptIdList.add(deptId); + } + } + parentNode.setChildren(childrenNodeList); + } + + // 查询所有二级节点的下级部门,用于组装 三级节点 + childDepts = baseDao.selectChildrenDeptNode(dataScopeDeptList, parentDeptIdList); + + + parentDeptIdList = Lists.newArrayList(); + + // 所有上级节点下 所有下级节点 + List> allChildrenBeforeLast = Lists.newArrayList(); + // 单个上级节点下 所有下级节点 + List childrenBeforeLastList; + + DeptNode childrenBeforeLast; + + for (int i = 0; i < allChildrenNodeList.size(); i++) { + // 父节点 + parentNode = allChildrenNodeList.get(i); + childrenBeforeLastList = Lists.newArrayList(); + + for (int j = 0; j < childDepts.size(); j++) { + deptId = childDepts.get(j).getId(); + + if (parentNode.getValue().equals(String.valueOf(childDepts.get(j).getPid()))) { + childrenBeforeLast = new DeptNode<>(); + childrenBeforeLast.setLabel(childDepts.get(j).getName()); + childrenBeforeLast.setValue(String.valueOf(deptId)); + childrenBeforeLastList.add(childrenBeforeLast); + + allChildrenBeforeLast.add(childrenBeforeLast); + parentDeptIdList.add(deptId); + } + } + parentNode.setChildren(childrenBeforeLastList); + } + + // 查询所有三级节点的下级部门,用于组装 四级节点 + childDepts = baseDao.selectChildrenDeptNode(dataScopeDeptList, parentDeptIdList); + if (CollUtil.isEmpty(childDepts)) { + return; + } + + // 单个上级节点下 所有下级节点 + List childrenLastList; + + DeptNodeLast childrenLast; + + for (int i = 0; i < allChildrenBeforeLast.size(); i++) { + // 父节点 + parentNode = allChildrenBeforeLast.get(i); + childrenLastList = Lists.newArrayList(); + + for (int j = 0; j < childDepts.size(); j++) { + deptId = childDepts.get(j).getId(); + + if (parentNode.getValue().equals(String.valueOf(childDepts.get(j).getPid()))) { + childrenLast = new DeptNodeLast(); + childrenLast.setLabel(childDepts.get(j).getName()); + childrenLast.setValue(String.valueOf(deptId)); + childrenLastList.add(childrenLast); + } + } + parentNode.setChildren(childrenLastList); + } + + DeptOption option = new DeptOption(); + option.setOptions(allChildrenNodeList); + + redisUtils.set(RedisKeys.getAdminUserDeptOptionKey(userId), option); + } + + + @Override + public Result getUserDeptOption() { + Long userId = SecurityUser.getUserId(); + DeptOption option = (DeptOption) redisUtils.get(RedisKeys.getAdminUserDeptOptionKey(userId)); + return new Result().ok(option); + } } diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysUserServiceImpl.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysUserServiceImpl.java index 2952e9ba1..1b187b044 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysUserServiceImpl.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysUserServiceImpl.java @@ -19,21 +19,26 @@ import com.elink.esua.epdc.commons.tools.constant.NumConstant; import com.elink.esua.epdc.commons.tools.enums.SuperAdminEnum; import com.elink.esua.epdc.commons.tools.exception.RenException; import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.commons.tools.redis.RedisKeys; +import com.elink.esua.epdc.commons.tools.redis.RedisUtils; +import com.elink.esua.epdc.commons.tools.redis.UserDetailRedis; import com.elink.esua.epdc.commons.tools.security.password.PasswordUtils; import com.elink.esua.epdc.commons.tools.security.user.SecurityUser; import com.elink.esua.epdc.commons.tools.security.user.UserDetail; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dao.SysUserDao; -import com.elink.esua.epdc.dto.SysUserOpenIdFormDTO; +import com.elink.esua.epdc.dto.*; import com.elink.esua.epdc.dto.epdc.GridForLeaderRegisterDTO; import com.elink.esua.epdc.dto.epdc.GridLeaderRegisterDTO; -import com.elink.esua.epdc.dto.SysUserDTO; +import com.elink.esua.epdc.entity.SysDeptEntity; import com.elink.esua.epdc.entity.SysUserEntity; import com.elink.esua.epdc.service.SysDeptService; import com.elink.esua.epdc.service.SysRoleUserService; import com.elink.esua.epdc.service.SysUserService; +import com.google.common.collect.Lists; import org.apache.commons.lang3.StringUtils; +import org.apache.poi.ss.formula.functions.T; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -240,4 +245,6 @@ public class SysUserServiceImpl extends BaseServiceImpl - + @@ -91,7 +91,7 @@ lp.field_value AS mainLabel, t.COLUMN_AMOUNT AS columnAmount, t.BACKGROUND_COLOR AS backgroundColor, - t.CLASS_NAME AS className, + t.CLASS_NAME AS tpClassName, t.SPARE_CLASS_NAME AS spareClassName, t.TEMPLATE_CODE AS templateCode, lc.field_value AS label, diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysDeptDao.xml b/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysDeptDao.xml index f3ed6ebbe..e90d6bb19 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysDeptDao.xml +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysDeptDao.xml @@ -112,4 +112,34 @@ AND dis.id IS NOT NULL + + + diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/test/java/com/elink/esua/epdc/service/DynamicDataSourceTest.java b/esua-epdc/epdc-admin/epdc-admin-server/src/test/java/com/elink/esua/epdc/service/DynamicDataSourceTest.java index 8fe4f3dd2..90f95cd04 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/test/java/com/elink/esua/epdc/service/DynamicDataSourceTest.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/test/java/com/elink/esua/epdc/service/DynamicDataSourceTest.java @@ -44,5 +44,4 @@ public class DynamicDataSourceTest { dynamicDataSourceTestService.updateUserBySlave2(id); } - } diff --git a/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/async/UserDeptTask.java b/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/async/UserDeptTask.java new file mode 100644 index 000000000..c1305cf4c --- /dev/null +++ b/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/async/UserDeptTask.java @@ -0,0 +1,31 @@ +package com.elink.esua.epdc.async; + +import com.elink.esua.epdc.feign.UserFeignClient; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Component; + +/** + * 用户部门相关任务 + * + * @author work@yujt.net.cn + * @date 2019/11/28 13:20 + */ +@Component +public class UserDeptTask { + + @Autowired + private UserFeignClient userFeignClient; + + /** + * 组装用户部门层级结构 + * + * @param userId + * @author work@yujt.net.cn + * @date 2019/11/28 13:21 + */ + @Async + public void packageUserDeptOptions(Long userId) { + userFeignClient.packageUserDeptOption(userId); + } +} diff --git a/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/config/ThreadConfig.java b/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/config/ThreadConfig.java new file mode 100644 index 000000000..589e6e990 --- /dev/null +++ b/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/config/ThreadConfig.java @@ -0,0 +1,42 @@ +package com.elink.esua.epdc.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.task.TaskExecutor; +import org.springframework.scheduling.annotation.EnableAsync; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +import java.util.concurrent.ThreadPoolExecutor; + +/** + * 线程池 + * + * @author rongchao + * @Date 18-11-27 + */ +@Configuration +@EnableAsync +public class ThreadConfig { + + @Bean + public TaskExecutor taskExecutor() { + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + // 设置核心线程数 + executor.setCorePoolSize(5); + // 设置最大线程数 + executor.setMaxPoolSize(10); + // 设置队列容量 + executor.setQueueCapacity(20); + // 设置线程活跃时间(秒) + executor.setKeepAliveSeconds(60); + // 设置默认线程名称 + executor.setThreadNamePrefix("esd-"); + // 设置拒绝策略 + executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); + // 等待所有任务结束后再关闭线程池 + executor.setWaitForTasksToCompleteOnShutdown(true); + executor.setAwaitTerminationSeconds(60); + executor.initialize(); + return executor; + } +} diff --git a/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java b/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java index ca790017b..88e354940 100644 --- a/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java +++ b/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java @@ -16,6 +16,7 @@ import com.elink.esua.epdc.commons.tools.security.user.UserDetail; import com.elink.esua.epdc.commons.tools.utils.Result; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; @@ -45,11 +46,10 @@ public interface UserFeignClient { Result getByUsername(@RequestParam("username") String username); /** - * * 根据用户ID获取用户角色权限信息 * - * @params [id] * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [id] * @author liuchuang * @since 2019/11/19 23:31 */ @@ -57,15 +57,25 @@ public interface UserFeignClient { Result> getDataScopeList(@RequestParam("id") Long id); /** - * * 根据用户名更新用户微信openId * - * @params [sysUserOpenIdFormDto] * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [sysUserOpenIdFormDto] * @author liuchuang * @since 2019/11/20 9:52 */ @PostMapping("sys/user/modifyOpenId") Result modifyOpenIdByUsername(SysUserOpenIdFormDTO sysUserOpenIdFormDto); + /** + * 组装用户部门层级结构 + * + * @param userId + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author work@yujt.net.cn + * @date 2019/11/28 13:19 + */ + @GetMapping("sys/user/packageOption/{userId}") + Result packageUserDeptOption(@PathVariable("userId") Long userId); + } diff --git a/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java b/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java index 8e0e09368..b05ace690 100644 --- a/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java +++ b/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java @@ -1,8 +1,8 @@ /** * Copyright (c) 2018 人人开源 All rights reserved. - * + *

* https://www.renren.io - * + *

* 版权所有,侵权必究! */ @@ -32,7 +32,7 @@ public class UserFeignClientFallback implements UserFeignClient { } @Override - public Result getByUsername(String username) { + public Result getByUsername(String username) { return new Result<>(); } @@ -45,4 +45,9 @@ public class UserFeignClientFallback implements UserFeignClient { public Result modifyOpenIdByUsername(SysUserOpenIdFormDTO sysUserOpenIdFormDto) { return new Result<>(); } + + @Override + public Result packageUserDeptOption(Long userId) { + return new Result<>(); + } } diff --git a/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/service/impl/AuthServiceImpl.java b/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/service/impl/AuthServiceImpl.java index debe7e8b7..39023f35b 100644 --- a/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/service/impl/AuthServiceImpl.java +++ b/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/service/impl/AuthServiceImpl.java @@ -8,10 +8,10 @@ package com.elink.esua.epdc.service.impl; +import com.elink.esua.epdc.async.UserDeptTask; import com.elink.esua.epdc.common.token.dto.DeptDataScopeDTO; import com.elink.esua.epdc.common.token.dto.TokenDto; import com.elink.esua.epdc.common.token.dto.WorkUserAuthorizationDTO; -import com.elink.esua.epdc.common.token.dto.WorkUserTokenFormDTO; import com.elink.esua.epdc.common.token.util.CpUserDetailRedis; import com.elink.esua.epdc.commons.tools.constant.Constant; import com.elink.esua.epdc.commons.tools.constant.NumConstant; @@ -42,6 +42,7 @@ import com.elink.esua.epdc.service.AuthService; import io.jsonwebtoken.Claims; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; @@ -69,6 +70,9 @@ public class AuthServiceImpl implements AuthService { @Autowired private JwtProperties jwtProperties; + @Autowired + private UserDeptTask userDeptTask; + @Override public AuthorizationDTO login(LoginDTO login) { HttpServletRequest request = HttpContextUtils.getHttpServletRequest(); @@ -132,6 +136,8 @@ public class AuthServiceImpl implements AuthService { log.setStatus(LoginStatusEnum.SUCCESS.value()); logProducer.saveLog(log); + userDeptTask.packageUserDeptOptions(user.getId()); + return authorization; } @@ -206,6 +212,8 @@ public class AuthServiceImpl implements AuthService { authorization.setUserTagKey(user.getTypeKey()); authorization.setRegisterState(NumConstant.ONE_STR); + userDeptTask.packageUserDeptOptions(user.getId()); + return new Result().ok(authorization); } diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/utils/WxMaServiceUtils.java b/esua-epdc/epdc-commons/epdc-commons-tools-wx-ma/src/main/java/com/elink/esua/epdc/utils/WxMaServiceUtils.java similarity index 100% rename from esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/utils/WxMaServiceUtils.java rename to esua-epdc/epdc-commons/epdc-commons-tools-wx-ma/src/main/java/com/elink/esua/epdc/utils/WxMaServiceUtils.java diff --git a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisKeys.java b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisKeys.java index 3610e433a..fabb55dbb 100644 --- a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisKeys.java +++ b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisKeys.java @@ -114,4 +114,16 @@ public class RedisKeys { public static String getPhoneSmsCodeKey(String phone) { return rootPrefix.concat("phone:sms:code:").concat(phone); } + + /** + * 管理员部门层级关系 + * + * @param userId 用户id + * @return java.lang.String + * @author work@yujt.net.cn + * @date 2019/11/28 09:56 + */ + public static String getAdminUserDeptOptionKey(Long userId) { + return rootPrefix.concat("sys:user:dept:options:").concat(String.valueOf(userId)); + } } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiWorkIssueController.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiWorkIssueController.java index 60ef0e36b..c32e820d9 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiWorkIssueController.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiWorkIssueController.java @@ -67,7 +67,6 @@ public class ApiWorkIssueController { return workIssueService.categoryList(); } - /** *事件审核 * @return @@ -88,6 +87,7 @@ public class ApiWorkIssueController { return workIssueService.selectWorkIssueListOfNewOrHot(formDto); } + /** * 工作端-议题详情 */ @@ -106,6 +106,15 @@ public class ApiWorkIssueController { return workIssueService.selectWorkHotOrNewEventComment(formDTO); } + /** + * + * 事件评论回复列表接口 + */ + @GetMapping("event/commentReplyList") + public Result commentReplyList(WorkCommentReplyFormDTO workCommentReplyFormDTO){ + return workIssueService.commentReplyList(workCommentReplyFormDTO); + } + /** * * 议题处理进度(后台/工作端用) @@ -124,12 +133,5 @@ public class ApiWorkIssueController { return workIssueService.handleSubmit(dto); } - /** - * - * 事件评论回复列表接口 - */ - @GetMapping("event/commentReplyList") - public Result commentReplyList(WorkCommentReplyFormDTO workCommentReplyFormDTO){ - return workIssueService.commentReplyList(workCommentReplyFormDTO); - } + } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/WorkUserServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/WorkUserServiceImpl.java index f2a1507a5..2e3a1c65c 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/WorkUserServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/WorkUserServiceImpl.java @@ -110,7 +110,7 @@ public class WorkUserServiceImpl implements WorkUserService { /*** * 获取用户待审核列表 - * @param userDetail + * @param * @param workUserFromDto * @return com.elink.esua.epdc.commons.tools.utils.Result> * @author qushutong @@ -118,7 +118,7 @@ public class WorkUserServiceImpl implements WorkUserService { */ @Override public Result> listWorkUser(EpdcWorkUserFromDTO workUserFromDto) { - if (null == workUserFromDto.getGridId()) { + if (null == workUserFromDto.getGridId()||0 == workUserFromDto.getGridId()) { UserDetail user = SecurityUser.getUser(); workUserFromDto.setGridIdList(user.getDeptIdList()); } @@ -158,7 +158,7 @@ public class WorkUserServiceImpl implements WorkUserService { } /** - * @param userDetail + * @param * @return com.elink.esua.epdc.commons.tools.utils.Result> * @Author yinzuomei * @Description 首页面板 获取工作端APP菜单 diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/utils/WxMaServiceUtils.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/utils/WxMaServiceUtils.java deleted file mode 100644 index dafd82d00..000000000 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/utils/WxMaServiceUtils.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.elink.esua.epdc.utils; - -import cn.binarywang.wx.miniapp.api.WxMaService; -import com.elink.esua.epdc.wx.ma.WxMaConfig; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Component; - -/** - * 获取小程序业务工具 - * - * @author work@yujt.net.cn - * @date 2019/11/25 13:29 - */ -@Component -public class WxMaServiceUtils { - - @Value("${wx.ma.appId.normal}") - private String APPID_NORMAL; - - @Value("${wx.ma.appId.work}") - private String APPID_WORK; - - /** - * 获取党群e家 普通居民端配置 - * - * @return cn.binarywang.wx.miniapp.api.WxMaService - * @author work@yujt.net.cn - * @date 2019/11/25 16:09 - */ - public final WxMaService normalWxMaService() { - final WxMaService wxMaService = WxMaConfig.getMaService(APPID_NORMAL); - return wxMaService; - } - - /** - * 获取党群e家 工作端配置 - * - * @return cn.binarywang.wx.miniapp.api.WxMaService - * @author work@yujt.net.cn - * @date 2019/11/25 16:10 - */ - public final WxMaService workWxMaService() { - final WxMaService wxMaService = WxMaConfig.getMaService(APPID_WORK); - return wxMaService; - } -} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/pom.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-client/pom.xml index 0fee0b718..e79dd8136 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-client/pom.xml +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/pom.xml @@ -33,6 +33,11 @@ epdc-websocket-client 1.0.0 + + com.esua.epdc + epdc-commons-tools-wx-ma + ${project.version} + diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/constant/WorkWxMaSubscribeMessageConstant.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/constant/WorkWxMaSubscribeMessageConstant.java new file mode 100644 index 000000000..155d87905 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/constant/WorkWxMaSubscribeMessageConstant.java @@ -0,0 +1,21 @@ +package com.elink.esua.epdc.constant; + +/** + * + * 工作端发送订阅消息常量 + * + * @Author:liuchuang + * @Date:2019/11/27 19:12 + */ +public interface WorkWxMaSubscribeMessageConstant { + + /** + * 模板ID + */ + String WORK_SUBSCRIBE_MESSAGE_TEMPLATE_ID = ""; + + /** + * 跳转页面 + */ + String WORK_SUBSCRIBE_MESSAGE_PAGE = "/pages/index/index"; +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/WorkWxMaSubscribeMessage.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/WorkWxMaSubscribeMessage.java new file mode 100644 index 000000000..9b1955889 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/WorkWxMaSubscribeMessage.java @@ -0,0 +1,29 @@ +package com.elink.esua.epdc.dto; + +import cn.binarywang.wx.miniapp.bean.WxMaSubscribeData; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * + * 工作端发送小程序订阅消息数据 + * + * @Author:liuchuang + * @Date:2019/11/27 18:27 + */ +@Data +public class WorkWxMaSubscribeMessage implements Serializable { + private static final long serialVersionUID = -4351727465830321653L; + + /** + * 消息订阅者 + */ + private List toUsers; + + /** + * 消息数据 + */ + private List data; +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/category/CategoryDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/category/CategoryDTO.java index f2e0ca715..5eb7cbbbe 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/category/CategoryDTO.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/category/CategoryDTO.java @@ -85,5 +85,9 @@ public class CategoryDTO extends TreeNode implements Serializable { private String parentName; + private String value; + + private String label; + } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/pom.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/pom.xml index 6d21ff31e..b6e89db26 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/pom.xml +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/pom.xml @@ -123,6 +123,13 @@ false 47.104.224.45:8848 + + + wxdd8530c5f4926766 + 5bf4fb813145431b3493a10aa7e041e9 + + wx29b074840ef4bfd9 + 4adb1afccc69f205cdf5b521d74e2aca @@ -146,6 +153,13 @@ true 47.104.224.45:8848 + + + wxdd8530c5f4926766 + 5bf4fb813145431b3493a10aa7e041e9 + + wx29b074840ef4bfd9 + 4adb1afccc69f205cdf5b521d74e2aca @@ -170,6 +184,13 @@ true 172.31.171.61:9300 + + + wxdd8530c5f4926766 + 5bf4fb813145431b3493a10aa7e041e9 + + wx29b074840ef4bfd9 + 4adb1afccc69f205cdf5b521d74e2aca diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/async/WorkWxSubscribeMessageTask.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/async/WorkWxSubscribeMessageTask.java new file mode 100644 index 000000000..8141d985a --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/async/WorkWxSubscribeMessageTask.java @@ -0,0 +1,44 @@ +package com.elink.esua.epdc.modules.async; + +import cn.binarywang.wx.miniapp.api.WxMaMsgService; +import cn.binarywang.wx.miniapp.bean.WxMaSubscribeMessage; +import com.elink.esua.epdc.constant.WorkWxMaSubscribeMessageConstant; +import com.elink.esua.epdc.dto.WorkWxMaSubscribeMessage; +import com.elink.esua.epdc.utils.WxMaServiceUtils; +import me.chanjar.weixin.common.error.WxErrorException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Component; + + +/** + * + * 工作端-发送订阅消息 + * + * @Author:liuchuang + * @Date:2019/11/27 16:31 + */ +@Component +public class WorkWxSubscribeMessageTask { + + @Autowired + private WxMaServiceUtils wxMaServiceUtils; + + @Async + public void sendSubscribeMessage(WorkWxMaSubscribeMessage messages) { + WxMaMsgService wxMaMsgService = wxMaServiceUtils.workWxMaService().getMsgService(); + try { + for (String toUser: + messages.getToUsers()) { + WxMaSubscribeMessage message = new WxMaSubscribeMessage(); + message.setPage(WorkWxMaSubscribeMessageConstant.WORK_SUBSCRIBE_MESSAGE_PAGE); + message.setTemplateId(WorkWxMaSubscribeMessageConstant.WORK_SUBSCRIBE_MESSAGE_TEMPLATE_ID); + message.setToUser(toUser); + message.setData(messages.getData()); + wxMaMsgService.sendSubscribeMsg(message); + } + } catch (WxErrorException e) { + e.printStackTrace(); + } + } +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/entity/CategoryEntity.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/entity/CategoryEntity.java index 68d3b1049..8b43192aa 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/entity/CategoryEntity.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/entity/CategoryEntity.java @@ -94,4 +94,10 @@ public class CategoryEntity extends BaseEntity { @TableField(exist = false) private String parentName; + @TableField(exist = false) + private String value; + + @TableField(exist = false) + private String label; + } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java index dde93285d..e170c2ba9 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java @@ -437,11 +437,11 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl> listIssuePendingResponse(IssuePendingResponseFormDTO formDto) { List list; - if (formDto.getDeptId() == null){ - list = SecurityUser.getUser().getDeptIdList(); - }else { - list = new ArrayList(); + if (formDto.getDeptId() > 0){ + list = new ArrayList<>(); list.add(formDto.getDeptId()); + }else { + list = SecurityUser.getUser().getDeptIdList(); } formDto.setDeptIdList(list); return baseDao.listIssuePendingResponse(formDto); diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java index aa8fc026a..43e13ebd5 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java @@ -417,11 +417,11 @@ public class IssueServiceImpl extends BaseServiceImpl imp @Override public Result stateStatistics(IssueStateStatisticsFormDTO formDto) { List list; - if (formDto.getDeptId() == null){ - list = SecurityUser.getUser().getDeptIdList(); - }else { + if (formDto.getDeptId() > 0){ list = new ArrayList<>(); list.add(formDto.getDeptId()); + }else { + list = SecurityUser.getUser().getDeptIdList(); } Integer pendingHandleNum = baseDao.selectCountOfIssueState(list,0); Integer closed = baseDao.selectCountOfIssueState(list,2); diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/application.yml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/application.yml index 354f6aeac..353ba573d 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/application.yml +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/application.yml @@ -85,3 +85,22 @@ mybatis-plus: cache-enabled: false call-setters-on-nulls: true jdbc-type-for-null: 'null' + +wx: + ma: + configs: + - appid: @wx.ma.appId@ + secret: @wx.ma.secret@ + token: #微信小程序消息服务器配置的token + aesKey: #微信小程序消息服务器配置的EncodingAESKey + msgDataFormat: JSON + - appid: @work.wx.ma.appId@ + secret: @work.wx.ma.secret@ + token: #微信小程序消息服务器配置的token + aesKey: #微信小程序消息服务器配置的EncodingAESKey + msgDataFormat: JSON + appId: + # 普通居民端的appId + normal: @wx.ma.appId@ + # 工作端的appId + work: @work.wx.ma.appId@ diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/category/CategoryDao.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/category/CategoryDao.xml index 29f1e9e85..01a4f0fbd 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/category/CategoryDao.xml +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/category/CategoryDao.xml @@ -20,7 +20,7 @@ diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/KpiRuleDTO.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/KpiRuleDTO.java new file mode 100644 index 000000000..3218725e7 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/KpiRuleDTO.java @@ -0,0 +1,97 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.dto; + +import java.io.Serializable; +import java.util.Date; + +import lombok.Data; + + +/** + * 考核规则表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-11-27 + */ +@Data +public class KpiRuleDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private String id; + + /** + * 考核规则名称 + */ + private String ruleName; + + /** + * 考核规则编码 + */ + private String ruleCode; + + /** + * 规则生成方式(0-元公式,1-手工打分,2-投票) + */ + private String ruleMode; + + /** + * 引用ID(公式id、投票等) + */ + private String referenceId; + + /** + * 考核周期(字典值) + */ + private String kpiCycle; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + + /** + * 删除标记 + */ + private String delFlag; + +} diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/KpiRuleParamDTO.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/KpiRuleParamDTO.java new file mode 100644 index 000000000..255d605bb --- /dev/null +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/KpiRuleParamDTO.java @@ -0,0 +1,87 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.dto; + +import java.io.Serializable; +import java.util.Date; + +import lombok.Data; + + +/** + * 公式参数表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-11-27 + */ +@Data +public class KpiRuleParamDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private String id; + + /** + * 规则ID + */ + private String ruleId; + + /** + * 元数据编码(数据字典值) + */ + private String metaDataCode; + + /** + * 参数顺序 + */ + private Integer sort; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + + /** + * 删除标记 + */ + private String delFlag; + +} diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/form/KpiRuleSaveOrUpdateFormDTO.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/form/KpiRuleSaveOrUpdateFormDTO.java new file mode 100644 index 000000000..67861a16c --- /dev/null +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/form/KpiRuleSaveOrUpdateFormDTO.java @@ -0,0 +1,82 @@ +package com.elink.esua.epdc.dto.form; + +import com.elink.esua.epdc.dto.KpiRuleParamDTO; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * @Description 新增、修改考核规则入参DTO + * @Author yinzuomei + * @Date 2019/11/27 16:21 + */ +@Data +public class KpiRuleSaveOrUpdateFormDTO implements Serializable { + private static final long serialVersionUID = 6944783947114092507L; + /** + * 主键 + */ + private String id; + + /** + * 考核规则名称 + */ + private String ruleName; + + /** + * 考核规则编码 + */ + private String ruleCode; + + /** + * 规则生成方式(0-元公式,1-手工打分,2-投票) + */ + private String ruleMode; + + /** + * 引用ID(公式id、投票等) + */ + private String referenceId; + + /** + * 考核周期(字典值) + */ + private String kpiCycle; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + + /** + * 删除标记 + */ + private String delFlag; + + /** + * 公式参数表 + */ + private List ruleParamList; +} diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/result/KpiFormulaDictResultDTO.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/result/KpiFormulaDictResultDTO.java new file mode 100644 index 000000000..db3d4ef30 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/result/KpiFormulaDictResultDTO.java @@ -0,0 +1,29 @@ +package com.elink.esua.epdc.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 新增考核规则界面[引用]下拉框 + * @Author yinzuomei + * @Date 2019/11/27 14:00 + */ +@Data +public class KpiFormulaDictResultDTO implements Serializable { + private static final long serialVersionUID = -51706543080866619L; + /** + * 主键 + */ + private String id; + + /** + * 公式名称 + */ + private String formulaName; + + /** + * 公式参数数量 + */ + private Integer paramAmount; +} diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/result/KpiRuleQueryResultDTO.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/result/KpiRuleQueryResultDTO.java new file mode 100644 index 000000000..105246b6f --- /dev/null +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/result/KpiRuleQueryResultDTO.java @@ -0,0 +1,87 @@ +package com.elink.esua.epdc.dto.result; + +import com.elink.esua.epdc.dto.KpiRuleParamDTO; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * @Description 考核规则列表查询返参DTO + * @Author yinzuomei + * @Date 2019/11/27 13:23 + */ +@Data +public class KpiRuleQueryResultDTO implements Serializable { + private static final long serialVersionUID = 8268124759182327315L; + /** + * 主键 + */ + private String id; + + /** + * 考核规则名称 + */ + private String ruleName; + + /** + * 考核规则编码 + */ + private String ruleCode; + + /** + * 规则生成方式(0-元公式,1-手工打分,2-投票) + */ + private String ruleMode; + + /** + * 引用ID(公式id、投票等) + */ + private String referenceId; + + /** + * 考核周期(字典值) + */ + private String kpiCycle; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + + /** + * 删除标记 + */ + private String delFlag; + + /** + * 引用名称 + */ + private String referenceName; + + /** + * 参数集合 + */ + private List ruleParamList; +} diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiFormulaController.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiFormulaController.java index 45f0ea8e2..853f50dcc 100644 --- a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiFormulaController.java +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiFormulaController.java @@ -18,6 +18,7 @@ package com.elink.esua.epdc.controller; import com.elink.esua.epdc.dto.KpiFormulaDTO; +import com.elink.esua.epdc.dto.result.KpiFormulaDictResultDTO; import com.elink.esua.epdc.excel.KpiFormulaExcel; import com.elink.esua.epdc.service.KpiFormulaService; import com.elink.esua.epdc.commons.tools.page.PageData; @@ -46,48 +47,58 @@ import java.util.Map; @RequestMapping("kpiformula") public class KpiFormulaController { - @Autowired - private KpiFormulaService kpiFormulaService; + @Autowired + private KpiFormulaService kpiFormulaService; - @GetMapping("page") - public Result> page(@RequestParam Map params){ - PageData page = kpiFormulaService.page(params); - return new Result>().ok(page); - } + @GetMapping("page") + public Result> page(@RequestParam Map params) { + PageData page = kpiFormulaService.page(params); + return new Result>().ok(page); + } - @GetMapping("{id}") - public Result get(@PathVariable("id") String id){ - KpiFormulaDTO data = kpiFormulaService.get(id); - return new Result().ok(data); - } + @GetMapping("{id}") + public Result get(@PathVariable("id") String id) { + KpiFormulaDTO data = kpiFormulaService.get(id); + return new Result().ok(data); + } - @PostMapping - public Result save(@RequestBody KpiFormulaDTO dto){ - //效验数据 - ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); - //kpiFormulaService.save(dto); - return kpiFormulaService.saveKpiFormula(dto); - } + @PostMapping + public Result save(@RequestBody KpiFormulaDTO dto) { + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + //kpiFormulaService.save(dto); + return kpiFormulaService.saveKpiFormula(dto); + } - @PutMapping - public Result update(@RequestBody KpiFormulaDTO dto){ - //效验数据 - ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); - return kpiFormulaService.update(dto); - } + @PutMapping + public Result update(@RequestBody KpiFormulaDTO dto) { + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + return kpiFormulaService.update(dto); + } - @DeleteMapping - public Result delete(@RequestBody String[] ids){ - //效验数据 - AssertUtils.isArrayEmpty(ids, "id"); - kpiFormulaService.delete(ids); - return new Result(); - } + @DeleteMapping + public Result delete(@RequestBody String[] ids) { + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + return kpiFormulaService.delete(ids); + } - @GetMapping("export") - public void export(@RequestParam Map params, HttpServletResponse response) throws Exception { - List list = kpiFormulaService.list(params); - ExcelUtils.exportExcelToTarget(response, null, list, KpiFormulaExcel.class); - } + @GetMapping("export") + public void export(@RequestParam Map params, HttpServletResponse response) throws Exception { + List list = kpiFormulaService.list(params); + ExcelUtils.exportExcelToTarget(response, null, list, KpiFormulaExcel.class); + } + /** + * @param + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author yinzuomei + * @Description 获取公式id、公式名称供下拉框使用 + * @Date 2019/11/27 14:02 + **/ + @GetMapping("getKpiFormulaList") + public Result> getKpiFormulaList() { + return kpiFormulaService.listKpiFormulaDictResultDTO(); + } } diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiRuleController.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiRuleController.java new file mode 100644 index 000000000..b4e21fa30 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiRuleController.java @@ -0,0 +1,145 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.controller; + +import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.commons.tools.utils.ExcelUtils; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.commons.tools.validator.AssertUtils; +import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; +import com.elink.esua.epdc.commons.tools.validator.group.AddGroup; +import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup; +import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; +import com.elink.esua.epdc.dto.KpiRuleDTO; +import com.elink.esua.epdc.dto.form.KpiRuleSaveOrUpdateFormDTO; +import com.elink.esua.epdc.dto.result.KpiRuleQueryResultDTO; +import com.elink.esua.epdc.excel.KpiRuleExcel; +import com.elink.esua.epdc.service.KpiRuleService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + + +/** + * 考核规则表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-11-27 + */ +@RestController +@RequestMapping("kpirule") +public class KpiRuleController { + + @Autowired + private KpiRuleService kpiRuleService; + + @GetMapping("page") + public Result> page(@RequestParam Map params) { + PageData page = kpiRuleService.page(params); + return new Result>().ok(page); + } + + /*@GetMapping("{id}") + public Result get(@PathVariable("id") String id){ + KpiRuleDTO data = kpiRuleService.get(id); + return new Result().ok(data); + }*/ + + @PostMapping + public Result save(@RequestBody KpiRuleDTO dto) { + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + kpiRuleService.save(dto); + return new Result(); + } + + @PutMapping + public Result update(@RequestBody KpiRuleDTO dto) { + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + kpiRuleService.update(dto); + return new Result(); + } + + @DeleteMapping + public Result delete(@RequestBody String[] ids) { + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + kpiRuleService.delete(ids); + return new Result(); + } + + @GetMapping("export") + public void export(@RequestParam Map params, HttpServletResponse response) throws Exception { + List list = kpiRuleService.list(params); + ExcelUtils.exportExcelToTarget(response, null, list, KpiRuleExcel.class); + } + + /** + * @param params + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @Author yinzuomei + * @Description 列表查询 + * @Date 2019/11/27 13:22 + **/ + @GetMapping("query") + public Result> query(@RequestParam Map params) { + PageData page = kpiRuleService.query(params); + return new Result>().ok(page); + } + + /** + * @param id + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author yinzuomei + * @Description 查询详情 + * @Date 2019/11/27 15:17 + **/ + @GetMapping("{id}") + public Result queryDetailInfo(@PathVariable("id") String id) { + KpiRuleQueryResultDTO data = kpiRuleService.queryDetailInfo(id); + return new Result().ok(data); + } + + /** + * @param dto + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author yinzuomei + * @Description 新增 + * @Date 2019/11/27 16:23 + **/ + @PostMapping("saveOrUpdate") + public Result add(@RequestBody KpiRuleSaveOrUpdateFormDTO dto) { + return kpiRuleService.add(dto); + } + + /** + * @param dto + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author yinzuomei + * @Description 修改 + * @Date 2019/11/27 16:20 + **/ + @PutMapping("saveOrUpdate") + public Result edit(@RequestBody KpiRuleSaveOrUpdateFormDTO dto) { + return kpiRuleService.edit(dto); + } +} diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiRuleParamController.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiRuleParamController.java new file mode 100644 index 000000000..ce1c501e3 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiRuleParamController.java @@ -0,0 +1,94 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.controller; + +import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.commons.tools.utils.ExcelUtils; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.commons.tools.validator.AssertUtils; +import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; +import com.elink.esua.epdc.commons.tools.validator.group.AddGroup; +import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup; +import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; +import com.elink.esua.epdc.dto.KpiRuleParamDTO; +import com.elink.esua.epdc.excel.KpiRuleParamExcel; +import com.elink.esua.epdc.service.KpiRuleParamService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + + +/** + * 公式参数表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-11-27 + */ +@RestController +@RequestMapping("kpiruleparam") +public class KpiRuleParamController { + + @Autowired + private KpiRuleParamService kpiRuleParamService; + + @GetMapping("page") + public Result> page(@RequestParam Map params) { + PageData page = kpiRuleParamService.page(params); + return new Result>().ok(page); + } + + @GetMapping("{id}") + public Result get(@PathVariable("id") String id) { + KpiRuleParamDTO data = kpiRuleParamService.get(id); + return new Result().ok(data); + } + + @PostMapping + public Result save(@RequestBody KpiRuleParamDTO dto) { + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + kpiRuleParamService.save(dto); + return new Result(); + } + + @PutMapping + public Result update(@RequestBody KpiRuleParamDTO dto) { + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + kpiRuleParamService.update(dto); + return new Result(); + } + + @DeleteMapping + public Result delete(@RequestBody String[] ids) { + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + kpiRuleParamService.delete(ids); + return new Result(); + } + + @GetMapping("export") + public void export(@RequestParam Map params, HttpServletResponse response) throws Exception { + List list = kpiRuleParamService.list(params); + ExcelUtils.exportExcelToTarget(response, null, list, KpiRuleParamExcel.class); + } + +} diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiFormulaDao.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiFormulaDao.java index 9aa5512f0..a08084cef 100644 --- a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiFormulaDao.java +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiFormulaDao.java @@ -17,10 +17,13 @@ package com.elink.esua.epdc.dao; +import com.elink.esua.epdc.dto.result.KpiFormulaDictResultDTO; import com.elink.esua.epdc.entity.KpiFormulaEntity; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 绩效考核公式 * @@ -30,4 +33,12 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface KpiFormulaDao extends BaseDao { + /** + * @param + * @return java.util.List + * @Author yinzuomei + * @Description 获取公式id、公式名称供下拉框使用 + * @Date 2019/11/27 14:11 + **/ + List selectListKpiFormulaDictResultDTO(); } diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiRuleDao.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiRuleDao.java new file mode 100644 index 000000000..a100c7f48 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiRuleDao.java @@ -0,0 +1,64 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.dao; + +import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; +import com.elink.esua.epdc.dto.KpiRuleParamDTO; +import com.elink.esua.epdc.dto.result.KpiRuleQueryResultDTO; +import com.elink.esua.epdc.entity.KpiRuleEntity; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; +import java.util.Map; + +/** + * 考核规则表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-11-27 + */ +@Mapper +public interface KpiRuleDao extends BaseDao { + + /** + * @param params + * @return java.util.List + * @Author yinzuomei + * @Description 列表查询 + * @Date 2019/11/27 13:32 + **/ + List selectListKpiRuleQueryResultDTO(Map params); + + /** + * @param ruleId + * @return java.util.List + * @Author yinzuomei + * @Description 根据规则id查询公式参数表 + * @Date 2019/11/27 15:32 + **/ + List selectKpiRuleParamInfoDTO(String ruleId); + + /** + * @param id 考核规则表主键 + * @return com.elink.esua.epdc.dto.result.KpiRuleQueryResultDTO + * @Author yinzuomei + * @Description 查询详情 + * @Date 2019/11/27 15:19 + **/ + KpiRuleQueryResultDTO queryDetailInfo(String id); +} diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiRuleParamDao.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiRuleParamDao.java new file mode 100644 index 000000000..bd585ed2d --- /dev/null +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiRuleParamDao.java @@ -0,0 +1,41 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.dao; + +import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; +import com.elink.esua.epdc.entity.KpiRuleParamEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 公式参数表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-11-27 + */ +@Mapper +public interface KpiRuleParamDao extends BaseDao { + + /** + * @param id 规则ID + * @return int + * @Author yinzuomei + * @Description 根据规则id删除公式参数表记录 + * @Date 2019/11/27 16:36 + **/ + int deleteByRuleId(String id); +} diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/entity/KpiRuleEntity.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/entity/KpiRuleEntity.java new file mode 100644 index 000000000..ac74b1332 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/entity/KpiRuleEntity.java @@ -0,0 +1,66 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 考核规则表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-11-27 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("epdc_kpi_rule") +public class KpiRuleEntity extends BaseEpdcEntity { + + private static final long serialVersionUID = 1L; + + /** + * 考核规则名称 + */ + private String ruleName; + + /** + * 考核规则编码 + */ + private String ruleCode; + + /** + * 规则生成方式(0-元公式,1-手工打分,2-投票) + */ + private String ruleMode; + + /** + * 引用ID(公式id、投票等) + */ + private String referenceId; + + /** + * 考核周期(字典值) + */ + private String kpiCycle; + +} diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/entity/KpiRuleParamEntity.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/entity/KpiRuleParamEntity.java new file mode 100644 index 000000000..697ab16c3 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/entity/KpiRuleParamEntity.java @@ -0,0 +1,56 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 公式参数表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-11-27 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("epdc_kpi_rule_param") +public class KpiRuleParamEntity extends BaseEpdcEntity { + + private static final long serialVersionUID = 1L; + + /** + * 规则ID + */ + private String ruleId; + + /** + * 元数据编码(数据字典值) + */ + private String metaDataCode; + + /** + * 参数顺序 + */ + private Integer sort; + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/excel/KpiRuleExcel.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/excel/KpiRuleExcel.java new file mode 100644 index 000000000..e27551cbc --- /dev/null +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/excel/KpiRuleExcel.java @@ -0,0 +1,71 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.excel; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +import java.util.Date; + +/** + * 考核规则表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-11-27 + */ +@Data +public class KpiRuleExcel { + + @Excel(name = "主键") + private String id; + + @Excel(name = "考核规则名称") + private String ruleName; + + @Excel(name = "考核规则编码") + private String ruleCode; + + @Excel(name = "规则生成方式(0-元公式,1-手工打分,2-投票)") + private String ruleMode; + + @Excel(name = "引用ID(公式id、投票等)") + private String referenceId; + + @Excel(name = "考核周期(字典值)") + private String kpiCycle; + + @Excel(name = "乐观锁") + private Integer revision; + + @Excel(name = "创建人") + private String createdBy; + + @Excel(name = "创建时间") + private Date createdTime; + + @Excel(name = "更新人") + private String updatedBy; + + @Excel(name = "更新时间") + private Date updatedTime; + + @Excel(name = "删除标记") + private String delFlag; + + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/excel/KpiRuleParamExcel.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/excel/KpiRuleParamExcel.java new file mode 100644 index 000000000..6d982ba47 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/excel/KpiRuleParamExcel.java @@ -0,0 +1,65 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.excel; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +import java.util.Date; + +/** + * 公式参数表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-11-27 + */ +@Data +public class KpiRuleParamExcel { + + @Excel(name = "主键") + private String id; + + @Excel(name = "规则ID") + private String ruleId; + + @Excel(name = "元数据编码(数据字典值)") + private String metaDataCode; + + @Excel(name = "参数顺序") + private Integer sort; + + @Excel(name = "乐观锁") + private Integer revision; + + @Excel(name = "创建人") + private String createdBy; + + @Excel(name = "创建时间") + private Date createdTime; + + @Excel(name = "更新人") + private String updatedBy; + + @Excel(name = "更新时间") + private Date updatedTime; + + @Excel(name = "删除标记") + private String delFlag; + + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/redis/KpiRuleParamRedis.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/redis/KpiRuleParamRedis.java new file mode 100644 index 000000000..bfe4f8e47 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/redis/KpiRuleParamRedis.java @@ -0,0 +1,47 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.redis; + +import com.elink.esua.epdc.commons.tools.redis.RedisUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * 公式参数表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-11-27 + */ +@Component +public class KpiRuleParamRedis { + @Autowired + private RedisUtils redisUtils; + + public void delete(Object[] ids) { + + } + + public void set(){ + + } + + public String get(String id){ + return null; + } + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/redis/KpiRuleRedis.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/redis/KpiRuleRedis.java new file mode 100644 index 000000000..7f60563cc --- /dev/null +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/redis/KpiRuleRedis.java @@ -0,0 +1,47 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.redis; + +import com.elink.esua.epdc.commons.tools.redis.RedisUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * 考核规则表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-11-27 + */ +@Component +public class KpiRuleRedis { + @Autowired + private RedisUtils redisUtils; + + public void delete(Object[] ids) { + + } + + public void set(){ + + } + + public String get(String id){ + return null; + } + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/KpiFormulaService.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/KpiFormulaService.java index f354275eb..0bd61c864 100644 --- a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/KpiFormulaService.java +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/KpiFormulaService.java @@ -20,6 +20,7 @@ package com.elink.esua.epdc.service; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.KpiFormulaDTO; +import com.elink.esua.epdc.dto.result.KpiFormulaDictResultDTO; import com.elink.esua.epdc.entity.KpiFormulaEntity; import com.elink.esua.epdc.commons.mybatis.service.BaseService; import com.elink.esua.epdc.commons.tools.page.PageData; @@ -35,72 +36,81 @@ import java.util.Map; */ public interface KpiFormulaService extends BaseService { - /** - * 默认分页 - * - * @param params - * @return PageData - * @author generator - * @date 2019-11-26 - */ - PageData page(Map params); + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2019-11-26 + */ + PageData page(Map params); - /** - * 默认查询 - * - * @param params - * @return java.util.List - * @author generator - * @date 2019-11-26 - */ - List list(Map params); + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2019-11-26 + */ + List list(Map params); - /** - * 单条查询 - * - * @param id - * @return KpiFormulaDTO - * @author generator - * @date 2019-11-26 - */ - KpiFormulaDTO get(String id); + /** + * 单条查询 + * + * @param id + * @return KpiFormulaDTO + * @author generator + * @date 2019-11-26 + */ + KpiFormulaDTO get(String id); - /** - * 默认保存 - * - * @param dto - * @return void - * @author generator - * @date 2019-11-26 - */ - void save(KpiFormulaDTO dto); + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2019-11-26 + */ + void save(KpiFormulaDTO dto); - /** - * 默认更新 - * - * @param dto - * @return void - * @author generator - * @date 2019-11-26 - */ - Result update(KpiFormulaDTO dto); + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2019-11-26 + */ + Result update(KpiFormulaDTO dto); - /** - * 批量删除 - * - * @param ids - * @return void - * @author generator - * @date 2019-11-26 - */ - void delete(String[] ids); + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2019-11-26 + */ + Result delete(String[] ids); - /** - * @param dto - * @return com.elink.esua.epdc.commons.tools.utils.Result - * @Author yinzuomei - * @Description 新增 - * @Date 2019/11/26 17:14 - **/ - Result saveKpiFormula(KpiFormulaDTO dto); + /** + * @param dto + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author yinzuomei + * @Description 新增 + * @Date 2019/11/26 17:14 + **/ + Result saveKpiFormula(KpiFormulaDTO dto); + + /** + * @param + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author yinzuomei + * @Description 获取公式id、公式名称供下拉框使用 + * @Date 2019/11/27 14:02 + **/ + Result> listKpiFormulaDictResultDTO(); } diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/KpiRuleParamService.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/KpiRuleParamService.java new file mode 100644 index 000000000..c064f98dd --- /dev/null +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/KpiRuleParamService.java @@ -0,0 +1,95 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.service; + +import com.elink.esua.epdc.commons.mybatis.service.BaseService; +import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.dto.KpiRuleParamDTO; +import com.elink.esua.epdc.entity.KpiRuleParamEntity; + +import java.util.List; +import java.util.Map; + +/** + * 公式参数表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-11-27 + */ +public interface KpiRuleParamService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2019-11-27 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2019-11-27 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return KpiRuleParamDTO + * @author generator + * @date 2019-11-27 + */ + KpiRuleParamDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2019-11-27 + */ + void save(KpiRuleParamDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2019-11-27 + */ + void update(KpiRuleParamDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2019-11-27 + */ + void delete(String[] ids); +} diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/KpiRuleService.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/KpiRuleService.java new file mode 100644 index 000000000..5b0a41a28 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/KpiRuleService.java @@ -0,0 +1,134 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.service; + +import com.elink.esua.epdc.commons.mybatis.service.BaseService; +import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.KpiRuleDTO; +import com.elink.esua.epdc.dto.form.KpiRuleSaveOrUpdateFormDTO; +import com.elink.esua.epdc.dto.result.KpiRuleQueryResultDTO; +import com.elink.esua.epdc.entity.KpiRuleEntity; + +import java.util.List; +import java.util.Map; + +/** + * 考核规则表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-11-27 + */ +public interface KpiRuleService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2019-11-27 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2019-11-27 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return KpiRuleDTO + * @author generator + * @date 2019-11-27 + */ + KpiRuleDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2019-11-27 + */ + void save(KpiRuleDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2019-11-27 + */ + void update(KpiRuleDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2019-11-27 + */ + void delete(String[] ids); + + /** + * @param params + * @return com.elink.esua.epdc.commons.tools.page.PageData + * @Author yinzuomei + * @Description 列表查询 + * @Date 2019/11/27 13:29 + **/ + PageData query(Map params); + + /** + * @param id 考核规则表主键 + * @return com.elink.esua.epdc.dto.result.KpiRuleQueryResultDTO + * @Author yinzuomei + * @Description 查询详情 + * @Date 2019/11/27 15:17 + **/ + KpiRuleQueryResultDTO queryDetailInfo(String id); + + /** + * @param dto + * @return void + * @Author yinzuomei + * @Description 新增 + * @Date 2019/11/27 16:27 + **/ + Result add(KpiRuleSaveOrUpdateFormDTO dto); + + /** + * @param dto + * @return void + * @Author yinzuomei + * @Description 修改 + * @Date 2019/11/27 16:27 + **/ + Result edit(KpiRuleSaveOrUpdateFormDTO dto); +} diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiFormulaServiceImpl.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiFormulaServiceImpl.java index 529fffdcd..80e4fd086 100644 --- a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiFormulaServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiFormulaServiceImpl.java @@ -19,16 +19,19 @@ package com.elink.esua.epdc.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; +import com.elink.esua.epdc.commons.tools.constant.FieldConstant; +import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dao.KpiFormulaDao; +import com.elink.esua.epdc.dao.KpiRuleDao; import com.elink.esua.epdc.dto.KpiFormulaDTO; +import com.elink.esua.epdc.dto.result.KpiFormulaDictResultDTO; import com.elink.esua.epdc.entity.KpiFormulaEntity; +import com.elink.esua.epdc.entity.KpiRuleEntity; import com.elink.esua.epdc.redis.KpiFormulaRedis; import com.elink.esua.epdc.service.KpiFormulaService; -import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; -import com.elink.esua.epdc.commons.tools.page.PageData; -import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; -import com.elink.esua.epdc.commons.tools.constant.FieldConstant; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -37,7 +40,6 @@ import org.springframework.transaction.annotation.Transactional; import javax.script.Invocable; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; -import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -53,7 +55,8 @@ public class KpiFormulaServiceImpl extends BaseServiceImpl page(Map params) { QueryWrapper wrapper=new QueryWrapper<>(); @@ -127,9 +130,17 @@ public class KpiFormulaServiceImpl extends BaseServiceImpl kpiRuleEntityQueryWrapper = new QueryWrapper<>(); + kpiRuleEntityQueryWrapper.in(ids.length>0,"reference_id",ids); + List kpiRuleEntityList= kpiRuleDao.selectList(kpiRuleEntityQueryWrapper); + if(null!=kpiRuleEntityList&&kpiRuleEntityList.size()>0){ + return new Result().error("存在公式被引用,不允许删除"); + } // 逻辑删除(@TableLogic 注解) baseDao.deleteBatchIds(Arrays.asList(ids)); + return new Result(); } /** @@ -162,4 +173,16 @@ public class KpiFormulaServiceImpl extends BaseServiceImpl + * @Author yinzuomei + * @Description 获取公式id、公式名称供下拉框使用 + * @Date 2019/11/27 14:02 + **/ + @Override + public Result> listKpiFormulaDictResultDTO() { + List list=baseDao.selectListKpiFormulaDictResultDTO(); + return new Result>().ok(list); + } + } diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiRuleParamServiceImpl.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiRuleParamServiceImpl.java new file mode 100644 index 000000000..5b2794373 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiRuleParamServiceImpl.java @@ -0,0 +1,104 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; +import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; +import com.elink.esua.epdc.commons.tools.constant.FieldConstant; +import com.elink.esua.epdc.dao.KpiRuleParamDao; +import com.elink.esua.epdc.dto.KpiRuleParamDTO; +import com.elink.esua.epdc.entity.KpiRuleParamEntity; +import com.elink.esua.epdc.redis.KpiRuleParamRedis; +import com.elink.esua.epdc.service.KpiRuleParamService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 公式参数表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-11-27 + */ +@Service +public class KpiRuleParamServiceImpl extends BaseServiceImpl implements KpiRuleParamService { + + @Autowired + private KpiRuleParamRedis kpiRuleParamRedis; + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, KpiRuleParamDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, KpiRuleParamDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public KpiRuleParamDTO get(String id) { + KpiRuleParamEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, KpiRuleParamDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(KpiRuleParamDTO dto) { + KpiRuleParamEntity entity = ConvertUtils.sourceToTarget(dto, KpiRuleParamEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(KpiRuleParamDTO dto) { + KpiRuleParamEntity entity = ConvertUtils.sourceToTarget(dto, KpiRuleParamEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiRuleServiceImpl.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiRuleServiceImpl.java new file mode 100644 index 000000000..d6058c737 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiRuleServiceImpl.java @@ -0,0 +1,225 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; +import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; +import com.elink.esua.epdc.commons.tools.constant.FieldConstant; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dao.KpiFormulaDao; +import com.elink.esua.epdc.dao.KpiRuleDao; +import com.elink.esua.epdc.dao.KpiRuleParamDao; +import com.elink.esua.epdc.dto.KpiRuleDTO; +import com.elink.esua.epdc.dto.KpiRuleParamDTO; +import com.elink.esua.epdc.dto.form.KpiRuleSaveOrUpdateFormDTO; +import com.elink.esua.epdc.dto.result.KpiRuleQueryResultDTO; +import com.elink.esua.epdc.entity.KpiFormulaEntity; +import com.elink.esua.epdc.entity.KpiRuleEntity; +import com.elink.esua.epdc.entity.KpiRuleParamEntity; +import com.elink.esua.epdc.redis.KpiRuleRedis; +import com.elink.esua.epdc.service.KpiRuleParamService; +import com.elink.esua.epdc.service.KpiRuleService; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 考核规则表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-11-27 + */ +@Service +public class KpiRuleServiceImpl extends BaseServiceImpl implements KpiRuleService { + private Logger logger = LoggerFactory.getLogger(getClass()); + @Autowired + private KpiRuleRedis kpiRuleRedis; + + @Autowired + private KpiRuleParamService kpiRuleParamService; + + @Autowired + private KpiRuleParamDao kpiRuleParamDao; + @Autowired + private KpiFormulaDao kpiFormulaDao; + + @Override + public PageData page(Map params) { + String ruleName = params.containsKey("ruleName") ? params.get("ruleName").toString() : null; + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.like(StringUtils.isNotBlank(ruleName), "rule_name", ruleName); + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + wrapper + ); + return getPageData(page, KpiRuleDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, KpiRuleDTO.class); + } + + private QueryWrapper getWrapper(Map params) { + String id = (String) params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public KpiRuleDTO get(String id) { + KpiRuleEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, KpiRuleDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(KpiRuleDTO dto) { + KpiRuleEntity entity = ConvertUtils.sourceToTarget(dto, KpiRuleEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(KpiRuleDTO dto) { + KpiRuleEntity entity = ConvertUtils.sourceToTarget(dto, KpiRuleEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + QueryWrapper kpiRuleParamEntityQueryWrapper = new QueryWrapper<>(); + kpiRuleParamEntityQueryWrapper.in(ids.length>0,"RULE_ID",ids); + kpiRuleParamDao.delete(kpiRuleParamEntityQueryWrapper); + } + + /** + * @param params + * @return com.elink.esua.epdc.commons.tools.page.PageData + * @Author yinzuomei + * @Description 列表查询 + * @Date 2019/11/27 13:29 + **/ + @Override + public PageData query(Map params) { + IPage page = getPage(params); + List list = baseDao.selectListKpiRuleQueryResultDTO(params); + return new PageData<>(list, page.getTotal()); + } + + /** + * @param id 考核规则表主键 + * @return com.elink.esua.epdc.dto.result.KpiRuleQueryResultDTO + * @Author yinzuomei + * @Description 查询详情 + * @Date 2019/11/27 15:17 + **/ + @Override + public KpiRuleQueryResultDTO queryDetailInfo(String id) { + return baseDao.queryDetailInfo(id); + } + + /** + * @param dto + * @return void + * @Author yinzuomei + * @Description 新增 + * @Date 2019/11/27 16:27 + **/ + @Override + @Transactional(rollbackFor = Exception.class) + public Result add(KpiRuleSaveOrUpdateFormDTO dto) { + Result checkResult = this.checkKpiRuleSaveOrUpdateFormDTO(dto); + if (checkResult.getCode() != 0) { + return checkResult; + } + KpiRuleEntity entity = ConvertUtils.sourceToTarget(dto, KpiRuleEntity.class); + logger.info("考核规则表id=" + entity.getId()); + insert(entity); + List ruleParamList = dto.getRuleParamList(); + for (KpiRuleParamDTO kpiRuleParamDTO : ruleParamList) { + kpiRuleParamDTO.setRuleId(entity.getId()); + kpiRuleParamService.save(kpiRuleParamDTO); + } + return new Result(); + } + + /** + * @param dto + * @return void + * @Author yinzuomei + * @Description 修改 + * @Date 2019/11/27 16:27 + **/ + @Override + @Transactional(rollbackFor = Exception.class) + public Result edit(KpiRuleSaveOrUpdateFormDTO dto) { + Result checkResult = this.checkKpiRuleSaveOrUpdateFormDTO(dto); + if (checkResult.getCode() != 0) { + return checkResult; + } + KpiRuleEntity entity = ConvertUtils.sourceToTarget(dto, KpiRuleEntity.class); + updateById(entity); + //全部删除参数记录表 + int deleteResultNum = kpiRuleParamDao.deleteByRuleId(entity.getId()); + logger.info("删除了" + deleteResultNum + "条记录"); + List ruleParamList = dto.getRuleParamList(); + for (KpiRuleParamDTO kpiRuleParamDTO : ruleParamList) { + kpiRuleParamDTO.setId(null); + kpiRuleParamDTO.setRuleId(entity.getId()); + kpiRuleParamService.save(kpiRuleParamDTO); + } + return new Result(); + } + + public Result checkKpiRuleSaveOrUpdateFormDTO(KpiRuleSaveOrUpdateFormDTO dto) { + if (("0").equals(dto.getRuleMode())) { + KpiFormulaEntity kpiFormulaEntity = kpiFormulaDao.selectById(dto.getReferenceId()); + if (kpiFormulaEntity.getParamAmount() != dto.getRuleParamList().size()) { + return new Result().error("公式缺少入参"); + } + //校验sort唯一性 + int sort = 0; + for (KpiRuleParamDTO kpiRuleParamDTO : dto.getRuleParamList()) { + if (kpiRuleParamDTO.getSort() == sort) { + return new Result().error("参数排序不唯一,请重新编辑"); + } + sort = kpiRuleParamDTO.getSort(); + } + } + return new Result(); + } +} diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiFormulaDao.xml b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiFormulaDao.xml index 588afe512..6cfe4092c 100644 --- a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiFormulaDao.xml +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiFormulaDao.xml @@ -20,5 +20,17 @@ - + + diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiRuleDao.xml b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiRuleDao.xml new file mode 100644 index 000000000..f746c8399 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiRuleDao.xml @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiRuleParamDao.xml b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiRuleParamDao.xml new file mode 100644 index 000000000..2928504c6 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiRuleParamDao.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + delete from epdc_kpi_rule_param where rule_id=#{id} + + diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java index 879b2dbc5..9a741aa23 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java @@ -571,6 +571,7 @@ public class UserServiceImpl extends BaseServiceImpl implem } else { throw new RenException("是否认证通过数据不匹配"); } + this.update(userDTO); //插入认证历史表 UserAuthenticateHistoryEntity authenticateHistoryEntity = new UserAuthenticateHistoryEntity(); authenticateHistoryEntity.setUserId(userDTO.getId()); diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml index feb1bb3f7..c99fb251a 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml @@ -107,6 +107,7 @@ +