Merge remote-tracking branch 'origin/master'

This commit is contained in:
wangzhijiang
2022-03-04 15:10:03 +08:00
44 changed files with 965 additions and 836 deletions
@@ -146,6 +146,13 @@ public interface CommonConstant {
*/
public static final Integer USER_UNFREEZE = 1;
public static final Integer USER_FREEZE = 2;
/**
* 员工种类(1-正式工,2-临时工)
*/
public static final String WORKER_TYPE_1 = "1";
public static final String WORKER_TYPE_2 = "2";
/**字典翻译文本后缀*/
public static final String DICT_TEXT_SUFFIX = "_dictText";
@@ -47,6 +47,7 @@ public class OnlCgformField implements Serializable {
private Integer orderNum;
private String updateBy;
private String showArea;
private String dictId;
@JsonFormat(
timezone = "GMT+8",
pattern = "yyyy-MM-dd HH:mm:ss"
@@ -75,6 +76,14 @@ public class OnlCgformField implements Serializable {
private String queryMustInput;
private String sortFlag;
public String getDictId() {
return dictId;
}
public void setDictId(String dictId) {
this.dictId = dictId;
}
public String getShowArea() {
return showArea;
}
@@ -48,7 +48,7 @@ import java.util.stream.Collectors;
public class SysCategoryController {
@Autowired
private ISysCategoryService sysCategoryService;
/**
* 分页列表查询
* @param sysCategory
@@ -67,7 +67,7 @@ public class SysCategoryController {
sysCategory.setPid("0");
}
Result<IPage<SysCategory>> result = new Result<IPage<SysCategory>>();
//--author:os_chengtgen---date:20190804 -----for: 分类字典页面显示错误,issues:377--------start
//QueryWrapper<SysCategory> queryWrapper = QueryGenerator.initQueryWrapper(sysCategory, req.getParameterMap());
QueryWrapper<SysCategory> queryWrapper = new QueryWrapper<SysCategory>();
@@ -126,7 +126,7 @@ public class SysCategoryController {
}
return result;
}
/**
* 编辑
* @param sysCategory
@@ -145,7 +145,7 @@ public class SysCategoryController {
}
return result;
}
/**
* 通过id删除
* @param id
@@ -162,10 +162,10 @@ public class SysCategoryController {
this.sysCategoryService.deleteSysCategory(id);
result.success("删除成功!");
}
return result;
}
/**
* 批量删除
* @param ids
@@ -183,7 +183,7 @@ public class SysCategoryController {
}
return result;
}
/**
* 通过id查询
* @param id
@@ -285,9 +285,9 @@ public class SysCategoryController {
}
return Result.error("文件导入失败!");
}
/**
* 加载单个数据 用于回显
*/
@@ -296,7 +296,7 @@ public class SysCategoryController {
public Result<SysCategory> loadOne(@RequestParam(name="field") String field,@RequestParam(name="val") String val) {
Result<SysCategory> result = new Result<SysCategory>();
try {
QueryWrapper<SysCategory> query = new QueryWrapper<SysCategory>();
query.eq(field, val);
List<SysCategory> ls = this.sysCategoryService.list(query);
@@ -317,7 +317,7 @@ public class SysCategoryController {
}
return result;
}
/**
* 加载节点的子数据
*/
@@ -336,7 +336,7 @@ public class SysCategoryController {
}
return result;
}
/**
* 加载一级节点/如果是同步 则所有数据
*/
@@ -358,7 +358,7 @@ public class SysCategoryController {
}
return result;
}
/**
* 递归求子节点 同步加载用到
*/
@@ -518,7 +518,7 @@ public class SysCategoryController {
@GetMapping("/getSysCategoryTree")
public Result getSysCategoryTree() {
return sysCategoryService.getSysCategoryTree();
return Result.OK(sysCategoryService.getSysCategoryTree());
}
}
@@ -1,20 +1,14 @@
package com.jero.modules.system.controller;
import java.io.IOException;
import java.util.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jero.common.system.vo.SysDepartTreeModel;
import org.apache.shiro.SecurityUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.jero.common.api.vo.Result;
import com.jero.common.constant.CacheConstant;
import com.jero.common.constant.CommonConstant;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.util.JwtUtil;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.system.vo.SysDepartTreeModel;
import com.jero.common.util.ImportExcelUtil;
import com.jero.common.util.YouBianCodeUtil;
import com.jero.common.util.oConvertUtils;
@@ -24,6 +18,9 @@ import com.jero.modules.system.model.DepartIdModel;
import com.jero.modules.system.service.ISysDepartService;
import com.jero.modules.system.service.ISysUserDepartService;
import com.jero.modules.system.service.ISysUserService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
@@ -38,9 +35,10 @@ import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.extern.slf4j.Slf4j;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.*;
/**
* <p>
@@ -299,6 +297,12 @@ public class SysDepartController {
//Step.2 AutoPoi 导出Excel
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
List<SysDepart> pageList = sysDepartService.list(queryWrapper);
for(SysDepart depart : pageList){
if(StringUtils.isNotBlank(depart.getParentId())){
SysDepart parentDepart = sysDepartService.getById(depart.getParentId());
depart.setParentName(parentDepart.getDepartName());
}
}
//按字典排序
Collections.sort(pageList, new Comparator<SysDepart>() {
@Override
@@ -335,7 +335,7 @@ public class SysDictController {
return result;
}
/**
* 查询选项内容--数据字典名称
* 查询被删除的列表
* @return
*/
@GetMapping(value = "/deleteList")
@@ -602,9 +602,10 @@ public class SysDictController {
}
/**
* 查询被删除的列表
* @return
* 查询选项内容
*
*/
@GetMapping(value = "/queryDictName")
public Result<List<SysDict>> queryDictName(SysDict sysDict) {
@@ -3,35 +3,36 @@ package com.jero.modules.system.controller;
import cn.hutool.core.util.RandomUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.apache.shiro.authz.annotation.RequiresRoles;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.PermissionData;
import com.jero.common.constant.CommonConstant;
import com.jero.common.system.api.ISysBaseAPI;
import com.jero.modules.base.service.BaseCommonService;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.util.JwtUtil;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.*;
import com.jero.common.util.ImportExcelUtil;
import com.jero.common.util.PasswordUtil;
import com.jero.common.util.RedisUtil;
import com.jero.common.util.oConvertUtils;
import com.jero.modules.base.service.BaseCommonService;
import com.jero.modules.system.entity.*;
import com.jero.modules.system.model.DepartIdModel;
import com.jero.modules.system.model.SysUserSysDepartModel;
import com.jero.modules.system.service.*;
import com.jero.modules.system.vo.SysDepartUsersVO;
import com.jero.modules.system.vo.SysUserRoleVO;
import org.apache.shiro.subject.Subject;
import org.checkerframework.framework.qual.RequiresQualifier;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
@@ -61,6 +62,7 @@ import java.util.stream.Collectors;
*/
@Slf4j
@RestController
@Api(tags = "用户管理")
@RequestMapping("/sys/user")
public class SysUserController {
@Autowired
@@ -104,6 +106,7 @@ public class SysUserController {
* @param req
* @return
*/
@ApiOperation(value = "用户管理-分页查询")
@RequiresPermissions("sys:user:list")
@PermissionData(pageComponent = "system/UserList")
@RequestMapping(value = "/page", method = RequestMethod.GET)
@@ -647,6 +650,7 @@ public class SysUserController {
/**
* 部门用户列表
*/
@ApiOperation(value = "用户管理-查询组织下的用户列表")
@RequestMapping(value = "/departUserList", method = RequestMethod.GET)
@RequiresPermissions("sys:user:list")
public Result<IPage<SysUser>> departUserList(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@@ -654,16 +658,20 @@ public class SysUserController {
Result<IPage<SysUser>> result = new Result<IPage<SysUser>>();
Page<SysUser> page = new Page<SysUser>(pageNo, pageSize);
String depId = req.getParameter("depId");
String username = req.getParameter("username");
// String username = req.getParameter("username");
String username = null;
//根据部门ID查询,当前和下级所有的部门IDS
List<String> subDepids = new ArrayList<>();
//部门id为空时,查询我的部门下所有用户
if(oConvertUtils.isEmpty(depId)){
LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
int userIdentity = user.getUserIdentity() != null?user.getUserIdentity():CommonConstant.USER_IDENTITY_1;
if(oConvertUtils.isNotEmpty(userIdentity) && userIdentity == CommonConstant.USER_IDENTITY_2 ){
subDepids = sysDepartService.getMySubDepIdsByDepId(user.getDepartIds());
}
LambdaQueryWrapper<SysDepart> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_0);
subDepids = sysDepartService.list(queryWrapper).stream().map(SysDepart::getId).collect(Collectors.toList());
// LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
// int userIdentity = user.getUserIdentity() != null?user.getUserIdentity():CommonConstant.USER_IDENTITY_1;
// if(oConvertUtils.isNotEmpty(userIdentity) && userIdentity == CommonConstant.USER_IDENTITY_2 ){
// subDepids = sysDepartService.getMySubDepIdsByDepId(user.getDepartIds());
// }
}else{
subDepids = sysDepartService.getSubDepIdsByDepId(depId);
}
@@ -13,10 +13,14 @@ public class SysCategoryTreeVO {
private String id;
private String key;
private String parentId;
private String title;
private String dictId;
private List<SysCategoryTreeVO> children;
}
@@ -1,11 +1,11 @@
package com.jero.modules.system.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import com.jero.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
@@ -32,46 +32,49 @@ public class SysDepart implements Serializable {
/**父机构ID*/
private String parentId;
/**机构/部门名称*/
@Excel(name="机构/部门名称",width=15)
@Excel(name="机构名称",width=15)
private String departName;
/**英文名*/
@Excel(name="英文名",width=15)
// @Excel(name="英文名",width=15)
private String departNameEn;
/**缩写*/
private String departNameAbbr;
/**排序*/
@Excel(name="排序",width=15)
private Integer departOrder;
/**描述*/
@Excel(name="描述",width=15)
// @Excel(name="描述",width=15)
private String description;
/**机构类别 1公司,2组织机构,2岗位*/
@Excel(name="机构类别",width=15,dicCode="org_category")
private String orgCategory;
/**机构类型*/
private String orgType;
@Excel(name = "上级部门", width = 15)
@TableField(exist = false)
private String parentName;
/**机构编码*/
@Excel(name="机构编码",width=15)
private String orgCode;
/**机构类别 1公司,2组织机构,2岗位*/
@Excel(name="机构类型",width=15,dicCode="org_category")
private String orgCategory;
/**排序*/
@Excel(name="排序",width=15)
private Integer departOrder;
/**父级机构编码*/
private String parentCode;
/**手机号*/
@Excel(name="手机号",width=15)
// @Excel(name="手机号",width=15)
private String mobile;
/**传真*/
@Excel(name="传真",width=15)
// @Excel(name="传真",width=15)
private String fax;
/**地址*/
@Excel(name="地址",width=15)
// @Excel(name="地址",width=15)
private String address;
/**备注*/
@Excel(name="备注",width=15)
// @Excel(name="备注",width=15)
private String memo;
/**状态(1启用,0不启用)*/
@Dict(dicCode = "depart_status")
// @Dict(dicCode = "depart_status")
private String status;
/**删除状态(0,正常,1已删除)*/
@Dict(dicCode = "del_flag")
// @Dict(dicCode = "del_flag")
private String delFlag;
/**创建人*/
private String createBy;
@@ -106,7 +106,7 @@ public class SysDict implements Serializable {
/**
* 表单控件类型
*/
@Excel(name = "标签类型 1下拉选择 2树形结构", width = 15)
@Excel(name = "标签类型 1下拉选择 2树形结构", width = 15,dicCode = "attribute_type")
@ApiModelProperty(value = "标签类型 1下拉选择 2树形结构")
@Dict(dicCode = "attribute_type")
private java.lang.String attributeType;
@@ -1,23 +1,19 @@
package com.jero.modules.system.entity;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.jero.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serializable;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.jero.common.aspect.annotation.Dict;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
@@ -43,13 +39,13 @@ public class SysUser implements Serializable {
/**
* 登录账号
*/
@Excel(name = "登录账号", width = 15)
@Excel(name = "账号", width = 15)
private String username;
/**
* 真实姓名
*/
@Excel(name = "真实姓名", width = 15)
@Excel(name = "姓名", width = 15)
private String realname;
/**
@@ -67,13 +63,13 @@ public class SysUser implements Serializable {
/**
* 头像
*/
@Excel(name = "头像", width = 15,type = 2)
// @Excel(name = "头像", width = 15,type = 2)
private String avatar;
/**
* 生日
*/
@Excel(name = "生日", width = 15, format = "yyyy-MM-dd")
// @Excel(name = "生日", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date birthday;
@@ -81,20 +77,20 @@ public class SysUser implements Serializable {
/**
* 性别(1:男 2:女)
*/
@Excel(name = "性别", width = 15,dicCode="sex")
// @Excel(name = "性别", width = 15,dicCode="sex")
@Dict(dicCode = "sex")
private Integer sex;
/**
* 电子邮件
*/
@Excel(name = "电子邮件", width = 15)
// @Excel(name = "电子邮件", width = 15)
private String email;
/**
* 电话
*/
@Excel(name = "电话", width = 15)
// @Excel(name = "电话", width = 15)
private String phone;
/**
@@ -103,32 +99,26 @@ public class SysUser implements Serializable {
private String orgCode;
/**部门名称*/
@Excel(name = "部门", width = 15)
private transient String orgCodeTxt;
/**
* 状态(1:正常 2:冻结 )
*/
@Excel(name = "状态", width = 15,dicCode="user_status")
@Dict(dicCode = "user_status")
private Integer status;
/**
* 删除状态(0,正常,1已删除)
*/
@Excel(name = "删除状态", width = 15,dicCode="del_flag")
// @Excel(name = "删除状态", width = 15,dicCode="del_flag")
@TableLogic
private Integer delFlag;
/**
* 工号,唯一键
*/
@Excel(name = "工号", width = 15)
@Excel(name = "工号", width = 15)
private String workNo;
/**
* 座机号
*/
@Excel(name = "座机号", width = 15)
// @Excel(name = "座机号", width = 15)
private String telephone;
/**
@@ -158,13 +148,13 @@ public class SysUser implements Serializable {
/**
* 身份(0 普通成员 1 上级)
*/
@Excel(name="1普通成员 2上级)",width = 15)
// @Excel(name="1普通成员 2上级)",width = 15)
private Integer userIdentity;
/**
* 负责部门
*/
@Excel(name="负责部门",width = 15,dictTable ="sys_depart",dicText = "depart_name",dicCode = "id")
// @Excel(name="负责部门",width = 15,dictTable ="sys_depart",dicText = "depart_name",dicCode = "id")
@Dict(dictTable ="sys_depart",dicText = "depart_name",dicCode = "id")
private String departIds;
@@ -177,4 +167,15 @@ public class SysUser implements Serializable {
private String clientId;
private String thirdId;//用户域账号
@Excel(name = "员工类型", width = 15, dicCode = "worker_type")
@Dict(dicCode = "worker_type")
private String workerType;//员工种类(1-正式工,2-临时工)
/**
* 状态(1:正常 2:冻结 )
*/
@Excel(name = "状态", width = 15,dicCode="user_status")
@Dict(dicCode = "user_status")
private Integer status;
}
@@ -55,6 +55,6 @@ public interface SysDepartMapper extends BaseMapper<SysDepart> {
* @return
*/
@Select("UPDATE sys_depart t1 JOIN sys_depart t2 ON t1.parent_code = t2.org_code SET t1.parent_id = t2.id")
int updateAllParentId();
void updateAllParentId();
}
@@ -3,28 +3,34 @@
<mapper namespace="com.jero.modules.system.mapper.SysDepartMapper">
<select id="queryUserDeparts" parameterType="String" resultType="com.jero.modules.system.entity.SysDepart">
select * from sys_depart where id IN ( select dep_id from sys_user_depart where user_id = #{userId} )
select d.*
from sys_depart d, sys_depart_role_user dru, sys_depart_role dr
WHERE d.id = dr.depart_id
and dr.id = dru.drole_id
and dru.user_id = #{userId}
</select>
<!-- 根据username查询所拥有的部门 -->
<select id="queryDepartsByUsername" parameterType="String" resultType="com.jero.modules.system.entity.SysDepart">
SELECT *
FROM sys_depart
WHERE id IN (
SELECT dep_id
FROM sys_user_depart
WHERE user_id = (
select d.*
from sys_depart d, sys_depart_role_user dru, sys_depart_role dr
WHERE d.id = dr.depart_id
and dr.id = dru.drole_id
and dru.user_id in (
SELECT id
FROM sys_user
WHERE username = #{username}
)
)
</select>
<!-- 根据部门Id查询,当前和下级所有部门IDS -->
<select id="getSubDepIdsByDepId" resultType="java.lang.String">
select id from sys_depart where del_flag = '0' and org_code like concat((select org_code from sys_depart where id=#{departId}),'%')
</select>
SELECT sd.id
FROM sys_depart sd,( SELECT ( @nodes := queryChildrenTempNode (#{departId})) AS pids ) t
WHERE
FIND_IN_SET( sd.id, t.pids )
AND del_flag = 0
</select>
<!--根据部门编码获取我的部门下所有部门ids -->
<select id="getSubDepIdsByOrgCodes" resultType="java.lang.String">
@@ -46,7 +46,7 @@
<select id="getUserByDepIds" resultType="com.jero.modules.system.entity.SysUser">
select * from sys_user where del_flag = 0
<if test="departIds!=null and departIds.size()>0">
and id in (select user_id from sys_user_depart where dep_id in
and id in (select dru.user_id from sys_depart_role dr, sys_depart_role_user dru where dr.id = dru.drole_id and dr.depart_id in
<foreach collection="departIds" index="index" item="id" open="(" separator="," close=")">
#{id}
</foreach>
@@ -1,9 +1,9 @@
package com.jero.modules.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.common.api.vo.Result;
import com.jero.common.exception.JeroBootException;
import com.jero.modules.system.entity.SysCategory;
import com.jero.modules.system.entity.SysCategoryTreeVO;
import com.jero.modules.system.model.TreeSelectModel;
import java.util.List;
@@ -21,16 +21,16 @@ public interface ISysCategoryService extends IService<SysCategory> {
public static final String ROOT_PID_VALUE = "0";
void addSysCategory(SysCategory sysCategory);
void updateSysCategory(SysCategory sysCategory);
/**
* 根据父级编码加载分类字典的数据
* @param pcode
* @return
*/
public List<TreeSelectModel> queryListByCode(String pcode) throws JeroBootException;
/**
* 根据pid查询子节点集合
* @param pid
@@ -70,5 +70,5 @@ public interface ISysCategoryService extends IService<SysCategory> {
* 获取树形结构
* @return
*/
Result getSysCategoryTree();
List<SysCategoryTreeVO> getSysCategoryTree();
}
@@ -135,5 +135,5 @@ public interface ISysDepartService extends IService<SysDepart>{
* 更新所有组织的父节点id
* @return
*/
int updateAllParentId();
void updateAllParentId();
}
@@ -4,7 +4,6 @@ import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.jero.common.constant.CommonConstant;
import com.jero.common.system.util.JwtUtil;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.PasswordUtil;
import com.jero.common.util.oConvertUtils;
@@ -20,11 +19,12 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.io.IOException;
import java.io.PipedOutputStream;
import java.net.MalformedURLException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.util.*;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
@@ -245,6 +245,7 @@ public class SyncDataServiceImpl implements ISyncDataService{
sysUser.setThirdId(employee.getWorker_user_id());
sysUser.setActivitiSync(CommonConstant.ACT_SYNC_1);
sysUser.setWorkNo(employee.getEmployee_id());
sysUser.setWorkerType("Employee".equals(employee.getWorker_type())? CommonConstant.WORKER_TYPE_1 : CommonConstant.WORKER_TYPE_2);
// sysUser.setUpdateTime(employee.getUpdate_time());
sysUser.setCreateTime(new Date());
@@ -62,7 +62,7 @@ public class SysCategoryServiceImpl extends ServiceImpl<SysCategoryMapper, SysCa
sysCategory.setPid(categoryPid);
baseMapper.insert(sysCategory);
}
@Override
public void updateSysCategory(SysCategory sysCategory) {
if(oConvertUtils.isEmpty(sysCategory.getPid())){
@@ -221,14 +221,14 @@ public class SysCategoryServiceImpl extends ServiceImpl<SysCategoryMapper, SysCa
}
@Override
public Result getSysCategoryTree() {
public List<SysCategoryTreeVO> getSysCategoryTree() {
try {
List<SysCategory> list = super.baseMapper.selectList(new QueryWrapper<>());
List<SysCategoryTreeVO> tree = new ArrayList<>();
if(CollectionUtils.isNotEmpty(list)){
tree = TreeUtils.getSysCategoryTree(list);
}
return Result.OK(tree);
return tree;
}catch (Exception ex){
log.error("查询树形结构失败: " + ex.getMessage());
throw new JeroBootException("查询树形结构失败!");
@@ -1,13 +1,12 @@
package com.jero.modules.system.service.impl;
import java.util.*;
import com.alibaba.fastjson.JSONObject;
import com.jero.common.system.vo.SysDepartTreeModel;
import org.apache.commons.lang.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.constant.CacheConstant;
import com.jero.common.constant.CommonConstant;
import com.jero.common.constant.FillRuleConstant;
import com.jero.common.system.vo.SysDepartTreeModel;
import com.jero.common.util.FillRuleUtil;
import com.jero.common.util.YouBianCodeUtil;
import com.jero.modules.system.entity.*;
@@ -15,15 +14,14 @@ import com.jero.modules.system.mapper.*;
import com.jero.modules.system.model.DepartIdModel;
import com.jero.modules.system.service.ISysDepartService;
import com.jero.modules.system.util.FindsDepartsChildrenUtil;
import io.netty.util.internal.StringUtil;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import io.netty.util.internal.StringUtil;
import java.util.*;
/**
* <p>
@@ -535,8 +533,10 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
return this.list(queryWrapper);
}
@Autowired
private SysDepartMapper departMapper;
@Override
public int updateAllParentId() {
return this.updateAllParentId();
public void updateAllParentId() {
departMapper.updateAllParentId();
}
}
@@ -198,7 +198,7 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, SysDict> impl
@Override
public List<SysDict> queryDictName(SysDict sysDict) {
QueryWrapper<SysDict> QueryWrapper = new QueryWrapper<>();
QueryWrapper.select("id", "dict_name").eq("is_tag_dict",1);
QueryWrapper.select("id", "dict_name","attribute_type").eq("is_tag_dict",1);
return list(QueryWrapper);
}
@@ -25,6 +25,8 @@ public class TreeUtils {
if (TREE_ROOT_CODE.equals(sysCategory.getPid())) {
SysCategoryTreeVO sysCategoryTreeVO = new SysCategoryTreeVO();
sysCategoryTreeVO.setId(sysCategory.getId());
sysCategoryTreeVO.setKey(sysCategory.getId());
sysCategoryTreeVO.setDictId(sysCategory.getSysDictId());
sysCategoryTreeVO.setTitle(sysCategory.getName());
sysCategoryTreeVO.setParentId(sysCategory.getPid());
sysCategoryTreeVO.setChildren(getSysCategoryTreeChild(sysCategory.getId(), sysCategoryList));
@@ -39,7 +41,9 @@ public class TreeUtils {
for (SysCategory sysCategory : sysCategoryList) {
if (id.equals(sysCategory.getPid())) {
SysCategoryTreeVO sysCategoryTreeVO = new SysCategoryTreeVO();
sysCategoryTreeVO.setDictId(sysCategory.getSysDictId());
sysCategoryTreeVO.setId(sysCategory.getId());
sysCategoryTreeVO.setKey(sysCategory.getId());
sysCategoryTreeVO.setTitle(sysCategory.getName());
sysCategoryTreeVO.setParentId(sysCategory.getPid());
sysCategoryTreeVO.setChildren(getSysCategoryTreeChild(sysCategory.getId(), sysCategoryList));
@@ -12,6 +12,7 @@ public enum FieldTypeEnum {
// FILE("文件","file"),
// DATE("日期","date");
//属性类型 1输入框(字符串),2输入框(数字),3单选下拉框,4多选下拉框,5单日期选择,6多日期选择,7文件,8文本框,9人员选择,10标准选择
TREE("树形结构","0"),
TEXT_STRING("输入框(字符串)","1"),
TEXT_NUMBER("输入框(数字)","2"),
PULL_SINGLE("单选下拉框","3"),
@@ -29,13 +29,12 @@ import com.jero.modules.oss.service.IOSSFileService;
import com.jero.modules.subscribe.entity.OnlCgformSubscribe;
import com.jero.modules.subscribe.service.IOnlCgformSubscribeService;
import com.jero.modules.system.entity.SysAnnouncement;
import com.jero.modules.system.entity.SysAnnouncementSend;
import com.jero.modules.system.entity.SysCategoryTreeVO;
import com.jero.modules.system.entity.SysDictItem;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.mapper.SysUserMapper;
import com.jero.modules.system.service.ISysAnnouncementSendService;
import com.jero.modules.system.service.ISysAnnouncementService;
import com.jero.modules.system.service.impl.SysBaseApiImpl;
import com.jero.modules.system.service.impl.SysCategoryServiceImpl;
import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
import com.jero.modules.tag.entity.OnlCgformArea;
import com.jero.modules.tag.service.impl.OnlCgformAreaServiceImpl;
@@ -112,6 +111,8 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
private SysUserMapper sysUserMapper;
@Autowired
private DomainUserRelService domainUserRelService;
@Autowired
private SysCategoryServiceImpl sysCategoryService;
@Value(value = "${jero.path.upload}")
private String uploadpath;
@@ -258,13 +259,15 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
List<OnlCgformArea> areaList = onlCgformAreaServiceImpl.queryList(onlCgformArea);
//字段属性
List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList(flag);
//过滤出字段为树形结构的
List<OnlCgformField> onlCgformFieldTree = fieldList.stream().filter(e -> FieldTypeEnum.TREE.getValue().equals(e.getFieldShowType())).collect(Collectors.toList());
if (fieldList.size() != 0) {
//过滤出表单字段(is_show_form-->表单是否显示0否 1是)
if ("add".equals(type)) {
//新增时,被代替标准在表单中不显示
//新增时,被代替标准在表单中不显示.
fieldList = fieldList.stream()
.filter(e -> YesOrNoEnum.YES.getValue().equals(String.valueOf(e.getIsShowForm())) && !e.getDbFieldName().equals("replaced_standard"))
.filter(e -> YesOrNoEnum.YES.getValue().equals(String.valueOf(e.getIsShowForm())) && !"replaced_standard" .equals(e.getDbFieldName()))
.collect(Collectors.toList());
} else {
fieldList = fieldList.stream()
@@ -273,6 +276,8 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
}
}
//树形数据字典
List<SysCategoryTreeVO> sysCategoryTree = sysCategoryService.getSysCategoryTree();
List<Map<String, Object>> result = new ArrayList<>();
for (OnlCgformArea onlCgformAreaTemp : areaList) {
String areaName = "";
@@ -283,8 +288,13 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
}
List<OnlCgformField> fieldListTemp = fieldList.stream().filter(e -> onlCgformAreaTemp.getId().equals(e.getShowArea())).collect(Collectors.toList());
for (OnlCgformField onlCgformField : fieldListTemp) {
String dictId = onlCgformField.getDictId();
List<SysCategoryTreeVO> sysCategoryTreeVOList = new ArrayList<>();
if(StringUtils.isNotBlank(dictId)){
sysCategoryTreeVOList = sysCategoryTree.stream().filter(e -> dictId.equals(e.getDictId())).collect(Collectors.toList());
}
Map<String, Object> map = new HashMap<>();
mapPut(cut, map, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", areaName);
mapPut(cut, map, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", areaName,sysCategoryTreeVOList);
map.put("field_must_input", onlCgformField.getFieldMustInput());//区域
result.add(map);
}
@@ -479,14 +489,14 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
for (OSSFile fileInfo : fileInfos) {
Map<String, Object> mapNew = new HashMap<>();
mapNew.put("value", fileInfo);
mapPut(cut, mapNew, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", areaName);
mapPut(cut, mapNew, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", areaName,null);
resultTemp.add(mapNew);
}
}
} else if (fileInfos.size() == 1) {
//单个文件处理
map.put("value", fileInfos.get(0));
mapPut(cut, map, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", areaName);
mapPut(cut, map, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", areaName,null);
resultTemp.add(map);
}
}
@@ -513,7 +523,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
}
});
}
mapPut(cut, map, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", areaName);
mapPut(cut, map, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", areaName,null);
}
if (map.size() != 0) {
resultTemp.add(map);
@@ -531,7 +541,11 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
return result;
}
private void mapPut(String cut, Map<String, Object> map, String field_show_type, String fieldShowType2, String dict_field, String dictField, String db_field_name, String dbFieldName2, String db_field_txt, String dbFieldTxt, String db_field_en_name, String dbFieldEnName, String area, String showArea) {
private void mapPut(String cut, Map<String, Object> map, String field_show_type,
String fieldShowType2, String dict_field, String dictField,
String db_field_name, String dbFieldName2, String db_field_txt,
String dbFieldTxt, String db_field_en_name, String dbFieldEnName,
String area, String showArea,List<SysCategoryTreeVO> sysCategoryTreeVOS) {
map.put(field_show_type, fieldShowType2);//类型(判断是下拉还是输入框,等等)
map.put(dict_field, dictField);
map.put(db_field_name, dbFieldName2);//字段
@@ -545,6 +559,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
map.put(db_field_txt, dbFieldTxt);//字段中文名
}
map.put(area, showArea);//区域
map.put("tree", sysCategoryTreeVOS);//区域
}
/**
@@ -64,7 +64,8 @@ public class OnlCgformTagController extends JeroController<OnlCgformTag, IOnlCgf
QueryWrapper<OnlCgformTag> queryWrapper = QueryGenerator.initQueryWrapper(onlCgformTag, req.getParameterMap());
Page<OnlCgformTag> page = new Page<OnlCgformTag>(pageNo, pageSize);
if(StringUtils.isNotBlank("create_time")) {
queryWrapper.orderByDesc("create_time");
queryWrapper.orderByDesc("create_time").eq("is_show_list",1)
.eq("cgform_head_id","48308196e7b04761b533dc31bc899707");//筛选文档库数据
}
IPage<OnlCgformTag> pageList = onlCgformTagService.page(page, queryWrapper);
return Result.OK(pageList);
@@ -125,6 +126,7 @@ public class OnlCgformTagController extends JeroController<OnlCgformTag, IOnlCgf
} else {
onlCgformTag.setCreateTime(new Date());
onlCgformTag.setIsDelete(CommonConstant.DEL_FLAG_0);
onlCgformTag.setCgformHeadId("48308196e7b04761b533dc31bc899707");//设置文档库-表id
onlCgformTagService.add(onlCgformTag);
}
return Result.OK("添加成功!");
@@ -62,6 +62,12 @@ public class OnlCgformTag implements Serializable {
@ApiModelProperty(value = "所属部门")
private java.lang.String sysOrgCode;
/**文档库-表id*/
@Excel(name = "文档库-表id", width = 15,dictTable = "onl_cgform_field", dicText = "cgform_head_id", dicCode = "cgform_head_id")
@Dict(dictTable = "onl_cgform_field", dicText = "cgform_head_id", dicCode = "cgform_head_id")
@ApiModelProperty(value = "文档库-表id")
private java.lang.String cgformHeadId;
/**所属模块(1文档库,0文档拆分)*/
@Excel(name = "所属模块(1文档库,0文档拆分", width = 15, dicCode = "module")
@Dict(dicCode = "module")
@@ -87,12 +93,11 @@ public class OnlCgformTag implements Serializable {
@ApiModelProperty(value = "表单控件类型")
private java.lang.String fieldShowType;
/**字典名称*/
@TableField(exist = false)
@Excel(name = "字典名称", width = 15, dictTable = "sys_dict", dicText = "dict_name", dicCode = "dict_name")
@Dict(dictTable = "sys_dict", dicText = "dict_name", dicCode = "dict_name")
/**字典id*/
@Excel(name = "字典id", width = 15, dictTable = "onl_cgform_field", dicText = "dict_id", dicCode = "dict_id")
@Dict(dictTable = "onl_cgform_field", dicText = "dict_id", dicCode = "dict_id")
@ApiModelProperty(value = "字典名称")
private java.lang.String dictName;
private java.lang.String dictId;
/**数据库字段长度*/
@Excel(name = "数据库字段长度", width = 15,dictTable = "onl_cgform_field", dicText = "db_length", dicCode = "db_length")