Merge branch 'ht' of http://ufidahz.com.cn:9015/hzya/kangarooDataCenterV3 into ht
Conflicts: fw-oa/src/main/java/com/hzya/frame/seeyon/service/impl/SeeYonInterFaceImpl.java fw-oa/src/main/java/com/hzya/frame/seeyon/zxbank/service/impl/ZxBankServiceImpl.java
This commit is contained in:
commit
341ac6fb7d
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,58 @@
|
||||||
|
package com.hzya.frame.plugin.ht.plugin;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.hzya.frame.base.PluginBaseEntity;
|
||||||
|
import com.hzya.frame.plugin.zxBank.plugin.ZxBankResultPluginInitializer;
|
||||||
|
import com.hzya.frame.seeyon.invoice.service.impl.InvoiceServiceImpl;
|
||||||
|
import com.hzya.frame.web.entity.JsonResultEntity;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
|
public class QueryInputInvoiceResultPluginInitializer extends PluginBaseEntity {
|
||||||
|
Logger logger = LoggerFactory.getLogger(QueryInputInvoiceResultPluginInitializer.class);
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private InvoiceServiceImpl invoiceService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void initialize() {
|
||||||
|
logger.info(getPluginLabel() + "執行初始化方法initialize()");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void destroy() {
|
||||||
|
logger.info(getPluginLabel() + "執行銷毀方法destroy()");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getPluginId() {
|
||||||
|
return "QueryInputInvoiceResultPluginInitializer";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getPluginName() {
|
||||||
|
return "查询发票批量录入返回结果插件";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getPluginLabel() {
|
||||||
|
return "QueryInputInvoiceResultPluginInitializer";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getPluginType() {
|
||||||
|
return "1";
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public JsonResultEntity executeBusiness(JSONObject requestJson) {
|
||||||
|
try {
|
||||||
|
logger.info("======开始执行查询税务进项发票批量录入返回结果========");
|
||||||
|
return invoiceService.queryInputInvoiceResult(requestJson);
|
||||||
|
}catch (Exception e){
|
||||||
|
logger.info("======执行查询税务进项发票批量录入返回结果失败:{}========",e.getMessage());
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,58 @@
|
||||||
|
package com.hzya.frame.plugin.ht.plugin;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.hzya.frame.base.PluginBaseEntity;
|
||||||
|
import com.hzya.frame.plugin.zxBank.plugin.ZxBankResultPluginInitializer;
|
||||||
|
import com.hzya.frame.seeyon.invoice.service.impl.InvoiceServiceImpl;
|
||||||
|
import com.hzya.frame.web.entity.JsonResultEntity;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
|
public class QueryInvoiceResultPluginInitializer extends PluginBaseEntity {
|
||||||
|
Logger logger = LoggerFactory.getLogger(ZxBankResultPluginInitializer.class);
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private InvoiceServiceImpl invoiceService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void initialize() {
|
||||||
|
logger.info(getPluginLabel() + "執行初始化方法initialize()");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void destroy() {
|
||||||
|
logger.info(getPluginLabel() + "執行銷毀方法destroy()");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getPluginId() {
|
||||||
|
return "QueryInvoiceResultPluginInitializer";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getPluginName() {
|
||||||
|
return "查询开票申请详情插件";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getPluginLabel() {
|
||||||
|
return "QueryInvoiceResultPluginInitializer";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getPluginType() {
|
||||||
|
return "1";
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public JsonResultEntity executeBusiness(JSONObject requestJson) {
|
||||||
|
try {
|
||||||
|
logger.info("======开始执行查询税务开票申请详情返回结果========");
|
||||||
|
return invoiceService.queryInvoiceResult(requestJson);
|
||||||
|
}catch (Exception e){
|
||||||
|
logger.info("======执行查询税务开票申请详情返回结果失败:{}========",e.getMessage());
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
package com.hzya.frame.plugin.zxBank.dao;
|
||||||
|
|
||||||
|
import com.hzya.frame.basedao.dao.IBaseDao;
|
||||||
|
import com.hzya.frame.plugin.zxBank.entity.ZjgjEntity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description 资金归集
|
||||||
|
* @Author xiangerlin
|
||||||
|
* @Date 2025/4/11 11:07
|
||||||
|
**/
|
||||||
|
public interface IZjgjDao extends IBaseDao<ZjgjEntity,String> {
|
||||||
|
}
|
|
@ -0,0 +1,15 @@
|
||||||
|
package com.hzya.frame.plugin.zxBank.dao.impl;
|
||||||
|
|
||||||
|
import com.hzya.frame.basedao.dao.MybatisGenericDao;
|
||||||
|
import com.hzya.frame.plugin.zxBank.dao.IZjgjDao;
|
||||||
|
import com.hzya.frame.plugin.zxBank.entity.ZjgjEntity;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description 资金归集
|
||||||
|
* @Author xiangerlin
|
||||||
|
* @Date 2025/4/11 11:07
|
||||||
|
**/
|
||||||
|
@Repository()
|
||||||
|
public class ZjgjDaoImpl extends MybatisGenericDao<ZjgjEntity,String> implements IZjgjDao {
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
package com.hzya.frame.plugin.zxBank.entity;
|
||||||
|
|
||||||
|
import com.hzya.frame.web.entity.BaseEntity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description 资金归集
|
||||||
|
* @Author xiangerlin
|
||||||
|
* @Date 2025/4/11 11:04
|
||||||
|
**/
|
||||||
|
public class ZjgjEntity extends BaseEntity {
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.hzya.frame.plugin.zxBank.dao.impl.ZjgjDaoImpl">
|
||||||
|
<resultMap id="get-ZjgjEntity-result" type="com.hzya.frame.plugin.zxBank.entity.ZjgjEntity">
|
||||||
|
<result property="id" column="id" />
|
||||||
|
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
|
||||||
|
</mapper>
|
||||||
|
|
|
@ -0,0 +1,97 @@
|
||||||
|
package com.hzya.frame.plugin.zxBank.plugin;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.hzya.frame.base.PluginBaseEntity;
|
||||||
|
import com.hzya.frame.web.entity.JsonResultEntity;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description 资金归集审批结果通知司库
|
||||||
|
* @Author xiangerlin
|
||||||
|
* @Date 2025/4/11 09:48
|
||||||
|
**/
|
||||||
|
public class ZjgjPluginInitializer extends PluginBaseEntity {
|
||||||
|
Logger logger = LoggerFactory.getLogger(getClass());
|
||||||
|
/***
|
||||||
|
* 插件初始化方法
|
||||||
|
* @Author 👻👻👻👻👻👻👻👻 gjh
|
||||||
|
* @Date 2023-08-02 10:48
|
||||||
|
* @Param []
|
||||||
|
* @return void
|
||||||
|
**/
|
||||||
|
@Override
|
||||||
|
public void initialize() {
|
||||||
|
logger.info(getPluginLabel() + "執行初始化方法initialize()");
|
||||||
|
}
|
||||||
|
|
||||||
|
/****
|
||||||
|
* 插件销毁方法
|
||||||
|
* @author 👻👻👻👻👻👻👻👻 gjh
|
||||||
|
* @date 2023-08-02 10:48
|
||||||
|
* @return void
|
||||||
|
**/
|
||||||
|
@Override
|
||||||
|
public void destroy() {
|
||||||
|
logger.info(getPluginLabel() + "執行銷毀方法destroy()");
|
||||||
|
}
|
||||||
|
|
||||||
|
/****
|
||||||
|
* 插件的ID
|
||||||
|
* @author 👻👻👻👻👻👻👻👻 gjh
|
||||||
|
* @date 2023-08-02 10:48
|
||||||
|
* @return void
|
||||||
|
**/
|
||||||
|
@Override
|
||||||
|
public String getPluginId() {
|
||||||
|
return "ZjgjPluginInitializer";
|
||||||
|
}
|
||||||
|
|
||||||
|
/****
|
||||||
|
* 插件的名称
|
||||||
|
* @author 👻👻👻👻👻👻👻👻 gjh
|
||||||
|
* @date 2023-08-02 10:48
|
||||||
|
* @return void
|
||||||
|
**/
|
||||||
|
@Override
|
||||||
|
public String getPluginName() {
|
||||||
|
return "OA资金归集审批结果回传司库";
|
||||||
|
}
|
||||||
|
|
||||||
|
/****
|
||||||
|
* 插件的显示值
|
||||||
|
* @author 👻👻👻👻👻👻👻👻 gjh
|
||||||
|
* @date 2023-08-02 10:48
|
||||||
|
* @return void
|
||||||
|
**/
|
||||||
|
@Override
|
||||||
|
public String getPluginLabel() {
|
||||||
|
return "OA资金归集审批结果回传司库";
|
||||||
|
}
|
||||||
|
|
||||||
|
/***
|
||||||
|
* 插件类型 1、场景插件
|
||||||
|
* @Author 👻👻👻👻👻👻👻👻 gjh
|
||||||
|
* @Date 2023-08-02 14:01
|
||||||
|
* @Param []
|
||||||
|
* @return java.lang.String
|
||||||
|
**/
|
||||||
|
@Override
|
||||||
|
public String getPluginType() {
|
||||||
|
return "1";
|
||||||
|
}
|
||||||
|
|
||||||
|
/***
|
||||||
|
* 执行业务代码
|
||||||
|
* @Author 👻👻👻👻👻👻👻👻 gjh
|
||||||
|
* @Date 2023-08-07 11:20
|
||||||
|
* @param requestJson 执行业务代码的参数
|
||||||
|
* @return void
|
||||||
|
**/
|
||||||
|
@Override
|
||||||
|
public JsonResultEntity executeBusiness(JSONObject requestJson) throws Exception {
|
||||||
|
logger.info("======开始执OA资金归集审批结果回传司库插件======");
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
package com.hzya.frame.plugin.zxBank.service;
|
||||||
|
|
||||||
|
import com.hzya.frame.basedao.service.IBaseService;
|
||||||
|
import com.hzya.frame.plugin.zxBank.entity.ZjgjEntity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description 资金归集
|
||||||
|
* @Author xiangerlin
|
||||||
|
* @Date 2025/4/11 11:03
|
||||||
|
**/
|
||||||
|
public interface IZjgjService extends IBaseService<ZjgjEntity,String> {
|
||||||
|
}
|
|
@ -0,0 +1,19 @@
|
||||||
|
package com.hzya.frame.plugin.zxBank.service.impl;
|
||||||
|
|
||||||
|
import com.hzya.frame.basedao.service.impl.BaseService;
|
||||||
|
import com.hzya.frame.plugin.zxBank.entity.ZjgjEntity;
|
||||||
|
import com.hzya.frame.plugin.zxBank.service.IZjgjService;
|
||||||
|
import org.apache.logging.log4j.LogManager;
|
||||||
|
import org.apache.logging.log4j.Logger;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description
|
||||||
|
* @Author xiangerlin
|
||||||
|
* @Date 2025/4/11 11:04
|
||||||
|
**/
|
||||||
|
@Service
|
||||||
|
public class ZjgjServiceImpl extends BaseService<ZjgjEntity,String> implements IZjgjService {
|
||||||
|
Logger logger = LogManager.getLogger(getClass());
|
||||||
|
|
||||||
|
}
|
|
@ -40,7 +40,15 @@ OA:
|
||||||
data_source_code: yc_oa
|
data_source_code: yc_oa
|
||||||
zt:
|
zt:
|
||||||
url: http://127.0.0.1:9999/kangarooDataCenterV3/entranceController/externalCallInterface
|
url: http://127.0.0.1:9999/kangarooDataCenterV3/entranceController/externalCallInterface
|
||||||
|
file_oa:
|
||||||
|
url: http://127.0.0.1:9999/kangarooDataCenterV3/entranceController/externalCallInterfacefileUpload
|
||||||
|
#税务pdf附件下载存放路径
|
||||||
|
invoice_pdf:
|
||||||
|
url: D:\yongansystem\invoice\pdf\
|
||||||
|
#税务ofd附件下载存放路径
|
||||||
|
invoice_ofd:
|
||||||
|
url: D:\yongansystem\invoice\ofd\
|
||||||
zx:
|
zx:
|
||||||
# 测试用这个 这个是银行给的
|
# 生产用这个 这个是银行给的
|
||||||
privateKey: MIGTAgEAMBMGByqGSM49AgEGCCqBHM9VAYItBHkwdwIBAQQgtzMo2o6THK3yLIm+83Ch/560+02l2hjjBSFGieWY/Z6gCgYIKoEcz1UBgi2hRANCAATKhwZX4P3XI8vYTKeCOLMVbanUNbaXjrIEZynshwdOzRVgzRQSiPNWo6OBBkAPvqE+2RS+5ABpS82DSlKl81z0
|
privateKey: MIGTAgEAMBMGByqGSM49AgEGCCqBHM9VAYItBHkwdwIBAQQgOHOzaKWBWOAbslvtYtS8tcQiJ9W9DT2cGQM3KSgXpfygCgYIKoEcz1UBgi2hRANCAAQNPct0MHOuDrVJBIy0RI7JKx9/PTlFHZlkIJr0EqpC+b/+N+z3JKbCMZ/wcP1V36Q+DlfDJCY9Ai/Uk2PZ9ZaF
|
||||||
publicKey: MFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEyocGV+D91yPL2EyngjizFW2p1DW2l46yBGcp7IcHTs0VYM0UEojzVqOjgQZAD76hPtkUvuQAaUvNg0pSpfNc9A==
|
publicKey: MFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEDT3LdDBzrg61SQSMtESOySsffz05RR2ZZCCa9BKqQvm//jfs9ySmwjGf8HD9Vd+kPg5XwyQmPQIv1JNj2fWWhQ==
|
|
@ -1,5 +1,5 @@
|
||||||
server:
|
server:
|
||||||
port: 10086
|
port: 9999
|
||||||
servlet:
|
servlet:
|
||||||
context-path: /kangarooDataCenterV3
|
context-path: /kangarooDataCenterV3
|
||||||
localIP: 127.0.0.1
|
localIP: 127.0.0.1
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
|
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
|
||||||
<beans default-autowire="byName">
|
<beans default-autowire="byName">
|
||||||
<bean name="deliveryOrderPluginInitializer" class="com.hzya.frame.plugin.ht.plugin.MakeInvoicePluginInitializer" />
|
<bean name="MakeInvoicePluginInitializer" class="com.hzya.frame.plugin.ht.plugin.MakeInvoicePluginInitializer" />
|
||||||
|
<bean name="InvoiceDistributePluginInitializer" class="com.hzya.frame.plugin.ht.plugin.InvoiceDistributePluginInitializer" />
|
||||||
|
<bean name="QueryInvoiceResultPluginInitializer" class="com.hzya.frame.plugin.ht.plugin.QueryInvoiceResultPluginInitializer" />
|
||||||
|
<bean name="QueryInputInvoiceResultPluginInitializer" class="com.hzya.frame.plugin.ht.plugin.QueryInputInvoiceResultPluginInitializer" />
|
||||||
|
|
||||||
</beans>
|
</beans>
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
package com.hzya.frame;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.hzya.frame.plugin.contract.plugin.ContractAuditPluginInitializer;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
|
import org.springframework.test.context.junit4.SpringRunner;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description
|
||||||
|
* @Author xiangerlin
|
||||||
|
* @Date 2025/4/1 09:12
|
||||||
|
**/
|
||||||
|
@RunWith(SpringRunner.class)
|
||||||
|
@SpringBootTest(classes = {WebappApplication.class})
|
||||||
|
public class Test1 {
|
||||||
|
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ContractAuditPluginInitializer contractPlugin;
|
||||||
|
@Test
|
||||||
|
public void contractAuditPluginTest(){
|
||||||
|
JSONObject jsonObject = new JSONObject();
|
||||||
|
jsonObject.put("sourceCode","HT-OA");
|
||||||
|
try {
|
||||||
|
contractPlugin.executeBusiness(jsonObject);
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -54,11 +54,11 @@
|
||||||
<!-- <artifactId>fw-ningbobank</artifactId>-->
|
<!-- <artifactId>fw-ningbobank</artifactId>-->
|
||||||
<!-- <version>${revision}</version>-->
|
<!-- <version>${revision}</version>-->
|
||||||
<!-- </dependency>-->
|
<!-- </dependency>-->
|
||||||
<!-- <dependency>-->
|
<dependency>
|
||||||
<!-- <groupId>com.hzya.frame</groupId>-->
|
<groupId>com.hzya.frame</groupId>
|
||||||
<!-- <artifactId>fw-oa</artifactId>-->
|
<artifactId>fw-oa</artifactId>
|
||||||
<!-- <version>${revision}</version>-->
|
<version>${revision}</version>
|
||||||
<!-- </dependency>-->
|
</dependency>
|
||||||
<!-- <dependency>-->
|
<!-- <dependency>-->
|
||||||
<!-- <groupId>com.hzya.frame</groupId>-->
|
<!-- <groupId>com.hzya.frame</groupId>-->
|
||||||
<!-- <artifactId>fw-u8</artifactId>-->
|
<!-- <artifactId>fw-u8</artifactId>-->
|
||||||
|
|
|
@ -29,4 +29,44 @@ public interface IInvoiceDao extends IBaseDao<InvoiceEntity,String> {
|
||||||
* @Date 2025-04-07 14:05
|
* @Date 2025-04-07 14:05
|
||||||
* **/
|
* **/
|
||||||
List<InvoiceEntity> queryInvoiceResult(InvoiceEntity entity);
|
List<InvoiceEntity> queryInvoiceResult(InvoiceEntity entity);
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @content 更新推送标识
|
||||||
|
* @Param
|
||||||
|
* @Return
|
||||||
|
* @Author hecan
|
||||||
|
* @Date 2025-04-15 15:37
|
||||||
|
* **/
|
||||||
|
Integer updateInvoicePush(InvoiceEntity entity);
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @content 更新pdf和ofd附件到OA
|
||||||
|
* @Param
|
||||||
|
* @Return
|
||||||
|
* @Author hecan
|
||||||
|
* @Date 2025-04-14 10:27
|
||||||
|
* **/
|
||||||
|
Integer updateInvoiceUrl(InvoiceEntity entity);
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @content 更新发票代码,发票号码以及开票结果
|
||||||
|
* @Param
|
||||||
|
* @Return
|
||||||
|
* @Author hecan
|
||||||
|
* @Date 2025-04-14 16:35
|
||||||
|
* **/
|
||||||
|
Integer updateInvoiceResult(InvoiceEntity entity);
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @content 进项发票推送结果查询(查询发票批量录入结果)
|
||||||
|
* @Param
|
||||||
|
* @Return
|
||||||
|
* @Author hecan
|
||||||
|
* @Date 2025-04-17 15:19
|
||||||
|
* **/
|
||||||
|
List<InvoiceEntity> queryInputInvoiceResult(InvoiceEntity entity);
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,4 +38,28 @@ public class InvoiceDaoImpl extends MybatisGenericDao<InvoiceEntity,String> impl
|
||||||
public List<InvoiceEntity> queryInvoiceResult(InvoiceEntity entity) {
|
public List<InvoiceEntity> queryInvoiceResult(InvoiceEntity entity) {
|
||||||
return (List<InvoiceEntity>) super.selectList("queryInvoiceResult",entity);
|
return (List<InvoiceEntity>) super.selectList("queryInvoiceResult",entity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@DS("#entity.dataSourceCode")
|
||||||
|
@Override
|
||||||
|
public Integer updateInvoicePush(InvoiceEntity entity) {
|
||||||
|
return super.update("updateInvoicePush",entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
@DS("#entity.dataSourceCode")
|
||||||
|
@Override
|
||||||
|
public Integer updateInvoiceUrl(InvoiceEntity entity) {
|
||||||
|
return super.update("updateInvoiceUrl",entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
@DS("#entity.dataSourceCode")
|
||||||
|
@Override
|
||||||
|
public Integer updateInvoiceResult(InvoiceEntity entity) {
|
||||||
|
return super.update("updateInvoiceResult",entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
@DS("#entity.dataSourceCode")
|
||||||
|
@Override
|
||||||
|
public List<InvoiceEntity> queryInputInvoiceResult(InvoiceEntity entity) {
|
||||||
|
return (List<InvoiceEntity>)super.selectList("queryInputInvoiceResult",entity);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -72,6 +72,34 @@ public class InvoiceEntity extends BaseEntity {
|
||||||
private String url;// 发票文件
|
private String url;// 发票文件
|
||||||
private String result_status;// 开票结果
|
private String result_status;// 开票结果
|
||||||
|
|
||||||
|
private String summaryId;//
|
||||||
|
private String input_result_status_filed;//进项发票结果字段
|
||||||
|
private String input_result_status;//进项发票结果
|
||||||
|
|
||||||
|
public String getInput_result_status_filed() {
|
||||||
|
return input_result_status_filed;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setInput_result_status_filed(String input_result_status_filed) {
|
||||||
|
this.input_result_status_filed = input_result_status_filed;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getInput_result_status() {
|
||||||
|
return input_result_status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setInput_result_status(String input_result_status) {
|
||||||
|
this.input_result_status = input_result_status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSummaryId() {
|
||||||
|
return summaryId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSummaryId(String summaryId) {
|
||||||
|
this.summaryId = summaryId;
|
||||||
|
}
|
||||||
|
|
||||||
public String getPush_status_filed() {
|
public String getPush_status_filed() {
|
||||||
return push_status_filed;
|
return push_status_filed;
|
||||||
}
|
}
|
||||||
|
|
|
@ -87,6 +87,34 @@
|
||||||
from v_hzya_invoice where push_status is not null and url is null and (result_status is null or result_status='申请单处理中')
|
from v_hzya_invoice where push_status is not null and url is null and (result_status is null or result_status='申请单处理中')
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="queryInputInvoiceResult" resultMap="get-InvoiceEntity-result" parameterType="com.hzya.frame.seeyon.invoice.entity.InvoiceEntity">
|
||||||
|
select
|
||||||
|
*
|
||||||
|
from where
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!--通过主键修改方法-->
|
||||||
|
<update id="updateInvoiceUrl" parameterType = "com.hzya.frame.seeyon.invoice.entity.InvoiceEntity" >
|
||||||
|
update ${tabName} set ${url_field} =#{url} where id=#{id}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<!--通过主键修改方法-->
|
||||||
|
<update id="updateInvoicePush" parameterType = "com.hzya.frame.seeyon.invoice.entity.InvoiceEntity" >
|
||||||
|
update formmain_0331 set field0206 =#{push_status} where id=#{id}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<!--通过主键修改方法-->
|
||||||
|
<update id="updateInvoiceResult" parameterType = "com.hzya.frame.seeyon.invoice.entity.InvoiceEntity" >
|
||||||
|
update ${tabName} set
|
||||||
|
<trim suffix="" suffixOverrides=",">
|
||||||
|
<if test="input_result_status != null and input_result_status != ''"> ${input_result_status_filed} = #{input_result_status},</if>
|
||||||
|
<if test="invoice_code != null and invoice_code != ''"> ${invoice_code_field} = #{invoice_code},</if>
|
||||||
|
<if test="invoice_number != null and invoice_number != ''"> ${invoice_number_field} = #{invoice_number},</if>
|
||||||
|
<if test="result_status != null and result_status != ''"> ${result_status_field} = #{result_status},</if>
|
||||||
|
</trim>
|
||||||
|
where id=#{id}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,51 @@
|
||||||
|
package com.hzya.frame.seeyon.invoice.entity;
|
||||||
|
|
||||||
|
import com.hzya.frame.seeyon.zxbank.entity.PayState;
|
||||||
|
|
||||||
|
public enum InvoiceState {
|
||||||
|
zero("0","申请单被关闭"),
|
||||||
|
one("1","申请单开票成功"),
|
||||||
|
two("2","申请单处理中"),
|
||||||
|
three("3","申请单开具异常"),
|
||||||
|
inputZero("0","进行中"),
|
||||||
|
inputOne("1","全部成功"),
|
||||||
|
inputTwo("2","部分失败"),
|
||||||
|
inputThree("3","全部失败");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private String type;
|
||||||
|
//值
|
||||||
|
private String value;
|
||||||
|
|
||||||
|
public String getType() {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setType(String type) {
|
||||||
|
this.type = type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getValue() {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setValue(String value) {
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
InvoiceState(String type, String value){
|
||||||
|
this.type=type;
|
||||||
|
this.value=value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String invoiceStateGetValue(String type){
|
||||||
|
for (InvoiceState invoiceState : InvoiceState.values()){
|
||||||
|
if(invoiceState.getType()==type||invoiceState.getType().equals(type)){
|
||||||
|
return invoiceState.getValue().toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
|
@ -26,4 +26,14 @@ public interface IInvoiceService extends IBaseService<InvoiceEntity,String> {
|
||||||
* @Date 2025-04-02 14:10
|
* @Date 2025-04-02 14:10
|
||||||
* **/
|
* **/
|
||||||
JsonResultEntity queryInvoiceResult(JSONObject json);
|
JsonResultEntity queryInvoiceResult(JSONObject json);
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @content 进项发票推送结果查询(查询发票批量录入结果)
|
||||||
|
* @Param
|
||||||
|
* @Return
|
||||||
|
* @Author hecan
|
||||||
|
* @Date 2025-04-17 15:11
|
||||||
|
* **/
|
||||||
|
JsonResultEntity queryInputInvoiceResult(JSONObject json);
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,23 +7,35 @@ import com.alibaba.fastjson.JSONObject;
|
||||||
import com.hzya.frame.basedao.service.impl.BaseService;
|
import com.hzya.frame.basedao.service.impl.BaseService;
|
||||||
import com.hzya.frame.mdm.mdmModuleSource.dao.impl.MdmModuleSourceDaoImpl;
|
import com.hzya.frame.mdm.mdmModuleSource.dao.impl.MdmModuleSourceDaoImpl;
|
||||||
import com.hzya.frame.mdm.mdmModuleSource.entity.MdmModuleSourceEntity;
|
import com.hzya.frame.mdm.mdmModuleSource.entity.MdmModuleSourceEntity;
|
||||||
|
import com.hzya.frame.seeyon.dao.ICtpAttachmentDao;
|
||||||
|
import com.hzya.frame.seeyon.entity.CtpAttachmentEntity;
|
||||||
import com.hzya.frame.seeyon.invoice.dao.IInvoiceDao;
|
import com.hzya.frame.seeyon.invoice.dao.IInvoiceDao;
|
||||||
import com.hzya.frame.seeyon.invoice.dao.IInvoiceDetailsDao;
|
import com.hzya.frame.seeyon.invoice.dao.IInvoiceDetailsDao;
|
||||||
import com.hzya.frame.seeyon.invoice.entity.InvoiceEntity;
|
import com.hzya.frame.seeyon.invoice.entity.InvoiceEntity;
|
||||||
|
import com.hzya.frame.seeyon.invoice.entity.InvoiceState;
|
||||||
import com.hzya.frame.seeyon.invoice.service.IInvoiceService;
|
import com.hzya.frame.seeyon.invoice.service.IInvoiceService;
|
||||||
|
import com.hzya.frame.seeyon.util.OARestUtil;
|
||||||
import com.hzya.frame.seeyon.util.YzfSignUtil;
|
import com.hzya.frame.seeyon.util.YzfSignUtil;
|
||||||
|
import com.hzya.frame.seeyon.zxbank.entity.PayState;
|
||||||
import com.hzya.frame.seeyon.zxbank.entity.ZxBankEntity;
|
import com.hzya.frame.seeyon.zxbank.entity.ZxBankEntity;
|
||||||
import com.hzya.frame.sysnew.comparison.service.impl.ComparisonServiceImpl;
|
import com.hzya.frame.sysnew.comparison.service.impl.ComparisonServiceImpl;
|
||||||
import com.hzya.frame.sysnew.integtationTaskLivingDetails.entity.IntegrationTaskLivingDetailsEntity;
|
import com.hzya.frame.sysnew.integtationTaskLivingDetails.entity.IntegrationTaskLivingDetailsEntity;
|
||||||
import com.hzya.frame.sysnew.integtationTaskLivingDetails.service.IIntegrationTaskLivingDetailsService;
|
import com.hzya.frame.sysnew.integtationTaskLivingDetails.service.IIntegrationTaskLivingDetailsService;
|
||||||
|
import com.hzya.frame.uuid.UUIDLong;
|
||||||
import com.hzya.frame.uuid.UUIDUtils;
|
import com.hzya.frame.uuid.UUIDUtils;
|
||||||
import com.hzya.frame.web.entity.BaseResult;
|
import com.hzya.frame.web.entity.BaseResult;
|
||||||
import com.hzya.frame.web.entity.JsonResultEntity;
|
import com.hzya.frame.web.entity.JsonResultEntity;
|
||||||
|
import com.hzya.frame.web.exception.BaseSystemException;
|
||||||
import org.apache.commons.collections.CollectionUtils;
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.net.HttpURLConnection;
|
||||||
|
import java.net.URL;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
@Service(value = "InvoiceServiceImpl")
|
@Service(value = "InvoiceServiceImpl")
|
||||||
|
@ -40,10 +52,17 @@ public class InvoiceServiceImpl extends BaseService<InvoiceEntity, String> imple
|
||||||
private IIntegrationTaskLivingDetailsService taskLivingDetailsService;
|
private IIntegrationTaskLivingDetailsService taskLivingDetailsService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ComparisonServiceImpl comparisonServiceimpl;
|
private ComparisonServiceImpl comparisonServiceimpl;
|
||||||
|
@Autowired
|
||||||
|
private ICtpAttachmentDao ctpAttachmentDao;
|
||||||
|
|
||||||
@Value("${zt.url}")
|
@Value("${zt.url}")
|
||||||
private String url;
|
private String url;
|
||||||
|
|
||||||
|
@Value("${invoice_pdf.url}")
|
||||||
|
private String invoicePdfUrl;
|
||||||
|
@Value("${invoice_ofd.url}")
|
||||||
|
private String invoiceOfdUrl;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public JsonResultEntity queryArchives(JSONObject json) {
|
public JsonResultEntity queryArchives(JSONObject json) {
|
||||||
JSONObject jsonObject = json.getJSONObject("jsonStr");
|
JSONObject jsonObject = json.getJSONObject("jsonStr");
|
||||||
|
@ -78,6 +97,37 @@ public class InvoiceServiceImpl extends BaseService<InvoiceEntity, String> imple
|
||||||
//将查询出来的数据进行组装,调用通用方法新增或者更新
|
//将查询出来的数据进行组装,调用通用方法新增或者更新
|
||||||
if (null != listAll && listAll.size() > 0) {
|
if (null != listAll && listAll.size() > 0) {
|
||||||
object = ParametricDocument(listAll, mdmCode, tableName);
|
object = ParametricDocument(listAll, mdmCode, tableName);
|
||||||
|
if (CollectionUtils.isNotEmpty(object)) {
|
||||||
|
for (Object obj : object) {
|
||||||
|
//更新单据视图推送标识,不再抽取
|
||||||
|
JSONObject attributeResult = (JSONObject) JSON.toJSON(obj);
|
||||||
|
if (attributeResult.getString("status").equals("200")) {
|
||||||
|
String resultString = attributeResult.getString("list");
|
||||||
|
if ("10049".equals(mdmCode)) {
|
||||||
|
JSONArray jsonArray = JSONArray.parseArray(resultString);
|
||||||
|
if (CollectionUtils.isNotEmpty(jsonArray)) {
|
||||||
|
for (Object o : jsonArray) {
|
||||||
|
JSONObject attributeArray = (JSONObject) JSON.toJSON(o);
|
||||||
|
String cmpApply = attributeArray.getString(tableName);
|
||||||
|
JSONObject jsonObjectCmpApply = JSONObject.parseObject(cmpApply);
|
||||||
|
String id = jsonObjectCmpApply.getString("data_id");//主表id
|
||||||
|
String vdef1 = jsonObjectCmpApply.getString("business_no");//主表id
|
||||||
|
logger.info("=====开始根据单据id:{},单据号:{},更新表:formmain_0331的推送标识", id, vdef1);
|
||||||
|
InvoiceEntity invoiceEntity = new InvoiceEntity();
|
||||||
|
invoiceEntity.setPush_status("1");
|
||||||
|
invoiceEntity.setId(id);
|
||||||
|
invoiceEntity.setDataSourceCode(mdmModuleSourceEntity.getDataSourceCode());
|
||||||
|
invoiceDao.updateInvoicePush(invoiceEntity);
|
||||||
|
//保存业务数据日志
|
||||||
|
saveTaskLivingDetails(id, jsonObjectCmpApply.getString("business_no"), listAll.get(0).toString(), object.toString(), true,"MakeInvoicePluginInitializer");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
saveTaskLivingDetails(JSONObject.parseObject(listAll.get(0).getString("mdm_invoice_application")).getString("data_id"), JSONObject.parseObject(listAll.get(0).getString("mdm_invoice_application")).getString("business_no"), listAll.get(0).toString(), JSON.parseObject(JSON.toJSONString(object)).getString("msg"), false,"MakeInvoicePluginInitializer");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
logger.info("三维单据视图数据没有需要同步中台的数据");
|
logger.info("三维单据视图数据没有需要同步中台的数据");
|
||||||
}
|
}
|
||||||
|
@ -108,7 +158,7 @@ public class InvoiceServiceImpl extends BaseService<InvoiceEntity, String> imple
|
||||||
parametersMap.put("timestamp",timestamp);
|
parametersMap.put("timestamp",timestamp);
|
||||||
String sign = YzfSignUtil.signRequest(parametersMap,"34e5fc32ac894a2ba2ade8c3852c7a0a");
|
String sign = YzfSignUtil.signRequest(parametersMap,"34e5fc32ac894a2ba2ade8c3852c7a0a");
|
||||||
JSONObject jsonObject=new JSONObject();
|
JSONObject jsonObject=new JSONObject();
|
||||||
jsonObject.put("serialNumber",entity.getBusiness_no());
|
jsonObject.put("serialNumber",entity.getId());
|
||||||
jsonObject.put("accessKey","6X3B526P5HqE6ums");
|
jsonObject.put("accessKey","6X3B526P5HqE6ums");
|
||||||
jsonObject.put("sign",sign);
|
jsonObject.put("sign",sign);
|
||||||
jsonObject.put("timestamp",timestamp);
|
jsonObject.put("timestamp",timestamp);
|
||||||
|
@ -123,6 +173,59 @@ public class InvoiceServiceImpl extends BaseService<InvoiceEntity, String> imple
|
||||||
execute().
|
execute().
|
||||||
body();
|
body();
|
||||||
logger.info("=====调用杭泰税务查询申请单详情的返回参数为:{}===========",result);
|
logger.info("=====调用杭泰税务查询申请单详情的返回参数为:{}===========",result);
|
||||||
|
JSONObject resultJson = JSONObject.parseObject(result);
|
||||||
|
if (!resultJson.getBoolean("flag")) {
|
||||||
|
saveTaskLivingDetails(entity.getId(), entity.getBusiness_no(), jsonObject.toJSONString(), resultJson.toJSONString(), false,"");
|
||||||
|
} else {
|
||||||
|
JSONObject attribute = resultJson.getJSONObject("attribute");
|
||||||
|
if("0".equals(attribute.getString("code"))){
|
||||||
|
JSONObject jsonResult=JSONObject.parseObject(attribute.getString("result"));
|
||||||
|
if(null !=jsonResult){
|
||||||
|
JSONArray jsonArray = jsonResult.getJSONArray("invoiceInfoVOList");
|
||||||
|
if(CollectionUtils.isNotEmpty(jsonArray)){
|
||||||
|
for (int i = 0; i < jsonArray.size(); i++) {
|
||||||
|
//表单的附件字段=ctpAttachment的Sub_reference,表单的Summary_id=ctpAttachment的att_reference
|
||||||
|
String sub_reference = String.valueOf(UUIDLong.longUUID());
|
||||||
|
String att_reference = entity.getSummaryId();//Summary_id
|
||||||
|
JSONObject invoiceInfo = jsonArray.getJSONObject(i);
|
||||||
|
String invoiceCode = invoiceInfo.getString("invoiceCode");//发票代码
|
||||||
|
String invoiceNumber = invoiceInfo.getString("invoiceNumber");//发票号码
|
||||||
|
String resultStatus = InvoiceState.invoiceStateGetValue(jsonResult.getString("resultStatus"));//开票结果
|
||||||
|
entity.setInvoice_code(invoiceCode);
|
||||||
|
entity.setInvoice_number(invoiceNumber);
|
||||||
|
entity.setResult_status(resultStatus);
|
||||||
|
//将开票结果,发票号码,发票代码,回写OA
|
||||||
|
invoiceDao.updateInvoiceResult(entity);
|
||||||
|
if (null != invoiceInfo.getString("url") || null != invoiceInfo.getString("ofdUrl")) {
|
||||||
|
String pdfUrl = invoiceInfo.getString("url");//pdf文件
|
||||||
|
String ofdUrl = invoiceInfo.getString("ofdUrl");//ofd文件
|
||||||
|
String xmlUrl = invoiceInfo.getString("xmlUrl");//xml文件
|
||||||
|
//获取pdf文件到本地 并为pdf取名,否则会报无法访问错误
|
||||||
|
logger.info("========开始将pdf文件保存到本地========");
|
||||||
|
String pdfFileName = generateFileName(pdfUrl, "pdf");
|
||||||
|
String pdfSavePath = invoicePdfUrl + pdfFileName;
|
||||||
|
downloadPdf(pdfUrl, pdfSavePath);
|
||||||
|
logger.info("========pdf文件保存到本地完成========");
|
||||||
|
File filePdf = new File(pdfSavePath);
|
||||||
|
logger.info("========开始将pdf文件上传OA========");
|
||||||
|
ManyfileUpload(filePdf, entity, sub_reference, att_reference, jsonObject);
|
||||||
|
logger.info("========pdf文件上传OA完成========");
|
||||||
|
//获取ofd文件到本地
|
||||||
|
logger.info("========开始将ofd文件保存到本地========");
|
||||||
|
String ofdFileName = generateFileName(ofdUrl, "ofd");
|
||||||
|
String ofdSavePath = ofdUrl + ofdFileName;
|
||||||
|
downloadPdf(ofdUrl, ofdSavePath);
|
||||||
|
logger.info("========ofd文件保存到本地完成========");
|
||||||
|
File fileOfd = new File(ofdSavePath);
|
||||||
|
logger.info("========开始将ofd文件上传OA========");
|
||||||
|
ManyfileUpload(fileOfd, entity, sub_reference, att_reference, jsonObject);
|
||||||
|
logger.info("========ofd文件上传OA完成========");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
|
@ -132,6 +235,155 @@ public class InvoiceServiceImpl extends BaseService<InvoiceEntity, String> imple
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//进项发票推送结果查询(查询发票批量录入结果)
|
||||||
|
@Override
|
||||||
|
public JsonResultEntity queryInputInvoiceResult(JSONObject json) {
|
||||||
|
try {
|
||||||
|
InvoiceEntity invoiceEntity = json.toJavaObject(InvoiceEntity.class);
|
||||||
|
invoiceEntity.setDataSourceCode("HT-OA");
|
||||||
|
logger.info("=======开始查询杭泰税务的发票批量录入返回结果=========");
|
||||||
|
List<InvoiceEntity> invoiceEntities = invoiceDao.queryInputInvoiceResult(invoiceEntity);
|
||||||
|
if(CollectionUtils.isEmpty(invoiceEntities)){
|
||||||
|
logger.info("=====杭泰税务中没有需要查询发票批量录入返回结果的数据========");
|
||||||
|
return BaseResult.getSuccessMessageEntity("查询成功");
|
||||||
|
}
|
||||||
|
for (InvoiceEntity entity : invoiceEntities) {
|
||||||
|
long timestamp = System.currentTimeMillis();
|
||||||
|
Map<String, Object> parametersMap = new HashMap<>();
|
||||||
|
parametersMap.put("accessKey","6X3B526P5HqE6ums");
|
||||||
|
parametersMap.put("timestamp",timestamp);
|
||||||
|
String sign = YzfSignUtil.signRequest(parametersMap,"34e5fc32ac894a2ba2ade8c3852c7a0a");
|
||||||
|
JSONObject jsonObject=new JSONObject();
|
||||||
|
jsonObject.put("serialNumber",entity.getId());
|
||||||
|
jsonObject.put("accessKey","6X3B526P5HqE6ums");
|
||||||
|
jsonObject.put("sign",sign);
|
||||||
|
jsonObject.put("timestamp",timestamp);
|
||||||
|
logger.info("=======调用杭泰税务查询发票批量录入结果的请求参数为:{}=======",jsonObject.toJSONString());
|
||||||
|
//发送数据
|
||||||
|
String result = HttpRequest.post(url).
|
||||||
|
header("appId", "800060").
|
||||||
|
header("apiCode", "8000600006").
|
||||||
|
header("publicKey", "ZJYAmRjjYEDgqw4UXWHZNicYclErG0hsrwKQcHukPlP0K1pCe7eDIk+3zDUT+v578prj").
|
||||||
|
header("secretKey", "D6AHU3PL8UsNfK6A8I6mL4X1ma2NXckX/vM7AOzI/jmzJf+R1aY06Q6SBz7Y7drHj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=").
|
||||||
|
body(jsonObject.toJSONString()).
|
||||||
|
execute().
|
||||||
|
body();
|
||||||
|
logger.info("=====调用杭泰税务查询发票批量录入结果的返回参数为:{}===========",result);
|
||||||
|
JSONObject resultJson = JSONObject.parseObject(result);
|
||||||
|
if (!resultJson.getBoolean("flag")) {
|
||||||
|
saveTaskLivingDetails(entity.getId(), entity.getBusiness_no(), jsonObject.toJSONString(), resultJson.toJSONString(), false,"");
|
||||||
|
} else {
|
||||||
|
JSONObject attribute = resultJson.getJSONObject("attribute");
|
||||||
|
if("0".equals(attribute.getString("code"))) {
|
||||||
|
JSONObject jsonResult = JSONObject.parseObject(attribute.getString("result"));
|
||||||
|
if (null != jsonResult) {
|
||||||
|
String serialNumber = jsonResult.getString("serialNumber");//流水号
|
||||||
|
String status = jsonResult.getString("status");//发票批量录入返回结果状态
|
||||||
|
if(serialNumber.equals(entity.getId())){
|
||||||
|
//修改发票批量录入结果状态
|
||||||
|
logger.info("=========开始更新进项发票的结果==========");
|
||||||
|
entity.setInput_result_status(InvoiceState.invoiceStateGetValue(status));
|
||||||
|
entity.setDataSourceCode("HT-OA");
|
||||||
|
invoiceDao.updateInvoiceResult(entity);
|
||||||
|
logger.info("=========更新进项发票的结果完成==========");
|
||||||
|
saveTaskLivingDetails(entity.getId(),entity.getBusiness_no(),jsonObject.toJSONString(), resultJson.toJSONString(), true,"");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}catch (Exception e){
|
||||||
|
logger.info("======查询杭泰税务发票批量录入结果失败====",e.getMessage());
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ManyfileUpload(File file,InvoiceEntity entity,String sub_reference,String att_reference,JSONObject jsonObject){
|
||||||
|
JSONObject jsonObjectOfd = OARestUtil.fileUpload(file,"8000590003","8000590001");
|
||||||
|
if (jsonObjectOfd.getString("fileUrl") != null) {
|
||||||
|
entity.setUrl(sub_reference);
|
||||||
|
entity.setDataSourceCode("HT-OA");
|
||||||
|
invoiceDao.updateInvoiceUrl(entity);
|
||||||
|
//根据附件id查询附件业务数据
|
||||||
|
String file_url = jsonObjectOfd.getString("fileUrl");
|
||||||
|
CtpAttachmentEntity ctpAttachmentEntity = new CtpAttachmentEntity();
|
||||||
|
ctpAttachmentEntity.setFile_url(file_url);
|
||||||
|
ctpAttachmentEntity.setSub_reference(sub_reference);
|
||||||
|
ctpAttachmentEntity.setAtt_reference(att_reference);
|
||||||
|
ctpAttachmentEntity.setDataSourceCode("HT-OA");
|
||||||
|
List<CtpAttachmentEntity> ctpAttachmentEntities = ctpAttachmentDao.queryCtpAttachment(ctpAttachmentEntity);
|
||||||
|
//如果没有查询到数据,就新增附件业务,否则更新
|
||||||
|
if (ctpAttachmentEntities.size() == 0) {
|
||||||
|
String category = jsonObject.getString("category");
|
||||||
|
String type = jsonObject.getString("type");
|
||||||
|
String filename = jsonObject.getString("filename");
|
||||||
|
String mime_type = jsonObject.getString("mimeType");
|
||||||
|
String attachment_size = jsonObject.getString("size");
|
||||||
|
String id = String.valueOf(UUIDLong.longUUID());
|
||||||
|
ctpAttachmentEntity.setCategory(category);
|
||||||
|
ctpAttachmentEntity.setFilename(filename);
|
||||||
|
ctpAttachmentEntity.setType(type);
|
||||||
|
ctpAttachmentEntity.setMime_type(mime_type);
|
||||||
|
ctpAttachmentEntity.setAttachment_size(attachment_size);
|
||||||
|
ctpAttachmentEntity.setId(id);
|
||||||
|
ctpAttachmentEntity.setCategory("66");
|
||||||
|
ctpAttachmentEntity.setCreatedate(new Date());
|
||||||
|
ctpAttachmentEntity.setDataSourceCode("HT-OA");
|
||||||
|
ctpAttachmentDao.saveCtpAttachment(ctpAttachmentEntity);
|
||||||
|
} else {
|
||||||
|
if (ctpAttachmentEntities.size() > 1) {
|
||||||
|
throw new BaseSystemException("OA附件业务表中查到多条记录");
|
||||||
|
}
|
||||||
|
//更新数据到OA附件业务表中
|
||||||
|
ctpAttachmentDao.updateCtpAttachment(ctpAttachmentEntity);
|
||||||
|
}
|
||||||
|
logger.info("=====电子回单执行完毕=======");
|
||||||
|
}
|
||||||
|
file.delete();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void downloadPdf(String pdfUrl, String savePath) {
|
||||||
|
try {
|
||||||
|
URL url = new URL(pdfUrl);
|
||||||
|
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
|
||||||
|
connection.setRequestMethod("Post");
|
||||||
|
int responseCode = connection.getResponseCode();
|
||||||
|
if (responseCode == HttpURLConnection.HTTP_OK) {
|
||||||
|
InputStream inputStream = connection.getInputStream();
|
||||||
|
FileOutputStream outputStream = new FileOutputStream(savePath);
|
||||||
|
|
||||||
|
byte[] buffer = new byte[4096];
|
||||||
|
int bytesRead;
|
||||||
|
while ((bytesRead = inputStream.read(buffer)) != -1) {
|
||||||
|
outputStream.write(buffer, 0, bytesRead);
|
||||||
|
}
|
||||||
|
|
||||||
|
outputStream.close();
|
||||||
|
inputStream.close();
|
||||||
|
} else {
|
||||||
|
logger.info("下载失败,响应码: {}" , responseCode);
|
||||||
|
}
|
||||||
|
connection.disconnect();
|
||||||
|
}catch (Exception e){
|
||||||
|
logger.info("====查询申请单详情获取税务pdf或ofd文件失败:{}========",e.getMessage());
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private String generateFileName(String url, String extension) {
|
||||||
|
// 这里简单根据 URL 的参数生成文件名,你可以根据实际需求调整
|
||||||
|
String[] parts = url.split("&");
|
||||||
|
String fphm = "";
|
||||||
|
for (String part : parts) {
|
||||||
|
if (part.startsWith("fphm=")) {
|
||||||
|
fphm = part.substring(5);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return fphm + "." + extension;
|
||||||
|
}
|
||||||
|
|
||||||
private List<JSONObject> bindingInvoice(JSONObject jsonObject, MdmModuleSourceEntity mdmModuleSourceEntity, String dbCode) {
|
private List<JSONObject> bindingInvoice(JSONObject jsonObject, MdmModuleSourceEntity mdmModuleSourceEntity, String dbCode) {
|
||||||
List<JSONObject> list = new ArrayList<>();
|
List<JSONObject> list = new ArrayList<>();
|
||||||
StringBuffer stringBuffer = new StringBuffer();
|
StringBuffer stringBuffer = new StringBuffer();
|
||||||
|
|
|
@ -30,29 +30,4 @@ public interface IPayBillDao {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int updateState(PayBillEntity pay);
|
int updateState(PayBillEntity pay);
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @content 获取保证金付款单数据
|
|
||||||
* @author laborer
|
|
||||||
* @className: Administrator
|
|
||||||
* @author laborer
|
|
||||||
* @date 2025-01-07 9:44
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
List<PayBillEntity> getMarginPayment(PayBillEntity entity);
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @content 获取保证金付款单详情数据
|
|
||||||
* @className: Administrator
|
|
||||||
* @author laborer
|
|
||||||
* @date 2025-01-07 10:44
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
List<PayBillEntity> getOaEngineerPayDetails(PayBillEntity details);
|
|
||||||
|
|
||||||
List<PayBillEntity> getReceived(PayBillEntity entity);
|
|
||||||
|
|
||||||
List<PayBillEntity> getReceivedDetails(PayBillEntity details);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,29 +24,9 @@ public class PayBillDaoImpl extends MybatisGenericDao implements IPayBillDao {
|
||||||
public List<PayBillEntity> getOaEngineerPay(PayBillEntity entity) {
|
public List<PayBillEntity> getOaEngineerPay(PayBillEntity entity) {
|
||||||
return super.selectList("com.hzya.frame.seeyon.paybill.dao.impl.PayBillDaoImpl.PayBillEntity_list_base",entity);
|
return super.selectList("com.hzya.frame.seeyon.paybill.dao.impl.PayBillDaoImpl.PayBillEntity_list_base",entity);
|
||||||
}
|
}
|
||||||
@DS("#entity.dataSourceCode")
|
@DS("#pay.dataSourceCode")
|
||||||
@Override
|
@Override
|
||||||
public int updateState(PayBillEntity entity) {
|
public int updateState(PayBillEntity pay) {
|
||||||
return super.update("com.hzya.frame.seeyon.paybill.dao.impl.PayBillDaoImpl.PayBillEntity_update",entity);
|
return super.update("com.hzya.frame.seeyon.paybill.dao.impl.PayBillDaoImpl.PayBillEntity_update",pay);
|
||||||
}
|
|
||||||
@DS("#entity.dataSourceCode")
|
|
||||||
@Override
|
|
||||||
public List<PayBillEntity> getMarginPayment(PayBillEntity entity) {
|
|
||||||
return super.selectList("com.hzya.frame.seeyon.paybill.dao.impl.PayBillDaoImpl.PayBillEntity_list_base_margin",entity);
|
|
||||||
}
|
|
||||||
@DS("#entity.dataSourceCode")
|
|
||||||
@Override
|
|
||||||
public List<PayBillEntity> getOaEngineerPayDetails(PayBillEntity entity) {
|
|
||||||
return super.selectList("com.hzya.frame.seeyon.paybill.dao.impl.PayBillDaoImpl.PayBillEntity_list_base_margin_details",entity);
|
|
||||||
}
|
|
||||||
@DS("#entity.dataSourceCode")
|
|
||||||
@Override
|
|
||||||
public List<PayBillEntity> getReceived(PayBillEntity entity) {
|
|
||||||
return super.selectList("com.hzya.frame.seeyon.paybill.dao.impl.PayBillDaoImpl.PayBillEntity_list_base_received",entity);
|
|
||||||
}
|
|
||||||
@DS("#entity.dataSourceCode")
|
|
||||||
@Override
|
|
||||||
public List<PayBillEntity> getReceivedDetails(PayBillEntity entity) {
|
|
||||||
return super.selectList("com.hzya.frame.seeyon.paybill.dao.impl.PayBillDaoImpl.PayBillEntity_list_base_received_details",entity);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,411 +14,12 @@ import java.util.Map;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class PayBillEntity extends BaseEntity {
|
public class PayBillEntity extends BaseEntity {
|
||||||
private String c_bill_type;//单据类型
|
|
||||||
private String formCode;//单据号
|
|
||||||
private String receiptDetailsId;//BIP到款明细主键
|
|
||||||
private String repaymentDate;//还款日期
|
|
||||||
private String repaymentType;//还款类型
|
|
||||||
private String repaymentAmount;//还款金额
|
|
||||||
private String recType;//还款类型
|
|
||||||
private String orgCode;//组织编码
|
|
||||||
private String deptCode;//部门编码
|
|
||||||
private String fklxName;//付款类型
|
|
||||||
private String zffsName;//支付方式
|
|
||||||
private String firstSubject;//科目编码
|
|
||||||
private String bzjProjectName;//保证金项目名称
|
|
||||||
private String expirationDate;//投标保证金到期日
|
|
||||||
private String deptCode2;//归属部门编码
|
|
||||||
private String isCustomer;//是否运营商客户
|
|
||||||
private String applyAmount;//申请金额
|
|
||||||
private String checkedAmount;//财务核实金额
|
|
||||||
private String comments;//说明
|
|
||||||
private String creator;//制单人
|
|
||||||
private String supplierCode;//供应商编码
|
|
||||||
private String openBank;//开户银行
|
|
||||||
private String bankAccount;//银行账号
|
|
||||||
private String dkAmount;//打款金额
|
|
||||||
private String dkTime;//打款时间
|
|
||||||
private String isDydj;//是否打印本单据
|
|
||||||
private String fieldName;//
|
|
||||||
private String tableName;//
|
|
||||||
private String formmain_id;//
|
|
||||||
private String customerAddress;//客户地址
|
|
||||||
private String linkMan;//联系人
|
|
||||||
private String bhBeneficiary;//保函受益人
|
|
||||||
private String beneficiaryPhone;//受益人电话
|
|
||||||
private String beneficiaryAddress;//受益人地址
|
|
||||||
private String projectNumber;//工程项目合同/标书号码
|
|
||||||
private String projectAmount;//工程项目合同/标书总金额
|
|
||||||
private String bhIndate;//保函有效期
|
|
||||||
private String bhReceiver;//保函收件人
|
|
||||||
private String contactType;//联系方式
|
|
||||||
private String contactAddress;//联系地址
|
|
||||||
private String bhProjectName;//保函项目名称
|
|
||||||
private String lastBhDate;//最晚取得保函日期
|
|
||||||
private String notes;//备注
|
|
||||||
private String isBh;//是否取得保函原件
|
|
||||||
private String contactNumber;//联系电话
|
|
||||||
|
|
||||||
public String getContactNumber() {
|
|
||||||
return contactNumber;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setContactNumber(String contactNumber) {
|
|
||||||
this.contactNumber = contactNumber;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getCustomerAddress() {
|
|
||||||
return customerAddress;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCustomerAddress(String customerAddress) {
|
|
||||||
this.customerAddress = customerAddress;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getLinkMan() {
|
|
||||||
return linkMan;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setLinkMan(String linkMan) {
|
|
||||||
this.linkMan = linkMan;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getBhBeneficiary() {
|
|
||||||
return bhBeneficiary;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setBhBeneficiary(String bhBeneficiary) {
|
|
||||||
this.bhBeneficiary = bhBeneficiary;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getBeneficiaryPhone() {
|
|
||||||
return beneficiaryPhone;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setBeneficiaryPhone(String beneficiaryPhone) {
|
|
||||||
this.beneficiaryPhone = beneficiaryPhone;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getBeneficiaryAddress() {
|
|
||||||
return beneficiaryAddress;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setBeneficiaryAddress(String beneficiaryAddress) {
|
|
||||||
this.beneficiaryAddress = beneficiaryAddress;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getProjectNumber() {
|
|
||||||
return projectNumber;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setProjectNumber(String projectNumber) {
|
|
||||||
this.projectNumber = projectNumber;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getProjectAmount() {
|
|
||||||
return projectAmount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setProjectAmount(String projectAmount) {
|
|
||||||
this.projectAmount = projectAmount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getBhIndate() {
|
|
||||||
return bhIndate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setBhIndate(String bhIndate) {
|
|
||||||
this.bhIndate = bhIndate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getBhReceiver() {
|
|
||||||
return bhReceiver;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setBhReceiver(String bhReceiver) {
|
|
||||||
this.bhReceiver = bhReceiver;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getContactType() {
|
|
||||||
return contactType;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setContactType(String contactType) {
|
|
||||||
this.contactType = contactType;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getContactAddress() {
|
|
||||||
return contactAddress;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setContactAddress(String contactAddress) {
|
|
||||||
this.contactAddress = contactAddress;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getBhProjectName() {
|
|
||||||
return bhProjectName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setBhProjectName(String bhProjectName) {
|
|
||||||
this.bhProjectName = bhProjectName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getLastBhDate() {
|
|
||||||
return lastBhDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setLastBhDate(String lastBhDate) {
|
|
||||||
this.lastBhDate = lastBhDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getNotes() {
|
|
||||||
return notes;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setNotes(String notes) {
|
|
||||||
this.notes = notes;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getIsBh() {
|
|
||||||
return isBh;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setIsBh(String isBh) {
|
|
||||||
this.isBh = isBh;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getRecType() {
|
|
||||||
return recType;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRecType(String recType) {
|
|
||||||
this.recType = recType;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getReceiptDetailsId() {
|
|
||||||
return receiptDetailsId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setReceiptDetailsId(String receiptDetailsId) {
|
|
||||||
this.receiptDetailsId = receiptDetailsId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getRepaymentDate() {
|
|
||||||
return repaymentDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRepaymentDate(String repaymentDate) {
|
|
||||||
this.repaymentDate = repaymentDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getRepaymentType() {
|
|
||||||
return repaymentType;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRepaymentType(String repaymentType) {
|
|
||||||
this.repaymentType = repaymentType;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getRepaymentAmount() {
|
|
||||||
return repaymentAmount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRepaymentAmount(String repaymentAmount) {
|
|
||||||
this.repaymentAmount = repaymentAmount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getFormmain_id() {
|
|
||||||
return formmain_id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setFormmain_id(String formmain_id) {
|
|
||||||
this.formmain_id = formmain_id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getC_bill_type() {
|
|
||||||
return c_bill_type;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setC_bill_type(String c_bill_type) {
|
|
||||||
this.c_bill_type = c_bill_type;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getFormCode() {
|
|
||||||
return formCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setFormCode(String formCode) {
|
|
||||||
this.formCode = formCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getOrgCode() {
|
|
||||||
return orgCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setOrgCode(String orgCode) {
|
|
||||||
this.orgCode = orgCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getDeptCode() {
|
|
||||||
return deptCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDeptCode(String deptCode) {
|
|
||||||
this.deptCode = deptCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getFklxName() {
|
|
||||||
return fklxName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setFklxName(String fklxName) {
|
|
||||||
this.fklxName = fklxName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getZffsName() {
|
|
||||||
return zffsName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setZffsName(String zffsName) {
|
|
||||||
this.zffsName = zffsName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getFirstSubject() {
|
|
||||||
return firstSubject;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setFirstSubject(String firstSubject) {
|
|
||||||
this.firstSubject = firstSubject;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getBzjProjectName() {
|
|
||||||
return bzjProjectName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setBzjProjectName(String bzjProjectName) {
|
|
||||||
this.bzjProjectName = bzjProjectName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getExpirationDate() {
|
|
||||||
return expirationDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setExpirationDate(String expirationDate) {
|
|
||||||
this.expirationDate = expirationDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getDeptCode2() {
|
|
||||||
return deptCode2;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDeptCode2(String deptCode2) {
|
|
||||||
this.deptCode2 = deptCode2;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getIsCustomer() {
|
|
||||||
return isCustomer;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setIsCustomer(String isCustomer) {
|
|
||||||
this.isCustomer = isCustomer;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getApplyAmount() {
|
|
||||||
return applyAmount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setApplyAmount(String applyAmount) {
|
|
||||||
this.applyAmount = applyAmount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getCheckedAmount() {
|
|
||||||
return checkedAmount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCheckedAmount(String checkedAmount) {
|
|
||||||
this.checkedAmount = checkedAmount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getComments() {
|
|
||||||
return comments;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setComments(String comments) {
|
|
||||||
this.comments = comments;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getCreator() {
|
|
||||||
return creator;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCreator(String creator) {
|
|
||||||
this.creator = creator;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getSupplierCode() {
|
|
||||||
return supplierCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSupplierCode(String supplierCode) {
|
|
||||||
this.supplierCode = supplierCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getOpenBank() {
|
|
||||||
return openBank;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setOpenBank(String openBank) {
|
|
||||||
this.openBank = openBank;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getBankAccount() {
|
|
||||||
return bankAccount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setBankAccount(String bankAccount) {
|
|
||||||
this.bankAccount = bankAccount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getDkAmount() {
|
|
||||||
return dkAmount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDkAmount(String dkAmount) {
|
|
||||||
this.dkAmount = dkAmount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getDkTime() {
|
|
||||||
return dkTime;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDkTime(String dkTime) {
|
|
||||||
this.dkTime = dkTime;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getIsDydj() {
|
|
||||||
return isDydj;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setIsDydj(String isDydj) {
|
|
||||||
this.isDydj = isDydj;
|
|
||||||
}
|
|
||||||
|
|
||||||
private List<PayBillEntity>payBillDetailsEntityList;
|
|
||||||
|
|
||||||
public List<PayBillEntity> getPayBillDetailsEntityList() {
|
|
||||||
return payBillDetailsEntityList;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPayBillDetailsEntityList(List<PayBillEntity> payBillDetailsEntityList) {
|
|
||||||
this.payBillDetailsEntityList = payBillDetailsEntityList;
|
|
||||||
}
|
|
||||||
|
|
||||||
private String billDate;//付款日期
|
private String billDate;//付款日期
|
||||||
private String primalMoney;//付款金额信息
|
private String primalMoney;//付款金额信息
|
||||||
private String pkOppaccount;//付款银行信息
|
private String pkOppaccount;//付款银行信息
|
||||||
private String pkSupplier;//供应商信息
|
private String pkSupplier;//供应商信息
|
||||||
|
private String tableName;//表名称
|
||||||
|
private String fieldName;//字段名称
|
||||||
private String state;//推送状态
|
private String state;//推送状态
|
||||||
private String pkOrg;//组织
|
private String pkOrg;//组织
|
||||||
private String pkCustomer;//客户
|
private String pkCustomer;//客户
|
||||||
|
|
|
@ -11,54 +11,6 @@
|
||||||
<result property="tableName" column="table_name" jdbcType="VARCHAR"/>
|
<result property="tableName" column="table_name" jdbcType="VARCHAR"/>
|
||||||
<result property="fieldName" column="field_name" jdbcType="VARCHAR"/>
|
<result property="fieldName" column="field_name" jdbcType="VARCHAR"/>
|
||||||
|
|
||||||
<result property="c_bill_type" column="c_bill_type" jdbcType="VARCHAR"/>
|
|
||||||
<result property="formCode" column="formCode" jdbcType="VARCHAR"/>
|
|
||||||
<result property="receiptDetailsId" column="receiptDetailsId" jdbcType="VARCHAR"/>
|
|
||||||
<result property="repaymentDate" column="repaymentDate" jdbcType="VARCHAR"/>
|
|
||||||
<result property="repaymentType" column="repaymentType" jdbcType="VARCHAR"/>
|
|
||||||
<result property="repaymentAmount" column="repaymentAmount" jdbcType="VARCHAR"/>
|
|
||||||
<result property="orgCode" column="orgCode" jdbcType="VARCHAR"/>
|
|
||||||
<result property="deptCode" column="deptCode" jdbcType="VARCHAR"/>
|
|
||||||
<result property="fklxName" column="fklxName" jdbcType="VARCHAR"/>
|
|
||||||
<result property="zffsName" column="zffsName" jdbcType="VARCHAR"/>
|
|
||||||
<result property="firstSubject" column="firstSubject" jdbcType="VARCHAR"/>
|
|
||||||
<result property="bzjProjectName" column="bzjProjectName" jdbcType="VARCHAR"/>
|
|
||||||
<result property="expirationDate" column="expirationDate" jdbcType="VARCHAR"/>
|
|
||||||
<result property="deptCode2" column="deptCode2" jdbcType="VARCHAR"/>
|
|
||||||
<result property="isCustomer" column="isCustomer" jdbcType="VARCHAR"/>
|
|
||||||
<result property="applyAmount" column="applyAmount" jdbcType="VARCHAR"/>
|
|
||||||
<result property="checkedAmount" column="checkedAmount" jdbcType="VARCHAR"/>
|
|
||||||
<result property="comments" column="comments" jdbcType="VARCHAR"/>
|
|
||||||
<result property="creator" column="creator" jdbcType="VARCHAR"/>
|
|
||||||
<result property="supplierCode" column="supplierCode" jdbcType="VARCHAR"/>
|
|
||||||
<result property="openBank" column="openBank" jdbcType="VARCHAR"/>
|
|
||||||
<result property="bankAccount" column="bankAccount" jdbcType="VARCHAR"/>
|
|
||||||
<result property="dkAmount" column="dkAmount" jdbcType="VARCHAR"/>
|
|
||||||
<result property="dkTime" column="dkTime" jdbcType="VARCHAR"/>
|
|
||||||
<result property="isDydj" column="isDydj" jdbcType="VARCHAR"/>
|
|
||||||
<result property="fieldName" column="fieldName" jdbcType="VARCHAR"/>
|
|
||||||
<result property="tableName" column="tableName" jdbcType="VARCHAR"/>
|
|
||||||
<result property="id" column="id" jdbcType="VARCHAR"/>
|
|
||||||
<result property="formmain_id" column="formmain_id" jdbcType="VARCHAR"/>
|
|
||||||
|
|
||||||
<result property="customerAddress" column="customerAddress" jdbcType="VARCHAR"/>
|
|
||||||
<result property="linkMan" column="linkMan" jdbcType="VARCHAR"/>
|
|
||||||
<result property="bhBeneficiary" column="bhBeneficiary" jdbcType="VARCHAR"/>
|
|
||||||
<result property="beneficiaryPhone" column="beneficiaryPhone" jdbcType="VARCHAR"/>
|
|
||||||
<result property="beneficiaryAddress" column="beneficiaryAddress" jdbcType="VARCHAR"/>
|
|
||||||
<result property="projectNumber" column="projectNumber" jdbcType="VARCHAR"/>
|
|
||||||
<result property="projectAmount" column="projectAmount" jdbcType="VARCHAR"/>
|
|
||||||
<result property="bhIndate" column="bhIndate" jdbcType="VARCHAR"/>
|
|
||||||
<result property="bhReceiver" column="bhReceiver" jdbcType="VARCHAR"/>
|
|
||||||
<result property="contactType" column="contactType" jdbcType="VARCHAR"/>
|
|
||||||
<result property="contactAddress" column="contactAddress" jdbcType="VARCHAR"/>
|
|
||||||
<result property="bhProjectName" column="bhProjectName" jdbcType="VARCHAR"/>
|
|
||||||
<result property="lastBhDate" column="lastBhDate" jdbcType="VARCHAR"/>
|
|
||||||
<result property="notes" column="notes" jdbcType="VARCHAR"/>
|
|
||||||
<result property="isBh" column="isBh" jdbcType="VARCHAR"/>
|
|
||||||
<result property="contactNumber" column="contactNumber" jdbcType="VARCHAR"/>
|
|
||||||
|
|
||||||
|
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<!--工程项目查询-->
|
<!--工程项目查询-->
|
||||||
|
@ -99,67 +51,12 @@
|
||||||
LEFT JOIN formson_0223 body ON main.id = body.formmain_id
|
LEFT JOIN formson_0223 body ON main.id = body.formmain_id
|
||||||
WHERE field0053 IS NOT NULL and field0058 is null
|
WHERE field0053 IS NOT NULL and field0058 is null
|
||||||
</select>
|
</select>
|
||||||
<!--工程项目查询-->
|
|
||||||
<select id="PayBillEntity_list_base_margin" resultMap="get-PayBillEntity-result" parameterType="com.hzya.frame.seeyon.paybill.entity.PayBillEntity">
|
|
||||||
|
|
||||||
SELECT * FROM v_hzya_formmain_11031
|
|
||||||
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<!--工程项目查询-->
|
|
||||||
<select id="PayBillEntity_list_base_margin_details" resultMap="get-PayBillEntity-result" parameterType="com.hzya.frame.seeyon.paybill.entity.PayBillEntity">
|
|
||||||
|
|
||||||
SELECT
|
|
||||||
formmain_id,
|
|
||||||
field0118 AS projectCode,
|
|
||||||
field0119 AS projectName,
|
|
||||||
field0120 AS wdContact,
|
|
||||||
field0121 AS buildCost ,
|
|
||||||
addre.EXT_ATTR_2 AS deptCode
|
|
||||||
FROM formson_11032
|
|
||||||
LEFT JOIN ORG_UNIT unit ON field0122 = unit.id
|
|
||||||
LEFT JOIN ADDRESSBOOK addre ON unit.id = addre.MEMBER_ID
|
|
||||||
WHERE field0118 IS NOT NULL
|
|
||||||
and formmain_id = #{id}
|
|
||||||
|
|
||||||
|
|
||||||
</select>
|
|
||||||
<!--通过主键修改方法-->
|
<!--通过主键修改方法-->
|
||||||
<update id="PayBillEntity_update" parameterType="com.hzya.frame.seeyon.paybill.entity.PayBillEntity">
|
<update id="PayBillEntity_update" parameterType = "java.util.Map" >
|
||||||
update ${tableName} set ${fieldName} = #{state} where id = #{id}
|
|
||||||
</update>
|
|
||||||
<!--通过主键修改方法-->
|
|
||||||
<update id="PayBillEntity_update_margin" parameterType="com.hzya.frame.seeyon.paybill.entity.PayBillEntity">
|
|
||||||
update ${tableName} set ${fieldName} = #{state} where id = #{id}
|
update ${tableName} set ${fieldName} = #{state} where id = #{id}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!--工程项目查询-->
|
|
||||||
<select id="PayBillEntity_list_base_received" resultMap="get-PayBillEntity-result" parameterType="com.hzya.frame.seeyon.paybill.entity.PayBillEntity">
|
|
||||||
|
|
||||||
SELECT * FROM v_hzya_formmain_11031_update
|
|
||||||
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<!--工程项目查询-->
|
|
||||||
<select id="PayBillEntity_list_base_received_details" resultMap="get-PayBillEntity-result" parameterType="com.hzya.frame.seeyon.paybill.entity.PayBillEntity">
|
|
||||||
|
|
||||||
SELECT
|
|
||||||
formmain_id,
|
|
||||||
field0118 AS projectCode,
|
|
||||||
field0119 AS projectName,
|
|
||||||
field0120 AS wdContact,
|
|
||||||
field0121 AS buildCost ,
|
|
||||||
addre.EXT_ATTR_2 AS deptCode
|
|
||||||
FROM formson_11032
|
|
||||||
LEFT JOIN ORG_UNIT unit ON field0122 = unit.id
|
|
||||||
LEFT JOIN ADDRESSBOOK addre ON unit.id = addre.MEMBER_ID
|
|
||||||
WHERE field0118 IS NOT NULL
|
|
||||||
and formmain_id = #{id}
|
|
||||||
|
|
||||||
|
|
||||||
</select>
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
||||||
|
|
|
@ -25,27 +25,5 @@ public interface IPayBillService extends IBaseService<PaymentEntity,String> {
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
JsonResultEntity sendEngineerPayBillToBip(JSONObject requestJson);
|
JsonResultEntity sendEngineerPayBillToBip(JSONObject requestJson);
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @content 推送保证金付款到BIP
|
|
||||||
* @param requestJson
|
|
||||||
* @return JsonResultEntity
|
|
||||||
* @author laborer
|
|
||||||
* @className: Administrator
|
|
||||||
* @author laborer
|
|
||||||
* @date 2025-01-07 9:39
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
JsonResultEntity sendMarginPaymentToBip(JSONObject requestJson);
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @content 保证金付流程结束更新付款状态
|
|
||||||
* @className: Administrator
|
|
||||||
* @author laborer
|
|
||||||
* @date 2025-01-08 10:18
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
JsonResultEntity sendReceivedToBip(JSONObject requestJson);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
package com.hzya.frame.seeyon.paybill.service.impl;
|
package com.hzya.frame.seeyon.paybill.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
|
||||||
import cn.hutool.core.util.StrUtil;
|
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
@ -45,228 +43,32 @@ public class PayBillServiceImpl extends BaseService<PaymentEntity,String> implem
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public JsonResultEntity sendEngineerPayBillToBip(JSONObject requestJson) {
|
public JsonResultEntity sendEngineerPayBillToBip(JSONObject requestJson) {
|
||||||
// PayBillEntity entity = new PayBillEntity();
|
|
||||||
// requestJson.put("db_code","OA");
|
|
||||||
// entity.setDataSourceCode(requestJson.getString("db_code"));
|
|
||||||
// List<PayBillEntity>payBillEntityList = payBillDao.getOaEngineerPay(entity);
|
|
||||||
// if(CollectionUtils.isNotEmpty(payBillEntityList)){
|
|
||||||
// for(PayBillEntity pay : payBillEntityList){
|
|
||||||
// PayBillEntity details = new PayBillEntity();
|
|
||||||
// List<PayBillEntity>payDetailsList = payBillDao.getOaEngineerPayDetails(details);
|
|
||||||
//
|
|
||||||
// String token = OABipUtil.getBipToken("yonyou","8000230000");
|
|
||||||
// JSONObject main = bindingAdd(pay);
|
|
||||||
// logger.info("工程付款单调用中台生成BIP付款结算单推送报文{}",main.toString());
|
|
||||||
// String result = OABipUtil.sendOATOBipEsb(main.toString(),"8000230014",token);
|
|
||||||
// logger.info("工程付款单调用中台生成BIP付款结算单返回结果{}",result);
|
|
||||||
// JSONObject resultObj = JSON.parseObject(result);
|
|
||||||
// boolean flag = resultObj.getBoolean("success");
|
|
||||||
// if(flag){
|
|
||||||
// pay.setState("Y");
|
|
||||||
// }else{
|
|
||||||
// pay.setState("N");
|
|
||||||
// }
|
|
||||||
// pay.setDataSourceCode(requestJson.getString("db_code"));
|
|
||||||
// payBillDao.updateState(pay);
|
|
||||||
// // todo 后续在写吧(没字段等OA开了外网在创建),修改推送状态,避免再次查询
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public JsonResultEntity sendMarginPaymentToBip(JSONObject requestJson) {
|
|
||||||
PayBillEntity entity = new PayBillEntity();
|
PayBillEntity entity = new PayBillEntity();
|
||||||
requestJson.put("db_code","SW-OA");
|
requestJson.put("db_code","OA");
|
||||||
entity.setDataSourceCode(requestJson.getString("db_code"));
|
entity.setDataSourceCode(requestJson.getString("db_code"));
|
||||||
List<PayBillEntity>payBillEntityList = payBillDao.getMarginPayment(entity);
|
List<PayBillEntity>payBillEntityList = payBillDao.getOaEngineerPay(entity);
|
||||||
if(CollectionUtils.isNotEmpty(payBillEntityList)){
|
if(CollectionUtils.isNotEmpty(payBillEntityList)){
|
||||||
for(PayBillEntity pay : payBillEntityList){
|
for(PayBillEntity pay : payBillEntityList){
|
||||||
String datasourceCode = requestJson.getString("db_code");
|
String token = OABipUtil.getBipToken("yonyou","8000230000");
|
||||||
System.out.println("更新时的数据源编码为"+datasourceCode);
|
JSONObject main = bindingAdd(pay);
|
||||||
logger.info("更新时的数据源编码为"+datasourceCode);
|
logger.info("工程付款单调用中台生成BIP付款结算单推送报文{}",main.toString());
|
||||||
pay.setDataSourceCode(datasourceCode);
|
String result = OABipUtil.sendU9cTOBipEsb(main.toString(),"8000230014",token);
|
||||||
try {
|
logger.info("工程付款单调用中台生成BIP付款结算单返回结果{}",result);
|
||||||
// PayBillEntity details = new PayBillEntity();
|
|
||||||
// details.setFormmain_id(pay.getId());
|
|
||||||
// details.setDataSourceCode(requestJson.getString("db_code"));
|
|
||||||
// List<PayBillEntity>payDetailsList = payBillDao.getOaEngineerPayDetails(details);
|
|
||||||
String token = OABipUtil.getBipToken("yonyou","8000500003");
|
|
||||||
// pay.setPayBillDetailsEntityList(payDetailsList);
|
|
||||||
JSONObject main = bindingMarginAdd(pay);
|
|
||||||
logger.info("保证金原始报文{}",JSON.toJSONString(pay));
|
|
||||||
logger.info("保证金付款申请单推送BIP报文{}",main.toString());
|
|
||||||
String result = OABipUtil.sendOATOBipEsb(main.toString(),"8000500007",token);
|
|
||||||
logger.info("保证金付款申请单推送BIP报文返回结果{}",result);
|
|
||||||
JSONObject resultObj = JSON.parseObject(result);
|
JSONObject resultObj = JSON.parseObject(result);
|
||||||
String resultFlag = resultObj.getString("Result");
|
boolean flag = resultObj.getBoolean("success");
|
||||||
if("success".equals(resultFlag)){
|
if(flag){
|
||||||
pay.setState("Y");
|
pay.setState("Y");
|
||||||
}else{
|
}else{
|
||||||
pay.setState("N");
|
pay.setState("N");
|
||||||
}
|
}
|
||||||
|
|
||||||
payBillDao.updateState(pay);
|
|
||||||
} catch (Exception e) {
|
|
||||||
pay.setState("N");
|
|
||||||
payBillDao.updateState(pay);
|
|
||||||
logger.error("保证金同步BIP保证金付款失败,请联系管理员:{}",e);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public JsonResultEntity sendReceivedToBip(JSONObject requestJson) {
|
|
||||||
PayBillEntity entity = new PayBillEntity();
|
|
||||||
requestJson.put("db_code","SW-OA");
|
|
||||||
entity.setDataSourceCode(requestJson.getString("db_code"));
|
|
||||||
List<PayBillEntity>payBillEntityList = payBillDao.getReceived(entity);
|
|
||||||
if(CollectionUtils.isNotEmpty(payBillEntityList)){
|
|
||||||
for(PayBillEntity pay : payBillEntityList){
|
|
||||||
pay.setDataSourceCode(requestJson.getString("db_code"));
|
pay.setDataSourceCode(requestJson.getString("db_code"));
|
||||||
try {
|
|
||||||
boolean flag = true;
|
|
||||||
StringBuffer sb = new StringBuffer();
|
|
||||||
// PayBillEntity details = new PayBillEntity();
|
|
||||||
// details.setFormmain_id(pay.getId());
|
|
||||||
// details.setDataSourceCode(requestJson.getString("db_code"));
|
|
||||||
// List<PayBillEntity>payDetailsList = payBillDao.getReceivedDetails(details);
|
|
||||||
String token = OABipUtil.getBipToken("yonyou","8000500003");
|
|
||||||
// pay.setPayBillDetailsEntityList(payDetailsList);
|
|
||||||
//组装更新保证金还款信息
|
|
||||||
JSONObject main = bindingReceivedAdd(pay);
|
|
||||||
logger.info("保证金付款申请单-还款推送BIP报文{}",main.toString());
|
|
||||||
String result = OABipUtil.sendOATOBipEsb(main.toString(),"8000500015",token);
|
|
||||||
logger.info("保证金付款申请单-还款推送BIP报文返回结果{}",result);
|
|
||||||
JSONObject resultObj = JSON.parseObject(result);
|
|
||||||
flag = resultObj.getBoolean("Result");
|
|
||||||
if(!flag){
|
|
||||||
sb.append("更新保证金还款信息失败:错误原因"+resultObj.getString("Message")+pay.getReceiptDetailsId() +" ");
|
|
||||||
pay.setState("N");
|
|
||||||
}else{
|
|
||||||
pay.setState("Y");
|
|
||||||
}
|
|
||||||
|
|
||||||
//不单独更新数据到表中了,记录日志用
|
|
||||||
logger.info("保证金流程结束事件出错"+sb.toString());
|
|
||||||
payBillDao.updateState(pay);
|
payBillDao.updateState(pay);
|
||||||
} catch (Exception e) {
|
// todo 后续在写吧(没字段等OA开了外网在创建),修改推送状态,避免再次查询
|
||||||
pay.setState("N");
|
|
||||||
payBillDao.updateState(pay);
|
|
||||||
logger.info("保证金流程结束事件出错,请联系管理员:"+e);
|
|
||||||
logger.info("保证金流程结束事件出错,请联系管理员1:"+e.getMessage());
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// private JSONObject bindingReceivedRLAdd(PayBillEntity pay) {
|
|
||||||
// JSONObject head = new JSONObject();
|
|
||||||
// head.put("c_bill_type","F9");//单据类型 保证金付款申请单固定F9
|
|
||||||
// head.put("formCode",pay.getFormCode());//单据号
|
|
||||||
// head.put("receiptDetailsId","");//BIP到款明细主键
|
|
||||||
// head.put("repaymentDate","");//还款日期
|
|
||||||
// head.put("repaymentType","");//还款类型
|
|
||||||
// head.put("repaymentAmount","");//还款金额
|
|
||||||
// return head;
|
|
||||||
// }
|
|
||||||
|
|
||||||
private JSONObject bindingReceivedAdd(PayBillEntity pay) {
|
|
||||||
JSONObject head = new JSONObject();
|
|
||||||
head.put("c_bill_type",pay.getC_bill_type());//单据类型 保证金付款申请单固定F9
|
|
||||||
head.put("formCode",pay.getFormCode());//单据号
|
|
||||||
head.put("receiptDetailsId",pay.getReceiptDetailsId());//BIP到款明细主键
|
|
||||||
String repaymentDate = pay.getRepaymentDate();
|
|
||||||
if(StrUtil.isNotEmpty(repaymentDate)){
|
|
||||||
head.put("repaymentDate",DateUtil.format(DateUtil.parse(repaymentDate), "yyyy-MM-dd HH:mm:ss"));//还款日期
|
|
||||||
}
|
|
||||||
head.put("repaymentType",pay.getRepaymentType());//还款类型
|
|
||||||
head.put("repaymentAmount",pay.getRepaymentAmount());//还款金额
|
|
||||||
return head;
|
|
||||||
}
|
|
||||||
|
|
||||||
private JSONObject bindingMarginAdd(PayBillEntity pay) {
|
|
||||||
|
|
||||||
JSONObject head = new JSONObject();
|
|
||||||
head.put("c_bill_type","F9");//单据类型 保证金付款申请单固定F9
|
|
||||||
head.put("formCode",pay.getFormCode());//单据号(NC有重复校验)
|
|
||||||
head.put("orgCode",pay.getOrgCode());//公司编码
|
|
||||||
head.put("deptCode",pay.getDeptCode());//事业部大类编码
|
|
||||||
head.put("fklxName",pay.getFklxName());//付款类型
|
|
||||||
head.put("zffsName",pay.getZffsName());//支付方式
|
|
||||||
head.put("firstSubject",pay.getFirstSubject());//一级科目
|
|
||||||
head.put("bzjProjectName",pay.getBzjProjectName());//保证金项目名称
|
|
||||||
String expirationDate= pay.getExpirationDate();
|
|
||||||
if(StrUtil.isNotEmpty(expirationDate)){
|
|
||||||
head.put("expirationDate",DateUtil.format(DateUtil.parse(expirationDate), "yyyy-MM-dd"));//投标保证金到期日
|
|
||||||
}
|
|
||||||
|
|
||||||
head.put("deptCode2",pay.getDeptCode2());//归属部门编码
|
|
||||||
head.put("isCustomer","Y");//是否运营商客户
|
|
||||||
head.put("applyAmount",pay.getApplyAmount());//申请金额
|
|
||||||
head.put("checkedAmount",pay.getCheckedAmount());//财务核实金额
|
|
||||||
head.put("comments",pay.getComments());//说明
|
|
||||||
head.put("creator",pay.getCreator());//制单人
|
|
||||||
head.put("supplierCode",pay.getSupplierCode());//供应商编码
|
|
||||||
head.put("openBank",pay.getOpenBank());//开户银行
|
|
||||||
head.put("bankAccount",pay.getBankAccount());//银行账号
|
|
||||||
head.put("customerAddress",pay.getCustomerAddress());//客户地址
|
|
||||||
head.put("linkMan",pay.getLinkMan());//联系人
|
|
||||||
head.put("contactNumber",pay.getContactNumber());//联系电话
|
|
||||||
|
|
||||||
head.put("bhBeneficiary",pay.getBhBeneficiary());//保函受益人
|
|
||||||
head.put("beneficiaryPhone",pay.getBeneficiaryPhone());//受益人电话
|
|
||||||
head.put("beneficiaryAddress",pay.getBeneficiaryAddress());//受益人地址
|
|
||||||
head.put("projectNumber",pay.getProjectNumber());//工程项目合同/标书号码
|
|
||||||
head.put("projectAmount",pay.getProjectAmount());//工程项目合同/标书总金额
|
|
||||||
String bhIndate = pay.getBhIndate();
|
|
||||||
if(StrUtil.isNotEmpty(bhIndate)){
|
|
||||||
head.put("bhIndate",DateUtil.format(DateUtil.parse(bhIndate), "yyyy-MM-dd"));//保函有效期
|
|
||||||
}
|
|
||||||
head.put("bhReceiver",pay.getBhReceiver());//保函收件人
|
|
||||||
head.put("contactType",pay.getContactType());//联系方式
|
|
||||||
head.put("contactAddress",pay.getContactAddress());//联系地址
|
|
||||||
head.put("bhProjectName",pay.getBhProjectName());//保函项目名称
|
|
||||||
|
|
||||||
String lastBhDate = pay.getLastBhDate();
|
|
||||||
if(StrUtil.isNotEmpty(lastBhDate)){
|
|
||||||
head.put("lastBhDate",DateUtil.format(DateUtil.parse(lastBhDate), "yyyy-MM-dd"));//最晚取得保函日期
|
|
||||||
}
|
|
||||||
head.put("notes",pay.getNotes());//备注
|
|
||||||
head.put("isBh",pay.getIsBh());//是否取得保函原件
|
|
||||||
|
|
||||||
head.put("dkAmount",pay.getDkAmount());//打款金额
|
|
||||||
String dkTime = pay.getDkTime();
|
|
||||||
if(StrUtil.isNotEmpty(dkTime)){
|
|
||||||
head.put("dkTime", DateUtil.format(DateUtil.parse(dkTime), "yyyy-MM-dd HH:mm:ss"));//打款时间
|
|
||||||
}
|
|
||||||
|
|
||||||
head.put("isDydj","Y");//是否打印本单据
|
|
||||||
|
|
||||||
//处理明细数据,按照明细付款 多个明细生成多个付款结算单
|
|
||||||
JSONArray detailsArr = new JSONArray();
|
|
||||||
// List<PayBillEntity>detailsList = pay.getPayBillDetailsEntityList();
|
|
||||||
// if(CollectionUtils.isNotEmpty(detailsList)){
|
|
||||||
// detailsList.forEach(detail->{
|
|
||||||
// JSONObject body = new JSONObject();
|
|
||||||
// body.put("projectCode","");//项目编码
|
|
||||||
// body.put("projectName","");//项目名称
|
|
||||||
// body.put("wdContact","");//未定合同号
|
|
||||||
// body.put("buildCost","");//工程造价
|
|
||||||
// body.put("deptCode","");//承担部门编码
|
|
||||||
// detailsArr.add(body);
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
head.put("xmDetail",detailsArr);//明细数据
|
|
||||||
head.put("hkDetail",detailsArr);//明细数据
|
|
||||||
return head;
|
|
||||||
}
|
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private JSONObject bindingAdd(PayBillEntity pay) {
|
private JSONObject bindingAdd(PayBillEntity pay) {
|
||||||
JSONObject head = new JSONObject();
|
JSONObject head = new JSONObject();
|
||||||
|
|
|
@ -42,29 +42,29 @@ public class RecBillServiceImpl extends BaseService<PaymentEntity,String> implem
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public JsonResultEntity sendRecBillToBip(JSONObject requestJson) {
|
public JsonResultEntity sendRecBillToBip(JSONObject requestJson) {
|
||||||
// RecBillEntity entity = new RecBillEntity();
|
RecBillEntity entity = new RecBillEntity();
|
||||||
// requestJson.put("db_code","OA");
|
requestJson.put("db_code","OA");
|
||||||
// entity.setDataSourceCode(requestJson.getString("db_code"));
|
entity.setDataSourceCode(requestJson.getString("db_code"));
|
||||||
// List<RecBillEntity>payBillEntityList = payBillDao.getOaRecBill(entity);
|
List<RecBillEntity>payBillEntityList = payBillDao.getOaRecBill(entity);
|
||||||
// if(CollectionUtils.isNotEmpty(payBillEntityList)){
|
if(CollectionUtils.isNotEmpty(payBillEntityList)){
|
||||||
// for(RecBillEntity pay : payBillEntityList){
|
for(RecBillEntity pay : payBillEntityList){
|
||||||
// String token = OABipUtil.getBipToken("yonyou","8000230000");
|
String token = OABipUtil.getBipToken("yonyou","8000230000");
|
||||||
// JSONObject main = bindingAdd(pay);
|
JSONObject main = bindingAdd(pay);
|
||||||
// logger.info("银行流水收款信息数据{}",main.toString());
|
logger.info("银行流水收款信息数据{}",main.toString());
|
||||||
// String result = OABipUtil.sendU9cTOBipEsb(main.toString(),"8000230016",token);
|
String result = OABipUtil.sendU9cTOBipEsb(main.toString(),"8000230016",token);
|
||||||
// logger.info("银行流水收款信息数据{}",result);
|
logger.info("银行流水收款信息数据{}",result);
|
||||||
// JSONObject resultObj = JSON.parseObject(result);
|
JSONObject resultObj = JSON.parseObject(result);
|
||||||
// boolean flag = resultObj.getBoolean("success");
|
boolean flag = resultObj.getBoolean("success");
|
||||||
// if(flag){
|
if(flag){
|
||||||
// pay.setState("Y");
|
pay.setState("Y");
|
||||||
// }else{
|
}else{
|
||||||
// pay.setState("N");
|
pay.setState("N");
|
||||||
// }
|
}
|
||||||
// pay.setDataSourceCode(requestJson.getString("db_code"));
|
pay.setDataSourceCode(requestJson.getString("db_code"));
|
||||||
// payBillDao.updateState(pay);
|
payBillDao.updateState(pay);
|
||||||
// // todo 后续在写吧(没字段等OA开了外网在创建),修改推送状态,避免再次查询
|
// todo 后续在写吧(没字段等OA开了外网在创建),修改推送状态,避免再次查询
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,7 @@ import com.hzya.frame.web.entity.JsonResultEntity;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 致远OA接口类
|
* 致远OA接口类
|
||||||
|
*
|
||||||
* @author 👻👻👻👻👻👻👻👻👻👻 gjh
|
* @author 👻👻👻👻👻👻👻👻👻👻 gjh
|
||||||
* @version 1.0
|
* @version 1.0
|
||||||
* @content
|
* @content
|
||||||
|
@ -24,7 +25,6 @@ public interface ISeeYonInterFace {
|
||||||
JsonResultEntity thirdInterfaceSend(JSONObject requestData);
|
JsonResultEntity thirdInterfaceSend(JSONObject requestData);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/***
|
/***
|
||||||
* @Content: 提供给OA的标准接口方法,包含参数 entity 为OA 的data信息, , eventType 为事件类型
|
* @Content: 提供给OA的标准接口方法,包含参数 entity 为OA 的data信息, , eventType 为事件类型
|
||||||
* @Author 👻👻👻👻👻👻👻👻 gjh
|
* @Author 👻👻👻👻👻👻👻👻 gjh
|
||||||
|
@ -59,11 +59,13 @@ public interface ISeeYonInterFace {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* seeyon流程事件监听前置方法,绑定数据源
|
* seeyon流程事件监听前置方法,绑定数据源
|
||||||
|
*
|
||||||
* @param sysExtensionApi
|
* @param sysExtensionApi
|
||||||
* @return
|
* @return
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
SysExtensionApiEntity colEventPre(SysExtensionApiEntity sysExtensionApi) throws Exception;
|
SysExtensionApiEntity colEventPre(SysExtensionApiEntity sysExtensionApi) throws Exception;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* seeyon流程事件监听前置方法,绑定数据源
|
* seeyon流程事件监听前置方法,绑定数据源
|
||||||
* @param entity
|
* @param entity
|
||||||
|
@ -73,6 +75,7 @@ public interface ISeeYonInterFace {
|
||||||
SysExtensionApiEntity getToken(SysExtensionApiEntity entity) throws Exception;
|
SysExtensionApiEntity getToken(SysExtensionApiEntity entity) throws Exception;
|
||||||
/**
|
/**
|
||||||
* seeyon流程事件监听
|
* seeyon流程事件监听
|
||||||
|
*
|
||||||
* @param jsonObject
|
* @param jsonObject
|
||||||
* @return
|
* @return
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
|
@ -81,11 +84,18 @@ public interface ISeeYonInterFace {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* seeyon流程事件监听后置方法,调用三方接口
|
* seeyon流程事件监听后置方法,调用三方接口
|
||||||
|
*
|
||||||
* @param jsonStr
|
* @param jsonStr
|
||||||
* @param formAppId
|
* @param formAppId
|
||||||
* @param eventType
|
* @param eventType
|
||||||
* @return
|
* @return
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
String colEventPost(String jsonStr,String formAppId,String eventType)throws Exception;
|
JsonResultEntity colEventPost(String jsonStr, String formAppId, String eventType) throws Exception;
|
||||||
|
|
||||||
|
|
||||||
|
JsonResultEntity chengeBody(JSONObject jsonObject) throws Exception;
|
||||||
|
|
||||||
|
SysExtensionApiEntity chengeBodySetPlug(SysExtensionApiEntity entity);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,46 +2,36 @@ package com.hzya.frame.seeyon.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.map.MapBuilder;
|
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.hutool.http.HttpRequest;
|
import cn.hutool.http.HttpRequest;
|
||||||
import cn.hutool.http.HttpUtil;
|
import cn.hutool.http.HttpUtil;
|
||||||
import cn.hutool.json.JSONUtil;
|
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.hzya.frame.base.PluginBaseEntity;
|
||||||
import com.hzya.frame.seeyon.dao.ISeeYonInterFaceDao;
|
import com.hzya.frame.seeyon.dao.ISeeYonInterFaceDao;
|
||||||
import com.hzya.frame.seeyon.entity.OAWorkflowEventDataEntity;
|
import com.hzya.frame.seeyon.entity.OAWorkflowEventDataEntity;
|
||||||
import com.hzya.frame.seeyon.entity.SeeYonInterFaceEntity;
|
import com.hzya.frame.seeyon.entity.SeeYonInterFaceEntity;
|
||||||
import com.hzya.frame.seeyon.service.ISeeYonInterFace;
|
import com.hzya.frame.seeyon.service.ISeeYonInterFace;
|
||||||
import com.hzya.frame.sys.sysenum.SysEnum;
|
|
||||||
import com.hzya.frame.sysnew.application.api.entity.SysApplicationApiEntity;
|
import com.hzya.frame.sysnew.application.api.entity.SysApplicationApiEntity;
|
||||||
import com.hzya.frame.sysnew.application.api.service.ISysApplicationApiService;
|
import com.hzya.frame.sysnew.application.api.service.ISysApplicationApiService;
|
||||||
import com.hzya.frame.sysnew.application.database.dao.ISysApplicationDatabaseDao;
|
import com.hzya.frame.sysnew.application.database.dao.ISysApplicationDatabaseDao;
|
||||||
import com.hzya.frame.sysnew.application.database.entity.SysApplicationDatabaseEntity;
|
import com.hzya.frame.sysnew.application.database.entity.SysApplicationDatabaseEntity;
|
||||||
import com.hzya.frame.sysnew.application.entity.SysApplicationEntity;
|
import com.hzya.frame.sysnew.application.entity.SysApplicationEntity;
|
||||||
import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity;
|
import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity;
|
||||||
import com.hzya.frame.sysnew.application.service.impl.ApplicationCache;
|
import com.hzya.frame.util.PluginUtils;
|
||||||
import com.hzya.frame.web.entity.BaseResult;
|
import com.hzya.frame.web.entity.BaseResult;
|
||||||
import com.hzya.frame.web.entity.JsonResultEntity;
|
import com.hzya.frame.web.entity.JsonResultEntity;
|
||||||
import com.hzya.frame.web.exception.BaseSystemException;
|
import com.hzya.frame.web.exception.BaseSystemException;
|
||||||
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
import org.apache.commons.lang3.ObjectUtils;
|
import org.apache.commons.lang3.ObjectUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.http.HttpEntity;
|
|
||||||
import org.apache.http.client.config.RequestConfig;
|
|
||||||
import org.apache.http.client.methods.CloseableHttpResponse;
|
|
||||||
import org.apache.http.client.methods.HttpPost;
|
|
||||||
import org.apache.http.entity.ByteArrayEntity;
|
|
||||||
import org.apache.http.impl.client.CloseableHttpClient;
|
|
||||||
import org.apache.http.impl.client.HttpClientBuilder;
|
|
||||||
import org.apache.http.util.EntityUtils;
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -63,18 +53,30 @@ public class SeeYonInterFaceImpl implements ISeeYonInterFace {
|
||||||
private static final String sendUrl = "http://60.204.152.210/seeyon/";
|
private static final String sendUrl = "http://60.204.152.210/seeyon/";
|
||||||
//速网esb地址
|
//速网esb地址
|
||||||
private static final String baseUrl = "http://hzya.ufyct.com:9067/kangarooDataCenter/entranceController/externalCallInterface";
|
private static final String baseUrl = "http://hzya.ufyct.com:9067/kangarooDataCenter/entranceController/externalCallInterface";
|
||||||
@Resource
|
|
||||||
private ISysApplicationDatabaseDao sysApplicationDatabaseDao;
|
|
||||||
@Autowired
|
|
||||||
private ISysApplicationApiService sysApplicationApiService;
|
|
||||||
@Value("${zt.url}")
|
|
||||||
private String url ;
|
|
||||||
@Resource
|
|
||||||
private ApplicationCache applicationCache;
|
|
||||||
/**
|
/**
|
||||||
* 定义所支持的事件静态代码块
|
* 定义所支持的事件静态代码块
|
||||||
*/
|
*/
|
||||||
private static final StringBuffer eventTypeBuffer = new StringBuffer();
|
private static final StringBuffer eventTypeBuffer = new StringBuffer();
|
||||||
|
//基础档案类型
|
||||||
|
private final String ARCHIVESTYPE = "archives";
|
||||||
|
//流程表单类型
|
||||||
|
private final String FLOWTYPE = "flow";
|
||||||
|
//创建基础档案
|
||||||
|
private final String CREATEARCHIVES = "create";
|
||||||
|
//更新基础档案
|
||||||
|
private final String UPDATEARCHIVES = "update";
|
||||||
|
//创建基础档案
|
||||||
|
private final String CREATEARCHIVESURL = "rest/form/import/";
|
||||||
|
//创建基础档案
|
||||||
|
private final String UPDATEARCHIVESURL = "rest/form/update";
|
||||||
|
@Resource
|
||||||
|
private ISysApplicationDatabaseDao sysApplicationDatabaseDao;
|
||||||
|
@Autowired
|
||||||
|
private ISysApplicationApiService sysApplicationApiService;
|
||||||
|
@Resource
|
||||||
|
private ISeeYonInterFaceDao seeYonInterFaceDao;
|
||||||
|
//上一次同步时间
|
||||||
|
private final String LAST_SYNCHRONISED_TIME = "";
|
||||||
|
|
||||||
{
|
{
|
||||||
eventTypeBuffer.append("发起前事件 onBeforeStart ,");
|
eventTypeBuffer.append("发起前事件 onBeforeStart ,");
|
||||||
|
@ -92,24 +94,6 @@ public class SeeYonInterFaceImpl implements ISeeYonInterFace {
|
||||||
eventTypeBuffer.append("取回事件 onTakeBack,");
|
eventTypeBuffer.append("取回事件 onTakeBack,");
|
||||||
}
|
}
|
||||||
|
|
||||||
//基础档案类型
|
|
||||||
private final String ARCHIVESTYPE = "archives";
|
|
||||||
//流程表单类型
|
|
||||||
private final String FLOWTYPE = "flow";
|
|
||||||
//创建基础档案
|
|
||||||
private final String CREATEARCHIVES = "create";
|
|
||||||
//更新基础档案
|
|
||||||
private final String UPDATEARCHIVES = "update";
|
|
||||||
//创建基础档案
|
|
||||||
private final String CREATEARCHIVESURL = "rest/form/import/";
|
|
||||||
//创建基础档案
|
|
||||||
private final String UPDATEARCHIVESURL = "rest/form/update";
|
|
||||||
@Resource
|
|
||||||
private ISeeYonInterFaceDao seeYonInterFaceDao;
|
|
||||||
|
|
||||||
|
|
||||||
//上一次同步时间
|
|
||||||
private String LAST_SYNCHRONISED_TIME = "";
|
|
||||||
/****
|
/****
|
||||||
* @Content:发起无流程表单接口实现
|
* @Content:发起无流程表单接口实现
|
||||||
* @Author 👻👻👻👻👻👻👻👻 gjh
|
* @Author 👻👻👻👻👻👻👻👻 gjh
|
||||||
|
@ -240,73 +224,74 @@ public class SeeYonInterFaceImpl implements ISeeYonInterFace {
|
||||||
//formApp 最好过滤一下
|
//formApp 最好过滤一下
|
||||||
|
|
||||||
|
|
||||||
String result = null;
|
JsonResultEntity result = null;
|
||||||
try {
|
try {
|
||||||
//流程事件处理
|
//流程事件处理
|
||||||
result = colEventPost(jsonStr, formApp, eventType);
|
result = colEventPost(jsonStr, formApp, eventType);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return BaseResult.getFailureMessageEntity("传递失败", e.getMessage());
|
return BaseResult.getFailureMessageEntity("传递失败", e.getMessage());
|
||||||
}
|
}
|
||||||
try {
|
return result;
|
||||||
/** 根据事件类型处理相关事件*/
|
// try {
|
||||||
switch (eventType) {
|
// /** 根据事件类型处理相关事件*/
|
||||||
/** 发起前事件*/
|
// switch (eventType) {
|
||||||
case "onBeforeStart":
|
// /** 发起前事件*/
|
||||||
break;
|
// case "onBeforeStart":
|
||||||
/** 发起事件*/
|
// break;
|
||||||
case "onStart":
|
// /** 发起事件*/
|
||||||
//流程发起 新增grpu8单据
|
// case "onStart":
|
||||||
break;
|
// //流程发起 新增grpu8单据
|
||||||
/** 终止前事件*/
|
// break;
|
||||||
case "onBeforeStop":
|
// /** 终止前事件*/
|
||||||
break;
|
// case "onBeforeStop":
|
||||||
/** 终止事件*/
|
// break;
|
||||||
case "onStop":
|
// /** 终止事件*/
|
||||||
//流程终止,更新grpu8单据
|
// case "onStop":
|
||||||
break;
|
// //流程终止,更新grpu8单据
|
||||||
/** 撤销前事件*/
|
// break;
|
||||||
case "onBeforeCancel":
|
// /** 撤销前事件*/
|
||||||
break;
|
// case "onBeforeCancel":
|
||||||
/** 撤销事件*/
|
// break;
|
||||||
case "onCancel":
|
// /** 撤销事件*/
|
||||||
//流程撤销,更新grpu8单据
|
// case "onCancel":
|
||||||
break;
|
// //流程撤销,更新grpu8单据
|
||||||
/** 结束事件*/
|
// break;
|
||||||
case "onProcessFinished":
|
// /** 结束事件*/
|
||||||
break;
|
// case "onProcessFinished":
|
||||||
/** 处理前事件*/
|
// break;
|
||||||
case "onBeforeFinishWorkitem":
|
// /** 处理前事件*/
|
||||||
/** 根据form处理相关业务表单的数据*/
|
// case "onBeforeFinishWorkitem":
|
||||||
switch (formApp) {
|
// /** 根据form处理相关业务表单的数据*/
|
||||||
case "abc123":
|
// switch (formApp) {
|
||||||
break;
|
// case "abc123":
|
||||||
default:
|
// break;
|
||||||
return BaseResult.getFailureMessageEntity("未匹配到表单!当前formID:" + formApp, "");
|
// default:
|
||||||
}
|
// return BaseResult.getFailureMessageEntity("未匹配到表单!当前formID:" + formApp, "");
|
||||||
break;
|
// }
|
||||||
/** 处理事件*/
|
// break;
|
||||||
case "onFinishWorkitem":
|
// /** 处理事件*/
|
||||||
break;
|
// case "onFinishWorkitem":
|
||||||
/** 回退前事件*/
|
// break;
|
||||||
case "onBeforeStepBack":
|
// /** 回退前事件*/
|
||||||
break;
|
// case "onBeforeStepBack":
|
||||||
/** 回退事件*/
|
// break;
|
||||||
case "onStepBack":
|
// /** 回退事件*/
|
||||||
break;
|
// case "onStepBack":
|
||||||
/** 取回前事件*/
|
// break;
|
||||||
case "onBeforeTakeBack":
|
// /** 取回前事件*/
|
||||||
break;
|
// case "onBeforeTakeBack":
|
||||||
/** 取回事件*/
|
// break;
|
||||||
case "onTakeBack":
|
// /** 取回事件*/
|
||||||
break;
|
// case "onTakeBack":
|
||||||
default:
|
// break;
|
||||||
// throw new RuntimeException("传入了非法事件类型!请参照:" + eventTypeBuffer.toString());
|
// default:
|
||||||
return BaseResult.getFailureMessageEntity("传入了非法事件类型!请参照:" + eventTypeBuffer.toString(), "", "");
|
//// throw new RuntimeException("传入了非法事件类型!请参照:" + eventTypeBuffer.toString());
|
||||||
}
|
// return BaseResult.getFailureMessageEntity("传入了非法事件类型!请参照:" + eventTypeBuffer.toString(), "", "");
|
||||||
return BaseResult.getSuccessMessageEntity("传递成功", result);
|
// }
|
||||||
}catch (Exception e){
|
// return BaseResult.getSuccessMessageEntity("传递成功", result);
|
||||||
return BaseResult.getFailureMessageEntity("传递失败",e.getMessage());
|
// }catch (Exception e){
|
||||||
}
|
// return BaseResult.getFailureMessageEntity("传递失败",e.getMessage());
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -429,6 +414,7 @@ public class SeeYonInterFaceImpl implements ISeeYonInterFace {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* seeyon流程事件监听前置方法,绑定数据源
|
* seeyon流程事件监听前置方法,绑定数据源
|
||||||
|
*
|
||||||
* @param entity
|
* @param entity
|
||||||
* @return
|
* @return
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
|
@ -497,7 +483,7 @@ public class SeeYonInterFaceImpl implements ISeeYonInterFace {
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String colEventPost(String jsonStr, String formAppId, String eventType) throws Exception {
|
public JsonResultEntity colEventPost(String jsonStr, String formAppId, String eventType) throws Exception {
|
||||||
if (StrUtil.isNotEmpty(jsonStr) && StrUtil.isNotEmpty(formAppId) && StrUtil.isNotEmpty(eventType)) {
|
if (StrUtil.isNotEmpty(jsonStr) && StrUtil.isNotEmpty(formAppId) && StrUtil.isNotEmpty(eventType)) {
|
||||||
SysApplicationApiEntity sysApplicationApiEntity = new SysApplicationApiEntity();
|
SysApplicationApiEntity sysApplicationApiEntity = new SysApplicationApiEntity();
|
||||||
sysApplicationApiEntity.setHeaderIn(formAppId + "_" + eventType);
|
sysApplicationApiEntity.setHeaderIn(formAppId + "_" + eventType);
|
||||||
|
@ -506,280 +492,76 @@ public class SeeYonInterFaceImpl implements ISeeYonInterFace {
|
||||||
if (applist.size() > 1) {
|
if (applist.size() > 1) {
|
||||||
throw new BaseSystemException("根据formID:" + formAppId + "查询出多条数据");
|
throw new BaseSystemException("根据formID:" + formAppId + "查询出多条数据");
|
||||||
}
|
}
|
||||||
|
if (applist.size() == 0 ) {
|
||||||
|
throw new BaseSystemException("根据formID:" + formAppId + "eventType:"+eventType+"未查询到API配置");
|
||||||
|
}
|
||||||
SysApplicationApiEntity sysApp = applist.get(0);
|
SysApplicationApiEntity sysApp = applist.get(0);
|
||||||
Map<String, String> headerMap = MapBuilder.<String, String>create(true)
|
//数据源配置
|
||||||
.put("apiCode", String.valueOf(sysApp.getApiCode()))
|
SysApplicationDatabaseEntity sysApiDatabase = new SysApplicationDatabaseEntity();
|
||||||
//这里用中台做为发送方
|
sysApiDatabase.setAppId(sysApp.getAppId());
|
||||||
.put("publicKey","ZJYAWb7lhAUTYqekPkU+uHJv1/ObJxb7dT7sD8HPRDGAgyhCe7eDIk+3zDUT+v578prj")
|
List<SysApplicationDatabaseEntity> apiDataBaseList = sysApplicationDatabaseDao.queryDSBase(sysApiDatabase);
|
||||||
.put("secretKey","fviZnLBsQUAGF8w8FSOdJi7XlIm/XAZclMxRagDLfTyJFlvnIBF3w66Hrpfzs8cYj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=")
|
if (CollectionUtils.isNotEmpty(apiDataBaseList) && apiDataBaseList.size() == 1){
|
||||||
.put("appId",String.valueOf(sysApp.getAppCode()))
|
sysApiDatabase = apiDataBaseList.get(0);
|
||||||
.build();
|
}
|
||||||
String body = HttpRequest.post("http://127.0.0.1:9999/kangarooDataCenterV3/entranceController/externalCallInterface").addHeaders(headerMap).body(jsonStr).timeout(60000).execute().body();
|
JSONArray headerArray = JSONArray.parseArray(sysApp.getHeaderIn());
|
||||||
logger.info("调用中台返回的参数:{}",body);
|
Map<String,String> headerMap = new HashMap<>();
|
||||||
return body;
|
if (null != headerArray && headerArray.size() > 0) {
|
||||||
|
for (int i = 0; i < headerArray.size(); i++) {
|
||||||
|
JSONObject querys = headerArray.getJSONObject(i);
|
||||||
|
//query 只有基本类型,不用循环判断下级
|
||||||
|
//判断参数是否有值
|
||||||
|
//获取对象下面的层级数据
|
||||||
|
String parameterName = querys.getString("parameterName");
|
||||||
|
String example = querys.getString("example");
|
||||||
|
headerMap.put(parameterName,example);
|
||||||
|
}
|
||||||
|
if (headerMap.isEmpty()){
|
||||||
|
throw new BaseSystemException("根据formID:" + formAppId + "未获取到head参数");
|
||||||
|
}
|
||||||
|
PluginBaseEntity pluginBaseEntity = PluginUtils.getPluginsById(headerMap.get("plugId"));
|
||||||
|
if (null == pluginBaseEntity) {
|
||||||
|
throw new BaseSystemException("根据ID获取插件错误!请传入正确的 pluginId");
|
||||||
|
}
|
||||||
|
//执行业务逻辑代码
|
||||||
|
JSONObject reqJson = new JSONObject();
|
||||||
|
reqJson.put("jsonStr",jsonStr);
|
||||||
|
reqJson.put("formAppId",formAppId);
|
||||||
|
reqJson.put("eventType",eventType);
|
||||||
|
reqJson.put("headers",JSON.toJSONString(headerMap));
|
||||||
|
reqJson.put("apiDataSourceCode",sysApiDatabase.getSourceCode());
|
||||||
|
JsonResultEntity result = pluginBaseEntity.executeBusiness(reqJson);
|
||||||
|
return result;
|
||||||
|
} else {
|
||||||
|
throw new BaseSystemException("根据formID:" + formAppId + "未获取到head参数");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@Override
|
||||||
|
public JsonResultEntity chengeBody(JSONObject object) throws Exception {
|
||||||
|
JSONObject jsonstr = object.getJSONObject("jsonStr");
|
||||||
|
PluginBaseEntity pluginBaseEntity = null;
|
||||||
|
JsonResultEntity result;
|
||||||
|
String pluginId = jsonstr.getString("plugId");
|
||||||
|
pluginBaseEntity = PluginUtils.getPluginsById(pluginId);
|
||||||
|
if (null == pluginBaseEntity) {
|
||||||
|
throw new BaseSystemException("根据ID获取插件错误!请传入正确的 pluginId");
|
||||||
|
} else {
|
||||||
|
//执行业务逻辑代码
|
||||||
|
result = pluginBaseEntity.executeBusiness(object);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SysExtensionApiEntity getToken(SysExtensionApiEntity entity) {
|
public SysExtensionApiEntity chengeBodySetPlug(SysExtensionApiEntity entity) {
|
||||||
Map<String, String> headers = entity.getHeaders();
|
Map<String, String> headers = entity.getHeaders();
|
||||||
SysApplicationApiEntity sysApplicationEntity = entity.getReceiveApi();
|
JSONObject jsonObject = JSONObject.parseObject(entity.getBodys());
|
||||||
SysApplicationEntity sendApp = entity.getSendApp();
|
jsonObject.put("plugId", headers.get("plugId"));
|
||||||
SysApplicationEntity receiveApp = entity.getReceiveApp();
|
entity.setBodys(jsonObject.toJSONString());
|
||||||
if("1".equals(sysApplicationEntity.getNeedLogin()) && sysApplicationEntity.getAuthenticationPort() != null){
|
|
||||||
SysApplicationApiEntity loginApi = getApiByAppIdApiCode(sysApplicationEntity.getAuthenticationPort());
|
|
||||||
if (null == loginApi) {
|
|
||||||
return entity;
|
return entity;
|
||||||
}
|
}
|
||||||
String rzquerys = getQuery(loginApi,null,null);
|
|
||||||
Map<String, String> headersa = new HashMap<>();
|
|
||||||
headersa.put("publicKey", sendApp.getPublicKey());
|
|
||||||
headersa.put("secretKey", sendApp.getSecretKey());
|
|
||||||
headersa.put("appId", receiveApp.getAppId().toString());
|
|
||||||
headersa.put("apiCode", loginApi.getApiCode().toString());
|
|
||||||
Map<String, String> rzheaders = getHeaders(loginApi,headersa,null);
|
|
||||||
String rzbodys = getBodys(loginApi,null,null);
|
|
||||||
JsonResultEntity rzjsonResultEntity = sendData(loginApi,rzheaders,rzbodys,rzquerys);
|
|
||||||
if (!rzjsonResultEntity.isFlag()) {
|
|
||||||
return entity;
|
|
||||||
}
|
|
||||||
JSONObject attritube = JSONObject.parseObject(rzjsonResultEntity.getAttribute().toString());
|
|
||||||
headers.put("token",attritube.getJSONObject("attribute").getString("id"));
|
|
||||||
}
|
|
||||||
entity.setHeaders(headers);
|
|
||||||
return entity;
|
|
||||||
}
|
|
||||||
private SysApplicationApiEntity getApiByAppIdApiCode(String apiId) {
|
|
||||||
|
|
||||||
String str = "apiId" + apiId ;
|
|
||||||
Object o = applicationCache.get("5", str);
|
|
||||||
if (o != null) {
|
|
||||||
return (SysApplicationApiEntity) o;
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
private JsonResultEntity sendData(SysApplicationApiEntity applicationApiEntity, Map<String, String> headers ,String bodys ,String querys) {
|
|
||||||
StringBuffer urls = new StringBuffer(url);
|
|
||||||
if (querys != null) {
|
|
||||||
urls.append("?");
|
|
||||||
urls.append(querys);
|
|
||||||
}
|
|
||||||
HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();
|
|
||||||
// HttpClient
|
|
||||||
CloseableHttpClient closeableHttpClient = httpClientBuilder.disableCookieManagement().build();
|
|
||||||
HttpPost post = new HttpPost(urls.toString());
|
|
||||||
CloseableHttpResponse response = null;
|
|
||||||
|
|
||||||
RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(Integer.valueOf(applicationApiEntity.getTimeoutPeriod())).build();
|
|
||||||
post.setConfig(requestConfig);//设置请求参数【超时时间】
|
|
||||||
|
|
||||||
if (headers != null && headers.size() > 0) {
|
|
||||||
for (String key : headers.keySet()) {
|
|
||||||
post.setHeader(key, headers.get(key));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
StringBuilder body = new StringBuilder();
|
|
||||||
boolean flag = true;
|
|
||||||
try {
|
|
||||||
if (bodys != null && !"".equals(bodys)) {
|
|
||||||
ByteArrayEntity entity = new ByteArrayEntity(bodys.getBytes("UTF-8"));
|
|
||||||
entity.setContentType("application/json");
|
|
||||||
post.setEntity(entity);
|
|
||||||
}
|
|
||||||
response = closeableHttpClient.execute(post);
|
|
||||||
|
|
||||||
HttpEntity entity = response.getEntity();
|
|
||||||
body.append(EntityUtils.toString(entity,"UTF-8"));
|
|
||||||
flag = true;
|
|
||||||
logger.info("返回结果:" + body);
|
|
||||||
} catch (Exception e) {
|
|
||||||
logger.error("请求错误:" + e.getMessage());
|
|
||||||
body.append(e.getMessage());
|
|
||||||
flag = false;
|
|
||||||
} finally {
|
|
||||||
try {
|
|
||||||
// 关闭响应对象
|
|
||||||
if (response != null) {
|
|
||||||
response.close();
|
|
||||||
}
|
|
||||||
// 关闭响应对象
|
|
||||||
if (closeableHttpClient != null) {
|
|
||||||
closeableHttpClient.close();
|
|
||||||
}
|
|
||||||
} catch (IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
if (flag) {
|
|
||||||
if (JSONUtil.isTypeJSON(body.toString())) {
|
|
||||||
JsonResultEntity jsonResultEntity = JSONObject.parseObject(body.toString(),JsonResultEntity.class);
|
|
||||||
if(jsonResultEntity.isFlag()){
|
|
||||||
return BaseResult.getSuccessMessageEntity("转发成功", body);
|
|
||||||
}else {
|
|
||||||
return BaseResult.getFailureMessageEntity("转发失败", body);
|
|
||||||
}
|
|
||||||
}else {
|
|
||||||
return BaseResult.getFailureMessageEntity("转发失败", body);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
return BaseResult.getFailureMessageEntity("转发失败", body);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private String getBodys(SysApplicationApiEntity loginApi,String sendDatastr, JSONObject loginData) {
|
|
||||||
JSONObject sendData = new JSONObject();
|
|
||||||
if(sendDatastr != null ){
|
|
||||||
sendData = JSONObject.parseObject(sendDatastr);
|
|
||||||
}
|
|
||||||
if(loginData == null){
|
|
||||||
loginData = new JSONObject();
|
|
||||||
}
|
|
||||||
if (loginApi.getBodyIn() != null && !"".equals(loginApi.getBodyIn())) {
|
|
||||||
if (JSONUtil.isTypeJSONArray(loginApi.getBodyIn())) {
|
|
||||||
JSONArray headerbodyArray = JSON.parseArray(loginApi.getBodyIn());
|
|
||||||
JSONObject bodyjson = headerbodyArray.getJSONObject(0);
|
|
||||||
JSONArray headerArray = bodyjson.getJSONArray("children");
|
|
||||||
for (int i = 0; i < headerArray.size(); i++) {
|
|
||||||
//获取到第一个数据
|
|
||||||
JSONObject querys = headerArray.getJSONObject(i);
|
|
||||||
if (SysEnum.FUNDAMENTAL.getValue().equals(querys.getString(SysEnum.PARAMETERTYPE.getValue()))) {//认证类型
|
|
||||||
String query = querys.getString(SysEnum.EXAMPLE.getValue());
|
|
||||||
if (query != null && !"".equals(query)) {
|
|
||||||
sendData.put(querys.getString(SysEnum.PARAMETERNAME.getValue()),query);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return sendData.toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
private Map<String, String> getHeaders(SysApplicationApiEntity loginApi,Map<String, String> map,JSONObject loginData) {
|
|
||||||
if(loginData == null){
|
|
||||||
loginData = new JSONObject();
|
|
||||||
}
|
|
||||||
if (loginApi.getHeaderIn() != null && !"".equals(loginApi.getHeaderIn())) {
|
|
||||||
if (JSONUtil.isTypeJSONArray(loginApi.getHeaderIn())) {
|
|
||||||
JSONArray headerArray = JSON.parseArray(loginApi.getHeaderIn());
|
|
||||||
for (int i = 0; i < headerArray.size(); i++) {
|
|
||||||
JSONObject querys = headerArray.getJSONObject(i);
|
|
||||||
//query 只有基本类型,不用循环判断下级
|
|
||||||
//判断参数是否有值
|
|
||||||
//获取对象下面的层级数据
|
|
||||||
if (SysEnum.AUTHPORT.getValue().equals(querys.getString(SysEnum.PARAMETERTYPE.getValue()))) {//认证类型
|
|
||||||
String query = querys.getString(SysEnum.EXAMPLE.getValue());
|
|
||||||
if (query != null && !"".equals(query)) {
|
|
||||||
JSONArray example = JSONArray.parseArray(query);
|
|
||||||
String logValue = getObjectValue(loginData, example);
|
|
||||||
map.put(querys.getString(SysEnum.PARAMETERNAME.getValue()), logValue);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (querys.getString(SysEnum.EXAMPLE.getValue()) != null && !"".equals(querys.getString(SysEnum.EXAMPLE.getValue()))) {//入参没有值用实例值,如果没有不添加
|
|
||||||
if(map.get(querys.getString(SysEnum.PARAMETERNAME.getValue())) == null){
|
|
||||||
map.put(querys.getString(SysEnum.PARAMETERNAME.getValue()), querys.getString(SysEnum.EXAMPLE.getValue()));
|
|
||||||
}
|
|
||||||
} else {//没有值直接拼接
|
|
||||||
if(map.get(querys.getString(SysEnum.PARAMETERNAME.getValue())) == null){
|
|
||||||
map.put(querys.getString(SysEnum.PARAMETERNAME.getValue()), "");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return map;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @param loginData
|
|
||||||
* @param example
|
|
||||||
* @return java.lang.String
|
|
||||||
* @Author lvleigang
|
|
||||||
* @Description 根据jsonArray 获取jsonobject中的值
|
|
||||||
* @Date 11:47 上午 2023/8/31
|
|
||||||
**/
|
|
||||||
private String getObjectValue(JSONObject loginData, JSONArray example) {
|
|
||||||
String values = "";
|
|
||||||
if (example != null && example.size() > 0) {
|
|
||||||
for (int i = 0; i < example.size(); i++) {
|
|
||||||
if (loginData.getString(example.getString(i)) != null && !"".equals(loginData.getString(example.getString(i)))) {
|
|
||||||
if (i == (example.size() - 1)) {
|
|
||||||
values = loginData.getString(example.getString(i));
|
|
||||||
} else {
|
|
||||||
loginData = JSONObject.parseObject(loginData.getString(example.getString(i)));
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
return values;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return values;
|
|
||||||
}
|
|
||||||
private String getQuery(SysApplicationApiEntity loginApi,String sendDatastr,JSONObject loginData) {
|
|
||||||
Map<String, String> map = new HashMap<>();
|
|
||||||
if(sendDatastr != null){
|
|
||||||
String[] parts = sendDatastr.split("&");
|
|
||||||
if(parts != null && parts.length > 0){
|
|
||||||
for (int i = 0; i < parts.length; i++) {
|
|
||||||
String[] part = parts[i].split("=");
|
|
||||||
if(part != null && part.length >=2 ){
|
|
||||||
for (int a = 0; a < part.length; a++) {
|
|
||||||
map.put(part[0],part[1]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(loginData == null){
|
|
||||||
loginData = new JSONObject();
|
|
||||||
}
|
|
||||||
if (loginApi.getQueryIn() != null && !"".equals(loginApi.getQueryIn())) {
|
|
||||||
if (JSONUtil.isTypeJSONArray(loginApi.getQueryIn())) {
|
|
||||||
JSONArray headerArray = JSON.parseArray(loginApi.getQueryIn());
|
|
||||||
for (int i = 0; i < headerArray.size(); i++) {
|
|
||||||
JSONObject querys = headerArray.getJSONObject(i);
|
|
||||||
//query 只有基本类型,不用循环判断下级
|
|
||||||
//判断参数是否有值
|
|
||||||
//获取对象下面的层级数据
|
|
||||||
if (SysEnum.AUTHPORT.getValue().equals(querys.getString(SysEnum.PARAMETERTYPE.getValue()))) {//认证类型
|
|
||||||
String query = querys.getString(SysEnum.EXAMPLE.getValue());
|
|
||||||
if (query != null && !"".equals(query)) {
|
|
||||||
JSONArray example = JSONArray.parseArray(query);
|
|
||||||
String logValue = getObjectValue(loginData, example);
|
|
||||||
map.put(querys.getString(SysEnum.PARAMETERNAME.getValue()), logValue);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
//不是认证类型直接取值
|
|
||||||
if (querys.getString(SysEnum.EXAMPLE.getValue()) != null && !"".equals(querys.getString(SysEnum.EXAMPLE.getValue()))) {//入参没有值用实例值,如果没有不添加
|
|
||||||
if(map.get(querys.getString(SysEnum.PARAMETERNAME.getValue())) == null){
|
|
||||||
map.put(querys.getString(SysEnum.PARAMETERNAME.getValue()), querys.getString(SysEnum.EXAMPLE.getValue()));
|
|
||||||
}
|
|
||||||
} else {//没有值直接拼接
|
|
||||||
if(map.get(querys.getString(SysEnum.PARAMETERNAME.getValue())) == null){
|
|
||||||
map.put(querys.getString(SysEnum.PARAMETERNAME.getValue()), "");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
StringBuffer returnStr = new StringBuffer();
|
|
||||||
if(map != null && map.size() > 0){
|
|
||||||
for (String key : map.keySet()) {
|
|
||||||
if("".equals(returnStr)){
|
|
||||||
returnStr.append(key).append("=").append(map.get(key));
|
|
||||||
}else {
|
|
||||||
returnStr.append("&").append(key).append("=").append(map.get(key));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return returnStr.toString();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -21,15 +21,15 @@ public class OABipUtil {
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public static String sendOATOBipEsb(String parm, String apiCode,String token){
|
public static String sendU9cTOBipEsb(String parm, String apiCode,String token){
|
||||||
String baseUrl = "http://127.0.0.1:9011/kangarooDataCenterV3/entranceController/externalCallInterface";
|
String baseUrl = "http://127.0.0.1:9999/kangarooDataCenterV3/entranceController/externalCallInterface";
|
||||||
System.out.println("推送参数"+parm);
|
System.out.println("推送参数"+parm);
|
||||||
String result = HttpRequest.post(baseUrl)
|
String result = HttpRequest.post(baseUrl)
|
||||||
.header("appId", "800050")//头信息,多个头信息多次调用此方法即可
|
.header("appId", "800023")//头信息,多个头信息多次调用此方法即可
|
||||||
.header("access_token", token)//头信息,多个头信息多次调用此方法即可
|
.header("access_token", token)//头信息,多个头信息多次调用此方法即可
|
||||||
.header("apiCode", apiCode)//头信息,多个头信息多次调用此方法即可
|
.header("apiCode", apiCode)//头信息,多个头信息多次调用此方法即可
|
||||||
.header("publicKey", "ZJYAM2YFEIsIaI1e4wMagkS2Q7SFgGk0RvsPhEES45m/OVFCe7eDIk+3zDUT+v578prj")//头信息,多个头信息多次调用此方法即可
|
.header("publicKey", "ZJYA1vBeY1ai53iNmbAEsw6DImjkXGBkdMailxcBdliFC85Ce7eDIk+3zDUT+v578prj")//头信息,多个头信息多次调用此方法即可
|
||||||
.header("secretKey", "lR6+uf94mvNMclAB43oIwmhJSMDzQaViTkfXLeNvmGdpLfbFiUvbgbU+p43zO25Zj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=")//头信息,多个头信息多次调用此方法即可
|
.header("secretKey", "7Gp6OjHrIaQ6R3tXGPrI4morjQyWL+qu4JJschQnkBRtv26VDgGFVYKOy5kMZfd/j3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=")//头信息,多个头信息多次调用此方法即可
|
||||||
.body(parm)//表单内容
|
.body(parm)//表单内容
|
||||||
.timeout(20000)//超时,毫秒
|
.timeout(20000)//超时,毫秒
|
||||||
.execute().body();
|
.execute().body();
|
||||||
|
@ -40,13 +40,13 @@ public class OABipUtil {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
public static String getBipToken(String userCode, String apiCode){
|
public static String getBipToken(String userCode, String apiCode){
|
||||||
String baseUrl = "http://127.0.0.1:9011/kangarooDataCenterV3/entranceController/externalCallInterface";
|
String baseUrl = "http://127.0.0.1:9999/kangarooDataCenterV3/entranceController/externalCallInterface";
|
||||||
String result = HttpRequest.post(baseUrl)
|
String result = HttpRequest.post(baseUrl)
|
||||||
.header("appId", "800050")//头信息,多个头信息多次调用此方法即可
|
.header("appId", "800023")//头信息,多个头信息多次调用此方法即可
|
||||||
.header("apiCode", apiCode)//头信息,多个头信息多次调用此方法即可
|
.header("apiCode", apiCode)//头信息,多个头信息多次调用此方法即可
|
||||||
// .header("usercode", userCode)//头信息,多个头信息多次调用此方法即可
|
.header("usercode", userCode)//头信息,多个头信息多次调用此方法即可
|
||||||
.header("publicKey", "ZJYAM2YFEIsIaI1e4wMagkS2Q7SFgGk0RvsPhEES45m/OVFCe7eDIk+3zDUT+v578prj")//头信息,多个头信息多次调用此方法即可
|
.header("publicKey", "ZJYA1vBeY1ai53iNmbAEsw6DImjkXGBkdMailxcBdliFC85Ce7eDIk+3zDUT+v578prj")//头信息,多个头信息多次调用此方法即可
|
||||||
.header("secretKey", "lR6+uf94mvNMclAB43oIwmhJSMDzQaViTkfXLeNvmGdpLfbFiUvbgbU+p43zO25Zj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=")//头信息,多个头信息多次调用此方法即可
|
.header("secretKey", "7Gp6OjHrIaQ6R3tXGPrI4morjQyWL+qu4JJschQnkBRtv26VDgGFVYKOy5kMZfd/j3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=")//头信息,多个头信息多次调用此方法即可
|
||||||
.body("")//表单内容
|
.body("")//表单内容
|
||||||
.timeout(20000)//超时,毫秒
|
.timeout(20000)//超时,毫秒
|
||||||
.execute().body();
|
.execute().body();
|
||||||
|
|
|
@ -28,7 +28,7 @@ import java.util.List;
|
||||||
@Component
|
@Component
|
||||||
public class OARestUtil {
|
public class OARestUtil {
|
||||||
@Autowired
|
@Autowired
|
||||||
private ISysApplicationApiService sysApplicationApiService;
|
private static ISysApplicationApiService sysApplicationApiService;
|
||||||
static Logger logger = LoggerFactory.getLogger(OARestUtil.class);
|
static Logger logger = LoggerFactory.getLogger(OARestUtil.class);
|
||||||
|
|
||||||
private OARestUtil() {
|
private OARestUtil() {
|
||||||
|
@ -41,14 +41,14 @@ public class OARestUtil {
|
||||||
* @param api_code 接口编码
|
* @param api_code 接口编码
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public JSONObject fileUpload(File file,String api_code) {
|
public static JSONObject fileUpload(File file,String api_code_upload,String api_code_token) {
|
||||||
if (StrUtil.isNotEmpty(api_code)){
|
if (StrUtil.isNotEmpty(api_code_upload)){
|
||||||
//1、查询附件上传api接口信息
|
//1、查询附件上传api接口信息
|
||||||
SysApplicationApiEntity sysApp = getByCode(api_code);
|
SysApplicationApiEntity sysApp = getByCode(api_code_upload);
|
||||||
if (null != sysApp){
|
if (null != sysApp){
|
||||||
String app_url = sysApp.getAppUrl();
|
String app_url = sysApp.getAppUrl();
|
||||||
String url = app_url+"/seeyon/rest/attachment?token=@token@";
|
String url = app_url+"/seeyon/rest/attachment?token=@token@";
|
||||||
String token = getToken(null,"8000240000");
|
String token = getToken(null,api_code_token);
|
||||||
url = url.replaceAll("@token@",token);
|
url = url.replaceAll("@token@",token);
|
||||||
HashMap<String, Object> paramMap = new HashMap<>();
|
HashMap<String, Object> paramMap = new HashMap<>();
|
||||||
paramMap.put("file", file);
|
paramMap.put("file", file);
|
||||||
|
@ -147,7 +147,7 @@ public class OARestUtil {
|
||||||
* @param api_code
|
* @param api_code
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public String getToken(String login_name,String api_code){
|
public static String getToken(String login_name,String api_code){
|
||||||
if (StrUtil.isNotEmpty(api_code)){
|
if (StrUtil.isNotEmpty(api_code)){
|
||||||
SysApplicationApiEntity sysApp = getByCode(api_code);
|
SysApplicationApiEntity sysApp = getByCode(api_code);
|
||||||
return getToken(login_name,sysApp);
|
return getToken(login_name,sysApp);
|
||||||
|
@ -162,7 +162,7 @@ public class OARestUtil {
|
||||||
* @param sysApp 应用信息
|
* @param sysApp 应用信息
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public String getToken(String login_name,SysApplicationApiEntity sysApp){
|
public static String getToken(String login_name,SysApplicationApiEntity sysApp){
|
||||||
if (null != sysApp){
|
if (null != sysApp){
|
||||||
HashMap<String, String> hashMap = new HashMap<>();
|
HashMap<String, String> hashMap = new HashMap<>();
|
||||||
String app_url = StrUtil.removeSuffix(sysApp.getAppUrl(), "/");
|
String app_url = StrUtil.removeSuffix(sysApp.getAppUrl(), "/");
|
||||||
|
@ -190,7 +190,7 @@ public class OARestUtil {
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
private SysApplicationApiEntity getByCode(String api_code){
|
private static SysApplicationApiEntity getByCode(String api_code){
|
||||||
if (StrUtil.isNotEmpty(api_code)){
|
if (StrUtil.isNotEmpty(api_code)){
|
||||||
SysApplicationApiEntity sysApp = new SysApplicationApiEntity();
|
SysApplicationApiEntity sysApp = new SysApplicationApiEntity();
|
||||||
sysApp.setApiCode(Long.valueOf(api_code));
|
sysApp.setApiCode(Long.valueOf(api_code));
|
||||||
|
|
|
@ -236,15 +236,15 @@ public class SM2Util {
|
||||||
|
|
||||||
private void testSignByQuickpass() throws Exception {
|
private void testSignByQuickpass() throws Exception {
|
||||||
//密钥生成
|
//密钥生成
|
||||||
String privateKey = "MIGTAgEAMBMGByqGSM49AgEGCCqBHM9VAYItBHkwdwIBAQQgtzMo2o6THK3yLIm+83Ch/560+02l2hjjBSFGieWY/Z6gCgYIKoEcz1UBgi2hRANCAATKhwZX4P3XI8vYTKeCOLMVbanUNbaXjrIEZynshwdOzRVgzRQSiPNWo6OBBkAPvqE+2RS+5ABpS82DSlKl81z0";
|
String privateKey = "MIGTAgEAMBMGByqGSM49AgEGCCqBHM9VAYItBHkwdwIBAQQgOHOzaKWBWOAbslvtYtS8tcQiJ9W9DT2cGQM3KSgXpfygCgYIKoEcz1UBgi2hRANCAAQNPct0MHOuDrVJBIy0RI7JKx9/PTlFHZlkIJr0EqpC+b/+N+z3JKbCMZ/wcP1V36Q+DlfDJCY9Ai/Uk2PZ9ZaF";
|
||||||
String publicKey = "MFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEyocGV+D91yPL2EyngjizFW2p1DW2l46yBGcp7IcHTs0VYM0UEojzVqOjgQZAD76hPtkUvuQAaUvNg0pSpfNc9A==";
|
String publicKey = "MFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEDT3LdDBzrg61SQSMtESOySsffz05RR2ZZCCa9BKqQvm//jfs9ySmwjGf8HD9Vd+kPg5XwyQmPQIv1JNj2fWWhQ==";
|
||||||
// 加验签
|
// 加验签
|
||||||
//String value = "{\"partner\": \"test\",\"tranTime\": \"20240128003627\",\"seqNo\": \"123456\",\"orderNo\": \"order123456\", \"orderAmt\": \"1500\"}";
|
//String value = "{\"partner\": \"test\",\"tranTime\": \"20240128003627\",\"seqNo\": \"123456\",\"orderNo\": \"order123456\", \"orderAmt\": \"1500\"}";
|
||||||
String value="{\"data\":{\"companyCode\":\"CN000001\",\"purpose\":\"加入中国光伏行业协会会员单位,获得行业技术支持,2025年会员单位缴纳标准为1万元/年,汇款时需注明“会费”字样,并在备注中注明汇款单位;缴纳会费后,需有付款凭证,将付款凭证发送至协会邮箱,并填写开票信息等内容\",\"recAccountNum\":\"8110701012801540483\",\"recAccountName\":\"\",\"payAccountNum\":\"8110701012601540892\",\"fundType\":\"0001\",\"transAmount\":\"9.90\",\"documentNo\":\"DG202503240321\",\"recBankCode\":\"\",\"settleAccountType\":\"CASH_TRANSFER\",\"sourceFlowNumber\":\"-3854827654841675885_1539\",\"submitUser\":\"user1\",\"digest\":\"加入中国光伏行业协会会员单位,获得行业技术支持,2025年会\",\"payChannel\":\"DIRECT\",\"currency\":\"CNY\",\"toPublic\":true,\"payAccountName\":\"\",\"payDate\":\"2025-03-26\"}}";
|
String value="{\"data\":{\"companyCode\":\"CN000001\",\"purpose\":\"加入中国光伏行业协会会员单位,获得行业技术支持,2025年会员单位缴纳标准为1万元/年,汇款时需注明“会费”字样,并在备注中注明汇款单位;缴纳会费后,需有付款凭证,将付款凭证发送至协会邮箱,并填写开票信息等内容\",\"recAccountNum\":\"8110701012801540483\",\"recAccountName\":\"\",\"payAccountNum\":\"8110701012601540892\",\"fundType\":\"0001\",\"transAmount\":\"9.90\",\"documentNo\":\"DG202503240321\",\"recBankCode\":\"\",\"settleAccountType\":\"CASH_TRANSFER\",\"sourceFlowNumber\":\"-3854827654841675885_1539\",\"submitUser\":\"user1\",\"digest\":\"加入中国光伏行业协会会员单位,获得行业技术支持,2025年会\",\"payChannel\":\"DIRECT\",\"currency\":\"CNY\",\"toPublic\":true,\"payAccountName\":\"\",\"payDate\":\"2025-03-26\"}}";
|
||||||
System.out.println("明文:" + value);
|
System.out.println("明文:" + value);
|
||||||
//加密
|
//加密
|
||||||
String encryptStr = encrypt(value, publicKey);
|
//String encryptStr = encrypt(value, publicKey);
|
||||||
//String encryptStr="BAYF5RocTMvWHK4JLruoWNmvoBtSgEK6bHrXUIBcso3dx312VyI57p3bahg/qjcQufpa59XiMd8wA+cjyXmYm9+P4Y7DY5dZJQi6FdPZpL6awouRZMagdlceOL8yW5zDnx8tMqreUTAwkpvViwKn4DydKdV9EW0XuWkBwsN+4ZQftrY3FT/5Y/g8XtNSQMBu9PIwGWtPtpEtwO0HnaGCu7DGCSF+lo4PvYFmIlj0f2hQ1V1osdNIJ3IqUeZ0IZVFulaaOE72+vgAQN7UO0447kPq5iC8++oyXP7Bhf9kfU1gYOVXciIeAXoxIcjX+5DCB1q/FOmzqnOIBLRhSysqRXJa0ZvFgf1Ebpr6Fvz2Beim8SOEl3pXeLnLCJe91qsMuENLfNTOYnuESgSmdE1np3OJKcZwgeryUIt+WP7L28aJ1zNisWhB+TJaGtvWR++zY2fmMeZmwtJEz25jdmN1OWSuxgjXpI7fhIYoDnKQBQJKM5FQ+cWqJJozUMOlKG8Xhf5Lv1NjZOiNM7klp/Uprb3kUQj466ArWvsLzsoT1OOTOyBRJTbhKPSKi39ekcz4/ELuGSNB8Oz0pNg1tjbuyIcbiy2WCQI9/feiE+LyGgQPiUsaNxte10bYZuJJV33UWrBiezL0eA5pSm55zd98ToCX0QnJJq5OGW/8t8O/7+fZcSq5EFXSfS+3An8+EMLnBvI1ycjb9Q7PFVP4PmZ/VFqWJDNyi98iekWV09DVCtnCHqA5ZqEcPgZCeY40ZN5EQARvy11RWzs14Gj8JninjFbV6qtgB1Cadmy/piZS/SZdEvSnBfe04vTOElgG5GhraLrfMyVhnsmLeoqzLXmMT62uktPXKITjvFgr2NfdzbY5TkkDVMJu1b3VhZxOZENnJ4kW6nctYO0I7Z+xpVuMUnNOVxQBSJch2AdwIuyEL3odJSOXUt+RZIXhGNhyKw2Y8PvPQx+hOoCUyKyaUIS8G6RK/LI+TyMZTMsCUXYBEIxP10slFPp/4PCa7RPLhvdHsgik+cWNJj45tJRql9YXF1moWIaAUmLeu/ytCho1arA3V6/NjjckWI9mnqs41U2FAchJXdU2wNdIDB4AgGSsZs+o9sv+chgMgITV8/8xPNchu6g1UuczEXZRPFtKsVXlAJkNzQgBrMwCatby1S4CJFc5S/AJNIYipwLGW+M+3rh2+Ay+3HqDv7+7LUn+MTxgFfiosyK3hxkekY/eUg==";
|
String encryptStr="BLTRQV8d8D1ILWs21weVXVubIB1Ppx3Oy3rWqdocyrAXm5WBNhSz6YemoVVPTTtdycJ3mcFF1YuRKhuHsMhU/VkzssS3i7W8FPwWHNyyorhd3LrP0HMx+j3MN/s7kGs9PGRem/X4U+tQsJxoQSi8CkmwCcF42aN78LkQ5292cDQ6/AcobhKYNHBqCeX9+gUhue76pWFM12k9rXQYvCnIqdf+vB5ot+UXuk3eXwnlmVdP+f5kSSKxyWRIC8GjLwHRWChkuk6IkjIhVlSMJfVt1fOseBYq5VW32XkHQFbSZW3JvYUhHpimibw7SP6SK60TT8lfJzsABJ5euADCFlhVwfUZZXZLdSV4YFSB/IQ6vVkHorQmD5RdGxktgu3MbErdEPhiGl7/tLj6gKi2ecRobGkQwu1peKcKB08WgnWFX/6Wbs0dxfavAAc1W3mXta0zx/+q2jiIydCsySUT2xCRDVBlGHPIlN8RDucQ4mOE5gBlr9vvMxnKOG2kdWzTVoj+aibqKh5ljwGbIUetbE3XtwNlO7deupvTaUN565P1M8cuK7zQjLeoUD2gqLMZOzz5fgkrPTzd7jUyf3QatDOGEFxrF1u03BMJVNAssxj7pdq2aSBTrHKwafoplUpWEAogeiUh2xYlVSEu2BUinHoMxqGU57UM/ZU1IRFgVKTdHV/R/4hLOpu55Mq7C5cOTVwVFasnIdbkJvabNX/vN0js9Bx/2QJx5SN2wqCV5R4yrXTH4dUGVTQFNLuiZSX8TML463FCIrtiofHZ/jvp3hEbyYTchkMuPEvH3MBZAt6ZXmwInYEktymF2nvBD7Pw22xQaE1Sqfjig5m4gQHB1mRV/RKCaNv7CuXsef29ldU5mQnER0U=";
|
||||||
System.out.println("加密结果:" + encryptStr);
|
System.out.println("加密结果:" + encryptStr);
|
||||||
|
|
||||||
//解密
|
//解密
|
||||||
|
|
|
@ -76,7 +76,7 @@
|
||||||
<select id="queryResultIsNullZX" resultMap="get-ZxBankEntity-result" parameterType="com.hzya.frame.seeyon.zxbank.entity.ZxBankEntity">
|
<select id="queryResultIsNullZX" resultMap="get-ZxBankEntity-result" parameterType="com.hzya.frame.seeyon.zxbank.entity.ZxBankEntity">
|
||||||
select
|
select
|
||||||
<include refid="ZxBankEntity_Base_Column_List" />
|
<include refid="ZxBankEntity_Base_Column_List" />
|
||||||
from v_hzya_pay where push_status is not null and pay_result is null
|
from v_hzya_pay where push_status is not null and (pay_result is null or pay_result='支付中')
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="queryElecIsNullZX" resultMap="get-ZxBankEntity-result" parameterType="com.hzya.frame.seeyon.zxbank.entity.ZxBankEntity">
|
<select id="queryElecIsNullZX" resultMap="get-ZxBankEntity-result" parameterType="com.hzya.frame.seeyon.zxbank.entity.ZxBankEntity">
|
||||||
|
|
|
@ -42,6 +42,7 @@ import java.util.*;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
import java.util.zip.ZipEntry;
|
import java.util.zip.ZipEntry;
|
||||||
|
import java.util.zip.ZipFile;
|
||||||
import java.util.zip.ZipInputStream;
|
import java.util.zip.ZipInputStream;
|
||||||
import java.util.zip.ZipOutputStream;
|
import java.util.zip.ZipOutputStream;
|
||||||
|
|
||||||
|
@ -140,7 +141,7 @@ public class ZxBankServiceImpl extends BaseService<ZxBankEntity, String> impleme
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
logger.info("三维单据视图数据没有需要同步中台的数据");
|
logger.info("杭泰付款单没有需要同步中信的数据");
|
||||||
}
|
}
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
logger.info("杭泰付款单同步失败:{}",e.getMessage());
|
logger.info("杭泰付款单同步失败:{}",e.getMessage());
|
||||||
|
@ -193,6 +194,7 @@ public class ZxBankServiceImpl extends BaseService<ZxBankEntity, String> impleme
|
||||||
String data = attribute.getString("data");
|
String data = attribute.getString("data");
|
||||||
logger.info("=======杭泰付款单调用中信支付结果查询返回参数密文为:{}", data);
|
logger.info("=======杭泰付款单调用中信支付结果查询返回参数密文为:{}", data);
|
||||||
String decrypt = SM2Util.decrypt(data, privateKey);
|
String decrypt = SM2Util.decrypt(data, privateKey);
|
||||||
|
logger.info("=======杭泰付款单调用中信支付结果查询返回参数明文为:{}", decrypt);
|
||||||
JSONObject jsonObjectData = JSONObject.parseObject(decrypt);
|
JSONObject jsonObjectData = JSONObject.parseObject(decrypt);
|
||||||
JSONArray jsonArray = jsonObjectData.getJSONArray("list");
|
JSONArray jsonArray = jsonObjectData.getJSONArray("list");
|
||||||
if(CollectionUtils.isNotEmpty(jsonArray)){
|
if(CollectionUtils.isNotEmpty(jsonArray)){
|
||||||
|
@ -219,7 +221,7 @@ public class ZxBankServiceImpl extends BaseService<ZxBankEntity, String> impleme
|
||||||
logger.info("========杭泰付款单查询支付结果执行成功========");
|
logger.info("========杭泰付款单查询支付结果执行成功========");
|
||||||
return BaseResult.getSuccessMessageEntity("支付结果查询成功");
|
return BaseResult.getSuccessMessageEntity("支付结果查询成功");
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
logger.info("=========查询中信返回的支付结果失败=======",e.getMessage());
|
logger.info("=========查询中信返回的支付结果失败:{}=======",e.getMessage());
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
return BaseResult.getFailureMessageEntity("支付结果查询失败");
|
return BaseResult.getFailureMessageEntity("支付结果查询失败");
|
||||||
|
@ -299,8 +301,8 @@ public class ZxBankServiceImpl extends BaseService<ZxBankEntity, String> impleme
|
||||||
logger.info("====调用中信电子回单下载得请求参数密文为:{}=======",objectData.toJSONString());
|
logger.info("====调用中信电子回单下载得请求参数密文为:{}=======",objectData.toJSONString());
|
||||||
//因为电子回单下载返回的只有文件流,所以无法在中台上注册接口,只能代码中调用第三方接口
|
//因为电子回单下载返回的只有文件流,所以无法在中台上注册接口,只能代码中调用第三方接口
|
||||||
//将文件流的zip下载到文件夹中,之后解压该文件夹,得到pdf文件,上传OA
|
//将文件流的zip下载到文件夹中,之后解压该文件夹,得到pdf文件,上传OA
|
||||||
String downloadFolder ="D:\\yongansystem\\pdf\\";
|
String downloadFolder ="D:\\yongansystem\\zxbank\\pdf\\";
|
||||||
String destinationFolder ="D:\\yongansystem\\pdf\\";
|
String destinationFolder ="D:\\yongansystem\\zxbank\\pdf\\";
|
||||||
|
|
||||||
URL url = new URL("http://202.108.57.65:11370/access/treasury/hangtai/bill/down");
|
URL url = new URL("http://202.108.57.65:11370/access/treasury/hangtai/bill/down");
|
||||||
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
|
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
|
||||||
|
@ -349,13 +351,13 @@ public class ZxBankServiceImpl extends BaseService<ZxBankEntity, String> impleme
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sourceFolder.isFile() && sourceFolder.getName().endsWith(".zip")) {
|
if (sourceFolder.isFile() && sourceFolder.getName().endsWith(".zip")) {
|
||||||
unzipFile(sourceFolder.getAbsolutePath(), destinationFolder);
|
List<File> files = unzipFile(sourceFolder.getAbsolutePath(), destinationFolder);
|
||||||
|
// 上传 PDF 文件
|
||||||
//将pdf文件上传OA
|
for (File pdfFile : files) {
|
||||||
File fileOut = new File(sourceFolder.getAbsolutePath());
|
logger.info("pdf文件名称为:{}",pdfFile.getName());
|
||||||
if (fileOut.exists()) {
|
if (pdfFile.exists()) {
|
||||||
logger.info("=====开始上传中信司库回单到杭泰OA======");
|
logger.info("=====开始上传中信司库回单到杭泰OA======");
|
||||||
JSONObject jsonObject = fileUpload(fileOut);
|
JSONObject jsonObject = fileUpload(pdfFile);
|
||||||
if (jsonObject.getString("fileUrl") != null) {
|
if (jsonObject.getString("fileUrl") != null) {
|
||||||
//表单的附件字段=ctpAttachment的Sub_reference,表单的Summary_id=ctpAttachment的att_reference
|
//表单的附件字段=ctpAttachment的Sub_reference,表单的Summary_id=ctpAttachment的att_reference
|
||||||
String sub_reference = String.valueOf(UUIDLong.longUUID());
|
String sub_reference = String.valueOf(UUIDLong.longUUID());
|
||||||
|
@ -398,7 +400,8 @@ public class ZxBankServiceImpl extends BaseService<ZxBankEntity, String> impleme
|
||||||
}
|
}
|
||||||
logger.info("=====电子回单执行完毕=======");
|
logger.info("=====电子回单执行完毕=======");
|
||||||
}
|
}
|
||||||
fileOut.delete();
|
pdfFile.delete();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -469,29 +472,33 @@ public class ZxBankServiceImpl extends BaseService<ZxBankEntity, String> impleme
|
||||||
return "unknown.zip";
|
return "unknown.zip";
|
||||||
}
|
}
|
||||||
|
|
||||||
private void unzipFile(String zipFilePath, String destinationFolderPath) {
|
private List<File> unzipFile(String zipFilePath, String destinationFolderPath) {
|
||||||
try (FileInputStream fis = new FileInputStream(zipFilePath);
|
List<File> pdfFiles = new ArrayList<>();
|
||||||
ZipInputStream zis = new ZipInputStream(fis)) {
|
try (ZipFile zipFile = new ZipFile(zipFilePath)) {
|
||||||
|
Enumeration<? extends ZipEntry> entries = zipFile.entries();
|
||||||
ZipEntry zipEntry = zis.getNextEntry();
|
while (entries.hasMoreElements()) {
|
||||||
while (zipEntry != null) {
|
ZipEntry entry = entries.nextElement();
|
||||||
if (zipEntry.getName().endsWith(".pdf")) {
|
File outputFile = new File(destinationFolderPath, entry.getName());
|
||||||
String pdfFilePath = destinationFolderPath + zipEntry.getName();//File.separator:文件路径中增加一个斜杠
|
if (entry.isDirectory()) {
|
||||||
try (FileOutputStream fos = new FileOutputStream(pdfFilePath)) {
|
outputFile.mkdirs();
|
||||||
|
} else {
|
||||||
|
try (InputStream inputStream = zipFile.getInputStream(entry);
|
||||||
|
OutputStream outputStream = new FileOutputStream(outputFile)) {
|
||||||
byte[] buffer = new byte[4096];
|
byte[] buffer = new byte[4096];
|
||||||
int bytesRead;
|
int bytesRead;
|
||||||
while ((bytesRead = zis.read(buffer)) != -1) {
|
while ((bytesRead = inputStream.read(buffer)) != -1) {
|
||||||
fos.write(buffer, 0, bytesRead);
|
outputStream.write(buffer, 0, bytesRead);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
logger.info("已提取 PDF 文件:{} " ,pdfFilePath);
|
if (outputFile.getName().endsWith(".pdf")) {
|
||||||
|
pdfFiles.add(outputFile);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
zis.closeEntry();
|
|
||||||
zipEntry = zis.getNextEntry();
|
|
||||||
}
|
}
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
return pdfFiles;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue