Commit f0f142a8 authored by hongguangwu's avatar hongguangwu

MVP1.7.10-单个推送接口

parent 41ab3486
...@@ -65,7 +65,7 @@ public class TSocialFriendBackLog { ...@@ -65,7 +65,7 @@ public class TSocialFriendBackLog {
@ExcelAttribute(name = "类型") @ExcelAttribute(name = "类型")
@ExcelProperty("类型") @ExcelProperty("类型")
@Schema(description = "类型1社保增 2社保减 3医保增 4医保减 5推送的日志 6社保图片路径7医保图片路径11社保增拉取 12社保减拉取 13医保增拉取 14医保减拉取") @Schema(description = "类型1社保增 2社保减 3医保增 4医保减 5推送的日志 6社保图片路径7医保图片路径11社保增拉取 12社保减拉取 13医保增拉取 14医保减拉取16社保单个图片17医保单个图片")
private Integer type; private Integer type;
/** /**
......
...@@ -5,6 +5,7 @@ import com.alibaba.excel.annotation.ExcelProperty; ...@@ -5,6 +5,7 @@ import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.List;
/** /**
* @Author hgw * @Author hgw
...@@ -82,6 +83,8 @@ public class SociaFriendYgsAddVo implements Serializable { ...@@ -82,6 +83,8 @@ public class SociaFriendYgsAddVo implements Serializable {
// 企业职工社会保险增员花名册 qyzgshbxzyhmc // 企业职工社会保险增员花名册 qyzgshbxzyhmc
private String qyzgshbxzyhmc; private String qyzgshbxzyhmc;
// 单个附件list
private List<String> imgList;
// 当前行政经办区——2025-3-31 10:23:02 盛宇与税友沟通,可以默认安徽省,暂时不用这个字段了,后面有特殊要求再加 // 当前行政经办区——2025-3-31 10:23:02 盛宇与税友沟通,可以默认安徽省,暂时不用这个字段了,后面有特殊要求再加
/*@ExcelProperty("当前行政经办区 /*@ExcelProperty("当前行政经办区
private String dqxzjbq*/ private String dqxzjbq*/
...@@ -109,4 +112,10 @@ public class SociaFriendYgsAddVo implements Serializable { ...@@ -109,4 +112,10 @@ public class SociaFriendYgsAddVo implements Serializable {
@ExcelProperty("备案解除二级原因") @ExcelProperty("备案解除二级原因")
private String bajcejyy; private String bajcejyy;
@ExcelProperty("是否单个")
private String isSingle;
// 用来获取单个推送的附件
@ExcelProperty("派单ID")
private String dispatchId;
} }
...@@ -158,6 +158,9 @@ public class SocialFriendConfig { ...@@ -158,6 +158,9 @@ public class SocialFriendConfig {
qyzgshbxzyhmclbArr.add(vo.getQyzgjbylbxcbdjb()); qyzgshbxzyhmclbArr.add(vo.getQyzgjbylbxcbdjb());
json.put("qyzgshbxzyhmclb", qyzgshbxzyhmclbArr); json.put("qyzgshbxzyhmclb", qyzgshbxzyhmclbArr);
} }
// todo-税友新附件接口还没有,要把 imgUrl传过去
// json.put("imgUrl", vo.getImgList());
HttpEntity<String> formEntity = new HttpEntity<>(json.toString(), headers); HttpEntity<String> formEntity = new HttpEntity<>(json.toString(), headers);
// 推的json // 推的json
TSocialFriendBackLog backLogPush = new TSocialFriendBackLog(); TSocialFriendBackLog backLogPush = new TSocialFriendBackLog();
......
...@@ -531,7 +531,7 @@ public class TDispatchInfoController { ...@@ -531,7 +531,7 @@ public class TDispatchInfoController {
try { try {
if (Common.isNotNull(requestId)) { if (Common.isNotNull(requestId)) {
//主动释放锁 //主动释放锁
return tDispatchInfoService.addApplyAudit(idList,auditStatus,auditRemark,remark); return tDispatchInfoService.addApplyAudit(idList,auditStatus,auditRemark,remark, isSingleAudit);
} else { } else {
return R.failed(ResultConstants.NO_GETLOCK_DATA); return R.failed(ResultConstants.NO_GETLOCK_DATA);
} }
......
...@@ -80,9 +80,11 @@ public interface TDispatchInfoService extends IService<TDispatchInfo> { ...@@ -80,9 +80,11 @@ public interface TDispatchInfoService extends IService<TDispatchInfo> {
DispatchDetailVo getSocialAndFundInfoById(String id); DispatchDetailVo getSocialAndFundInfoById(String id);
List<ErrorMessage> addBatchApplyAudit(List<String> idsList, YifuUser user, int flag, String auditStatus, String auditRemark, String remark); List<ErrorMessage> addBatchApplyAudit(List<String> idsList, YifuUser user, int flag, String auditStatus
, String auditRemark, String remark, String isSingleAudit);
R<List<ErrorMessage>> addApplyAudit(List<String> ids, String auditStatus, String auditRemark, String remark); R<List<ErrorMessage>> addApplyAudit(List<String> ids, String auditStatus, String auditRemark, String remark
, String isSingleAudit);
// isAutoFlag:是否社保士兵的自动办理,true :是 // isAutoFlag:是否社保士兵的自动办理,true :是
R<List<ErrorMessage>> addApplyHandle(List<String> ids, String typeSub, String handleStatus, String handleRemark, String socialType, String remark, YifuUser user, boolean isAutoHandle); R<List<ErrorMessage>> addApplyHandle(List<String> ids, String typeSub, String handleStatus, String handleRemark, String socialType, String remark, YifuUser user, boolean isAutoHandle);
......
...@@ -3476,11 +3476,12 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T ...@@ -3476,11 +3476,12 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
* @Author fxj * @Author fxj
* @Description 派单申请批量审核 * @Description 派单申请批量审核
* @Date 16:54 2022/7/25 * @Date 16:54 2022/7/25
* @Param * @Param isSingleAudit 1:单个审核接口并且户类型为单个,即时推送税友
* @return * @return
**/ **/
@Override @Override
public List<ErrorMessage> addBatchApplyAudit(List<String> idsList, YifuUser user, int flag, String auditStatus, String auditRemark, String remark) { public List<ErrorMessage> addBatchApplyAudit(List<String> idsList, YifuUser user, int flag, String auditStatus
, String auditRemark, String remark, String isSingleAudit) {
List<ErrorMessage> errorList = new ArrayList<>(); List<ErrorMessage> errorList = new ArrayList<>();
if (!Common.isNotNull(idsList)) { if (!Common.isNotNull(idsList)) {
errorList.add(new ErrorMessage(-1, CommonConstants.PARAM_IS_NOT_ERROR)); errorList.add(new ErrorMessage(-1, CommonConstants.PARAM_IS_NOT_ERROR));
...@@ -3804,6 +3805,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T ...@@ -3804,6 +3805,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
} }
} }
dis.setIsSingle(isSingleAudit);
baseMapper.updateById(dis); baseMapper.updateById(dis);
socialFundMapper.updateById(sf); socialFundMapper.updateById(sf);
if (isAuto) { if (isAuto) {
...@@ -3816,7 +3818,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T ...@@ -3816,7 +3818,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
&& set != null && Common.isNotNull(set.getType()) && set.getType() == 1) { && set != null && Common.isNotNull(set.getType()) && set.getType() == 1) {
isFriend = true; isFriend = true;
} }
socialTask.pushSoldier(dis.getId(), isFriend); socialTask.pushSoldier(dis.getId(), isFriend, isSingleAudit);
} }
//派减的申请审核完更新社保公积金查询快照表 //派减的申请审核完更新社保公积金查询快照表
...@@ -3931,10 +3933,12 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T ...@@ -3931,10 +3933,12 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
} }
} }
// String isSingleAudit 1:单个审核接口并且户类型为单个,即时推送税友
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@ShardingTransactionType(TransactionType.BASE) @ShardingTransactionType(TransactionType.BASE)
@Override @Override
public R<List<ErrorMessage>> addApplyAudit(List<String> ids, String auditStatus, String auditRemark, String remark) { public R<List<ErrorMessage>> addApplyAudit(List<String> ids, String auditStatus, String auditRemark, String remark
, String isSingleAudit) {
YifuUser user = SecurityUtils.getUser(); YifuUser user = SecurityUtils.getUser();
if (null == user) { if (null == user) {
return R.failed(CommonConstants.USER_FAIL); return R.failed(CommonConstants.USER_FAIL);
...@@ -3953,7 +3957,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T ...@@ -3953,7 +3957,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
} else { } else {
return R.failed("派单审核状态参数异常:0待审核 1审核通过 2审核不通过"); return R.failed("派单审核状态参数异常:0待审核 1审核通过 2审核不通过");
} }
List<ErrorMessage> errorInfo = addBatchApplyAudit(ids, user, flag, auditStatus, Common.isNullToString(auditRemark),remark); List<ErrorMessage> errorInfo = addBatchApplyAudit(ids, user, flag, auditStatus, Common.isNullToString(auditRemark),remark, isSingleAudit);
return R.ok(errorInfo,"派单审核结果:"); return R.ok(errorInfo,"派单审核结果:");
} catch (Exception e) { } catch (Exception e) {
log.error("派单审核异常:" + e.getMessage()); log.error("派单审核异常:" + e.getMessage());
......
...@@ -39,6 +39,7 @@ import com.yifu.cloud.plus.v1.yifu.social.util.ExcelToImage; ...@@ -39,6 +39,7 @@ import com.yifu.cloud.plus.v1.yifu.social.util.ExcelToImage;
import com.yifu.cloud.plus.v1.yifu.social.vo.*; import com.yifu.cloud.plus.v1.yifu.social.vo.*;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.apache.commons.io.IOUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate; import org.springframework.web.client.RestTemplate;
...@@ -99,6 +100,7 @@ public class TSocialFriendPushServiceImpl extends ServiceImpl<TSocialFriendMappe ...@@ -99,6 +100,7 @@ public class TSocialFriendPushServiceImpl extends ServiceImpl<TSocialFriendMappe
TSocialFreindSet set = tSocialFreindSetService.getById("1"); TSocialFreindSet set = tSocialFreindSetService.getById("1");
if (set != null && Common.isNotNull(set.getType()) && 1 == set.getType()) { if (set != null && Common.isNotNull(set.getType()) && 1 == set.getType()) {
// 离职原因Map,将离职原因翻译为税友的字典
Map<String, TSocialFriendReduceSet> reduceMap = tSocialFriendReduceSetService.getFriendReduceMap(); Map<String, TSocialFriendReduceSet> reduceMap = tSocialFriendReduceSetService.getFriendReduceMap();
// 获取时间限制配置(获取 当月启用 的配置) // 获取时间限制配置(获取 当月启用 的配置)
...@@ -174,6 +176,8 @@ public class TSocialFriendPushServiceImpl extends ServiceImpl<TSocialFriendMappe ...@@ -174,6 +176,8 @@ public class TSocialFriendPushServiceImpl extends ServiceImpl<TSocialFriendMappe
SociaFriendYgsAddVo vo; SociaFriendYgsAddVo vo;
int i=1; int i=1;
TSocialFriendReduceSet reduceSet; TSocialFriendReduceSet reduceSet;
// 是否为单个推送(派单审核时定性的)
boolean isSingle;
for (int index = 0 ; index < ygsAddlist.size(); index++) { for (int index = 0 ; index < ygsAddlist.size(); index++) {
vo = ygsAddlist.get(index); vo = ygsAddlist.get(index);
// 派减离职原因转化: // 派减离职原因转化:
...@@ -214,12 +218,19 @@ public class TSocialFriendPushServiceImpl extends ServiceImpl<TSocialFriendMappe ...@@ -214,12 +218,19 @@ public class TSocialFriendPushServiceImpl extends ServiceImpl<TSocialFriendMappe
&& !vo.getSocialHouseholdName().equals(ygsAddlist.get(index+1).getSocialHouseholdName())) { && !vo.getSocialHouseholdName().equals(ygsAddlist.get(index+1).getSocialHouseholdName())) {
nextFlag = true; nextFlag = true;
} }
if (nextFlag || i % 10 == 0 || index >= ygsAddlist.size()-1) { isSingle = Common.isNotNull(vo.getIsSingle()) && CommonConstants.ONE_STRING.equals(vo.getIsSingle());
if (isSingle || nextFlag || i % 10 == 0 || index >= ygsAddlist.size()-1) {
// 房工接口,获取 企业职工社会保险增员花名册 url // 房工接口,获取 企业职工社会保险增员花名册 url
urlR = doExportRoster(vo.getSocialId(), String.valueOf(type), vo.getUnitCreditCode(), listVo); urlR = doExportRoster(vo.getSocialId(), String.valueOf(type), vo.getUnitCreditCode(), listVo);
if (urlR != null && urlR.getCode() == 200 && Common.isNotNull(urlR.getData())) { if (urlR != null && urlR.getCode() == 200 && Common.isNotNull(urlR.getData())) {
vo.setQyzgshbxzyhmc(urlR.getData()); vo.setQyzgshbxzyhmc(urlR.getData());
} }
if (isSingle && Common.isNotNull(vo.getDispatchId())) {
// 获取单个附件并推送税友,返回 imgList 到Vo里
this.setImgList(vo);
}
i=0; i=0;
nextFlag = false; nextFlag = false;
requestId = socialFriendConfig.pushFriendByInfo(restTemplate, vo, listVo, type, thisTime, backLogList); requestId = socialFriendConfig.pushFriendByInfo(restTemplate, vo, listVo, type, thisTime, backLogList);
...@@ -278,6 +289,57 @@ public class TSocialFriendPushServiceImpl extends ServiceImpl<TSocialFriendMappe ...@@ -278,6 +289,57 @@ public class TSocialFriendPushServiceImpl extends ServiceImpl<TSocialFriendMappe
} }
} }
/**
* @param vo
* @Description: 获取单个附件并推送税友,返回 imgList 到Vo里
* @Author: hgw
* @Date: 2025/4/28 17:05
* @return: void
**/
private void setImgList(SociaFriendYgsAddVo vo) {
URL url;
InputStream inStream = null;
List<String> imgList = new ArrayList<>();
List<TAttaInfo> attaInfoList = attaInfoMapper.getTAttaInfoListByDoMainId(vo.getDispatchId());
if (attaInfoList != null && !attaInfoList.isEmpty()) {
String base64String;
TSocialFriendBackLog backLog;
String imgUrl;
for (TAttaInfo attaInfo : attaInfoList) {
if (Common.isNotNull(attaInfo.getAttaSrc())) {
// 获取附件url
url = ossUtil.getObjectUrl(null, attaInfo.getAttaSrc());
if (url != null) {
try {
inStream = url.openStream();
// inStream转化为base64String
base64String = Base64.getEncoder().encodeToString(IOUtils.toByteArray(inStream));
backLog = new TSocialFriendBackLog();
backLog.setSocialId(vo.getSocialId());
backLog.setType(16);
imgUrl = socialFriendConfig.uploadPng(restTemplate, attaInfo.getAttaName(), base64String, backLog);
tSocialFriendBackLogService.save(backLog);
if (Common.isNotNull(imgUrl)){
imgList.add(imgUrl);
}
} catch (Exception e){
log.info("税友单个图片上传失败!");
} finally {
if (null != inStream){
try {
inStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
}
vo.setImgList(imgList);
}
}
/** /**
* @Description: 推送医保和记录日志 * @Description: 推送医保和记录日志
* @Author: hgw * @Author: hgw
......
...@@ -269,7 +269,7 @@ public class DoSocialTask { ...@@ -269,7 +269,7 @@ public class DoSocialTask {
* @return * @return
**/ **/
@Async @Async
public void pushSoldier(String dispatchId, boolean isFriend) { public void pushSoldier(String dispatchId, boolean isFriend, String isSingleAudit) {
List<String> dispatchIdList = new ArrayList<>(); List<String> dispatchIdList = new ArrayList<>();
dispatchIdList.add(dispatchId); dispatchIdList.add(dispatchId);
try { try {
...@@ -280,7 +280,10 @@ public class DoSocialTask { ...@@ -280,7 +280,10 @@ public class DoSocialTask {
// 当前默认 安徽省 ,且开关是税友的,才可以税友推送办理 // 当前默认 安徽省 ,且开关是税友的,才可以税友推送办理
if (isFriend) { if (isFriend) {
// 断开派单单条推送税友 // 断开派单单条推送税友
// tSocialFriendPushService.pushFriend(dispatchIdList); // 单个审核接口并且户类型为单个,即时推送税友
if (CommonConstants.ONE_STRING.equals(isSingleAudit)) {
tSocialFriendPushService.pushFriend(dispatchIdList);
}
} else { } else {
tSocialSoldierPushService.pushSoldier(dispatchIdList); tSocialSoldierPushService.pushSoldier(dispatchIdList);
} }
......
...@@ -79,7 +79,9 @@ ...@@ -79,7 +79,9 @@
s.SOCIAL_PROVINCE socialProvince, s.SOCIAL_PROVINCE socialProvince,
s.SOCIAL_CITY socialCity, s.SOCIAL_CITY socialCity,
s.SOCIAL_TOWN socialTown, s.SOCIAL_TOWN socialTown,
a.SCHOOL_NAME byyx a.SCHOOL_NAME byyx,
a.IS_SINGLE isSingle,
a.ID dispatchId
</sql> </sql>
...@@ -221,7 +223,9 @@ ...@@ -221,7 +223,9 @@
s.SOCIAL_PROVINCE socialProvince, s.SOCIAL_PROVINCE socialProvince,
s.SOCIAL_CITY socialCity, s.SOCIAL_CITY socialCity,
s.SOCIAL_TOWN socialTown, s.SOCIAL_TOWN socialTown,
a.SCHOOL_NAME byyx a.SCHOOL_NAME byyx,
a.IS_SINGLE isSingle,
a.ID dispatchId
<include refid="getSocialSoldierBaseTwo"/> <include refid="getSocialSoldierBaseTwo"/>
and a.type = '1' and s.YSD_HANDLE_STATUS in ('0','1','3') and a.type = '1' and s.YSD_HANDLE_STATUS in ('0','1','3')
and ( and (
......
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