diff --git a/.gitignore b/.gitignore index 2c9303707..e06df337b 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,5 @@ calc/rebel.xml .idea/ apzl_leasing.iml out/ -WebContent/WEB-INF/classes \ No newline at end of file +WebContent/WEB-INF/classes +D:/ \ No newline at end of file diff --git a/WebContent/WEB-INF/etc/jbo/jbo_loan.xml b/WebContent/WEB-INF/etc/jbo/jbo_loan.xml index 7d155026a..389c46954 100644 --- a/WebContent/WEB-INF/etc/jbo/jbo_loan.xml +++ b/WebContent/WEB-INF/etc/jbo/jbo_loan.xml @@ -1,758 +1,779 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src_core/com/tenwa/comm/util/jboutil/DataOperatorUtil.java b/src_core/com/tenwa/comm/util/jboutil/DataOperatorUtil.java index b8fb2312f..78a1c5722 100644 --- a/src_core/com/tenwa/comm/util/jboutil/DataOperatorUtil.java +++ b/src_core/com/tenwa/comm/util/jboutil/DataOperatorUtil.java @@ -6,6 +6,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.function.Consumer; import com.amarsoft.app.awe.config.InitDBType; import com.amarsoft.are.jbo.BizObject; @@ -582,4 +583,64 @@ public class DataOperatorUtil { public static List> getDataBySql( String sql ) throws Exception { return getDataBySql( null, sql, null ); } + + /** + * ִҪݿ + * @param func + */ + public static void execOperationTx(Consumer func) { + JBOTransaction tx = null; + try { + tx = JBOFactory.createJBOTransaction(); + func.accept(tx); + } catch (Exception e) { + e.printStackTrace(); + try { + if (tx != null) { + tx.rollback(); + } + } catch (JBOException e1) { + e1.printStackTrace(); + } + } finally { + try { + if (tx != null) { + tx.commit(); + } + } catch (JBOException e) { + e.printStackTrace(); + } + } + } + + /** + * ִҪݿ + * @param func + */ + public static void execOperationTran(Consumer func) { + JBOTransaction tx = null; + Transaction tran = null; + try { + tx = JBOFactory.createJBOTransaction(); + tran = Transaction.createTransaction(tx); + func.accept(tran); + } catch (Exception e) { + e.printStackTrace(); + try { + if (tran != null) { + tran.rollback(); + } + } catch (JBOException e1) { + e1.printStackTrace(); + } + } finally { + try { + if (tran != null) { + tran.commit(); + } + } catch (JBOException e) { + e.printStackTrace(); + } + } + } } diff --git a/src_jbo/jbo/app/tenwa/calc/LB_RENT_DORMANT.java b/src_jbo/jbo/app/tenwa/calc/LB_RENT_DORMANT.java index db3bf9765..c4205b8a1 100644 --- a/src_jbo/jbo/app/tenwa/calc/LB_RENT_DORMANT.java +++ b/src_jbo/jbo/app/tenwa/calc/LB_RENT_DORMANT.java @@ -1,13 +1,15 @@ package jbo.app.tenwa.calc; +import java.lang.String; + /** * ߻ЭϢ - JBO

* Note: This file is generated by ADE tools, dont modify it.
*/ -public interface LB_RENT_DORMANT { +public interface LB_RENT_DORMANT{ /** - * ʱ

+ * ߻ЭϢ

* ӳBizObjectClass */ public static final String CLASS_NAME = "jbo.app.tenwa.calc.LB_RENT_DORMANT"; @@ -27,18 +29,16 @@ public interface LB_RENT_DORMANT { * ͬ STRING(32)
*/ public static final String CONTRACT_ID = "CONTRACT_ID"; - /** - * гͬ STRING(32)
- */ - public static final String zc_contract_num = "zc_contract_num"; /** * ߻Э STRING(32)
*/ public static final String rent_dormant_num = "rent_dormant_num"; - /** - * ͬǩʱ STRING(32)
- */ + * гͬ STRING(32)
+ */ + public static final String zc_contract_num = "zc_contract_num"; + /** + * ͬǩʱ STRING(32)
+ */ public static final String contract_date = "contract_date"; - } \ No newline at end of file diff --git a/src_jbo/jbo/app/tenwa/calc/VI_LC_RENT_PLAN_NEW.java b/src_jbo/jbo/app/tenwa/calc/VI_LC_RENT_PLAN_NEW.java new file mode 100644 index 000000000..9441b2547 --- /dev/null +++ b/src_jbo/jbo/app/tenwa/calc/VI_LC_RENT_PLAN_NEW.java @@ -0,0 +1,60 @@ +package jbo.app.tenwa.calc; + +import java.lang.String; + +/** +* ƻͼ() - JBO

+* Note: This file is generated by ADE tools, dont modify it.
+ +*/ +public interface VI_LC_RENT_PLAN_NEW{ + /** + * ƻͼ()

+ * ӳBizObjectClass + */ + public static final String CLASS_NAME = "jbo.app.tenwa.calc.VI_LC_RENT_PLAN_NEW"; + /** + * ƻ STRING(20)
+ */ + public static final String id = "id"; + /** + * Ŀid STRING(20)
+ */ + public static final String project_id = "project_id"; + /** + * ͬ STRING(20)
+ */ + public static final String contract_id = "contract_id"; + /** + * Ͷű STRING(20)
+ */ + public static final String payment_number = "payment_number"; + /** + * ڴ STRING(20)
+ */ + public static final String plan_list = "plan_list"; + /** + * ƻ STRING(20)
+ */ + public static final String plan_date = "plan_date"; + /** + * STRING(20)
+ */ + public static final String rent_over = "rent_over"; + /** + * STRING(20)
+ */ + public static final String corpus_over = "corpus_over"; + /** + * Ϣ STRING(20)
+ */ + public static final String interest_over = "interest_over"; + /** + * Ŀ STRING(20)
+ */ + public static final String PROJECT_PLAN_NUMBER = "PROJECT_PLAN_NUMBER"; + /** + * ͬ STRING(20)
+ */ + public static final String CONTRACT_PLAN_NUMBER = "CONTRACT_PLAN_NUMBER"; +} \ No newline at end of file diff --git a/src_jbo/jbo/app/tenwa/doc/REMINDER_LETTER.java b/src_jbo/jbo/app/tenwa/doc/REMINDER_LETTER.java index d64384377..83e65eb76 100644 --- a/src_jbo/jbo/app/tenwa/doc/REMINDER_LETTER.java +++ b/src_jbo/jbo/app/tenwa/doc/REMINDER_LETTER.java @@ -1,13 +1,15 @@ package jbo.app.tenwa.doc; +import java.lang.String; + /** -* ĵ - JBO

+* - JBO

* Note: This file is generated by ADE tools, dont modify it.
*/ -public interface REMINDER_LETTER { +public interface REMINDER_LETTER{ /** - * ĵ

+ *

* ӳBizObjectClass */ public static final String CLASS_NAME = "jbo.app.tenwa.doc.REMINDER_LETTER"; @@ -16,12 +18,11 @@ public interface REMINDER_LETTER { */ public static final String ID = "ID"; /** - * STRING(32)
+ * ͬID STRING(64)
*/ - public static final String LIBRARY_ID = "CONTRACT_ID"; + public static final String CONTRACT_ID = "CONTRACT_ID"; /** - * ĵ· STRING(500)
+ * STRING(4)
*/ - public static final String FILEPATH = "TYPE"; - + public static final String TYPE = "TYPE"; } \ No newline at end of file diff --git a/src_jbo/jbo/com/tenwa/entity/comm/flow/D_DEPOSITRETURN_INFO.java b/src_jbo/jbo/com/tenwa/entity/comm/flow/D_DEPOSITRETURN_INFO.java index 32fd844d4..96137262f 100644 --- a/src_jbo/jbo/com/tenwa/entity/comm/flow/D_DEPOSITRETURN_INFO.java +++ b/src_jbo/jbo/com/tenwa/entity/comm/flow/D_DEPOSITRETURN_INFO.java @@ -102,15 +102,15 @@ public interface D_DEPOSITRETURN_INFO{ */ public static final String COMPENSATORY_CON = "COMPENSATORY_CON"; /** - * DOUBLE(22)
- */ + * DOUBLE(22)
+ */ public static final String CORPUS = "CORPUS"; /** - * Ϣ DOUBLE(22)
- */ + * Ϣ DOUBLE(22)
+ */ public static final String INTEREST = "INTEREST"; /** - * Ϣ DOUBLE(22)
- */ + * Ϣ DOUBLE(22)
+ */ public static final String PENALTY = "PENALTY"; } \ No newline at end of file diff --git a/src_jbo/jbo/com/tenwa/lease/carbrand/REPORT_RENT_PLAN.java b/src_jbo/jbo/com/tenwa/lease/carbrand/REPORT_RENT_PLAN.java index d2adf32e9..3d0d46691 100644 --- a/src_jbo/jbo/com/tenwa/lease/carbrand/REPORT_RENT_PLAN.java +++ b/src_jbo/jbo/com/tenwa/lease/carbrand/REPORT_RENT_PLAN.java @@ -3,13 +3,13 @@ package jbo.com.tenwa.lease.carbrand; import java.lang.String; /** -* - JBO

+* ƻ- - JBO

* Note: This file is generated by ADE tools, dont modify it.
*/ public interface REPORT_RENT_PLAN{ /** - *

+ * ƻ-

* ӳBizObjectClass */ public static final String CLASS_NAME = "jbo.com.tenwa.lease.carbrand.REPORT_RENT_PLAN"; diff --git a/src_jbo/jbo/loan/LB_CGB_0032_LOG.java b/src_jbo/jbo/loan/LB_CGB_0032_LOG.java new file mode 100644 index 000000000..f25ed54d2 --- /dev/null +++ b/src_jbo/jbo/loan/LB_CGB_0032_LOG.java @@ -0,0 +1,56 @@ +package jbo.loan; + +import java.lang.String; + +/** +* 㷢ˮÿ־ - JBO

+* Note: This file is generated by ADE tools, dont modify it.
+ +*/ +public interface LB_CGB_0032_LOG{ + /** + * 㷢ˮÿ־

+ * ӳBizObjectClass + */ + public static final String CLASS_NAME = "jbo.loan.LB_CGB_0032_LOG"; + /** + * ʶ STRING(32)
+ */ + public static final String id = "id"; + /** + * ˺ STRING(30)
+ */ + public static final String account = "account"; + /** + * ˮ STRING(10)
+ */ + public static final String tran_date = "tran_date"; + /** + * ˮ¼ INT(20)
+ */ + public static final String record_num = "record_num"; + /** + * ڴtran_code STRING(50)
+ */ + public static final String curr_rec_tran_code = "curr_rec_tran_code"; + /** + * ڴtran_seq STRING(50)
+ */ + public static final String curr_rec_tran_seq = "curr_rec_tran_seq"; + /** + * ״̬0У1ɹ2ʧ INT(20)
+ */ + public static final String status = "status"; + /** + * ʧϢ STRING(255)
+ */ + public static final String fail_msg = "fail_msg"; + /** + * ʱ STRING(20)
+ */ + public static final String create_time = "create_time"; + /** + * ʱ STRING(20)
+ */ + public static final String update_time = "update_time"; +} \ No newline at end of file diff --git a/src_jbo/jbo/oti/FC_BUYBACK_INFO.java b/src_jbo/jbo/oti/FC_BUYBACK_INFO.java index fb060dc67..f12ad093c 100644 --- a/src_jbo/jbo/oti/FC_BUYBACK_INFO.java +++ b/src_jbo/jbo/oti/FC_BUYBACK_INFO.java @@ -1,13 +1,15 @@ package jbo.oti; +import java.lang.String; + /** -* ӿϱ - JBO

+* عϢ - JBO

* Note: This file is generated by ADE tools, dont modify it.
*/ -public interface FC_BUYBACK_INFO { +public interface FC_BUYBACK_INFO{ /** - * ӿϱ

+ * عϢ

* ӳBizObjectClass */ public static final String CLASS_NAME = "jbo.oti.FC_BUYBACK_INFO"; @@ -16,48 +18,47 @@ public interface FC_BUYBACK_INFO { */ public static final String ID = "ID"; /** - * ʷid STRING(32)
- */ + * ʷid STRING(32)
+ */ public static final String FC_REQUEST_ID = "FC_REQUEST_ID"; /** - * ع STRING(32)
- */ + * ع STRING(32)
+ */ public static final String ALL_REMAIN_CORPUS = "ALL_REMAIN_CORPUS"; /** - * عϢ STRING(32)
- */ + * عϢ STRING(32)
+ */ public static final String ALL_REMAIN_INTEREST = "ALL_REMAIN_INTEREST"; /** * عϢ STRING(32)
*/ public static final String ALL_REMAIN_PENALTY = "ALL_REMAIN_PENALTY"; /** - * ʵʻعܽ STRING(32)
- */ + * ʵʻعܽ STRING(32)
+ */ public static final String BUYBACK_MONEY = "BUYBACK_MONEY"; /** - * Ƿȷ STRING(32)
- */ + * Ƿȷ STRING(32)
+ */ public static final String IS_CONFIRM = "IS_CONFIRM"; /** - * ƾ֤״̬0δɣ1 STRING(32)
- */ + * ƾ֤״̬0δɣ1 STRING(32)
+ */ public static final String VOUCHER_STATUS = "VOUCHER_STATUS"; /** - * INPUTUSERID STRING(32)
- */ + * Ǽ STRING(32)
+ */ public static final String INPUTUSERID = "INPUTUSERID"; /** - * INPUTTIME STRING(32)
- */ + * Ǽʱ STRING(32)
+ */ public static final String INPUTTIME = "INPUTTIME"; /** - * UPDATEUSERID STRING(32)
- */ + * STRING(32)
+ */ public static final String UPDATEUSERID = "UPDATEUSERID"; /** - * UPDATETIME STRING(32)
- */ + * ʱ STRING(32)
+ */ public static final String UPDATETIME = "UPDATETIME"; - } \ No newline at end of file diff --git a/src_jbo/jbo/oti/FC_REQUEST_CHANNEL_LOG.java b/src_jbo/jbo/oti/FC_REQUEST_CHANNEL_LOG.java index f764c5104..5ad0775d6 100644 --- a/src_jbo/jbo/oti/FC_REQUEST_CHANNEL_LOG.java +++ b/src_jbo/jbo/oti/FC_REQUEST_CHANNEL_LOG.java @@ -1,13 +1,15 @@ package jbo.oti; +import java.lang.String; + /** -* ӿϱ - JBO

+* ʷ־ - JBO

* Note: This file is generated by ADE tools, dont modify it.
*/ -public interface FC_REQUEST_CHANNEL_LOG { +public interface FC_REQUEST_CHANNEL_LOG{ /** - * ӿϱ

+ * ʷ־

* ӳBizObjectClass */ public static final String CLASS_NAME = "jbo.oti.FC_REQUEST_CHANNEL_LOG"; @@ -16,12 +18,12 @@ public interface FC_REQUEST_CHANNEL_LOG { */ public static final String ID = "ID"; /** - * ʷid STRING(32)
- */ + * ʷid STRING(32)
+ */ public static final String FC_REQUEST_ID = "FC_REQUEST_ID"; /** - * ޸ǰʷ STRING(32)
- */ + * ޸ǰʷ STRING(32)
+ */ public static final String PRE_CHANNEL_NO = "PRE_CHANNEL_NO"; /** * ޸ǰʷ STRING(32)
@@ -32,24 +34,23 @@ public interface FC_REQUEST_CHANNEL_LOG { */ public static final String CHANNEL_NO = "CHANNEL_NO"; /** - * ޸ĺʷ STRING(32)
- */ + * ޸ĺʷ STRING(32)
+ */ public static final String CHANNEL_NAME = "CHANNEL_NAME"; /** - * STRING(32)
- */ + * STRING(32)
+ */ public static final String REMARK = "REMARK"; /** - * STRING(32)
- */ + * STRING(32)
+ */ public static final String CHANGE_RESULT = "CHANGE_RESULT"; /** - * STRING(32)
- */ + * ͣ1.ʷܾ2.ڻع STRING(32)
+ */ public static final String CHANGE_TYPE = "CHANGE_TYPE"; /** - * ʱ STRING(32)
- */ + * ʱ STRING(32)
+ */ public static final String CREATETIME = "CREATETIME"; - } \ No newline at end of file diff --git a/src_jbo/jbo/oti/FC_YC_FILE_REPAY_PLAN.java b/src_jbo/jbo/oti/FC_YC_FILE_REPAY_PLAN.java index c60ac3c8b..538abb348 100644 --- a/src_jbo/jbo/oti/FC_YC_FILE_REPAY_PLAN.java +++ b/src_jbo/jbo/oti/FC_YC_FILE_REPAY_PLAN.java @@ -18,7 +18,7 @@ public interface FC_YC_FILE_REPAY_PLAN{ */ public static final String ID = "ID"; /** - * ʽID STRING(32)
+ * ʽļID STRING(32)
*/ public static final String FC_FILE_ID = "FC_FILE_ID"; /** diff --git a/src_jbo/jbo/oti/FC_YC_FILE_REPAY_RESULT.java b/src_jbo/jbo/oti/FC_YC_FILE_REPAY_RESULT.java index 1790c42d6..bddeb24e9 100644 --- a/src_jbo/jbo/oti/FC_YC_FILE_REPAY_RESULT.java +++ b/src_jbo/jbo/oti/FC_YC_FILE_REPAY_RESULT.java @@ -1,13 +1,15 @@ package jbo.oti; +import java.lang.String; + /** -* ӿϱ - JBO

+* ʷ𻹿Ϣ - JBO

* Note: This file is generated by ADE tools, dont modify it.
*/ -public interface FC_YC_FILE_REPAY_RESULT { +public interface FC_YC_FILE_REPAY_RESULT{ /** - * ӿϱ

+ * ʷ𻹿Ϣ

* ӳBizObjectClass */ public static final String CLASS_NAME = "jbo.oti.FC_YC_FILE_REPAY_RESULT"; @@ -16,60 +18,60 @@ public interface FC_YC_FILE_REPAY_RESULT { */ public static final String ID = "ID"; /** - * ļID STRING(32)
- */ + * ʽļID STRING(32)
+ */ public static final String FC_FILE_ID = "FC_FILE_ID"; /** - * ID STRING(32)
- */ + * ʽID STRING(32)
+ */ public static final String FC_REQUEST_ID = "FC_REQUEST_ID"; /** - * ſ STRING(32)
+ * ſ STRING(32)
*/ public static final String LOAN_NO = "LOAN_NO"; /** * ڴ STRING(32)
*/ - public static final String LEND_TERM = "TERM_NO"; + public static final String TERM_NO = "TERM_NO"; /** - * STRING(32)
- */ - public static final String ANS_REPAYMENT_DATE = "NEW_REPAY_DATE"; + * STRING(32)
+ */ + public static final String NEW_REPAY_DATE = "NEW_REPAY_DATE"; /** - * STRING(32)
- */ - public static final String ANS_PRINCIPAL = "ALR_PRINCIPAL"; + * STRING(32)
+ */ + public static final String ALR_PRINCIPAL = "ALR_PRINCIPAL"; /** - * Ϣ STRING(32)
- */ - public static final String ANS_INTEREST = "ALR_INTEREST"; + * Ϣ STRING(32)
+ */ + public static final String ALR_INTEREST = "ALR_INTEREST"; /** - * Ϣ STRING(32)
- */ + * Ϣ STRING(32)
+ */ public static final String ALR_PENALTY = "ALR_PENALTY"; /** - * 黹ϼ STRING(32)
- */ - public static final String ANS_REPAYMENT_MONEY = "ALR_REPAYMENT_MONEY"; + * 黹ϼ STRING(32)
+ */ + public static final String ALR_REPAYMENT_MONEY = "ALR_REPAYMENT_MONEY"; /** - * ʶ:0- ڽ塢1-ǰֻ2-ڡ3-ǰ STRING(32)
- */ + * ʶ:0- ڽ塢1-ǰֻ2-ڡ3-ǰ STRING(32)
+ */ public static final String REPAYMENT_FLAG = "REPAYMENT_FLAG"; /** - * Դʶ0˱˻1ǽ˱˻ STRING(32)
- */ + * Դʶ0˱˻1ǽ˱˻ STRING(32)
+ */ public static final String REPAYMENT_SOURCE = "REPAYMENT_SOURCE"; /** - * ǰ STRING(32)
- */ + * ǰ STRING(32)
+ */ public static final String TRADE_FEE = "TRADE_FEE"; /** - * ˺ STRING(32)
- */ + * ˺ STRING(32)
+ */ public static final String REPAYMENT_ACCOUNT_NO = "REPAYMENT_ACCOUNT_NO"; /** - * ˮ STRING(32)
- */ + * ˮ STRING(32)
+ */ public static final String FLOWNO = "FLOWNO"; /** * ʱ STRING(32)
@@ -79,5 +81,4 @@ public interface FC_YC_FILE_REPAY_RESULT { * ޸ʱ STRING(32)
*/ public static final String UPDATE_TIME = "UPDATE_TIME"; - } \ No newline at end of file diff --git a/src_jbo/jbo/sys/VI_FLOW_MONITORING.java b/src_jbo/jbo/sys/VI_FLOW_MONITORING.java index 633dc49ab..d63627d9a 100644 --- a/src_jbo/jbo/sys/VI_FLOW_MONITORING.java +++ b/src_jbo/jbo/sys/VI_FLOW_MONITORING.java @@ -93,4 +93,8 @@ public interface VI_FLOW_MONITORING{ * а˱ STRING(20)
*/ public static final String USERID = "USERID"; + /** + * STRING(20)
+ */ + public static final String DISTRIBUTOR_NAME = "DISTRIBUTOR_NAME"; } \ No newline at end of file diff --git a/src_tenwa/com/tenwa/cgbbank/dao/LBCgb0032LogDao.java b/src_tenwa/com/tenwa/cgbbank/dao/LBCgb0032LogDao.java new file mode 100644 index 000000000..d5ed388f9 --- /dev/null +++ b/src_tenwa/com/tenwa/cgbbank/dao/LBCgb0032LogDao.java @@ -0,0 +1,107 @@ +package com.tenwa.cgbbank.dao; + +import com.amarsoft.are.jbo.*; +import com.tenwa.cgbbank.enums.CGB0032LogStatusEnum; +import com.tenwa.util.GlobalConst; +import jbo.loan.LB_CGB_0032_LOG; + +import java.time.LocalDateTime; + +/** + * @program: apzl_leasing + * @description: + * @author:  + * @create: 2023-07-08 11:23 + */ +public class LBCgb0032LogDao { + + private static LBCgb0032LogDao instance = new LBCgb0032LogDao(); + + private LBCgb0032LogDao() { + } + + public static LBCgb0032LogDao getInstance() { + return instance; + } + + public BizObjectManager getBizObjectManager(JBOTransaction jboTransaction) throws JBOException { + return JBOFactory.getBizObjectManager("jbo.loan.LB_CGB_0032_LOG", jboTransaction); + } + + public BizObject findByAccountAndTranDate(JBOTransaction jboTransaction, String account, String tranDate) throws JBOException { + return getBizObjectManager(jboTransaction).createQuery("account=:account and tran_date=:tranDate") + .setParameter("account", account) + .setParameter("tranDate", tranDate) + .getSingleResult(true); + } + + public BizObject init(BizObjectManager bizObjManager, String account, String tranDate) throws JBOException { + String nowDateTime = LocalDateTime.now().format(GlobalConst.dateTimeFormatter); + BizObject lbCgb0032LogBizObj = bizObjManager.newObject(); + lbCgb0032LogBizObj.setAttributeValue(LB_CGB_0032_LOG.account, account); + lbCgb0032LogBizObj.setAttributeValue(LB_CGB_0032_LOG.tran_date, tranDate); + lbCgb0032LogBizObj.setAttributeValue(LB_CGB_0032_LOG.record_num, 0); + lbCgb0032LogBizObj.setAttributeValue(LB_CGB_0032_LOG.status, 0); + lbCgb0032LogBizObj.setAttributeValue(LB_CGB_0032_LOG.create_time, nowDateTime); + lbCgb0032LogBizObj.setAttributeValue(LB_CGB_0032_LOG.update_time, nowDateTime); + bizObjManager.saveObject(lbCgb0032LogBizObj); + return lbCgb0032LogBizObj; + } + + public int updateStatus(String id, CGB0032LogStatusEnum statusEnum) throws JBOException { + JBOTransaction jboTransaction = null; + try { + jboTransaction = JBOFactory.createJBOTransaction(); + return updateStatus(jboTransaction, id, statusEnum); + } catch (Exception e) { + e.printStackTrace(); + if (jboTransaction != null) { + try { + jboTransaction.rollback(); + } catch (JBOException e1) { + e1.printStackTrace(); + } + } + return 0; + } + } + + public int updateStatus(JBOTransaction jboTransaction, String id, CGB0032LogStatusEnum statusEnum) throws JBOException { + return getBizObjectManager(jboTransaction).createQuery("update O set status=:status, update_time=:updateTime where id=:id") + .setParameter("status", statusEnum.getCode()) + .setParameter("updateTime", LocalDateTime.now().format(GlobalConst.dateTimeFormatter)) + .setParameter("id", id) + .executeUpdate(); + } + + public int recordLog(String id, Integer recordNum, String tranCode, String tranSeq, CGB0032LogStatusEnum statusEnum) { + JBOTransaction jboTransaction = null; + try { + jboTransaction = JBOFactory.createJBOTransaction(); + return recordLog(jboTransaction, id, recordNum, tranCode, + tranSeq, statusEnum); + } catch (Exception e) { + e.printStackTrace(); + if (jboTransaction != null) { + try { + jboTransaction.rollback(); + } catch (JBOException e1) { + e1.printStackTrace(); + } + } + return 0; + } + } + + public int recordLog(JBOTransaction jboTransaction, String id, Integer recordNum, String tranCode, String tranSeq, CGB0032LogStatusEnum statusEnum) throws JBOException { + return getBizObjectManager(jboTransaction) + .createQuery("update O set record_num=:recordNum,curr_rec_tran_code=:tranCode,curr_rec_tran_code=:tranSeq, status=:status, update_time=:updateTime where id=:id") + .setParameter("recordNum", recordNum) + .setParameter("tranCode", tranCode) + .setParameter("tranSeq", tranSeq) + .setParameter("status", statusEnum.getCode()) + .setParameter("updateTime", LocalDateTime.now().format(GlobalConst.dateTimeFormatter)) + .setParameter("id", id) + .executeUpdate(); + } +} diff --git a/src_tenwa/com/tenwa/cgbbank/dto/CGB0032ResBodyRecord.java b/src_tenwa/com/tenwa/cgbbank/dto/CGB0032ResBodyRecord.java index 03019a7cc..ea2409f09 100644 --- a/src_tenwa/com/tenwa/cgbbank/dto/CGB0032ResBodyRecord.java +++ b/src_tenwa/com/tenwa/cgbbank/dto/CGB0032ResBodyRecord.java @@ -30,13 +30,10 @@ package com.tenwa.cgbbank.dto; import com.amarsoft.are.jbo.BizObject; import com.amarsoft.are.jbo.BizObjectManager; import com.amarsoft.are.jbo.JBOException; -import com.amarsoft.are.jbo.JBOFactory; import com.tenwa.cgb.conf.CGBconfProperties; import com.tenwa.util.GlobalConst; -import com.tenwa.util.SerialNumberUtil; import jbo.app.tenwa.calc.LC_EBANK; -import java.time.LocalDate; import java.time.LocalDateTime; /** diff --git a/src_tenwa/com/tenwa/cgbbank/enums/CGB0032LogStatusEnum.java b/src_tenwa/com/tenwa/cgbbank/enums/CGB0032LogStatusEnum.java new file mode 100644 index 000000000..a3e544f21 --- /dev/null +++ b/src_tenwa/com/tenwa/cgbbank/enums/CGB0032LogStatusEnum.java @@ -0,0 +1,28 @@ +package com.tenwa.cgbbank.enums; + +/** + * 㷢0032ӿڵ״̬ + * + */ +public enum CGB0032LogStatusEnum { + + S0(0, ""), + S1(1,"ɹ"), + S2(2,"ʧ"); + + private Integer code; + private String desc; + + CGB0032LogStatusEnum(Integer code, String desc) { + this.code = code; + this.desc = desc; + } + + public Integer getCode() { + return code; + } + + public String getDesc() { + return desc; + } +} diff --git a/src_tenwa/com/tenwa/cgbbank/helper/CGBBankInterfaceHelper.java b/src_tenwa/com/tenwa/cgbbank/helper/CGBBankInterfaceHelper.java index 9de1b391f..42eb1ad32 100644 --- a/src_tenwa/com/tenwa/cgbbank/helper/CGBBankInterfaceHelper.java +++ b/src_tenwa/com/tenwa/cgbbank/helper/CGBBankInterfaceHelper.java @@ -76,6 +76,14 @@ public class CGBBankInterfaceHelper { return tcgbbedc; } + /** + * xml + * @param interfaceEnum + * @param reqBody + * @return + * @param + * @throws JsonProcessingException + */ private String buildReqXml(CGBInterfaceEnum interfaceEnum, T reqBody) throws JsonProcessingException { CGBMessageHead messageHead = new CGBMessageHead(); messageHead.setTranCode(interfaceEnum.getCode()); diff --git a/src_tenwa/com/tenwa/cgbbank/service/CGBBankService.java b/src_tenwa/com/tenwa/cgbbank/service/CGBBankService.java index f5eb5e941..83cdb1610 100644 --- a/src_tenwa/com/tenwa/cgbbank/service/CGBBankService.java +++ b/src_tenwa/com/tenwa/cgbbank/service/CGBBankService.java @@ -1,15 +1,18 @@ package com.tenwa.cgbbank.service; -import com.amarsoft.are.jbo.BizObject; -import com.amarsoft.are.jbo.BizObjectManager; -import com.amarsoft.are.jbo.JBOException; -import com.amarsoft.are.jbo.JBOFactory; +import com.amarsoft.are.jbo.*; +import com.amarsoft.awe.util.Transaction; +import com.tenwa.cgbbank.dao.LBCgb0032LogDao; import com.tenwa.cgbbank.dto.*; +import com.tenwa.cgbbank.enums.CGB0032LogStatusEnum; import com.tenwa.cgbbank.helper.CGBBankInterfaceHelper; +import com.tenwa.comm.util.jboutil.DataOperatorUtil; +import jbo.loan.LB_CGB_0032_LOG; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import java.util.List; +import java.util.concurrent.atomic.AtomicReference; /** * @program: apzl_leasing @@ -32,6 +35,8 @@ public class CGBBankService { private static CGBBankInterfaceHelper cgbBankInterfaceHelper = CGBBankInterfaceHelper.getInstance(); + private static LBCgb0032LogDao lbCgb0032LogDao = LBCgb0032LogDao.getInstance(); + // ĬϲID private String defOperUserId = "admin"; // Ĭϲ˲ID @@ -39,47 +44,122 @@ public class CGBBankService { private static final Integer QUERY_PAGE_SIZE = 20; - public void queryAndSaveTransactionDetailsToEbank(String account, String queryDate) throws JBOException { + /** + * 㷢Уѯij˺ŵijһݣѯ״̬ + * @param account + * @param queryDate + * @throws JBOException + */ + public void startProcess(String account, String queryDate) throws JBOException { + BizObject lbCgb0032LogBizObj = null; + + JBOTransaction jboTransaction = null; + try { + jboTransaction = JBOFactory.createJBOTransaction(); + lbCgb0032LogBizObj = init(jboTransaction, account, queryDate); + } catch (Exception e) { + e.printStackTrace(); + if (jboTransaction != null) try { + jboTransaction.rollback(); + } catch (JBOException e1) { + e1.printStackTrace(); + } + throw new RuntimeException("ʼ㷢Сϸѯ-ҳӿڡִ״̬ʧܣ"); + } + + queryAndSaveTransactionDetailsToEbank(lbCgb0032LogBizObj); + } + + private BizObject init(JBOTransaction jboTransaction, String account, String queryDate) throws JBOException { + Transaction sqlca = Transaction.createTransaction(jboTransaction); + BizObjectManager lbCgb0032LogManager = lbCgb0032LogDao.getBizObjectManager(jboTransaction); + BizObject lbCgb0032LogBizObj = lbCgb0032LogDao.findByAccountAndTranDate(jboTransaction, account, queryDate); + if (lbCgb0032LogBizObj == null) { + lbCgb0032LogBizObj = lbCgb0032LogDao.init(lbCgb0032LogManager, account, queryDate); + } else { + int anInt = lbCgb0032LogBizObj.getAttribute(LB_CGB_0032_LOG.status).getInt(); + if (CGB0032LogStatusEnum.S0.getCode().intValue() == anInt) { + throw new RuntimeException("ʵڴ˺š" + account + "ڡ" + queryDate + "ݣظִУ"); + } else if (CGB0032LogStatusEnum.S2.getCode().intValue() == anInt) { + lbCgb0032LogDao.updateStatus(sqlca, lbCgb0032LogBizObj.getAttribute(LB_CGB_0032_LOG.id).getString(), CGB0032LogStatusEnum.S0); + } + } + return lbCgb0032LogBizObj; + } + + public void queryAndSaveTransactionDetailsToEbank(BizObject lbCgb0032LogBizObj) throws JBOException { + String lbCgb0032LogId = lbCgb0032LogBizObj.getAttribute("id").getString(); + String account = lbCgb0032LogBizObj.getAttribute("account").getString(); + String tranDate = lbCgb0032LogBizObj.getAttribute("tran_date").getString(); + int recordNum = lbCgb0032LogBizObj.getAttribute("record_num").getInt(); CGB0032ReqBody reqBody = new CGB0032ReqBody(); reqBody.setAccount(account); - reqBody.setBeginDate(queryDate); - reqBody.setEndDate(queryDate); + reqBody.setBeginDate(tranDate); + reqBody.setEndDate(tranDate); reqBody.setQueryType(0); reqBody.setQueryNumber(QUERY_PAGE_SIZE); boolean queryFlag = true; -// List ebankObjList = new ArrayList<>(); - BizObjectManager bizObjectManager = JBOFactory.getBizObjectManager("jbo.app.tenwa.calc.LC_EBANK"); + while (queryFlag) { CGBBEDC cgb0032ResBodyCGBBEDC = null; try { cgb0032ResBodyCGBBEDC = cgbBankInterfaceHelper.queryTransactionDetails(reqBody); } catch (Exception e) { - throw new RuntimeException(e); + // нӿڳ쳣󣬱Ϣ㷢ˮÿ־ + lbCgb0032LogDao.recordLog(lbCgb0032LogId, recordNum, reqBody.getBeginRecTranCode(), + reqBody.getBeginRecTranSeq(), CGB0032LogStatusEnum.S2); + throw new RuntimeException("ù㷢Сϸѯ-ҳӿڡʧܣ"); } CGBMessage message = cgb0032ResBodyCGBBEDC.getMessage(); CGB0032ResBody resBody = message.getBody(); List records = resBody.getRecords(); - // תˮ -// ebankObjList.clear(); - for (CGB0032ResBodyRecord record : records) { - if (record.getFinancingSymbol().equals("+")) { -// ebankObjList.add(); - BizObject bizObject = record.convertToEbank(bizObjectManager, defOperUserId, defOperOrgId); - bizObjectManager.saveObject(bizObject); + JBOTransaction jboTransaction = null; + try { + jboTransaction = JBOFactory.createJBOTransaction(); + BizObjectManager bizObjectManager = JBOFactory.getBizObjectManager("jbo.app.tenwa.calc.LC_EBANK", jboTransaction); + // תˮ + for (CGB0032ResBodyRecord record : records) { + if (record.getFinancingSymbol().equals("+")) { + BizObject bizObject = record.convertToEbank(bizObjectManager, defOperUserId, defOperOrgId); + bizObjectManager.saveObject(bizObject); + recordNum++; + } } - } - if (resBody.getPageFlag() != 1) { - queryFlag = false; - } else { - reqBody.setBeginRecTranDate(resBody.getNextRecTranDate()); - reqBody.setBeginRecTranSeq(resBody.getNextRecTranSeq()); - reqBody.setBeginRecTranCode(resBody.getNextRecTranCode()); + if (resBody.getPageFlag() != 1) { + queryFlag = false; + } else { + reqBody.setBeginRecTranDate(resBody.getNextRecTranDate()); + reqBody.setBeginRecTranSeq(resBody.getNextRecTranSeq()); + reqBody.setBeginRecTranCode(resBody.getNextRecTranCode()); + } + + lbCgb0032LogDao.recordLog(jboTransaction, lbCgb0032LogId, recordNum, reqBody.getBeginRecTranCode(), + reqBody.getBeginRecTranSeq(), CGB0032LogStatusEnum.S0); + jboTransaction.commit(); + } catch (Exception e) { + e.printStackTrace(); + if (jboTransaction != null) { + try { + jboTransaction.rollback(); + } catch (JBOException e1) { + e1.printStackTrace(); + } + } + + // ¼ʧ־ + lbCgb0032LogDao.recordLog(lbCgb0032LogId, recordNum, reqBody.getBeginRecTranCode(), + reqBody.getBeginRecTranSeq(), CGB0032LogStatusEnum.S2); + + // ׳쳣 + throw new RuntimeException("㷢дˮ쳣"); } } - } + // ɹ״̬ + lbCgb0032LogDao.updateStatus(lbCgb0032LogId, CGB0032LogStatusEnum.S1); + } } diff --git a/src_tenwa/quartz/CGBOnlineBankingTransactionRecordsPullJob.java b/src_tenwa/quartz/CGBOnlineBankingTransactionRecordsPullJob.java index a79274a4a..7a23abbcc 100644 --- a/src_tenwa/quartz/CGBOnlineBankingTransactionRecordsPullJob.java +++ b/src_tenwa/quartz/CGBOnlineBankingTransactionRecordsPullJob.java @@ -28,7 +28,7 @@ public class CGBOnlineBankingTransactionRecordsPullJob implements Job { public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { String yesterday = LocalDate.now().minusDays(1).format(GlobalConst.dateFormatterNone); try { - cgbBankService.queryAndSaveTransactionDetailsToEbank(CGBconfProperties.OWNACCNUMBER, yesterday); + cgbBankService.startProcess(CGBconfProperties.OWNACCNUMBER, yesterday); } catch (Throwable e) { log.error("ʱȡ㷢ˮʧܣȡ:" + yesterday + "˺ţ" + CGBconfProperties.OWNACCNUMBER, e); }