From 8b00953f4715f7392fce4acac4daa66c2fb15130 Mon Sep 17 00:00:00 2001
From: lvleigang <957075182@qq.com>
Date: Sat, 14 Sep 2024 10:08:39 +0800
Subject: [PATCH 1/2] =?UTF-8?q?fw-oa=E5=88=86=E6=94=AF=E7=BB=93=E6=9E=84?=
=?UTF-8?q?=E4=B8=8A=E4=BC=A0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
base-webapp/pom.xml | 10 +-
fw-oa/pom.xml | 48 ++
.../frame/seeyon/cap4/form/dto/FormDTO.java | 74 ++
.../seeyon/cap4/form/dto/FormDataDTO.java | 36 +
.../seeyon/cap4/form/dto/MasterTableDTO.java | 45 ++
.../frame/seeyon/cap4/form/dto/RecordDTO.java | 34 +
.../seeyon/cap4/form/dto/RecordFieldDTO.java | 52 ++
.../seeyon/cap4/form/dto/SubTableDTO.java | 9 +
.../seeyon/cbs8/dao/IAgentPaymentDao.java | 12 +
.../cbs8/dao/IAgentPaymentDetailDao.java | 12 +
.../frame/seeyon/cbs8/dao/ICbsLogDao.java | 12 +
.../frame/seeyon/cbs8/dao/IPaymentDao.java | 10 +
.../cbs8/dao/ITransactionDetailDao.java | 12 +
.../cbs8/dao/impl/AgentPaymentDaoImpl.java | 15 +
.../dao/impl/AgentPaymentDetailDaoImpl.java | 15 +
.../seeyon/cbs8/dao/impl/CbsLogDaoImpl.java | 15 +
.../seeyon/cbs8/dao/impl/PaymentDaoImpl.java | 15 +
.../dao/impl/TransactionDetailDaoImpl.java | 17 +
.../cbs8/entity/AgentPaymentDetailEntity.java | 113 +++
.../cbs8/entity/AgentPaymentDetailEntity.xml | 84 +++
.../cbs8/entity/AgentPaymentEntity.java | 145 ++++
.../seeyon/cbs8/entity/AgentPaymentEntity.xml | 126 ++++
.../seeyon/cbs8/entity/CbsLogEntity.java | 151 ++++
.../frame/seeyon/cbs8/entity/CbsLogEntity.xml | 116 +++
.../seeyon/cbs8/entity/PaymentEntity.java | 327 +++++++++
.../seeyon/cbs8/entity/PaymentEntity.xml | 339 +++++++++
.../cbs8/entity/TransactionDetailEntity.java | 155 ++++
.../cbs8/entity/TransactionDetailEntity.xml | 91 +++
.../service/IAgentPaymentDetailService.java | 18 +
.../cbs8/service/IAgentPaymentService.java | 45 ++
.../seeyon/cbs8/service/ICbsLogService.java | 53 ++
.../seeyon/cbs8/service/IPaymentService.java | 63 ++
.../service/ITransactionDetailService.java | 29 +
.../impl/AgentPaymentDetailServiceImpl.java | 39 +
.../service/impl/AgentPaymentServiceImpl.java | 93 +++
.../cbs8/service/impl/CbsLogServiceImpl.java | 198 +++++
.../cbs8/service/impl/PaymentServiceImpl.java | 150 ++++
.../impl/TransactionDetailServiceImpl.java | 98 +++
.../seeyon/dao/ICapFormDefinitionDao.java | 51 ++
.../frame/seeyon/dao/ICtpAttachmentDao.java | 21 +
.../hzya/frame/seeyon/dao/ICtpFileDao.java | 12 +
.../com/hzya/frame/seeyon/dao/ISeeYonDao.java | 108 +++
.../frame/seeyon/dao/ISeeYonInterFaceDao.java | 37 +
.../dao/impl/CapFormDefinitionDaoImpl.java | 39 +
.../seeyon/dao/impl/CtpAttachmentDaoImpl.java | 31 +
.../frame/seeyon/dao/impl/CtpFileDaoImpl.java | 17 +
.../frame/seeyon/dao/impl/SeeYonDaoImpl.java | 94 +++
.../dao/impl/SeeYonInterFaceDaoImpl.java | 43 ++
.../entity/CapFormDefinitionEntity.java | 71 ++
.../seeyon/entity/CapFormDefinitionEntity.xml | 41 ++
.../frame/seeyon/entity/CfsLogEntity.java | 65 ++
.../seeyon/entity/CollAttachmentResDTO.java | 340 +++++++++
.../seeyon/entity/CtpAttachmentEntity.java | 124 ++++
.../seeyon/entity/CtpAttachmentEntity.xml | 89 +++
.../frame/seeyon/entity/CtpFileEntity.java | 113 +++
.../frame/seeyon/entity/CtpFileEntity.xml | 49 ++
.../frame/seeyon/entity/OAU8ResponseDTO.java | 89 +++
.../entity/OAWorkflowEventDataEntity.java | 153 ++++
.../seeyon/entity/SeeYonInterFaceEntity.java | 112 +++
.../seeyon/entity/SeeYonInterFaceEntity.xml | 52 ++
.../frame/seeyon/entity/SeeyonEntity.java | 684 ++++++++++++++++++
.../hzya/frame/seeyon/entity/SeeyonEntity.xml | 250 +++++++
.../frame/seeyon/enums/ColEventTypeEnum.java | 45 ++
.../frame/seeyon/paybill/dao/IPayBillDao.java | 33 +
.../paybill/dao/impl/PayBillDaoImpl.java | 32 +
.../seeyon/paybill/entity/PayBillEntity.java | 107 +++
.../seeyon/paybill/entity/PayBillEntity.xml | 62 ++
.../paybill/service/IPayBillService.java | 29 +
.../service/impl/PayBillServiceImpl.java | 105 +++
.../frame/seeyon/recbill/dao/IRecBillDao.java | 31 +
.../recbill/dao/impl/RecBillDaoImpl.java | 30 +
.../seeyon/recbill/entity/RecBillEntity.java | 104 +++
.../seeyon/recbill/entity/RecBillEntity.xml | 40 +
.../recbill/service/IRecBillService.java | 26 +
.../service/impl/RecBillServiceImpl.java | 104 +++
.../seeyon/service/ICtpAttachmentService.java | 20 +
.../frame/seeyon/service/ICtpFileService.java | 12 +
.../seeyon/service/INoProcessService.java | 26 +
.../seeyon/service/ISeeYonInterFace.java | 84 +++
.../seeyon/service/ISeeyonExtService.java | 29 +
.../impl/CtpAttachmentServiceImpl.java | 70 ++
.../service/impl/CtpFileServiceImpl.java | 15 +
.../service/impl/NoProcessServiceImpl.java | 119 +++
.../service/impl/SeeYonInterFaceImpl.java | 507 +++++++++++++
.../service/impl/SeeyonExtServiceImpl.java | 241 ++++++
.../com/hzya/frame/seeyon/util/OABipUtil.java | 65 ++
.../hzya/frame/seeyon/util/OAPayState.java | 73 ++
.../hzya/frame/seeyon/util/OARestUtil.java | 209 ++++++
.../com/hzya/frame/seeyon/util/OAU8Util.java | 34 +
fw-oa/src/main/webapp/WEB-INF/web.xml | 6 +
pom.xml | 2 +-
91 files changed, 7815 insertions(+), 6 deletions(-)
create mode 100644 fw-oa/pom.xml
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/cap4/form/dto/FormDTO.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/cap4/form/dto/FormDataDTO.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/cap4/form/dto/MasterTableDTO.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/cap4/form/dto/RecordDTO.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/cap4/form/dto/RecordFieldDTO.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/cap4/form/dto/SubTableDTO.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/IAgentPaymentDao.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/IAgentPaymentDetailDao.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/ICbsLogDao.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/IPaymentDao.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/ITransactionDetailDao.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/impl/AgentPaymentDaoImpl.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/impl/AgentPaymentDetailDaoImpl.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/impl/CbsLogDaoImpl.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/impl/PaymentDaoImpl.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/impl/TransactionDetailDaoImpl.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/AgentPaymentDetailEntity.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/AgentPaymentDetailEntity.xml
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/AgentPaymentEntity.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/AgentPaymentEntity.xml
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/CbsLogEntity.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/CbsLogEntity.xml
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/PaymentEntity.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/PaymentEntity.xml
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/TransactionDetailEntity.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/TransactionDetailEntity.xml
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/IAgentPaymentDetailService.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/IAgentPaymentService.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/ICbsLogService.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/IPaymentService.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/ITransactionDetailService.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/impl/AgentPaymentDetailServiceImpl.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/impl/AgentPaymentServiceImpl.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/impl/CbsLogServiceImpl.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/impl/PaymentServiceImpl.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/impl/TransactionDetailServiceImpl.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/dao/ICapFormDefinitionDao.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/dao/ICtpAttachmentDao.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/dao/ICtpFileDao.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/dao/ISeeYonDao.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/dao/ISeeYonInterFaceDao.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/dao/impl/CapFormDefinitionDaoImpl.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/dao/impl/CtpAttachmentDaoImpl.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/dao/impl/CtpFileDaoImpl.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/dao/impl/SeeYonDaoImpl.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/dao/impl/SeeYonInterFaceDaoImpl.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/entity/CapFormDefinitionEntity.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/entity/CapFormDefinitionEntity.xml
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/entity/CfsLogEntity.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/entity/CollAttachmentResDTO.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/entity/CtpAttachmentEntity.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/entity/CtpAttachmentEntity.xml
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/entity/CtpFileEntity.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/entity/CtpFileEntity.xml
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/entity/OAU8ResponseDTO.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/entity/OAWorkflowEventDataEntity.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/entity/SeeYonInterFaceEntity.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/entity/SeeYonInterFaceEntity.xml
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/entity/SeeyonEntity.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/entity/SeeyonEntity.xml
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/enums/ColEventTypeEnum.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/paybill/dao/IPayBillDao.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/paybill/dao/impl/PayBillDaoImpl.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/paybill/entity/PayBillEntity.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/paybill/entity/PayBillEntity.xml
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/paybill/service/IPayBillService.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/paybill/service/impl/PayBillServiceImpl.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/recbill/dao/IRecBillDao.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/recbill/dao/impl/RecBillDaoImpl.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/recbill/entity/RecBillEntity.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/recbill/entity/RecBillEntity.xml
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/recbill/service/IRecBillService.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/recbill/service/impl/RecBillServiceImpl.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/service/ICtpAttachmentService.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/service/ICtpFileService.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/service/INoProcessService.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/service/ISeeYonInterFace.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/service/ISeeyonExtService.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/service/impl/CtpAttachmentServiceImpl.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/service/impl/CtpFileServiceImpl.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/service/impl/NoProcessServiceImpl.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/service/impl/SeeYonInterFaceImpl.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/service/impl/SeeyonExtServiceImpl.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/util/OABipUtil.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/util/OAPayState.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/util/OARestUtil.java
create mode 100644 fw-oa/src/main/java/com/hzya/frame/seeyon/util/OAU8Util.java
create mode 100644 fw-oa/src/main/webapp/WEB-INF/web.xml
diff --git a/base-webapp/pom.xml b/base-webapp/pom.xml
index 79bd4cf9..0cd3f16b 100644
--- a/base-webapp/pom.xml
+++ b/base-webapp/pom.xml
@@ -54,11 +54,11 @@
-
-
-
-
-
+
+ com.hzya.frame
+ fw-oa
+ ${revision}
+
diff --git a/fw-oa/pom.xml b/fw-oa/pom.xml
new file mode 100644
index 00000000..04552396
--- /dev/null
+++ b/fw-oa/pom.xml
@@ -0,0 +1,48 @@
+
+
+
+ kangarooDataCenterV3
+ com.hzya.frame
+ ${revision}
+
+ 4.0.0
+ fw-oa
+ jar
+ ${revision}
+
+
+
+ com.hzya.frame
+ base-service
+ ${revision}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql-connector-java}
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+ none
+ execute
+ true
+
+
+
+
+ repackage
+
+
+
+
+
+
+
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/cap4/form/dto/FormDTO.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/cap4/form/dto/FormDTO.java
new file mode 100644
index 00000000..e9fe54b8
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/cap4/form/dto/FormDTO.java
@@ -0,0 +1,74 @@
+package com.hzya.frame.seeyon.cap4.form.dto;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+import java.util.List;
+
+/**
+ * @Description 无流程表单批量保存请求参数
+ * @Author xiangerlin
+ * @Date 2024/1/8 11:18
+ **/
+public class FormDTO {
+ @JSONField(ordinal = 4)
+ private String formCode;//模版编号
+ @JSONField(ordinal = 5)
+ private String loginName;//模版编号
+ @JSONField(ordinal = 2)
+ private String rightId;//权限id,找到无流程表单,点新增,弹出的窗口上会有这个参数
+ @JSONField(ordinal = 3)
+ private List dataList;//导入的数据
+ @JSONField(ordinal = 1)
+ private String[] uniqueFiled;//更新用的唯一标识
+ @JSONField(ordinal = 6)
+ private Boolean doTrigger;//是否执行触发(Since V8.0sp2),测试中发现传了这个参数会报错
+
+ public String getFormCode() {
+ return formCode;
+ }
+
+ public void setFormCode(String formCode) {
+ this.formCode = formCode;
+ }
+
+ public String getLoginName() {
+ return loginName;
+ }
+
+ public void setLoginName(String loginName) {
+ this.loginName = loginName;
+ }
+
+ public String getRightId() {
+ return rightId;
+ }
+
+ public void setRightId(String rightId) {
+ this.rightId = rightId;
+ }
+
+ public List getDataList() {
+ return dataList;
+ }
+
+ public void setDataList(List dataList) {
+ this.dataList = dataList;
+ }
+
+ public String[] getUniqueFiled() {
+ return uniqueFiled;
+ }
+
+ public void setUniqueFiled(String[] uniqueFiled) {
+ this.uniqueFiled = uniqueFiled;
+ }
+
+ public Boolean getDoTrigger() {
+ return doTrigger;
+ }
+
+ public void setDoTrigger(Boolean doTrigger) {
+ this.doTrigger = doTrigger;
+ }
+}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/cap4/form/dto/FormDataDTO.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/cap4/form/dto/FormDataDTO.java
new file mode 100644
index 00000000..b69031d6
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/cap4/form/dto/FormDataDTO.java
@@ -0,0 +1,36 @@
+package com.hzya.frame.seeyon.cap4.form.dto;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+import java.util.List;
+
+/**
+ * @Description dataList节点
+ * @Author xiangerlin
+ * @Date 2024/1/8 11:26
+ **/
+public class FormDataDTO {
+ @JSONField(ordinal = 1)
+ private MasterTableDTO masterTable;//主表数据
+ @JSONField(ordinal = 2)
+ private List subTables;//子表数据
+
+ //private List<> attachmentInfos;//附件列表
+
+ public MasterTableDTO getMasterTable() {
+ return masterTable;
+ }
+
+ public void setMasterTable(MasterTableDTO masterTable) {
+ this.masterTable = masterTable;
+ }
+
+ public List getSubTables() {
+ return subTables;
+ }
+
+ public void setSubTables(List subTables) {
+ this.subTables = subTables;
+ }
+}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/cap4/form/dto/MasterTableDTO.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/cap4/form/dto/MasterTableDTO.java
new file mode 100644
index 00000000..56f5f9fb
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/cap4/form/dto/MasterTableDTO.java
@@ -0,0 +1,45 @@
+package com.hzya.frame.seeyon.cap4.form.dto;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+import java.util.List;
+
+/**
+ * @Description 主表数据
+ * @Author xiangerlin
+ * @Date 2024/1/8 11:29
+ **/
+
+public class MasterTableDTO {
+ @JSONField(ordinal = 1)
+ private String name;//表名
+ @JSONField(ordinal = 2)
+ private RecordDTO record;//数据
+ @JSONField(ordinal = 3)
+ private List changedFields;//需要计算的字段
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public RecordDTO getRecord() {
+ return record;
+ }
+
+ public void setRecord(RecordDTO record) {
+ this.record = record;
+ }
+
+ public List getChangedFields() {
+ return changedFields;
+ }
+
+ public void setChangedFields(List changedFields) {
+ this.changedFields = changedFields;
+ }
+}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/cap4/form/dto/RecordDTO.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/cap4/form/dto/RecordDTO.java
new file mode 100644
index 00000000..cc3857e0
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/cap4/form/dto/RecordDTO.java
@@ -0,0 +1,34 @@
+package com.hzya.frame.seeyon.cap4.form.dto;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+import java.util.List;
+
+/**
+ * @Description record节点
+ * @Author xiangerlin
+ * @Date 2024/1/8 11:31
+ **/
+public class RecordDTO {
+ @JSONField(ordinal = 1)
+ private long id;//数据id,测试中发现新增时这个参数随便填写 不影响导入
+ @JSONField(ordinal = 2)
+ private List fields;//字段列表
+
+ public long getId() {
+ return id;
+ }
+
+ public void setId(long id) {
+ this.id = id;
+ }
+
+ public List getFields() {
+ return fields;
+ }
+
+ public void setFields(List fields) {
+ this.fields = fields;
+ }
+}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/cap4/form/dto/RecordFieldDTO.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/cap4/form/dto/RecordFieldDTO.java
new file mode 100644
index 00000000..a2bfa15b
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/cap4/form/dto/RecordFieldDTO.java
@@ -0,0 +1,52 @@
+package com.hzya.frame.seeyon.cap4.form.dto;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+/**
+ * @Description masterTable—record—fields的结构
+ * @Author xiangerlin
+ * @Date 2024/1/8 11:32
+ **/
+public class RecordFieldDTO {
+ @JSONField(ordinal = 1)
+ private String name;//数据域名称 ,fieldxxxx
+ @JSONField(ordinal = 2)
+ private String value;//数据值(优先)
+ @JSONField(ordinal = 3)
+ private String showValue;//显示值
+
+ public RecordFieldDTO() {
+
+ }
+
+ public RecordFieldDTO(String name, String value, String showValue) {
+ this.name = name;
+ this.value = value;
+ this.showValue = showValue;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ public String getShowValue() {
+ return showValue;
+ }
+
+ public void setShowValue(String showValue) {
+ this.showValue = showValue;
+ }
+}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/cap4/form/dto/SubTableDTO.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/cap4/form/dto/SubTableDTO.java
new file mode 100644
index 00000000..8d5e5226
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/cap4/form/dto/SubTableDTO.java
@@ -0,0 +1,9 @@
+package com.hzya.frame.seeyon.cap4.form.dto;
+
+/**
+ * @Description 子表数据
+ * @Author xiangerlin
+ * @Date 2024/1/8 11:29
+ **/
+public class SubTableDTO {
+}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/IAgentPaymentDao.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/IAgentPaymentDao.java
new file mode 100644
index 00000000..5336cd91
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/IAgentPaymentDao.java
@@ -0,0 +1,12 @@
+package com.hzya.frame.seeyon.cbs8.dao;
+
+import com.hzya.frame.basedao.dao.IBaseDao;
+import com.hzya.frame.seeyon.cbs8.entity.AgentPaymentEntity;
+
+/**
+ * @Description 代发代扣
+ * @Author xiangerlin
+ * @Date 2024/6/26 10:50
+ **/
+public interface IAgentPaymentDao extends IBaseDao {
+}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/IAgentPaymentDetailDao.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/IAgentPaymentDetailDao.java
new file mode 100644
index 00000000..96895bb4
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/IAgentPaymentDetailDao.java
@@ -0,0 +1,12 @@
+package com.hzya.frame.seeyon.cbs8.dao;
+
+import com.hzya.frame.basedao.dao.IBaseDao;
+import com.hzya.frame.seeyon.cbs8.entity.AgentPaymentDetailEntity;
+
+/**
+ * @Description 代发代扣明细
+ * @Author xiangerlin
+ * @Date 2024/6/26 10:54
+ **/
+public interface IAgentPaymentDetailDao extends IBaseDao {
+}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/ICbsLogDao.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/ICbsLogDao.java
new file mode 100644
index 00000000..032d1a3e
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/ICbsLogDao.java
@@ -0,0 +1,12 @@
+package com.hzya.frame.seeyon.cbs8.dao;
+
+import com.hzya.frame.basedao.dao.IBaseDao;
+import com.hzya.frame.seeyon.cbs8.entity.CbsLogEntity;
+
+/**
+ * @Description cbs8支付日志
+ * @Author xiangerlin
+ * @Date 2024/6/14 17:30
+ **/
+public interface ICbsLogDao extends IBaseDao {
+}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/IPaymentDao.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/IPaymentDao.java
new file mode 100644
index 00000000..c8a18848
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/IPaymentDao.java
@@ -0,0 +1,10 @@
+package com.hzya.frame.seeyon.cbs8.dao;
+
+import com.hzya.frame.basedao.dao.IBaseDao;
+import com.hzya.frame.seeyon.cbs8.entity.PaymentEntity;
+
+/**
+ * oa集成cbs
+ */
+public interface IPaymentDao extends IBaseDao {
+}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/ITransactionDetailDao.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/ITransactionDetailDao.java
new file mode 100644
index 00000000..37cf015a
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/ITransactionDetailDao.java
@@ -0,0 +1,12 @@
+package com.hzya.frame.seeyon.cbs8.dao;
+
+import com.hzya.frame.basedao.dao.IBaseDao;
+import com.hzya.frame.seeyon.cbs8.entity.TransactionDetailEntity;
+
+/**
+ * @Description cbs交易明细 oa底表
+ * @Author xiangerlin
+ * @Date 2024/6/24 11:10
+ **/
+public interface ITransactionDetailDao extends IBaseDao {
+}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/impl/AgentPaymentDaoImpl.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/impl/AgentPaymentDaoImpl.java
new file mode 100644
index 00000000..5b2e3852
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/impl/AgentPaymentDaoImpl.java
@@ -0,0 +1,15 @@
+package com.hzya.frame.seeyon.cbs8.dao.impl;
+
+import com.hzya.frame.basedao.dao.MybatisGenericDao;
+import com.hzya.frame.seeyon.cbs8.dao.IAgentPaymentDao;
+import com.hzya.frame.seeyon.cbs8.entity.AgentPaymentEntity;
+import org.springframework.stereotype.Repository;
+
+/**
+ * @Description
+ * @Author xiangerlin
+ * @Date 2024/6/26 10:51
+ **/
+@Repository("OAAgentPaymentDaoImpl")
+public class AgentPaymentDaoImpl extends MybatisGenericDao implements IAgentPaymentDao {
+}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/impl/AgentPaymentDetailDaoImpl.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/impl/AgentPaymentDetailDaoImpl.java
new file mode 100644
index 00000000..2b873067
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/impl/AgentPaymentDetailDaoImpl.java
@@ -0,0 +1,15 @@
+package com.hzya.frame.seeyon.cbs8.dao.impl;
+
+import com.hzya.frame.basedao.dao.MybatisGenericDao;
+import com.hzya.frame.seeyon.cbs8.dao.IAgentPaymentDetailDao;
+import com.hzya.frame.seeyon.cbs8.entity.AgentPaymentDetailEntity;
+import org.springframework.stereotype.Repository;
+
+/**
+ * @Description
+ * @Author xiangerlin
+ * @Date 2024/6/26 10:55
+ **/
+@Repository("OAAgentPaymentDetailDaoImpl")
+public class AgentPaymentDetailDaoImpl extends MybatisGenericDao implements IAgentPaymentDetailDao {
+}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/impl/CbsLogDaoImpl.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/impl/CbsLogDaoImpl.java
new file mode 100644
index 00000000..a42437b0
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/impl/CbsLogDaoImpl.java
@@ -0,0 +1,15 @@
+package com.hzya.frame.seeyon.cbs8.dao.impl;
+
+import com.hzya.frame.basedao.dao.MybatisGenericDao;
+import com.hzya.frame.seeyon.cbs8.dao.ICbsLogDao;
+import com.hzya.frame.seeyon.cbs8.entity.CbsLogEntity;
+import org.springframework.stereotype.Repository;
+
+/**
+ * @Description
+ * @Author xiangerlin
+ * @Date 2024/6/14 17:31
+ **/
+@Repository()
+public class CbsLogDaoImpl extends MybatisGenericDao implements ICbsLogDao {
+}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/impl/PaymentDaoImpl.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/impl/PaymentDaoImpl.java
new file mode 100644
index 00000000..f2744983
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/impl/PaymentDaoImpl.java
@@ -0,0 +1,15 @@
+package com.hzya.frame.seeyon.cbs8.dao.impl;
+
+import com.hzya.frame.basedao.dao.MybatisGenericDao;
+import com.hzya.frame.seeyon.cbs8.dao.IPaymentDao;
+import com.hzya.frame.seeyon.cbs8.entity.PaymentEntity;
+import org.springframework.stereotype.Repository;
+
+/**
+ * @Description oa集成cbs
+ * @Author xiangerlin
+ * @Date 2024/6/6 16:28
+ **/
+@Repository("OAPaymentDaoImpl")
+public class PaymentDaoImpl extends MybatisGenericDao implements IPaymentDao {
+}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/impl/TransactionDetailDaoImpl.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/impl/TransactionDetailDaoImpl.java
new file mode 100644
index 00000000..e4fb1bac
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/dao/impl/TransactionDetailDaoImpl.java
@@ -0,0 +1,17 @@
+package com.hzya.frame.seeyon.cbs8.dao.impl;
+
+import com.hzya.frame.basedao.dao.MybatisGenericDao;
+import com.hzya.frame.seeyon.cbs8.dao.IPaymentDao;
+import com.hzya.frame.seeyon.cbs8.dao.ITransactionDetailDao;
+import com.hzya.frame.seeyon.cbs8.entity.PaymentEntity;
+import com.hzya.frame.seeyon.cbs8.entity.TransactionDetailEntity;
+import org.springframework.stereotype.Repository;
+
+/**
+ * @Description
+ * @Author xiangerlin
+ * @Date 2024/6/24 11:10
+ **/
+@Repository("OATransactionDetailDaoImpl")
+public class TransactionDetailDaoImpl extends MybatisGenericDao implements ITransactionDetailDao {
+}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/AgentPaymentDetailEntity.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/AgentPaymentDetailEntity.java
new file mode 100644
index 00000000..4776058c
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/AgentPaymentDetailEntity.java
@@ -0,0 +1,113 @@
+package com.hzya.frame.seeyon.cbs8.entity;
+
+import com.hzya.frame.web.entity.BaseEntity;
+
+/**
+ * @Description 代发代扣明细表
+ * @Author xiangerlin
+ * @Date 2024/6/18 14:58
+ **/
+public class AgentPaymentDetailEntity extends BaseEntity {
+ //每笔明细金额
+ private String dtlAmount;
+ //收款账号
+ private String dtlRevAccount;
+ //联行号 同行可不传,跨行必传
+ private String dtlCnapsCode;
+ //收款账户名称
+ private String dtlRevName;
+ //收款开户行 ,如果传的联行号能匹配到对应到开户行,cbs8会自动带出
+ private String dtlRevBankName;
+ //主表id
+ private String formmainId;
+ //表名
+ private String tabName;
+
+ //明细序号,从1开始递增
+ private int dtlSeqNum;
+
+ //支付结果
+ private String payResult;
+ //支付日期
+ private String payDate;
+
+ public String getDtlAmount() {
+ return dtlAmount;
+ }
+
+ public void setDtlAmount(String dtlAmount) {
+ this.dtlAmount = dtlAmount;
+ }
+
+ public String getDtlRevAccount() {
+ return dtlRevAccount;
+ }
+
+ public void setDtlRevAccount(String dtlRevAccount) {
+ this.dtlRevAccount = dtlRevAccount;
+ }
+
+ public String getDtlCnapsCode() {
+ return dtlCnapsCode;
+ }
+
+ public void setDtlCnapsCode(String dtlCnapsCode) {
+ this.dtlCnapsCode = dtlCnapsCode;
+ }
+
+ public String getDtlRevName() {
+ return dtlRevName;
+ }
+
+ public void setDtlRevName(String dtlRevName) {
+ this.dtlRevName = dtlRevName;
+ }
+
+ public String getDtlRevBankName() {
+ return dtlRevBankName;
+ }
+
+ public void setDtlRevBankName(String dtlRevBankName) {
+ this.dtlRevBankName = dtlRevBankName;
+ }
+
+ public String getFormmainId() {
+ return formmainId;
+ }
+
+ public void setFormmainId(String formmainId) {
+ this.formmainId = formmainId;
+ }
+
+ public String getTabName() {
+ return tabName;
+ }
+
+ public void setTabName(String tabName) {
+ this.tabName = tabName;
+ }
+
+ public int getDtlSeqNum() {
+ return dtlSeqNum;
+ }
+
+ public void setDtlSeqNum(int dtlSeqNum) {
+ this.dtlSeqNum = dtlSeqNum;
+ }
+
+ public String getPayResult() {
+ return payResult;
+ }
+
+ public void setPayResult(String payResult) {
+ this.payResult = payResult;
+ }
+
+ public String getPayDate() {
+ return payDate;
+ }
+
+ public void setPayDate(String payDate) {
+ this.payDate = payDate;
+ }
+}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/AgentPaymentDetailEntity.xml b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/AgentPaymentDetailEntity.xml
new file mode 100644
index 00000000..43869fc1
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/AgentPaymentDetailEntity.xml
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ id,
+ formmainId,
+ tabName,
+ dtlSeqNum,
+ dtlAmount,
+ dtlRevAccount,
+ dtlCnapsCode,
+ dtlRevName,
+ dtlRevBankName,
+ payResult,
+ payDate
+
+
+
+
+
+
+
+ update formson_0225 set
+
+ field0045 =#{payDate},
+ field0044 =#{payResult}
+
+ where id = #{id}
+
+
+
+
+ update formson_0225 set
+
+ field0045 =#{payDate},
+ field0044 =#{payResult}
+
+ where field0001=#{dtlSeqNum} and field0019=#{dtlAmount} and field0035=#{dtlCnapsCode} and field0037=#{dtlRevName}
+
+
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/AgentPaymentEntity.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/AgentPaymentEntity.java
new file mode 100644
index 00000000..b4b2748a
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/AgentPaymentEntity.java
@@ -0,0 +1,145 @@
+package com.hzya.frame.seeyon.cbs8.entity;
+
+import com.hzya.frame.web.entity.BaseEntity;
+
+/**
+ * @Description 代发代扣 主表
+ * @Author xiangerlin
+ * @Date 2024/6/18 14:44
+ **/
+public class AgentPaymentEntity extends BaseEntity {
+
+ //oa id
+ private String oaId;
+ private String finishedflag;
+ //流程标题
+ private String title;
+ //业务参考号
+ private String referenceNum;
+ /**
+ * 业务类型
+ * 201-代扣
+ * 203-代发
+ * 代发工资传203
+ */
+ private String busType;
+ //总金额 小数位2位
+ private String amount;
+ //币种
+ private String currency;
+ //付款账号
+ private String payAccount;
+ //用途
+ private String purpose;
+ //申请单号
+ private String applyCode;
+ //支付结果
+ private String payResult;
+
+ private String tableName;//表名称
+ private String billName;//单据名称
+
+ public String getReferenceNum() {
+ return referenceNum;
+ }
+
+ public void setReferenceNum(String referenceNum) {
+ this.referenceNum = referenceNum;
+ }
+
+ public String getBusType() {
+ return busType;
+ }
+
+ public void setBusType(String busType) {
+ this.busType = busType;
+ }
+
+ public String getAmount() {
+ return amount;
+ }
+
+ public void setAmount(String amount) {
+ this.amount = amount;
+ }
+
+ public String getCurrency() {
+ return currency;
+ }
+
+ public void setCurrency(String currency) {
+ this.currency = currency;
+ }
+
+ public String getPayAccount() {
+ return payAccount;
+ }
+
+ public void setPayAccount(String payAccount) {
+ this.payAccount = payAccount;
+ }
+
+ public String getPurpose() {
+ return purpose;
+ }
+
+ public void setPurpose(String purpose) {
+ this.purpose = purpose;
+ }
+
+ public String getTableName() {
+ return tableName;
+ }
+
+ public void setTableName(String tableName) {
+ this.tableName = tableName;
+ }
+
+ public String getBillName() {
+ return billName;
+ }
+
+ public void setBillName(String billName) {
+ this.billName = billName;
+ }
+
+ public String getOaId() {
+ return oaId;
+ }
+
+ public void setOaId(String oaId) {
+ this.oaId = oaId;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public String getFinishedflag() {
+ return finishedflag;
+ }
+
+ public void setFinishedflag(String finishedflag) {
+ this.finishedflag = finishedflag;
+ }
+
+ public String getApplyCode() {
+ return applyCode;
+ }
+
+ public void setApplyCode(String applyCode) {
+ this.applyCode = applyCode;
+ }
+
+ public String getPayResult() {
+ return payResult;
+ }
+
+ public void setPayResult(String payResult) {
+ this.payResult = payResult;
+ }
+}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/AgentPaymentEntity.xml b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/AgentPaymentEntity.xml
new file mode 100644
index 00000000..c0b0f6f0
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/AgentPaymentEntity.xml
@@ -0,0 +1,126 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ oaId,
+ tableName,
+ finishedflag,
+ title,
+ billName,
+ referenceNum,
+ busType,
+ amount,
+ currency,
+ payAccount,
+ applyCode,
+ payResult,
+ purpose
+
+
+
+
+
+
+
+
+
+
+ update formmain_0224 set
+
+ field0043 =#{applyCode},
+ field0046 =#{payResult}
+
+ where id = #{oaId}
+
+
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/CbsLogEntity.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/CbsLogEntity.java
new file mode 100644
index 00000000..21cc1a4f
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/CbsLogEntity.java
@@ -0,0 +1,151 @@
+package com.hzya.frame.seeyon.cbs8.entity;
+
+import com.hzya.frame.web.entity.BaseEntity;
+
+/**
+ * @Description cbs支付日志
+ * @Author xiangerlin
+ * @Date 2024/6/14 17:16
+ **/
+public class CbsLogEntity extends BaseEntity {
+ //流程标题
+ private String title;
+ //请款主体
+ private String pay_company;
+ //收款人
+ private String payee;
+ //金额
+ private String amount;
+ //cbs申请单号
+ private String cbs_apply_code;
+ //日志表id
+ private String id;
+ //oa单据id
+ private String oa_id;
+ //oa单据号
+ private String bill_code;
+ //英文表名
+ private String tab_name_en;
+ //中文表名
+ private String tab_name_ch;
+ //支付状态
+ private String pay_state;
+ //支付信息
+ private String message;
+ //支付申请状态
+ private String apply_state;
+ //成功标记
+ private String successed;
+
+ public String getOa_id() {
+ return oa_id;
+ }
+
+ public void setOa_id(String oa_id) {
+ this.oa_id = oa_id;
+ }
+
+ public String getBill_code() {
+ return bill_code;
+ }
+
+ public void setBill_code(String bill_code) {
+ this.bill_code = bill_code;
+ }
+
+ public String getTab_name_en() {
+ return tab_name_en;
+ }
+
+ public void setTab_name_en(String tab_name_en) {
+ this.tab_name_en = tab_name_en;
+ }
+
+ public String getTab_name_ch() {
+ return tab_name_ch;
+ }
+
+ public void setTab_name_ch(String tab_name_ch) {
+ this.tab_name_ch = tab_name_ch;
+ }
+
+ public String getPay_state() {
+ return pay_state;
+ }
+
+ public void setPay_state(String pay_state) {
+ this.pay_state = pay_state;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public String getApply_state() {
+ return apply_state;
+ }
+
+ public void setApply_state(String apply_state) {
+ this.apply_state = apply_state;
+ }
+
+ public String getSuccessed() {
+ return successed;
+ }
+
+ public void setSuccessed(String successed) {
+ this.successed = successed;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public String getPay_company() {
+ return pay_company;
+ }
+
+ public void setPay_company(String pay_company) {
+ this.pay_company = pay_company;
+ }
+
+ public String getPayee() {
+ return payee;
+ }
+
+ public void setPayee(String payee) {
+ this.payee = payee;
+ }
+
+ public String getAmount() {
+ return amount;
+ }
+
+ public void setAmount(String amount) {
+ this.amount = amount;
+ }
+
+ public String getCbs_apply_code() {
+ return cbs_apply_code;
+ }
+
+ public void setCbs_apply_code(String cbs_apply_code) {
+ this.cbs_apply_code = cbs_apply_code;
+ }
+}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/CbsLogEntity.xml b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/CbsLogEntity.xml
new file mode 100644
index 00000000..3e03a88a
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/CbsLogEntity.xml
@@ -0,0 +1,116 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ id,
+ field0002 as title,
+ field0003 as pay_company,
+ field0004 as payee,
+ field0005 as cbs_apply_code,
+ field0006 as bill_code,
+ field0007 as oa_id,
+ field0008 as tab_name_ch,
+ field0009 as tab_name_en,
+ field0010 as pay_state,
+ field0011 as message,
+ field0012 as apply_state,
+ field0014 as successed
+
+
+
+
+
+
+
+
+
+
+
+
+ update formmain_0232 set
+
+ field0010 =#{pay_state},
+ field0011 =#{message},
+ field0012 =#{apply_state},
+ field0014 =#{successed}
+
+ where id = #{id}
+
+
+
+
+
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/PaymentEntity.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/PaymentEntity.java
new file mode 100644
index 00000000..9f68e3ff
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/PaymentEntity.java
@@ -0,0 +1,327 @@
+package com.hzya.frame.seeyon.cbs8.entity;
+
+import com.hzya.frame.web.entity.BaseEntity;
+
+/**
+ * @Description
+ * @Author xiangerlin
+ * @Date 2024/6/6 16:17
+ **/
+public class PaymentEntity extends BaseEntity {
+
+ private String oaId;//主表id
+ private String formsonId;//明细表id
+ private String payCompany;//付款公司
+ private String title;//流程标题
+ private String tableName;//表名称
+ private String billName;//单据名称
+ private String referenceNum;//业务参考号 唯一id
+ private String referenceNumNew;//重试的时候生成新的业务参考号
+ private String busType;//业务类型
+ private String payResultField;//支付结果字段
+ private String payDateField;//打款日期字段
+ private String applyCodeField;//支付申请单号字段
+ private String receiptFiled;//电子回单字段
+ private String summaryId;//summaryid
+ private String startDate;//单据日期
+ private String finishedflag;//流程状态
+ private String payDate;//打款日期
+ private String payResult;//支付结果
+ private String applyCode;//支付申请单号
+ private String payAccount;//付款账号
+ private String payBankName;//付款开户银行
+ private String amount;//金额
+ private String purpose;//支付用途
+ private String revAccount;//收款账号
+ private String revBankName;//收款开户行名称
+ private String revBankType;//收款银行类型
+ private String revAccountName;//收款账户名称
+ private String cnapsCode;//联行号
+ private String receipt;//电子回单
+ private String currency;//币种 数字
+ private String currencyName;//币种 中文
+ private String currencyCode;//币种编码
+ private String personalFlag;//公私标记
+ private String payType;//付款类别
+ private String payCompanyCode;//付款公司编码
+
+ public String getOaId() {
+ return oaId;
+ }
+
+ public void setOaId(String oaId) {
+ this.oaId = oaId;
+ }
+
+ public String getPayCompany() {
+ return payCompany;
+ }
+
+ public void setPayCompany(String payCompany) {
+ this.payCompany = payCompany;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public String getTableName() {
+ return tableName;
+ }
+
+ public void setTableName(String tableName) {
+ this.tableName = tableName;
+ }
+
+ public String getBillName() {
+ return billName;
+ }
+
+ public void setBillName(String billName) {
+ this.billName = billName;
+ }
+
+ public String getReferenceNum() {
+ return referenceNum;
+ }
+
+ public void setReferenceNum(String referenceNum) {
+ this.referenceNum = referenceNum;
+ }
+
+ public String getReferenceNumNew() {
+ return referenceNumNew;
+ }
+
+ public void setReferenceNumNew(String referenceNumNew) {
+ this.referenceNumNew = referenceNumNew;
+ }
+
+ public String getBusType() {
+ return busType;
+ }
+
+ public void setBusType(String busType) {
+ this.busType = busType;
+ }
+
+ public String getPayResultField() {
+ return payResultField;
+ }
+
+ public void setPayResultField(String payResultField) {
+ this.payResultField = payResultField;
+ }
+
+ public String getPayDateField() {
+ return payDateField;
+ }
+
+ public void setPayDateField(String payDateField) {
+ this.payDateField = payDateField;
+ }
+
+ public String getReceiptFiled() {
+ return receiptFiled;
+ }
+
+ public void setReceiptFiled(String receiptFiled) {
+ this.receiptFiled = receiptFiled;
+ }
+
+ public String getSummaryId() {
+ return summaryId;
+ }
+
+ public void setSummaryId(String summaryId) {
+ this.summaryId = summaryId;
+ }
+
+ public String getStartDate() {
+ return startDate;
+ }
+
+ public void setStartDate(String startDate) {
+ this.startDate = startDate;
+ }
+
+ public String getFinishedflag() {
+ return finishedflag;
+ }
+
+ public void setFinishedflag(String finishedflag) {
+ this.finishedflag = finishedflag;
+ }
+
+ public String getPayDate() {
+ return payDate;
+ }
+
+ public void setPayDate(String payDate) {
+ this.payDate = payDate;
+ }
+
+ public String getPayResult() {
+ return payResult;
+ }
+
+ public void setPayResult(String payResult) {
+ this.payResult = payResult;
+ }
+
+ public String getPayAccount() {
+ return payAccount;
+ }
+
+ public void setPayAccount(String payAccount) {
+ this.payAccount = payAccount;
+ }
+
+ public String getPayBankName() {
+ return payBankName;
+ }
+
+ public void setPayBankName(String payBankName) {
+ this.payBankName = payBankName;
+ }
+
+ public String getAmount() {
+ return amount;
+ }
+
+ public void setAmount(String amount) {
+ this.amount = amount;
+ }
+
+ public String getPurpose() {
+ return purpose;
+ }
+
+ public void setPurpose(String purpose) {
+ this.purpose = purpose;
+ }
+
+ public String getRevAccount() {
+ return revAccount;
+ }
+
+ public void setRevAccount(String revAccount) {
+ this.revAccount = revAccount;
+ }
+
+ public String getRevBankName() {
+ return revBankName;
+ }
+
+ public void setRevBankName(String revBankName) {
+ this.revBankName = revBankName;
+ }
+
+ public String getRevBankType() {
+ return revBankType;
+ }
+
+ public void setRevBankType(String revBankType) {
+ this.revBankType = revBankType;
+ }
+
+ public String getRevAccountName() {
+ return revAccountName;
+ }
+
+ public void setRevAccountName(String revAccountName) {
+ this.revAccountName = revAccountName;
+ }
+
+ public String getCnapsCode() {
+ return cnapsCode;
+ }
+
+ public void setCnapsCode(String cnapsCode) {
+ this.cnapsCode = cnapsCode;
+ }
+
+ public String getReceipt() {
+ return receipt;
+ }
+
+ public void setReceipt(String receipt) {
+ this.receipt = receipt;
+ }
+
+ public String getCurrency() {
+ return currency;
+ }
+
+ public void setCurrency(String currency) {
+ this.currency = currency;
+ }
+
+ public String getCurrencyName() {
+ return currencyName;
+ }
+
+ public void setCurrencyName(String currencyName) {
+ this.currencyName = currencyName;
+ }
+
+ public String getCurrencyCode() {
+ return currencyCode;
+ }
+
+ public void setCurrencyCode(String currencyCode) {
+ this.currencyCode = currencyCode;
+ }
+
+ public String getPersonalFlag() {
+ return personalFlag;
+ }
+
+ public void setPersonalFlag(String personalFlag) {
+ this.personalFlag = personalFlag;
+ }
+
+ public String getPayType() {
+ return payType;
+ }
+
+ public void setPayType(String payType) {
+ this.payType = payType;
+ }
+
+ public String getPayCompanyCode() {
+ return payCompanyCode;
+ }
+
+ public void setPayCompanyCode(String payCompanyCode) {
+ this.payCompanyCode = payCompanyCode;
+ }
+
+ public String getFormsonId() {
+ return formsonId;
+ }
+
+ public void setFormsonId(String formsonId) {
+ this.formsonId = formsonId;
+ }
+
+ public String getApplyCodeField() {
+ return applyCodeField;
+ }
+
+ public void setApplyCodeField(String applyCodeField) {
+ this.applyCodeField = applyCodeField;
+ }
+
+ public String getApplyCode() {
+ return applyCode;
+ }
+
+ public void setApplyCode(String applyCode) {
+ this.applyCode = applyCode;
+ }
+}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/PaymentEntity.xml b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/PaymentEntity.xml
new file mode 100644
index 00000000..b8d3deee
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/PaymentEntity.xml
@@ -0,0 +1,339 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ oaId,
+ formsonId,
+ payCompany,
+ payCompanyCode,
+ title,
+ tableName,
+ billName,
+ referenceNum,
+ busType,
+ payResultField,
+ payDateField,
+ applyCodeField,
+ receiptFiled,
+ summaryId,
+ startDate,
+ finishedflag,
+ payDate,
+ payResult,
+ applyCode,
+ payAccount,
+ payBankName,
+ amount,
+ purpose,
+ revAccount,
+ revBankName,
+ revBankType,
+ revAccountName,
+ cnapsCode,
+ receipt,
+ currency,
+ personalFlag,
+ payType
+
+
+
+
+ SELECT
+ formmain_0209.id as oaId, -- 主表id
+ formson_0210.formsonId,
+ 'formson_0210' as tableName, -- 表名
+ COL_SUMMARY.SUBJECT as title, -- 单据标题
+ unit.name as payCompany, -- 付款公司
+ '差旅费报销单' as billName,
+ 'field0072' as payResultField, -- 支付结果字段
+ 'field0073' as payDateField, -- 打款日期字段
+ 'field0080' AS applyCodeField,-- CBS支付申请单号
+ '' as receiptFiled,-- 电子回单字段
+ COL_SUMMARY.id as summaryId,
+ formmain_0209.field0017||'-'||formson_0210.sort as referenceNum, -- 单据编号
+ formmain_0209.START_DATE as startDate, -- 单据日期
+ formmain_0209.FINISHEDFLAG as finishedflag, -- 流程状态
+ formson_0210.field0073 as payDate, -- 打款日期
+ formson_0210.field0072 as payResult, -- 支付结果
+ formson_0210.field0080 AS applyCode,-- 支付申请单号
+ REGEXP_REPLACE(formmain_0209.field0042, '[[:space:]]', '') as payAccount, -- 付款账户
+ REGEXP_REPLACE(formmain_0209.field0041, '[[:space:]]', '') as payBankName, -- 付款开户行
+ formson_0210.field0031 as amount, -- 金额
+ formmain_0209.field0038 as purpose, -- 用途
+ formmain_0209.field0038 as cbsAbstract, -- 摘要
+ REGEXP_REPLACE(formson_0210.field0069, '[[:space:]]', '') as revAccount, -- 收款账户
+ formson_0210.field0068 as revBankName, -- 收款开户行
+ formson_0210.field0075 as revAccountName, -- 收款人
+ REGEXP_REPLACE(formson_0210.field0071, '[[:space:]]', '') as cnapsCode, -- 收款联行号
+ item.ENUMVALUE as personalFlag,-- 公私标记
+ formson_0210.field0079 as revBankType,
+ '10' as currency,
+ '202' as busType,
+ '' as receipt -- 电子回单
+ FROM
+ (
+ SELECT
+ WM_CONCAT(id) AS formsonId,
+ formmain_id,
+ SUM(field0031) AS field0031,
+ MIN(sort) AS sort,
+ field0068,
+ field0069,
+ field0071,
+ field0079,
+ field0075,
+ field0070,
+ field0072,
+ field0073,
+ field0080
+ FROM
+ formson_0210
+ WHERE
+ field0067 = '-5486592002512828355'
+ GROUP BY
+ formmain_id,
+ field0068,
+ field0069,
+ field0071,
+ field0079,
+ field0075,
+ field0070,
+ field0072,
+ field0073,
+ field0080
+ )formson_0210
+ LEFT JOIN formmain_0209 ON formson_0210.FORMMAIN_ID = formmain_0209.id
+ LEFT JOIN COL_SUMMARY ON COL_SUMMARY.FORM_RECORDID = formmain_0209.id
+ left join CTP_ENUM_ITEM item on item.id =formson_0210.field0070
+ left join ORG_UNIT unit on unit.id =formmain_0209.field0002
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ update ${tableName} set
+
+ ${payDateField} =#{payDate},
+ ${payResultField} =#{payResult},
+ ${applyCodeField} =#{applyCode}
+
+ where id = #{formsonId}
+
+
+
+
+ update ${tableName} set ${receiptFiled}=#{receipt} where id = #{oaId} and ${receiptFiled} is null
+
+
+
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/TransactionDetailEntity.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/TransactionDetailEntity.java
new file mode 100644
index 00000000..e1d66a2d
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/TransactionDetailEntity.java
@@ -0,0 +1,155 @@
+package com.hzya.frame.seeyon.cbs8.entity;
+
+import com.hzya.frame.web.entity.BaseEntity;
+
+/**
+ * @Description cbs交易明细日志OA底表
+ * @Author xiangerlin
+ * @Date 2024/6/24 10:49
+ **/
+public class TransactionDetailEntity extends BaseEntity {
+ private String id;//id
+ private String accountNo;//银行账号
+ private String accountName;//户名
+ private String openBank;//开户行名称
+ private String bankType;//我方银行类型
+ private String bankTransactionDate;//交易日期
+ private String transactionSerialNumber;//交易流水号
+ private String bankSerialNumber;//银行流水号
+ private String currency;//币种
+ private String incurredAmount;//发生额
+ private String purpose;//用途
+ private String digest;//摘要
+ private String oppositeAccount;//对方账号
+ private String oppositeName;//对方户名
+ private String oppositeOpeningBank;//对方开户行
+
+ private String remark;//备注
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getAccountNo() {
+ return accountNo;
+ }
+
+ public void setAccountNo(String accountNo) {
+ this.accountNo = accountNo;
+ }
+
+ public String getAccountName() {
+ return accountName;
+ }
+
+ public void setAccountName(String accountName) {
+ this.accountName = accountName;
+ }
+
+ public String getOpenBank() {
+ return openBank;
+ }
+
+ public void setOpenBank(String openBank) {
+ this.openBank = openBank;
+ }
+
+ public String getBankTransactionDate() {
+ return bankTransactionDate;
+ }
+
+ public void setBankTransactionDate(String bankTransactionDate) {
+ this.bankTransactionDate = bankTransactionDate;
+ }
+
+ public String getTransactionSerialNumber() {
+ return transactionSerialNumber;
+ }
+
+ public void setTransactionSerialNumber(String transactionSerialNumber) {
+ this.transactionSerialNumber = transactionSerialNumber;
+ }
+
+ public String getCurrency() {
+ return currency;
+ }
+
+ public void setCurrency(String currency) {
+ this.currency = currency;
+ }
+
+ public String getIncurredAmount() {
+ return incurredAmount;
+ }
+
+ public void setIncurredAmount(String incurredAmount) {
+ this.incurredAmount = incurredAmount;
+ }
+
+ public String getPurpose() {
+ return purpose;
+ }
+
+ public void setPurpose(String purpose) {
+ this.purpose = purpose;
+ }
+
+ public String getDigest() {
+ return digest;
+ }
+
+ public void setDigest(String digest) {
+ this.digest = digest;
+ }
+
+ public String getOppositeAccount() {
+ return oppositeAccount;
+ }
+
+ public void setOppositeAccount(String oppositeAccount) {
+ this.oppositeAccount = oppositeAccount;
+ }
+
+ public String getOppositeName() {
+ return oppositeName;
+ }
+
+ public void setOppositeName(String oppositeName) {
+ this.oppositeName = oppositeName;
+ }
+
+ public String getOppositeOpeningBank() {
+ return oppositeOpeningBank;
+ }
+
+ public void setOppositeOpeningBank(String oppositeOpeningBank) {
+ this.oppositeOpeningBank = oppositeOpeningBank;
+ }
+
+ public String getBankType() {
+ return bankType;
+ }
+
+ public void setBankType(String bankType) {
+ this.bankType = bankType;
+ }
+
+ public String getBankSerialNumber() {
+ return bankSerialNumber;
+ }
+
+ public void setBankSerialNumber(String bankSerialNumber) {
+ this.bankSerialNumber = bankSerialNumber;
+ }
+
+ public String getRemark() {
+ return remark;
+ }
+
+ public void setRemark(String remark) {
+ this.remark = remark;
+ }
+}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/TransactionDetailEntity.xml b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/TransactionDetailEntity.xml
new file mode 100644
index 00000000..3fa7fc60
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/entity/TransactionDetailEntity.xml
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ id,
+ field0001 as accountNo,
+ field0002 as accountName,
+ field0003 as openBank,
+ field0004 as bankType,
+ field0005 as transactionSerialNumber,
+ field0006 as bankTransactionDate,
+ field0007 as bankSerialNumber,
+ field0008 as currency,
+ field0009 as incurredAmount,
+ field0010 as purpose,
+ field0011 as digest,
+ field0012 as oppositeAccount,
+ field0013 as oppositeName,
+ field0014 as oppositeOpeningBank,
+ field0015 as remark
+
+
+
+
+
+
+
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/IAgentPaymentDetailService.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/IAgentPaymentDetailService.java
new file mode 100644
index 00000000..f0a4811b
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/IAgentPaymentDetailService.java
@@ -0,0 +1,18 @@
+package com.hzya.frame.seeyon.cbs8.service;
+
+import com.hzya.frame.basedao.service.IBaseService;
+import com.hzya.frame.seeyon.cbs8.entity.AgentPaymentDetailEntity;
+import com.hzya.frame.seeyon.cbs8.entity.AgentPaymentEntity;
+
+/**
+ * @Description 代发代扣明细
+ * @Author xiangerlin
+ * @Date 2024/6/26 11:00
+ **/
+public interface IAgentPaymentDetailService extends IBaseService {
+ /**
+ * 更新明细表支付状态
+ * @param detail
+ */
+ void updatePayResult(AgentPaymentDetailEntity detail);
+}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/IAgentPaymentService.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/IAgentPaymentService.java
new file mode 100644
index 00000000..dcb6d78f
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/IAgentPaymentService.java
@@ -0,0 +1,45 @@
+package com.hzya.frame.seeyon.cbs8.service;
+
+import com.hzya.frame.basedao.service.IBaseService;
+import com.hzya.frame.seeyon.cbs8.entity.AgentPaymentDetailEntity;
+import com.hzya.frame.seeyon.cbs8.entity.AgentPaymentEntity;
+
+import java.util.List;
+
+/**
+ * @Description OA代发代扣
+ * @Author xiangerlin
+ * @Date 2024/6/18 15:04
+ **/
+public interface IAgentPaymentService extends IBaseService {
+
+ /**
+ * 查询待支付待代发代扣 主表
+ * @param entity
+ * @return
+ * @throws Exception
+ */
+ List queryUnpaid(AgentPaymentEntity entity) throws Exception;
+
+ /**
+ * 根据支付申请单号查询
+ * @param agentPayment
+ * @return
+ * @throws Exception
+ */
+ AgentPaymentEntity queryByApplyCode(AgentPaymentEntity agentPayment)throws Exception;
+
+ /**
+ * 查询明细表
+ * @param entity
+ * @return
+ * @throws Exception
+ */
+ List queryDetails(AgentPaymentDetailEntity entity)throws Exception;
+
+ /**
+ * 更新支付状态
+ * @param entity
+ */
+ void updateResult(AgentPaymentEntity entity);
+}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/ICbsLogService.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/ICbsLogService.java
new file mode 100644
index 00000000..7160c21f
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/ICbsLogService.java
@@ -0,0 +1,53 @@
+package com.hzya.frame.seeyon.cbs8.service;
+
+import com.alibaba.fastjson.JSONObject;
+import com.hzya.frame.basedao.service.IBaseService;
+import com.hzya.frame.seeyon.cbs8.entity.CbsLogEntity;
+import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity;
+
+import java.util.List;
+
+/**
+ * @Description cbs8支付日志
+ * @Author xiangerlin
+ * @Date 2024/6/14 17:22
+ **/
+public interface ICbsLogService extends IBaseService {
+ /**
+ * 查询支付中的数据
+ * @param logEntity
+ * @return
+ */
+ List queryInPayment(CbsLogEntity logEntity);
+ /**
+ * 保存日志,通过rest接口的形式
+ * @param logEntity
+ */
+ void saveLog(CbsLogEntity logEntity);
+
+ /**
+ * 补推,从自己开发的页面或者APIpost
+ * 需要传oa表单id和表单编号
+ * @param entity
+ */
+ void retry(CbsLogEntity entity);
+ /**
+ * 补推,从OA页面
+ * 只需要传日志表id就行
+ * @param jsonObject
+ */
+ void resend(JSONObject jsonObject);
+
+ /**
+ * 获取token
+ * @param entity
+ * @return
+ */
+ SysExtensionApiEntity getTokenExt(SysExtensionApiEntity entity);
+
+ /**
+ * 更新日志
+ * @param logEntity
+ */
+ void updateLog(CbsLogEntity logEntity);
+}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/IPaymentService.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/IPaymentService.java
new file mode 100644
index 00000000..4243084c
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/IPaymentService.java
@@ -0,0 +1,63 @@
+package com.hzya.frame.seeyon.cbs8.service;
+
+import com.hzya.frame.basedao.service.IBaseService;
+import com.hzya.frame.seeyon.cbs8.entity.PaymentEntity;
+
+import java.util.List;
+
+/**
+ * @Description oa对接cbs
+ * @Author xiangerlin
+ * @Date 2024/6/6 16:31
+ **/
+public interface IPaymentService extends IBaseService {
+
+ /**
+ * 查询待支付的数据 需要推送到CBS的
+ * 如果需要查询流程状态已结束的 需要调用方设置finishedflag=1
+ * @param entity
+ * @return
+ * @throws Exception
+ */
+ List queryUnpaid(PaymentEntity entity)throws Exception;
+
+ /**
+ * 查询交易成功的数据
+ * 内置了查询条件payResult = PayState.payStateGetValue("g"); 支付成功
+ * @param entity
+ * @return
+ * @throws Exception
+ */
+ List querySuccess(PaymentEntity entity)throws Exception;
+
+ /**
+ * 查询交易成功,且电子回单为空的
+ * @param entity
+ * @return
+ * @throws Exception
+ */
+ List queryElecIsNull(PaymentEntity entity)throws Exception;
+
+ /**
+ * 查询支付中的数据
+ * 内置了查询条件 payResult = '支付中' or payResult not in ('审批撤销','审批拒绝','处理失败','退票','支付成功','取消支付','修改支付','支付失败')
+ * @param entity
+ * @return
+ * @throws Exception
+ */
+ List queryInPayment(PaymentEntity entity)throws Exception;
+
+ /**
+ * 更新支付状态
+ * @param entity
+ * @throws Exception
+ */
+ void updatePayState(PaymentEntity entity)throws Exception;
+
+ /**
+ * 更新电子回单字段
+ * @param entity
+ * @throws Exception
+ */
+ void updateElec(PaymentEntity entity)throws Exception;
+}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/ITransactionDetailService.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/ITransactionDetailService.java
new file mode 100644
index 00000000..61126686
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/ITransactionDetailService.java
@@ -0,0 +1,29 @@
+package com.hzya.frame.seeyon.cbs8.service;
+
+import com.hzya.frame.basedao.service.IBaseService;
+import com.hzya.frame.seeyon.cbs8.entity.TransactionDetailEntity;
+
+import java.util.List;
+
+/**
+ * @Description cbs交易明细 OA底表
+ * @Author xiangerlin
+ * @Date 2024/6/24 11:07
+ **/
+public interface ITransactionDetailService extends IBaseService {
+
+
+ /**
+ * 只返回交易流水号
+ * @param entity
+ * @return
+ */
+ List querySerialNumber(TransactionDetailEntity entity);
+
+ /**
+ * 保存交易明细,通过rest接口的方式
+ * @param entity
+ * @throws Exception
+ */
+ void restSave(TransactionDetailEntity entity);
+}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/impl/AgentPaymentDetailServiceImpl.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/impl/AgentPaymentDetailServiceImpl.java
new file mode 100644
index 00000000..8bbbad34
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/impl/AgentPaymentDetailServiceImpl.java
@@ -0,0 +1,39 @@
+package com.hzya.frame.seeyon.cbs8.service.impl;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.hzya.frame.basedao.service.impl.BaseService;
+import com.hzya.frame.seeyon.cbs8.dao.IAgentPaymentDetailDao;
+import com.hzya.frame.seeyon.cbs8.entity.AgentPaymentDetailEntity;
+import com.hzya.frame.seeyon.cbs8.entity.AgentPaymentEntity;
+import com.hzya.frame.seeyon.cbs8.service.IAgentPaymentDetailService;
+import com.hzya.frame.seeyon.cbs8.service.IAgentPaymentService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Description
+ * @Author xiangerlin
+ * @Date 2024/6/26 11:01
+ **/
+@Service("OAAgentPaymentDetailServiceImpl")
+public class AgentPaymentDetailServiceImpl extends BaseService implements IAgentPaymentDetailService {
+
+ private IAgentPaymentDetailDao agentPaymentDetailDao;
+
+ @Autowired
+ public void setAgentPaymentDetailDao(IAgentPaymentDetailDao agentPaymentDetailDao) {
+ this.agentPaymentDetailDao = agentPaymentDetailDao;
+ this.dao = agentPaymentDetailDao;
+ }
+
+ /**
+ * 更新明细表支付状态
+ *
+ * @param detail
+ */
+ @DS("#detail.dataSourceCode")
+ @Override
+ public void updatePayResult(AgentPaymentDetailEntity detail) {
+ agentPaymentDetailDao.update("com.hzya.frame.seeyon.cbs8.dao.impl.AgentPaymentDetailDaoImpl.entity_update_result",detail);
+ }
+}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/impl/AgentPaymentServiceImpl.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/impl/AgentPaymentServiceImpl.java
new file mode 100644
index 00000000..ab3ab4b9
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/impl/AgentPaymentServiceImpl.java
@@ -0,0 +1,93 @@
+package com.hzya.frame.seeyon.cbs8.service.impl;
+
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.hzya.frame.basedao.service.impl.BaseService;
+import com.hzya.frame.seeyon.cbs8.dao.IAgentPaymentDao;
+import com.hzya.frame.seeyon.cbs8.dao.IAgentPaymentDetailDao;
+import com.hzya.frame.seeyon.cbs8.entity.AgentPaymentDetailEntity;
+import com.hzya.frame.seeyon.cbs8.entity.AgentPaymentEntity;
+import com.hzya.frame.seeyon.cbs8.service.IAgentPaymentDetailService;
+import com.hzya.frame.seeyon.cbs8.service.IAgentPaymentService;
+import com.hzya.frame.web.exception.BaseSystemException;
+import org.apache.commons.collections.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @Description
+ * @Author xiangerlin
+ * @Date 2024/6/18 15:06
+ **/
+@Service(value = "cbs8AgentPaymentServiceImpl")
+public class AgentPaymentServiceImpl extends BaseService implements IAgentPaymentService {
+
+ private IAgentPaymentDao agentPaymentDao;
+
+ @Autowired
+ private IAgentPaymentDetailService agentPaymentDetailService;
+ @Autowired
+ public void setAgentPaymentDao(IAgentPaymentDao agentPaymentDao) {
+ this.agentPaymentDao = agentPaymentDao;
+ this.dao = agentPaymentDao;
+ }
+ /**
+ * 查询待支付待代发代扣 主表
+ *
+ * @param entity
+ * @return
+ * @throws Exception
+ */
+ @DS("#entity.dataSourceCode")
+ @Override
+ public List queryUnpaid(AgentPaymentEntity entity) throws Exception {
+ List list = agentPaymentDao.queryList(entity, "com.hzya.frame.seeyon.cbs8.dao.impl.AgentPaymentDaoImpl.entity_list_base_unpaid");
+ return list;
+ }
+
+ /**
+ * 根据支付申请单号查询
+ *
+ * @param entity
+ * @return
+ * @throws Exception
+ */
+ @Override
+ public AgentPaymentEntity queryByApplyCode(AgentPaymentEntity entity) throws Exception {
+ if (null != entity && StrUtil.isNotEmpty(entity.getApplyCode())){
+ List list = agentPaymentDao.query(entity);
+ if (CollectionUtils.isNotEmpty(list)){
+ if (list.size() > 1){
+ throw new BaseSystemException("根据"+entity.getApplyCode()+"查询到多条记录");
+ }
+ return list.get(0);
+ }
+ }
+ return null;
+ }
+
+ /**
+ * 查询明细表
+ *
+ * @param entity
+ * @return
+ * @throws Exception
+ */
+ @DS("#entity.dataSourceCode")
+ @Override
+ public List queryDetails(AgentPaymentDetailEntity entity) throws Exception {
+ List list = agentPaymentDetailService.query(entity);
+ return list;
+ }
+
+ /**
+ * @param entity
+ */
+ @DS("#entity.dataSourceCode")
+ @Override
+ public void updateResult(AgentPaymentEntity entity) {
+ agentPaymentDao.update("com.hzya.frame.seeyon.cbs8.dao.impl.AgentPaymentDaoImpl.entity_update",entity);
+ }
+}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/impl/CbsLogServiceImpl.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/impl/CbsLogServiceImpl.java
new file mode 100644
index 00000000..07a89a52
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/impl/CbsLogServiceImpl.java
@@ -0,0 +1,198 @@
+package com.hzya.frame.seeyon.cbs8.service.impl;
+
+import cn.hutool.core.map.MapBuilder;
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.http.HttpRequest;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.hzya.frame.basedao.service.impl.BaseService;
+import com.hzya.frame.seeyon.cbs8.dao.ICbsLogDao;
+import com.hzya.frame.seeyon.cbs8.entity.CbsLogEntity;
+import com.hzya.frame.seeyon.cbs8.entity.PaymentEntity;
+import com.hzya.frame.seeyon.cbs8.service.ICbsLogService;
+import com.hzya.frame.seeyon.util.OAPayState;
+import com.hzya.frame.seeyon.util.OARestUtil;
+import com.hzya.frame.stringutil.StringUtil;
+import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity;
+import com.hzya.frame.web.exception.BaseSystemException;
+import org.apache.commons.collections.CollectionUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description cbs8支付日志
+ * @Author xiangerlin
+ * @Date 2024/6/14 17:22
+ **/
+@Service(value = "CbsLogServiceImpl")
+public class CbsLogServiceImpl extends BaseService implements ICbsLogService {
+
+
+ Logger log = LoggerFactory.getLogger(getClass());
+
+ private ICbsLogDao cbsLogDao;
+ @Value("${OA.data_source_code:}")
+ private String oa_data_source_code;
+ @Autowired
+ public void setCbsLogDao(ICbsLogDao cbsLogDao) {
+ this.cbsLogDao = cbsLogDao;
+ this.dao = cbsLogDao;
+ }
+ @Autowired
+ private OARestUtil restUtil;
+
+ /**
+ * 查询支付中的数据
+ *
+ * @param logEntity
+ * @return
+ */
+ @DS("#logEntity.dataSourceCode")
+ @Override
+ public List queryInPayment(CbsLogEntity logEntity) {
+ List logList = cbsLogDao.queryList(logEntity, "CbsLogEntity_list_base_in_payment");
+ return logList;
+ }
+
+ /**
+ * 保存日志,通过rest接口的形式
+ *
+ * @param cbsLogEntity
+ */
+ @Override
+ public void saveLog(CbsLogEntity cbsLogEntity) {
+ String oa_id = StringUtil.nullConvert(cbsLogEntity.getOa_id());
+ String bill_code = StringUtil.nullConvert(cbsLogEntity.getBill_code());
+ String tab_name_en = StringUtil.nullConvert(cbsLogEntity.getTab_name_en());
+ String tab_name_ch = StringUtil.nullConvert(cbsLogEntity.getTab_name_ch());
+ String pay_state = StringUtil.nullConvert(cbsLogEntity.getPay_state());
+ String message = StringUtil.nullConvert(cbsLogEntity.getMessage());
+ String apply_state = StringUtil.nullConvert(cbsLogEntity.getApply_state());
+ String successed = StringUtil.nullConvert(cbsLogEntity.getSuccessed());
+ String title = StringUtil.nullConvert(cbsLogEntity.getTitle());
+ String pay_company = StringUtil.nullConvert(cbsLogEntity.getPay_company());
+ String payee = StringUtil.nullConvert(cbsLogEntity.getPayee());
+ String amount = StringUtil.nullConvert(cbsLogEntity.getAmount());
+ String cbs_apply_code = StringUtil.nullConvert(cbsLogEntity.getCbs_apply_code());
+ //根据oaid判断是否在日志表中存在,如果存在,则更新,如果不存在,则新增
+ CbsLogEntity cbsLogEntityResend=new CbsLogEntity();
+ cbsLogEntityResend.setOa_id(cbsLogEntity.getOa_id());
+ cbsLogEntityResend.setDataSourceCode(oa_data_source_code);
+ List queryList = query(cbsLogEntityResend);
+ if(CollectionUtils.isEmpty(queryList)){
+ String data = StrUtil.format(getXmlTemplate(),title,pay_company,payee,amount,cbs_apply_code,bill_code,oa_id,tab_name_ch,tab_name_en,pay_state,message,apply_state,successed);
+ Map headerMap = MapBuilder.create(true)
+ .put("apiCode", "8000240007")
+ .put("publicKey","ZJYAorA7JuRDfrVjywcx78BFcqlLwthgXNC65TXxxQMUHuxCe7eDIk+3zDUT+v578prj")//发送者
+ .put("secretKey","a54vt9Wx7gdBig+4JCkZ/lISIIL2m4ZEyZkXtW0uQVBDHS+V4SVgT6xhNblacri/j3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=")//发送者
+ .put("appId","800024")
+ .build();
+ JSONObject paramsTemplate = new JSONObject();
+ paramsTemplate.put("loginName", "hzya_rest");
+ paramsTemplate.put("dataXml", data);
+ String params = JSONObject.toJSONString(paramsTemplate);
+ logger.info("保存支付申请日志到OA底表请求参数:{}",params);
+ String body = HttpRequest.post("http://127.0.0.1:9999/kangarooDataCenterV3/entranceController/externalCallInterface").addHeaders(headerMap).body(params).timeout(60000).execute().body();
+ logger.info("保存支付申请日志到OA底表响应参数:{}",body);
+ }else{
+ for (CbsLogEntity logEntity : queryList) {
+ logEntity.setPay_state(pay_state);
+ logEntity.setMessage(message);
+ logEntity.setApply_state(apply_state);
+ logEntity.setSuccessed(successed);
+ logEntity.setBill_code(cbsLogEntity.getBill_code());
+ logEntity.setDataSourceCode(oa_data_source_code);
+ try {
+ update(logEntity);
+ }catch (Exception e){
+ e.printStackTrace();
+ logger.error("更新");
+ }
+ }
+ }
+ }
+
+ /**
+ * 补推,从自己开发的页面或者APIpost
+ * 需要传oa表单id和表单编号
+ *
+ * @param entity
+ */
+ @Override
+ public void retry(CbsLogEntity entity) {
+ PaymentEntity paymentEntity = new PaymentEntity();
+ paymentEntity.setOaId(entity.getOa_id());
+ paymentEntity.setReferenceNum(entity.getBill_code());
+ CbsLogEntity logEntity = new CbsLogEntity();
+ logEntity.setId(entity.getId());
+ logEntity = cbsLogDao.queryOne(logEntity);
+ String pay_state = logEntity.getPay_state();
+ if (OAPayState.h.getValue().equals(pay_state)
+ || OAPayState.three.getValue().equals(pay_state)
+ || OAPayState.k.getValue().equals(pay_state)
+ || "推送失败".equals(pay_state)){
+ //todo 调用重试方法
+ }else {
+ throw new BaseSystemException("只允许补推支付失败的记录");
+ }
+ }
+
+ /**
+ * 补推,从OA页面
+ * 只需要传日志表id就行
+ *
+ * @param jsonObject
+ */
+ @Override
+ public void resend(JSONObject jsonObject) {
+ if (null != jsonObject && StrUtil.isNotEmpty(jsonObject.getString("id"))){
+ String id = jsonObject.getString("id");
+ CbsLogEntity cbsLogEntity = new CbsLogEntity();
+ cbsLogEntity.setId(id);
+ cbsLogEntity =cbsLogDao.queryOne(cbsLogEntity);
+ if (null != cbsLogEntity && StrUtil.isNotEmpty(cbsLogEntity.getOa_id()) && StrUtil.isNotEmpty(cbsLogEntity.getBill_code())){
+ retry(cbsLogEntity);
+ }
+ }
+ }
+
+ /**
+ * 获取token
+ *
+ * @param entity
+ * @return
+ */
+ @Override
+ public SysExtensionApiEntity getTokenExt(SysExtensionApiEntity entity) {
+ String token = restUtil.getToken("hzya_rest", "8000240000");
+ Map headers = entity.getHeaders();
+ if (null == headers){
+ headers = new HashMap<>();
+ }
+ headers.put("token",token);
+ return entity;
+ }
+
+ /**
+ * 更新日志
+ *
+ * @param logEntity
+ */
+ @DS("#logEntity.dataSourceCode")
+ @Override
+ public void updateLog(CbsLogEntity logEntity) {
+ cbsLogDao.update(logEntity);
+ }
+
+ //获取xml模板
+ private String getXmlTemplate(){
+ return "";
+ }
+}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/impl/PaymentServiceImpl.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/impl/PaymentServiceImpl.java
new file mode 100644
index 00000000..3a8b01f1
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/impl/PaymentServiceImpl.java
@@ -0,0 +1,150 @@
+package com.hzya.frame.seeyon.cbs8.service.impl;
+
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.hzya.frame.basedao.service.impl.BaseService;
+import com.hzya.frame.seeyon.cbs8.dao.IPaymentDao;
+import com.hzya.frame.seeyon.cbs8.entity.PaymentEntity;
+import com.hzya.frame.seeyon.cbs8.service.IPaymentService;
+import com.hzya.frame.seeyon.util.OAPayState;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @Description
+ * @Author xiangerlin
+ * @Date 2024/6/6 16:34
+ **/
+@Service("OAPaymentServiceImpl")
+public class PaymentServiceImpl extends BaseService implements IPaymentService {
+
+
+
+ private IPaymentDao paymentDao;
+
+ @Autowired
+ public void setPaymentDao(IPaymentDao paymentDao) {
+ this.paymentDao = paymentDao;
+ this.dao = paymentDao;
+ }
+
+ /**
+ * 查询列表
+ * @param entity
+ * @return
+ */
+ @DS("#entity.dataSourceCode")
+ @Override
+ public List query(PaymentEntity entity) {
+ List list = paymentDao.queryList(entity, "com.hzya.frame.seeyon.cbs8.entity.PaymentEntity.entity_list_base");
+ return list;
+ }
+
+ /**
+ * 查询待支付的数据 需要推送到CBS的
+ * 如果需要查询流程状态已结束的 需要调用方设置finishedflag=1
+ *
+ * @param entity
+ * @return
+ * @throws Exception
+ */
+
+
+ @DS("#entity.dataSourceCode")
+ @Override
+ public List queryUnpaid(PaymentEntity entity) throws Exception {
+ List list = paymentDao.queryList(entity, "com.hzya.frame.seeyon.cbs8.entity.PaymentEntity.PaymentEntity_list_base_unpaid");
+ return list;
+ }
+
+ /**
+ * 查询交易成功的数据
+ * 内置了查询条件payResult = PayState.payStateGetValue("g"); 支付成功
+ *
+ * @param entity
+ * @return
+ * @throws Exception
+ */
+ @DS("#entity.dataSourceCode")
+ @Override
+ public List querySuccess(PaymentEntity entity) throws Exception {
+ if (null == entity){
+ entity = new PaymentEntity();
+ }
+ entity.setPayResult(OAPayState.payStateGetValue("g"));
+ List list = paymentDao.queryList(entity, "com.hzya.frame.seeyon.cbs8.entity.PaymentEntity.PaymentEntity_list_base");
+ return list;
+ }
+
+ /**
+ * 查询交易成功,且电子回单为空的
+ *
+ * @param entity
+ * @return
+ * @throws Exception
+ */
+ @DS("#entity.dataSourceCode")
+ @Override
+ public List queryElecIsNull(PaymentEntity entity) throws Exception {
+ List list = paymentDao.queryList(entity, "com.hzya.frame.seeyon.cbs8.entity.PaymentEntity.PaymentEntity_list_base_elec_isnull");
+ return list;
+ }
+
+ /**
+ * 查询支付中的数据
+ * 内置了查询条件 payResult = '支付中' or payResult not in ('审批撤销','审批拒绝','处理失败','退票','支付成功','取消支付','修改支付','支付失败')
+ *
+ * @param entity
+ * @return
+ * @throws Exception
+ */
+ @DS("#entity.dataSourceCode")
+ @Override
+ public List queryInPayment(PaymentEntity entity) throws Exception {
+ List list = paymentDao.queryList(entity, "com.hzya.frame.seeyon.cbs8.entity.PaymentEntity.PaymentEntity_list_base_in_payment");
+ return list;
+ }
+
+ /**
+ * 更新支付状态
+ *
+ * @param entity
+ * @throws Exception
+ */
+ @DS("#entity.dataSourceCode")
+ @Override
+ public void updatePayState(PaymentEntity entity) throws Exception {
+ if (null != entity
+ && StrUtil.isNotEmpty(entity.getTableName())
+ && StrUtil.isNotEmpty(entity.getOaId())
+ && StrUtil.isNotEmpty(entity.getFormsonId())
+ && StrUtil.isNotEmpty(entity.getPayDateField())
+ && StrUtil.isNotEmpty(entity.getPayResultField())){
+ String formsonId = entity.getFormsonId();
+ String[] formsonIdArray = formsonId.split(",");
+ for (String s : formsonIdArray) {
+ entity.setFormsonId(s);
+ paymentDao.update("com.hzya.frame.seeyon.cbs8.entity.PaymentEntity.PaymentEntity_update_payState",entity);
+ }
+ }
+ }
+
+ /**
+ * 更新电子回单字段
+ *
+ * @param entity
+ * @throws Exception
+ */
+ @DS("#entity.dataSourceCode")
+ @Override
+ public void updateElec(PaymentEntity entity) throws Exception {
+ if (null != entity
+ && StrUtil.isNotEmpty(entity.getTableName())
+ && StrUtil.isNotEmpty(entity.getOaId())
+ && StrUtil.isNotEmpty(entity.getReceiptFiled())){
+ paymentDao.update("com.hzya.frame.seeyon.cbs8.entity.PaymentEntity.PaymentEntity_update_electronic",entity);
+ }
+ }
+}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/impl/TransactionDetailServiceImpl.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/impl/TransactionDetailServiceImpl.java
new file mode 100644
index 00000000..21cee3ea
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/cbs8/service/impl/TransactionDetailServiceImpl.java
@@ -0,0 +1,98 @@
+package com.hzya.frame.seeyon.cbs8.service.impl;
+
+import cn.hutool.core.map.MapBuilder;
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.http.HttpRequest;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.hzya.frame.basedao.service.impl.BaseService;
+import com.hzya.frame.seeyon.cbs8.dao.ITransactionDetailDao;
+import com.hzya.frame.seeyon.cbs8.entity.TransactionDetailEntity;
+import com.hzya.frame.seeyon.cbs8.service.IPaymentService;
+import com.hzya.frame.seeyon.cbs8.service.ITransactionDetailService;
+import com.hzya.frame.stringutil.StringUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description
+ * @Author xiangerlin
+ * @Date 2024/6/24 11:08
+ **/
+@Service(value = "OATransactionDetailServiceImpl")
+public class TransactionDetailServiceImpl extends BaseService implements ITransactionDetailService {
+
+ private ITransactionDetailDao transactionDetailDao;
+
+ @Autowired
+ public void setTransactionDetailDao(ITransactionDetailDao dao) {
+ this.transactionDetailDao = dao;
+ this.dao=dao;
+ }
+
+ /**
+ * 只返回交易流水号
+ *
+ * @param entity
+ * @return
+ */
+ @DS("#entity.dataSourceCode")
+ @Override
+ public List querySerialNumber(TransactionDetailEntity entity) {
+ List list = transactionDetailDao.queryList(entity, "TransactionDetailEntity_list_serialNumber");;
+ return list;
+ }
+
+ /**
+ * 保存交易明细,通过rest接口的方式
+ *
+ * @param entity
+ * @throws Exception
+ */
+ @Override
+ public void restSave(TransactionDetailEntity entity) {
+ String field0001= StringUtil.nullConvert(entity.getAccountNo());//我方银行账号
+ String field0002=StringUtil.nullConvert(entity.getAccountName());//我方户名
+ String field0003=StringUtil.nullConvert(entity.getOpenBank());//我方开户行
+ String field0004=StringUtil.nullConvert(entity.getBankType());//我方银行类型
+ String field0005=StringUtil.nullConvert(entity.getTransactionSerialNumber());//交易流水号
+ String field0006=StringUtil.nullConvert(entity.getBankTransactionDate());//交易日期
+ String field0007=StringUtil.nullConvert(entity.getBankSerialNumber());//银行流水号
+ String field0008=StringUtil.nullConvert(entity.getCurrency());//币种
+ String field0009=StringUtil.nullConvert(entity.getIncurredAmount());//收款金额
+ String field0010=StringUtil.nullConvert(entity.getPurpose());//用途
+ String field0011=StringUtil.nullConvert(entity.getDigest());//摘要
+ String field0012=StringUtil.nullConvert(entity.getOppositeAccount());//对方账号
+ String field0013=StringUtil.nullConvert(entity.getOppositeName());//对方户名
+ String field0014=StringUtil.nullConvert(entity.getOppositeOpeningBank());//对方开户行
+ String field0015=StringUtil.nullConvert(entity.getRemark());//备注
+ String data = StrUtil.format(getXmlTemplate(),field0001,field0002,field0003,field0004,field0005,field0006,field0007,field0008,field0009,field0010,field0011,field0012,field0013,field0014,field0015);
+ Map headerMap = MapBuilder.create(true)
+ .put("apiCode", "8000240006")
+ .put("publicKey","ZJYAorA7JuRDfrVjywcx78BFcqlLwthgXNC65TXxxQMUHuxCe7eDIk+3zDUT+v578prj")
+ .put("secretKey","a54vt9Wx7gdBig+4JCkZ/lISIIL2m4ZEyZkXtW0uQVBDHS+V4SVgT6xhNblacri/j3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=")
+ .put("appId","800024")
+ .build();
+ JSONObject paramsTemplate = new JSONObject();
+ paramsTemplate.put("loginName", "hzya_rest");
+ paramsTemplate.put("dataXml", data);
+ String params = JSONObject.toJSONString(paramsTemplate);
+ logger.info("保存交易明细到OA底表请求参数:{}",params);
+ String body = HttpRequest.post("http://127.0.0.1:9999/kangarooDataCenterV3/entranceController/externalCallInterface").addHeaders(headerMap).body(params).timeout(60000).execute().body();
+ logger.info("保存交易明细到OA底表响应参数:{}",body);
+ }
+
+ /**
+ * 无流程表单模版
+ * transaction 交易明细
+ * payApply 支付申请日志
+ * @return
+ */
+ private String getXmlTemplate(){
+ return "";
+ }
+}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/dao/ICapFormDefinitionDao.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/dao/ICapFormDefinitionDao.java
new file mode 100644
index 00000000..f892fa11
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/dao/ICapFormDefinitionDao.java
@@ -0,0 +1,51 @@
+package com.hzya.frame.seeyon.dao;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.hzya.frame.basedao.dao.IBaseDao;
+import com.hzya.frame.seeyon.entity.CapFormDefinitionEntity;
+import com.hzya.frame.seeyon.entity.CtpFileEntity;
+import com.hzya.frame.seeyon.paybill.entity.PayBillEntity;
+
+import java.util.List;
+
+/**
+ *
+ * @content OA字段配置表DAO
+ * @className: Administrator
+ * @author laborer
+ * @date 2024-09-09 16:00
+ *
+ */
+
+public interface ICapFormDefinitionDao extends IBaseDao {
+
+ /**
+ *
+ * @content 通过模版编号获取无流程表单配置信息
+ * @className: Administrator
+ * @author laborer
+ * @date 2024-09-09 16:02
+ *
+ */
+ List getFormFiled(CapFormDefinitionEntity fieldInfo);
+/**
+ *
+ * @content 通过主键删除单据数据
+ * @className: Administrator
+ * @author laborer
+ * @date 2024-09-09 17:04
+ *
+ */
+
+ int deleteByKey(CapFormDefinitionEntity fieldInfo);
+/**
+ *
+ * @content 通过客户传递的数据值查询古河条件的数据
+ * @className: Administrator
+ * @author laborer
+ * @date 2024-09-09 17:05
+ *
+ */
+
+ List getFormFiledByFileValue(CapFormDefinitionEntity fieldInfo);
+}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/dao/ICtpAttachmentDao.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/dao/ICtpAttachmentDao.java
new file mode 100644
index 00000000..5c64e35f
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/dao/ICtpAttachmentDao.java
@@ -0,0 +1,21 @@
+package com.hzya.frame.seeyon.dao;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.hzya.frame.basedao.dao.IBaseDao;
+import com.hzya.frame.seeyon.entity.CtpAttachmentEntity;
+
+import java.util.List;
+
+public interface ICtpAttachmentDao extends IBaseDao {
+ //更新数据
+ @DS("#ctpAttachmentEntity.dataSourceCode")
+ int updateCtpAttachment(CtpAttachmentEntity ctpAttachmentEntity);
+
+ //根据fiel_url查询附件业务记录,如果存在则更新,如果不存在则新增
+ @DS("#ctpAttachmentEntity.dataSourceCode")
+ List queryCtpAttachment(CtpAttachmentEntity ctpAttachmentEntity);
+
+ //新增
+ @DS("#ctpAttachmentEntity.dataSourceCode")
+ CtpAttachmentEntity saveCtpAttachment(CtpAttachmentEntity ctpAttachmentEntity);
+}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/dao/ICtpFileDao.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/dao/ICtpFileDao.java
new file mode 100644
index 00000000..87961648
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/dao/ICtpFileDao.java
@@ -0,0 +1,12 @@
+package com.hzya.frame.seeyon.dao;
+
+import com.hzya.frame.basedao.dao.IBaseDao;
+import com.hzya.frame.seeyon.entity.CtpFileEntity;
+
+/**
+ * @Description seeyon 附件对象
+ * @Author xiangerlin
+ * @Date 2024/6/17 15:21
+ **/
+public interface ICtpFileDao extends IBaseDao {
+}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/dao/ISeeYonDao.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/dao/ISeeYonDao.java
new file mode 100644
index 00000000..02d6888a
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/dao/ISeeYonDao.java
@@ -0,0 +1,108 @@
+package com.hzya.frame.seeyon.dao;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.hzya.frame.basedao.dao.IBaseDao;
+import com.hzya.frame.seeyon.entity.SeeyonEntity;
+
+import java.util.List;
+
+/**
+ * com.hzya.frame.seeyon.dao
+ *
+ * @author yqh
+ * @date 2023-08 -30 10:43
+ */
+
+public interface ISeeYonDao extends IBaseDao {
+ /***
+ * @Content:通过类型获取OA基本档案数据
+ * @Author 👻👻👻👻yqh👻👻👻👻
+ * @Date 2023年8月30日11:33:17
+ * @Param seeyon
+ * @return
+ **/
+ @DS("ht_oa_sqlserver")
+ List selectOAListByTypeformson_0324(SeeyonEntity seeyon);
+ @DS("ht_oa_sqlserver")
+ List selectOAListByTypeformson_0352(SeeyonEntity seeyon);
+ @DS("ht_oa_sqlserver")
+ List selectOAListByTypeMain(SeeyonEntity seeyon);
+ /**
+ * 通过关联关系获取附件主键
+ * @param seeyonEntity
+ * @return
+ */
+ @DS("ht_oa_sqlserver")
+ List selectFileUrl(SeeyonEntity seeyonEntity);
+/***
+ * @Content:修改数据状态,避免重复抓取
+ * @Author 👻👻👻👻yqh👻👻👻👻
+ * @Date
+ * @Param
+ * @return
+ **/
+ int updateFormStete(SeeyonEntity s);
+
+ /**
+ *
+ * @content 查询付款单中得电子回单
+ * @Param
+ * @Return
+ * @Author hecan
+ * @Date 2023/11/9 14:23
+ * **/
+ @DS("ht_oa_sqlserver")
+ List selectOAListByTypeformmain_0327(SeeyonEntity seeyon);
+ @DS("ht_oa_sqlserver")
+ int updateFormformmain_0327(SeeyonEntity seeyon);
+
+ /**
+ *
+ * @content 根据付款方id查询付款名
+ * @Param
+ * @Return
+ * @Author hecan
+ * @Date 2023/11/9 14:23
+ * **/
+ @DS("ht_oa_sqlserver")
+ List selectOAListByField0258(SeeyonEntity seeyon);
+
+ /**
+ *
+ * @content 查询速网U8C中的所有组织
+ * @Param
+ * @Return
+ * @Author hecan
+ * @Date 2023/11/13 11:56
+ * **/
+ @DS("sowow_sqlserver_test")
+ List selectOAListByCorp(SeeyonEntity seeyon);
+
+ /**
+ *
+ * @content 修改OA中的字段为速网U8C销售订单主键
+ * @Param
+ * @Return
+ * @Author hecan
+ * @Date 2023/11/15 11:28
+ * **/
+ @DS("swoa_mysql")
+ int updateFormformmain_0237(SeeyonEntity seeyonEntity);
+ @DS("swoa_mysql")
+ int updateFormformson_0238(SeeyonEntity seeyonEntity);
+ //根据销售订单编码查询档案主键
+ @DS("swoa_mysql")
+ SeeyonEntity selectOAListByformmain_0237(SeeyonEntity seeyonEntity);
+
+ /**
+ *
+ * @content 修改付款单报销单等单据的推送状态
+ * @Param
+ * @Return
+ * @Author hecan
+ * @Date 2023/12/20 8:59
+ * **/
+ @DS("ht_oa_sqlserver")
+ int updatepush(SeeyonEntity seeyon);
+
+}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/dao/ISeeYonInterFaceDao.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/dao/ISeeYonInterFaceDao.java
new file mode 100644
index 00000000..2edbc648
--- /dev/null
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/dao/ISeeYonInterFaceDao.java
@@ -0,0 +1,37 @@
+package com.hzya.frame.seeyon.dao;
+
+import com.alibaba.fastjson.JSONObject;
+import com.hzya.frame.seeyon.entity.SeeYonInterFaceEntity;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author 👻👻👻👻👻👻👻👻👻👻 gjh
+ * @version 1.0
+ * @content
+ * @date 2023-08-30 10:27
+ */
+public interface ISeeYonInterFaceDao {
+ /***
+ * 查询OA档案数据,暂时只根据ID查询,只返回ID集合,此方法暂时用于更新无流程表单判断
+ * @content:
+ * @author 👻👻👻👻👻👻👻👻 gjh
+ * @date 2023-08-30 10:54
+ * @param
+ * @return java.util.List
+ **/
+ List queryArchives(SeeYonInterFaceEntity seeYonInterFaceEntity);
+
+ /***
+ * 答应我写注释好吗
+ * @content:
+ * @author 👻👻👻👻👻👻👻👻 gjh
+ * @date 2024-01-18 16:01
+ * @param jsonObject 根据模版ID获取数据
+ * @return java.util.List
+ **/
+ List queryDefinitionInfo(SeeYonInterFaceEntity jsonObject);
+ List