Commit 8d634168 authored by fangxinjiang's avatar fangxinjiang

Merge remote-tracking branch 'origin/MVP1.7.16' into MVP1.7.16

parents bb381cc3 809dd843
......@@ -289,6 +289,11 @@ public class TEmployeeContractPre extends BaseEntity {
@TableField(exist = false)
private List<TAttaInfo> attaList;
@Schema(description = "超期标识 0已超期 1未超期")
private String overFlag;
@Schema(description = "催办标识 0已催办 1未催办")
private String isUrg;
@Schema(description = "法大大模版ID")
private String fadadaTemplateId;
......
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.RowIndex;
import io.swagger.v3.oas.annotations.media.Schema;
......@@ -172,6 +173,7 @@ public class TDispatchInfoPreVo extends RowIndex implements Serializable {
@ExcelAttribute(name = "入职日期", isDate = true)
@Schema(description = "入职日期")
@ExcelProperty("入职日期")
@JsonFormat(shape= JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd", timezone = "GMT+08:00")
private Date joinLeaveDate;
/**
* 前端客服姓名
......@@ -193,6 +195,7 @@ public class TDispatchInfoPreVo extends RowIndex implements Serializable {
@ExcelAttribute(name = "预计派单时间", isDate = true)
@Schema(description = "预计派单时间")
@ExcelProperty("预计派单时间")
@JsonFormat(shape= JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd", timezone = "GMT+08:00")
private Date expectedCollectionTime;
/**
* 预计派单时间
......@@ -205,6 +208,7 @@ public class TDispatchInfoPreVo extends RowIndex implements Serializable {
@ExcelAttribute(name = "派单确认时间", isDate = true)
@Schema(description = "派单确认时间")
@ExcelProperty("派单确认时间")
@JsonFormat(shape= JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd", timezone = "GMT+08:00")
private Date expectedConfirmTime;
/**
* 是否自动触发派增 0 是 1否
......@@ -247,6 +251,7 @@ public class TDispatchInfoPreVo extends RowIndex implements Serializable {
@ExcelAttribute(name = "起缴日期", isDate = true)
@Schema(description = "起缴日期")
@ExcelProperty("起缴日期")
@JsonFormat(shape= JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd", timezone = "GMT+08:00")
private Date socialStartDate;
/**
* 养老起缴日期
......@@ -254,6 +259,7 @@ public class TDispatchInfoPreVo extends RowIndex implements Serializable {
@ExcelAttribute(name = "养老起缴日期", isDate = true)
@Schema(description = "养老起缴日期")
@ExcelProperty("养老起缴日期")
@JsonFormat(shape= JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd", timezone = "GMT+08:00")
private Date pensionStart;
/**
* 医疗起缴日期
......@@ -261,6 +267,7 @@ public class TDispatchInfoPreVo extends RowIndex implements Serializable {
@ExcelAttribute(name = "医疗起缴日期", isDate = true)
@Schema(description = "医疗起缴日期")
@ExcelProperty("医疗起缴日期")
@JsonFormat(shape= JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd", timezone = "GMT+08:00")
private Date medicalStart;
/**
* 失业起缴日期
......@@ -268,6 +275,7 @@ public class TDispatchInfoPreVo extends RowIndex implements Serializable {
@ExcelAttribute(name = "失业起缴日期", isDate = true)
@Schema(description = "失业起缴日期")
@ExcelProperty("失业起缴日期")
@JsonFormat(shape= JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd", timezone = "GMT+08:00")
private Date unemployStart;
/**
* 工伤起缴日期
......@@ -275,6 +283,7 @@ public class TDispatchInfoPreVo extends RowIndex implements Serializable {
@ExcelAttribute(name = "工伤起缴日期", isDate = true)
@Schema(description = "工伤起缴日期")
@ExcelProperty("工伤起缴日期")
@JsonFormat(shape= JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd", timezone = "GMT+08:00")
private Date workInjuryStart;
/**
* 生育起缴日期
......@@ -282,6 +291,7 @@ public class TDispatchInfoPreVo extends RowIndex implements Serializable {
@ExcelAttribute(name = "生育起缴日期", isDate = true)
@Schema(description = "生育起缴日期")
@ExcelProperty("生育起缴日期")
@JsonFormat(shape= JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd", timezone = "GMT+08:00")
private Date birthStart;
/**
* 大病起缴日期
......@@ -289,6 +299,7 @@ public class TDispatchInfoPreVo extends RowIndex implements Serializable {
@ExcelAttribute(name = "大病起缴日期", isDate = true)
@Schema(description = "大病起缴日期")
@ExcelProperty("大病起缴日期")
@JsonFormat(shape= JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd", timezone = "GMT+08:00")
private Date bigailmentStart;
/**
* 委托备注
......
......@@ -267,7 +267,11 @@ public class TEmployeeContractInfoController {
@PostMapping("/filingContract")
@PreAuthorize("@pms.hasPermission('temployeecontractinfo_filing')")
public R<String> filingContract(@RequestBody TEmployeeContractInfo tEmployeeContractInfo) {
return tEmployeeContractInfoService.filingContract(tEmployeeContractInfo);
YifuUser user = SecurityUtils.getUser();
if (user == null || Common.isEmpty(user.getId())) {
return R.failed(CommonConstants.PLEASE_LOG_IN);
}
return tEmployeeContractInfoService.filingContract(tEmployeeContractInfo, user);
}
/**
......
......@@ -284,4 +284,14 @@ public class TEmployeeContractPreController {
public R electronicSignExpiringReminder() {
return tEmployeeContractPreService.electronicSignExpiringReminder();
}
/**
* 一键催办
* @param idList 一键催办列表
**/
@Operation(description = "一键催办")
@PostMapping("/contractUrg")
public R contractUrg(@RequestBody List<String> idList) {
return tEmployeeContractPreService.contractUrg(idList);
}
}
......@@ -42,6 +42,6 @@ public interface FascService extends IService<FddContractInfo> {
// 催办签署任务
R<String> urgeTask(String id) throws ApiException;
// 获取附件
R<String> getFileByRequestId(String id) throws ApiException;
boolean getFileByRequestId(String id) throws ApiException;
}
......@@ -130,7 +130,7 @@ public interface TEmployeeContractInfoService extends IService<TEmployeeContract
* @Date: 2022/7/1 10:32
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
**/
R<String> filingContract(TEmployeeContractInfo tEmployeeContractInfo);
R<String> filingContract(TEmployeeContractInfo tEmployeeContractInfo, YifuUser user);
/**
* @param inputStream
......
......@@ -97,4 +97,10 @@ public interface TEmployeeContractPreService extends IService<TEmployeeContractP
*/
R electronicSignExpiringReminder();
/**
* 合同待签订一键催办
* @param idList id集合
* @return
*/
R contractUrg(List<String> idList);
}
......@@ -21,11 +21,13 @@ import com.fasc.open.api.exception.ApiException;
import com.fasc.open.api.v5_1.res.template.SignTemplateListInfo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.*;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.FddContractInfoMapper;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TAttaInfoMapper;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TEmployeeContractPreMapper;
import com.yifu.cloud.plus.v1.yifu.archives.service.*;
import com.yifu.cloud.plus.v1.yifu.archives.utils.FascUtil;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.core.util.OSSUtil;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
......@@ -51,6 +53,10 @@ public class FascServiceImpl extends ServiceImpl<FddContractInfoMapper, FddContr
private final TFascTemplateService tFascTemplateService;
private final TFascTemplateDetailService tFascTemplateDetailService;
private final TEmployeeContractPreMapper tEmployeeContractPreMapper;
private final TAttaInfoMapper tAttaInfoMapper;
private final OSSUtil ossUtil;
private final static String FASC_NO_CONTRACT = "未找到合同";
@Override
public R<String> getTemplate(String templateName) throws ApiException {
......@@ -173,7 +179,7 @@ public class FascServiceImpl extends ServiceImpl<FddContractInfoMapper, FddContr
// templateName 签署任务模板名称
TEmployeeContractPre contract = tEmployeeContractPreMapper.selectById(id);
if (contract == null) {
return R.failed("未找到合同");
return R.failed(FASC_NO_CONTRACT);
}
if (Common.isEmpty(contract.getFadadaTemplateId())) {
return R.failed("未找到合同模板ID,请联系管理员");
......@@ -212,7 +218,7 @@ public class FascServiceImpl extends ServiceImpl<FddContractInfoMapper, FddContr
// templateName 签署任务模板名称
TEmployeeContractPre contract = tEmployeeContractPreMapper.selectById(id);
if (contract == null) {
return R.failed("未找到合同");
return R.failed(FASC_NO_CONTRACT);
}
if (Common.isEmpty(contract.getRequestId())) {
return R.failed("无requestId,请检查数据");
......@@ -235,7 +241,7 @@ public class FascServiceImpl extends ServiceImpl<FddContractInfoMapper, FddContr
// templateName 签署任务模板名称
TEmployeeContractPre contract = tEmployeeContractPreMapper.selectById(id);
if (contract == null) {
return R.failed("未找到合同");
return R.failed(FASC_NO_CONTRACT);
}
if (Common.isEmpty(contract.getRequestId())) {
return R.failed("无requestId,请检查数据");
......@@ -253,20 +259,17 @@ public class FascServiceImpl extends ServiceImpl<FddContractInfoMapper, FddContr
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
**/
@Override
public R<String> getFileByRequestId(String id) throws ApiException {
public boolean getFileByRequestId(String id) throws ApiException {
// templateName 签署任务模板名称
TEmployeeContractPre contract = tEmployeeContractPreMapper.selectById(id);
if (contract == null) {
return R.failed("未找到合同");
return false;
}
if (Common.isEmpty(contract.getRequestId())) {
return R.failed("无requestId,请检查数据");
// return R.failed("无requestId,请检查数据")
return false;
}
// TODO - 判断什么状态催办等,需要产品定
return fascUtil.getFileByRequestId(contract, tFascPushLogService, tEmployeeContractPreMapper);
return fascUtil.getFileByRequestId(contract, tFascPushLogService, tAttaInfoMapper, ossUtil);
}
......
......@@ -777,12 +777,19 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr
@Override
public R<String> auditContract(TEmployeeContractInfo tEmployeeContractInfo, YifuUser user) {
// 是否电子签,默认否
boolean fascFlag = false;
if (tEmployeeContractInfo != null) {
if (Common.isEmpty(tEmployeeContractInfo.getId()) || Common.isEmpty(tEmployeeContractInfo.getAuditStatus())) {
return R.failed("id、意见必填");
}
TEmployeeContractInfo contractInfo = this.getById(tEmployeeContractInfo.getId());
if (contractInfo.getAuditStatus() != CommonConstants.ONE_INT) {
if (Common.isNotNull(contractInfo.getSignType()) && CommonConstants.ZERO_STRING.equals(contractInfo.getSignType())) {
fascFlag = true;
}
if (contractInfo.getAuditStatus() != CommonConstants.ONE_INT
&& !fascFlag) {
// 电子签的也要审核
return R.failed("不是待审核状态!");
}
if (tEmployeeContractInfo.getAuditStatus() == CommonConstants.dingleDigitIntArray[2]) {
......@@ -802,11 +809,11 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr
.eq(TEmployeeProject::getDeleteFlag, CommonConstants.STATUS_NORMAL)
.last(CommonConstants.LAST_ONE_SQL));
// 渲染字典值
Map<String,String> dicObj = (Map<String, String>) RedisUtil.redis.opsForValue().get(
Map<String, String> dicObj = (Map<String, String>) RedisUtil.redis.opsForValue().get(
CacheConstants.DICT_DETAILS + CommonConstants.COLON_STRING + "personnel_type");
String tempStr = null;
for (Map.Entry<String,String> entry:dicObj.entrySet()){
if (Common.isNotNull(entry.getValue()) && entry.getValue().equals(contractInfo.getContractName())){
for (Map.Entry<String, String> entry : dicObj.entrySet()) {
if (Common.isNotNull(entry.getValue()) && entry.getValue().equals(contractInfo.getContractName())) {
tempStr = entry.getKey();
break;
}
......@@ -815,7 +822,7 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr
tEmployeeProject.setContractStatus(CommonConstants.ONE_INT);
//签订类型正常签订的时候更新项目档案信息
if (EmployeeConstants.SITUATION_ONE.equals(contractInfo.getSituation())) {
tEmployeeProject.setContractType(null == tempStr? "":tempStr);
tEmployeeProject.setContractType(null == tempStr ? "" : tempStr);
tEmployeeProject.setWorkingHours(contractInfo.getWorkingHours());
tEmployeeProject.setPost(contractInfo.getPost());
tEmployeeProject.setEnjoinDate(contractInfo.getContractStart().toInstant().atZone(ZoneId.systemDefault()).toLocalDate());
......@@ -842,7 +849,7 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr
TPreEmployeeProject preEmployeeProject = preEmployeeProjectMapper.selectOne(Wrappers.<TPreEmployeeProject>query()
.lambda().eq(TPreEmployeeProject::getPreMainId, empMain.getId()));
if (Optional.ofNullable(preEmployeeProject).isPresent()) {
preEmployeeProject.setContractType(null == tempStr? "":tempStr);
preEmployeeProject.setContractType(null == tempStr ? "" : tempStr);
preEmployeeProject.setWorkingHours(contractInfo.getWorkingHours());
preEmployeeProject.setPost(contractInfo.getPost());
preEmployeeProject.setEnjoinDate(contractInfo.getContractStart());
......@@ -856,7 +863,7 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr
if (EmployeeConstants.SITUATION_SEVEN.equals(contractInfo.getSituation())
&& Common.isNotNull(contractInfo.getChangeContractAndEmployee())
&& CommonConstants.ZERO_STRING.equals(contractInfo.getChangeContractAndEmployee())) {
changeStatus(contractInfo,user);
changeStatus(contractInfo, user);
} else {
//先停用项目内的其他的员工合同————不要这个逻辑了
// 2022-7-22 16:54:12 产品倩倩与测试说,作废终止审核通过,仅将原先选择的合同不在用即可
......@@ -909,14 +916,16 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr
}
}
}
//更新合同状态为4线下签待归档
TEmployeeContractPre contractPre = contractPreMapper.selectOne(Wrappers.<TEmployeeContractPre>query().lambda()
.eq(TEmployeeContractPre::getContractId, contractInfo.getId())
.eq(TEmployeeContractPre::getProcessStatus, CommonConstants.TWO_STRING)
.last(CommonConstants.LAST_ONE_SQL));
if (Common.isNotNull(contractPre)) {
contractPre.setProcessStatus(CommonConstants.FOUR_STRING);
contractPreMapper.updateById(contractPre);
if (!fascFlag) {
//更新合同状态为4线下签待归档
TEmployeeContractPre contractPre = contractPreMapper.selectOne(Wrappers.<TEmployeeContractPre>query().lambda()
.eq(TEmployeeContractPre::getContractId, contractInfo.getId())
.eq(TEmployeeContractPre::getProcessStatus, CommonConstants.TWO_STRING)
.last(CommonConstants.LAST_ONE_SQL));
if (Common.isNotNull(contractPre)) {
contractPre.setProcessStatus(CommonConstants.FOUR_STRING);
contractPreMapper.updateById(contractPre);
}
}
//瓜子项目编码:皖A694302
if (CommonConstants.GZ_DEPT_NO.equals(contractInfo.getDeptNo())) {
......@@ -925,14 +934,16 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr
}
}
if (tEmployeeContractInfo.getAuditStatus() == CommonConstants.dingleDigitIntArray[3]) {
//更新合同状态为3线下签审核不通过
TEmployeeContractPre contractPre = contractPreMapper.selectOne(Wrappers.<TEmployeeContractPre>query().lambda()
.eq(TEmployeeContractPre::getContractId, contractInfo.getId())
.eq(TEmployeeContractPre::getProcessStatus, CommonConstants.TWO_STRING)
.last(CommonConstants.LAST_ONE_SQL));
if (Common.isNotNull(contractPre)) {
contractPre.setProcessStatus(CommonConstants.THREE_STRING);
contractPreMapper.updateById(contractPre);
if (!fascFlag) {
//更新合同状态为3线下签审核不通过
TEmployeeContractPre contractPre = contractPreMapper.selectOne(Wrappers.<TEmployeeContractPre>query().lambda()
.eq(TEmployeeContractPre::getContractId, contractInfo.getId())
.eq(TEmployeeContractPre::getProcessStatus, CommonConstants.TWO_STRING)
.last(CommonConstants.LAST_ONE_SQL));
if (Common.isNotNull(contractPre)) {
contractPre.setProcessStatus(CommonConstants.THREE_STRING);
contractPreMapper.updateById(contractPre);
}
}
}
tEmployeeContractInfo.setAuditUserName(user.getNickname());
......@@ -1018,11 +1029,8 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr
}
@Override
public R<String> filingContract(TEmployeeContractInfo tEmployeeContractInfo) {
YifuUser user = SecurityUtils.getUser();
if (user == null || Common.isEmpty(user.getId())) {
return R.failed(CommonConstants.PLEASE_LOG_IN);
}
public R<String> filingContract(TEmployeeContractInfo tEmployeeContractInfo, YifuUser user) {
if (tEmployeeContractInfo != null) {
if ((Common.isNotNull(tEmployeeContractInfo.getContractNo()) && tEmployeeContractInfo.getContractNo().length() > 50)
|| (Common.isNotNull(tEmployeeContractInfo.getFileCabinetNo()) && tEmployeeContractInfo.getFileCabinetNo().length() > 50)) {
......
......@@ -947,6 +947,11 @@ public class TEmployeeContractPreServiceImpl extends ServiceImpl<TEmployeeContra
});
stats.setExpiringCount(stats.getExpiringCount() + 1);
}
//更新催办和超期标识标识
contract.setOverFlag(CommonConstants.ZERO_STRING);
if (Common.isEmpty(contract.getIsUrg())) {
contract.setIsUrg(CommonConstants.ONE_STRING);
}
}
}
}
......@@ -971,7 +976,29 @@ public class TEmployeeContractPreServiceImpl extends ServiceImpl<TEmployeeContra
return R.failed("执行电子签合同即将超期提醒任务时发生异常:" + e.getMessage());
}
}
@Override
public R contractUrg(List<String> idList) {
// 查询所有待催办的合同
List<TEmployeeContractPre> signingContracts = baseMapper.selectList(Wrappers.<TEmployeeContractPre>query()
.lambda()
.eq(TEmployeeContractPre::getIsUrg, CommonConstants.ONE_STRING)
.in(TEmployeeContractPre::getId, idList)
);
if (Common.isNotNull(signingContracts) && signingContracts.size() > 0) {
try {
for (TEmployeeContractPre pre : signingContracts) {
fascService.urgeTask(pre.getId());
pre.setIsUrg(CommonConstants.ZERO_STRING);
baseMapper.updateById(pre);
}
} catch (Exception e) {
log.error("发送法大大催办时发生异常", e);
}
}
return R.ok();
}
/**
* 计算入职一个月最后一天往前3个工作日的日期列表
* @param lastDay 入职一个月的最后一天
......
......@@ -23,24 +23,26 @@ import com.fasc.open.api.v5_1.res.template.SignTemplateDetailRes;
import com.fasc.open.api.v5_1.res.template.SignTemplateListInfo;
import com.fasc.open.api.v5_1.res.template.SignTemplateListRes;
import com.yifu.cloud.plus.v1.yifu.archives.config.FascConfig;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeContractPre;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TFascPushLog;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TFascTemplate;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TFascTemplateDetail;
import com.yifu.cloud.plus.v1.yifu.archives.entity.*;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TAttaInfoMapper;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TEmployeeContractPreMapper;
import com.yifu.cloud.plus.v1.yifu.archives.service.TFascPushLogService;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CacheConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.exception.CheckedException;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.core.util.DateUtil;
import com.yifu.cloud.plus.v1.yifu.common.core.util.LocalDateTimeUtils;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.core.util.*;
import org.checkerframework.checker.units.qual.C;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
import java.io.File;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLDecoder;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
......@@ -609,8 +611,8 @@ public class FascUtil {
}
// 获取附件
public R<String> getFileByRequestId(TEmployeeContractPre contract, TFascPushLogService tFascPushLogService
, TEmployeeContractPreMapper tEmployeeContractPreMapper) throws ApiException {
public boolean getFileByRequestId(TEmployeeContractPre contract, TFascPushLogService tFascPushLogService
, TAttaInfoMapper tAttaInfoMapper , OSSUtil ossUtil) throws ApiException {
OpenApiClient openApiClient = new OpenApiClient(fascConfig.getAppId(), fascConfig.getAppSecret(), fascConfig.getAppUrl());
String accessToken = this.getFascToken(openApiClient);
......@@ -639,25 +641,67 @@ public class FascUtil {
if (Common.isNotNull(res.getData()) && Common.isNotNull(res.getData().getDocs())) {
for (SignTaskGetFileRes.DocFileInfo doc : res.getData().getDocs()) {
if (Common.isNotNull(doc.getFddFileUrl())) {
// TODO-存储文档
//contract.setFileId(doc.getFileId());
// 存储文档
// 将法大大回传的url字符串转化为流,存储到阿里云
this.streamUpload(doc.getFddFileUrl(), ossUtil, tAttaInfoMapper, contract.getContractId(), doc.getDocName());
}
}
}
contract.setProcessStatus(CommonConstants.dingleDigitStrArray[9]);
tEmployeeContractPreMapper.updateById(contract);
return R.ok();
return true;
} else {
contract.setRequestMsg(res.getMsg());
tEmployeeContractPreMapper.updateById(contract);
return R.failed(res.getMsg());
return false;
}
}
return R.failed("res无返回");
return false;
}
public void streamUpload(String fileUrl, OSSUtil ossUtil, TAttaInfoMapper tAttaInfoMapper, String domainId, String fileName) {
InputStream inputStream = null;
HttpURLConnection connection = null;
try {
// 创建URL连接
URL url = new URL(fileUrl);
connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(30000);
connection.setReadTimeout(60000);
// 获取输入流
inputStream = connection.getInputStream();
String fileType = ".pdf";
fileName += fileType;
// Bucket 命名规范:1)只能包括小写字母,数字和短横线(-);2)必须以小写字母或者数字开头;3)长度必须在 3-63 字节之间。
String ossKey = "fasc/" + domainId + "/" + System.currentTimeMillis() + fileName;
// 直接流式上传到OSS
ossUtil.uploadFileByStream(inputStream, ossKey, null);
TAttaInfo unitAtta = new TAttaInfo();
unitAtta.setDomainId(domainId);
unitAtta.setRelationType(CommonConstants.FOUR_STRING);
unitAtta.setAttaName(fileName);
unitAtta.setAttaSrc(ossKey);
unitAtta.setAttaType(fileType);
unitAtta.setCreateTime(LocalDateTime.now());
unitAtta.setCreateName("法大大电子签");
tAttaInfoMapper.insert(unitAtta);
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("法大大附件流式上传失败: " + e.getMessage());
} finally {
// 关闭资源
if (inputStream != null) {
try {
inputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
if (connection != null) {
connection.disconnect();
}
}
}
}
......@@ -61,6 +61,7 @@ security:
- /gz/core/saveOfferInfo
- /gz/core/getGzBank
- /fasc/api/fascCallback
- /fasc/getFileByRequestId
# 文件上传相关 支持阿里云、华为云、腾讯、minio
......
......@@ -88,6 +88,8 @@
<result property="contractSubName" column="CONTRACT_SUB_NAME"/>
<result property="requestId" column="request_id"/>
<result property="requestMsg" column="request_msg"/>
<result property="isUrg" column="is_urg"/>
<result property="overFlag" column="over_flag"/>
</resultMap>
<sql id="Base_Column_List">
id
......@@ -170,7 +172,7 @@
,TASK_TYPE
,TASK_END_STANDARD,contract_flag,a.CONTRACT_SUB_NAME
,a.request_id
,a.request_msg
,a.request_msg,a.over_flag,a.is_urg
</sql>
<sql id="tEmployeeContractPre_where">
<if test="tEmployeeContractPre != null">
......
......@@ -283,6 +283,7 @@ public class TDispatchInfoPreServiceImpl extends ServiceImpl<TDispatchInfoPreMap
.last(CommonConstants.LAST_ONE_SQL));
if (Common.isNotNull(preExit)) {
TDispatchInfoPreVo pre = new TDispatchInfoPreVo();
BeanUtils.copyProperties(preExit, pre);
preSocialListVo.setDispatchInfoPreVo(pre);
}
......
......@@ -4430,7 +4430,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
//针对社保自动化过来的数据,办理更新待购买数据状态
TDispatchInfoPre dispatchInfoPre = dispatchInfoPreMapper.selectOne(Wrappers.<TDispatchInfoPre>query().lambda()
.eq(TDispatchInfoPre::getSocialFundId, sf.getId())
.eq(TDispatchInfoPre::getProcessStatus, CommonConstants.FIVE_STRING)
.in(TDispatchInfoPre::getProcessStatus, Arrays.asList("5","6","9"))
.last(CommonConstants.LAST_ONE_SQL));
if (Common.isNotNull(dispatchInfoPre)) {
//此处状态可能会更新为 办理成功 办理中 部分办理失败和办理失败
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment