Commit 4ae6e7bd authored by fangxinjiang's avatar fangxinjiang

税友反馈文件下载-fxj

parent 19000d23
...@@ -9,9 +9,12 @@ import com.yifu.cloud.plus.v1.yifu.common.core.exception.CheckedException; ...@@ -9,9 +9,12 @@ 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.Common;
import com.yifu.cloud.plus.v1.yifu.common.core.util.DateUtil; import com.yifu.cloud.plus.v1.yifu.common.core.util.DateUtil;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.social.entity.SysHouseHoldInfo;
import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialFriendBackLog; import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialFriendBackLog;
import com.yifu.cloud.plus.v1.yifu.social.vo.FriendResult; import com.yifu.cloud.plus.v1.yifu.social.vo.FriendResult;
import com.yifu.cloud.plus.v1.yifu.social.vo.SociaFriendYgsAddVo; import com.yifu.cloud.plus.v1.yifu.social.vo.SociaFriendYgsAddVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.SocialSoldierBackVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.SocialSoldierExportVo;
import lombok.Data; import lombok.Data;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
...@@ -19,13 +22,12 @@ import org.springframework.context.annotation.Configuration; ...@@ -19,13 +22,12 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.http.*; import org.springframework.http.*;
import org.springframework.security.core.parameters.P; import org.springframework.security.core.parameters.P;
import org.springframework.web.client.RestTemplate; import org.springframework.web.client.RestTemplate;
import org.springframework.web.util.UriComponentsBuilder;
import java.net.URL;
import java.security.SignatureException; import java.security.SignatureException;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.*;
import java.util.Date;
import java.util.List;
import java.util.TreeMap;
import static com.alibaba.fastjson.serializer.SerializerFeature.*; import static com.alibaba.fastjson.serializer.SerializerFeature.*;
...@@ -64,6 +66,12 @@ public class SocialFriendConfig { ...@@ -64,6 +66,12 @@ public class SocialFriendConfig {
// url拉结果数据 // url拉结果数据
@Value("${socialFriend.urlUpload}") @Value("${socialFriend.urlUpload}")
private String urlUpload; private String urlUpload;
// url人员维度网厅源文件下载(个人审核查询证明)
@Value("${socialFriend.urlDownloadEmployeeAsync}")
private String urlDownloadEmployeeAsync;
@Value("${socialFriend.urlDownloadEmployeeFeedback}")
// URL人员维度网厅源文件下载反馈
private String urlDownloadEmployeeFeedback;
private static final String APP_KEY = "appKey"; private static final String APP_KEY = "appKey";
...@@ -71,10 +79,11 @@ public class SocialFriendConfig { ...@@ -71,10 +79,11 @@ public class SocialFriendConfig {
private static final String X_REQ_NONCE = "xReqNonce"; private static final String X_REQ_NONCE = "xReqNonce";
private static final String VERSION = "version"; private static final String VERSION = "version";
private static final SerializerFeature[] features = new SerializerFeature[] { private static final SerializerFeature[] features = new SerializerFeature[]{
WriteMapNullValue, WriteNullNumberAsZero, WriteNullListAsEmpty, WriteMapNullValue, WriteNullNumberAsZero, WriteNullListAsEmpty,
WriteNullStringAsEmpty,WriteDateUseDateFormat WriteNullStringAsEmpty, WriteDateUseDateFormat
}; };
/** /**
* @param : listVo 同一类(户、增减)的前100个 * @param : listVo 同一类(户、增减)的前100个
* @param : vo 第一个,存账密等信息 * @param : vo 第一个,存账密等信息
...@@ -158,11 +167,11 @@ public class SocialFriendConfig { ...@@ -158,11 +167,11 @@ public class SocialFriendConfig {
if (Common.isNotNull(vo.getQyzgshbxzyhmc())) { if (Common.isNotNull(vo.getQyzgshbxzyhmc())) {
JSONArray qyzgshbxzyhmclbArr = new JSONArray(); JSONArray qyzgshbxzyhmclbArr = new JSONArray();
qyzgshbxzyhmclbArr.add(vo.getQyzgshbxzyhmc()); qyzgshbxzyhmclbArr.add(vo.getQyzgshbxzyhmc());
if (type <3 && vo.getImgListYgs() != null && !vo.getImgListYgs().isEmpty()) { if (type < 3 && vo.getImgListYgs() != null && !vo.getImgListYgs().isEmpty()) {
// 税友新附件接口说用原来的:那就一批任务里面用一份文件就可以了 还是原来的那个字段 2025-5-16 16:57:00 王赣松 // 税友新附件接口说用原来的:那就一批任务里面用一份文件就可以了 还是原来的那个字段 2025-5-16 16:57:00 王赣松
qyzgshbxzyhmclbArr.addAll(vo.getImgListYgs()); qyzgshbxzyhmclbArr.addAll(vo.getImgListYgs());
} }
if (type >2 && vo.getImgListYsd() != null && !vo.getImgListYsd().isEmpty()) { if (type > 2 && vo.getImgListYsd() != null && !vo.getImgListYsd().isEmpty()) {
// 税友新附件接口说用原来的:那就一批任务里面用一份文件就可以了 还是原来的那个字段 2025-5-16 16:57:00 王赣松 // 税友新附件接口说用原来的:那就一批任务里面用一份文件就可以了 还是原来的那个字段 2025-5-16 16:57:00 王赣松
qyzgshbxzyhmclbArr.addAll(vo.getImgListYsd()); qyzgshbxzyhmclbArr.addAll(vo.getImgListYsd());
} }
...@@ -174,11 +183,11 @@ public class SocialFriendConfig { ...@@ -174,11 +183,11 @@ public class SocialFriendConfig {
} else if (Common.isNotNull(vo.getQyzgjbylbxcbdjb())) { } else if (Common.isNotNull(vo.getQyzgjbylbxcbdjb())) {
JSONArray qyzgshbxzyhmclbArr = new JSONArray(); JSONArray qyzgshbxzyhmclbArr = new JSONArray();
qyzgshbxzyhmclbArr.add(vo.getQyzgjbylbxcbdjb()); qyzgshbxzyhmclbArr.add(vo.getQyzgjbylbxcbdjb());
if (type <3 && vo.getImgListYgs() != null && !vo.getImgListYgs().isEmpty()) { if (type < 3 && vo.getImgListYgs() != null && !vo.getImgListYgs().isEmpty()) {
// 税友新附件接口说用原来的:那就一批任务里面用一份文件就可以了 还是原来的那个字段 2025-5-16 16:57:00 王赣松 // 税友新附件接口说用原来的:那就一批任务里面用一份文件就可以了 还是原来的那个字段 2025-5-16 16:57:00 王赣松
qyzgshbxzyhmclbArr.addAll(vo.getImgListYgs()); qyzgshbxzyhmclbArr.addAll(vo.getImgListYgs());
} }
if (type >2 && vo.getImgListYsd() != null && !vo.getImgListYsd().isEmpty()) { if (type > 2 && vo.getImgListYsd() != null && !vo.getImgListYsd().isEmpty()) {
// 税友新附件接口说用原来的:那就一批任务里面用一份文件就可以了 还是原来的那个字段 2025-5-16 16:57:00 王赣松 // 税友新附件接口说用原来的:那就一批任务里面用一份文件就可以了 还是原来的那个字段 2025-5-16 16:57:00 王赣松
qyzgshbxzyhmclbArr.addAll(vo.getImgListYsd()); qyzgshbxzyhmclbArr.addAll(vo.getImgListYsd());
} }
...@@ -295,7 +304,7 @@ public class SocialFriendConfig { ...@@ -295,7 +304,7 @@ public class SocialFriendConfig {
} }
} }
} else { } else {
backLog.setSocialId(appAddUrl+"返回dataResultList为空"); backLog.setSocialId(appAddUrl + "返回dataResultList为空");
} }
return urlStr; return urlStr;
} }
...@@ -662,7 +671,7 @@ public class SocialFriendConfig { ...@@ -662,7 +671,7 @@ public class SocialFriendConfig {
JSONObject blxmjglb; JSONObject blxmjglb;
String zt; String zt;
String cwxx; String cwxx;
for (int i=0; i<ryywbljglbArr.size(); i++) { for (int i = 0; i < ryywbljglbArr.size(); i++) {
ryywbljglb = (JSONObject) ryywbljglbArr.get(i); ryywbljglb = (JSONObject) ryywbljglbArr.get(i);
result = new FriendResult(); result = new FriendResult();
// 身份证 // 身份证
...@@ -757,4 +766,190 @@ public class SocialFriendConfig { ...@@ -757,4 +766,190 @@ public class SocialFriendConfig {
return birthStr; return birthStr;
} }
/**
* @return
* @Author fxj
* @Description
* @Date 14:33 2025/7/15
* @Param type 0 社保 1 医保
* @Param subType 0 增员 1 减员
**/
public HashMap<String, String> getDownloadEmployeeAsync(RestTemplate restTemplate, SysHouseHoldInfo houseHold,
SocialSoldierBackVo backVo) {
HashMap<String, String> result = new HashMap<>();
try {
// 构建请求头
HttpHeaders headers = buildCommonHeaders(null);
// 构建请求体 JSON
JSONObject requestBody = buildDownloadRequestJson(houseHold, backVo);
HttpEntity<String> formEntity = new HttpEntity<>(requestBody.toJSONString(), headers);
// 发起异步下载请求
String downloadEmployeeAsyncUrl = urlPre + urlDownloadEmployeeAsync;
String dataResultList = restTemplate.postForObject(downloadEmployeeAsyncUrl, formEntity, String.class);
if (Common.isNotNull(dataResultList)) {
JSONObject response = JSON.parseObject(dataResultList);
JSONObject head = JSON.parseObject(response.getString("head"));
if ("Y".equals(head.getString("status"))) {
String requestId = JSON.parseObject(response.getString("body")).getString("requestId");
result.put(backVo.getSocialId(), requestId);
/*if (Common.isNotNull(requestId)) {
urls.addAll(getDownloadFeedbackUrls(restTemplate, requestId));
}*/
}
}
} catch (Exception e) {
log.error("获取税友人员审核查询证明文件失败", e);
}
return result;
}
// 构建公共请求头
private HttpHeaders buildCommonHeaders(String requestId) throws SignatureException {
String version = "1.0.0";
String timestamp = String.valueOf(new Date().getTime());
String xReqNonce = "1";
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.add("accept", MediaType.ALL_VALUE);
headers.add(APP_KEY, appKey);
headers.add(TIMESTAMP, timestamp);
headers.add(X_REQ_NONCE, xReqNonce);
headers.add(VERSION, version);
String signature = SocialFriendSign.qianMing(getMapParam(appKey, appSecret, xReqNonce, version, timestamp, requestId));
headers.add("signature", signature);
return headers;
}
// 构建请求参数 JSON
private JSONObject buildDownloadRequestJson(SysHouseHoldInfo vo, SocialSoldierBackVo exportVo) {
JSONObject json = new JSONObject();
/*json.put("bizNo", "211429621163811844098020250715-172343");
json.put("qymc", "安徽皖信人力资源管理有限公司0");
json.put("nsrsbh", "91340152570242449C");
json.put("areaid", "340100");*/
json.put("bizNo", exportVo.getSocialId());
json.put("qymc", vo.getName());
json.put("nsrsbh", vo.getUnitCreditCode());
json.put("areaid", vo.getAreaCode());
JSONArray ywblzhlbArr = new JSONArray();
JSONObject jsonYwblzhlbYgs = new JSONObject();
jsonYwblzhlbYgs.put("mm", vo.getSocialPassword());
jsonYwblzhlbYgs.put("blxm", "社保");
jsonYwblzhlbYgs.put("dwbh", vo.getCustomerNo());
jsonYwblzhlbYgs.put("zh", vo.getSocialAccount());
jsonYwblzhlbYgs.put("mmlx", "4");
ywblzhlbArr.add(jsonYwblzhlbYgs);
json.put("ywblzhlb", ywblzhlbArr);
JSONArray rylbArr = new JSONArray();
JSONObject rylbContent = new JSONObject();
rylbContent.put("xm", exportVo.getEmpName());
rylbContent.put("zzlx", "居民身份证");
rylbContent.put("zzhm", exportVo.getEmpIdcard());
rylbContent.put("blxmlb", new String[]{});
JSONObject tszdxx = new JSONObject();
tszdxx.put("jblx", "增员");
rylbContent.put("tszdxx", tszdxx);
rylbArr.add(rylbContent);
json.put("rylb", rylbArr);
json.put("ywlx", "个人审核查询证明");
JSONArray blxmbArr = new JSONArray();
JSONObject blxm = new JSONObject();
blxm.put("blxm", "社保");
blxmbArr.add(blxm);
json.put("blxmlb", blxmbArr);
return json;
}
// 获取反馈 URL 列表
public List<String> getDownloadFeedbackUrls(RestTemplate restTemplate, String requestId) {
List<String> urls = new ArrayList<>();
String downloadEmployeeFeedbackUrl = urlPre + urlDownloadEmployeeFeedback + "?requestId=" + requestId;
int retryCount = 0;
final int maxRetries = 2;
final long delayMillis = 20000; // 20 seconds
try {
// 构建请求头
HttpHeaders headers = buildCommonHeaders(requestId);
// 构建请求体
HttpEntity<String> formEntity = new HttpEntity<>(headers);
while (retryCount <= maxRetries) {
ResponseEntity<String> response = restTemplate.exchange(
downloadEmployeeFeedbackUrl, HttpMethod.GET, formEntity, String.class);
// 处理返回值
if (response != null && response.getStatusCodeValue() == 200) {
JSONObject dataObject = JSON.parseObject(response.getBody());
String head = dataObject.getString("head");
if (Common.isNotNull(head)) {
JSONObject headObject = JSON.parseObject(head);
if ("Y".equals(headObject.getString("status"))) {
JSONObject bodyObject = JSON.parseObject(dataObject.getString("body"));
String ryywbljglb = bodyObject.getString("ryywbljglb");
JSONArray ryywbljglbArr = JSON.parseArray(ryywbljglb);
if (ryywbljglbArr != null && !ryywbljglbArr.isEmpty()){
for (Object itemObj : ryywbljglbArr) {
JSONObject ryywbljglbItem = (JSONObject) itemObj;
JSONArray blxmjglbArr = JSON.parseArray(ryywbljglbItem.getString("blxmjglb"));
if (blxmjglbArr != null && !blxmjglbArr.isEmpty()){
for (Object blxmjglbObj : blxmjglbArr) {
JSONObject blxmjglbItem = (JSONObject) blxmjglbObj;
JSONArray jgmxlbArr = JSON.parseArray(blxmjglbItem.getString("jgmxlb"));
if (jgmxlbArr != null && !jgmxlbArr.isEmpty()){
for (Object jgmxlbObj : jgmxlbArr) {
JSONObject jgmxlbItem = (JSONObject) jgmxlbObj;
JSONArray wjdzlb = jgmxlbItem.getJSONArray("wjdzlb");
if (wjdzlb != null && !wjdzlb.isEmpty()) {
urls.addAll(wjdzlb.toJavaList(String.class));
}
}
}
}
}
}
}
}
}
}
// 如果成功获取到数据,则跳出循环
if (!urls.isEmpty()) {
break;
}
// 如果没有获取到数据,等待一段时间后重试
if (retryCount < maxRetries) {
Thread.sleep(delayMillis);
retryCount++;
} else {
break;
}
}
} catch (Exception e) {
log.error("获取税友人员审核查询证明文件反馈链接失败", e);
}
return urls;
}
} }
...@@ -947,4 +947,17 @@ public class TDispatchInfoController { ...@@ -947,4 +947,17 @@ public class TDispatchInfoController {
return tDispatchInfoService.doExportRoster(socialId,type,unitCreditCode); return tDispatchInfoService.doExportRoster(socialId,type,unitCreditCode);
} }
/**
* @Author fxj
* @Description
* @Date 15:20 2025/7/15
**/
@PostMapping("/doExportSocialSoldierAllBackFile")
@Operation(description = "自动化办理查询导出反馈文件")
@SysLog("自动化办理查询导出反馈文件")
public void doExportSocialSoldierAllBackFile(HttpServletResponse response, HttpServletRequest request,
@RequestBody SocialHandleSearchVo searchVo) {
tDispatchInfoService.doExportSocialSoldierAllBackFile(response,searchVo,searchVo.getIdStr());
}
} }
...@@ -306,4 +306,14 @@ public interface TDispatchInfoMapper extends BaseMapper<TDispatchInfo> { ...@@ -306,4 +306,14 @@ public interface TDispatchInfoMapper extends BaseMapper<TDispatchInfo> {
List<String> getSingleFlagMap(@Param("idsList")List<String> idsList); List<String> getSingleFlagMap(@Param("idsList")List<String> idsList);
// 获取自动生成减员离职证明的派单ID // 获取自动生成减员离职证明的派单ID
List<String> getAutoDocFlagMap(@Param("idsList")List<String> idsList); List<String> getAutoDocFlagMap(@Param("idsList")List<String> idsList);
/**
* @Author fxj
* @Description 自动化办理查询导出反馈文件
* @Date 15:29 2025/7/15
**/
List<SocialSoldierBackVo> getSocialSoldierAllListBackFile(@Param("tDispatchInfo") SocialHandleSearchVo dispatchInfo,
@Param("idsStr") List<String> idsStr);
int updateBackFileFlag(@Param("idsStr") List<String> idsStr);
} }
...@@ -187,4 +187,6 @@ public interface TDispatchInfoService extends IService<TDispatchInfo> { ...@@ -187,4 +187,6 @@ public interface TDispatchInfoService extends IService<TDispatchInfo> {
List<SocialHandleExportVo> getRecordRosterList(SocialHandleSearchVo searchVo, String idStr); List<SocialHandleExportVo> getRecordRosterList(SocialHandleSearchVo searchVo, String idStr);
R<URL> doExportRoster(String socialId, String type,String unitCreditCode); R<URL> doExportRoster(String socialId, String type,String unitCreditCode);
void doExportSocialSoldierAllBackFile(HttpServletResponse response, SocialHandleSearchVo searchVo, String idStr);
} }
...@@ -57,11 +57,23 @@ soldier: ...@@ -57,11 +57,23 @@ soldier:
urlPre : http://36.7.147.29:55555 urlPre : http://36.7.147.29:55555
#税友相关属性配置 #税友相关属性配置
socialFriend: socialFriend:
urlPre : https://test-openapi.17win.com #urlPre : https://test-openapi.17win.com
#urlPushAdd: /gateway/socins/hrss/employee/v2/register
#urlGetInfoAdd: /gateway/socins/hrss/employee/v2/getRegisterFeedback
#urlPushReduce: /gateway/socins/hrss/employee/v2/stop
#urlGetInfoReduce: /gateway/socins/hrss/employee/v2/getStopFeedback
#urlDownloadEmployeeAsync: /gateway/pts/hrss/sourceFile/downloadEmployeeAsync
#urlDownloadEmployeeFeedback: /gateway/pts/hrss/sourceFile/downloadEmployeeFeedback
#urlUpload : /gateway/file/upload
#appKey : 89357285571962202409230949030
#appSecret : V52dkvxtFUgIvzlfNE9G8g==
urlPre: https://openapi.17win.com
urlPushAdd: /gateway/socins/hrss/employee/v2/register urlPushAdd: /gateway/socins/hrss/employee/v2/register
urlGetInfoAdd: /gateway/socins/hrss/employee/v2/getRegisterFeedback urlGetInfoAdd: /gateway/socins/hrss/employee/v2/getRegisterFeedback
urlPushReduce: /gateway/socins/hrss/employee/v2/stop urlPushReduce: /gateway/socins/hrss/employee/v2/stop
urlGetInfoReduce: /gateway/socins/hrss/employee/v2/getStopFeedback urlGetInfoReduce: /gateway/socins/hrss/employee/v2/getStopFeedback
urlUpload : /gateway/file/upload urlDownloadEmployeeAsync: /gateway/pts/hrss/sourceFile/downloadEmployeeAsync
appKey : 89357285571962202409230949030 urlDownloadEmployeeFeedback: /gateway/pts/hrss/sourceFile/downloadEmployeeFeedback
appSecret : V52dkvxtFUgIvzlfNE9G8g== urlUpload: /gateway/file/upload
\ No newline at end of file appKey: 3082B14EE2114C2D93B3A222DD925C26=
appSecret: VmURqoxqmoKnNLXzAWynqQ==
\ No newline at end of file
...@@ -356,7 +356,16 @@ ...@@ -356,7 +356,16 @@
<result property="firstPayTime" column="FIRST_PAY_TIME"/> <result property="firstPayTime" column="FIRST_PAY_TIME"/>
<result property="graduationTime" column="GRADUATION_TIME"/> <result property="graduationTime" column="GRADUATION_TIME"/>
</resultMap> </resultMap>
<!-- 社保反馈文件下载专用 -->
<resultMap id="socialSoldierBackMap" type="com.yifu.cloud.plus.v1.yifu.social.vo.SocialSoldierBackVo">
<result property="dispatchId" column="id"/>
<result property="socialId" column="social_id"/>
<result property="empName" column="EMP_NAME"/>
<result property="empIdcard" column="EMP_IDCARD"/>
<result property="ygsHandleStatus" column="ygs_Handle_Status"/>
<result property="ysdHandleStatus" column="ysd_Handle_Status"/>
<result property="socialHouseholdName" column="SOCIAL_HOUSEHOLD_NAME"/>
</resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
a.ID, a.ID,
a.EMP_ID, a.EMP_ID,
...@@ -1514,6 +1523,7 @@ ...@@ -1514,6 +1523,7 @@
<result property="ysdRequestId" column="YSD_REQUEST_ID"/> <result property="ysdRequestId" column="YSD_REQUEST_ID"/>
<result property="ygsSocialStartDateNext" column="YGS_SOCIAL_START_DATE_NEXT"/> <result property="ygsSocialStartDateNext" column="YGS_SOCIAL_START_DATE_NEXT"/>
<result property="ysdSocialStartDateNext" column="YSD_SOCIAL_START_DATE_NEXT"/> <result property="ysdSocialStartDateNext" column="YSD_SOCIAL_START_DATE_NEXT"/>
<result property="backFileFlag" column="BACK_FILE_FLAG"/>
</resultMap> </resultMap>
<!-- hgw 2024-5-10 10:42:33 社保士兵列表查询 --> <!-- hgw 2024-5-10 10:42:33 社保士兵列表查询 -->
...@@ -1602,6 +1612,7 @@ ...@@ -1602,6 +1612,7 @@
,s.YGS_REQUEST_ID,s.YSD_REQUEST_ID ,s.YGS_REQUEST_ID,s.YSD_REQUEST_ID
,if(a.type ='0',YGS_SOCIAL_START_DATE_NEXT,null) YGS_SOCIAL_START_DATE_NEXT ,if(a.type ='0',YGS_SOCIAL_START_DATE_NEXT,null) YGS_SOCIAL_START_DATE_NEXT
,if(a.type ='0',YSD_SOCIAL_START_DATE_NEXT,null) YSD_SOCIAL_START_DATE_NEXT ,if(a.type ='0',YSD_SOCIAL_START_DATE_NEXT,null) YSD_SOCIAL_START_DATE_NEXT
,a.BACK_FILE_FLAG
FROM t_dispatch_info a FROM t_dispatch_info a
left join t_social_info s on a.SOCIAL_ID = s.id left join t_social_info s on a.SOCIAL_ID = s.id
left join t_dispatch_social_fund_info h on a.id = h.REDUCE_SOCIAL_FUND_ID left join t_dispatch_social_fund_info h on a.id = h.REDUCE_SOCIAL_FUND_ID
...@@ -1701,6 +1712,7 @@ ...@@ -1701,6 +1712,7 @@
,if(a.type ='0' and s.add_ysd_Handle_Status != '0', s.add_YSD_REQUEST_ID, s.YSD_REQUEST_ID) YSD_REQUEST_ID ,if(a.type ='0' and s.add_ysd_Handle_Status != '0', s.add_YSD_REQUEST_ID, s.YSD_REQUEST_ID) YSD_REQUEST_ID
,if(a.type ='0',YGS_SOCIAL_START_DATE_NEXT,null) YGS_SOCIAL_START_DATE_NEXT ,if(a.type ='0',YGS_SOCIAL_START_DATE_NEXT,null) YGS_SOCIAL_START_DATE_NEXT
,if(a.type ='0',YSD_SOCIAL_START_DATE_NEXT,null) YSD_SOCIAL_START_DATE_NEXT ,if(a.type ='0',YSD_SOCIAL_START_DATE_NEXT,null) YSD_SOCIAL_START_DATE_NEXT
,a.BACK_FILE_FLAG
FROM t_dispatch_info a FROM t_dispatch_info a
left join t_social_info s on a.SOCIAL_ID = s.id left join t_social_info s on a.SOCIAL_ID = s.id
left join t_dispatch_social_fund_info h on a.id = h.REDUCE_SOCIAL_FUND_ID left join t_dispatch_social_fund_info h on a.id = h.REDUCE_SOCIAL_FUND_ID
...@@ -2136,6 +2148,9 @@ ...@@ -2136,6 +2148,9 @@
<include refid="where_getSocialRecordRoster_base"/> <include refid="where_getSocialRecordRoster_base"/>
<if test="tDispatchInfo != null"> <if test="tDispatchInfo != null">
<if test="tDispatchInfo.backFileFlag != null and tDispatchInfo.backFileFlag.trim() != ''">
AND a.BACK_FILE_FLAG = #{tDispatchInfo.backFileFlag}
</if>
<if test="tDispatchInfo.ygsHandleStatus != null and tDispatchInfo.ygsHandleStatus.trim() != ''"> <if test="tDispatchInfo.ygsHandleStatus != null and tDispatchInfo.ygsHandleStatus.trim() != ''">
AND s.YGS_HANDLE_STATUS = #{tDispatchInfo.ygsHandleStatus} AND s.YGS_HANDLE_STATUS = #{tDispatchInfo.ygsHandleStatus}
</if> </if>
...@@ -2825,4 +2840,43 @@ ...@@ -2825,4 +2840,43 @@
#{item} #{item}
</foreach> </foreach>
</select> </select>
<!--tDispatchInfo 自动化办理查询导出反馈文件-->
<select id="getSocialSoldierAllListBackFile" resultMap="socialSoldierBackMap">
SELECT
a.id,
a.social_id,
a.EMP_NAME,
a.EMP_IDCARD
,s.ygs_Handle_Status
,s.ysd_Handle_Status
,a.SOCIAL_HOUSEHOLD_NAME
FROM t_dispatch_info a
left join t_social_info s on a.SOCIAL_ID = s.id
<where>
a.DELETE_FLAG = '0'
AND a.social_id is not null
and a.AUTO_FLAG = '0'
and a.type = '0'
<!-- 税友反馈接口目前只支持社保附件下载,必须是办理成功的 -->
and s.ygs_Handle_Status = '6'
<if test="idsStr != null and idsStr.size > 0">
AND a.ID in
<foreach item="items" index="index" collection="idsStr" open="(" separator="," close=")">
#{items}
</foreach>
</if>
</where>
order by a.AUDIT_TIME desc
</select>
<update id="updateBackFileFlag">
update t_dispatch_info a set a.BACK_FILE_FLAG = '已下载'
WHERE 1=2
<if test="idsStr != null and idsStr.size > 0">
or a.ID in
<foreach item="items" index="index" collection="idsStr" open="(" separator="," close=")">
#{items}
</foreach>
</if>
</update>
</mapper> </mapper>
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