|
|
@@ -32,6 +32,7 @@ import java.util.Calendar;
|
|
|
import java.util.List;
|
|
|
import java.util.concurrent.ScheduledThreadPoolExecutor;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
+import java.util.stream.Collectors;
|
|
|
import java.util.zip.ZipEntry;
|
|
|
import java.util.zip.ZipInputStream;
|
|
|
|
|
|
@@ -93,19 +94,20 @@ public class PaymentRsaDownloadJob {
|
|
|
public ReturnT<String> paymentRsaDownJobHandler(String param) throws Exception {
|
|
|
log.info(String.format(" 回执单定时器! 时间:" + DateUtils.getTimestamp()));
|
|
|
XxlJobLogger.log(String.format(" 回执单定时器! 时间:" + DateUtils.getTimestamp()));
|
|
|
- //查询前一天未下载对账单的付款单
|
|
|
- List<HlwPayment> hlwPaymentList = hlwPaymentService.findNoStatementList();
|
|
|
- for (HlwPayment hlwPayment : hlwPaymentList) {
|
|
|
+ //查询前一天未下载对账单的付款记录(考虑补发,按付款批次记录查询)
|
|
|
+ List<HlwPayRecord> hlwPayRecordList = hlwPayRecordService.findNoStatementList();
|
|
|
+ //移除补发的记录
|
|
|
+ hlwPayRecordList = hlwPayRecordList.stream().filter(item -> item.getPaymentDetailId() == null).collect(Collectors.toList());
|
|
|
+ log.info("按批次====={}", hlwPayRecordList.size());
|
|
|
+ for (HlwPayRecord hlwPayRecord : hlwPayRecordList) {
|
|
|
+ //付款单
|
|
|
+ HlwPayment hlwPayment = hlwPaymentService.getById(hlwPayRecord.getPaymentId());
|
|
|
//服务商信息
|
|
|
HlwSubcontractor hlwSubcontractor = hlwSubcontractorService.getById(hlwPayment.getSubcontractorId());
|
|
|
- //付款记录
|
|
|
- QueryWrapper<HlwPayRecord> queryWrapper = new QueryWrapper<>();
|
|
|
- queryWrapper.eq("payment_id", hlwPayment.getId());
|
|
|
- HlwPayRecord hlwPayRecord = hlwPayRecordService.getOne(queryWrapper);
|
|
|
//打印模式 S:逐笔打印:每笔明细生成一个PDF文件 M:批量打印:所有明细生成生成到一个PDF文件里面
|
|
|
printMode = "M";
|
|
|
//请求银行接口查询结果
|
|
|
- JSONObject jsonObjectBody = PayRsaCommon.DCAGPPDF(hlwPayment, hlwPayRecord, hlwSubcontractor, printMode);
|
|
|
+ JSONObject jsonObjectBody = PayRsaCommon.DCAGPPDF(hlwPayRecord, hlwSubcontractor, printMode);
|
|
|
if (jsonObjectBody != null) {
|
|
|
//打印任务编号
|
|
|
String printId = jsonObjectBody.getString("printid");
|
|
|
@@ -119,7 +121,7 @@ public class PaymentRsaDownloadJob {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 按明细打印
|
|
|
+ * 按明细打印(包括正常支付明细+补发明细)
|
|
|
*
|
|
|
* @param param
|
|
|
* @return
|
|
|
@@ -130,19 +132,17 @@ public class PaymentRsaDownloadJob {
|
|
|
public ReturnT<String> paymentRsaDownDetailJobHandler(String param) throws Exception {
|
|
|
log.info(String.format(" 回执单定时器! 时间:" + DateUtils.getTimestamp()));
|
|
|
XxlJobLogger.log(String.format(" 回执单定时器! 时间:" + DateUtils.getTimestamp()));
|
|
|
- //查询前一天未下载对账单的付款单
|
|
|
- List<HlwPayment> hlwPaymentList = hlwPaymentService.findNoStatementList();
|
|
|
- for (HlwPayment hlwPayment : hlwPaymentList) {
|
|
|
+ //查询前一天未下载对账单的付款记录(考虑补发,按付款批次记录查询)
|
|
|
+ List<HlwPayRecord> hlwPayRecordList = hlwPayRecordService.findNoStatementList();
|
|
|
+ for (HlwPayRecord hlwPayRecord : hlwPayRecordList) {
|
|
|
+ //付款单
|
|
|
+ HlwPayment hlwPayment = hlwPaymentService.getById(hlwPayRecord.getPaymentId());
|
|
|
//服务商信息
|
|
|
HlwSubcontractor hlwSubcontractor = hlwSubcontractorService.getById(hlwPayment.getSubcontractorId());
|
|
|
- //付款记录
|
|
|
- QueryWrapper<HlwPayRecord> queryWrapper = new QueryWrapper<>();
|
|
|
- queryWrapper.eq("payment_id", hlwPayment.getId());
|
|
|
- HlwPayRecord hlwPayRecord = hlwPayRecordService.getOne(queryWrapper);
|
|
|
//打印模式 S:逐笔打印:每笔明细生成一个PDF文件 M:批量打印:所有明细生成生成到一个PDF文件里面
|
|
|
printMode = "S";
|
|
|
//请求银行接口查询结果
|
|
|
- JSONObject jsonObjectBody = PayRsaCommon.DCAGPPDF(hlwPayment, hlwPayRecord, hlwSubcontractor, printMode);
|
|
|
+ JSONObject jsonObjectBody = PayRsaCommon.DCAGPPDF(hlwPayRecord, hlwSubcontractor, printMode);
|
|
|
if (jsonObjectBody != null) {
|
|
|
//打印任务编号
|
|
|
String printId = jsonObjectBody.getString("printid");
|