Commit 2e2059fa authored by fangxinjiang's avatar fangxinjiang

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

parents 41dc061a d7e98aec
...@@ -16,4 +16,5 @@ public class BaseIdNameNoVo implements Serializable { ...@@ -16,4 +16,5 @@ public class BaseIdNameNoVo implements Serializable {
private String name; private String name;
private String no; private String no;
private String type; private String type;
private String empName;
} }
...@@ -108,6 +108,15 @@ public class EkpBankAtta { ...@@ -108,6 +108,15 @@ public class EkpBankAtta {
@ExcelProperty("创建时间") @ExcelProperty("创建时间")
private LocalDateTime fdCreateTime; private LocalDateTime fdCreateTime;
/**
* 非扣税对应的姓名
*/
@ExcelAttribute(name = "非扣税对应的姓名", maxLength = 100)
@Length(max = 100, message = "非扣税对应的姓名不能超过100个字符")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("非扣税对应的姓名")
private String fdEmpName;
/** /**
* @Description: 生成mdCode码 * @Description: 生成mdCode码
* @Author: hgw * @Author: hgw
......
...@@ -54,4 +54,24 @@ public class FileUploadController { ...@@ -54,4 +54,24 @@ public class FileUploadController {
} }
return R.ok(returnUrl); return R.ok(returnUrl);
} }
/**
* 根据Src获取银企付款的回单:
* 非扣税专用
* @return R
* @author hgw
*/
@Operation(summary = "根据Src获取银企付款的回单:--EKP调用接口", description = "根据Src获取银企付款的回单:--EKP调用接口")
@SysLog("根据Src获取银企付款的回单:--EKP调用接口")
@GetMapping("/getNoTaxAttaBySrc")
public R<String> getNoTaxAttaBySrc(@RequestParam String src) {
String returnUrl = null;
if (Common.isNotNull(src)) {
URL url = ossUtil.getObjectUrl(null, src);
if (Common.isNotNull(url)) {
returnUrl = String.valueOf(url).replace("http", "https");
}
}
return R.ok(returnUrl);
}
} }
...@@ -5,6 +5,9 @@ import com.yifu.cloud.plus.v1.ekp.entity.EkpBankAtta; ...@@ -5,6 +5,9 @@ import com.yifu.cloud.plus.v1.ekp.entity.EkpBankAtta;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/** /**
* 社保明细表 * 社保明细表
* *
...@@ -23,4 +26,5 @@ public interface EkpBankAttaMapper extends BaseMapper<EkpBankAtta> { ...@@ -23,4 +26,5 @@ public interface EkpBankAttaMapper extends BaseMapper<EkpBankAtta> {
* @return: com.yifu.cloud.plus.v1.ekp.vo.EkpDeptInfoVo * @return: com.yifu.cloud.plus.v1.ekp.vo.EkpDeptInfoVo
**/ **/
EkpBankAtta getEkpBankAttaLimit(@Param("fdId") String fdId, @Param("type") String type); EkpBankAtta getEkpBankAttaLimit(@Param("fdId") String fdId, @Param("type") String type);
List<String> getEkpBankAttaByDate(@Param("createDay") String createDay);
} }
...@@ -20,6 +20,8 @@ package com.yifu.cloud.plus.v1.ekp.service; ...@@ -20,6 +20,8 @@ package com.yifu.cloud.plus.v1.ekp.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.ekp.entity.EkpBankAtta; import com.yifu.cloud.plus.v1.ekp.entity.EkpBankAtta;
import java.util.Map;
/** /**
* 银企付款下载关联表 * 银企付款下载关联表
* *
...@@ -27,5 +29,6 @@ import com.yifu.cloud.plus.v1.ekp.entity.EkpBankAtta; ...@@ -27,5 +29,6 @@ import com.yifu.cloud.plus.v1.ekp.entity.EkpBankAtta;
* @date 2024-11-15 17:12:14 * @date 2024-11-15 17:12:14
*/ */
public interface EkpBankAttaService extends IService<EkpBankAtta> { public interface EkpBankAttaService extends IService<EkpBankAtta> {
// 查询已存在的数据,用来去重
Map<String, Integer> getEkpBankAttaByDate(String createDay);
} }
...@@ -20,9 +20,14 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; ...@@ -20,9 +20,14 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.ekp.entity.EkpBankAtta; import com.yifu.cloud.plus.v1.ekp.entity.EkpBankAtta;
import com.yifu.cloud.plus.v1.ekp.mapper.EkpBankAttaMapper; import com.yifu.cloud.plus.v1.ekp.mapper.EkpBankAttaMapper;
import com.yifu.cloud.plus.v1.ekp.service.EkpBankAttaService; import com.yifu.cloud.plus.v1.ekp.service.EkpBankAttaService;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/** /**
* 银企付款下载关联表 * 银企付款下载关联表
* *
...@@ -33,4 +38,15 @@ import org.springframework.stereotype.Service; ...@@ -33,4 +38,15 @@ import org.springframework.stereotype.Service;
@Service @Service
public class EkpBankAttaServiceImpl extends ServiceImpl<EkpBankAttaMapper, EkpBankAtta> implements EkpBankAttaService { public class EkpBankAttaServiceImpl extends ServiceImpl<EkpBankAttaMapper, EkpBankAtta> implements EkpBankAttaService {
@Override
public Map<String, Integer> getEkpBankAttaByDate(String createDay) {
List<String> list = baseMapper.getEkpBankAttaByDate(createDay);
Map<String, Integer> returnMap = new HashMap<>();
if (list != null && !list.isEmpty()) {
for (String s : list) {
returnMap.put(s, CommonConstants.ONE_INT);
}
}
return returnMap;
}
} }
...@@ -1816,6 +1816,10 @@ public class IcbcTransactionFlowIssueServiceImpl extends ServiceImpl<EkpSocialIn ...@@ -1816,6 +1816,10 @@ public class IcbcTransactionFlowIssueServiceImpl extends ServiceImpl<EkpSocialIn
File dir; File dir;
String localZipPath; String localZipPath;
String unzipDir; String unzipDir;
// 查找已存在的附件名称,重复的过滤
Map<String, Integer> curMap = ekpBankAttaService.getEkpBankAttaByDate(targetDate);
for (ChannelSftp.LsEntry entry : files) { for (ChannelSftp.LsEntry entry : files) {
if (!entry.getAttrs().isDir()) { if (!entry.getAttrs().isDir()) {
fileName = entry.getFilename(); fileName = entry.getFilename();
...@@ -1837,7 +1841,7 @@ public class IcbcTransactionFlowIssueServiceImpl extends ServiceImpl<EkpSocialIn ...@@ -1837,7 +1841,7 @@ public class IcbcTransactionFlowIssueServiceImpl extends ServiceImpl<EkpSocialIn
unzipFile(localZipPath, unzipDir); unzipFile(localZipPath, unzipDir);
// 6. 处理映射关系 // 6. 处理映射关系
processPdfFilesByNoTax(unzipDir, returnMap); processPdfFilesByNoTax(unzipDir, returnMap, curMap);
// 7. 清理临时文件 // 7. 清理临时文件
FileUtils.deleteDirectory(new File(tempDir)); FileUtils.deleteDirectory(new File(tempDir));
...@@ -1991,14 +1995,14 @@ public class IcbcTransactionFlowIssueServiceImpl extends ServiceImpl<EkpSocialIn ...@@ -1991,14 +1995,14 @@ public class IcbcTransactionFlowIssueServiceImpl extends ServiceImpl<EkpSocialIn
return fileName; // 如果没有匹配到,返回null return fileName; // 如果没有匹配到,返回null
} }
private void processPdfFilesByNoTax(String pdfDir, Map<String, BaseIdNameNoVo> returnMap) { private void processPdfFilesByNoTax(String pdfDir, Map<String, BaseIdNameNoVo> returnMap, Map<String, Integer> curMap) {
File directory = new File(pdfDir); File directory = new File(pdfDir);
File[] pdfFiles = directory.listFiles((dir, name) -> name.endsWith(".pdf")); File[] pdfFiles = directory.listFiles((dir, name) -> name.endsWith(".pdf"));
if (pdfFiles == null) return; if (pdfFiles == null) return;
String filePath = "ekpBankDownPdfFile"; String filePath = "ekpBankDownPdfFile";
EkpBankAtta attaOld; Integer attaOld;
BaseIdNameNoVo vo; BaseIdNameNoVo vo;
String pdfName; String pdfName;
String pdfNameKey; String pdfNameKey;
...@@ -2006,6 +2010,7 @@ public class IcbcTransactionFlowIssueServiceImpl extends ServiceImpl<EkpSocialIn ...@@ -2006,6 +2010,7 @@ public class IcbcTransactionFlowIssueServiceImpl extends ServiceImpl<EkpSocialIn
boolean flag; boolean flag;
String linkId; String linkId;
EkpBankAtta atta; EkpBankAtta atta;
String fdEmpName;
for (File pdfFile : pdfFiles) { for (File pdfFile : pdfFiles) {
pdfName = pdfFile.getName(); pdfName = pdfFile.getName();
pdfNameKey = this.getPdfNumberByNoTax(pdfName); pdfNameKey = this.getPdfNumberByNoTax(pdfName);
...@@ -2019,8 +2024,7 @@ public class IcbcTransactionFlowIssueServiceImpl extends ServiceImpl<EkpSocialIn ...@@ -2019,8 +2024,7 @@ public class IcbcTransactionFlowIssueServiceImpl extends ServiceImpl<EkpSocialIn
if (flag) { if (flag) {
linkId = vo.getId(); linkId = vo.getId();
//重复的过滤 //重复的过滤
attaOld = ekpBankAttaService.getOne(Wrappers.<EkpBankAtta>query().lambda(). attaOld = curMap.get(pdfName);
eq(EkpBankAtta::getFdLinkId, linkId).last(CommonConstants.LAST_ONE_SQL));
if (Common.isEmpty(attaOld)) { if (Common.isEmpty(attaOld)) {
atta = new EkpBankAtta(); atta = new EkpBankAtta();
atta.setFdAttaName(pdfName); atta.setFdAttaName(pdfName);
...@@ -2029,6 +2033,8 @@ public class IcbcTransactionFlowIssueServiceImpl extends ServiceImpl<EkpSocialIn ...@@ -2029,6 +2033,8 @@ public class IcbcTransactionFlowIssueServiceImpl extends ServiceImpl<EkpSocialIn
atta.setFdCreateTime(LocalDateTime.now()); atta.setFdCreateTime(LocalDateTime.now());
atta.setFdLinkId(linkId); atta.setFdLinkId(linkId);
atta.setFdLinkType(CommonConstants.FOUR_INT); atta.setFdLinkType(CommonConstants.FOUR_INT);
atta.setFdEmpName(vo.getEmpName());
ekpBankAttaService.save(atta); ekpBankAttaService.save(atta);
} }
} }
......
...@@ -405,11 +405,12 @@ public class IcbcTransactionFlowQueryServiceImpl extends ServiceImpl<EkpSocialIn ...@@ -405,11 +405,12 @@ public class IcbcTransactionFlowQueryServiceImpl extends ServiceImpl<EkpSocialIn
int startIndex; int startIndex;
int endIndex; int endIndex;
String no; String no;
BaseIdNameNoVo infoVo; BaseIdNameNoVo infoOldVo;
BaseIdNameNoVo infoDetailVo; BaseIdNameNoVo infoNewVo;
if (returnMap == null) { if (returnMap == null) {
returnMap = new HashMap<>(); returnMap = new HashMap<>();
} }
String empName;
for (MybankEnterpriseTradeQhisdResponseV1.MybankEnterpriseTradeQhisdResponseRdV1 vo : valueList) { for (MybankEnterpriseTradeQhisdResponseV1.MybankEnterpriseTradeQhisdResponseRdV1 vo : valueList) {
if (Common.isNotNull(vo.getReceiptInfo())) { if (Common.isNotNull(vo.getReceiptInfo())) {
receiptInfo = vo.getReceiptInfo(); receiptInfo = vo.getReceiptInfo();
...@@ -422,17 +423,35 @@ public class IcbcTransactionFlowQueryServiceImpl extends ServiceImpl<EkpSocialIn ...@@ -422,17 +423,35 @@ public class IcbcTransactionFlowQueryServiceImpl extends ServiceImpl<EkpSocialIn
no = no.split("-")[0]; no = no.split("-")[0];
} }
// no 的值将是 "HQP923041354291" // no 的值将是 "HQP923041354291"
infoVo = mainMap.get(no); infoOldVo = mainMap.get(no);
if (infoVo != null) { if (infoOldVo != null) {
infoVo.setName(vo.getOnlySequence()); infoNewVo = new BaseIdNameNoVo();
infoVo.setType(CommonConstants.THREE_STRING); infoNewVo.setId(infoOldVo.getId());
returnMap.put(vo.getOnlySequence(), infoVo); infoNewVo.setNo(infoOldVo.getNo());
infoNewVo.setName(vo.getOnlySequence());
infoNewVo.setType(CommonConstants.THREE_STRING);
empName = vo.getRecipName();
// 截取empName100长度
if (Common.isNotNull(empName) && empName.length() > 100) {
empName = empName.substring(0, 100);
}
infoNewVo.setEmpName(empName);
returnMap.put(vo.getOnlySequence(), infoNewVo);
} }
infoDetailVo = detailMap.get(no); infoOldVo = detailMap.get(no);
if (infoDetailVo != null) { if (infoOldVo != null) {
infoDetailVo.setName(vo.getOnlySequence()); infoNewVo = new BaseIdNameNoVo();
infoVo.setType(CommonConstants.FOUR_STRING); infoNewVo.setId(infoOldVo.getId());
returnMap.put(vo.getOnlySequence(), infoVo); infoNewVo.setNo(infoOldVo.getNo());
infoNewVo.setName(vo.getOnlySequence());
infoNewVo.setType(CommonConstants.FOUR_STRING);
empName = vo.getRecipName();
// 截取empName100长度
if (Common.isNotNull(empName) && empName.length() > 100) {
empName = empName.substring(0, 100);
}
infoNewVo.setEmpName(empName);
returnMap.put(vo.getOnlySequence(), infoNewVo);
} }
} }
} }
......
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
<result property="fdLinkId" column="fd_link_id"/> <result property="fdLinkId" column="fd_link_id"/>
<result property="fdLinkType" column="fd_link_type"/> <result property="fdLinkType" column="fd_link_type"/>
<result property="fdCreateTime" column="fd_create_time"/> <result property="fdCreateTime" column="fd_create_time"/>
<result property="fdEmpName" column="fd_emp_name"/>
</resultMap> </resultMap>
<sql id="selectParams"> <sql id="selectParams">
a.fd_id, a.fd_id,
...@@ -41,7 +42,8 @@ ...@@ -41,7 +42,8 @@
a.fd_atta_size, a.fd_atta_size,
a.fd_link_id, a.fd_link_id,
a.fd_link_type, a.fd_link_type,
a.fd_create_time a.fd_create_time,
a.fd_emp_name
</sql> </sql>
<!--获取最新的附件--> <!--获取最新的附件-->
<select id="getEkpBankAttaLimit" resultMap="tAttaMap"> <select id="getEkpBankAttaLimit" resultMap="tAttaMap">
...@@ -52,4 +54,9 @@ ...@@ -52,4 +54,9 @@
order by a.fd_create_time desc limit 1 order by a.fd_create_time desc limit 1
</select> </select>
<!--获取非扣税的附件,用来去重-->
<select id="getEkpBankAttaByDate" resultType="java.lang.String">
SELECT a.fd_atta_name FROM ekp_bank_atta a where a.fd_link_type = '4' and DATE_FORMAT(a.fd_create_time,'%Y%m%d') = #{createDay}
</select>
</mapper> </mapper>
...@@ -133,22 +133,22 @@ ...@@ -133,22 +133,22 @@
<!--查询所有需要查询的单号-主表--> <!--查询所有需要查询的单号-主表-->
<select id="getNoToQueryByMain" resultType="com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseIdNameNoVo"> <select id="getNoToQueryByMain" resultType="com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseIdNameNoVo">
SELECT a.fd_id id,a.fd_atta_src no FROM ekp_bank_pay_task a SELECT a.fd_wx_no id,a.fd_atta_src no FROM ekp_bank_pay_task a
where a.fd_pay_type = '非扣税' and a.fd_atta_src is not null where a.fd_pay_type = '非扣税' and a.fd_atta_src is not null
and a.fd_create_time >= DATE_SUB(curdate(), INTERVAL 3 MONTH) and a.fd_create_time >= DATE_SUB(curdate(), INTERVAL 3 MONTH)
and not EXISTS ( and not EXISTS (
select 1 from ekp_bank_atta b where b.fd_link_type='4' and a.fd_id=b.fd_link_id select 1 from ekp_bank_atta b where b.fd_link_type='4' and a.fd_wx_no=b.fd_link_id
) )
</select> </select>
<!--查询所有需要查询的单号-明细表--> <!--查询所有需要查询的单号-明细表-->
<select id="getNoToQueryByDetail" resultType="com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseIdNameNoVo"> <select id="getNoToQueryByDetail" resultType="com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseIdNameNoVo">
SELECT a.fd_id id,a.fd_atta_src no FROM ekp_bank_grant_detail a SELECT a.fd_wx_no id,a.fd_atta_src no FROM ekp_bank_grant_detail a
left join ekp_bank_pay_task m on m.fd_id=a.fd_parent_id left join ekp_bank_pay_task m on m.fd_id=a.fd_parent_id
where m.fd_pay_type = '非扣税' and a.fd_atta_src is not null where m.fd_pay_type = '非扣税' and a.fd_atta_src is not null
and a.fd_create_time >= DATE_SUB(curdate(), INTERVAL 6 MONTH) and a.fd_create_time >= DATE_SUB(curdate(), INTERVAL 6 MONTH)
and not EXISTS ( and not EXISTS (
select 1 from ekp_bank_atta b where b.fd_link_type='4' and a.fd_id=b.fd_link_id select 1 from ekp_bank_atta b where b.fd_link_type='4' and a.fd_wx_no=b.fd_link_id
) )
</select> </select>
......
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