| | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.*; |
| | | import java.util.*; |
| | | import java.util.function.Consumer; |
| | | |
| | | /** |
| | | * 附件管理 Service实现 |
| | |
| | | if (StrUtil.isNotBlank(vo.getBasic())) { |
| | | queryWrapper.and(p -> { |
| | | p.like("a.empNumb", vo.getBasic()) |
| | | .or().like("a.deptName", vo.getBasic()) |
| | | .or().like("a.allDeptName", vo.getBasic()) |
| | | .or().like("a.certificateNumb", vo.getBasic()) |
| | | .or().like("a.empName", vo.getBasic()) |
| | | .or().like("a.jobName", vo.getBasic()); |
| | |
| | | queryWrapper.like("a.certificateNumb", vo.getCertificateNumb()); |
| | | } |
| | | if (StrUtil.isNotBlank(vo.getDeptName())) { |
| | | queryWrapper.like("a.deptName", vo.getDeptName()); |
| | | queryWrapper.like("a.allDeptName", vo.getDeptName()); |
| | | } |
| | | |
| | | if (StrUtil.isNotBlank(vo.getEntryDate())) { |
| | | queryWrapper.between("a.entryDate", vo.getEntryDate().split(",")[0], vo.getEntryDate().split(",")[1]); |
| | | } |
| | | if (StrUtil.isNotBlank(vo.getAge())) { |
| | | String[] arr = vo.getAge().split(","); |
| | | for (String s : arr) { |
| | | if (StrUtil.equals(s, "18-29")) { |
| | | queryWrapper.or().between("a.age", 18, 29); |
| | | } |
| | | if (StrUtil.equals(s, "30-39")) { |
| | | queryWrapper.or().between("a.age", 30, 39); |
| | | } |
| | | if (StrUtil.equals(s, "40-49")) { |
| | | queryWrapper.or().between("a.age", 40, 49); |
| | | } |
| | | if (StrUtil.equals(s, "50-59")) { |
| | | queryWrapper.or().between("a.age", 50, 59); |
| | | } |
| | | if (StrUtil.equals(s, "60-69")) { |
| | | queryWrapper.or().between("a.age", 60, 69); |
| | | } |
| | | if (StrUtil.equals(s, "69-999")) { |
| | | queryWrapper.or().ge("a.age", 69); |
| | | } |
| | | } |
| | | |
| | | if (StringUtils.isNotBlank(vo.getAge())) { |
| | | String[] ages = vo.getAge().split(","); |
| | | Consumer<QueryWrapper<EmpAccessoryVO>> consumer = wrapper -> { |
| | | for (int i = 0; i < ages.length; i++) { |
| | | String ageBtn = ages[i]; |
| | | wrapper.or().between("a.Age", ageBtn.split("-")[0], ageBtn.split("-")[1]); |
| | | } |
| | | }; |
| | | queryWrapper.and(consumer); |
| | | } |
| | | if (StrUtil.isNotBlank(vo.getArchivesStatus())) { |
| | | queryWrapper.in("a.archivesStatus", vo.getArchivesStatus().split(",")); |
| | |
| | | } |
| | | if (StringUtils.isNotBlank(vo.getEntryType())) { |
| | | queryWrapper.in("a.entryType", vo.getEntryType().split(",")); |
| | | } if (StringUtils.isNotBlank(vo.getCertificateList())) { |
| | | String[] certificates = vo.getCertificateList().split(","); |
| | | Consumer<QueryWrapper<EmpAccessoryVO>> consumer = new Consumer<QueryWrapper<EmpAccessoryVO>>() { |
| | | @Override |
| | | public void accept(QueryWrapper<EmpAccessoryVO> wrapper) { |
| | | for (int i = 0; i < certificates.length; i++) { |
| | | // String ageBtn = certificates[i]; |
| | | // wrapper.or().like("a.certificateList", ageBtn); |
| | | String ageBtn = "|" + certificates[i] + "|"; |
| | | wrapper.gt("LOCATE('"+ageBtn+"',CONCAT('|',replace( certificateList, ',', '|,|'),'|'))",0); |
| | | } |
| | | } |
| | | }; |
| | | queryWrapper.and(consumer); |
| | | } |
| | | queryWrapper.inSql("c.dept_Id", remoteDeptService.userRightDepts()); |
| | | if (StrUtil.isNotBlank(vo.getFileName())){ |
| | |
| | | queryWrapper.orderByAsc("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(); |
| | |
| | | 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()); |
| | | Dict dict = MyUtil.filesUpload(file, properties.getUploadSinglePath() + nameAndCertificateNumb); |
| | | EmpAccessory accessory = new EmpAccessory(); |
| | | accessory.setCreatetime(new Date()); |
| | | accessory.setCreator(FebsUtil.getUserId()); |
| | | accessory.setDelFlag(0); |
| | | accessory.setEmpid(empId); |
| | | accessory.setFilesaddress(dict.getStr("newName")); |
| | | accessory.setFilesaddress(dict.getStr("fileName")); |
| | | 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")); |
| | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void updateEmpAccessory(EmpAccessory empAccessory) throws FebsException { |
| | | if ( empAccessory.getFilesname().indexOf(".")<=0){ |
| | | if ( empAccessory.getFilesname().lastIndexOf(".")<=0){ |
| | | throw new FebsException("文件名格式错误"); |
| | | } |
| | | |
| | | EmpAccessory accessory = this.getById(empAccessory.getAccessoryid()); |
| | | |
| | | EmpBaseInfo empBaseInfo = empBaseInfoService.getById(accessory.getEmpid()); |
| | | String nameAndCertificateNumb = empBaseInfo.getEmpName() + "_" + empBaseInfo.getCertificateNumb() + "/"; |
| | | if (FileUtil.exist(properties.getUploadSinglePath() + nameAndCertificateNumb+empAccessory.getFilesname())){ |
| | | throw new FebsException("文件已经存在"); |
| | | } |
| | | |
| | | File file = new File(properties.getUploadSinglePath() + nameAndCertificateNumb+accessory.getFilesaddress()); |
| | | FileUtil.rename(file,empAccessory.getFilesname(),true); |
| | | LambdaUpdateWrapper<EmpAccessory> wrapper = new LambdaUpdateWrapper<>(); |
| | | wrapper.eq(EmpAccessory::getAccessoryid,empAccessory.getAccessoryid()) |
| | | .set(EmpAccessory::getFilesname,empAccessory.getFilesname()).set(EmpAccessory::getFilesformat, empAccessory.getFilesname().substring( empAccessory.getFilesname().indexOf(".")+1)); |
| | | .set(EmpAccessory::getFilesname,empAccessory.getFilesname()) |
| | | .set(EmpAccessory::getFilesaddress,empAccessory.getFilesname()) |
| | | .set(EmpAccessory::getFilesformat, empAccessory.getFilesname().substring( empAccessory.getFilesname().lastIndexOf(".")+1)); |
| | | this.update(wrapper); |
| | | } |
| | | |
| | |
| | | if (fileName.parallelStream().filter(filter -> StrUtil.equals(accessory.getFilesname(), filter)).count() == 0) { |
| | | fileName.add(accessory.getFilesname()); |
| | | } else { |
| | | fileName.add(accessory.getFilesname().substring(0,accessory.getFilesname().indexOf(".")) + fileName.parallelStream().filter(filter -> StrUtil.equals(accessory.getFilesname(), filter)).count()+"."+accessory.getFilesformat()); |
| | | fileName.add(accessory.getFilesname().substring(0,accessory.getFilesname().lastIndexOf(".")) + fileName.parallelStream().filter(filter -> StrUtil.equals(accessory.getFilesname(), filter)).count()+"."+accessory.getFilesformat()); |
| | | } |
| | | }); |
| | | MyUtil.download(request, response, files, fileName); |
| | |
| | | accessory.setDelFlag(0); |
| | | accessory.setEmpid(empBaseInfo.get(0).getEmpId()); |
| | | accessory.setFilesaddress(file1.getName()); |
| | | if (file1.getName().indexOf(".") > 0) { |
| | | accessory.setFilesformat( file1.getName().substring(file1.getName().indexOf(".")+1)); |
| | | if (file1.getName().lastIndexOf(".") > 0) { |
| | | accessory.setFilesformat( file1.getName().substring(file1.getName().lastIndexOf(".")+1)); |
| | | } |
| | | accessory.setAccessoryid(SequenceUtil.generateId(0L, ModuleCode.HR_FIlE)); |
| | | accessory.setFilesname(file1.getName()); |