孔祥富
2021-03-11 fda3f979616e3c5e26993ec7033900cd188ea296
Merge remote-tracking branch 'origin/master'
12个文件已修改
146 ■■■■■ 已修改文件
febs-common/febs-common-core/src/main/java/cc/mrbird/febs/common/core/entity/DeptTree.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-common/febs-common-core/src/main/java/cc/mrbird/febs/common/core/entity/system/Dept.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpAccessoryController.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/FilesUploadController.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpBaseInfo.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpAccessoryService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IFilesUploadService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpAccessoryServiceImpl.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/FilesUploadServiceImpl.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-system/src/main/java/cc/mrbird/febs/server/system/mapper/DeptMapper.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-system/src/main/java/cc/mrbird/febs/server/system/service/impl/DeptServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-common/febs-common-core/src/main/java/cc/mrbird/febs/common/core/entity/DeptTree.java
@@ -14,4 +14,5 @@
    private Integer orderNum;
    private String deptType;
    private String deptFunction;
    private String allDeptName;
}
febs-common/febs-common-core/src/main/java/cc/mrbird/febs/common/core/entity/system/Dept.java
@@ -67,6 +67,11 @@
    @TableField(exist = false)
    private String  deptFunctionName;
    @FieldInfo(name = "allDeptName", type = "varchar", explain = "部门全称")
    @TableField("allDeptName")
    private String  allDeptName = "";
    private transient String createTimeFrom;
    private transient String createTimeTo;
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpAccessoryController.java
@@ -139,4 +139,15 @@
            throw new FebsException(message);
        }
    }
    @GetMapping("image/{accessoryid}")
    public void getImage(@PathVariable String accessoryid, HttpServletResponse response) throws FebsException {
        try {
            this.empAccessoryService.getImage(accessoryid,response);
        } catch (Exception e) {
            String message = "获取员工图片异常";
            log.error(message, e);
            throw new FebsException(message);
        }
    }
}
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/FilesUploadController.java
@@ -108,4 +108,15 @@
            throw new FebsException(message);
        }
    }
    @GetMapping("image/{filesid}")
    public void getImage(@PathVariable String filesid, HttpServletResponse response) throws FebsException {
        try {
            this.filesUploadService.getImage(filesid,response);
        } catch (Exception e) {
            String message = "获取员工图片异常";
            log.error(message, e);
            throw new FebsException(message);
        }
    }
}
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpBaseInfo.java
@@ -49,7 +49,7 @@
    @ExcelField(value = "档案号")
    private String archivesNumb = "";
    //@FieldInfo(name = "deptId", type = "bigint", explain = "部门Id")
    @FieldInfo(name = "deptId", type = "bigint", explain = "部门Id")
    @TableField("deptId")
    private Long deptId = 0L;
@@ -425,4 +425,8 @@
    @TableField(exist = false)
    private String inOutType;
    @FieldInfo(name = "allDeptName", type = "varchar", explain = "部门全称")
    @TableField("allDeptName")
    private String  allDeptName = "";
}
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpAccessoryService.java
@@ -69,4 +69,6 @@
    void autoInstall(String fileids);
    void getImage(String accessoryid,HttpServletResponse response) throws Exception;
}
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IFilesUploadService.java
@@ -59,4 +59,6 @@
    void download(String fileids, HttpServletRequest request, HttpServletResponse response);
    void mvFiles(String fileids,Long folderid);
    void getImage(String filesid,HttpServletResponse response) throws Exception;
}
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpAccessoryServiceImpl.java
@@ -40,8 +40,7 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.io.*;
import java.util.*;
import java.util.logging.Logger;
@@ -366,4 +365,34 @@
        }
    }
    @Override
    public void getImage(String accessoryid, HttpServletResponse response) throws Exception {
        EmpAccessory empAccessory = this.getById(accessoryid);
        if (StrUtil.isBlank(empAccessory.getFilesaddress())) {
            return;
        }
        EmpBaseInfo empBaseInfo = empBaseInfoService.getById(empAccessory.getEmpid());
        String nameAndCertificateNumb = empBaseInfo.getEmpName() + "_" + empBaseInfo.getCertificateNumb() + "/";
        String path = properties.getUploadSinglePath() + nameAndCertificateNumb + empAccessory.getFilesaddress();
        try (InputStream inputStream = new FileInputStream(path); OutputStream out = response.getOutputStream()) {
            //byte数组用于存放图片字节数据
            byte[] buff = new byte[inputStream.available()];
            inputStream.read(buff);
            inputStream.close();
            if (empAccessory.getFilesformat().equals("tif")){
                //设置发送到客户端的响应内容类型
                response.setContentType("image/tiff");
            }else if (empAccessory.getFilesformat().equals("bmp")){
                response.setContentType("application/x-bmp");
            }else if (empAccessory.getFilesformat().equals("jpg")){
                response.setContentType("image/jpeg");
            }else if (empAccessory.getFilesformat().equals("png")){
                response.setContentType("image/png");
            }else if (empAccessory.getFilesformat().equals("gif")){
                response.setContentType("image/gif");
            }
            out.write(buff);
        }
    }
}
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java
@@ -97,7 +97,8 @@
        Page<EmpBaseInfo> page = new Page<>(request.getPageNum(), request.getPageSize());
        IPage<EmpBaseInfo> iPage = empBaseInfoMapper.selectPageVo(page, createQueryWrapper(empBaseInfo));
        //设置部门
        List<EmpBaseInfo> list = setDeptName(iPage.getRecords());
        // List<EmpBaseInfo> list = setDeptName(iPage.getRecords());
        List<EmpBaseInfo> list = iPage.getRecords();
        List<DicItem> dicItems = CastUtil.castList(redisService.get("dicItems"), DicItem.class);
        list.forEach(p -> {
            p.setSexName("1".equals(p.getSex()) ? "男" : "女");
@@ -254,6 +255,11 @@
                    .filter(k -> k.getDeptId().equals(empBaseInfo.getDeptId()))
                    .findFirst()
                    .map(Dept::getDeptName)
                    .orElse(""));
            empBaseInfo.setAllDeptName(depts.stream()
                    .filter(k -> k.getDeptId().equals(empBaseInfo.getDeptId()))
                    .findFirst()
                    .map(Dept::getAllDeptName)
                    .orElse(""));
        }
        return empBaseInfoList;
@@ -903,8 +909,8 @@
        if (StringUtils.isNotBlank(empBaseInfo.getBaseKey())) {
            queryWrapper.and(p -> {
                p.like("a.EmpNumb", empBaseInfo.getBaseKey());
                p.or().like("a.EmpName", empBaseInfo.getBaseKey());
                p.or().like("a.DeptName", empBaseInfo.getBaseKey());
                p.or().like("a.allDeptName", empBaseInfo.getBaseKey());
                p.or().like("a.empName", empBaseInfo.getBaseKey());
                p.or().like("a.CertificateNumb", empBaseInfo.getBaseKey());
                p.or().like("a.archivesNumb", empBaseInfo.getBaseKey());
                p.or().like("a.stature", empBaseInfo.getBaseKey());
@@ -928,7 +934,7 @@
            queryWrapper.like("a.EmpName", empBaseInfo.getEmpName());
        }
        if (StringUtils.isNotBlank(empBaseInfo.getDeptName())) {
            queryWrapper.like("a.DeptName", empBaseInfo.getDeptName());
            queryWrapper.like("a.allDeptName", empBaseInfo.getDeptName());
        }
        if (StringUtils.isNotBlank(empBaseInfo.getCertificateNumb())) {
            queryWrapper.like("a.CertificateNumb", empBaseInfo.getCertificateNumb());
@@ -1046,8 +1052,8 @@
        List<EmpBaseInfo> exportList = this.findZsEmpBaseInfos(request, empBaseinfo).getRecords();
        List<Map<String, Object>> listMapDicItem = new ArrayList();
        listMapDicItem.add(map);
        String exportField = FebsUtil.reflectAnnotation(EmpBaseInfo.class);
        List<Map<String, Object>> allList = PoiExportExcel.getDataList(exportField, exportList, listMapDicItem);
        String exportField = "archivesNumb, deptName, jobName, empName, certificateNumb, certificateValidity, sexName, nationName, age, marriageName, stature, birthdate, politicsName, empTypeName, educationName, nativePlaceName, censusAddress, currentAddress, guardNumb, returnReceipt, archivesStatusName, bankName, bankNumb, telePhone, entryDate, InsuranceTypeName, socialNumb, introducer, seniority, empCardStatusName, certificateList, urgencyPhone, handbookStatusName, family, empStatusName, dimissionDate";
        List<Map<String, Object>> allList = PoiExportExcel.getDataList(exportField, exportList, null);
        Page<EmpBaseInfo> page = new Page<>(request.getPageNum(), request.getPageSize());
        List<Long> empIds = exportList.stream().map(i -> i.getEmpId()).collect(Collectors.toList());
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/FilesUploadServiceImpl.java
@@ -178,6 +178,34 @@
        this.update(wapper);
    }
    @Override
    public void getImage(String filesid, HttpServletResponse response) throws Exception {
        FilesUpload filesUpload = this.getById(filesid);
        if (StrUtil.isBlank(filesUpload.getFilesaddress())) {
            return;
        }
        Folder folder = iFolderService.getById(filesUpload.getFolderid());
        String path = properties.getUploadCommonPath() + folder.getFoldername() + "/" + filesUpload.getFilesaddress();
        try (InputStream inputStream = new FileInputStream(path); OutputStream out = response.getOutputStream()) {
            //byte数组用于存放图片字节数据
            byte[] buff = new byte[inputStream.available()];
            inputStream.read(buff);
            inputStream.close();
            if (filesUpload.getFilesformat().equals("tif")){
                //设置发送到客户端的响应内容类型
                response.setContentType("image/tiff");
            }else if (filesUpload.getFilesformat().equals("bmp")){
                response.setContentType("application/x-bmp");
            }else if (filesUpload.getFilesformat().equals("jpg")){
                response.setContentType("image/jpeg");
            }else if (filesUpload.getFilesformat().equals("png")){
                response.setContentType("image/png");
            }else if (filesUpload.getFilesformat().equals("gif")){
                response.setContentType("image/gif");
            }
            out.write(buff);
        }
    }
febs-server/febs-server-system/src/main/java/cc/mrbird/febs/server/system/mapper/DeptMapper.java
@@ -2,10 +2,17 @@
import cc.mrbird.febs.common.core.entity.system.Dept;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
/**
 * @author MrBird
 */
public interface DeptMapper extends BaseMapper<Dept> {
    @Update("<script>" +
            " update t_dept\n" +
            " set allDeptName = replace(allDeptName, #{fromName}, #{toName})" +
            " where allDeptName like #{queryParam}" +
            "</script>")
    public void changeAllDeptName(@Param("fromName") String fromName, @Param("toName") String toName,@Param("queryParam") String queryParam);
}
febs-server/febs-server-system/src/main/java/cc/mrbird/febs/server/system/service/impl/DeptServiceImpl.java
@@ -9,6 +9,7 @@
import cc.mrbird.febs.common.core.entity.constant.StringConstant;
import cc.mrbird.febs.common.core.entity.system.Dept;
import cc.mrbird.febs.common.core.entity.system.DicItem;
import cc.mrbird.febs.common.core.entity.system.UserDataPermission;
import cc.mrbird.febs.common.core.utils.FebsUtil;
import cc.mrbird.febs.common.core.utils.SequenceUtil;
import cc.mrbird.febs.common.core.utils.SortUtil;
@@ -40,6 +41,7 @@
public class DeptServiceImpl extends ServiceImpl<DeptMapper, Dept> implements IDeptService {
    private final RedisService redisService;
    private final IUserDataPermissionService userDataPermissionService;
    private final DeptMapper deptMapper;
    @Override
    public Map<String, Object> findDepts(QueryRequest request, Dept dept) {
@@ -80,12 +82,19 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void createDept(Dept dept) {
        dept.setDeptId(SequenceUtil.generateId(0L, ModuleCode.FRAM_SYSTEM));
        long deptId = SequenceUtil.generateId(0L, ModuleCode.FRAM_SYSTEM);
        dept.setDeptId(deptId);
        if (dept.getParentId() == null) {
            dept.setParentId(Dept.TOP_DEPT_ID);
        }
        dept.setAllDeptName(createALlDeptName(dept));
        dept.setCreateTime(new Date());
        this.save(dept);
        UserDataPermission userDataPermission = new UserDataPermission();
        userDataPermission.setDeptId(deptId);
        userDataPermission.setUserId(Long.parseLong(FebsUtil.getUserId()));
        userDataPermissionService.save(userDataPermission);
    }
    @Override
@@ -94,8 +103,12 @@
        if (dept.getParentId() == null) {
            dept.setParentId(Dept.TOP_DEPT_ID);
        }
        String oldAllName = dept.getAllDeptName();
        String newAllName = createALlDeptName(dept);
        dept.setModifyTime(new Date());
        this.baseMapper.updateById(dept);
        deptMapper.changeAllDeptName(oldAllName,newAllName,oldAllName + "%");
    }
    @Override
@@ -132,6 +145,7 @@
            tree.setOrderNum(dept.getOrderNum());
            tree.setDeptFunction(dept.getDeptFunction());
            tree.setDeptType(dept.getDeptType());
            tree.setAllDeptName(dept.getAllDeptName());
            trees.add(tree);
        });
    }
@@ -150,4 +164,8 @@
        }
    }
    private String createALlDeptName(Dept dept){
        Dept parent = this.getById(dept.getParentId());
        return parent.getAllDeptName() + "/" + dept.getDeptName();
    }
}