From 734e2ad327e241fa40e31ff07329f032de689df1 Mon Sep 17 00:00:00 2001
From: yijiusmile <253281376@qq.com>
Date: 星期五, 19 二月 2021 01:26:07 +0800
Subject: [PATCH] 增加导入员工
---
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpAccessoryServiceImpl.java | 103 ++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 93 insertions(+), 10 deletions(-)
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpAccessoryServiceImpl.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpAccessoryServiceImpl.java
index 6503635..1442e08 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpAccessoryServiceImpl.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpAccessoryServiceImpl.java
@@ -1,11 +1,24 @@
package cc.mrbird.febs.server.hr.service.impl;
-import cc.mrbird.febs.server.hr.entity.EmpAccessory;
+import cc.mrbird.febs.common.core.constant.ModuleCode;
+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.mapper.EmpAccessoryMapper;
+import cc.mrbird.febs.server.hr.properties.FebsServerHrProperties;
import cc.mrbird.febs.server.hr.service.IEmpAccessoryService;
+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.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 com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.annotation.Propagation;
@@ -15,9 +28,13 @@
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 org.springframework.web.multipart.MultipartFile;
-import java.util.List;
-import java.util.Map;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.io.IOException;
+import java.util.*;
/**
* 附件管理 Service实现
@@ -31,6 +48,15 @@
public class EmpAccessoryServiceImpl extends ServiceImpl<EmpAccessoryMapper, EmpAccessory> implements IEmpAccessoryService {
private final EmpAccessoryMapper empAccessoryMapper;
+ private final FebsServerHrProperties properties;
+ private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser())
+ .map(u -> u.getUserId().toString())
+ .orElse("1");
+ private final IEmpBaseInfoService empBaseInfoService;
+ /**
+ * 参数2为数据中心ID 参数1为终端ID
+ */
+ private Snowflake snowflake = IdUtil.getSnowflake(ModuleCode.HR_FIlE, 1);
@Override
public IPage<Map<String,Object>> findEmpAccessorys(QueryRequest request, EmpAccessoryVO vo) {
@@ -99,14 +125,39 @@
@Override
public List<EmpAccessory> findEmpAccessorys(EmpAccessory empAccessory) {
LambdaQueryWrapper<EmpAccessory> queryWrapper = new LambdaQueryWrapper<>();
- // TODO 设置查询条件
+ queryWrapper.eq(EmpAccessory::getDelFlag,0);
+ if (null != empAccessory.getLabelid()) {
+ queryWrapper.eq(EmpAccessory::getLabelid, empAccessory.getLabelid());
+ }
+ if (StrUtil.isNotBlank(empAccessory.getFilesname())) {
+ queryWrapper.like(EmpAccessory::getFilesname, empAccessory.getFilesname());
+ }
+ if (null != empAccessory.getEmpid()) {
+ queryWrapper.eq(EmpAccessory::getEmpid, empAccessory.getEmpid());
+ }
return this.baseMapper.selectList(queryWrapper);
}
@Override
@Transactional(rollbackFor = Exception.class)
- public void createEmpAccessory(EmpAccessory empAccessory) {
- this.save(empAccessory);
+ public void createEmpAccessory(Long labelid, MultipartFile file,Long empId) throws FebsException, IOException {
+ EmpBaseInfo empBaseInfo = empBaseInfoService.getById(empId);
+ String nameAndCertificateNumb = empBaseInfo.getEmpName()+"_"+empBaseInfo.getCertificateNumb()+"/";
+ Dict dict = MyUtil.filesUpload(file,properties.getUploadSinglePath()+nameAndCertificateNumb,snowflake.nextIdStr());
+ EmpAccessory accessory = new EmpAccessory();
+ accessory.setCreatetime(new Date());
+ accessory.setCreator(operatorId);
+ accessory.setDelFlag(0);
+ accessory.setEmpid(empId);
+ accessory.setFilesaddress(dict.getStr("newName"));
+ accessory.setFilesformat(StrUtil.isBlank(dict.getStr("suffix")) ? dict.getStr("suffix") : dict.getStr("suffix").substring(1));
+ accessory.setAccessoryid(SequenceUtil.generateId(0L, ModuleCode.HR_FIlE));
+ accessory.setFilesname(dict.getStr("fileName"));
+ accessory.setLabelid(labelid);
+ accessory.setModifier(operatorId);
+ accessory.setModifytime(new Date());
+ accessory.setVersion(0);
+ this.save(accessory);
}
@Override
@@ -117,9 +168,41 @@
@Override
@Transactional(rollbackFor = Exception.class)
- public void deleteEmpAccessory(EmpAccessory empAccessory) {
- LambdaQueryWrapper<EmpAccessory> wapper = new LambdaQueryWrapper<>();
- // TODO 设置删除条件
- this.remove(wapper);
+ public void deleteEmpAccessory(String accessoryids) {
+ String[] arr = accessoryids.split(",");
+ LambdaUpdateWrapper<EmpAccessory> wapper = new LambdaUpdateWrapper<>();
+ wapper.in(EmpAccessory::getAccessoryid,arr);
+ EmpAccessory accessory = new EmpAccessory();
+ accessory.setModifier(operatorId);
+ accessory.setModifytime(new Date());
+ accessory.setDelFlag(1);
+ this.update(accessory,wapper);
+
+ LambdaQueryWrapper<EmpAccessory> queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.in(EmpAccessory::getAccessoryid,arr);
+ List<EmpAccessory> list = this.list(queryWrapper);
+ list.parallelStream().forEach(i-> {
+ EmpBaseInfo empBaseInfo = empBaseInfoService.getById(i.getEmpid());
+ String nameAndCertificateNumb = empBaseInfo.getEmpName()+"_"+empBaseInfo.getCertificateNumb()+"/";
+ FileUtil.del(properties.getUploadSinglePath()+nameAndCertificateNumb+"/" + i.getFilesaddress());
+ });
}
+
+
+ @Override
+ public void download(String accessoryids, HttpServletRequest request, HttpServletResponse response) {
+ String[] arr = accessoryids.split(",");
+ List<File> files = new ArrayList<>();
+ List<String> fileName = new ArrayList<>();
+ Arrays.stream(arr).forEach(i -> {
+ EmpAccessory accessory = this.getById(i);
+ EmpBaseInfo empBaseInfo = empBaseInfoService.getById(accessory.getEmpid());
+ String nameAndCertificateNumb = empBaseInfo.getEmpName()+"_"+empBaseInfo.getCertificateNumb()+"/";
+ files.add(new File(properties.getUploadSinglePath() + nameAndCertificateNumb + accessory.getFilesaddress()));
+ fileName.add(accessory.getFilesname());
+ });
+ MyUtil.download(request, response, files, fileName);
+
+ }
+
}
--
Gitblit v1.8.0