From 29fad707848e50a3b9b42dd02f283bb1c16be23f Mon Sep 17 00:00:00 2001 From: wgd <862422848@qq.com> Date: Fri, 24 Dec 2021 15:47:54 +0800 Subject: [PATCH] 一、审批流程内的表单设计正文编辑框添加office编辑框(可以插入图片、表格功能。 五、新建审批的流程基础内的“谁可以发起这个审批-部分-部门添加”功能无法使用。(已注释) --- src/main/java/cn/timer/api/bean/zzgl/ZzglBmgwM.java | 19 +++++++++++-------- src/main/java/cn/timer/api/controller/htzz/HtzzController.java | 4 ++-- src/main/java/cn/timer/api/controller/oss/OSSController.java | 9 +++++++++ src/main/java/cn/timer/api/controller/zzgl/ZzglController.java | 173 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------- src/main/java/cn/timer/api/utils/aliyun/OSSUtil.java | 8 ++++---- 5 files changed, 119 insertions(+), 94 deletions(-) diff --git a/src/main/java/cn/timer/api/bean/zzgl/ZzglBmgwM.java b/src/main/java/cn/timer/api/bean/zzgl/ZzglBmgwM.java index 3e74ea1..5fb68f4 100644 --- a/src/main/java/cn/timer/api/bean/zzgl/ZzglBmgwM.java +++ b/src/main/java/cn/timer/api/bean/zzgl/ZzglBmgwM.java @@ -5,11 +5,9 @@ import java.util.Date; import java.util.List; import java.util.stream.Stream; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.Id; -import javax.persistence.Table; +import javax.persistence.*; +import cn.timer.api.bean.yggl.YgglMainEmp; import com.alibaba.druid.sql.ast.expr.SQLCaseExpr.Item; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; @@ -79,6 +77,11 @@ public class ZzglBmgwM extends Model<ZzglBmgwM> { @ApiModelProperty(value = "创建时间 ", example = "2019-10-01") private Date createTime; + @Transient + @TableField(exist = false) + @ApiModelProperty(value = "员工列表") + private List<YgglMainEmp> userList; + // 遍历,获取旗下所有子部门和岗位id public static void getupDepts(ArrayList<Integer> list, Integer objId, List<ZzglBmgwM> objs) { if (objId != null) { @@ -115,7 +118,7 @@ public class ZzglBmgwM extends Model<ZzglBmgwM> { } } } - - - -} \ No newline at end of file + + + +} diff --git a/src/main/java/cn/timer/api/controller/htzz/HtzzController.java b/src/main/java/cn/timer/api/controller/htzz/HtzzController.java index 5e1a237..1c90118 100644 --- a/src/main/java/cn/timer/api/controller/htzz/HtzzController.java +++ b/src/main/java/cn/timer/api/controller/htzz/HtzzController.java @@ -316,10 +316,10 @@ public class HtzzController { try { zipUrl = oss.createZip(url); return ResultUtil.data(zipUrl); - } catch (Exception e) { + } catch (IOException e) { e.printStackTrace(); + return ResultUtil.error("操作失败"); } - return ResultUtil.error("操作失败"); } @GetMapping(value = "/exportContract") diff --git a/src/main/java/cn/timer/api/controller/oss/OSSController.java b/src/main/java/cn/timer/api/controller/oss/OSSController.java index bda7567..f8d90f3 100644 --- a/src/main/java/cn/timer/api/controller/oss/OSSController.java +++ b/src/main/java/cn/timer/api/controller/oss/OSSController.java @@ -167,4 +167,13 @@ public class OSSController { // return ResultUtil.success("删除成功"); // } + + @PostMapping(value = "/uploadOss") + @ApiOperation(value = "上传普通文件", httpMethod = "POST", notes = "接口发布说明") + @ResponseBody + public Result<String> uploadOss(@CurrentUser UserBean userBean, @RequestParam(required = false) String moudle, @Param("file") MultipartFile file) throws Exception { + Result<String> data = ossService.upload(userBean.getOrgCode(), moudle, file); + + return data; + } } diff --git a/src/main/java/cn/timer/api/controller/zzgl/ZzglController.java b/src/main/java/cn/timer/api/controller/zzgl/ZzglController.java index 2e4ae46..61960ea 100644 --- a/src/main/java/cn/timer/api/controller/zzgl/ZzglController.java +++ b/src/main/java/cn/timer/api/controller/zzgl/ZzglController.java @@ -68,22 +68,22 @@ public class ZzglController { @Autowired ZzglBmgwMService zzglBmgwMService; - + @Autowired ZzglBmgwMMapper zzglBmgwMMapper; - + @Autowired ZzglPostMenuMapper zzglPostMenuMapper; @Autowired ZzglLogDgjlMapper zzglLogDgjlMapper; - + @Autowired YgglMainEmpMapper ygglMainEmpMapper; /** * 架构树/架构图/导出 - * + * * @param * @return */ @@ -95,10 +95,10 @@ public class ZzglController { .eq(ZzglBmgwM::getOrgCode, orgCode).list(); return ResultUtil.data(zzglBmgwMs); } - + /** * 获取部门岗位-升级版 - * + * * @param * @return */ @@ -109,13 +109,13 @@ public class ZzglController { Integer orgCode = userBean.getOrgCode(); List<ZzglBmgwM> zzglBmgwMs = new LambdaQueryChainWrapper<ZzglBmgwM>(zzglBmgwMMapper) .eq(ZzglBmgwM::getOrgCode, orgCode).list(); - + // 构建node列表 // List<TreeNode<String>> nodeList = CollUtil.newArrayList(); // zzglBmgwMs.forEach(z -> { // nodeList.add(new TreeNode<>(Convert.toStr(z.getId()), Convert.toStr(z.getUpId()), z.getName(), 0)); // }); - + //配置 TreeNodeConfig treeNodeConfig = new TreeNodeConfig(); // 自定义属性名 都要默认值的 @@ -136,16 +136,29 @@ public class ZzglController { tree.putExtra("type", treeNode.getType()); // tree.putExtra("other", new Object()); }); - - - + + + // System.out.println(treeNodes); // System.out.println(treeNodes.size()); // System.out.println(deep2(treeNodes)); - + return ResultUtil.data(treeNodes); } - + + @GetMapping(value = "/deptlist_ultra") + @ApiOperation(value = "获取部门岗位", httpMethod = "GET", notes = "接口发布说明") + public Result<List<ZzglBmgwM>> deptlist_plusUltra(@CurrentUser UserBean userBean) { + Integer orgCode = userBean.getOrgCode(); + List<ZzglBmgwM> zzglBmgwMs = new LambdaQueryChainWrapper<ZzglBmgwM>(zzglBmgwMMapper) + .eq(ZzglBmgwM::getOrgCode, orgCode).list(); + zzglBmgwMs.forEach(z->{ + if(z.getType()==1){ + z.setUserList(new LambdaQueryChainWrapper<YgglMainEmp>(ygglMainEmpMapper).eq(YgglMainEmp::getBmgwId,z.getId()).list()); + } + }); + return ResultUtil.data(zzglBmgwMs); + } // 非递归,利用树的层次遍历 // public static int deep2(List<Tree<String>> treeNodes) { // if(treeNodes == null) @@ -164,13 +177,13 @@ public class ZzglController { // System.out.println("temp = "+ temp); // } // } -// +// // return depth; // } - + /** * 获取部门 - * + * * @param * @return */ @@ -183,7 +196,7 @@ public class ZzglController { .eq(ZzglBmgwM::getOrgCode, orgCode).list(); if (CollectionUtil.isNotEmpty(zzglBmgwMs)) { zzglBmgwMs = zzglBmgwMs.stream().filter(z -> z.getType() == 0).collect(Collectors.toList()); - + if (CollectionUtil.isNotEmpty(zzglBmgwMs)) { //配置 TreeNodeConfig treeNodeConfig = new TreeNodeConfig(); @@ -200,17 +213,17 @@ public class ZzglController { // 扩展属性 ... tree.putExtra("leader", treeNode.getLeader()); tree.putExtra("type", treeNode.getType()); - + }); - + return ResultUtil.data(treeNodes); } - + } - + return ResultUtil.success(); } - + @GetMapping(value = "/depts") @ApiOperation(value = "2.获取部门", httpMethod = "GET", notes = "接口发布说明") @ApiOperationSupport(order = 2) @@ -225,7 +238,7 @@ public class ZzglController { /** * 岗位成员 - * + * * @param 部门岗位id * @return */ @@ -260,7 +273,7 @@ public class ZzglController { /** * 获取调岗记录(weng) - * + * * @param 部门岗位id * @return */ @@ -292,7 +305,7 @@ public class ZzglController { /** * 未设置岗位的成员 - * + * * @return */ @GetMapping(value = "/listent") @@ -315,7 +328,7 @@ public class ZzglController { /** * 添加/修改部门岗位 - * + * * @param * @return */ @@ -323,7 +336,7 @@ public class ZzglController { @ApiOperation(value = "添加/修改部门", httpMethod = "POST", notes = "接口发布说明") @Log(title = "添加/修改-部门", businessType = BusinessType.INSERT_UPDATE) public Result<ZzglBmgwM> adddept(@CurrentUser UserBean userBean, @RequestBody ZzglBmgwM zzglBmgwM) { - + Integer count = zzglBmgwMMapper.selectCount(new QueryWrapper<ZzglBmgwM>().lambda() .eq(ZzglBmgwM::getOrgCode, userBean.getOrgCode())); if (count <= 0) { @@ -336,15 +349,15 @@ public class ZzglController { return ResultUtil.error("部门名称上级不能为岗位"); } } - if (zzglBmgwM.getLeader() == null && StrUtil.length(StrUtil.trim(zzglBmgwM.getName())) == 0) + if (zzglBmgwM.getLeader() == null && StrUtil.length(StrUtil.trim(zzglBmgwM.getName())) == 0) return ResultUtil.error("部门名称不能为空"); - + Boolean notId = zzglBmgwM.getId() == null; if (notId && zzglBmgwM.getType() == null) zzglBmgwM.setType((Integer) 0); zzglBmgwM.setOrgCode(userBean.getOrgCode()); zzglBmgwM.insertOrUpdate(); - + return notId ? ResultUtil.data(zzglBmgwM) : ResultUtil.success(); } /** @@ -377,7 +390,7 @@ public class ZzglController { /** * 删除部门岗位 - * + * * @param 部门岗位ids [1,2,3,4] * @return */ @@ -386,7 +399,7 @@ public class ZzglController { @Log(title = "删除-部门岗位", businessType = BusinessType.DELETE) public Result<Integer> deldepts(@CurrentUser UserBean userBean, @RequestBody List<Integer> ids) { YgglMainEmp ygglMainEmp = YgglMainEmp.builder().build(); - + zzglLogDgjlMapper.insertbydeldept(ids, userBean.getEmpNum()); ygglMainEmp.update(new UpdateWrapper<YgglMainEmp>().lambda() .set(YgglMainEmp::getBmgwId, null) @@ -398,7 +411,7 @@ public class ZzglController { /** * 批量修改/删除员工部门 - * + * * @param 部门岗位id * @return */ @@ -418,7 +431,7 @@ public class ZzglController { .eq(ZzglBmgwM::getOrgCode, userBean.getOrgCode()) .in(ZzglBmgwM::getLeader, empNums)); } - + ygglMainEmp.update(new UpdateWrapper<YgglMainEmp>().lambda() .set(YgglMainEmp::getBmgwId, dpetId).set(YgglMainEmp::getBmgwName, upEmpDeptDto.getDept()) .eq(YgglMainEmp::getOrgCode, userBean.getOrgCode()).in(YgglMainEmp::getEmpNum, empNums)); @@ -431,10 +444,10 @@ public class ZzglController { } return ResultUtil.success(); } - + /** * 岗位权限 - * + * * @param 部门岗位id * @return */ @@ -453,9 +466,9 @@ public class ZzglController { wp.select(ZzglAuth::getMenuId, ZzglAuth::getBmgwId).eq(ZzglAuth::getOrgCode, orgCode) .and(i -> i.in(ZzglAuth::getBmgwId, list.toArray())); List<ZzglAuth> zas = ZzglAuth.builder().build().selectList(wp); - - - + + + List<MenuStructureDto> mestrs = new ArrayList<MenuStructureDto>(); List<QyzxAdminMenu> qyme = QyzxAdminMenu.builder().build().selectList(new QueryWrapper<QyzxAdminMenu>().lambda().eq(QyzxAdminMenu::getOrgCode, userBean.getOrgCode()).orderByAsc(QyzxAdminMenu::getSortNumber)); String[] zdy = new String[qyme.size()]; @@ -470,11 +483,11 @@ public class ZzglController { mestrs.add(metr); zdy[i] = me.getMenuCode(); i++; - } + } // List<AdminMenuTemplate> adtes = AdminMenuTemplate.builder().build().selectList(new QueryWrapper<AdminMenuTemplate>().lambda().eq(AdminMenuTemplate::getEnable, 1).orderByAsc(AdminMenuTemplate::getSortNumber)); for(AdminMenuTemplate adm : adtes) { - + if(!ClockInTool.useArrayUtils(ClockInTool.deleteArrayNull(zdy), adm.getMenuCode())) { if(adm.getDistribution() == 0 && userBean.getOrgCode() == 3) { MenuStructureDto metr = MenuStructureDto.builder().build(); @@ -493,7 +506,7 @@ public class ZzglController { } } } - + List<ZzglAuth> zas_ = new ArrayList<ZzglAuth>(); String[] qhf = new String[mestrs.size()]; int y = 0; @@ -506,11 +519,11 @@ public class ZzglController { zas_.add(zd); qhf[y] = zg.getMenuId(); y++; - break; + break; } } } - + for(ZzglAuth zg : zas) { if(!ClockInTool.useArrayUtils(ClockInTool.deleteArrayNull2(qhf), zg.getMenuId())) { ZzglAuth zd = ZzglAuth.builder().build(); @@ -519,15 +532,15 @@ public class ZzglController { zas_.add(zd); } } - - + + return ResultUtil.data(zas_); } } /** * 批量修改/删除岗位权限 - * + * * @param 部门岗位id * @param 菜单ids * @return @@ -547,35 +560,35 @@ public class ZzglController { }); return ResultUtil.success(); } - + @Autowired private ZzglMenuMapper zzglMenuMapper; - + /** * 获取-菜单权限列表 - * + * * @return */ @GetMapping(value = "/menu") @ApiOperation(value = "获取-菜单权限列表", httpMethod = "GET", notes = "接口发布说明") public Result<List<ZzglMenu>> selectMenu(@CurrentUser UserBean userBean) { - + List<ZzglMenu> list = zzglMenuMapper.selectList(null); - + return ResultUtil.data(list); } - + /** * 获取-菜单权限-搜索 - * + * * @return */ // @PostMapping(value = "/querymenu") // @ApiOperation(value = "获取-菜单权限-搜索", httpMethod = "POST", notes = "接口发布说明") // public Result<List<Tree<String>>> queryMenu(@CurrentUser UserBean userBean,@RequestBody ZzglMenuQueryDto zzglMenuQueryDto) { -// +// // List<ZzglMenu> list = zzglMenuMapper.queryList(zzglMenuQueryDto); -// +// // //配置 // TreeNodeConfig treeNodeConfig = new TreeNodeConfig(); // // 自定义属性名 都要默认值的 @@ -603,104 +616,104 @@ public class ZzglController { // tree.putExtra("visible", treeNode.getVisible()); //// tree.putExtra("other", new Object()); // }); -// +// // return ResultUtil.data(treeNodes); // } - + /** * 新增-菜单权限 - * + * * @param 部门岗位id * @return */ @PostMapping(value = "/menu") @ApiOperation(value = "新增-菜单权限", httpMethod = "POST", notes = "接口发布说明") public Result<List<ZzglMenu>> insertPostMenus(@Validated @RequestBody ZzglMenu zzglMenu) { - + Integer conut = zzglMenuMapper.selectCount(new QueryWrapper<ZzglMenu>().lambda() .eq(ZzglMenu::getMenuId, zzglMenu.getParentId())); if (conut <= 0) { return ResultUtil.error("上级权限不存在!"); } - + return zzglMenu.insert() ? ResultUtil.success() : ResultUtil.error(); } - + /** * 删除-菜单权限 - * + * * @param 部门岗位id * @return */ @DeleteMapping(value = "/menu/{id}") @ApiOperation(value = "删除-菜单权限", httpMethod = "DELETE", notes = "接口发布说明") public Result<List<ZzglMenu>> deletePostMenus(@Validated @RequestBody Integer id) { - + return zzglMenuMapper.deleteById(id) > 0 ? ResultUtil.success() : ResultUtil.error(); } - + /** * 修改-菜单权限 - * + * * @param 部门岗位id * @return */ @PutMapping(value = "/menu/{id}") @ApiOperation(value = "修改-菜单权限", httpMethod = "PUT", notes = "接口发布说明") public Result<List<ZzglMenu>> updatePostMenus(@Validated @RequestBody ZzglMenu zzglMenu) { - + return zzglMenu.updateById() ? ResultUtil.success() : ResultUtil.error(); } - + /** * 获取-该岗位的菜单权限 - * + * * @param 部门岗位id * @return */ @GetMapping(value = "/menu/{id}") @ApiOperation(value = "获取-该岗位的菜单权限", httpMethod = "GET", notes = "接口发布说明") public Result<List<Integer>> selectMenuByPostId(@CurrentUser UserBean userBean,@PathVariable Integer id) { - + return ResultUtil.data(zzglBmgwMService.selectMenuByPostId(id)); } - + /** * 修改-该岗位的菜单权限 - * + * * @param 部门岗位id * @return */ @PutMapping(value = "/post_menu") @ApiOperation(value = "修改-该岗位的菜单权限", httpMethod = "PUT", notes = "接口发布说明") public Result<List<ZzglMenu>> updatePostMenus(@CurrentUser UserBean userBean,@RequestBody ZzglPostMenuDto zzglPostMenuDto) { - + Integer delCount = zzglPostMenuMapper.delete(new QueryWrapper<ZzglPostMenu>().lambda() .eq(ZzglPostMenu::getBmgwId, zzglPostMenuDto.getId())); Integer updateCount = zzglPostMenuMapper.insertPostMenus(zzglPostMenuDto.getId(),zzglPostMenuDto.getMenus()); - + return ResultUtil.success(); } - - + + @GetMapping(value = "/appdeptlist") @ApiOperation(value = "APP获取部门岗位", httpMethod = "GET", notes = "接口发布说明") public Result<Object> selectapplistdept(@CurrentUser UserBean userBean) { Integer orgCode = userBean.getOrgCode(); List<ObtainDepartmentDto> tmen = new ArrayList<ObtainDepartmentDto>(); - + List<ZzglBmgwM> zzglbmgwms = new LambdaQueryChainWrapper<ZzglBmgwM>(zzglBmgwMMapper) .eq(ZzglBmgwM::getOrgCode, userBean.getOrgCode()).eq(ZzglBmgwM::getType, 0).list(); for(ZzglBmgwM gw : zzglbmgwms) { ObtainDepartmentDto tm = ObtainDepartmentDto.builder().build(); BeanUtil.copyProperties(gw, tm); - + List<DepartmentStaffDto> destff = ygglMainEmpMapper.DepartmentStaff(orgCode,gw.getId()); tm.setUser(destff); - + tmen.add(tm); } - + return ResultUtil.data(tmen); } } diff --git a/src/main/java/cn/timer/api/utils/aliyun/OSSUtil.java b/src/main/java/cn/timer/api/utils/aliyun/OSSUtil.java index fee3bcf..f9f0f9c 100644 --- a/src/main/java/cn/timer/api/utils/aliyun/OSSUtil.java +++ b/src/main/java/cn/timer/api/utils/aliyun/OSSUtil.java @@ -584,7 +584,7 @@ public class OSSUtil { * @Description 创建zip * @Date 2021/12/2 18:06 **/ - public String createZip(Map<String, String> urlMap) throws Exception { + public String createZip(Map<String, String> urlMap) throws IOException { DateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); String fileName = dateFormat.format(new Date()) + ".zip"; FileOutputStream fos = null; @@ -613,12 +613,12 @@ public class OSSUtil { zos.write(buffer, 0, nNumber); } } catch (IOException e) { - throw new Exception("写入失败");//TODO 应作为自定义异常 + throw new IOException("写入失败");//TODO 应作为自定义异常 } finally { try { inputStream.close(); } catch (IOException e) { - throw new Exception("关闭失败");//TODO 应作为自定义异常 + throw new IOException("关闭失败");//TODO 应作为自定义异常 } } } @@ -636,7 +636,7 @@ public class OSSUtil { fos.close(); } } catch (IOException e) { - throw new Exception("关闭失败");//TODO 应作为自定义异常 + throw new IOException("关闭失败");//TODO 应作为自定义异常 } } return fileName; -- libgit2 0.26.0