From b17dbd03aa57e71f7e245026f4c3018ac8ae3324 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A7=9C=E7=8E=89=E7=90=A6?= <7507756+jiang_yuqi@user.noreply.gitee.com> Date: Sun, 25 Feb 2024 20:04:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/yanzhu/common/constant/Constants.java | 5 + .../web/service/UserDetailsServiceImpl.java | 15 +- .../controller/BaseAssetsTypeController.java | 28 +++ .../controller/ProProjectApplyController.java | 5 + .../yanzhu/base/domain/BaseAssetsType.java | 24 +++ .../base/service/IBaseAssetsTypeService.java | 9 + .../impl/BaseAssetsTypeServiceImpl.java | 71 ++++++- .../mapper/base/BaseAssetsTypeMapper.xml | 13 +- .../task/myProcess/detail/detailDrawer.vue | 4 +- .../task/myProcess/editTaskDrawer.vue | 4 +- .../views/flowable/task/myProcess/index.vue | 1 - .../task/myProcess/initTaskDrawer.vue | 175 ++++++++++++++++-- .../task/todo/detail/approveDrawer.vue | 4 +- 13 files changed, 330 insertions(+), 28 deletions(-) diff --git a/yanzhu-common/src/main/java/com/yanzhu/common/constant/Constants.java b/yanzhu-common/src/main/java/com/yanzhu/common/constant/Constants.java index c185e0d..cc77bf7 100644 --- a/yanzhu-common/src/main/java/com/yanzhu/common/constant/Constants.java +++ b/yanzhu-common/src/main/java/com/yanzhu/common/constant/Constants.java @@ -89,6 +89,11 @@ public class Constants */ public static final Integer CAPTCHA_EXPIRATION = 2; + /** + * 基础数据有效期(分钟) + */ + public static final Integer BASE_DATA_EXPIRATION = 30; + /** * 令牌 */ diff --git a/yanzhu-framework/src/main/java/com/yanzhu/framework/web/service/UserDetailsServiceImpl.java b/yanzhu-framework/src/main/java/com/yanzhu/framework/web/service/UserDetailsServiceImpl.java index b8df3ad..9bb36c5 100644 --- a/yanzhu-framework/src/main/java/com/yanzhu/framework/web/service/UserDetailsServiceImpl.java +++ b/yanzhu-framework/src/main/java/com/yanzhu/framework/web/service/UserDetailsServiceImpl.java @@ -61,11 +61,16 @@ public class UserDetailsServiceImpl implements UserDetailsService } //设置项目单位信息 - Long deptId = Convert.toLong(user.getDept().getAncestors().split(",")[2]); - if(deptId != null){ - SysDept sysDept = sysDeptService.selectDeptById(deptId); - user.setParDeptId(sysDept.getDeptId()); - user.setParDeptName(sysDept.getDeptName()); + if(!user.isAdmin()){ + Long deptId = Convert.toLong(user.getDept().getAncestors().split(",")[2]); + if(deptId != null){ + SysDept sysDept = sysDeptService.selectDeptById(deptId); + user.setParDeptId(sysDept.getDeptId()); + user.setParDeptName(sysDept.getDeptName()); + } + }else{ + user.setParDeptId(100L); + user.setParDeptName("研筑临时项目管理"); } passwordService.validate(user); return createLoginUser(user); diff --git a/yanzhu-manage/src/main/java/com/yanzhu/base/controller/BaseAssetsTypeController.java b/yanzhu-manage/src/main/java/com/yanzhu/base/controller/BaseAssetsTypeController.java index 9bc7c64..252cfa1 100644 --- a/yanzhu-manage/src/main/java/com/yanzhu/base/controller/BaseAssetsTypeController.java +++ b/yanzhu-manage/src/main/java/com/yanzhu/base/controller/BaseAssetsTypeController.java @@ -1,7 +1,13 @@ package com.yanzhu.base.controller; import java.util.List; +import java.util.concurrent.TimeUnit; import javax.servlet.http.HttpServletResponse; + +import com.yanzhu.common.constant.Constants; +import com.yanzhu.common.core.domain.entity.SysUser; +import com.yanzhu.common.core.redis.RedisCache; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -34,6 +40,9 @@ public class BaseAssetsTypeController extends BaseController @Autowired private IBaseAssetsTypeService baseAssetsTypeService; + @Autowired + private RedisCache redisCache; + /** * 查询物资类型列表 */ @@ -101,4 +110,23 @@ public class BaseAssetsTypeController extends BaseController { return toAjax(baseAssetsTypeService.deleteBaseAssetsTypeByIds(ids)); } + + + /** + * 查询物资类型 + */ + @DeleteMapping("/findAllByCategory/{category}") + public AjaxResult findAllByCategory(@PathVariable String category) + { + SysUser sysUser = super.getLoginUser().getUser(); + String key = "YANZHU.BASE.ASSETSTYPE.findAllByCategory." + sysUser.getParDeptId() + "." + category; + Object object = redisCache.getCacheObject(key); + if (object != null) { + return success(object); + } + List list = baseAssetsTypeService.findAllByCategory(category); + redisCache.setCacheObject(key, list, Constants.BASE_DATA_EXPIRATION, TimeUnit.MINUTES); + return success(list); + } + } diff --git a/yanzhu-manage/src/main/java/com/yanzhu/project/controller/ProProjectApplyController.java b/yanzhu-manage/src/main/java/com/yanzhu/project/controller/ProProjectApplyController.java index 3da0452..76e1a9a 100644 --- a/yanzhu-manage/src/main/java/com/yanzhu/project/controller/ProProjectApplyController.java +++ b/yanzhu-manage/src/main/java/com/yanzhu/project/controller/ProProjectApplyController.java @@ -2,6 +2,10 @@ package com.yanzhu.project.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; + +import com.yanzhu.common.core.domain.entity.SysUser; +import com.yanzhu.common.core.text.Convert; +import com.yanzhu.project.domain.ProProjectInfo; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -101,4 +105,5 @@ public class ProProjectApplyController extends BaseController { return toAjax(proProjectApplyService.deleteProProjectApplyByIds(ids)); } + } diff --git a/yanzhu-mapper/src/main/java/com/yanzhu/base/domain/BaseAssetsType.java b/yanzhu-mapper/src/main/java/com/yanzhu/base/domain/BaseAssetsType.java index d12be3b..06bca48 100644 --- a/yanzhu-mapper/src/main/java/com/yanzhu/base/domain/BaseAssetsType.java +++ b/yanzhu-mapper/src/main/java/com/yanzhu/base/domain/BaseAssetsType.java @@ -5,6 +5,8 @@ import org.apache.commons.lang3.builder.ToStringStyle; import com.yanzhu.common.annotation.Excel; import com.yanzhu.common.core.domain.BaseEntity; +import java.util.List; + /** * 物资类型对象 base_assets_type * @@ -42,6 +44,12 @@ public class BaseAssetsType extends BaseEntity @Excel(name = "是否删除") private String isDel; + /** 默认单位数据 */ + private Long defaultDeptId; + + /** 子类型列表 */ + private List childrenAssetsTypeList; + public void setId(Long id) { this.id = id; @@ -106,6 +114,22 @@ public class BaseAssetsType extends BaseEntity return isDel; } + public List getChildrenAssetsTypeList() { + return childrenAssetsTypeList; + } + + public void setChildrenAssetsTypeList(List childrenAssetsTypeList) { + this.childrenAssetsTypeList = childrenAssetsTypeList; + } + + public Long getDefaultDeptId() { + return defaultDeptId; + } + + public void setDefaultDeptId(Long defaultDeptId) { + this.defaultDeptId = defaultDeptId; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) diff --git a/yanzhu-mapper/src/main/java/com/yanzhu/base/service/IBaseAssetsTypeService.java b/yanzhu-mapper/src/main/java/com/yanzhu/base/service/IBaseAssetsTypeService.java index ca47bbe..70ce727 100644 --- a/yanzhu-mapper/src/main/java/com/yanzhu/base/service/IBaseAssetsTypeService.java +++ b/yanzhu-mapper/src/main/java/com/yanzhu/base/service/IBaseAssetsTypeService.java @@ -11,6 +11,7 @@ import com.yanzhu.base.domain.BaseAssetsType; */ public interface IBaseAssetsTypeService { + /** * 查询物资类型 * @@ -58,4 +59,12 @@ public interface IBaseAssetsTypeService * @return 结果 */ public int deleteBaseAssetsTypeById(Long id); + + /** + * 查询物资类型 + * + * @param category 物资类型 + * @return 结果 + */ + public List findAllByCategory(String category); } diff --git a/yanzhu-mapper/src/main/java/com/yanzhu/base/service/impl/BaseAssetsTypeServiceImpl.java b/yanzhu-mapper/src/main/java/com/yanzhu/base/service/impl/BaseAssetsTypeServiceImpl.java index 1f1959b..6ecd0cc 100644 --- a/yanzhu-mapper/src/main/java/com/yanzhu/base/service/impl/BaseAssetsTypeServiceImpl.java +++ b/yanzhu-mapper/src/main/java/com/yanzhu/base/service/impl/BaseAssetsTypeServiceImpl.java @@ -1,13 +1,23 @@ package com.yanzhu.base.service.impl; +import java.util.Collection; import java.util.List; + +import com.yanzhu.common.core.domain.entity.SysDictData; +import com.yanzhu.common.core.domain.entity.SysUser; +import com.yanzhu.common.core.redis.RedisCache; import com.yanzhu.common.utils.DateUtils; +import com.yanzhu.common.utils.SecurityUtils; +import com.yanzhu.system.mapper.SysDictDataMapper; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.yanzhu.base.mapper.BaseAssetsTypeMapper; import com.yanzhu.base.domain.BaseAssetsType; import com.yanzhu.base.service.IBaseAssetsTypeService; +import javax.annotation.PostConstruct; + /** * 物资类型Service业务层处理 * @@ -20,6 +30,18 @@ public class BaseAssetsTypeServiceImpl implements IBaseAssetsTypeService @Autowired private BaseAssetsTypeMapper baseAssetsTypeMapper; + @Autowired + private RedisCache redisCache; + + /** + * 加载字典缓存数据 + */ + private void loadingCache() + { + Collection collection = redisCache.keys("YANZHU.BASE.ASSETSTYPE.findAllByCategory.*"); + redisCache.deleteObject(collection); + } + /** * 查询物资类型 * @@ -54,7 +76,11 @@ public class BaseAssetsTypeServiceImpl implements IBaseAssetsTypeService public int insertBaseAssetsType(BaseAssetsType baseAssetsType) { baseAssetsType.setCreateTime(DateUtils.getNowDate()); - return baseAssetsTypeMapper.insertBaseAssetsType(baseAssetsType); + int res = baseAssetsTypeMapper.insertBaseAssetsType(baseAssetsType); + if(res>0){ + this.loadingCache(); + } + return res; } /** @@ -67,7 +93,11 @@ public class BaseAssetsTypeServiceImpl implements IBaseAssetsTypeService public int updateBaseAssetsType(BaseAssetsType baseAssetsType) { baseAssetsType.setUpdateTime(DateUtils.getNowDate()); - return baseAssetsTypeMapper.updateBaseAssetsType(baseAssetsType); + int res = baseAssetsTypeMapper.updateBaseAssetsType(baseAssetsType); + if(res>0){ + this.loadingCache(); + } + return res; } /** @@ -79,7 +109,11 @@ public class BaseAssetsTypeServiceImpl implements IBaseAssetsTypeService @Override public int deleteBaseAssetsTypeByIds(Long[] ids) { - return baseAssetsTypeMapper.deleteBaseAssetsTypeByIds(ids); + int res = baseAssetsTypeMapper.deleteBaseAssetsTypeByIds(ids); + if(res>0){ + this.loadingCache(); + } + return res; } /** @@ -91,6 +125,35 @@ public class BaseAssetsTypeServiceImpl implements IBaseAssetsTypeService @Override public int deleteBaseAssetsTypeById(Long id) { - return baseAssetsTypeMapper.deleteBaseAssetsTypeById(id); + int res = baseAssetsTypeMapper.deleteBaseAssetsTypeById(id); + if(res>0){ + this.loadingCache(); + } + return res; + } + + /** + * 查询物资类型 + * + * @param category 物资类型 + * @return 结果 + */ + public List findAllByCategory(String category){ + //boolean isAdmin = SysUser.isAdmin(SecurityUtils.getUserId()); + BaseAssetsType baseAssetsType = new BaseAssetsType(); + baseAssetsType.setParentId(0L); + baseAssetsType.setType(category); + List list = baseAssetsTypeMapper.selectBaseAssetsTypeList(baseAssetsType); + if(CollectionUtils.isNotEmpty(list)){ + for(BaseAssetsType entity:list){ + baseAssetsType.setParentId(entity.getId()); + baseAssetsType.setDefaultDeptId(SecurityUtils.getLoginUser().getUser().getParDeptId()); + List dataList = baseAssetsTypeMapper.selectBaseAssetsTypeList(baseAssetsType); + if(CollectionUtils.isNotEmpty(list)){ + entity.setChildrenAssetsTypeList(dataList); + } + } + } + return list; } } diff --git a/yanzhu-mapper/src/main/resources/mapper/base/BaseAssetsTypeMapper.xml b/yanzhu-mapper/src/main/resources/mapper/base/BaseAssetsTypeMapper.xml index e44cf6c..9ccb3af 100644 --- a/yanzhu-mapper/src/main/resources/mapper/base/BaseAssetsTypeMapper.xml +++ b/yanzhu-mapper/src/main/resources/mapper/base/BaseAssetsTypeMapper.xml @@ -26,12 +26,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" diff --git a/yanzhu-ui/src/views/flowable/task/myProcess/detail/detailDrawer.vue b/yanzhu-ui/src/views/flowable/task/myProcess/detail/detailDrawer.vue index 5375312..fd691bd 100644 --- a/yanzhu-ui/src/views/flowable/task/myProcess/detail/detailDrawer.vue +++ b/yanzhu-ui/src/views/flowable/task/myProcess/detail/detailDrawer.vue @@ -273,7 +273,7 @@ export default { try { self.bpmnViewer = new BpmnViewer({ container: this.$refs.flowCanvas, - height: "90px", + height: "100px", }); await self.bpmnViewer.importXML(data.xmlData); // 自适应 @@ -492,7 +492,7 @@ export default { } .maskLayer { width: 100%; - height: 90px; + height: 100px; position: absolute; z-index: 9999; top: 77px; diff --git a/yanzhu-ui/src/views/flowable/task/myProcess/editTaskDrawer.vue b/yanzhu-ui/src/views/flowable/task/myProcess/editTaskDrawer.vue index 23400b5..385c519 100644 --- a/yanzhu-ui/src/views/flowable/task/myProcess/editTaskDrawer.vue +++ b/yanzhu-ui/src/views/flowable/task/myProcess/editTaskDrawer.vue @@ -162,7 +162,7 @@ try { self.bpmnViewer = new BpmnViewer({ container: this.$refs.flowCanvas, - height: "150px", + height: "100px", }); await self.bpmnViewer.importXML(data.xmlData); // 自适应 @@ -304,7 +304,7 @@ } .maskLayer { width: 100%; - height: 150px; + height: 100px; position: absolute; z-index: 9999; top: 66px; diff --git a/yanzhu-ui/src/views/flowable/task/myProcess/index.vue b/yanzhu-ui/src/views/flowable/task/myProcess/index.vue index 36e596a..501d9ce 100644 --- a/yanzhu-ui/src/views/flowable/task/myProcess/index.vue +++ b/yanzhu-ui/src/views/flowable/task/myProcess/index.vue @@ -291,7 +291,6 @@