generated from dxfeng/secondev-wugang-dxfeng
信息变更流程-附件名称格式化
This commit is contained in:
parent
dcba5c39f3
commit
eb5c93cb81
|
|
@ -0,0 +1,124 @@
|
|||
package com.weaver.seconddev.employee.action;
|
||||
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.weaver.common.base.entity.result.WeaResult;
|
||||
import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface;
|
||||
import com.weaver.eteams.file.client.file.FileObj;
|
||||
import com.weaver.eteams.file.client.remote.FileClientService;
|
||||
import com.weaver.seconddev.employee.mapper.FormatChangeMapper;
|
||||
import com.weaver.seconddev.portal.entity.param.BaseParam;
|
||||
import com.weaver.seconddev.portal.util.DateUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.Date;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author:dxfeng
|
||||
* @createTime: 2025/08/08
|
||||
* @version: 1.0
|
||||
*/
|
||||
@Slf4j
|
||||
@Service("FormatChangeFilesAction")
|
||||
public class FormatChangeFilesAction implements EsbServerlessRpcRemoteInterface {
|
||||
|
||||
@Autowired
|
||||
FormatChangeMapper formatEntryFilesMapper;
|
||||
|
||||
@Autowired
|
||||
FileClientService fileClientService;
|
||||
|
||||
@Override
|
||||
public WeaResult<Map<String, Object>> execute(Map<String, Object> params) {
|
||||
log.error("params=>:{}", params);
|
||||
Long rzjlid = Convert.toLong(params.get("rzjlid"));
|
||||
log.error("rzjlid=>:{}", rzjlid);
|
||||
if (null == rzjlid) {
|
||||
return WeaResult.success();
|
||||
}
|
||||
// 查询入职管理表数据信息
|
||||
BaseParam baseParam = new BaseParam();
|
||||
Map<String, Object> entryRecord = formatEntryFilesMapper.getChangeRecord(baseParam, rzjlid);
|
||||
if (entryRecord.isEmpty()) {
|
||||
log.error("entryRecord is null,{}", params);
|
||||
return WeaResult.success();
|
||||
}
|
||||
log.error("entryRecord=>:{}", JSON.toJSONString(entryRecord));
|
||||
String username = Convert.toStr(entryRecord.get("username"));
|
||||
String jobNum = Convert.toStr(entryRecord.get("job_num"));
|
||||
log.error("userName=={}", username);
|
||||
log.error("jobNum=={}", jobNum);
|
||||
if (StringUtils.isBlank(jobNum)) {
|
||||
log.error("jobNum is null,{}", params);
|
||||
return WeaResult.success();
|
||||
}
|
||||
|
||||
String prefix = username + "-" + jobNum;
|
||||
renameFile(Convert.toStr(entryRecord.get("sfzzpzfm")), prefix, "身份证正面");
|
||||
renameFile(Convert.toStr(entryRecord.get("sfzfmghm")), prefix, "身份证反面");
|
||||
renameFile(Convert.toStr(entryRecord.get("hzzp")), prefix, "护照");
|
||||
renameFile(Convert.toStr(entryRecord.get("zgxlbyzszp")), prefix, "学历证明");
|
||||
renameFile(Convert.toStr(entryRecord.get("xxzbs")), prefix, "半身形象照");
|
||||
renameFile(Convert.toStr(entryRecord.get("czycbdz")), prefix, "寸照");
|
||||
renameFile(Convert.toStr(entryRecord.get("yxkzm")), prefix, "银行卡");
|
||||
renameFile(Convert.toStr(entryRecord.get("tjbg")), prefix, "体检报告");
|
||||
renameFile(Convert.toStr(entryRecord.get("jkz")), prefix, "健康证");
|
||||
renameFile(Convert.toStr(entryRecord.get("sjdwlzzm")), prefix, "离职证明");
|
||||
renameFile(Convert.toStr(entryRecord.get("qtfj")), prefix, "其他附件");
|
||||
|
||||
|
||||
return WeaResult.success(params);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 重命名文件
|
||||
*
|
||||
* @param fileIds 文件ID
|
||||
* @param prefix 前缀
|
||||
* @param fileName 文件名
|
||||
*/
|
||||
private void renameFile(String fileIds, String prefix, String fileName) {
|
||||
if (StringUtils.isBlank(fileIds)) {
|
||||
return;
|
||||
}
|
||||
|
||||
int index = 1;
|
||||
String[] split = fileIds.split(",");
|
||||
if (split.length > 0) {
|
||||
for (String s : split) {
|
||||
Long fileId = Convert.toLong(s);
|
||||
if (null == fileId) {
|
||||
log.error("fileId is null,{}", s);
|
||||
continue;
|
||||
}
|
||||
FileObj fileObj = fileClientService.get(fileId);
|
||||
if (null == fileObj) {
|
||||
log.error("fileObj is null,{}", fileId);
|
||||
continue;
|
||||
}
|
||||
Date uploadTime = fileObj.getUploadTime();
|
||||
LocalDateTime localDate = DateUtil.toLocalDateTime(uploadTime);
|
||||
if (null == localDate) {
|
||||
localDate = DateUtil.toLocalDateTime(new Date());
|
||||
}
|
||||
String formatDate = DateUtil.formatDateTime(localDate, DateTimeFormatter.ofPattern("yyyyMMddHHmm"));
|
||||
int lastDotIndex = fileName.lastIndexOf(".");
|
||||
String suffix = fileName.substring(lastDotIndex);
|
||||
String fileNameWithoutSuffix = fileName.substring(0, lastDotIndex);
|
||||
String newFileName = prefix + "-" + fileNameWithoutSuffix + "-" + formatDate + suffix;
|
||||
fileObj.setName(newFileName);
|
||||
fileClientService.update(fileObj);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
package com.weaver.seconddev.employee.mapper;
|
||||
|
||||
import com.weaver.seconddev.portal.entity.param.BaseParam;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author:dxfeng
|
||||
* @createTime: 2025/08/08
|
||||
* @version: 1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface FormatChangeMapper {
|
||||
|
||||
Map<String,Object> getChangeRecord(@Param("param") BaseParam param, @Param("id") Long id);
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.weaver.seconddev.employee.mapper.FormatChangeMapper">
|
||||
|
||||
|
||||
<select id="getChangeRecord" resultType="java.util.Map">
|
||||
select
|
||||
t1.id,t1.username,t1.glzzyg,t1.job_num,t1.sfzzpzfm,t1.sfzfmghm,t1.xwzszp,t1.zgxlbyzszp,
|
||||
t1.hzzp,t1.xxzbs,t1.sbzmwj,t1.yxkzm,t1.tjbg,t1.sjdwlzzm,t1.czycbdz,t1.jkz,t1.qtfj
|
||||
from ${param.e10_common}.uf_jcl_employee_xxbgsq t1
|
||||
where t1.tenant_key = #{param.tenantKey} and t1.delete_type = 0
|
||||
and t1.id = #{id}
|
||||
</select>
|
||||
</mapper>
|
||||
Loading…
Reference in New Issue