Compare commits
8 Commits
Author | SHA1 | Date |
---|---|---|
|
b5ab4e4262 | |
|
e332567135 | |
|
4a0e2e0f53 | |
|
53c145832a | |
|
108dd57ad6 | |
|
af75461f14 | |
|
8a8ce95aa6 | |
|
85e1821f75 |
File diff suppressed because one or more lines are too long
|
@ -18,11 +18,11 @@
|
|||
<artifactId>base-service</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>com.hzya.frame</groupId>-->
|
||||
<!-- <artifactId>fw-bip</artifactId>-->
|
||||
<!-- <version>${revision}</version>-->
|
||||
<!-- </dependency>-->
|
||||
<dependency>
|
||||
<groupId>com.hzya.frame</groupId>
|
||||
<artifactId>fw-bip</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>com.hzya.frame</groupId>-->
|
||||
<!-- <artifactId>fw-cbs</artifactId>-->
|
||||
|
|
|
@ -0,0 +1,85 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<artifactId>kangarooDataCenterV3</artifactId>
|
||||
<groupId>com.hzya.frame</groupId>
|
||||
<version>${revision}</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>fw-bip</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
<version>${revision}</version>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.hzya.frame</groupId>
|
||||
<artifactId>base-service</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>mysql</groupId>
|
||||
<artifactId>mysql-connector-java</artifactId>
|
||||
<version>${mysql-connector-java}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.hzya.bip</groupId>
|
||||
<artifactId>pubbaseapp_nccloud_rtLevel</artifactId>
|
||||
<version>1</version>
|
||||
<scope>system</scope>
|
||||
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/pubbaseapp_nccloud_rtLevel-1.jar</systemPath>
|
||||
</dependency>
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>com.hzya.bipyonyoulog</groupId>-->
|
||||
<!-- <artifactId>yonyoulog</artifactId>-->
|
||||
<!-- <version>1</version>-->
|
||||
<!-- <scope>system</scope>-->
|
||||
<!-- <systemPath>${basedir}/src/main/resources/lib/yonyoulog.jar</systemPath>-->
|
||||
<!-- </dependency>-->
|
||||
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>com.hzya.bcprov</groupId>-->
|
||||
<!-- <artifactId>bcprov</artifactId>-->
|
||||
<!-- <version>1</version>-->
|
||||
<!-- <scope>system</scope>-->
|
||||
<!-- <systemPath>${basedir}/src/main/resources/lib/bcprov-jdk15on-1.70.jar</systemPath>-->
|
||||
<!-- </dependency>-->
|
||||
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>com.hzya.DataApiSdk</groupId>-->
|
||||
<!-- <artifactId>DataApiSdk</artifactId>-->
|
||||
<!-- <version>1</version>-->
|
||||
<!-- <scope>system</scope>-->
|
||||
<!-- <systemPath>${basedir}/src/main/resources/lib/DataApiSdk-jar-with-dependencies.jar</systemPath>-->
|
||||
<!-- </dependency>-->
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>com.hzya.openBasicSDK</groupId>-->
|
||||
<!-- <artifactId>openBasicSDK</artifactId>-->
|
||||
<!-- <version>1</version>-->
|
||||
<!-- <scope>system</scope>-->
|
||||
<!-- <systemPath>${basedir}/src/main/resources/lib/openBasicSDK-2.1.230630.jar</systemPath>-->
|
||||
<!-- </dependency>-->
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
<configuration>
|
||||
<mainClass>none</mainClass> <!-- 取消查找本项目下的Main方法:为了解决Unable to find main class的问题 -->
|
||||
<classifier>execute</classifier> <!-- 为了解决依赖模块找不到此模块中的类或属性 -->
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>repackage</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
|
@ -0,0 +1,15 @@
|
|||
package com.hzya.frame.bip.v3.v2207.dao;
|
||||
|
||||
import com.hzya.frame.basedao.dao.IBaseDao;
|
||||
import com.hzya.frame.bip.v3.v2207.entity.BipArchivesEntity;
|
||||
import com.hzya.frame.bip.v3.v2207.entity.BipOrgsEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
public interface IBipArchivesDao extends IBaseDao<BipArchivesEntity, String> {
|
||||
|
||||
List<BipArchivesEntity> queryArchivesData(BipArchivesEntity archivesEntity);
|
||||
List<BipArchivesEntity> queryArchivesDatays(BipArchivesEntity archivesEntity);
|
||||
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
package com.hzya.frame.bip.v3.v2207.dao;
|
||||
|
||||
import com.hzya.frame.basedao.dao.IBaseDao;
|
||||
import com.hzya.frame.bip.v3.v2207.entity.BipOrgsEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
public interface IBipOrgsDao extends IBaseDao<BipOrgsEntity, String> {
|
||||
|
||||
/**
|
||||
* 查询BIP业务单元
|
||||
* @param BipOrgsEntity
|
||||
* @return
|
||||
*/
|
||||
List<BipOrgsEntity> thirdInterfaceGetOrgs(BipOrgsEntity BipOrgsEntity);
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
package com.hzya.frame.bip.v3.v2207.dao;
|
||||
|
||||
import com.hzya.frame.basedao.dao.IBaseDao;
|
||||
import com.hzya.frame.bip.v3.v2207.entity.BipOrgsDetailsEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
public interface IBipOrgsDetailsDao extends IBaseDao<BipOrgsDetailsEntity, String> {
|
||||
|
||||
/**
|
||||
* 查询BIP业务单元银行账户
|
||||
* @param BipOrgsDetailsEntity
|
||||
* @return
|
||||
*/
|
||||
List<BipOrgsDetailsEntity> thirdInterfaceGetOrgsDetails(BipOrgsDetailsEntity BipOrgsDetailsEntity);
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
package com.hzya.frame.bip.v3.v2207.dao;
|
||||
|
||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||
import com.hzya.frame.basedao.dao.IBaseDao;
|
||||
import com.hzya.frame.bip.v3.v2207.entity.BipSupplierEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
public interface IBipSupplierDao extends IBaseDao<BipSupplierEntity, String> {
|
||||
|
||||
/**
|
||||
* 查询BIP供应商
|
||||
* @param bipSupplierEntity
|
||||
* @return
|
||||
*/
|
||||
List<BipSupplierEntity> thirdInterfaceGetSupplier(BipSupplierEntity bipSupplierEntity);
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
package com.hzya.frame.bip.v3.v2207.dao;
|
||||
|
||||
import com.hzya.frame.basedao.dao.IBaseDao;
|
||||
import com.hzya.frame.bip.v3.v2207.entity.BipSupplierDetailsEntity;
|
||||
import com.hzya.frame.bip.v3.v2207.entity.BipSupplierEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
public interface IBipSupplierDetailsDao extends IBaseDao<BipSupplierDetailsEntity, String> {
|
||||
|
||||
/**
|
||||
* 查询BIP供应商明细
|
||||
* @param bipSupplierDetailsEntity
|
||||
* @return
|
||||
*/
|
||||
List<BipSupplierDetailsEntity> thirdInterfaceGetSupplierDetails(BipSupplierDetailsEntity bipSupplierDetailsEntity);
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
package com.hzya.frame.bip.v3.v2207.dao.impl;
|
||||
|
||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||
import com.hzya.frame.basedao.dao.MybatisGenericDao;
|
||||
import com.hzya.frame.bip.v3.v2207.dao.IBipArchivesDao;
|
||||
import com.hzya.frame.bip.v3.v2207.dao.IBipOrgsDao;
|
||||
import com.hzya.frame.bip.v3.v2207.entity.BipArchivesEntity;
|
||||
import com.hzya.frame.bip.v3.v2207.entity.BipOrgsEntity;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Repository("bipArchivesDaoImpl")
|
||||
public class BipArchivesDaoImpl extends MybatisGenericDao<BipArchivesEntity,String> implements IBipArchivesDao {
|
||||
|
||||
@Override
|
||||
public List<BipArchivesEntity> queryArchivesData(BipArchivesEntity entity) {
|
||||
List<BipArchivesEntity> o = super.query(getSqlIdPrifx() + "queryArchivesData", entity);
|
||||
return o;
|
||||
} @Override
|
||||
public List<BipArchivesEntity> queryArchivesDatays(BipArchivesEntity entity) {
|
||||
List<BipArchivesEntity> o = super.query(getSqlIdPrifx() + "queryArchivesDatays", entity);
|
||||
return o;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
package com.hzya.frame.bip.v3.v2207.dao.impl;
|
||||
|
||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||
import com.hzya.frame.basedao.dao.MybatisGenericDao;
|
||||
import com.hzya.frame.bip.v3.v2207.dao.IBipOrgsDao;
|
||||
import com.hzya.frame.bip.v3.v2207.dao.IBipSupplierDao;
|
||||
import com.hzya.frame.bip.v3.v2207.entity.BipOrgsEntity;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Repository("bipOrgsDaoImpl")
|
||||
public class BipOrgsDaoImpl extends MybatisGenericDao<BipOrgsEntity,String> implements IBipOrgsDao {
|
||||
/**
|
||||
* 查询BIP业务单元
|
||||
* @param BipOrgsEntity
|
||||
* @return
|
||||
*/
|
||||
@DS("oracle91")
|
||||
@Override
|
||||
public List<BipOrgsEntity> thirdInterfaceGetOrgs(BipOrgsEntity BipOrgsEntity) {
|
||||
return super.query("com.hzya.frame.bip.v3.v2207.dao.impl.BipOrgsDaoImpl.thirdInterfaceGetOrgs",BipOrgsEntity);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
package com.hzya.frame.bip.v3.v2207.dao.impl;
|
||||
|
||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||
import com.hzya.frame.basedao.dao.MybatisGenericDao;
|
||||
import com.hzya.frame.bip.v3.v2207.dao.IBipOrgsDetailsDao;
|
||||
import com.hzya.frame.bip.v3.v2207.dao.IBipSupplierDetailsDao;
|
||||
import com.hzya.frame.bip.v3.v2207.entity.BipOrgsDetailsEntity;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Repository("bipOrgsDetailsDaoImpl")
|
||||
public class BipOrgsDetailsDaoImpl extends MybatisGenericDao<BipOrgsDetailsEntity,String> implements IBipOrgsDetailsDao {
|
||||
@DS("oracle91")
|
||||
@Override
|
||||
public List<BipOrgsDetailsEntity> thirdInterfaceGetOrgsDetails(BipOrgsDetailsEntity bipOrgsDetailsEntity) {
|
||||
return super.query("com.hzya.frame.bip.v3.v2207.dao.impl.BipOrgsDetailsDaoImpl.thirdInterfaceGetOrgsDetails",bipOrgsDetailsEntity);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
package com.hzya.frame.bip.v3.v2207.dao.impl;
|
||||
|
||||
import cn.hutool.http.HttpRequest;
|
||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||
import com.hzya.frame.basedao.dao.MybatisGenericDao;
|
||||
import com.hzya.frame.bip.v3.v2207.dao.IBipSupplierDao;
|
||||
import com.hzya.frame.bip.v3.v2207.entity.BipSupplierEntity;
|
||||
import com.hzya.frame.util.HttpUtil;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Repository("bipSupplierDaoImpl")
|
||||
public class BipSupplierDaoImpl extends MybatisGenericDao<BipSupplierEntity,String> implements IBipSupplierDao {
|
||||
/**
|
||||
* 查询BIP供应商
|
||||
* @param bipSupplierEntity
|
||||
* @return
|
||||
*/
|
||||
@DS("oracle91")
|
||||
@Override
|
||||
public List<BipSupplierEntity> thirdInterfaceGetSupplier(BipSupplierEntity bipSupplierEntity) {
|
||||
return super.query("com.hzya.frame.bip.v3.v2207.dao.impl.BipSupplierDaoImpl.thirdInterfaceGetSupplier",bipSupplierEntity);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
package com.hzya.frame.bip.v3.v2207.dao.impl;
|
||||
|
||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||
import com.hzya.frame.basedao.dao.MybatisGenericDao;
|
||||
import com.hzya.frame.bip.v3.v2207.dao.IBipSupplierDao;
|
||||
import com.hzya.frame.bip.v3.v2207.dao.IBipSupplierDetailsDao;
|
||||
import com.hzya.frame.bip.v3.v2207.entity.BipSupplierDetailsEntity;
|
||||
import com.hzya.frame.bip.v3.v2207.entity.BipSupplierEntity;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Repository("bipSupplierDetailsDaoImpl")
|
||||
public class BipSupplierDetailsDaoImpl extends MybatisGenericDao<BipSupplierDetailsEntity,String> implements IBipSupplierDetailsDao {
|
||||
@DS("oracle91")
|
||||
@Override
|
||||
public List<BipSupplierDetailsEntity> thirdInterfaceGetSupplierDetails(BipSupplierDetailsEntity bipSupplierDetailsEntity) {
|
||||
return super.query("com.hzya.frame.bip.v3.v2207.dao.impl.BipSupplierDetailsDaoImpl.thirdInterfaceGetSupplierDetails",bipSupplierDetailsEntity);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
package com.hzya.frame.bip.v3.v2207.dps.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
|
||||
|
||||
public interface IPayMentService {
|
||||
|
||||
/**
|
||||
*
|
||||
* @content 获取杭泰OA付款单传递CFS
|
||||
* @Param
|
||||
* @Return
|
||||
* @Author hecan
|
||||
* @Date 2023/10/16 11:59
|
||||
* **/
|
||||
String sendOAPayMentToCFS(JSONObject jsonObject, String type);
|
||||
|
||||
/**
|
||||
*
|
||||
* @content 获取CFS登录校验码
|
||||
* @Param
|
||||
* @Return
|
||||
* @Author hecan
|
||||
* @Date 2023/10/16 13:37
|
||||
* **/
|
||||
String sendCFSToken(String name, String password);
|
||||
|
||||
/**
|
||||
*
|
||||
* @content 获取杭泰OA报销单传递CFS
|
||||
* @Param
|
||||
* @Return
|
||||
* @Author hecan
|
||||
* @Date 2023/10/16 16:17
|
||||
* **/
|
||||
String sendExpenseToCFS(JSONObject jsonObject);
|
||||
|
||||
}
|
|
@ -0,0 +1,389 @@
|
|||
package com.hzya.frame.bip.v3.v2207.dps.service.impl;
|
||||
|
||||
import cn.hutool.http.HttpRequest;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.hzya.frame.bip.v3.v2207.dps.service.IPayMentService;
|
||||
import com.hzya.frame.dateutil.DateUtil;
|
||||
import org.dom4j.Document;
|
||||
import org.dom4j.DocumentHelper;
|
||||
import org.dom4j.Element;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.xml.sax.InputSource;
|
||||
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import java.io.StringReader;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@Service(value = "payMentServiceImpl")
|
||||
public class PayMentServiceImpl implements IPayMentService {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(PayMentServiceImpl.class);
|
||||
|
||||
private static final String NAME="admin";
|
||||
private static final String PASSWORD="aHRzejg4OA==";
|
||||
private static final String CFSURL="http://101.132.140.208:26883/erp/services/";//测试端口:26893,正式端口:26883
|
||||
|
||||
/**
|
||||
*
|
||||
* @content 杭泰OA付款单传递CFS 注:付款单,资金归集,资金拨付,同名账户划转和借款单都用同一个接口
|
||||
* @Param
|
||||
* @Return
|
||||
* @Author hecan
|
||||
* @Date 2023/10/13 10:40
|
||||
* **/
|
||||
public String sendOAPayMentToCFS(JSONObject jsonStr,String type){
|
||||
logger.info("开始执行杭泰OA付款单传递CFS");
|
||||
try {
|
||||
String cfsToken = sendCFSToken(NAME, PASSWORD);
|
||||
if(null!=cfsToken) {
|
||||
String jsonStrObj = jsonStr.getString("jsonStr");
|
||||
JSONObject jsonObjectMain = JSON.parseObject(jsonStrObj);
|
||||
String erpVoucherNo = jsonObjectMain.getString("erpVoucherNo");//OA主键
|
||||
String purpose = jsonObjectMain.getString("purpose");//摘要
|
||||
String isForindividual = "0";//是否对私付款
|
||||
StringBuffer stringBuffer = new StringBuffer();
|
||||
String documentType=null;
|
||||
switch (type){
|
||||
case "pay"://付款单
|
||||
documentType="01";
|
||||
break;
|
||||
case "fundc"://资金归集
|
||||
documentType="02";
|
||||
break;
|
||||
case "funda"://资金拨付
|
||||
documentType="03";
|
||||
break;
|
||||
case "acc"://同名账户划转
|
||||
documentType="04";
|
||||
break;
|
||||
case "loan"://借款单
|
||||
documentType="05";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
JSONArray jsonStrList = jsonObjectMain.getJSONArray("details");
|
||||
if (null != jsonStrList && jsonStrList.size() > 0) {
|
||||
for (Object seeyonEntity : jsonStrList) {
|
||||
JSONObject jsonObjectFormson = JSON.parseObject(JSON.toJSONString(seeyonEntity));
|
||||
String payerAccName = jsonObjectFormson.getString("payerAccName");//转出方账户名(付款账户)
|
||||
String payerAccNo = jsonObjectFormson.getString("payerAccNo");//转出方账号(付款账号)
|
||||
String curCode = jsonObjectFormson.getString("curCode");//付款方币种
|
||||
String payeeAccName = jsonObjectFormson.getString("payeeAccName");//收款人帐户名称
|
||||
String payeeAccNo = jsonObjectFormson.getString("payeeAccNo");//收款方账户号
|
||||
BigDecimal amount = jsonObjectFormson.getBigDecimal("amount");//发生额
|
||||
String payeeBankCode = jsonObjectFormson.getString("payeeBankCode");//联行号
|
||||
String isQuick = jsonObjectFormson.getString("isQuick");//加急标志
|
||||
String payType = jsonObjectFormson.getString("payType");//结算方式
|
||||
String businessType = jsonObjectFormson.getString("businessType");//业务类别
|
||||
stringBuffer.append("<map>\n");
|
||||
stringBuffer.append("<documentType>" + nullConvert(documentType) + "</documentType>\n");
|
||||
stringBuffer.append("<erpVoucherNo>" + nullConvert(erpVoucherNo) + "</erpVoucherNo>\n");
|
||||
//stringBuffer.append("<payerAccName>"+"浙江杭泰数智能源开发有限公司"+"</payerAccName>\n");
|
||||
stringBuffer.append("<payerAccName>"+nullConvert(payerAccName)+"</payerAccName>\n");
|
||||
//stringBuffer.append("<payerAccNo>" +"71010122002702903"+ "</payerAccNo>\n");
|
||||
stringBuffer.append("<payerAccNo>" + nullConvert(payerAccNo) + "</payerAccNo>\n");
|
||||
stringBuffer.append("<curCode>" + nullConvert(curCode) + "</curCode>\n");
|
||||
stringBuffer.append("<payeeAccName>" + nullConvert(payeeAccName) + "</payeeAccName>\n");
|
||||
stringBuffer.append("<payeeAccNo>" + nullConvert(payeeAccNo) + "</payeeAccNo>\n");
|
||||
stringBuffer.append("<amount>" + nullConvert(String.valueOf(amount)) + "</amount>\n");
|
||||
//stringBuffer.append("<payeeBankCode>"+"301331000029"+"</payeeBankCode>\n");
|
||||
stringBuffer.append("<payeeBankCode>"+nullConvert(payeeBankCode)+"</payeeBankCode>\n");
|
||||
stringBuffer.append("<isQuick>" + nullConvert(isQuick) + "</isQuick>\n");
|
||||
stringBuffer.append("<isForindividual>" + nullConvert(isForindividual) + "</isForindividual>\n");
|
||||
stringBuffer.append("<payType>" + nullConvert(payType) + "</payType>\n");
|
||||
stringBuffer.append("<purpose>" + nullConvert(purpose) + "</purpose>\n");
|
||||
stringBuffer.append("<businessType>" + nullConvert(businessType) + "</businessType>\n");
|
||||
stringBuffer.append("<debitByCustomer>" + nullConvert(jsonObjectFormson.getString("debitByCustomer")) + "</debitByCustomer>\n");//借方客商辅助核算编码
|
||||
stringBuffer.append("<debitByBankAcc>" + nullConvert(payeeAccNo) + "</debitByBankAcc>\n");//借方银行账户辅助核算编码
|
||||
stringBuffer.append("<debitByPersonnel>" + nullConvert(jsonObjectFormson.getString("debitByPersonnel")) + "</debitByPersonnel>\n");//借方人员辅助核算编码
|
||||
stringBuffer.append("<creditByCustomer>" + nullConvert(jsonObjectFormson.getString("creditByCustomer")) + "</creditByCustomer>\n");//贷方客商辅助核算编码
|
||||
stringBuffer.append("<creditByBankAcc>" + nullConvert(payerAccNo) + "</creditByBankAcc>\n");//贷方银行辅助核算编码
|
||||
stringBuffer.append("</map>\n");
|
||||
}
|
||||
} else {
|
||||
stringBuffer.append("<map>\n");
|
||||
stringBuffer.append("<erpVoucherNo>" + nullConvert(erpVoucherNo) + "</erpVoucherNo>");
|
||||
stringBuffer.append("<purpose>" + nullConvert(purpose) + "</purpose>");
|
||||
stringBuffer.append("<isForindividual>" + nullConvert(isForindividual) + "</isForindividual>");
|
||||
stringBuffer.append("</map>\n");
|
||||
}
|
||||
String result=null;
|
||||
String xml= requestXML(cfsToken,"BkPaymentMainExchange",stringBuffer,"OA付款单同步发送");
|
||||
String url = "HTSZ_OA_BkPaymentMainWebService?wsdl";
|
||||
switch (type){
|
||||
case "pay"://付款单
|
||||
logger.info("OA付款单发送CFS的请求参数为:{}", xml);
|
||||
result = HttpRequest.post(CFSURL+url).header("Content-Type", "soap/xml").timeout(30000).body(xml).execute().body();
|
||||
logger.info("OA付款单发送CFS的返回参数为:{}", result);
|
||||
break;
|
||||
case "fundc"://资金归集
|
||||
logger.info("OA资金归集发送CFS的请求参数为:{}", xml);
|
||||
result = HttpRequest.post(CFSURL+url).header("Content-Type", "soap/xml").timeout(30000).body(xml).execute().body();
|
||||
logger.info("OA资金归集发送CFS的返回参数为:{}", result);
|
||||
break;
|
||||
case "funda"://资金调拨
|
||||
logger.info("OA资金拨付发送CFS的请求参数为:{}", xml);
|
||||
result = HttpRequest.post(CFSURL+url).header("Content-Type", "soap/xml").timeout(30000).body(xml).execute().body();
|
||||
logger.info("OA资金拨付发送CFS的返回参数为:{}", result);
|
||||
break;
|
||||
case "acc"://同名账户划转
|
||||
logger.info("OA同名账户划转发送CFS的请求参数为:{}", xml);
|
||||
result = HttpRequest.post(CFSURL+url).header("Content-Type", "soap/xml").timeout(30000).body(xml).execute().body();
|
||||
logger.info("OA同名账户划转发送CFS的返回参数为:{}", result);
|
||||
break;
|
||||
case "loan"://借款单
|
||||
logger.info("OA借还款发送CFS的请求参数为:{}", xml);
|
||||
result = HttpRequest.post(CFSURL+url).header("Content-Type", "soap/xml").timeout(30000).body(xml).execute().body();
|
||||
logger.info("OA借还款发送CFS的返回参数为:{}", result);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return analyzeXML(result,"pay");
|
||||
}else{
|
||||
logger.info("请先登录CFS登录接口获取Token");
|
||||
return null;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
logger.info("杭泰OA付款单传递CFS错误,原因为:{}", e.getMessage());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @content 获取CFS登录校验码
|
||||
* @Param
|
||||
* @Return
|
||||
* @Author hecan
|
||||
* @Date 2023/10/13 15:38
|
||||
* **/
|
||||
public String sendCFSToken(String name,String password) {
|
||||
try {
|
||||
String xml="<soap:Envelope xmlns:soap=\"http://www.w3.org/2003/05/soap-envelope\" xmlns:mdm=\"http://mdmData.server.webservice.banck.com\">\n" +
|
||||
" <soap:Header/>\n" +
|
||||
" <soap:Body>\n" +
|
||||
" <mdm:intoPaymentDataXml>\n" +
|
||||
" <!--Optional:-->\n" +
|
||||
" <mdm:xml>\n" +
|
||||
" <![CDATA[\n" +
|
||||
" <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
|
||||
"<message>\n" +
|
||||
"<head>\n" +
|
||||
"<transCode>LogOn</transCode>\n" +
|
||||
"<erpTimestamp>"+DateUtil.dateToString(new Date(), "yyyy-MM-dd HH:mm:ss")+"</erpTimestamp>\n" +
|
||||
"<sourcePlat>OA</sourcePlat>\n" +
|
||||
"<desPlat>CFS</desPlat>\n" +
|
||||
"<rmk>OA登录验证发送</rmk>\n" +
|
||||
"</head>\n" +
|
||||
"<body>\n" +
|
||||
"<user>"+name+"</user>\n" +
|
||||
"<password>"+password+"</password>\n" +
|
||||
"</body>\n" +
|
||||
"</message>\n" +
|
||||
" ]]>\n" +
|
||||
" </mdm:xml>\n" +
|
||||
" </mdm:intoPaymentDataXml>\n" +
|
||||
" </soap:Body>\n" +
|
||||
"</soap:Envelope>";
|
||||
logger.info("CFS登录的请求参数为:{}",xml);
|
||||
String url="HTSZ_OA_LogOnWebService?wsdl";
|
||||
String result = HttpRequest.post(CFSURL+url).header("Content-Type", "soap/xml").timeout(30000).body(xml).execute().body();
|
||||
logger.info("CFS登录的返回参数为:{}",result);
|
||||
return analyzeXML(result,"login");
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
logger.info("获取CFS登录失败,原因为:{}",e.getMessage());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @content 获取杭泰OA报销单传递CFS
|
||||
* @Param
|
||||
* @Return
|
||||
* @Author hecan
|
||||
* @Date 2023/10/16 16:17
|
||||
* **/
|
||||
@Override
|
||||
public String sendExpenseToCFS(JSONObject jsonStr) {
|
||||
logger.info("开始执行杭泰OA报销单传递CFS");
|
||||
try {
|
||||
String token = sendCFSToken(NAME, PASSWORD);
|
||||
if(null != token){
|
||||
String jsonStrObj = jsonStr.getString("jsonStr");
|
||||
JSONObject jsonObjectMain = JSON.parseObject(jsonStrObj);
|
||||
String erpVoucherNo = jsonObjectMain.getString("erpVoucherNo");//OA主键
|
||||
String purpose = jsonObjectMain.getString("purpose");//摘要
|
||||
StringBuffer stringBuffer = new StringBuffer();
|
||||
JSONArray jsonStrList = jsonObjectMain.getJSONArray("details");
|
||||
if(null != jsonStrList && jsonStrList.size()>0){
|
||||
for (Object o : jsonStrList) {
|
||||
JSONObject jsonObjectDetails = JSON.parseObject(JSON.toJSONString(o));
|
||||
String payerAccName = jsonObjectDetails.getString("payerAccName");//转出方账户名(付款账户)
|
||||
String payerAccNo = jsonObjectDetails.getString("payerAccNo");//转出方账号(付款账号)
|
||||
String curCode = jsonObjectDetails.getString("curCode");//付款方币种
|
||||
String payeeAccName = jsonObjectDetails.getString("payeeAccName");//收款人帐户名称
|
||||
String payeeAccNo = jsonObjectDetails.getString("payeeAccNo");//收款方账户号
|
||||
BigDecimal amount = jsonObjectDetails.getBigDecimal("amount");//发生额
|
||||
String payeeBankCode = jsonObjectDetails.getString("payeeBankCode");//联行号
|
||||
String isQuick = jsonObjectDetails.getString("isQuick");//加急标志
|
||||
String payType = jsonObjectDetails.getString("payType");//结算方式
|
||||
stringBuffer.append("<map>\n");
|
||||
stringBuffer.append("<erpVoucherNo>" + nullConvert(erpVoucherNo) + "</erpVoucherNo>\n");
|
||||
stringBuffer.append("<payerAccName>" + nullConvert(payerAccName) + "</payerAccName>\n");
|
||||
//stringBuffer.append("<payerAccName>"+"浙江杭泰数智能源开发有限公司"+"</payerAccName>\n");
|
||||
stringBuffer.append("<payerAccNo>" + nullConvert(payerAccNo) + "</payerAccNo>\n");
|
||||
//stringBuffer.append("<payerAccNo>" +"71010122002702903"+ "</payerAccNo>\n");
|
||||
stringBuffer.append("<curCode>" + nullConvert(curCode) + "</curCode>\n");
|
||||
stringBuffer.append("<payeeAccName>" + nullConvert(payeeAccName) + "</payeeAccName>\n");
|
||||
stringBuffer.append("<payeeAccNo>" + nullConvert(payeeAccNo) + "</payeeAccNo>\n");
|
||||
stringBuffer.append("<amount>" + nullConvert(String.valueOf(amount)) + "</amount>\n");
|
||||
stringBuffer.append("<payeeBankCode>" + nullConvert(payeeBankCode) + "</payeeBankCode>\n");
|
||||
//stringBuffer.append("<payeeBankCode>"+"301331000029"+"</payeeBankCode>\n");
|
||||
stringBuffer.append("<isQuick>" + nullConvert(isQuick) + "</isQuick>\n");
|
||||
stringBuffer.append("<payType>" + nullConvert(payType) + "</payType>\n");
|
||||
stringBuffer.append("<purpose>" + nullConvert(purpose) + "</purpose>\n");
|
||||
stringBuffer.append("</map>\n");
|
||||
}
|
||||
} else {
|
||||
stringBuffer.append("<map>\n");
|
||||
stringBuffer.append("<erpVoucherNo>" + erpVoucherNo + "</erpVoucherNo>\n");
|
||||
stringBuffer.append("<purpose>" + purpose + "</purpose>\n");
|
||||
stringBuffer.append("</map>\n");
|
||||
}
|
||||
String xml= requestXML(token,"BkExpenseExchange",stringBuffer,"OA费用报销单同步发送");
|
||||
logger.info("OA报销单发送CFS的请求参数为:{}", xml);
|
||||
String url = "HTSZ_OA_BkExpenseWebService?wsdl";
|
||||
String result = HttpRequest.post(CFSURL+url).header("Content-Type", "soap/xml").timeout(30000).body(xml).execute().body();
|
||||
logger.info("OA报销单发送CFS的返回参数为:{}", result);
|
||||
return analyzeXML(result,"pay");
|
||||
}
|
||||
}catch (Exception e){
|
||||
logger.info("杭泰OA报销单传递CFS错误,原因为:{}", e.getMessage());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
//null转成空字符串
|
||||
private static String nullConvert(String str){
|
||||
if (null == str){
|
||||
return "";
|
||||
}
|
||||
return str;
|
||||
}
|
||||
|
||||
private String requestXML(String token,String code,StringBuffer stringBuffer,String remark){
|
||||
String xml = "<soap:Envelope xmlns:soap=\"http://www.w3.org/2003/05/soap-envelope\" xmlns:mdm=\"http://mdmData.server.webservice.banck.com\">\n" +
|
||||
" <soap:Header/>\n" +
|
||||
" <soap:Body>\n" +
|
||||
" <mdm:intoPaymentDataXml>\n" +
|
||||
" <!--Optional:-->\n" +
|
||||
" <mdm:xml>\n" +
|
||||
" <![CDATA[\n" +
|
||||
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
|
||||
"<message>\n" +
|
||||
"<head>\n" +
|
||||
"<transCode>" + code + "</transCode>\n" +
|
||||
"<erpTimestamp>" + DateUtil.dateToString(new Date(), "yyyy-MM-dd HH:mm:ss") + "</erpTimestamp>\n" +
|
||||
"<sourcePlat>OA</sourcePlat>\n" +
|
||||
"<desPlat>CFS</desPlat>\n" +
|
||||
"<rmk>" + remark + "</rmk>\n" +
|
||||
"<sessionId>" + token + "</sessionId>\n" +
|
||||
"</head>\n" +
|
||||
"<body>\n" +
|
||||
"<list>\n";
|
||||
if (stringBuffer != null) {
|
||||
xml += stringBuffer.toString();
|
||||
xml += "</list>\n" +
|
||||
"</body>\n" +
|
||||
"</message>\n" +
|
||||
" ]]>\n" +
|
||||
" </mdm:xml>\n" +
|
||||
" </mdm:intoPaymentDataXml>\n" +
|
||||
" </soap:Body>\n" +
|
||||
"</soap:Envelope>";
|
||||
} else {
|
||||
xml += "</list>\n" +
|
||||
"</body>\n" +
|
||||
"</message>\n" +
|
||||
"]]>\n" +
|
||||
" </mdm:xml>\n" +
|
||||
" </mdm:intoPaymentDataXml>\n" +
|
||||
" </soap:Body>\n" +
|
||||
"</soap:Envelope>";
|
||||
}
|
||||
return xml;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @content 解析CFS返回的xml格式
|
||||
* @Param
|
||||
* @Return
|
||||
* @Author hecan
|
||||
* @Date 2023/10/19 14:07
|
||||
* **/
|
||||
private static String analyzeXML(String result,String type){
|
||||
try {
|
||||
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder builder = factory.newDocumentBuilder();
|
||||
org.w3c.dom.Document document = builder.parse(new InputSource(new StringReader(result)));
|
||||
org.w3c.dom.Element bodyElement = (org.w3c.dom.Element) document.getElementsByTagName("ns:return").item(0);
|
||||
if (null!=bodyElement) {
|
||||
String textContent = bodyElement.getTextContent();
|
||||
Document documentContext = DocumentHelper.parseText(textContent);
|
||||
Element rootElement = documentContext.getRootElement();
|
||||
Element body = rootElement.element("body");
|
||||
if (null != body) {
|
||||
switch (type) {
|
||||
case "login"://登录
|
||||
Element sessionId = body.element("sessionId");
|
||||
if (null != sessionId) {
|
||||
logger.info("CFS登录的登录校验码为:{}", sessionId.getText());
|
||||
return sessionId.getText();
|
||||
} else {
|
||||
logger.info("CFS登录的登录校验码没有获取到,请重新获取");
|
||||
return null;
|
||||
}
|
||||
case "pay"://付款单和报销单
|
||||
Element list = body.element("list");
|
||||
List<Element> elements = list.elements();
|
||||
String serialNo = null;
|
||||
String statusMsg = null;
|
||||
String erpVoucherNoCfs = null;
|
||||
for (Element element : elements) {
|
||||
serialNo = element.element("serialNo").getText();
|
||||
statusMsg = element.element("statusMsg").getText();
|
||||
erpVoucherNoCfs = element.element("erpVoucherNo").getText();
|
||||
}
|
||||
JSONObject jsonObject=new JSONObject();
|
||||
jsonObject.put("erpVoucherNoCfs",erpVoucherNoCfs);
|
||||
jsonObject.put("statusMsg",statusMsg);
|
||||
jsonObject.put("serialNo",serialNo);
|
||||
//return "当前单据:" + erpVoucherNoCfs + ",传递CFS返回信息:" + statusMsg + ",流水号:" + serialNo;
|
||||
return jsonObject.toJSONString();
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}catch (Exception e){
|
||||
logger.info("解析CFS返回的xml格式错误:{}",e.getMessage());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,194 @@
|
|||
package com.hzya.frame.bip.v3.v2207.dps.task;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.http.HttpRequest;
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.hzya.frame.bip.v3.v2207.dps.service.IPayMentService;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.io.File;
|
||||
import java.util.HashMap;
|
||||
|
||||
|
||||
@EnableScheduling
|
||||
@Component
|
||||
public class ElectronicTask {
|
||||
static Logger logger= LoggerFactory.getLogger(ElectronicTask.class);
|
||||
|
||||
@Resource
|
||||
private IPayMentService payMentService;
|
||||
//@Resource
|
||||
//private ISeeYonDao seeYonDao;
|
||||
//@Resource
|
||||
//private ICtpAttachmentDao ctpAttachmentDao;
|
||||
|
||||
|
||||
//@Scheduled(cron = "0 20 10 * * ?")
|
||||
//public void sendElectronicToCFS() {
|
||||
// logger.info("CFS电子回单共享开始执行---------->");
|
||||
// try {
|
||||
// String token = payMentService.sendCFSToken("admin", "aHRzejg4OA==");
|
||||
// if(null!=token) {
|
||||
// List<SeeyonEntity> seeyonEntities = seeYonDao.selectOAListByTypeformmain_0327(new SeeyonEntity());
|
||||
// if (seeyonEntities != null && seeyonEntities.size() > 0) {
|
||||
// for (SeeyonEntity seeyonEntity : seeyonEntities) {
|
||||
// String bankAcc = seeyonEntity.getField0137();//付款账号
|
||||
// //String bankAcc="03005389347";
|
||||
// String erpVoucherNo = seeyonEntity.getId();//OA付款单号
|
||||
// String xml = "<soap:Envelope xmlns:soap=\"http://www.w3.org/2003/05/soap-envelope\" xmlns:mdm=\"http://mdmData.server.webservice.banck.com\">\n" +
|
||||
// " <soap:Header/>\n" +
|
||||
// " <soap:Body>\n" +
|
||||
// " <mdm:intoPaymentDataXml>\n" +
|
||||
// " <!--Optional:-->\n" +
|
||||
// " <mdm:xml>\n" +
|
||||
// " <![CDATA[\n" +
|
||||
// " <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
|
||||
// "<message>\n" +
|
||||
// "<head>\n" +
|
||||
// "<transCode>BkReceiptQueryExchange</transCode>\n" +
|
||||
// "<erpTimestamp>" + DateUtil.dateToString(new Date(), "yyyy-mm-dd hh:mm:ss") + "</erpTimestamp>\n" +
|
||||
// "<sourcePlat>CFS</sourcePlat>\n" +
|
||||
// "<desPlat>OA</desPlat>\n" +
|
||||
// "<rmk>OA电子回单共享发送</rmk>\n" +
|
||||
// "<sessionId>" + token + "</sessionId>\n" +
|
||||
// "</head>\n" +
|
||||
// "<body>\n" +
|
||||
// "<bankAcc>" + bankAcc + "</bankAcc>\n" +
|
||||
// "<erpVoucherNo>" + erpVoucherNo + "</erpVoucherNo>\n" +
|
||||
// "</body>\n" +
|
||||
// "</message>\n" +
|
||||
// " ]]>\n" +
|
||||
// " </mdm:xml>\n" +
|
||||
// " </mdm:intoPaymentDataXml>\n" +
|
||||
// " </soap:Body>\n" +
|
||||
// "</soap:Envelope>";
|
||||
// logger.info("CFS电子回单共享请求参数为:{}", xml);
|
||||
// String url = "http://101.132.140.208:26893/erp/services/HTSZ_OA_BkReceiptQueryWebService?wsdl";
|
||||
// String result = HttpRequest.post(url).header("Content-Type", "soap/xml").timeout(30000).body(xml).execute().body();
|
||||
// logger.info("CFS电子回单共享请求参数为:{}", result);
|
||||
// DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
|
||||
// DocumentBuilder builder = factory.newDocumentBuilder();
|
||||
// org.w3c.dom.Document document = builder.parse(new InputSource(new StringReader(result)));
|
||||
// org.w3c.dom.Element bodyElement = (org.w3c.dom.Element) document.getElementsByTagName("ns:return").item(0);
|
||||
// if (null != bodyElement) {
|
||||
// String textContent = bodyElement.getTextContent();
|
||||
// Document documentContext = DocumentHelper.parseText(textContent);
|
||||
// Element rootElement = documentContext.getRootElement();
|
||||
// Element body = rootElement.element("body");
|
||||
// if("0000".equalsIgnoreCase(rootElement.element("head").element("returnCode").getText())){
|
||||
// if (null != body) {
|
||||
// Element listElc = body.element("list");
|
||||
// List<Element> elementsElc = listElc.elements();
|
||||
// for (Element element : elementsElc) {
|
||||
// String fielPath = element.element("filePath").getText();//电子回单附件路径
|
||||
// if (fielPath != null && fielPath!="") {
|
||||
// // String fielPath="C:\\Users\\笃曙\\Desktop\\15HZ000342CIBN2023091100066856211000001.pdf";
|
||||
// File file = new File(fielPath);
|
||||
// JSONObject jsonObject = fileUpload(file);
|
||||
// logger.info("上传返回的附件id为:{}", jsonObject.getString("fileUrl"));
|
||||
// if (jsonObject.getString("fileUrl") != null) {
|
||||
// //表单的附件字段=ctpAttachment的Sub_reference,表单的Summary_id=ctpAttachment的att_reference
|
||||
// String sub_reference = String.valueOf(UUIDLong.longUUID());
|
||||
// seeyonEntity.setField0264(sub_reference);
|
||||
// seeYonDao.updateFormformmain_0327(seeyonEntity);
|
||||
// //根据附件id查询附件业务数据
|
||||
// String file_url = jsonObject.getString("fileUrl");
|
||||
// CtpAttachmentEntity ctpAttachmentEntity = new CtpAttachmentEntity();
|
||||
// ctpAttachmentEntity.setFile_url(file_url);
|
||||
// String att_reference = seeyonEntity.getSummary_id();//Summary_id
|
||||
// ctpAttachmentEntity.setSub_reference(sub_reference);
|
||||
// ctpAttachmentEntity.setAtt_reference(att_reference);
|
||||
// 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());
|
||||
// ctpAttachmentDao.saveCtpAttachment(ctpAttachmentEntity);
|
||||
// } else {
|
||||
// if (ctpAttachmentEntities.size() > 1) {
|
||||
// throw new BaseSystemException("OA附件业务表中查到多条记录");
|
||||
// }
|
||||
// //更新数据到OA附件业务表中
|
||||
// ctpAttachmentDao.updateCtpAttachment(ctpAttachmentEntity);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }else{
|
||||
// logger.info("CFS电子回单返回得错误编码:{},以及返回的错误信息:{}",rootElement.element("head").element("returnCode").getText(),rootElement.element("head").element("returnMsg").getText());
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }catch (Exception e){
|
||||
// logger.info("CFS电子回单共享错误:{}",e.getMessage());
|
||||
// }
|
||||
//}
|
||||
|
||||
|
||||
public static JSONObject fileUpload(File file) {
|
||||
if (null != file) {
|
||||
try {
|
||||
HashMap<String, Object> paramMap = new HashMap<>();
|
||||
paramMap.put("file", file);
|
||||
String url = "/seeyon/rest/attachment?token=@token@";//如果后面加上applicationCategory=1&extensions=&firstSave=true,附件业务自动生成一条记录
|
||||
url = url.replaceAll("@token@", getToken());
|
||||
String result = HttpUtil.post("http://60.204.152.210" + url, paramMap);
|
||||
if (StrUtil.isNotBlank(result)) {
|
||||
logger.info("附件上传结果"+result);
|
||||
JSONObject jsonObject = JSONObject.parseObject(result);
|
||||
String atts = jsonObject.get("atts").toString();
|
||||
if (StrUtil.isNotEmpty(atts)) {
|
||||
JSONArray jsonArray = JSONArray.parseArray(atts);
|
||||
JSONObject res = (JSONObject) jsonArray.get(0);
|
||||
/* String fileUrl = res.getString("fileUrl");
|
||||
logger.info("附件id:" + fileUrl);
|
||||
return fileUrl;*/
|
||||
return res;
|
||||
}
|
||||
}
|
||||
}catch (Exception e){
|
||||
logger.error("附件上传失败"+e.getMessage());
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private static String getToken() {
|
||||
//获取oatoken
|
||||
HashMap<String, String> hashMap = new HashMap<>();
|
||||
hashMap.put("userName", "hzyaRest");
|
||||
hashMap.put("password", "a5ce21b8-91db-4cec-b3e3-3e44719655fd");
|
||||
hashMap.put("loginName","bdmanager");
|
||||
String result = HttpUtil.post("http://60.204.152.210" + "/seeyon/rest/token", JSON.toJSONString(hashMap));
|
||||
JSONObject jsonObject = JSONObject.parseObject(result);
|
||||
if (null != jsonObject) {
|
||||
logger.info(result);
|
||||
logger.info("======token:{}======" + jsonObject.getString("id"));
|
||||
return jsonObject.getString("id");
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,188 @@
|
|||
package com.hzya.frame.bip.v3.v2207.entity;
|
||||
|
||||
import cn.dev33.satoken.stp.StpUtil;
|
||||
import com.hzya.frame.uuid.UUIDUtils;
|
||||
import com.hzya.frame.web.entity.BaseEntity;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* (BdCorp)实体类
|
||||
*
|
||||
* @author makejava
|
||||
* @since 2023-09-06 14:47:18
|
||||
*/
|
||||
public class BipArchivesEntity extends BaseEntity {
|
||||
|
||||
private String archivesType;//类型
|
||||
private String leftCode;//左编码
|
||||
private String rightCode;//右编码
|
||||
|
||||
private String leftAppId;//左应用id
|
||||
private String leftAppCode;//左应用编码
|
||||
private String leftAppName;//左应用名称
|
||||
private String leftApiId;//左接口ID
|
||||
private String leftId;//左id
|
||||
private String leftName;//左名称
|
||||
private String rightAppId;//右应用id
|
||||
private String rightAppCode;//右应用编码
|
||||
private String rightAppName;//右应用名称
|
||||
private String rightApiId;//右接口ID
|
||||
private String rightId;//右id
|
||||
private String rightName;//右名称
|
||||
private String leftOrg;//左公司
|
||||
private String rightOrg;//右公司
|
||||
|
||||
public String getArchivesType() {
|
||||
return archivesType;
|
||||
}
|
||||
|
||||
public void setArchivesType(String archivesType) {
|
||||
this.archivesType = archivesType;
|
||||
}
|
||||
|
||||
public String getLeftCode() {
|
||||
return leftCode;
|
||||
}
|
||||
|
||||
public void setLeftCode(String leftCode) {
|
||||
this.leftCode = leftCode;
|
||||
}
|
||||
|
||||
public String getRightCode() {
|
||||
return rightCode;
|
||||
}
|
||||
|
||||
public void setRightCode(String rightCode) {
|
||||
this.rightCode = rightCode;
|
||||
}
|
||||
|
||||
public String getLeftAppId() {
|
||||
return leftAppId;
|
||||
}
|
||||
|
||||
public void setLeftAppId(String leftAppId) {
|
||||
this.leftAppId = leftAppId;
|
||||
}
|
||||
|
||||
public String getLeftAppCode() {
|
||||
return leftAppCode;
|
||||
}
|
||||
|
||||
public void setLeftAppCode(String leftAppCode) {
|
||||
this.leftAppCode = leftAppCode;
|
||||
}
|
||||
|
||||
public String getLeftAppName() {
|
||||
return leftAppName;
|
||||
}
|
||||
|
||||
public void setLeftAppName(String leftAppName) {
|
||||
this.leftAppName = leftAppName;
|
||||
}
|
||||
|
||||
public String getLeftApiId() {
|
||||
return leftApiId;
|
||||
}
|
||||
|
||||
public void setLeftApiId(String leftApiId) {
|
||||
this.leftApiId = leftApiId;
|
||||
}
|
||||
|
||||
public String getLeftId() {
|
||||
return leftId;
|
||||
}
|
||||
|
||||
public void setLeftId(String leftId) {
|
||||
this.leftId = leftId;
|
||||
}
|
||||
|
||||
public String getLeftName() {
|
||||
return leftName;
|
||||
}
|
||||
|
||||
public void setLeftName(String leftName) {
|
||||
this.leftName = leftName;
|
||||
}
|
||||
|
||||
public String getRightAppId() {
|
||||
return rightAppId;
|
||||
}
|
||||
|
||||
public void setRightAppId(String rightAppId) {
|
||||
this.rightAppId = rightAppId;
|
||||
}
|
||||
|
||||
public String getRightAppCode() {
|
||||
return rightAppCode;
|
||||
}
|
||||
|
||||
public void setRightAppCode(String rightAppCode) {
|
||||
this.rightAppCode = rightAppCode;
|
||||
}
|
||||
|
||||
public String getRightAppName() {
|
||||
return rightAppName;
|
||||
}
|
||||
|
||||
public void setRightAppName(String rightAppName) {
|
||||
this.rightAppName = rightAppName;
|
||||
}
|
||||
|
||||
public String getRightApiId() {
|
||||
return rightApiId;
|
||||
}
|
||||
|
||||
public void setRightApiId(String rightApiId) {
|
||||
this.rightApiId = rightApiId;
|
||||
}
|
||||
|
||||
public String getRightId() {
|
||||
return rightId;
|
||||
}
|
||||
|
||||
public void setRightId(String rightId) {
|
||||
this.rightId = rightId;
|
||||
}
|
||||
|
||||
public String getRightName() {
|
||||
return rightName;
|
||||
}
|
||||
|
||||
public void setRightName(String rightName) {
|
||||
this.rightName = rightName;
|
||||
}
|
||||
|
||||
public String getLeftOrg() {
|
||||
return leftOrg;
|
||||
}
|
||||
|
||||
public void setLeftOrg(String leftOrg) {
|
||||
this.leftOrg = leftOrg;
|
||||
}
|
||||
|
||||
public String getRightOrg() {
|
||||
return rightOrg;
|
||||
}
|
||||
|
||||
public void setRightOrg(String rightOrg) {
|
||||
this.rightOrg = rightOrg;
|
||||
}
|
||||
|
||||
public void setCreate() {
|
||||
this.setId(UUIDUtils.getUUID());
|
||||
this.setSts("Y");
|
||||
this.setCreate_user_id("1");
|
||||
this.setModify_user_id("1");
|
||||
this.setCreate_time(new Date());
|
||||
this.setModify_time(new Date());
|
||||
this.setOrg_id("0");
|
||||
this.setCompanyId("0");
|
||||
}
|
||||
//修改信息
|
||||
public void setUpdate() {
|
||||
this.setModify_user_id("1");
|
||||
this.setModify_time(new Date());
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
<?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.bip.v3.v2207.dao.impl.BipArchivesDaoImpl">
|
||||
<resultMap id="get-ArchivesEntity-result" type="com.hzya.frame.bip.v3.v2207.entity.BipArchivesEntity" >
|
||||
<result property="id" column="id" jdbcType="VARCHAR"/>
|
||||
<result property="leftAppId" column="left_app_id" jdbcType="VARCHAR"/>
|
||||
<result property="leftAppCode" column="left_app_code" jdbcType="VARCHAR"/>
|
||||
<result property="leftAppName" column="left_app_name" jdbcType="VARCHAR"/>
|
||||
<result property="leftApiId" column="left_api_id" jdbcType="VARCHAR"/>
|
||||
<result property="leftId" column="left_id" jdbcType="VARCHAR"/>
|
||||
<result property="leftCode" column="left_code" jdbcType="VARCHAR"/>
|
||||
<result property="leftName" column="left_name" jdbcType="VARCHAR"/>
|
||||
<result property="rightAppId" column="right_app_id" jdbcType="VARCHAR"/>
|
||||
<result property="rightAppCode" column="right_app_code" jdbcType="VARCHAR"/>
|
||||
<result property="rightAppName" column="right_app_name" jdbcType="VARCHAR"/>
|
||||
<result property="rightApiId" column="right_api_id" jdbcType="VARCHAR"/>
|
||||
<result property="rightId" column="right_id" jdbcType="VARCHAR"/>
|
||||
<result property="rightCode" column="right_code" jdbcType="VARCHAR"/>
|
||||
<result property="rightName" column="right_name" jdbcType="VARCHAR"/>
|
||||
<result property="sorts" column="sorts" jdbcType="INTEGER"/>
|
||||
<result property="create_user_id" column="create_user_id" jdbcType="VARCHAR"/>
|
||||
<result property="create_time" column="create_time" jdbcType="TIMESTAMP"/>
|
||||
<result property="modify_user_id" column="modify_user_id" jdbcType="VARCHAR"/>
|
||||
<result property="modify_time" column="modify_time" jdbcType="TIMESTAMP"/>
|
||||
<result property="sts" column="sts" jdbcType="VARCHAR"/>
|
||||
<result property="org_id" column="org_id" jdbcType="VARCHAR"/>
|
||||
<result property="companyId" column="company_id" jdbcType="VARCHAR"/>
|
||||
</resultMap>
|
||||
|
||||
<select id="queryArchivesData" resultMap="get-ArchivesEntity-result"
|
||||
parameterType="com.hzya.frame.bip.v3.v2207.entity.BipArchivesEntity">
|
||||
select
|
||||
right_code
|
||||
from
|
||||
<choose>
|
||||
<when test="archivesType == '1'.toString()"> sys_personnel_control </when>
|
||||
<when test="archivesType == '2'.toString()"> sys_org_control </when>
|
||||
<when test="archivesType == '6'.toString()"> sys_stock_control </when>
|
||||
<when test="archivesType == '73'.toString()"> sys_merchant_control </when>
|
||||
<when test="archivesType == 'D01'.toString()"> sys_taxrate_control </when>
|
||||
<when test="archivesType == 'jobass'.toString()"> sys_project_control </when>
|
||||
<when test="archivesType == '93'.toString()"> sys_bank_control </when>
|
||||
<when test="archivesType == '96'.toString()"> sys_bankaccount_control </when>
|
||||
<when test="archivesType == '22'.toString()"> sys_assets_control </when>
|
||||
</choose>
|
||||
<trim prefix="where" prefixOverrides="and">
|
||||
<if test="leftCode != null and leftCode != ''">and left_code = #{leftCode}</if>
|
||||
<if test="leftOrg != null and leftOrg != ''">and left_org = #{leftOrg}</if>
|
||||
and sts='Y'
|
||||
</trim>
|
||||
</select>
|
||||
|
||||
<select id="queryArchivesDatays" resultMap="get-ArchivesEntity-result"
|
||||
parameterType="com.hzya.frame.bip.v3.v2207.entity.BipArchivesEntity">
|
||||
select
|
||||
right_code
|
||||
from
|
||||
<choose>
|
||||
<when test="archivesType == '0012'.toString()"> sys_stock_control </when>
|
||||
<when test="archivesType == '0006'.toString()"> sys_stock_control </when>
|
||||
<when test="archivesType == '0004'.toString()"> sys_merchant_control </when>
|
||||
</choose>
|
||||
<trim prefix="where" prefixOverrides="and">
|
||||
<if test="leftCode != null and leftCode != ''">and left_code = #{leftCode}</if>
|
||||
<if test="leftOrg != null and leftOrg != ''">and left_org = #{leftOrg}</if>
|
||||
and sts='Y'
|
||||
</trim>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
package com.hzya.frame.bip.v3.v2207.entity;
|
||||
|
||||
|
||||
public class BipAss {
|
||||
private String checktypecode;
|
||||
private String checkvaluecode;
|
||||
|
||||
|
||||
public String getChecktypecode() {
|
||||
return checktypecode;
|
||||
}
|
||||
|
||||
public void setChecktypecode(String checktypecode) {
|
||||
this.checktypecode = checktypecode;
|
||||
}
|
||||
|
||||
public String getCheckvaluecode() {
|
||||
return checkvaluecode;
|
||||
}
|
||||
|
||||
public void setCheckvaluecode(String checkvaluecode) {
|
||||
this.checkvaluecode = checkvaluecode;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
package com.hzya.frame.bip.v3.v2207.entity;
|
||||
|
||||
|
||||
public class BipCashflow {
|
||||
private String money;
|
||||
private String pk_cashflow;
|
||||
|
||||
public String getMoney() {
|
||||
return money;
|
||||
}
|
||||
|
||||
public void setMoney(String money) {
|
||||
this.money = money;
|
||||
}
|
||||
|
||||
public String getPk_cashflow() {
|
||||
return pk_cashflow;
|
||||
}
|
||||
|
||||
public void setPk_cashflow(String pk_cashflow) {
|
||||
this.pk_cashflow = pk_cashflow;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,65 @@
|
|||
package com.hzya.frame.bip.v3.v2207.entity;
|
||||
|
||||
import com.hzya.frame.web.entity.BaseEntity;
|
||||
|
||||
/****
|
||||
* BIP组织账户
|
||||
* @content:
|
||||
* @author 👻👻👻👻👻👻👻👻 gjh
|
||||
* @date 2023-10-24 10:03
|
||||
* @param
|
||||
* @return
|
||||
**/
|
||||
public class BipOrgsDetailsEntity extends BaseEntity {
|
||||
|
||||
/*开户行编码*/
|
||||
private String bankCode;
|
||||
/*开户行名称*/
|
||||
private String bankName;
|
||||
/*账户*/
|
||||
private String accnum;
|
||||
/*与组织关联的字段*/
|
||||
private String controlorg;
|
||||
/*联行号*/
|
||||
private String cnapsCode;
|
||||
|
||||
public String getCnapsCode() {
|
||||
return cnapsCode;
|
||||
}
|
||||
|
||||
public void setCnapsCode(String cnapsCode) {
|
||||
this.cnapsCode = cnapsCode;
|
||||
}
|
||||
|
||||
public String getControlorg() {
|
||||
return controlorg;
|
||||
}
|
||||
|
||||
public void setControlorg(String controlorg) {
|
||||
this.controlorg = controlorg;
|
||||
}
|
||||
|
||||
public String getBankCode() {
|
||||
return bankCode;
|
||||
}
|
||||
|
||||
public void setBankCode(String bankCode) {
|
||||
this.bankCode = bankCode;
|
||||
}
|
||||
|
||||
public String getBankName() {
|
||||
return bankName;
|
||||
}
|
||||
|
||||
public void setBankName(String bankName) {
|
||||
this.bankName = bankName;
|
||||
}
|
||||
|
||||
public String getAccnum() {
|
||||
return accnum;
|
||||
}
|
||||
|
||||
public void setAccnum(String accnum) {
|
||||
this.accnum = accnum;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
<?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.bip.v3.v2207.dao.impl.BipOrgsDetailsDaoImpl">
|
||||
<resultMap id="get-BipOrgsDetailsEntity-result" type="com.hzya.frame.bip.v3.v2207.entity.BipOrgsDetailsEntity">
|
||||
<result property="bankCode" column="bankCode" />
|
||||
<result property="bankName" column="bankName" />
|
||||
<result property="accnum" column="accnum" />
|
||||
<result property="controlorg" column="controlorg" />
|
||||
<result property="cnapsCode" column="cnapsCode" />
|
||||
</resultMap>
|
||||
|
||||
|
||||
<sql id="BipOrgsDetailsEntity_Base_Column_List">
|
||||
bankdoc.code as bankCode,bankdoc.name as bankName,bankaccbas.accnum,bankaccbas.controlorg,bankaccbas.combinenum as cnapsCode
|
||||
</sql>
|
||||
|
||||
<!--通过ID获取数据 -->
|
||||
<select id="entity_get" resultMap="get-BipOrgsDetailsEntity-result">
|
||||
select
|
||||
<include refid="BipOrgsDetailsEntity_Base_Column_List" />
|
||||
from bd_bankaccbas where pk_bankaccbas = #{pk_bankaccbas}
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 查询 采用==查询 -->
|
||||
<select id="thirdInterfaceGetOrgsDetails" resultMap="get-BipOrgsDetailsEntity-result" parameterType="com.hzya.frame.bip.v3.v2207.entity.BipOrgsDetailsEntity">
|
||||
select
|
||||
<include refid="BipOrgsDetailsEntity_Base_Column_List" />
|
||||
from bd_bankaccbas bankaccbas
|
||||
left join bd_bankdoc bankdoc on bankdoc.pk_bankdoc=bankaccbas.pk_bankdoc
|
||||
<trim prefix="where" prefixOverrides="and">
|
||||
<if test="bankCode != null and bankCode !=''">bankdoc.code=#{bankCode}</if>
|
||||
<if test="bankName != null and bankName !='' "> and bankdoc.name = #{bankName}</if>
|
||||
<if test="accnum != null and accnum !='' "> and bankaccbas.accnum = #{accnum}</if>
|
||||
and bankaccbas.dr='0' and bankdoc.dr='0' and bankaccbas.pk_banktype!='0001Z01000000000036S' and bankaccbas.controlorg = #{controlorg}
|
||||
</trim>
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,63 @@
|
|||
package com.hzya.frame.bip.v3.v2207.entity;
|
||||
|
||||
import com.hzya.frame.web.entity.BaseEntity;
|
||||
|
||||
/**
|
||||
* @description: BIP组织 entity
|
||||
* @tableName: org_orgs
|
||||
* @entityName: BipOrgsEntity
|
||||
* @author: gjh
|
||||
* @history: 1.0
|
||||
*/
|
||||
public class BipOrgsEntity extends BaseEntity {
|
||||
/*单位编码*/
|
||||
private String code;
|
||||
/*开户单位*/
|
||||
private String name;
|
||||
/*BIPID*/
|
||||
private String tripartiteId;
|
||||
private String pk_financeorg;
|
||||
private String orgsts;
|
||||
|
||||
public String getOrgsts() {
|
||||
return orgsts;
|
||||
}
|
||||
|
||||
public void setOrgsts(String orgsts) {
|
||||
this.orgsts = orgsts;
|
||||
}
|
||||
|
||||
public String getPk_financeorg() {
|
||||
return pk_financeorg;
|
||||
}
|
||||
|
||||
public void setPk_financeorg(String pk_financeorg) {
|
||||
this.pk_financeorg = pk_financeorg;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public void setCode(String code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getTripartiteId() {
|
||||
return tripartiteId;
|
||||
}
|
||||
|
||||
public void setTripartiteId(String tripartiteId) {
|
||||
this.tripartiteId = tripartiteId;
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,98 @@
|
|||
<?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.bip.v3.v2207.dao.impl.BipOrgsDaoImpl">
|
||||
<resultMap id="get-BipOrgsEntity-result" type="com.hzya.frame.bip.v3.v2207.entity.BipOrgsEntity">
|
||||
<result property="tripartiteId" column="tripartiteId" />
|
||||
<result property="code" column="code" />
|
||||
<result property="name" column="name" />
|
||||
<result property="pk_financeorg" column="pk_financeorg"/>
|
||||
<result property="orgsts" column="orgsts"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="BipOrgsEntity_Base_Column_List">
|
||||
orgs.pk_financeorg as tripartiteId,
|
||||
orgs.name ,
|
||||
orgs.code,
|
||||
max(org_bank.ts)as ts
|
||||
|
||||
</sql>
|
||||
|
||||
<sql id="BipOrgsEntity_Base_Column_List_details">
|
||||
bankdoc.code as bankCode,bankdoc.name as bankName,bankaccbas.accnum,bankaccbas.controlorg
|
||||
</sql>
|
||||
|
||||
<!--通过ID获取数据 -->
|
||||
<select id="entity_get" resultMap="get-BipOrgsEntity-result">
|
||||
select
|
||||
<include refid="BipOrgsEntity_Base_Column_List" />
|
||||
from org_financeorg where pk_financeorg = #{pk_financeorg}
|
||||
</select>
|
||||
|
||||
<select id="thirdInterfaceGetOrgs" resultMap="get-BipOrgsEntity-result" parameterType="com.hzya.frame.bip.v3.v2207.entity.BipOrgsEntity">
|
||||
select
|
||||
<include refid="BipOrgsEntity_Base_Column_List" />
|
||||
FROM
|
||||
org_financeorg orgs
|
||||
left join v_hzya_org_bank org_bank on org_bank.controlorg = orgs.pk_financeorg
|
||||
|
||||
<trim prefix="where" prefixOverrides="and">
|
||||
<if test="code != null and code !=''"> orgs.code = #{code}</if>
|
||||
<if test="name != null and name !='' "> and orgs.name = #{name}</if>
|
||||
<if test="pk_financeorg != null and pk_financeorg !='' "> and orgs.pk_financeorg = #{tripartiteId}</if>
|
||||
<if test="orgsts != null and orgsts !='' "> and orgs.ts >'2023-09-30 14:18:39' and orgs.ts > #{orgsts}</if>
|
||||
and orgs.dr='0'
|
||||
</trim>
|
||||
GROUP BY orgs.pk_financeorg ,orgs.name,orgs.code
|
||||
</select>
|
||||
|
||||
<!-- 查询 采用==查询 -->
|
||||
<select id="thirdInterfaceGetSupplierDetails" resultMap="get-BipOrgsEntity-result" parameterType="com.hzya.frame.bip.v3.v2207.entity.BipOrgsEntity">
|
||||
select
|
||||
<include refid="BipOrgsEntity_Base_Column_List_details" />
|
||||
from bd_bankaccbas bankaccbas
|
||||
left join bd_bankdoc bankdoc on bankdoc.pk_bankdoc=bankaccbas.pk_bankdoc
|
||||
<trim prefix="where" prefixOverrides="and">
|
||||
<if test="code != null and code !=''">bankdoc.code=#{code}</if>
|
||||
<if test="name != null and name !='' "> and bankdoc.name = #{name}</if>
|
||||
<if test="accnum != null and accnum !='' "> and bankaccbas.accnum = #{accnum}</if>
|
||||
<if test="controlorg != null and controlorg !='' "> and bankaccbas.controlorg = #{controlorg}</if>
|
||||
and bankaccbas.dr='0' and bankdoc.dr='0' and bankaccbas.pk_banktype!='0001Z01000000000036S'
|
||||
</trim>
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 查询 采用==查询 -->
|
||||
<!--<select id="BipOrgsEntity_list_base" resultMap="get-BipOrgsEntity-result" parameterType="com.hzya.frame.bip.v3.v2207.entity.BipOrgsEntity">
|
||||
select
|
||||
<include refid="BipOrgsEntity_Base_Column_List" />
|
||||
FROM bd_cust_supplier supplier
|
||||
left join db_customerbank bank ON supplier.code = bank.code
|
||||
<trim prefix="where" prefixOverrides="and">
|
||||
<if test="code != null and code !=''">supplier.code=#{code}</if>
|
||||
<if test="name != null and name !='' "> and supplier.name = #{name}</if>
|
||||
<if test="taxpayerid != null and taxpayerid !='' "> and supplier.taxpayerid = #{taxpayerid}</if>
|
||||
<if test="def1 != null and def1 !='' "> and bank.def1 = #{def1}</if>
|
||||
<if test="def2 != null and def2 !='' "> and bank.def2 = #{def2}</if>
|
||||
<if test="def3 != null and def3 !='' "> and bank.def3 = #{def3}</if>
|
||||
</trim>
|
||||
</select>-->
|
||||
|
||||
|
||||
<!-- 分页查询列表 采用like格式 -->
|
||||
<!--<select id="entity_list_like" resultMap="get-BipOrgsEntity-result" parameterType="com.hzya.frame.bip.v3.v2207.entity.BipOrgsEntity">
|
||||
select
|
||||
<include refid="BipOrgsEntity_Base_Column_List" />
|
||||
FROM bd_cust_supplier supplier
|
||||
left join db_customerbank bank ON supplier.code = bank.code
|
||||
<trim prefix="where" prefixOverrides="and">
|
||||
<if test="code != null and code !=''"> supplier.code like concat('%',#{code},'%')</if>
|
||||
<if test="name != null and name !='' "> and supplier.name like concat('%',#{name},'%')</if>
|
||||
<if test="taxpayerid != null and taxpayerid !='' "> and supplier.taxpayeridlike concat('%',#{taxpayeridlike},'%')</if>
|
||||
<if test="def1 != null and def1 !='' "> and bank.def1 like concat('%',#{def1},'%')</if>
|
||||
<if test="def2 != null and def2 !='' "> and bank.def2 like concat('%',#{def2},'%')</if>
|
||||
<if test="def3 != null and def3 !='' "> and bank.def3 like concat('%',#{def3},'%')</if>
|
||||
</trim>
|
||||
</select>-->
|
||||
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
package com.hzya.frame.bip.v3.v2207.entity;
|
||||
|
||||
import com.hzya.frame.web.entity.BaseEntity;
|
||||
|
||||
public class BipSupplierDetailsEntity extends BaseEntity {
|
||||
|
||||
private String code;
|
||||
private String name;
|
||||
/*开户行*/
|
||||
private String splitbank;
|
||||
/*银行账号*/
|
||||
private String bankaccno;
|
||||
/*是否默认*/
|
||||
private String isdefault;
|
||||
/*联行号*/
|
||||
private String combinno;
|
||||
|
||||
private String tripartiteId;
|
||||
|
||||
public String getCombinno() {
|
||||
return combinno;
|
||||
}
|
||||
|
||||
public void setCombinno(String combinno) {
|
||||
this.combinno = combinno;
|
||||
}
|
||||
|
||||
public String getTripartiteId() {
|
||||
return tripartiteId;
|
||||
}
|
||||
|
||||
public void setTripartiteId(String tripartiteId) {
|
||||
this.tripartiteId = tripartiteId;
|
||||
}
|
||||
|
||||
public String getIsdefault() {
|
||||
return isdefault;
|
||||
}
|
||||
|
||||
public void setIsdefault(String isdefault) {
|
||||
this.isdefault = isdefault;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public void setCode(String code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getSplitbank() {
|
||||
return splitbank;
|
||||
}
|
||||
|
||||
public void setSplitbank(String splitbank) {
|
||||
this.splitbank = splitbank;
|
||||
}
|
||||
|
||||
public String getBankaccno() {
|
||||
return bankaccno;
|
||||
}
|
||||
|
||||
public void setBankaccno(String bankaccno) {
|
||||
this.bankaccno = bankaccno;
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,44 @@
|
|||
<?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.bip.v3.v2207.dao.impl.BipSupplierDetailsDaoImpl">
|
||||
<resultMap id="get-BipSupplierDetailsEntity-result" type="com.hzya.frame.bip.v3.v2207.entity.BipSupplierDetailsEntity">
|
||||
<result property="code" column="code" />
|
||||
<result property="name" column="name" />
|
||||
<result property="splitbank" column="splitbank" />
|
||||
<result property="bankaccno" column="bankaccno" />
|
||||
<result property="tripartiteId" column="tripartiteId"></result>
|
||||
<result property="combinno" column="combinno"></result>
|
||||
</resultMap>
|
||||
|
||||
|
||||
<sql id="BipSupplierDetailsEntity_Base_Column_List">
|
||||
splitbank,bankaccno,combinno,name,code
|
||||
</sql>
|
||||
|
||||
<!--通过ID获取数据 -->
|
||||
<select id="entity_get" resultMap="get-BipSupplierDetailsEntity-result">
|
||||
select
|
||||
<include refid="BipSupplierDetailsEntity_Base_Column_List" />
|
||||
from BD_SUPPLIER where pk_supplier = #{pk_supplier} and sdr='0'
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 查询 采用==查询 -->
|
||||
<select id="thirdInterfaceGetSupplierDetails" resultMap="get-BipSupplierDetailsEntity-result" parameterType="com.hzya.frame.bip.v3.v2207.entity.BipSupplierDetailsEntity">
|
||||
select
|
||||
<include refid="BipSupplierDetailsEntity_Base_Column_List" />
|
||||
FROM db_customerbank
|
||||
<trim prefix="where" prefixOverrides="and">
|
||||
<if test="code != null and code !=''">code=#{code}</if>
|
||||
<if test="name != null and name !='' "> and name = #{name}</if>
|
||||
<if test="bankaccno != null and bankaccno !='' "> and bankaccno = #{bankaccno}</if>
|
||||
<if test="splitbank != null and splitbank !='' "> and splitbank = #{splitbank}</if>
|
||||
<if test="combinno != null and combinno !='' "> and combinno = #{combinno}</if>
|
||||
</trim>
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,92 @@
|
|||
package com.hzya.frame.bip.v3.v2207.entity;
|
||||
|
||||
import com.hzya.frame.web.entity.BaseEntity;
|
||||
|
||||
/**
|
||||
* @description: BIP供应商 entity
|
||||
* @tableName: BD_SUPPLIER
|
||||
* @entityName: BipSupplierEntity
|
||||
* @author: gjh
|
||||
* @history: 1.0
|
||||
*/
|
||||
public class BipSupplierEntity extends BaseEntity {
|
||||
|
||||
private String code;
|
||||
private String name;
|
||||
/*税号*/
|
||||
private String taxpayerid;
|
||||
/*地址*/
|
||||
private String def1;
|
||||
/*电话*/
|
||||
private String def2;
|
||||
/*联系人*/
|
||||
private String def3;
|
||||
private String tripartiteId;
|
||||
|
||||
public String getTripartiteId() {
|
||||
return tripartiteId;
|
||||
}
|
||||
|
||||
public void setTripartiteId(String tripartiteId) {
|
||||
this.tripartiteId = tripartiteId;
|
||||
}
|
||||
|
||||
private String ts;
|
||||
|
||||
public String getTs() {
|
||||
return ts;
|
||||
}
|
||||
|
||||
public void setTs(String ts) {
|
||||
this.ts = ts;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public void setCode(String code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getTaxpayerid() {
|
||||
return taxpayerid;
|
||||
}
|
||||
|
||||
public void setTaxpayerid(String taxpayerid) {
|
||||
this.taxpayerid = taxpayerid;
|
||||
}
|
||||
|
||||
public String getDef1() {
|
||||
return def1;
|
||||
}
|
||||
|
||||
public void setDef1(String def1) {
|
||||
this.def1 = def1;
|
||||
}
|
||||
|
||||
public String getDef2() {
|
||||
return def2;
|
||||
}
|
||||
|
||||
public void setDef2(String def2) {
|
||||
this.def2 = def2;
|
||||
}
|
||||
|
||||
public String getDef3() {
|
||||
return def3;
|
||||
}
|
||||
|
||||
public void setDef3(String def3) {
|
||||
this.def3 = def3;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,96 @@
|
|||
<?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.bip.v3.v2207.dao.impl.BipSupplierDaoImpl">
|
||||
<resultMap id="get-BipSupplierEntity-result" type="com.hzya.frame.bip.v3.v2207.entity.BipSupplierEntity">
|
||||
<result property="taxpayerid" column="taxpayerid" />
|
||||
<result property="def1" column="def1" />
|
||||
<result property="def2" column="def2" />
|
||||
<result property="def3" column="def3" />
|
||||
<result property="code" column="code" />
|
||||
<result property="name" column="name" />
|
||||
<result property="ts" column="ts" />
|
||||
<result property="tripartiteId" column="tripartiteId" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="BipSupplierEntity_Base_Column_List">
|
||||
supplier.code,supplier.name,supplier.taxpayerid,bank.def1,bank.def2,bank.def3,supplier.ts, supplier.pk_cust_sup as tripartiteId
|
||||
</sql>
|
||||
|
||||
<sql id="BipSupplierEntity_Base_Column_List_details">
|
||||
splitbank,bankaccno,name,code
|
||||
</sql>
|
||||
|
||||
<!--通过ID获取数据 -->
|
||||
<select id="entity_get" resultMap="get-BipSupplierEntity-result">
|
||||
select
|
||||
<include refid="BipSupplierEntity_Base_Column_List" />
|
||||
from BD_SUPPLIER where pk_supplier = #{pk_supplier} and sdr='0'
|
||||
</select>
|
||||
|
||||
<select id="thirdInterfaceGetSupplier" resultMap="get-BipSupplierEntity-result" parameterType="com.hzya.frame.bip.v3.v2207.entity.BipSupplierEntity">
|
||||
select
|
||||
<include refid="BipSupplierEntity_Base_Column_List" />
|
||||
FROM bd_cust_supplier supplier
|
||||
left join db_customerbank bank ON supplier.code = bank.code
|
||||
<trim prefix="where" prefixOverrides="and">
|
||||
<if test="code != null and code !=''">supplier.code=#{code}</if>
|
||||
<if test="name != null and name !='' "> and supplier.name = #{name}</if>
|
||||
<if test="taxpayerid != null and taxpayerid !='' "> and supplier.taxpayerid = #{taxpayerid}</if>
|
||||
<if test="def1 != null and def1 !='' "> and bank.def1 = #{def1}</if>
|
||||
<if test="def2 != null and def2 !='' "> and bank.def2 = #{def2}</if>
|
||||
<if test="def3 != null and def3 !='' "> and bank.def3 = #{def3}</if>
|
||||
<if test="tripartiteId != null and tripartiteId !='' "> and supplier.tripartiteId = #{tripartiteId}</if>
|
||||
<if test="ts != null and ts !='' "> and supplier.ts >'2023-09-30 14:18:39' and supplier.ts > #{ts} </if>
|
||||
</trim>
|
||||
group by supplier.code,supplier.name,supplier.taxpayerid,bank.def1,bank.def2,bank.def3,supplier.ts, supplier.pk_cust_sup
|
||||
</select>
|
||||
|
||||
<!-- 查询 采用==查询 -->
|
||||
<select id="thirdInterfaceGetSupplierDetails" resultMap="get-BipSupplierEntity-result" parameterType="com.hzya.frame.bip.v3.v2207.entity.BipSupplierEntity">
|
||||
select
|
||||
<include refid="BipSupplierEntity_Base_Column_List_details" />
|
||||
FROM db_customerbank
|
||||
<trim prefix="where" prefixOverrides="and">
|
||||
<if test="code != null and code !=''">code=#{code}</if>
|
||||
<if test="name != null and name !='' "> and name = #{name}</if>
|
||||
<if test="bankaccno != null and bankaccno !='' "> and bankaccno = #{bankaccno}</if>
|
||||
<if test="splitbank != null and splitbank !='' "> and splitbank = #{splitbank}</if>
|
||||
</trim>
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 查询 采用==查询 -->
|
||||
<select id="BipSupplierEntity_list_base" resultMap="get-BipSupplierEntity-result" parameterType="com.hzya.frame.bip.v3.v2207.entity.BipSupplierEntity">
|
||||
select
|
||||
<include refid="BipSupplierEntity_Base_Column_List" />
|
||||
FROM bd_cust_supplier supplier
|
||||
left join db_customerbank bank ON supplier.code = bank.code
|
||||
<trim prefix="where" prefixOverrides="and">
|
||||
<if test="code != null and code !=''">supplier.code=#{code}</if>
|
||||
<if test="name != null and name !='' "> and supplier.name = #{name}</if>
|
||||
<if test="taxpayerid != null and taxpayerid !='' "> and supplier.taxpayerid = #{taxpayerid}</if>
|
||||
<if test="def1 != null and def1 !='' "> and bank.def1 = #{def1}</if>
|
||||
<if test="def2 != null and def2 !='' "> and bank.def2 = #{def2}</if>
|
||||
<if test="def3 != null and def3 !='' "> and bank.def3 = #{def3}</if>
|
||||
</trim>
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 分页查询列表 采用like格式 -->
|
||||
<select id="entity_list_like" resultMap="get-BipSupplierEntity-result" parameterType="com.hzya.frame.bip.v3.v2207.entity.BipSupplierEntity">
|
||||
select
|
||||
<include refid="BipSupplierEntity_Base_Column_List" />
|
||||
FROM bd_cust_supplier supplier
|
||||
left join db_customerbank bank ON supplier.code = bank.code
|
||||
<trim prefix="where" prefixOverrides="and">
|
||||
<if test="code != null and code !=''"> supplier.code like concat('%',#{code},'%')</if>
|
||||
<if test="name != null and name !='' "> and supplier.name like concat('%',#{name},'%')</if>
|
||||
<if test="taxpayerid != null and taxpayerid !='' "> and supplier.taxpayeridlike concat('%',#{taxpayeridlike},'%')</if>
|
||||
<if test="def1 != null and def1 !='' "> and bank.def1 like concat('%',#{def1},'%')</if>
|
||||
<if test="def2 != null and def2 !='' "> and bank.def2 like concat('%',#{def2},'%')</if>
|
||||
<if test="def3 != null and def3 !='' "> and bank.def3 like concat('%',#{def3},'%')</if>
|
||||
</trim>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
package com.hzya.frame.bip.v3.v2207.entity;
|
||||
|
||||
import com.hzya.frame.web.entity.BaseEntity;
|
||||
|
||||
/**
|
||||
* com.hzya.frame.bip.v3.v2207.entity
|
||||
*
|
||||
* @author makejava
|
||||
* @date 2024-05 -27 11:24
|
||||
*/
|
||||
|
||||
public class BipTokenVo extends BaseEntity {
|
||||
}
|
|
@ -0,0 +1,150 @@
|
|||
package com.hzya.frame.bip.v3.v2207.entity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class BipVoucher {
|
||||
private List<BipVoucherDetails> details;
|
||||
private List<BipVoucherDetails> detail;
|
||||
private String no;
|
||||
private String pk_corp;
|
||||
private String pk_glorgbook;
|
||||
private String pk_prepared;
|
||||
private String pk_vouchertype;
|
||||
private String pk_voucher;
|
||||
private String period;
|
||||
private String vouchertype;
|
||||
private String attachment;
|
||||
private String year;
|
||||
private String prepared;
|
||||
private String prepareddate;
|
||||
private String num;
|
||||
private String accbookCode;
|
||||
|
||||
public List<BipVoucherDetails> getDetails() {
|
||||
return details;
|
||||
}
|
||||
|
||||
public void setDetails(List<BipVoucherDetails> details) {
|
||||
this.details = details;
|
||||
}
|
||||
|
||||
public String getNo() {
|
||||
return no;
|
||||
}
|
||||
|
||||
public void setNo(String no) {
|
||||
this.no = no;
|
||||
}
|
||||
|
||||
public String getPk_corp() {
|
||||
return pk_corp;
|
||||
}
|
||||
|
||||
public void setPk_corp(String pk_corp) {
|
||||
this.pk_corp = pk_corp;
|
||||
}
|
||||
|
||||
public String getPk_glorgbook() {
|
||||
return pk_glorgbook;
|
||||
}
|
||||
|
||||
public void setPk_glorgbook(String pk_glorgbook) {
|
||||
this.pk_glorgbook = pk_glorgbook;
|
||||
}
|
||||
|
||||
public String getPk_prepared() {
|
||||
return pk_prepared;
|
||||
}
|
||||
|
||||
public void setPk_prepared(String pk_prepared) {
|
||||
this.pk_prepared = pk_prepared;
|
||||
}
|
||||
|
||||
public String getPk_vouchertype() {
|
||||
return pk_vouchertype;
|
||||
}
|
||||
|
||||
public void setPk_vouchertype(String pk_vouchertype) {
|
||||
this.pk_vouchertype = pk_vouchertype;
|
||||
}
|
||||
|
||||
public String getPk_voucher() {
|
||||
return pk_voucher;
|
||||
}
|
||||
|
||||
public void setPk_voucher(String pk_voucher) {
|
||||
this.pk_voucher = pk_voucher;
|
||||
}
|
||||
|
||||
public List<BipVoucherDetails> getDetail() {
|
||||
return detail;
|
||||
}
|
||||
|
||||
public void setDetail(List<BipVoucherDetails> detail) {
|
||||
this.detail = detail;
|
||||
}
|
||||
|
||||
public String getPeriod() {
|
||||
return period;
|
||||
}
|
||||
|
||||
public void setPeriod(String period) {
|
||||
this.period = period;
|
||||
}
|
||||
|
||||
public String getVouchertype() {
|
||||
return vouchertype;
|
||||
}
|
||||
|
||||
public void setVouchertype(String vouchertype) {
|
||||
this.vouchertype = vouchertype;
|
||||
}
|
||||
|
||||
public String getAttachment() {
|
||||
return attachment;
|
||||
}
|
||||
|
||||
public void setAttachment(String attachment) {
|
||||
this.attachment = attachment;
|
||||
}
|
||||
|
||||
public String getYear() {
|
||||
return year;
|
||||
}
|
||||
|
||||
public void setYear(String year) {
|
||||
this.year = year;
|
||||
}
|
||||
|
||||
public String getPrepared() {
|
||||
return prepared;
|
||||
}
|
||||
|
||||
public void setPrepared(String prepared) {
|
||||
this.prepared = prepared;
|
||||
}
|
||||
|
||||
public String getPrepareddate() {
|
||||
return prepareddate;
|
||||
}
|
||||
|
||||
public void setPrepareddate(String prepareddate) {
|
||||
this.prepareddate = prepareddate;
|
||||
}
|
||||
|
||||
public String getNum() {
|
||||
return num;
|
||||
}
|
||||
|
||||
public void setNum(String num) {
|
||||
this.num = num;
|
||||
}
|
||||
|
||||
public String getAccbookCode() {
|
||||
return accbookCode;
|
||||
}
|
||||
|
||||
public void setAccbookCode(String accbookCode) {
|
||||
this.accbookCode = accbookCode;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,186 @@
|
|||
package com.hzya.frame.bip.v3.v2207.entity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class BipVoucherDetails {
|
||||
private List<BipAss> ass;
|
||||
private List<BipCashflow> cashflow;
|
||||
private String creditamount;
|
||||
private String debitamount;
|
||||
private String explanation;
|
||||
private String localcreditamount;
|
||||
private String localdebitamount;
|
||||
private String pk_accsubj;
|
||||
private String pk_currtype;
|
||||
private String debitquantity;
|
||||
private String price;
|
||||
private String accountCode;
|
||||
private String amount;
|
||||
private String globalcreditamount;
|
||||
private String globaldebitamount;
|
||||
private String groupdebitamount;
|
||||
private String currtypeCode;
|
||||
private String busidate;
|
||||
private String groupcreditamount;
|
||||
private String detailindex;
|
||||
|
||||
public List<BipAss> getAss() {
|
||||
return ass;
|
||||
}
|
||||
|
||||
public void setAss(List<BipAss> ass) {
|
||||
this.ass = ass;
|
||||
}
|
||||
|
||||
public List<BipCashflow> getCashflow() {
|
||||
return cashflow;
|
||||
}
|
||||
|
||||
public void setCashflow(List<BipCashflow> cashflow) {
|
||||
this.cashflow = cashflow;
|
||||
}
|
||||
|
||||
public String getCreditamount() {
|
||||
return creditamount;
|
||||
}
|
||||
|
||||
public void setCreditamount(String creditamount) {
|
||||
this.creditamount = creditamount;
|
||||
}
|
||||
|
||||
public String getDebitamount() {
|
||||
return debitamount;
|
||||
}
|
||||
|
||||
public void setDebitamount(String debitamount) {
|
||||
this.debitamount = debitamount;
|
||||
}
|
||||
|
||||
public String getExplanation() {
|
||||
return explanation;
|
||||
}
|
||||
|
||||
public void setExplanation(String explanation) {
|
||||
this.explanation = explanation;
|
||||
}
|
||||
|
||||
public String getLocalcreditamount() {
|
||||
return localcreditamount;
|
||||
}
|
||||
|
||||
public void setLocalcreditamount(String localcreditamount) {
|
||||
this.localcreditamount = localcreditamount;
|
||||
}
|
||||
|
||||
public String getLocaldebitamount() {
|
||||
return localdebitamount;
|
||||
}
|
||||
|
||||
public void setLocaldebitamount(String localdebitamount) {
|
||||
this.localdebitamount = localdebitamount;
|
||||
}
|
||||
|
||||
public String getPk_accsubj() {
|
||||
return pk_accsubj;
|
||||
}
|
||||
|
||||
public void setPk_accsubj(String pk_accsubj) {
|
||||
this.pk_accsubj = pk_accsubj;
|
||||
}
|
||||
|
||||
public String getPk_currtype() {
|
||||
return pk_currtype;
|
||||
}
|
||||
|
||||
public void setPk_currtype(String pk_currtype) {
|
||||
this.pk_currtype = pk_currtype;
|
||||
}
|
||||
|
||||
public String getDebitquantity() {
|
||||
return debitquantity;
|
||||
}
|
||||
|
||||
public void setDebitquantity(String debitquantity) {
|
||||
this.debitquantity = debitquantity;
|
||||
}
|
||||
|
||||
public String getPrice() {
|
||||
return price;
|
||||
}
|
||||
|
||||
public void setPrice(String price) {
|
||||
this.price = price;
|
||||
}
|
||||
|
||||
public String getAccountCode() {
|
||||
return accountCode;
|
||||
}
|
||||
|
||||
public void setAccountCode(String accountCode) {
|
||||
this.accountCode = accountCode;
|
||||
}
|
||||
|
||||
public String getAmount() {
|
||||
return amount;
|
||||
}
|
||||
|
||||
public void setAmount(String amount) {
|
||||
this.amount = amount;
|
||||
}
|
||||
|
||||
public String getGlobalcreditamount() {
|
||||
return globalcreditamount;
|
||||
}
|
||||
|
||||
public void setGlobalcreditamount(String globalcreditamount) {
|
||||
this.globalcreditamount = globalcreditamount;
|
||||
}
|
||||
|
||||
public String getGlobaldebitamount() {
|
||||
return globaldebitamount;
|
||||
}
|
||||
|
||||
public void setGlobaldebitamount(String globaldebitamount) {
|
||||
this.globaldebitamount = globaldebitamount;
|
||||
}
|
||||
|
||||
public String getGroupdebitamount() {
|
||||
return groupdebitamount;
|
||||
}
|
||||
|
||||
public void setGroupdebitamount(String groupdebitamount) {
|
||||
this.groupdebitamount = groupdebitamount;
|
||||
}
|
||||
|
||||
public String getCurrtypeCode() {
|
||||
return currtypeCode;
|
||||
}
|
||||
|
||||
public void setCurrtypeCode(String currtypeCode) {
|
||||
this.currtypeCode = currtypeCode;
|
||||
}
|
||||
|
||||
public String getBusidate() {
|
||||
return busidate;
|
||||
}
|
||||
|
||||
public void setBusidate(String busidate) {
|
||||
this.busidate = busidate;
|
||||
}
|
||||
|
||||
public String getGroupcreditamount() {
|
||||
return groupcreditamount;
|
||||
}
|
||||
|
||||
public void setGroupcreditamount(String groupcreditamount) {
|
||||
this.groupcreditamount = groupcreditamount;
|
||||
}
|
||||
|
||||
public String getDetailindex() {
|
||||
return detailindex;
|
||||
}
|
||||
|
||||
public void setDetailindex(String detailindex) {
|
||||
this.detailindex = detailindex;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
package com.hzya.frame.bip.v3.v2207.service;
|
||||
|
||||
|
||||
import com.hzya.frame.basedao.service.IBaseService;
|
||||
import com.hzya.frame.bip.v3.v2207.entity.BipTokenVo;
|
||||
import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity;
|
||||
|
||||
public interface IBipPzService extends IBaseService<BipTokenVo,String>{
|
||||
|
||||
|
||||
SysExtensionApiEntity getPz(SysExtensionApiEntity entity);
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
package com.hzya.frame.bip.v3.v2207.service;
|
||||
|
||||
|
||||
import com.hzya.frame.basedao.service.IBaseService;
|
||||
import com.hzya.frame.bip.v3.v2207.entity.BipTokenVo;
|
||||
import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity;
|
||||
import com.hzya.frame.web.entity.JsonResultEntity;
|
||||
|
||||
import javax.servlet.ServletRequest;
|
||||
import javax.servlet.ServletResponse;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
public interface IBipSsoService extends IBaseService<BipTokenVo,String>{
|
||||
/**
|
||||
*
|
||||
* @content Bip单点统一认证接口
|
||||
* @author laborer
|
||||
* @date 2024/5/30 0030 13:45
|
||||
*
|
||||
*/
|
||||
|
||||
String erpSso(HttpServletRequest request, String ticket)throws Exception;
|
||||
/**
|
||||
*
|
||||
* @content 此方法获取sso动态加密,heade参数动态传入
|
||||
* @author laborer
|
||||
* @date 2024/5/27 0027 11:38
|
||||
*
|
||||
*/
|
||||
SysExtensionApiEntity ssoEncrypt(SysExtensionApiEntity entity);
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
package com.hzya.frame.bip.v3.v2207.service;
|
||||
|
||||
|
||||
import com.hzya.frame.basedao.service.IBaseService;
|
||||
import com.hzya.frame.bip.v3.v2207.entity.BipTokenVo;
|
||||
import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity;
|
||||
|
||||
public interface IBipV32207BillService extends IBaseService<BipTokenVo,String>{
|
||||
/**
|
||||
*
|
||||
* @content 此方法获取BIPtoken,heade参数动态传入
|
||||
* @author laborer
|
||||
* @date 2024/5/27 0027 11:38
|
||||
*
|
||||
*/
|
||||
|
||||
SysExtensionApiEntity getBipBill(SysExtensionApiEntity entity);
|
||||
SysExtensionApiEntity getBipBillYs(SysExtensionApiEntity entity);
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
package com.hzya.frame.bip.v3.v2207.service;
|
||||
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||
import com.hzya.frame.basedao.service.IBaseService;
|
||||
import com.hzya.frame.bip.v3.v2207.entity.BipSupplierEntity;
|
||||
import com.hzya.frame.web.entity.JsonResultEntity;
|
||||
|
||||
public interface IBipV32207Service extends IBaseService<BipSupplierEntity,String>{
|
||||
|
||||
/**
|
||||
* @param jsonObject
|
||||
* @return com.hzya.frame.web.entity.JsonResultEntity
|
||||
* @Description 获取token
|
||||
**/
|
||||
JsonResultEntity thirdInterfaceGetToken(JSONObject jsonObject);
|
||||
|
||||
|
||||
/**
|
||||
* @param jsonObject
|
||||
* @return com.hzya.frame.web.entity.JsonResultEntity
|
||||
* @Description 获取供应商
|
||||
**/
|
||||
@DS("oracle91")
|
||||
JsonResultEntity thirdInterfaceGetSupplier(JSONObject jsonObject);
|
||||
|
||||
|
||||
/**
|
||||
* @param jsonObject
|
||||
* @return com.hzya.frame.web.entity.JsonResultEntity
|
||||
* @Description 新增供应商
|
||||
**/
|
||||
JsonResultEntity thirdInterfaceSaveSupplier(JSONObject jsonObject);
|
||||
|
||||
/**
|
||||
* 供应商传递OA
|
||||
* @param jsonObject
|
||||
* @return
|
||||
*/
|
||||
JsonResultEntity thirdInterfaceSendOa(JSONObject jsonObject) throws Exception;
|
||||
|
||||
/**
|
||||
* 获取BIP组织数据
|
||||
* @param jsonObject
|
||||
* @return
|
||||
*/
|
||||
JsonResultEntity thirdInterfaceGetOrgs(JSONObject jsonObject);
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
package com.hzya.frame.bip.v3.v2207.service;
|
||||
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||
import com.hzya.frame.basedao.service.IBaseService;
|
||||
import com.hzya.frame.bip.v3.v2207.entity.BipSupplierEntity;
|
||||
import com.hzya.frame.bip.v3.v2207.entity.BipTokenVo;
|
||||
import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity;
|
||||
import com.hzya.frame.web.entity.JsonResultEntity;
|
||||
|
||||
public interface IBipV32207TokenService extends IBaseService<BipTokenVo,String>{
|
||||
/**
|
||||
*
|
||||
* @content 此方法获取BIPtoken,heade参数动态传入
|
||||
* @author laborer
|
||||
* @date 2024/5/27 0027 11:38
|
||||
*
|
||||
*/
|
||||
|
||||
SysExtensionApiEntity getBipToken(SysExtensionApiEntity entity);
|
||||
}
|
|
@ -0,0 +1,72 @@
|
|||
package com.hzya.frame.bip.v3.v2207.service.impl;
|
||||
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.hzya.frame.basedao.service.impl.BaseService;
|
||||
import com.hzya.frame.bip.v3.v2207.dao.IBipArchivesDao;
|
||||
import com.hzya.frame.bip.v3.v2207.entity.BipArchivesEntity;
|
||||
import com.hzya.frame.bip.v3.v2207.entity.BipAss;
|
||||
import com.hzya.frame.bip.v3.v2207.entity.BipTokenVo;
|
||||
import com.hzya.frame.bip.v3.v2207.entity.BipVoucher;
|
||||
import com.hzya.frame.bip.v3.v2207.entity.BipVoucherDetails;
|
||||
import com.hzya.frame.bip.v3.v2207.service.IBipPzService;
|
||||
import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity;
|
||||
import com.hzya.frame.web.entity.BaseResult;
|
||||
import jdk.nashorn.internal.ir.annotations.Reference;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@Service(value = "bipPzService")
|
||||
public class BipPzServiceImpl extends BaseService<BipTokenVo, String> implements IBipPzService {
|
||||
private final Logger logger = LoggerFactory.getLogger(this.getClass());
|
||||
|
||||
@Resource
|
||||
private IBipArchivesDao bipArchivesDao;
|
||||
/**
|
||||
* @param entity
|
||||
* @return com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity
|
||||
* @Author lvleigang
|
||||
* @Description 组装凭证数据
|
||||
* @Date 10:52 上午 2024/11/5
|
||||
**/
|
||||
@Override
|
||||
public SysExtensionApiEntity getPz(SysExtensionApiEntity entity) {
|
||||
String bodys = entity.getBodys();
|
||||
BipVoucher voucher = JSONObject.parseObject(bodys, BipVoucher.class);
|
||||
List<String> fzhs = Arrays.asList(new String[]{"1", "2", "6", "73", "D01", "jobass", "93", "96", "22"});
|
||||
if (voucher.getDetails() != null && voucher.getDetails().size() > 0) {
|
||||
for (int a = 0; a < voucher.getDetails().size(); a++) {
|
||||
BipVoucherDetails voucherDetails = voucher.getDetails().get(a);
|
||||
if (voucherDetails.getAss() != null && voucherDetails.getAss().size() > 0) {
|
||||
for (int b = 0; b < voucherDetails.getAss().size(); b++) {
|
||||
BipAss ass = voucherDetails.getAss().get(b);
|
||||
if (ass.getChecktypecode() != null && !"".equals(ass.getChecktypecode())) {
|
||||
//存在需要转换的
|
||||
if (fzhs.contains(ass.getChecktypecode())) {
|
||||
BipArchivesEntity archivesEntity = new BipArchivesEntity();
|
||||
archivesEntity.setArchivesType(ass.getChecktypecode());
|
||||
archivesEntity.setLeftCode(ass.getCheckvaluecode());
|
||||
archivesEntity.setLeftOrg(voucher.getPk_corp());
|
||||
|
||||
List<BipArchivesEntity> archivesEntities = bipArchivesDao.queryArchivesData(archivesEntity);
|
||||
if (archivesEntities != null && archivesEntities.size() > 0) {
|
||||
ass.setCheckvaluecode(archivesEntities.get(0).getRightCode());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
bodys = JSON.toJSONString(voucher);
|
||||
entity.setBodys(bodys);
|
||||
return entity;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,114 @@
|
|||
package com.hzya.frame.bip.v3.v2207.service.impl;
|
||||
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.http.HttpException;
|
||||
import cn.hutool.http.HttpRequest;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.hzya.frame.basedao.service.impl.BaseService;
|
||||
import com.hzya.frame.bip.v3.v2207.entity.BipTokenVo;
|
||||
import com.hzya.frame.bip.v3.v2207.service.IBipSsoService;
|
||||
import com.hzya.frame.iputil.IPUtil;
|
||||
import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity;
|
||||
import nccloud.security.impl.SignatureTookKit;
|
||||
import org.apache.commons.codec.binary.Base64;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
@Service(value = "BipSsoServiceImpl")
|
||||
public class BipSsoServiceImpl extends BaseService<BipTokenVo, String> implements IBipSsoService {
|
||||
private final Logger logger = LoggerFactory.getLogger(this.getClass());
|
||||
private final String BASEURL = "http://192.168.2.237:8099/seeyon/thirdpartyController.do?ticket=";
|
||||
private final String ESBURL = "http://127.0.0.1:9081/kangarooDataCenterV3/entranceController/externalCallInterface";
|
||||
/**
|
||||
*
|
||||
* @content Bip单点统一认证接口
|
||||
* @author laborer
|
||||
* @date 2024/5/30 0030 13:45
|
||||
*
|
||||
*/
|
||||
|
||||
@Override
|
||||
public String erpSso(HttpServletRequest request,String userCode)throws Exception {
|
||||
logger.info("当前IP地址为"+ JSON.toJSONString(IPUtil.getIpAddress(request)));
|
||||
String result = "";
|
||||
boolean flag = true;
|
||||
// logger.info("接收到致远OA认证参数的ticket:{}",ticket);
|
||||
//通过ticket获取OA用户信息
|
||||
// String userCode = HttpUtil.get(BASEURL+ticket);
|
||||
logger.info("获取到的OA用户信息:{}",userCode);
|
||||
String dsname = "ycjf";
|
||||
String client_id = "OAREST";//第三方系统id
|
||||
StringBuffer sb = new StringBuffer();
|
||||
if(StrUtil.isNotEmpty(userCode)){
|
||||
try {
|
||||
logger.info("开始加密");
|
||||
String security = genKey(userCode,userCode + (System.currentTimeMillis() + "").substring(0, 6));
|
||||
logger.info("加密结束:{}",security);
|
||||
sb.append("type=type_security&dsname="+dsname+"&usercode="+userCode+"&client_id="+client_id+"&security="+security);
|
||||
String baseUrl = "http://10.75.51.78:8899/service/genThirdPartyAccessToken?"+sb.toString();
|
||||
logger.info("请求BIPtokenbaseUrl:{}",baseUrl);
|
||||
result = HttpRequest.post(baseUrl)
|
||||
.header("Content-Type", "application/x-www-form-urlencoded")//头信息,多个头信息多次调用此方法即可
|
||||
.header("Content-Length", "10000")//头信息,多个头信息多次调用此方法即可
|
||||
.header("userid", "admin")//头信息,多个头信息多次调用此方法即可
|
||||
.body("{}")//表单内容
|
||||
.timeout(20000)//超时,毫秒
|
||||
.execute().body();
|
||||
logger.info("获取到的BIPtoken信息:{}",result);
|
||||
} catch (HttpException e) {
|
||||
flag=false;
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
if(flag){
|
||||
String indexUR = "http://10.75.51.78:8899/nccloud/resources/uap/rbac/thirdpartylogin/main/index.html?accesstoken="+result+"&redirect_uri=http://10.75.51.78:8899/nccloud/resources/workbench/public/common/main/index.html#";
|
||||
logger.info(indexUR);
|
||||
return indexUR;
|
||||
}else{
|
||||
return "http://10.75.51.78:8899/nccloud/resources/uap/rbac/login/main/index.html";
|
||||
}
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @content 此方法获取sso动态加密,heade参数动态传入
|
||||
* @author laborer
|
||||
* @date 2024/5/27 0027 11:38
|
||||
*
|
||||
*/
|
||||
|
||||
@Override
|
||||
public SysExtensionApiEntity ssoEncrypt(SysExtensionApiEntity entity) {
|
||||
try {
|
||||
Map<String, String> headers = entity.getHeaders();
|
||||
String userCode = headers.get("usercode");//用户编码
|
||||
String dsname = headers.get("dsname");//数据源
|
||||
String client_id = headers.get("client_id");//第三方系统id
|
||||
StringBuffer sb = new StringBuffer();
|
||||
String security = genKey(userCode,userCode + (System.currentTimeMillis() + "").substring(0, 6));
|
||||
StringBuffer querys = new StringBuffer();
|
||||
querys.append("type=type_security");
|
||||
querys.append("&dsname="+dsname);
|
||||
querys.append("&usercode="+userCode);
|
||||
querys.append("&client_id="+client_id);
|
||||
querys.append("&security="+security);
|
||||
entity.setQuerys(querys.toString());
|
||||
headers.put("Content-Type", "application/x-www-form-urlencoded");
|
||||
headers.put("userid", "admin");
|
||||
entity.setHeaders(headers);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return entity;
|
||||
}
|
||||
/**获取NCC的key*/
|
||||
private static String genKey(String userid, String key) throws Exception {
|
||||
return new Base64().encodeToString(SignatureTookKit.digestSign(userid.getBytes(), key.getBytes()));
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,134 @@
|
|||
package com.hzya.frame.bip.v3.v2207.service.impl;
|
||||
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.hzya.frame.basedao.service.impl.BaseService;
|
||||
import com.hzya.frame.bip.v3.v2207.dao.IBipArchivesDao;
|
||||
import com.hzya.frame.bip.v3.v2207.entity.BipArchivesEntity;
|
||||
import com.hzya.frame.bip.v3.v2207.entity.BipAss;
|
||||
import com.hzya.frame.bip.v3.v2207.entity.BipTokenVo;
|
||||
import com.hzya.frame.bip.v3.v2207.entity.BipVoucher;
|
||||
import com.hzya.frame.bip.v3.v2207.entity.BipVoucherDetails;
|
||||
import com.hzya.frame.bip.v3.v2207.service.IBipV32207BillService;
|
||||
import com.hzya.frame.bip.v3.v2207.service.IBipV32207TokenService;
|
||||
import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity;
|
||||
import com.hzya.frame.util.bipV3.Encryption;
|
||||
import com.hzya.frame.util.bipV3.SHA256Util;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.net.URLEncoder;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
@Service(value = "BipV32207BillServiceImpl")
|
||||
public class BipV32207BillServiceImpl extends BaseService<BipTokenVo, String> implements IBipV32207BillService {
|
||||
private final Logger logger = LoggerFactory.getLogger(this.getClass());
|
||||
@Resource
|
||||
private IBipArchivesDao bipArchivesDao;
|
||||
/**
|
||||
*
|
||||
* @content 此方法获取拼接单据动态加密,heade参数动态传入
|
||||
* @author laborer
|
||||
* @date 2024/5/27 0027 11:38
|
||||
*
|
||||
*/
|
||||
|
||||
@Override
|
||||
public SysExtensionApiEntity getBipBill(SysExtensionApiEntity entity) {
|
||||
try {
|
||||
Map<String, String> headers = entity.getHeaders();
|
||||
String client_id = headers.get("client_id");
|
||||
//token信息
|
||||
String access_token = headers.get("access_token");
|
||||
//公钥
|
||||
String pubKey = headers.get("pubKey");
|
||||
StringBuffer sb = new StringBuffer();
|
||||
sb.append(client_id);
|
||||
String parm = entity.getBodys();
|
||||
if (StringUtils.isNotBlank(parm)) {
|
||||
sb.append(parm);
|
||||
}
|
||||
sb.append(pubKey);
|
||||
// 签名
|
||||
String sign = SHA256Util.getSHA256(sb.toString(), pubKey);
|
||||
StringBuffer querys = new StringBuffer();
|
||||
querys.append("access_token="+access_token);
|
||||
querys.append("&signature="+sign);
|
||||
querys.append("&client_id="+client_id);
|
||||
entity.setQuerys(querys.toString());
|
||||
headers.put("signature",sign);
|
||||
// headers.put("content-type","application/x-www-form-urlencoded");
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return entity;
|
||||
}
|
||||
@Override
|
||||
public SysExtensionApiEntity getBipBillYs(SysExtensionApiEntity entity) {
|
||||
try {
|
||||
String bodys = entity.getBodys();
|
||||
BipVoucher voucher = JSONObject.parseObject(bodys, BipVoucher.class);
|
||||
List<String> fzhs = Arrays.asList(new String[]{"0012", "0006", "0004"});
|
||||
if (voucher.getDetail() != null && voucher.getDetail().size() > 0) {
|
||||
for (int a = 0; a < voucher.getDetail().size(); a++) {
|
||||
BipVoucherDetails voucherDetails = voucher.getDetail().get(a);
|
||||
if (voucherDetails.getAss() != null && voucherDetails.getAss().size() > 0) {
|
||||
for (int b = 0; b < voucherDetails.getAss().size(); b++) {
|
||||
BipAss ass = voucherDetails.getAss().get(b);
|
||||
if (ass.getChecktypecode() != null && !"".equals(ass.getChecktypecode())) {
|
||||
//存在需要转换的
|
||||
if (fzhs.contains(ass.getChecktypecode())) {
|
||||
BipArchivesEntity archivesEntity = new BipArchivesEntity();
|
||||
archivesEntity.setArchivesType(ass.getChecktypecode());
|
||||
archivesEntity.setLeftCode(ass.getCheckvaluecode());
|
||||
archivesEntity.setLeftOrg(voucher.getPk_corp());
|
||||
|
||||
List<BipArchivesEntity> archivesEntities = bipArchivesDao.queryArchivesDatays(archivesEntity);
|
||||
if (archivesEntities != null && archivesEntities.size() > 0) {
|
||||
ass.setCheckvaluecode(archivesEntities.get(0).getRightCode());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
bodys = JSON.toJSONString(voucher);
|
||||
entity.setBodys(bodys);
|
||||
|
||||
Map<String, String> headers = entity.getHeaders();
|
||||
String client_id = headers.get("client_id");
|
||||
//token信息
|
||||
String access_token = headers.get("access_token");
|
||||
//公钥
|
||||
String pubKey = headers.get("pubKey");
|
||||
StringBuffer sb = new StringBuffer();
|
||||
sb.append(client_id);
|
||||
String parm = entity.getBodys();
|
||||
if (StringUtils.isNotBlank(parm)) {
|
||||
sb.append(parm);
|
||||
}
|
||||
sb.append(pubKey);
|
||||
// 签名
|
||||
String sign = SHA256Util.getSHA256(sb.toString(), pubKey);
|
||||
StringBuffer querys = new StringBuffer();
|
||||
querys.append("access_token="+access_token);
|
||||
querys.append("&signature="+sign);
|
||||
querys.append("&client_id="+client_id);
|
||||
entity.setQuerys(querys.toString());
|
||||
headers.put("signature",sign);
|
||||
// headers.put("content-type","application/x-www-form-urlencoded");
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return entity;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,480 @@
|
|||
package com.hzya.frame.bip.v3.v2207.service.impl;
|
||||
|
||||
|
||||
import cn.hutool.http.HttpRequest;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||
import com.google.gson.Gson;
|
||||
import com.hzya.frame.base.PluginBaseEntity;
|
||||
import com.hzya.frame.basedao.service.impl.BaseService;
|
||||
import com.hzya.frame.bip.v3.v2207.dao.IBipOrgsDao;
|
||||
import com.hzya.frame.bip.v3.v2207.dao.IBipOrgsDetailsDao;
|
||||
import com.hzya.frame.bip.v3.v2207.dao.IBipSupplierDao;
|
||||
import com.hzya.frame.bip.v3.v2207.dao.IBipSupplierDetailsDao;
|
||||
import com.hzya.frame.bip.v3.v2207.entity.BipOrgsDetailsEntity;
|
||||
import com.hzya.frame.bip.v3.v2207.entity.BipOrgsEntity;
|
||||
import com.hzya.frame.bip.v3.v2207.entity.BipSupplierDetailsEntity;
|
||||
import com.hzya.frame.bip.v3.v2207.entity.BipSupplierEntity;
|
||||
import com.hzya.frame.bip.v3.v2207.service.IBipV32207Service;
|
||||
import com.hzya.frame.dateutil.DateUtil;
|
||||
import com.hzya.frame.util.PluginUtils;
|
||||
import com.hzya.frame.util.bipV3.Encryption;
|
||||
import com.hzya.frame.util.bipV3.SHA256Util;
|
||||
import com.hzya.frame.util.oldNcc.CompressUtil;
|
||||
import com.hzya.frame.util.oldNcc.Decryption;
|
||||
import com.hzya.frame.web.entity.BaseResult;
|
||||
import com.hzya.frame.web.entity.JsonResultEntity;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
|
||||
import java.net.URLEncoder;
|
||||
import java.util.*;
|
||||
|
||||
|
||||
@Service(value = "bipV32207Service")
|
||||
public class BipV32207ServiceImpl extends BaseService<BipSupplierEntity, String> implements IBipV32207Service {
|
||||
private final Logger logger = LoggerFactory.getLogger(this.getClass());
|
||||
//定义项目开始同步日期
|
||||
private String ts = "2023-09-30 15:47:08";
|
||||
//组织的同步日期
|
||||
private String orgsts = "2023-09-30 15:47:08";
|
||||
@Autowired
|
||||
private IBipSupplierDao bipSupplierDao;
|
||||
|
||||
@Autowired
|
||||
private IBipSupplierDetailsDao bipSupplierDetailsDao;
|
||||
|
||||
@Autowired
|
||||
private IBipOrgsDao bipOrgsDao;
|
||||
|
||||
@Autowired
|
||||
private IBipOrgsDetailsDao bipOrgsDetailsDao;
|
||||
|
||||
|
||||
/**
|
||||
* @param object
|
||||
* @return com.hzya.frame.web.entity.JsonResultEntity
|
||||
* @Description 获取token
|
||||
**/
|
||||
@Override
|
||||
public JsonResultEntity thirdInterfaceGetToken(JSONObject object) {
|
||||
JSONObject jsonObject = getstrObj("jsonStr", object);
|
||||
String client_id = jsonObject.getString("client_id");
|
||||
String pubKey = jsonObject.getString("pubKey");
|
||||
String client_secret = jsonObject.getString("client_secret");
|
||||
String username = jsonObject.getString("username");
|
||||
String pwd = jsonObject.getString("pwd");
|
||||
String busi_center = jsonObject.getString("busi_center");
|
||||
String dsname = jsonObject.getString("dsname");
|
||||
String baseUrl = jsonObject.getString("baseUrl");
|
||||
Map<String, String> paramMap = new HashMap<String, String>();
|
||||
// 密码模式认证
|
||||
paramMap.put("grant_type", "password");
|
||||
// 第三方应用id
|
||||
paramMap.put("client_id", client_id);
|
||||
// 第三方应用secret 公钥加密
|
||||
try {
|
||||
paramMap.put("client_secret", URLEncoder.encode(Encryption.pubEncrypt(pubKey, client_secret), "utf-8"));
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
// ncc用户名
|
||||
paramMap.put("username", username);
|
||||
// 密码 公钥加密
|
||||
try {
|
||||
paramMap.put("password", URLEncoder.encode(Encryption.pubEncrypt(pubKey, pwd), "utf-8"));
|
||||
} catch (Exception e) {
|
||||
return BaseResult.getFailureMessageEntity("获取token失败");
|
||||
}
|
||||
// 账套编码
|
||||
paramMap.put("biz_center", busi_center);
|
||||
// 签名
|
||||
String sign = SHA256Util.getSHA256(client_id + client_secret + username + pwd + pubKey, pubKey);
|
||||
paramMap.put("signature", sign);
|
||||
paramMap.put("dsname", dsname);
|
||||
String url = baseUrl + "/nccloud/opm/accesstoken";
|
||||
String mediaType = "application/x-www-form-urlencoded";
|
||||
String token = null;
|
||||
try {
|
||||
token = doPostHutool(url, paramMap, mediaType, null, "", "token");
|
||||
} catch (Exception e) {
|
||||
return BaseResult.getFailureMessageEntity("获取token失败");
|
||||
}
|
||||
if (JSONUtil.isTypeJSON(token)) {
|
||||
JSONObject jsonObject1 = JSONObject.parseObject(token);
|
||||
return BaseResult.getSuccessMessageEntity("获取token成功", jsonObject1);
|
||||
} else {
|
||||
return BaseResult.getSuccessMessageEntity("获取token成功", token);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送post请求
|
||||
*
|
||||
* @param baseUrl
|
||||
* @param paramMap
|
||||
* @param mediaType
|
||||
* @param headers
|
||||
* @param json
|
||||
* @return
|
||||
*/
|
||||
private String doPostHutool(String baseUrl, Map<String, String> paramMap, String mediaType, Map<String, String> headers, String json, String type) {
|
||||
String result = null;
|
||||
|
||||
try {
|
||||
StringBuffer sb = new StringBuffer();
|
||||
sb.append(baseUrl);
|
||||
if (paramMap != null) {
|
||||
sb.append("?");
|
||||
for (Map.Entry<String, String> entry : paramMap.entrySet()) {
|
||||
String key = entry.getKey();
|
||||
String value = entry.getValue();
|
||||
sb.append(key + "=" + value).append("&");
|
||||
}
|
||||
}
|
||||
if ("bill".equals(type)) {
|
||||
sb.append("?");
|
||||
for (Map.Entry<String, String> entry : headers.entrySet()) {
|
||||
String key = entry.getKey();
|
||||
String value = entry.getValue();
|
||||
sb.append(key + "=" + value).append("&");
|
||||
}
|
||||
}
|
||||
baseUrl = sb.toString().substring(0, sb.toString().length() - 1);
|
||||
HttpRequest re = HttpRequest.post(baseUrl);
|
||||
re.addHeaders(headers);
|
||||
result = re.body(json)
|
||||
.timeout(2000000)//超时,毫秒
|
||||
.execute().body();
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param key
|
||||
* @param object
|
||||
* @return com.alibaba.fastjson.JSONObject
|
||||
* @Author lvleigang
|
||||
* @Description 获取对象转换成jsonobj
|
||||
* @Date 11:51 下午 2023/7/10
|
||||
**/
|
||||
public JSONObject getstrObj(String key, JSONObject object) {
|
||||
if (checkStr(object.getString(key))) {
|
||||
return object.getJSONObject(key);
|
||||
}
|
||||
return new JSONObject();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param str
|
||||
* @return void
|
||||
* @Author lvleigang
|
||||
* @Description 校验字符串
|
||||
* @Date 11:41 上午 2022/12/7
|
||||
**/
|
||||
protected Boolean checkStr(String str) {
|
||||
Boolean flag = true;
|
||||
if (str == null || "".equals(str)) {
|
||||
flag = false;
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param jsonObject
|
||||
* @return com.hzya.frame.web.entity.JsonResultEntity
|
||||
* @Description 获取供应商
|
||||
**/
|
||||
@Override
|
||||
public JsonResultEntity thirdInterfaceGetSupplier(JSONObject jsonObject) {
|
||||
BipSupplierEntity bipSupplierEntity = getData("jsonStr", jsonObject, BipSupplierEntity.class);
|
||||
//设置查询区间
|
||||
bipSupplierEntity.setTs(ts);
|
||||
logger.info("查询供应商数据,当前TS:"+ts);
|
||||
List<BipSupplierEntity> bipSupplierEntities = bipSupplierDao.thirdInterfaceGetSupplier(bipSupplierEntity);
|
||||
//更新TS时间
|
||||
ts = DateUtil.dateToString(new Date(),"yyyy-MM-dd HH:mm:ss");
|
||||
logger.info("TS已更新:"+ts);
|
||||
//System.out.println("查询供应商明细");
|
||||
logger.info("查询供应商明细"+JSON.toJSONString(bipSupplierEntities));
|
||||
List<JSONObject> jsonObjectList=new ArrayList<>();
|
||||
//[{"code":"SL20231101727","dataSourceCode":"master","name":"无锡恒君安管理咨询有限公司","taxpayerid":"91320205MAD2HAQN6Q","tripartiteId":"0001A31000000002M3TS","ts":"2023-11-16 14:05:10"}]
|
||||
|
||||
List<BipSupplierDetailsEntity> bipSupplierDetails = null;
|
||||
for (BipSupplierEntity supplierEntity : bipSupplierEntities) {
|
||||
List<JSONObject> list=new ArrayList<>();
|
||||
JSONObject jsonObjectResult=new JSONObject();
|
||||
jsonObjectResult.put("code",supplierEntity.getCode());
|
||||
jsonObjectResult.put("name",supplierEntity.getName());
|
||||
jsonObjectResult.put("taxpayerid",supplierEntity.getTaxpayerid());
|
||||
jsonObjectResult.put("def1",supplierEntity.getDef1());
|
||||
jsonObjectResult.put("def2",supplierEntity.getDef2());
|
||||
jsonObjectResult.put("def3",supplierEntity.getDef3());
|
||||
jsonObjectResult.put("tripartiteId",supplierEntity.getTripartiteId());
|
||||
//根据供应商编码和名称查询明细
|
||||
String code = supplierEntity.getCode();
|
||||
String name = supplierEntity.getName();
|
||||
//System.out.println("根据供应处名称,编码获取明细数据:code:"+code +"name:"+name);
|
||||
logger.info("根据供应处名称,编码获取明细数据:code:"+code +"name:"+name);
|
||||
BipSupplierDetailsEntity bipSupplierDetailsEntity = new BipSupplierDetailsEntity();
|
||||
bipSupplierDetailsEntity.setCode(code);
|
||||
bipSupplierDetailsEntity.setName(name);
|
||||
logger.info("根据供应商编码,名称查询银行档案 {}",JSON.toJSONString(bipSupplierDetailsEntity));
|
||||
List<BipSupplierDetailsEntity> bipSupplierDetailsEntities = queryBipSupplierDetails(bipSupplierDetailsEntity) ;
|
||||
// /bipSupplierDetails.stream().filter(that-> code.equalsIgnoreCase(that.getCode() ) && name.equalsIgnoreCase(that.getName() ) ).collect(Collectors.toList());
|
||||
logger.info("根据供应处名称,编码获取明细数据 bipSupplierDetailsEntities值:{}",JSON.toJSONString(bipSupplierDetailsEntities));
|
||||
if (bipSupplierDetailsEntities.size()>0 && null!=bipSupplierDetailsEntities){
|
||||
bipSupplierDetailsEntities.get(0).setIsdefault("-8073674727882144390");
|
||||
for (BipSupplierDetailsEntity supplierDetailsEntity : bipSupplierDetailsEntities) {
|
||||
JSONObject jsonObjectDetails=new JSONObject();
|
||||
jsonObjectDetails.put("splitbank",supplierDetailsEntity.getSplitbank());
|
||||
jsonObjectDetails.put("bankaccno",supplierDetailsEntity.getBankaccno());
|
||||
jsonObjectDetails.put("combinno",supplierDetailsEntity.getCombinno());
|
||||
jsonObjectDetails.put("isdefault",supplierDetailsEntity.getIsdefault());
|
||||
list.add(jsonObjectDetails);
|
||||
}
|
||||
}
|
||||
jsonObjectResult.put("details",list);
|
||||
jsonObjectList.add(jsonObjectResult);
|
||||
}
|
||||
return BaseResult.getSuccessMessageEntity("查询成功",jsonObjectList);
|
||||
}
|
||||
@DS("oracle91")
|
||||
private List<BipSupplierDetailsEntity> queryBipSupplierDetails(BipSupplierDetailsEntity bipSupplierDetailsEntity){
|
||||
// BipSupplierDetailsEntity bipSupplierDetailsEntity=new BipSupplierDetailsEntity();
|
||||
// bipSupplierDetailsEntity.setCode(supplierEntity.getCode());
|
||||
// bipSupplierDetailsEntity.setName(supplierEntity.getName());
|
||||
|
||||
List<BipSupplierDetailsEntity> bipSupplierDetailsEntities = bipSupplierDetailsDao.thirdInterfaceGetSupplierDetails(bipSupplierDetailsEntity);
|
||||
return bipSupplierDetailsEntities;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取BIP组织数据
|
||||
* @param jsonObject
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public JsonResultEntity thirdInterfaceGetOrgs(JSONObject jsonObject) {
|
||||
BipOrgsEntity bipOrgsEntity = getData("jsonStr", jsonObject, BipOrgsEntity.class);
|
||||
//设置查询区间
|
||||
bipOrgsEntity.setOrgsts(orgsts);
|
||||
logger.info("查询组织数据,当前TS:" + orgsts);
|
||||
List<BipOrgsEntity> bipOrgsEntities = bipOrgsDao.thirdInterfaceGetOrgs(bipOrgsEntity);
|
||||
//更新TS时间
|
||||
orgsts = DateUtil.dateToString(new Date(), "yyyy-MM-dd HH:mm:ss");
|
||||
logger.info("组织TS已更新:" + orgsts);
|
||||
logger.info("查询组织明细" + JSON.toJSONString(bipOrgsEntities));
|
||||
List<JSONObject> jsonObjectList = new ArrayList<>();
|
||||
if (null != bipOrgsEntities && bipOrgsEntities.size() > 0) {
|
||||
for (BipOrgsEntity orgsEntity : bipOrgsEntities) {
|
||||
List<JSONObject> list = new ArrayList<>();
|
||||
JSONObject jsonObjectResult = new JSONObject();
|
||||
jsonObjectResult.put("code", orgsEntity.getCode());//单位编码
|
||||
jsonObjectResult.put("name", orgsEntity.getName());//单位名称
|
||||
jsonObjectResult.put("tripartiteId", orgsEntity.getTripartiteId());//BIPID
|
||||
//根据组织主键查询明细
|
||||
String tripartiteId = orgsEntity.getTripartiteId();
|
||||
//System.out.println("根据供应处名称,编码获取明细数据:code:"+code +"name:"+name);
|
||||
logger.info("根据组织主键获取明细数据:pk_financeorg:{}", tripartiteId);
|
||||
BipOrgsDetailsEntity bipOrgsDetailsEntity = new BipOrgsDetailsEntity();
|
||||
bipOrgsDetailsEntity.setControlorg(tripartiteId);
|
||||
List<BipOrgsDetailsEntity> bipOrgsDetailsEntities = queryBipOrgsDetails(bipOrgsDetailsEntity);
|
||||
if (bipOrgsDetailsEntities.size() > 0 && null != bipOrgsDetailsEntities) {
|
||||
for (BipOrgsDetailsEntity orgsDetailsEntity : bipOrgsDetailsEntities) {
|
||||
JSONObject jsonObjectDetails = new JSONObject();
|
||||
jsonObjectDetails.put("bankCode", orgsDetailsEntity.getBankCode());//开户行编码
|
||||
jsonObjectDetails.put("bankName", orgsDetailsEntity.getBankName());//开户行名称
|
||||
jsonObjectDetails.put("accnum", orgsDetailsEntity.getAccnum());//账户
|
||||
jsonObjectDetails.put("cnapsCode", orgsDetailsEntity.getCnapsCode());//联行号
|
||||
list.add(jsonObjectDetails);
|
||||
}
|
||||
}
|
||||
jsonObjectResult.put("details", list);
|
||||
jsonObjectList.add(jsonObjectResult);
|
||||
}
|
||||
}
|
||||
return BaseResult.getSuccessMessageEntity("查询成功", jsonObjectList);
|
||||
}
|
||||
private List<BipOrgsDetailsEntity> queryBipOrgsDetails(BipOrgsDetailsEntity bipOrgsDetailsEntity){
|
||||
List<BipOrgsDetailsEntity> bipOrgsDetailsEntities = bipOrgsDetailsDao.thirdInterfaceGetOrgsDetails(bipOrgsDetailsEntity);
|
||||
return bipOrgsDetailsEntities;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param object
|
||||
* @return com.hzya.frame.web.entity.JsonResultEntity
|
||||
* @Description 新增供应商
|
||||
**/
|
||||
@Override
|
||||
public JsonResultEntity thirdInterfaceSaveSupplier(JSONObject object) {
|
||||
JSONObject jsonObject = getstrObj("jsonStr", object);
|
||||
//认证access_token
|
||||
String access_token = jsonObject.getString("access_token");
|
||||
//认证security_key
|
||||
String security_key = jsonObject.getString("security_key");
|
||||
//服务器ip:port
|
||||
String baseUrl = jsonObject.getString("baseUrl");
|
||||
//api方法
|
||||
String apiUrl = jsonObject.getString("apiUrl");
|
||||
//发送的数据
|
||||
String sendData =jsonObject.getString("sendData");
|
||||
//对应于在第三方应用注册当中的app_id
|
||||
String client_id = jsonObject.getString("client_id");
|
||||
//公钥
|
||||
String pubKey = jsonObject.getString("pubKey");
|
||||
//接口调用业务标识
|
||||
String busi_id = jsonObject.getString("busi_id");
|
||||
//重复调用检查
|
||||
String repeat_check = jsonObject.getString("repeat_check");
|
||||
//返回值压缩加密级别
|
||||
String secret_level = jsonObject.getString("secret_level") == null ? "L0": jsonObject.getString("secret_level") ;
|
||||
try {
|
||||
String returnStr = sendApi(access_token, security_key, baseUrl,apiUrl,sendData,client_id,pubKey,busi_id,repeat_check,secret_level);
|
||||
if(JSONUtil.isTypeJSON(returnStr)){
|
||||
JSONObject jsonObject1 = JSONObject.parseObject(returnStr);
|
||||
return BaseResult.getSuccessMessageEntity("发送数据成功",jsonObject1);
|
||||
}else {
|
||||
return BaseResult.getSuccessMessageEntity("发送数据成功",returnStr);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
return BaseResult.getFailureMessageEntity("发送数据错误");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 供应商传递OA
|
||||
* @param jsonObject
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public JsonResultEntity thirdInterfaceSendOa(JSONObject jsonObject) throws Exception {
|
||||
JSONObject jsonObjectStr = getstrObj("jsonStr", jsonObject);
|
||||
PluginBaseEntity pluginBaseEntity = PluginUtils.getPluginsById(jsonObjectStr.getString("plug_id"));
|
||||
JsonResultEntity s = pluginBaseEntity.executeBusiness(jsonObjectStr);
|
||||
return BaseResult.getSuccessMessageEntity("传递成功");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param access_token 认证access_token
|
||||
* @param security_key 认证security_key
|
||||
* @param baseUrl 服务器ip:port
|
||||
* @param apiUrl api方法
|
||||
* @param putParameter 发送的数据
|
||||
* @param client_id 对应于在第三方应用注册当中的app_id
|
||||
* @param pubKey 公钥
|
||||
* @param busi_id 接口调用业务标识
|
||||
* @param repeat_check 重复调用检查
|
||||
* @param secret_level 返回值压缩加密级别
|
||||
* @return java.lang.String
|
||||
* @Author lvleigang
|
||||
* @Description 发起api接口
|
||||
* @Date 9:52 上午 2023/8/22
|
||||
**/
|
||||
private String sendApi(String access_token, String security_key, String baseUrl, String apiUrl, String putParameter, String client_id, String pubKey, String busi_id, String repeat_check, String secret_level) throws Exception{
|
||||
// header 参数
|
||||
Map<String, String> headermap = new HashMap<>();
|
||||
headermap.put("access_token", access_token);
|
||||
headermap.put("client_id", client_id);
|
||||
StringBuffer sb = new StringBuffer();
|
||||
sb.append(client_id);
|
||||
if (StringUtils.isNotBlank(putParameter)) {
|
||||
sb.append(putParameter);
|
||||
}
|
||||
sb.append(pubKey);
|
||||
String sign = SHA256Util.getSHA256(sb.toString(), pubKey);
|
||||
headermap.put("signature", sign);
|
||||
if (StringUtils.isNotBlank(busi_id)) {
|
||||
headermap.put("busi_id", busi_id);
|
||||
}
|
||||
if (StringUtils.isNotBlank(repeat_check)) {
|
||||
headermap.put("repeat_check", repeat_check);
|
||||
}
|
||||
String mediaType = "application/json;charset=utf-8";
|
||||
// 表体数据json
|
||||
// 根据安全级别选择加密或压缩请求表体参数
|
||||
String json = dealRequestBody(putParameter, security_key, secret_level);
|
||||
// 返回值
|
||||
String sendUrl = baseUrl + apiUrl;
|
||||
String result = doPostHutool(sendUrl, null, mediaType, headermap, json, "bill");
|
||||
String changeData = dealResponseBody(result, security_key, secret_level);
|
||||
return changeData;
|
||||
}
|
||||
|
||||
// 返回值进行过加密和压缩,对返回值进行解压和解密
|
||||
private static String dealResponseBody(String source, String security_key, String level) throws Exception {
|
||||
String result = null;
|
||||
if (StringUtils.isEmpty(level) || SecretConst.LEVEL0.equals(level)) {
|
||||
result = source;
|
||||
} else if (SecretConst.LEVEL1.equals(level)) {
|
||||
result = Decryption.symDecrypt(security_key, source);
|
||||
} else if (SecretConst.LEVEL2.equals(level)) {
|
||||
result = CompressUtil.gzipDecompress(source);
|
||||
} else if (SecretConst.LEVEL3.equals(level)) {
|
||||
result = CompressUtil.gzipDecompress(Decryption.symDecrypt(security_key, source));
|
||||
} else if (SecretConst.LEVEL4.equals(level)) {
|
||||
result = Decryption.symDecrypt(security_key, CompressUtil.gzipDecompress(source));
|
||||
} else {
|
||||
throw new Exception("无效的安全等级");
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
// 根据安全级别设置,表体是否加密或压缩
|
||||
private static String dealRequestBody(String source, String security_key, String level) throws Exception {
|
||||
String result = null;
|
||||
if (StringUtils.isEmpty(level) || SecretConst.LEVEL0.equals(level)) {
|
||||
result = source;
|
||||
} else if (SecretConst.LEVEL1.equals(level)) {
|
||||
result = Encryption.symEncrypt(security_key, source);
|
||||
} else if (SecretConst.LEVEL2.equals(level)) {
|
||||
result = CompressUtil.gzipCompress(source);
|
||||
} else if (SecretConst.LEVEL3.equals(level)) {
|
||||
result = Encryption.symEncrypt(security_key, CompressUtil.gzipCompress(source));
|
||||
} else if (SecretConst.LEVEL4.equals(level)) {
|
||||
result = CompressUtil.gzipCompress(Encryption.symEncrypt(security_key, source));
|
||||
} else {
|
||||
throw new Exception("无效的安全等级");
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
class SecretConst {
|
||||
/**
|
||||
* LEVEL0 不压缩、不加密
|
||||
*/
|
||||
public static final String LEVEL0 = "L0";
|
||||
/**
|
||||
* LEVEL1 只加密、不压缩
|
||||
*/
|
||||
public static final String LEVEL1 = "L1";
|
||||
/**
|
||||
* LEVEL2 只压缩、不加密
|
||||
*/
|
||||
public static final String LEVEL2 = "L2";
|
||||
/**
|
||||
* LEVEL3 先压缩、后加密
|
||||
*/
|
||||
public static final String LEVEL3 = "L3";
|
||||
/**
|
||||
* LEVEL4 先加密、后压缩
|
||||
*/
|
||||
public static final String LEVEL4 = "L4";
|
||||
}
|
||||
}
|
|
@ -0,0 +1,92 @@
|
|||
package com.hzya.frame.bip.v3.v2207.service.impl;
|
||||
|
||||
|
||||
import cn.hutool.http.HttpRequest;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||
import com.hzya.frame.base.PluginBaseEntity;
|
||||
import com.hzya.frame.basedao.service.impl.BaseService;
|
||||
import com.hzya.frame.bip.v3.v2207.dao.IBipOrgsDao;
|
||||
import com.hzya.frame.bip.v3.v2207.dao.IBipOrgsDetailsDao;
|
||||
import com.hzya.frame.bip.v3.v2207.dao.IBipSupplierDao;
|
||||
import com.hzya.frame.bip.v3.v2207.dao.IBipSupplierDetailsDao;
|
||||
import com.hzya.frame.bip.v3.v2207.entity.*;
|
||||
import com.hzya.frame.bip.v3.v2207.service.IBipV32207Service;
|
||||
import com.hzya.frame.bip.v3.v2207.service.IBipV32207TokenService;
|
||||
import com.hzya.frame.dateutil.DateUtil;
|
||||
import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity;
|
||||
import com.hzya.frame.util.PluginUtils;
|
||||
import com.hzya.frame.util.bipV3.Encryption;
|
||||
import com.hzya.frame.util.bipV3.SHA256Util;
|
||||
import com.hzya.frame.util.oldNcc.CompressUtil;
|
||||
import com.hzya.frame.util.oldNcc.Decryption;
|
||||
import com.hzya.frame.web.entity.BaseResult;
|
||||
import com.hzya.frame.web.entity.JsonResultEntity;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.net.URLEncoder;
|
||||
import java.util.*;
|
||||
|
||||
|
||||
@Service(value = "bipV32207TokenService")
|
||||
public class BipV32207TokenServiceImpl extends BaseService<BipTokenVo, String> implements IBipV32207TokenService {
|
||||
private final Logger logger = LoggerFactory.getLogger(this.getClass());
|
||||
/**
|
||||
*
|
||||
* @content 此方法获取BIPtoken,heade参数动态传入
|
||||
* @author laborer
|
||||
* @date 2024/5/27 0027 11:38
|
||||
*
|
||||
*/
|
||||
|
||||
@Override
|
||||
public SysExtensionApiEntity getBipToken(SysExtensionApiEntity entity) {
|
||||
try {
|
||||
Map<String, String> headers = entity.getHeaders();
|
||||
String client_id = headers.get("client_id");
|
||||
Map<String, String> paramMap = new HashMap<String, String>();
|
||||
// 密码模式认证
|
||||
paramMap.put("grant_type", "client_credentials");
|
||||
// 第三方应用id
|
||||
paramMap.put("client_id", client_id);
|
||||
// 第三方应用secret]
|
||||
String client_secret = headers.get("client_secret");
|
||||
// 账套编码
|
||||
String busi_center = headers.get("busi_center");
|
||||
//用户编码
|
||||
String usercode = headers.get("usercode");
|
||||
//数据库编码
|
||||
String dsname = headers.get("dsname");
|
||||
String pubKey = headers.get("pubKey");
|
||||
// 第三方应用secret 公钥加密]
|
||||
paramMap.put("client_secret", URLEncoder.encode(Encryption.pubEncrypt(pubKey, client_secret), "utf-8"));
|
||||
// 账套编码
|
||||
paramMap.put("biz_center", busi_center);
|
||||
// // TODO 传递数据源和ncc登录用户
|
||||
paramMap.put("dsname", dsname);
|
||||
paramMap.put("usercode", usercode);
|
||||
// 签名
|
||||
String sign = SHA256Util.getSHA256(client_id + client_secret + pubKey,pubKey);
|
||||
paramMap.put("signature", sign);
|
||||
StringBuffer querys = new StringBuffer();
|
||||
querys.append("biz_center="+busi_center);
|
||||
querys.append("&grant_type="+"client_credentials");
|
||||
querys.append("&signature="+sign);
|
||||
querys.append("&dsname="+dsname);
|
||||
querys.append("&client_secret="+URLEncoder.encode(Encryption.pubEncrypt(pubKey, client_secret), "utf-8"));
|
||||
querys.append("&usercode="+usercode);
|
||||
querys.append("&client_id="+client_id);
|
||||
entity.setQuerys(querys.toString());
|
||||
headers.put("content-type","application/x-www-form-urlencoded");
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return entity;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,65 @@
|
|||
package com.hzya.frame.bip.v3.v2207.util;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.http.HttpRequest;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
|
||||
/**
|
||||
* com.hzya.frame.bip.v3.v2207.util
|
||||
*
|
||||
* @author makejava
|
||||
* @date 2024-05 -30 14:20
|
||||
*/
|
||||
|
||||
public class BipUtil {
|
||||
/**
|
||||
*
|
||||
* @content 发送单据到BIP系统
|
||||
* @author laborer
|
||||
* @date 2024/6/21 0021 10:51
|
||||
*
|
||||
*/
|
||||
|
||||
public static String sendU9cTOBipEsb(String parm, String apiCode,String token){
|
||||
String baseUrl = "http://127.0.0.1:9999/kangarooDataCenterV3/entranceController/externalCallInterface";
|
||||
System.out.println("推送参数"+parm);
|
||||
String result = HttpRequest.post(baseUrl)
|
||||
.header("appId", "800023")//头信息,多个头信息多次调用此方法即可
|
||||
.header("access_token", token)//头信息,多个头信息多次调用此方法即可
|
||||
.header("apiCode", apiCode)//头信息,多个头信息多次调用此方法即可
|
||||
.header("publicKey", "ZJYA1vBeY1ai53iNmbAEsw6DImjkXGBkdMailxcBdliFC85Ce7eDIk+3zDUT+v578prj")//头信息,多个头信息多次调用此方法即可
|
||||
.header("secretKey", "7Gp6OjHrIaQ6R3tXGPrI4morjQyWL+qu4JJschQnkBRtv26VDgGFVYKOy5kMZfd/j3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=")//头信息,多个头信息多次调用此方法即可
|
||||
.body(parm)//表单内容
|
||||
.timeout(20000)//超时,毫秒
|
||||
.execute().body();
|
||||
System.out.println("返回参数"+result);
|
||||
if(StrUtil.isNotEmpty(result)){
|
||||
return analytic(result);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
public static String getBipToken(String userCode, String apiCode){
|
||||
String baseUrl = "http://127.0.0.1:9999/kangarooDataCenterV3/entranceController/externalCallInterface";
|
||||
String result = HttpRequest.post(baseUrl)
|
||||
.header("appId", "800023")//头信息,多个头信息多次调用此方法即可
|
||||
.header("apiCode", apiCode)//头信息,多个头信息多次调用此方法即可
|
||||
.header("usercode", userCode)//头信息,多个头信息多次调用此方法即可
|
||||
.header("publicKey", "ZJYA1vBeY1ai53iNmbAEsw6DImjkXGBkdMailxcBdliFC85Ce7eDIk+3zDUT+v578prj")//头信息,多个头信息多次调用此方法即可
|
||||
.header("secretKey", "7Gp6OjHrIaQ6R3tXGPrI4morjQyWL+qu4JJschQnkBRtv26VDgGFVYKOy5kMZfd/j3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=")//头信息,多个头信息多次调用此方法即可
|
||||
.body("")//表单内容
|
||||
.timeout(20000)//超时,毫秒
|
||||
.execute().body();
|
||||
System.out.println("返回参数"+result);
|
||||
if(StrUtil.isNotEmpty(result)){
|
||||
JSONObject obj = JSON.parseObject( analytic(result));
|
||||
JSONObject data = obj.getJSONObject("data");
|
||||
return data.getString("access_token");
|
||||
}
|
||||
return null;
|
||||
}
|
||||
public static String analytic(String parm){
|
||||
JSONObject main = JSON.parseObject(parm);
|
||||
return main.getString("attribute");
|
||||
}
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
|
||||
version="4.0">
|
||||
</web-app>
|
29
pom.xml
29
pom.xml
|
@ -8,16 +8,16 @@
|
|||
<module>base-webapp</module>
|
||||
<module>base-core</module>
|
||||
<module>fw-bip</module>
|
||||
<module>fw-cbs</module>
|
||||
<module>fw-dd</module>
|
||||
<module>fw-grpU8</module>
|
||||
<module>fw-nc</module>
|
||||
<module>fw-ncc</module>
|
||||
<module>fw-ningbobank</module>
|
||||
<module>fw-oa</module>
|
||||
<module>fw-u8</module>
|
||||
<module>fw-u8c</module>
|
||||
<module>fw-u9c</module>
|
||||
<!-- <module>fw-cbs</module>-->
|
||||
<!-- <module>fw-dd</module>-->
|
||||
<!-- <module>fw-grpU8</module>-->
|
||||
<!-- <module>fw-nc</module>-->
|
||||
<!-- <module>fw-ncc</module>-->
|
||||
<!-- <module>fw-ningbobank</module>-->
|
||||
<!-- <module>fw-oa</module>-->
|
||||
<!-- <module>fw-u8</module>-->
|
||||
<!-- <module>fw-u8c</module>-->
|
||||
<!-- <module>fw-u9c</module>-->
|
||||
</modules>
|
||||
<groupId>com.hzya.frame</groupId>
|
||||
<artifactId>kangarooDataCenterV3</artifactId>
|
||||
|
@ -473,15 +473,6 @@
|
|||
<include>**/*.jar</include>
|
||||
</includes>
|
||||
</resource>
|
||||
<resource>
|
||||
<directory>${basedir}/../fw-ningbobank/src/main/webapp/WEB-INF/lib</directory>
|
||||
<targetPath>WEB-INF/lib/</targetPath>
|
||||
<filtering>false</filtering>
|
||||
<includes>
|
||||
<!-- 匹配所有jar包 -->
|
||||
<include>**/*.jar</include>
|
||||
</includes>
|
||||
</resource>
|
||||
</webResources>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
|
Loading…
Reference in New Issue