parent
1047ca6f60
commit
84c3396b51
@ -1,47 +0,0 @@ |
|||||||
package com.sinosoft.bfs.config; |
|
||||||
|
|
||||||
import com.zaxxer.hikari.HikariDataSource; |
|
||||||
import org.springframework.beans.factory.annotation.Value; |
|
||||||
import org.springframework.context.annotation.Bean; |
|
||||||
import javax.sql.DataSource; |
|
||||||
|
|
||||||
import org.springframework.context.annotation.Configuration; |
|
||||||
@Configuration |
|
||||||
public class EbsDataSourceConfig { |
|
||||||
/* @Value("${ebs.datasource.url}") |
|
||||||
private String url; |
|
||||||
|
|
||||||
@Value("${ebs.datasource.username}") |
|
||||||
private String username; |
|
||||||
|
|
||||||
@Value("${ebs.datasource.password}") |
|
||||||
private String password; |
|
||||||
|
|
||||||
@Value("${ebs.datasource.driver-class-name:oracle.jdbc.OracleDriver}") |
|
||||||
private String driverClassName; |
|
||||||
|
|
||||||
@Value("${ebs.datasource.maximum-pool-size:10}") |
|
||||||
private int maximumPoolSize; |
|
||||||
|
|
||||||
@Value("${ebs.datasource.minimum-idle:5}") |
|
||||||
private int minimumIdle; |
|
||||||
|
|
||||||
@Bean(name = "ebsDataSource") |
|
||||||
public DataSource ebsDataSource() { |
|
||||||
HikariDataSource dataSource = new HikariDataSource(); |
|
||||||
dataSource.setJdbcUrl(url); |
|
||||||
dataSource.setUsername(username); |
|
||||||
dataSource.setPassword(password); |
|
||||||
dataSource.setDriverClassName(driverClassName); |
|
||||||
dataSource.setMaximumPoolSize(maximumPoolSize); |
|
||||||
dataSource.setMinimumIdle(minimumIdle); |
|
||||||
dataSource.setConnectionTimeout(30000); |
|
||||||
dataSource.setIdleTimeout(600000); |
|
||||||
dataSource.setMaxLifetime(1800000); |
|
||||||
dataSource.addDataSourceProperty("cachePrepStmts", "true"); |
|
||||||
dataSource.addDataSourceProperty("prepStmtCacheSize", "250"); |
|
||||||
dataSource.addDataSourceProperty("prepStmtCacheSqlLimit", "2048"); |
|
||||||
return dataSource; |
|
||||||
} |
|
||||||
*/ |
|
||||||
} |
|
||||||
@ -1,52 +0,0 @@ |
|||||||
package com.sinosoft.bfs.core.datatrans; |
|
||||||
|
|
||||||
|
|
||||||
import com.sinosoft.bfs.core.constant.BFSConstants; |
|
||||||
import com.sinosoft.bfs.domain.vo.FiCerdataGatherVo; |
|
||||||
import com.sinosoft.bfs.service.IEbsVoucherPushService; |
|
||||||
import com.sinosoft.bfs.service.IFiCerdataGatherService; |
|
||||||
import com.sinosoft.common.core.exception.ServiceException; |
|
||||||
import groovy.util.logging.Slf4j; |
|
||||||
import org.springframework.beans.factory.annotation.Autowired; |
|
||||||
import org.springframework.cloud.context.config.annotation.RefreshScope; |
|
||||||
import org.springframework.stereotype.Service; |
|
||||||
import java.util.List; |
|
||||||
|
|
||||||
import static cn.dev33.satoken.SaManager.log; |
|
||||||
|
|
||||||
@Service |
|
||||||
@Slf4j |
|
||||||
@RefreshScope |
|
||||||
public class GatherToEbs { |
|
||||||
@Autowired |
|
||||||
private IFiCerdataGatherService gatherService; |
|
||||||
|
|
||||||
@Autowired |
|
||||||
private IEbsVoucherPushService iEbsVoucherPushService; |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void sendToEbs(List<FiCerdataGatherVo> value) { |
|
||||||
try { |
|
||||||
log.info("开始推送凭证到EBS,共{}条数据", value.size()); |
|
||||||
iEbsVoucherPushService.pushVouchersToEbs(value); |
|
||||||
value.forEach(vo -> { |
|
||||||
vo.setStatus(BFSConstants.STATUS_SUCCESS); |
|
||||||
vo.setReturnType("S"); |
|
||||||
vo.setReturnMsg("成功推送到EBS"); |
|
||||||
}); |
|
||||||
gatherService.updateBatch(value); |
|
||||||
log.info("成功推送{}条凭证到EBS", value.size()); |
|
||||||
} catch (Exception e) { |
|
||||||
log.error("推送凭证到EBS失败", e); |
|
||||||
value.forEach(vo -> { |
|
||||||
vo.setStatus(BFSConstants.STATUS_FAILED); |
|
||||||
vo.setReturnMsg("推送EBS失败:" + e.getMessage()); |
|
||||||
}); |
|
||||||
gatherService.updateBatch(value); |
|
||||||
throw new ServiceException("推送凭证到EBS失败:" + e.getMessage()); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
||||||
@ -1,83 +0,0 @@ |
|||||||
package com.sinosoft.bfs.domain; |
|
||||||
|
|
||||||
import lombok.Data; |
|
||||||
import lombok.Getter; |
|
||||||
import lombok.Setter; |
|
||||||
|
|
||||||
import java.math.BigDecimal; |
|
||||||
import java.util.Date; |
|
||||||
@Setter |
|
||||||
@Getter |
|
||||||
public class EbsGlInterface { |
|
||||||
private Long interfaceId; |
|
||||||
private String status; |
|
||||||
private String ledgerFlag; |
|
||||||
private Date accountingDate; |
|
||||||
private String currencyCode; |
|
||||||
private Date dateCreated; |
|
||||||
private String actualFlag; |
|
||||||
private String sourceBatchId; |
|
||||||
private Long sourceLineId; |
|
||||||
private String userJeCategoryName; |
|
||||||
private String userJeSourceName; |
|
||||||
private Date currencyConversionDate; |
|
||||||
private String userCurrencyConversionType; |
|
||||||
private BigDecimal currencyConversionRate; |
|
||||||
private String importFlag; |
|
||||||
private Date importDate; |
|
||||||
private String errorMessage; |
|
||||||
private Date lastUpdateDate; |
|
||||||
private String docSeqNum; |
|
||||||
private String createdBy; |
|
||||||
private String lastUpdateBy; |
|
||||||
private String segment1; |
|
||||||
private String segment2; |
|
||||||
private String segment3; |
|
||||||
private String segment4; |
|
||||||
private String segment5; |
|
||||||
private String segment6; |
|
||||||
private String segment7; |
|
||||||
private String segment8; |
|
||||||
private String segment9; |
|
||||||
private String segment10; |
|
||||||
private String segment11; |
|
||||||
private BigDecimal enteredDr; |
|
||||||
private BigDecimal enteredCr; |
|
||||||
private BigDecimal accountedDr; |
|
||||||
private BigDecimal accountedCr; |
|
||||||
private Long docSequenceValue; |
|
||||||
private String reference1; |
|
||||||
private String reference2; |
|
||||||
private String reference3; |
|
||||||
private String reference4; |
|
||||||
private String reference5; |
|
||||||
private String reference10; |
|
||||||
private Long jeBatchId; |
|
||||||
private String periodName; |
|
||||||
private Long jeHeaderId; |
|
||||||
private Long jeLineNum; |
|
||||||
private Long chartOfAccountsId; |
|
||||||
private String functionalCurrencyCode; |
|
||||||
private String warningCode; |
|
||||||
private BigDecimal statAmount; |
|
||||||
private Long groupId; |
|
||||||
private Long requestId; |
|
||||||
private Long setOfBooksId; |
|
||||||
private String attributeCategory; |
|
||||||
private String attribute1; |
|
||||||
private String attribute2; |
|
||||||
private String attribute3; |
|
||||||
private String attribute4; |
|
||||||
private String attribute5; |
|
||||||
private String attribute6; |
|
||||||
private String attribute7; |
|
||||||
private String attribute8; |
|
||||||
private String attribute9; |
|
||||||
private String attribute10; |
|
||||||
private String attribute11; |
|
||||||
private String attribute12; |
|
||||||
private String attribute13; |
|
||||||
private String attribute14; |
|
||||||
private String attribute15; |
|
||||||
|
|
||||||
} |
|
||||||
@ -1,9 +0,0 @@ |
|||||||
package com.sinosoft.bfs.service; |
|
||||||
import com.sinosoft.bfs.domain.vo.FiCerdataGatherVo; |
|
||||||
|
|
||||||
import java.util.List; |
|
||||||
public interface IEbsVoucherPushService { |
|
||||||
void pushVouchersToEbs(List<FiCerdataGatherVo> voucherList); |
|
||||||
|
|
||||||
void pushVouchersToEbsByBatchNo(List<FiCerdataGatherVo> voucherList); |
|
||||||
} |
|
||||||
@ -1,332 +0,0 @@ |
|||||||
package com.sinosoft.bfs.service.impl; |
|
||||||
import com.sinosoft.bfs.domain.EbsGlInterface; |
|
||||||
import com.sinosoft.bfs.domain.vo.FiCerdataGatherVo; |
|
||||||
import com.sinosoft.bfs.service.IEbsVoucherPushService; |
|
||||||
import org.springframework.beans.factory.annotation.Value; |
|
||||||
import org.springframework.stereotype.Service; |
|
||||||
import org.springframework.transaction.annotation.Transactional; |
|
||||||
import java.math.BigDecimal; |
|
||||||
import java.sql.*; |
|
||||||
import java.time.LocalDate; |
|
||||||
import java.time.format.DateTimeFormatter; |
|
||||||
import java.util.Date; |
|
||||||
import java.util.List; |
|
||||||
import java.util.concurrent.atomic.AtomicLong; |
|
||||||
|
|
||||||
import static cn.dev33.satoken.SaManager.log; |
|
||||||
@Service |
|
||||||
public class EbsVoucherPushServiceImpl implements IEbsVoucherPushService{ |
|
||||||
// private final DataSource ebsDataSource;
|
|
||||||
|
|
||||||
@Value("${ebs.sequence.interface_id:CUX_GL_INTERFACE_GRP_S}") |
|
||||||
private String interfaceIdSequence; |
|
||||||
|
|
||||||
@Value("${ebs.default.ledger_flag:old}") |
|
||||||
private String defaultLedgerFlag; |
|
||||||
|
|
||||||
@Value("${ebs.default.actual_flag:A}") |
|
||||||
private String defaultActualFlag; |
|
||||||
|
|
||||||
@Value("${ebs.default.currency_code:CNY}") |
|
||||||
private String defaultCurrencyCode; |
|
||||||
|
|
||||||
@Value("${ebs.default.user_je_category_name:General}") |
|
||||||
private String defaultJeCategoryName; |
|
||||||
|
|
||||||
@Value("${ebs.default.user_je_source_name:BFS}") |
|
||||||
private String defaultJeSourceName; |
|
||||||
|
|
||||||
@Value("${ebs.default.currency_conversion_type:USER}") |
|
||||||
private String defaultCurrencyConversionType; |
|
||||||
|
|
||||||
@Value("${ebs.default.import_flag:N}") |
|
||||||
private String defaultImportFlag; |
|
||||||
|
|
||||||
@Value("${ebs.default.created_by:BFS_SYSTEM}") |
|
||||||
private String defaultCreatedBy; |
|
||||||
|
|
||||||
@Value("${ebs.chart_of_accounts_id:101}") |
|
||||||
private Long defaultChartOfAccountsId; |
|
||||||
|
|
||||||
@Value("${ebs.set_of_books_id:1}") |
|
||||||
private Long defaultSetOfBooksId; |
|
||||||
|
|
||||||
private static final AtomicLong sequenceGenerator = new AtomicLong(0); |
|
||||||
|
|
||||||
/* public EbsVoucherPushServiceImpl(@Qualifier("ebsDataSource") DataSource ebsDataSource) { |
|
||||||
this.ebsDataSource = ebsDataSource; |
|
||||||
}*/ |
|
||||||
|
|
||||||
@Override |
|
||||||
@Transactional(rollbackFor = Exception.class) |
|
||||||
public void pushVouchersToEbs(List<FiCerdataGatherVo> voucherList) { |
|
||||||
if (voucherList == null || voucherList.isEmpty()) { |
|
||||||
log.warn("凭证列表为空,无需推送"); |
|
||||||
return; |
|
||||||
} |
|
||||||
|
|
||||||
log.info("开始推送凭证到EBS,共{}条数据", voucherList.size()); |
|
||||||
|
|
||||||
String sql = buildInsertSql(); |
|
||||||
|
|
||||||
/*try (Connection conn = ebsDataSource.getConnection(); |
|
||||||
PreparedStatement pstmt = conn.prepareStatement(sql)) { |
|
||||||
|
|
||||||
conn.setAutoCommit(false); |
|
||||||
|
|
||||||
int batchCount = 0; |
|
||||||
for (FiCerdataGatherVo voucher : voucherList) { |
|
||||||
try { |
|
||||||
EbsGlInterface ebsData = convertToEbsInterface(voucher); |
|
||||||
setParameters(pstmt, ebsData); |
|
||||||
pstmt.addBatch(); |
|
||||||
batchCount++; |
|
||||||
|
|
||||||
if (batchCount % 100 == 0) { |
|
||||||
pstmt.executeBatch(); |
|
||||||
log.info("已批量插入{}条凭证数据", batchCount); |
|
||||||
} |
|
||||||
} catch (Exception e) { |
|
||||||
log.error("转换凭证数据失败,voucherId:{}", voucher.getId(), e); |
|
||||||
throw new RuntimeException("转换凭证数据失败", e); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
if (batchCount % 100 != 0) { |
|
||||||
pstmt.executeBatch(); |
|
||||||
} |
|
||||||
|
|
||||||
conn.commit(); |
|
||||||
log.info("成功推送{}条凭证到EBS", voucherList.size()); |
|
||||||
|
|
||||||
} catch (SQLException e) { |
|
||||||
log.error("推送凭证到EBS失败", e); |
|
||||||
throw new RuntimeException("推送凭证到EBS失败", e); |
|
||||||
}*/ |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public void pushVouchersToEbsByBatchNo(List<FiCerdataGatherVo> voucherList) { |
|
||||||
pushVouchersToEbs(voucherList); |
|
||||||
} |
|
||||||
|
|
||||||
private String buildInsertSql() { |
|
||||||
return "INSERT INTO CUX.CUX_GL_INTERFACE_GRP (" + |
|
||||||
"INTERFACE_ID, STATUS, LEDGER_FLAG, ACCOUNTING_DATE, CURRENCY_CODE, " + |
|
||||||
"DATE_CREATED, ACTUAL_FLAG, SOURCE_BATCH_ID, SOURCE_LINE_ID, " + |
|
||||||
"USER_JE_CATEGORY_NAME, USER_JE_SOURCE_NAME, CURRENCY_CONVERSION_DATE, " + |
|
||||||
"USER_CURRENCY_CONVERSION_TYPE, CURRENCY_CONVERSION_RATE, IMPORT_FLAG, " + |
|
||||||
"IMPORT_DATE, ERROR_MESSAGE, LAST_UPDATE_DATE, DOC_SEQ_NUM, CREATED_BY, " + |
|
||||||
"LAST_UPDATE_BY, SEGMENT1, SEGMENT2, SEGMENT3, SEGMENT4, SEGMENT5, " + |
|
||||||
"SEGMENT6, SEGMENT7, SEGMENT8, SEGMENT9, SEGMENT10, SEGMENT11, " + |
|
||||||
"ENTERED_DR, ENTERED_CR, ACCOUNTED_DR, ACCOUNTED_CR, DOC_SEQUENCE_VALUE, " + |
|
||||||
"REFERENCE1, REFERENCE2, REFERENCE3, REFERENCE4, REFERENCE5, REFERENCE10, " + |
|
||||||
"JE_BATCH_ID, PERIOD_NAME, JE_HEADER_ID, JE_LINE_NUM, CHART_OF_ACCOUNTS_ID, " + |
|
||||||
"FUNCTIONAL_CURRENCY_CODE, WARNING_CODE, STAT_AMOUNT, GROUP_ID, REQUEST_ID, " + |
|
||||||
"SET_OF_BOOKS_ID, ATTRIBUTE_CATEGORY, ATTRIBUTE1, ATTRIBUTE2, ATTRIBUTE3, " + |
|
||||||
"ATTRIBUTE4, ATTRIBUTE5, ATTRIBUTE6, ATTRIBUTE7, ATTRIBUTE8, ATTRIBUTE9, " + |
|
||||||
"ATTRIBUTE10, ATTRIBUTE11, ATTRIBUTE12, ATTRIBUTE13, ATTRIBUTE14, ATTRIBUTE15" + |
|
||||||
") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, " + |
|
||||||
"?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, " + |
|
||||||
"?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; |
|
||||||
} |
|
||||||
|
|
||||||
private EbsGlInterface convertToEbsInterface(FiCerdataGatherVo voucher) { |
|
||||||
EbsGlInterface ebs = new EbsGlInterface(); |
|
||||||
|
|
||||||
long interfaceId = generateInterfaceId(); |
|
||||||
ebs.setInterfaceId(interfaceId); |
|
||||||
ebs.setStatus("NEW"); |
|
||||||
ebs.setLedgerFlag(defaultLedgerFlag); |
|
||||||
ebs.setAccountingDate(voucher.getAccountDate()); |
|
||||||
ebs.setCurrencyCode(defaultCurrencyCode); |
|
||||||
ebs.setDateCreated(new Date()); |
|
||||||
ebs.setActualFlag(defaultActualFlag); |
|
||||||
|
|
||||||
String sourceBatchId = generateSourceBatchId(voucher); |
|
||||||
ebs.setSourceBatchId(sourceBatchId); |
|
||||||
ebs.setSourceLineId(interfaceId); |
|
||||||
// 凭证类别名称
|
|
||||||
ebs.setUserJeCategoryName(voucher.getCertificateId()); |
|
||||||
// 凭证来源名称
|
|
||||||
ebs.setUserJeSourceName(defaultJeSourceName); |
|
||||||
ebs.setCurrencyConversionDate(voucher.getAccountDate()); |
|
||||||
ebs.setUserCurrencyConversionType(defaultCurrencyConversionType); |
|
||||||
ebs.setCurrencyConversionRate(BigDecimal.ONE); |
|
||||||
ebs.setImportFlag(defaultImportFlag); |
|
||||||
ebs.setImportDate(null); |
|
||||||
ebs.setErrorMessage(null); |
|
||||||
ebs.setLastUpdateDate(new Date()); |
|
||||||
ebs.setDocSeqNum(String.valueOf(interfaceId)); |
|
||||||
ebs.setCreatedBy(null); |
|
||||||
ebs.setLastUpdateBy(null); |
|
||||||
|
|
||||||
setSegments(ebs, voucher); |
|
||||||
|
|
||||||
if (isDebit(voucher)) { |
|
||||||
ebs.setEnteredDr(voucher.getAmount()); |
|
||||||
ebs.setEnteredCr(BigDecimal.ZERO); |
|
||||||
ebs.setAccountedDr(voucher.getAmount()); |
|
||||||
ebs.setAccountedCr(BigDecimal.ZERO); |
|
||||||
} else { |
|
||||||
ebs.setEnteredDr(BigDecimal.ZERO); |
|
||||||
ebs.setEnteredCr(voucher.getAmount()); |
|
||||||
ebs.setAccountedDr(BigDecimal.ZERO); |
|
||||||
ebs.setAccountedCr(voucher.getAmount()); |
|
||||||
} |
|
||||||
|
|
||||||
ebs.setDocSequenceValue(interfaceId); |
|
||||||
//待定,凭证批名规则后续与财务沟通确定
|
|
||||||
//ebs.setReference1(voucher.getBatchNo());
|
|
||||||
//可为空,批描述后续与财务沟通确定
|
|
||||||
// ebs.setReference2(voucher.getCertificateId() + "-" + voucher.getCertificateName());
|
|
||||||
ebs.setReference3(voucher.getManageCom()); |
|
||||||
ebs.setReference4(voucher.getCostCenter()); |
|
||||||
ebs.setReference5(voucher.getFinItemCode()); |
|
||||||
//凭证行摘要,具体摘要需要何信息待财务确定
|
|
||||||
// ebs.setReference10(voucher.getBusinessDataId() != null ? String.valueOf(voucher.getBusinessDataId()) : null);
|
|
||||||
|
|
||||||
String periodName = extractPeriodName(voucher.getAccountDate()); |
|
||||||
ebs.setPeriodName(periodName); |
|
||||||
|
|
||||||
ebs.setChartOfAccountsId(null); |
|
||||||
ebs.setFunctionalCurrencyCode(null); |
|
||||||
ebs.setWarningCode(null); |
|
||||||
ebs.setStatAmount(BigDecimal.ZERO); |
|
||||||
ebs.setGroupId(null); |
|
||||||
ebs.setRequestId(null); |
|
||||||
ebs.setSetOfBooksId(null); |
|
||||||
|
|
||||||
setAttributes(ebs, voucher); |
|
||||||
|
|
||||||
return ebs; |
|
||||||
} |
|
||||||
|
|
||||||
private void setParameters(PreparedStatement pstmt, EbsGlInterface ebs) throws SQLException { |
|
||||||
int index = 1; |
|
||||||
pstmt.setLong(index++, ebs.getInterfaceId()); |
|
||||||
pstmt.setString(index++, ebs.getStatus()); |
|
||||||
pstmt.setString(index++, ebs.getLedgerFlag()); |
|
||||||
pstmt.setDate(index++, ebs.getAccountingDate() != null ? new java.sql.Date(ebs.getAccountingDate().getTime()) : null); |
|
||||||
pstmt.setString(index++, ebs.getCurrencyCode()); |
|
||||||
pstmt.setDate(index++, ebs.getDateCreated() != null ? new java.sql.Date(ebs.getDateCreated().getTime()) : null); |
|
||||||
pstmt.setString(index++, ebs.getActualFlag()); |
|
||||||
pstmt.setString(index++, ebs.getSourceBatchId()); |
|
||||||
pstmt.setLong(index++, ebs.getSourceLineId()); |
|
||||||
pstmt.setString(index++, ebs.getUserJeCategoryName()); |
|
||||||
pstmt.setString(index++, ebs.getUserJeSourceName()); |
|
||||||
pstmt.setDate(index++, ebs.getCurrencyConversionDate() != null ? new java.sql.Date(ebs.getCurrencyConversionDate().getTime()) : null); |
|
||||||
pstmt.setString(index++, ebs.getUserCurrencyConversionType()); |
|
||||||
pstmt.setBigDecimal(index++, ebs.getCurrencyConversionRate()); |
|
||||||
pstmt.setString(index++, ebs.getImportFlag()); |
|
||||||
pstmt.setDate(index++, ebs.getImportDate() != null ? new java.sql.Date(ebs.getImportDate().getTime()) : null); |
|
||||||
pstmt.setString(index++, ebs.getErrorMessage()); |
|
||||||
pstmt.setDate(index++, ebs.getLastUpdateDate() != null ? new java.sql.Date(ebs.getLastUpdateDate().getTime()) : null); |
|
||||||
pstmt.setString(index++, ebs.getDocSeqNum()); |
|
||||||
pstmt.setString(index++, ebs.getCreatedBy()); |
|
||||||
pstmt.setString(index++, ebs.getLastUpdateBy()); |
|
||||||
|
|
||||||
pstmt.setString(index++, ebs.getSegment1()); |
|
||||||
pstmt.setString(index++, ebs.getSegment2()); |
|
||||||
pstmt.setString(index++, ebs.getSegment3()); |
|
||||||
pstmt.setString(index++, ebs.getSegment4()); |
|
||||||
pstmt.setString(index++, ebs.getSegment5()); |
|
||||||
pstmt.setString(index++, ebs.getSegment6()); |
|
||||||
pstmt.setString(index++, ebs.getSegment7()); |
|
||||||
pstmt.setString(index++, ebs.getSegment8()); |
|
||||||
pstmt.setString(index++, ebs.getSegment9()); |
|
||||||
pstmt.setString(index++, ebs.getSegment10()); |
|
||||||
pstmt.setString(index++, ebs.getSegment11()); |
|
||||||
|
|
||||||
pstmt.setBigDecimal(index++, ebs.getEnteredDr()); |
|
||||||
pstmt.setBigDecimal(index++, ebs.getEnteredCr()); |
|
||||||
pstmt.setBigDecimal(index++, ebs.getAccountedDr()); |
|
||||||
pstmt.setBigDecimal(index++, ebs.getAccountedCr()); |
|
||||||
pstmt.setLong(index++, ebs.getDocSequenceValue() != null ? ebs.getDocSequenceValue() : 0); |
|
||||||
|
|
||||||
pstmt.setString(index++, ebs.getReference1()); |
|
||||||
pstmt.setString(index++, ebs.getReference2()); |
|
||||||
pstmt.setString(index++, ebs.getReference3()); |
|
||||||
pstmt.setString(index++, ebs.getReference4()); |
|
||||||
pstmt.setString(index++, ebs.getReference5()); |
|
||||||
pstmt.setString(index++, ebs.getReference10()); |
|
||||||
|
|
||||||
pstmt.setLong(index++, ebs.getJeBatchId() != null ? ebs.getJeBatchId() : 0); |
|
||||||
pstmt.setString(index++, ebs.getPeriodName()); |
|
||||||
pstmt.setLong(index++, ebs.getJeHeaderId() != null ? ebs.getJeHeaderId() : 0); |
|
||||||
pstmt.setLong(index++, ebs.getJeLineNum() != null ? ebs.getJeLineNum() : 0); |
|
||||||
pstmt.setLong(index++, ebs.getChartOfAccountsId()); |
|
||||||
pstmt.setString(index++, ebs.getFunctionalCurrencyCode()); |
|
||||||
pstmt.setString(index++, ebs.getWarningCode()); |
|
||||||
pstmt.setBigDecimal(index++, ebs.getStatAmount()); |
|
||||||
pstmt.setLong(index++, ebs.getGroupId() != null ? ebs.getGroupId() : 0); |
|
||||||
pstmt.setLong(index++, ebs.getRequestId() != null ? ebs.getRequestId() : 0); |
|
||||||
pstmt.setLong(index++, ebs.getSetOfBooksId()); |
|
||||||
pstmt.setString(index++, ebs.getAttributeCategory()); |
|
||||||
pstmt.setString(index++, ebs.getAttribute1()); |
|
||||||
pstmt.setString(index++, ebs.getAttribute2()); |
|
||||||
pstmt.setString(index++, ebs.getAttribute3()); |
|
||||||
pstmt.setString(index++, ebs.getAttribute4()); |
|
||||||
pstmt.setString(index++, ebs.getAttribute5()); |
|
||||||
pstmt.setString(index++, ebs.getAttribute6()); |
|
||||||
pstmt.setString(index++, ebs.getAttribute7()); |
|
||||||
pstmt.setString(index++, ebs.getAttribute8()); |
|
||||||
pstmt.setString(index++, ebs.getAttribute9()); |
|
||||||
pstmt.setString(index++, ebs.getAttribute10()); |
|
||||||
pstmt.setString(index++, ebs.getAttribute11()); |
|
||||||
pstmt.setString(index++, ebs.getAttribute12()); |
|
||||||
pstmt.setString(index++, ebs.getAttribute13()); |
|
||||||
pstmt.setString(index++, ebs.getAttribute14()); |
|
||||||
pstmt.setString(index++, ebs.getAttribute15()); |
|
||||||
} |
|
||||||
|
|
||||||
private long generateInterfaceId() { |
|
||||||
return System.currentTimeMillis() * 1000 + sequenceGenerator.incrementAndGet(); |
|
||||||
} |
|
||||||
|
|
||||||
private String generateSourceBatchId(FiCerdataGatherVo voucher) { |
|
||||||
// return "BFS_" + voucher.getBatchNo() + "_" + System.currentTimeMillis();
|
|
||||||
return "BFS_" + "_" + System.currentTimeMillis(); |
|
||||||
} |
|
||||||
|
|
||||||
private void setSegments(EbsGlInterface ebs, FiCerdataGatherVo voucher) { |
|
||||||
ebs.setSegment1(voucher.getManageCom()); |
|
||||||
ebs.setSegment2(voucher.getCostCenter()); |
|
||||||
ebs.setSegment3(voucher.getFinItemCode()); |
|
||||||
ebs.setSegment4(voucher.getIntraBranch()); |
|
||||||
ebs.setSegment5(voucher.getReconCode()); |
|
||||||
ebs.setSegment6(voucher.getRiskCode()); |
|
||||||
ebs.setSegment7(voucher.getCashFlow()); |
|
||||||
ebs.setSegment8(""); |
|
||||||
ebs.setSegment9(""); |
|
||||||
ebs.setSegment10(""); |
|
||||||
ebs.setSegment11(""); |
|
||||||
} |
|
||||||
|
|
||||||
private void setAttributes(EbsGlInterface ebs, FiCerdataGatherVo voucher) { |
|
||||||
ebs.setAttributeCategory("BFS_VOUCHER"); |
|
||||||
ebs.setAttribute1(voucher.getId() != null ? String.valueOf(voucher.getId()) : null); |
|
||||||
ebs.setAttribute2(voucher.getCertificateId()); |
|
||||||
ebs.setAttribute3(voucher.getCostId()); |
|
||||||
ebs.setAttribute4(voucher.getFiscalYear()); |
|
||||||
ebs.setAttribute5(voucher.getFiscalMonth()); |
|
||||||
ebs.setAttribute6(voucher.getVchrSmmry()); |
|
||||||
ebs.setAttribute7(voucher.getTaxCode()); |
|
||||||
ebs.setAttribute8(voucher.getTaxRate()); |
|
||||||
ebs.setAttribute9(voucher.getBudget()); |
|
||||||
ebs.setAttribute10(voucher.getAccountMark()); |
|
||||||
} |
|
||||||
|
|
||||||
private boolean isDebit(FiCerdataGatherVo voucher) { |
|
||||||
return "D".equals(voucher.getFinItemType()) || "借".equals(voucher.getFinItemType()); |
|
||||||
} |
|
||||||
|
|
||||||
private String extractPeriodName(Date accountDate) { |
|
||||||
if (accountDate == null) { |
|
||||||
return LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM")); |
|
||||||
} |
|
||||||
LocalDate localDate = new java.sql.Date(accountDate.getTime()).toLocalDate(); |
|
||||||
return localDate.format(DateTimeFormatter.ofPattern("yyyy-MM")); |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
||||||
Loading…
Reference in new issue