From 1d84a3c62eeee429f7d7d6339bcf9b504a9d7277 Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期四, 16 一月 2025 16:01:33 +0800 Subject: [PATCH] DNC流程配置、DNC部门处理 --- lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/service/IActivitiDefinitionService.java | 3 lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/entity/ActivitiDefinition.java | 12 lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/mapper/xml/AssignFileStreamMapper.xml | 89 ++++++++ lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IDocInfoService.java | 3 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/controller/DepartmentController.java | 72 +++++++ lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/controller/ActivitiDefinitionController.java | 15 lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/controller/AssignFileStreamController.java | 8 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/support/FindsDepartmentChildrenUtil.java | 116 +++++++++++ lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProductInfoServiceImpl.java | 1 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DepartmentServiceImpl.java | 74 +++++++ lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/service/impl/ActivitiDefinitionServiceImpl.java | 15 - lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/entity/DocInfo.java | 6 lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/service/impl/AssignFileStreamServiceImpl.java | 7 lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/service/IAssignFileStreamService.java | 3 lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/entity/AssignFileStream.java | 2 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/response/DepartmentModel.java | 100 ++++++++++ lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/controller/DocInfoController.java | 3 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IDepartmentService.java | 26 ++ lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DocInfoServiceImpl.java | 6 19 files changed, 524 insertions(+), 37 deletions(-) diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/controller/ActivitiDefinitionController.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/controller/ActivitiDefinitionController.java index 5699c5a..2c7f306 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/controller/ActivitiDefinitionController.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/controller/ActivitiDefinitionController.java @@ -3,6 +3,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.modules.activiti.entity.ActivitiDefinition; import org.jeecg.modules.activiti.request.ActivitiDefinitionRequest; @@ -33,9 +34,9 @@ @AutoLog(value = "DNC娴佺▼閰嶇疆-淇敼閰嶇疆") @ApiOperation(value = "DNC娴佺▼閰嶇疆-淇敼閰嶇疆", notes = "DNC娴佺▼閰嶇疆-淇敼閰嶇疆") - @PutMapping("/edit/{id}") - public ResponseResult editDefinition(@PathVariable("id") String id, @RequestBody ActivitiDefinition definition) { - boolean b = definitionService.editDefinition(id, definition); + @PutMapping("/edit") + public ResponseResult editDefinition( @RequestBody ActivitiDefinition definition) { + boolean b = definitionService.updateById(definition); if(b) return new ResponseResult(CommonCode.SUCCESS); return new ResponseResult(CommonCode.FAIL); @@ -53,8 +54,10 @@ @AutoLog(value = "DNC娴佺▼閰嶇疆-鍒嗛〉鏌ヨ閰嶇疆鍒楄〃") @ApiOperation(value = "DNC娴佺▼閰嶇疆-鍒嗛〉鏌ヨ閰嶇疆鍒楄〃", notes = "DNC娴佺▼閰嶇疆-鍒嗛〉鏌ヨ閰嶇疆鍒楄〃") - @GetMapping("/find/page/{page}/{size}") - public QueryPageResponseResult<ActivitiDefinition> findPageList(@PathVariable("page") int page, @PathVariable("size") int size, ActivitiDefinitionRequest request) { - return definitionService.findPageList(page, size, request); + @GetMapping("/find/page") + public Result<?> findPageList(@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + ActivitiDefinitionRequest request) { + return definitionService.findPageList(pageNo, pageSize, request); } } diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/controller/AssignFileStreamController.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/controller/AssignFileStreamController.java index dff2503..f42c233 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/controller/AssignFileStreamController.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/controller/AssignFileStreamController.java @@ -3,6 +3,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.modules.activiti.entity.AssignFileStream; import org.jeecg.modules.activiti.ext.ActTaskExt; @@ -80,9 +81,10 @@ @AutoLog(value = "DNC娴佺▼鎿嶄綔-宸插姙鍒楄〃鑾峰彇") @ApiOperation(value = "DNC娴佺▼鎿嶄綔-宸插姙鍒楄〃鑾峰彇", notes = "DNC娴佺▼鎿嶄綔-宸插姙鍒楄〃鑾峰彇") - @GetMapping("/find/page/{page}/{size}") - public QueryPageResponseResult<AssignFileStreamExt> findPageList(@PathVariable("page") int page, @PathVariable("size") int size, AssignFileStreamQueryRequest request) { - return assignFileStreamService.findPageList(page, size, request); + @GetMapping("/find/page") + public Result<?> findPageList(@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, AssignFileStreamQueryRequest request) { + return assignFileStreamService.findPageList(pageNo, pageSize, request); } @AutoLog(value = "DNC娴佺▼鎿嶄綔-鏌ヨ鏂囨。鐨勫鎵硅褰�") diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/entity/ActivitiDefinition.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/entity/ActivitiDefinition.java index 0a0ca7e..f6eb454 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/entity/ActivitiDefinition.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/entity/ActivitiDefinition.java @@ -1,10 +1,12 @@ package org.jeecg.modules.activiti.entity; import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnore; import io.swagger.annotations.Api; import lombok.Data; import lombok.NoArgsConstructor; +import org.jeecg.common.aspect.annotation.Dict; import java.util.Date; @@ -18,14 +20,16 @@ @TableField(value = "act_name") private String actName; @TableField(value = "depart_id") + @Dict(dictTable = "sys_department",dicCode = "depart_id",dicText = "depart_name") private String departId; @TableField(value = "approve_users") + @Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname") private String approveUsers; - @JsonIgnore - @TableField(value = "create_time", select = false, fill = FieldFill.INSERT) + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") + @TableField(value = "create_time", fill = FieldFill.INSERT) private Date createTime; - @JsonIgnore - @TableField(value = "update_time", select = false, fill = FieldFill.UPDATE) + @TableField(value = "update_time", fill = FieldFill.UPDATE) + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date updateTime; @JsonIgnore @TableField(value = "create_user", select = false, fill = FieldFill.INSERT) diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/entity/AssignFileStream.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/entity/AssignFileStream.java index 28464e7..7439e48 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/entity/AssignFileStream.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/entity/AssignFileStream.java @@ -6,6 +6,7 @@ import io.swagger.annotations.Api; import lombok.Data; import lombok.NoArgsConstructor; +import org.jeecg.common.aspect.annotation.Dict; import java.util.Date; @@ -45,6 +46,7 @@ @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date approveTime; @TableField(value = "status") + @Dict(dicCode = "dnc_assign_stream_status") private Integer status; @JsonIgnore @TableField(value = "create_time", select = false, fill = FieldFill.INSERT) diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/mapper/xml/AssignFileStreamMapper.xml b/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/mapper/xml/AssignFileStreamMapper.xml new file mode 100644 index 0000000..7f2fae5 --- /dev/null +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/mapper/xml/AssignFileStreamMapper.xml @@ -0,0 +1,89 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > +<mapper namespace="org.jeecg.modules.activiti.mapper.AssignFileStreamMapper"> + <select id="getAssignFileStreamDetail" resultType="org.jeecg.modules.activiti.ext.AssignFileStreamExt" parameterType="String"> + select a.stream_id + , a.product_id + , a.component_id + , a.parts_id + , a.process_id + , a.doc_id + , a.file_id + , a.device_id + , a.apply_user_id + , a.apply_reason + , a.apply_time + , a.approve_user_id + , a.approve_content + , a.approve_time + , a.status + , u1.realname as applyUser + , u2.realname as approveUser + , p.product_name as productName + , c.component_name as componentName + , pt.parts_name as partsName + , dc.doc_name as docName + , dc.publish_version as version + , dc.doc_suffix as docSuffix + , de.device_name as deviceName + from (select * from nc_assign_file_stream where stream_id=#{streamId}) a + left join sys_user u1 + on a.apply_user_id=u1.id + left join sys_user u2 + on a.approve_user_id=u2.id + left join nc_product_info p + on a.product_id=p.product_id + left join nc_component_info c + on a.component_id=c.component_id + left join nc_parts_info pt + on a.parts_id=pt.parts_id + left join nc_doc_info dc + on a.doc_id=dc.doc_id + left join nc_device_info de + on a.device_id=de.device_id + + </select> + + <select id="findByPage" resultType="org.jeecg.modules.activiti.ext.AssignFileStreamExt" parameterType="String"> + select a.stream_id + , a.product_id + , a.component_id + , a.parts_id + , a.process_id + , a.doc_id + , a.file_id + , a.device_id + , a.apply_user_id + , a.apply_reason + , a.apply_time + , a.approve_user_id + , a.approve_content + , a.approve_time + , a.status + , u1.realname as applyUser + , u2.realname as approveUser + , p.product_name as productName + , c.component_name as componentName + , pt.parts_name as partsName + , dc.doc_name as docName + , dc.publish_version as version + , dc.doc_suffix as docSuffix + , de.device_name as deviceName + from (select * from nc_assign_file_stream where delete_flag=0 and approve_time is not null) a + left join sys_user u1 + on a.apply_user_id=u1.id + left join sys_user u2 + on a.approve_user_id=u2.id + left join nc_product_info p + on a.product_id=p.product_id + left join nc_component_info c + on a.component_id=c.component_id + left join nc_parts_info pt + on a.parts_id=pt.parts_id + left join nc_doc_info dc + on a.doc_id=dc.doc_id + left join nc_device_info de + on a.device_id=de.device_id + ${ew.customSqlSegment} + </select> +</mapper> diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/service/IActivitiDefinitionService.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/service/IActivitiDefinitionService.java index db6f2a4..dc27d24 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/service/IActivitiDefinitionService.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/service/IActivitiDefinitionService.java @@ -1,6 +1,7 @@ package org.jeecg.modules.activiti.service; import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.common.api.vo.Result; import org.jeecg.modules.activiti.entity.ActivitiDefinition; import org.jeecg.modules.activiti.request.ActivitiDefinitionRequest; import org.jeecg.modules.dnc.response.QueryPageResponseResult; @@ -42,7 +43,7 @@ * @param request * @return */ - QueryPageResponseResult<ActivitiDefinition> findPageList(int page, int size, ActivitiDefinitionRequest request); + Result<?> findPageList(int page, int size, ActivitiDefinitionRequest request); /** * 鑾峰彇澶氫釜閮ㄩ棬鐨勫鎵逛汉 鍘婚噸 diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/service/IAssignFileStreamService.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/service/IAssignFileStreamService.java index f63b024..a3689cb 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/service/IAssignFileStreamService.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/service/IAssignFileStreamService.java @@ -1,6 +1,7 @@ package org.jeecg.modules.activiti.service; import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.common.api.vo.Result; import org.jeecg.modules.activiti.entity.AssignFileStream; import org.jeecg.modules.activiti.ext.ActTaskExt; import org.jeecg.modules.activiti.ext.AssignFileStreamExt; @@ -75,7 +76,7 @@ * @param size * @return */ - QueryPageResponseResult<AssignFileStreamExt> findPageList(int page, int size, AssignFileStreamQueryRequest request); + Result<?> findPageList(int page, int size, AssignFileStreamQueryRequest request); /** * 鏌ヨ鏂囨。鐨勫鎵硅褰� diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/service/impl/ActivitiDefinitionServiceImpl.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/service/impl/ActivitiDefinitionServiceImpl.java index 14402bc..34bc76c 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/service/impl/ActivitiDefinitionServiceImpl.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/service/impl/ActivitiDefinitionServiceImpl.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.jeecg.common.api.vo.Result; import org.jeecg.modules.activiti.entity.ActivitiDefinition; import org.jeecg.modules.activiti.mapper.ActivitiDefinitionMapper; import org.jeecg.modules.activiti.request.ActivitiDefinitionRequest; @@ -95,7 +96,7 @@ } @Override - public QueryPageResponseResult<ActivitiDefinition> findPageList(int page, int size, ActivitiDefinitionRequest request) { + public Result<?> findPageList(int page, int size, ActivitiDefinitionRequest request) { if(page < 1 || size < 1) { ExceptionCast.cast(CommonCode.INVALID_PAGE); } @@ -105,18 +106,10 @@ if(ValidateUtil.validateString(request.getActName())) { lambdaQuery.like(ActivitiDefinition::getActName, request.getActName()); } - - if(ValidateUtil.validateString(request.getAscStr())) { - String[] ascArr = request.getAscStr().split(","); -// ((Page<ActivitiDefinition>) pageData).setAsc(ascArr); - } - if(ValidateUtil.validateString(request.getDescStr())) { - String[] descStr = request.getDescStr().split(","); -// ((Page<ActivitiDefinition>) pageData).setDesc(descStr); - } } + lambdaQuery.orderByDesc(ActivitiDefinition::getCreateTime); IPage<ActivitiDefinition> definitionIPage = lambdaQuery.page(pageData); - return new QueryPageResponseResult<>(CommonCode.SUCCESS, definitionIPage); + return Result.ok(definitionIPage); } diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/service/impl/AssignFileStreamServiceImpl.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/service/impl/AssignFileStreamServiceImpl.java index 18c2067..61d343c 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/service/impl/AssignFileStreamServiceImpl.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/service/impl/AssignFileStreamServiceImpl.java @@ -16,6 +16,7 @@ import org.activiti.engine.task.Task; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; +import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.modules.activiti.entity.AssignFileStream; import org.jeecg.modules.activiti.entity.ToEquipmentTask; @@ -512,7 +513,7 @@ @Override public List<ActTaskExt> getUndoTaskList() { - LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); String userId = user.getId(); if(!ValidateUtil.validateString(userId)) return null; @@ -693,7 +694,7 @@ } @Override - public QueryPageResponseResult<AssignFileStreamExt> findPageList(int page, int size, AssignFileStreamQueryRequest request) { + public Result<?> findPageList(int page, int size, AssignFileStreamQueryRequest request) { if(page < 1 || size < 1) { ExceptionCast.cast(CommonCode.INVALID_PAGE); } @@ -716,7 +717,7 @@ } } IPage<AssignFileStreamExt> streamExtIPage = super.getBaseMapper().findByPage(pageData, lambdaQueryWrapper); - return new QueryPageResponseResult<>(CommonCode.SUCCESS, streamExtIPage); + return Result.ok(streamExtIPage); } @Override diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/controller/DepartmentController.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/controller/DepartmentController.java index b2db9da..73238d4 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/controller/DepartmentController.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/controller/DepartmentController.java @@ -3,12 +3,18 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.apache.shiro.SecurityUtils; +import org.jeecg.common.api.vo.Result; import org.jeecg.common.aspect.annotation.AutoLog; +import org.jeecg.common.constant.CommonConstant; +import org.jeecg.common.system.vo.LoginUser; +import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.dnc.request.DepartmentRequest; import org.jeecg.modules.dnc.response.*; import org.jeecg.modules.dnc.service.IDepartmentService; import org.jeecg.modules.dnc.ucenter.Department; import org.jeecg.modules.system.entity.SysUser; +import org.jeecg.modules.system.model.SysDepartTreeModel; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -144,4 +150,70 @@ list = Collections.emptyList(); return new QueryListResponseResult<>(CommonCode.SUCCESS, list); } + + + @AutoLog(value = "DNC閮ㄩ棬绠$悊-鑾峰彇鏍戠粨鏋�") + @ApiOperation(value = "DNC閮ㄩ棬绠$悊-鑾峰彇鏍戠粨鏋�", notes = "DNC閮ㄩ棬绠$悊-鑾峰彇鏍戠粨鏋�") + @GetMapping("/load/queryTreeList") + public QueryListResponseResult<CommonJsonTree> queryTreeList() { + List<CommonJsonTree> tree = departmentService.loadTree(); + if(tree == null) + tree = Collections.emptyList(); + return new QueryListResponseResult(CommonCode.SUCCESS, tree); + } + + /** + * 鏌ヨ鏁版嵁 鏌ュ嚭鎵�鏈夐儴闂�,骞朵互鏍戠粨鏋勬暟鎹牸寮忓搷搴旂粰鍓嶇 + * + * @return + */ + @GetMapping(value = "/queryTreeList") + public Result<List<DepartmentTreeModel>> queryTreeList(@RequestParam(name = "ids", required = false) String ids) { + Result<List<DepartmentTreeModel>> result = new Result<>(); + try { + // 浠庡唴瀛樹腑璇诲彇 +// List<SysDepartTreeModel> list =FindsDepartsChildrenUtil.getSysDepartTreeList(); +// if (CollectionUtils.isEmpty(list)) { +// list = sysDepartService.queryTreeList(); +// } + if(oConvertUtils.isNotEmpty(ids)){ + List<DepartmentTreeModel> departList = departmentService.queryTreeList(ids); + result.setResult(departList); + }else{ + List<DepartmentTreeModel> list = departmentService.queryTreeList(); + result.setResult(list); + } + result.setSuccess(true); + } catch (Exception e) { + log.error(e.getMessage(),e); + } + return result; + } + + /** + * <p> + * 閮ㄩ棬鎼滅储鍔熻兘鏂规硶,鏍规嵁鍏抽敭瀛楁ā绯婃悳绱㈢浉鍏抽儴闂� + * </p> + * + * @param keyWord + * @return + */ + @RequestMapping(value = "/searchBy", method = RequestMethod.GET) + public Result<List<DepartmentTreeModel>> searchBy(@RequestParam(name = "keyWord", required = true) String keyWord,@RequestParam(name = "myDeptSearch", required = false) String myDeptSearch) { + Result<List<DepartmentTreeModel>> result = new Result<List<DepartmentTreeModel>>(); + //閮ㄩ棬鏌ヨ锛宮yDeptSearch涓�1鏃朵负鎴戠殑閮ㄩ棬鏌ヨ锛岀櫥褰曠敤鎴蜂负涓婄骇鏃舵煡鍙煡璐熻矗閮ㄩ棬涓嬫暟鎹� + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + String departIds = null; + if(oConvertUtils.isNotEmpty(user.getUserIdentity()) && user.getUserIdentity().equals( CommonConstant.USER_IDENTITY_2 )){ + departIds = user.getDepartIds(); + } + List<DepartmentTreeModel> treeList = this.departmentService.searchByKeyWord(keyWord,myDeptSearch,departIds); + if (treeList == null || treeList.size() == 0) { + result.setSuccess(false); + result.setMessage("鏈煡璇㈠尮閰嶆暟鎹紒"); + return result; + } + result.setResult(treeList); + return result; + } } diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/controller/DocInfoController.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/controller/DocInfoController.java index 34d77c7..4bd22f2 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/controller/DocInfoController.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/controller/DocInfoController.java @@ -4,6 +4,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.modules.dnc.entity.DocFile; @@ -124,7 +125,7 @@ @AutoLog(value = "鏂囨。琛�-鍒嗛〉鏌ヨ鎺ュ彛") @ApiOperation(value = "鏂囨。琛�-鍒嗛〉鏌ヨ鎺ュ彛", notes = "鏂囨。琛�-鍒嗛〉鏌ヨ鎺ュ彛") @GetMapping("/find/page/{page}/{size}") - public QueryPageResponseResult<DocInfo> findPageList(@PathVariable("page") int page, @PathVariable("size") int size, DocInfoQueryRequest docQuery) { + public Result<?> findPageList(@PathVariable("page") int page, @PathVariable("size") int size, DocInfoQueryRequest docQuery) { return docInfoService.findPageList(page, size, docQuery); } diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/entity/DocInfo.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/entity/DocInfo.java index faa318f..417ec66 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/entity/DocInfo.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/entity/DocInfo.java @@ -5,6 +5,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; import lombok.NoArgsConstructor; +import org.jeecg.common.aspect.annotation.Dict; import java.util.Date; /** @@ -27,6 +28,7 @@ @TableField(value = "doc_suffix") private String docSuffix; @TableField(value = "doc_status") + @Dict(dicCode = "dnc_product_status") private Integer docStatus; @TableField(value = "publish_file_id") private String publishFileId; @@ -41,8 +43,10 @@ @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date updateTime; @TableField(value = "create_user",fill = FieldFill.INSERT) + @Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname") private String createUser; @TableField(value = "update_user", fill = FieldFill.UPDATE) + @Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname") private String updateUser; @JsonIgnore @TableLogic @@ -52,6 +56,7 @@ @TableField(exist = false) private String docClassCode; @TableField(exist = false) + @Dict(dicCode = "dnc_pull_status") private Integer pullStatus; @TableField(exist = false) private String pullUser; @@ -63,6 +68,7 @@ private String classificationId; //鍚屾鐘舵�� 1 鏈悓姝� 2 宸插悓姝� @TableField(exist = false) + @Dict(dicCode = "dnc_doc_sync_status") private Integer syncStatus; } diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/response/DepartmentModel.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/response/DepartmentModel.java new file mode 100644 index 0000000..fe9b18d --- /dev/null +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/response/DepartmentModel.java @@ -0,0 +1,100 @@ +package org.jeecg.modules.dnc.response; + +import org.jeecg.modules.dnc.ucenter.Department; +import org.jeecg.modules.system.entity.SysDepart; +import org.jeecg.modules.system.model.SysDepartTreeModel; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +/** + * <p> + * 閮ㄩ棬琛� 灏佽鏍戠粨鏋勭殑閮ㄩ棬鐨勫悕绉扮殑瀹炰綋绫� + * <p> + * + * @Author Steve + * @Since 2019-01-22 + * + */ +public class DepartmentModel implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 涓婚敭ID + */ + private String key; + + /** + * 涓婚敭ID + */ + private String value; + + /** + * 閮ㄩ棬鍚嶇О + */ + private String title; + + private List<DepartmentModel> children = new ArrayList<>(); + + /** + * 灏哾epartmentTreeModel鐨勯儴鍒嗘暟鎹斁鍦ㄨ瀵硅薄褰撲腑 + * @param departmentTreeModel + * @return + */ + public DepartmentModel convert(DepartmentTreeModel departmentTreeModel) { + this.key = departmentTreeModel.getDepartId(); + this.value = departmentTreeModel.getDepartId(); + this.title = departmentTreeModel.getDepartName(); + return this; + } + + /** + * 璇ユ柟娉曚负鐢ㄦ埛閮ㄩ棬鐨勫疄鐜扮被鎵�浣跨敤 + * @param department + * @return + */ + public DepartmentModel convertByUserDepart(Department department) { + this.key = department.getDepartId(); + this.value = department.getDepartId(); + this.title = department.getDepartName(); + return this; + } + + public List<DepartmentModel> getChildren() { + return children; + } + + public void setChildren(List<DepartmentModel> children) { + this.children = children; + } + + public static long getSerialVersionUID() { + return serialVersionUID; + } + + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } +} diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IDepartmentService.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IDepartmentService.java index 353b914..1d27e52 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IDepartmentService.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IDepartmentService.java @@ -2,10 +2,12 @@ import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.dnc.response.CommonJsonTree; +import org.jeecg.modules.dnc.response.DepartmentTreeModel; import org.jeecg.modules.dnc.response.QueryPageResponseResult; import org.jeecg.modules.dnc.ucenter.Department; import org.jeecg.modules.system.entity.SysUser; import org.jeecg.modules.dnc.request.DepartmentRequest; +import org.jeecg.modules.system.model.SysDepartTreeModel; import java.util.List; import java.util.Map; @@ -116,4 +118,28 @@ * @return */ boolean assignRemoveApproveUser(String departId, Integer relativeFlag, String[] userIds); + + /** + * 鏌ヨ鎵�鏈夐儴闂ㄤ俊鎭�,骞跺垎鑺傜偣杩涜鏄剧ず + * @return + */ + List<DepartmentTreeModel> queryTreeList(); + + + /** + * 鏌ヨ鎵�鏈夐儴闂ㄤ俊鎭�,骞跺垎鑺傜偣杩涜鏄剧ず + * @param ids 澶氫釜閮ㄩ棬id + * @return + */ + List<DepartmentTreeModel> queryTreeList(String ids); + + + /** + * 鏍规嵁鍏抽敭瀛楁悳绱㈢浉鍏崇殑閮ㄩ棬鏁版嵁 + * @param keyWord + * @param myDeptSearch + * @param departIds 澶氫釜閮ㄩ棬id + * @return + */ + List<DepartmentTreeModel> searchByKeyWord(String keyWord,String myDeptSearch,String departIds); } diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IDocInfoService.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IDocInfoService.java index 1f9eb45..aeaff4f 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IDocInfoService.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IDocInfoService.java @@ -1,6 +1,7 @@ package org.jeecg.modules.dnc.service; import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.common.api.vo.Result; import org.jeecg.modules.dnc.entity.DocFile; import org.jeecg.modules.dnc.entity.DocInfo; import org.jeecg.modules.dnc.entity.ProcessStream; @@ -95,7 +96,7 @@ * @param docQuery * @return */ - QueryPageResponseResult<DocInfo> findPageList(int page, int size, DocInfoQueryRequest docQuery); + Result<?> findPageList(int page, int size, DocInfoQueryRequest docQuery); /** * diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DepartmentServiceImpl.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DepartmentServiceImpl.java index 1f6bdf9..0c30322 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DepartmentServiceImpl.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DepartmentServiceImpl.java @@ -1,9 +1,13 @@ package org.jeecg.modules.dnc.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import io.netty.util.internal.StringUtil; +import org.jeecg.common.constant.CommonConstant; +import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.activiti.entity.ActivitiDefinition; import org.jeecg.modules.activiti.service.IActivitiDefinitionService; import org.jeecg.modules.dnc.dto.DepartApproveUser; @@ -14,16 +18,17 @@ import org.jeecg.modules.dnc.exception.ExceptionCast; import org.jeecg.modules.dnc.mapper.DepartmentMapper; import org.jeecg.modules.dnc.request.DepartmentRequest; -import org.jeecg.modules.dnc.response.CommonCode; -import org.jeecg.modules.dnc.response.CommonJsonTree; -import org.jeecg.modules.dnc.response.DepartmentCode; -import org.jeecg.modules.dnc.response.QueryPageResponseResult; +import org.jeecg.modules.dnc.response.*; import org.jeecg.modules.dnc.service.*; import org.jeecg.modules.dnc.service.support.DepartmentTreeWrapper; +import org.jeecg.modules.dnc.service.support.FindsDepartmentChildrenUtil; import org.jeecg.modules.dnc.ucenter.Department; import org.jeecg.modules.dnc.utils.ValidateUtil; +import org.jeecg.modules.system.entity.SysDepart; import org.jeecg.modules.system.entity.SysUser; +import org.jeecg.modules.system.model.SysDepartTreeModel; import org.jeecg.modules.system.service.ISysUserService; +import org.jeecg.modules.system.util.FindsDepartsChildrenUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -275,4 +280,65 @@ } return false; } + + /** + * 鏌ヨ鎵�鏈夐儴闂ㄤ俊鎭�,骞跺垎鑺傜偣杩涜鏄剧ず + * @return + */ + @Override + public List<DepartmentTreeModel> queryTreeList(){ + LambdaQueryWrapper<Department> query = new LambdaQueryWrapper<Department>(); + query.eq(Department::getDeleteFlag, CommonConstant.DEL_FLAG_0.toString()); + query.orderByAsc(Department::getPriority); + List<Department> list = this.list(query); + List<DepartmentTreeModel> listResult = FindsDepartmentChildrenUtil.wrapTreeDataToTreeList(list); + return listResult; + } + + + /** + * 鏌ヨ鎵�鏈夐儴闂ㄤ俊鎭�,骞跺垎鑺傜偣杩涜鏄剧ず + * @param ids 澶氫釜閮ㄩ棬id + * @return + */ + @Override + public List<DepartmentTreeModel> queryTreeList(String ids){ + List<DepartmentTreeModel> listResult=new ArrayList<>(); + LambdaQueryWrapper<Department> query = new LambdaQueryWrapper<Department>(); + query.eq(Department::getDeleteFlag, CommonConstant.DEL_FLAG_0.toString()); + if(oConvertUtils.isNotEmpty(ids)){ + query.in(true,Department::getDepartId,ids.split(",")); + } + query.orderByAsc(Department::getPriority); + List<Department> list= this.list(query); + for (Department department : list) { + listResult.add(new DepartmentTreeModel(department)); + } + return listResult; + } + + /** + * <p> + * 鏍规嵁鍏抽敭瀛楁悳绱㈢浉鍏崇殑閮ㄩ棬鏁版嵁 + * </p> + */ + @Override + public List<DepartmentTreeModel> searchByKeyWord(String keyWord,String myDeptSearch,String departIds) { + LambdaQueryWrapper<Department> query = new LambdaQueryWrapper<Department>(); + List<DepartmentTreeModel> newList = new ArrayList<>(); + query.like(Department::getDepartName, keyWord); + //update-begin--Author:huangzhilin Date:20140417 for锛歔bugfree鍙穄缁勭粐鏈烘瀯鎼滅储鍥炴樉浼樺寲-------------------- + DepartmentTreeModel model = new DepartmentTreeModel(); + List<Department> departList = this.list(query); + if(departList.size() > 0) { + for(Department depart : departList) { + model = new DepartmentTreeModel(depart); + model.setChildren(null); + //update-end--Author:huangzhilin Date:20140417 for锛歔bugfree鍙穄缁勭粐鏈烘瀯鎼滅储鍔熷洖鏄句紭鍖�---------------------- + newList.add(model); + } + return newList; + } + return null; + } } diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DocInfoServiceImpl.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DocInfoServiceImpl.java index 75f17d0..4a4c131 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DocInfoServiceImpl.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DocInfoServiceImpl.java @@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.shiro.SecurityUtils; import org.jeecg.common.api.vo.FileUploadResult; +import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.modules.dnc.exception.ExceptionCast; import org.jeecg.modules.dnc.mapper.DocInfoMapper; @@ -24,6 +25,7 @@ import org.jeecg.modules.dnc.entity.*; import org.jeecg.modules.dnc.response.*; +import org.jeecg.modules.system.service.ISysDictService; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; @@ -547,7 +549,7 @@ } @Override - public QueryPageResponseResult<DocInfo> findPageList(int page, int size, DocInfoQueryRequest docQuery) { + public Result<?> findPageList(int page, int size, DocInfoQueryRequest docQuery) { if(page < 1 || size < 1) { ExceptionCast.cast(CommonCode.INVALID_PAGE); } @@ -589,7 +591,7 @@ // ((Page<DocInfo>) pageData).setDesc(descStr); } IPage<DocInfo> docInfoIPage = super.getBaseMapper().findDocExtList(pageData, queryWrapper); - return new QueryPageResponseResult<>(CommonCode.SUCCESS, docInfoIPage); + return Result.ok(docInfoIPage); } @Override diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProductInfoServiceImpl.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProductInfoServiceImpl.java index ca7177f..5163cf5 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProductInfoServiceImpl.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProductInfoServiceImpl.java @@ -165,6 +165,7 @@ @Override public List<CommonGenericTree> loadProductTree(String userId) { + //todo 缈昏瘧鍒涘缓浜轰慨鏀逛汉 //浜у搧 List<ProductInfo> productInfoList = getByUserPerms(userId); if(productInfoList == null || productInfoList.isEmpty()) diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/support/FindsDepartmentChildrenUtil.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/support/FindsDepartmentChildrenUtil.java new file mode 100644 index 0000000..f104d6a --- /dev/null +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/support/FindsDepartmentChildrenUtil.java @@ -0,0 +1,116 @@ +package org.jeecg.modules.dnc.service.support; + +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.dnc.response.DepartmentModel; +import org.jeecg.modules.dnc.response.DepartmentTreeModel; +import org.jeecg.modules.dnc.ucenter.Department; + +import java.util.ArrayList; +import java.util.List; + +public class FindsDepartmentChildrenUtil { + //閮ㄩ棬鏍戜俊鎭�-鏍戠粨鏋� + //private static List<DepartmentTreeModel> sysDepartTreeList = new ArrayList<DepartmentTreeModel>(); + + //閮ㄩ棬鏍慽d-鏍戠粨鏋� + //private static List<DepartmentModel> idList = new ArrayList<>(); + + + /** + * queryTreeList鐨勫瓙鏂规硶 ====1===== + * 璇ユ柟娉曟槸s灏哠ysDepart绫诲瀷鐨刲ist闆嗗悎杞崲鎴怱ysDepartTreeModel绫诲瀷鐨勯泦鍚� + */ + public static List<DepartmentTreeModel> wrapTreeDataToTreeList(List<Department> recordList) { + // 鍦ㄨ鏂规硶姣忚姹備竴娆�,閮借瀵瑰叏灞�list闆嗗悎杩涜涓�娆℃竻鐞� + //idList.clear(); + List<DepartmentModel> idList = new ArrayList<DepartmentModel>(); + List<DepartmentTreeModel> records = new ArrayList<>(); + for (int i = 0; i < recordList.size(); i++) { + Department depart = recordList.get(i); + records.add(new DepartmentTreeModel(depart)); + } + List<DepartmentTreeModel> tree = findChildren(records, idList); + setEmptyChildrenAsNull(tree); + return tree; + } + + /** + * 鑾峰彇 DepartmentModel + * @param recordList + * @return + */ + public static List<DepartmentModel> wrapTreeDataToDepartIdTreeList(List<Department> recordList) { + // 鍦ㄨ鏂规硶姣忚姹備竴娆�,閮借瀵瑰叏灞�list闆嗗悎杩涜涓�娆℃竻鐞� + //idList.clear(); + List<DepartmentModel> idList = new ArrayList<DepartmentModel>(); + List<DepartmentTreeModel> records = new ArrayList<>(); + for (int i = 0; i < recordList.size(); i++) { + Department depart = recordList.get(i); + records.add(new DepartmentTreeModel(depart)); + } + findChildren(records, idList); + return idList; + } + + /** + * queryTreeList鐨勫瓙鏂规硶 ====2===== + * 璇ユ柟娉曟槸鎵惧埌骞跺皝瑁呴《绾х埗绫荤殑鑺傜偣鍒癟reeList闆嗗悎 + */ + private static List<DepartmentTreeModel> findChildren(List<DepartmentTreeModel> recordList, + List<DepartmentModel> departIdList) { + + List<DepartmentTreeModel> treeList = new ArrayList<>(); + for (int i = 0; i < recordList.size(); i++) { + DepartmentTreeModel branch = recordList.get(i); + if (oConvertUtils.isEmpty(branch.getParentId())) { + treeList.add(branch); + DepartmentModel DepartmentModel = new DepartmentModel().convert(branch); + departIdList.add(DepartmentModel); + } + } + getGrandChildren(treeList,recordList,departIdList); + + //idList = departIdList; + return treeList; + } + + /** + * queryTreeList鐨勫瓙鏂规硶====3==== + *璇ユ柟娉曟槸鎵惧埌椤剁骇鐖剁被涓嬬殑鎵�鏈夊瓙鑺傜偣闆嗗悎骞跺皝瑁呭埌TreeList闆嗗悎 + */ + private static void getGrandChildren(List<DepartmentTreeModel> treeList,List<DepartmentTreeModel> recordList,List<DepartmentModel> idList) { + + for (int i = 0; i < treeList.size(); i++) { + DepartmentTreeModel model = treeList.get(i); + DepartmentModel idModel = idList.get(i); + for (int i1 = 0; i1 < recordList.size(); i1++) { + DepartmentTreeModel m = recordList.get(i1); + if (m.getParentId()!=null && m.getParentId().equals(model.getDepartId())) { + model.getChildren().add(m); + DepartmentModel dim = new DepartmentModel().convert(m); + idModel.getChildren().add(dim); + } + } + getGrandChildren(treeList.get(i).getChildren(), recordList, idList.get(i).getChildren()); + } + + } + + + /** + * queryTreeList鐨勫瓙鏂规硶 ====4==== + * 璇ユ柟娉曟槸灏嗗瓙鑺傜偣涓虹┖鐨凩ist闆嗗悎璁剧疆涓篘ull鍊� + */ + private static void setEmptyChildrenAsNull(List<DepartmentTreeModel> treeList) { + + for (int i = 0; i < treeList.size(); i++) { + DepartmentTreeModel model = treeList.get(i); + if (model.getChildren().size() == 0) { + model.setChildren(null); + }else{ + setEmptyChildrenAsNull(model.getChildren()); + } + } + // sysDepartTreeList = treeList; + } +} -- Gitblit v1.9.3