yz_08
2021-03-17 c540c6c77b9f11bcf8b1688bb08ebaed7df12006
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpAccessoryServiceImpl.java
@@ -1,11 +1,14 @@
package cc.mrbird.febs.server.hr.service.impl;
import cc.mrbird.febs.common.core.constant.ModuleCode;
import cc.mrbird.febs.common.core.entity.QueryRequest;
import cc.mrbird.febs.common.core.exception.FebsException;
import cc.mrbird.febs.common.core.utils.FebsUtil;
import cc.mrbird.febs.common.core.utils.MyUtil;
import cc.mrbird.febs.common.core.utils.SequenceUtil;
import cc.mrbird.febs.server.hr.entity.*;
import cc.mrbird.febs.server.hr.entity.EmpAccessory;
import cc.mrbird.febs.server.hr.entity.EmpBaseInfo;
import cc.mrbird.febs.server.hr.entity.Label;
import cc.mrbird.febs.server.hr.feign.IRemoteDeptService;
import cc.mrbird.febs.server.hr.mapper.EmpAccessoryMapper;
import cc.mrbird.febs.server.hr.properties.FebsServerHrProperties;
@@ -13,36 +16,30 @@
import cc.mrbird.febs.server.hr.service.IEmpBaseInfoService;
import cc.mrbird.febs.server.hr.service.ILabelService;
import cc.mrbird.febs.server.hr.vo.EmpAccessoryVO;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.lang.Dict;
import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.util.ZipUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.aspectj.weaver.ast.Or;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.annotation.Propagation;
import lombok.RequiredArgsConstructor;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cc.mrbird.febs.common.core.entity.QueryRequest;
import cc.mrbird.febs.common.core.entity.constant.StringConstant;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.util.*;
import java.util.logging.Logger;
/**
 * 附件管理 Service实现
@@ -152,9 +149,43 @@
        if (StringUtils.isNotBlank(vo.getEntryType())) {
            queryWrapper.in("a.entryType", vo.getEntryType().split(","));
        }
        queryWrapper.inSql("c.dept_Id", remoteDeptService.userRightDepts());
        if (StrUtil.isNotBlank(vo.getFileName())){
            queryWrapper.like("acc.filesName", vo.getFileName());
        }
        if (StrUtil.equals(vo.getField(),"empName")){
            if (StrUtil.equals(vo.getOrder(),"descending")){
                queryWrapper.orderByDesc("a.empName");
            }else{
                queryWrapper.orderByAsc("a.empName");
            }
        }else if(StrUtil.equals(vo.getField(),"empNumb")){
            if (StrUtil.equals(vo.getOrder(),"descending")){
                queryWrapper.orderByDesc("a.empNumb");
            }else{
                queryWrapper.orderByAsc("a.empNumb");
            }
        }else if(StrUtil.equals(vo.getField(),"deptName")){
            if (StrUtil.equals(vo.getOrder(),"descending")){
                queryWrapper.orderByDesc("deptName");
            }else{
                queryWrapper.orderByAsc("deptName");
            }
        }else if(StrUtil.equals(vo.getField(),"jobName")){
            if (StrUtil.equals(vo.getOrder(),"descending")){
                queryWrapper.orderByDesc("a.jobName");
            }else{
                queryWrapper.orderByAsc("a.jobName");
            }
        }else if(StrUtil.equals(vo.getField(),"certificateNumb")){
            if (StrUtil.equals(vo.getOrder(),"descending")){
                queryWrapper.orderByDesc("a.certificateNumb");
            }else{
                queryWrapper.orderByAsc("a.certificateNumb");
            }
        }
        queryWrapper.in("c.dept_Id", remoteDeptService.userRightDepts().split(StringConstant.COMMA));
        queryWrapper.orderByAsc("a.deptName,a.empName,a.certificateNumb");
        queryWrapper.groupBy(" a.delFlag,a.empName,a.empStatus,a.empId,a.certificateNumb,a.empNumb,deptName,a.jobName");
        Page<EmpAccessory> page = new Page<>(request.getPageNum(), request.getPageSize());
       // String querySql = empAccessoryMapper.getQuerySql();
       //List<Label> labelList = labelService.findLabels(new Label());
@@ -251,7 +282,7 @@
            if (fileName.parallelStream().filter(filter -> StrUtil.equals(accessory.getFilesname(), filter)).count() == 0) {
                fileName.add(accessory.getFilesname());
            } else {
                fileName.add(accessory.getFilesname() + fileName.parallelStream().filter(filter -> StrUtil.equals(accessory.getFilesname(), filter)).count() + 1);
                fileName.add(accessory.getFilesname().substring(0,accessory.getFilesname().indexOf(".")) + fileName.parallelStream().filter(filter -> StrUtil.equals(accessory.getFilesname(), filter)).count()+"."+accessory.getFilesformat());
            }
        });
        MyUtil.download(request, response, files, fileName);
@@ -329,7 +360,11 @@
            File[] childlist = FileUtil.ls(fileids+"/"+file.getName());
            for (File file1 : childlist) {
                EmpAccessory accessory = new EmpAccessory();
                if (file1.getName().indexOf("体检")>=0){
                if (file1.getName().indexOf("外皮")>=0||file1.getName().indexOf("外批")>=0){
                    accessory.setLabelid(142445285230593L);
                }else if (file1.getName().indexOf("心电图")>=0){
                    accessory.setLabelid(142445218121729L);
                }else if (file1.getName().indexOf("体检")>=0){
                    accessory.setLabelid(142445218121729L);
                }else if (file1.getName().indexOf("合同")>=0){
                    accessory.setLabelid(142445285230593L);
@@ -344,7 +379,7 @@
                }else if (file1.getName().indexOf("证")>=0){
                    accessory.setLabelid(143073812170753L);
                }else{
                    accessory.setLabelid(142445180372993L);
                    accessory.setLabelid(143073866696705L);
                }
                accessory.setCreatetime(new Date());