From b2125704e4fe2fad077edb2d75f8152f52214534 Mon Sep 17 00:00:00 2001 From: zhouyahui Date: Wed, 10 Oct 2018 23:47:41 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E5=A4=AE=E8=A1=8C=E6=AF=94=E4=BE=8B?= =?UTF-8?q?=E5=8A=A0=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- calc/com/tenwa/reckon/util/TransRateHelper.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/calc/com/tenwa/reckon/util/TransRateHelper.java b/calc/com/tenwa/reckon/util/TransRateHelper.java index 653ec7061..67588ea57 100644 --- a/calc/com/tenwa/reckon/util/TransRateHelper.java +++ b/calc/com/tenwa/reckon/util/TransRateHelper.java @@ -210,8 +210,8 @@ public class TransRateHelper { String newRate = "0"; if("calculation".equals(condition.getAdjustType())){ if ("proportion".equals(condition.getRateFloatType())) {// 按央行利率浮动时 - //newRate = getRateByProportion(condition.getLeaseTerm(), oldYearRate, adjust, condition.getRateFloatAmt()); - newRate = getRateByProportion(condition.getLeaseTerm(), adjust, condition.getRateFloatAmt()); + newRate = getRateByProportion(condition.getLeaseTerm(), oldYearRate, adjust, condition.getRateFloatAmt()); + //newRate = getRateByProportion(condition.getLeaseTerm(), adjust, condition.getRateFloatAmt()); } else if ("add".equals(condition.getRateFloatType())) {// 按央利率加点时 //newRate = getRateByPoint(condition.getLeaseTerm(), oldYearRate, adjust); newRate = getRateByPoint(condition.getLeaseTerm(), adjust, condition.getRateFloatAmt()); From 0af993bb4106640e50007f4ebd5ce41a64667810 Mon Sep 17 00:00:00 2001 From: xiezhiwen Date: Thu, 11 Oct 2018 18:23:10 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E5=87=AD=E8=AF=81=E7=9B=B8=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...reateVoucherActualPaymentCarTradition.java | 12 ++++----- .../CreateVoucherActualPaymentTradition.java | 26 +++---------------- .../serviceImp/CreateVoucherServiceImpl.java | 20 +++++++++----- 3 files changed, 23 insertions(+), 35 deletions(-) diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherActualPaymentCarTradition.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherActualPaymentCarTradition.java index 095c302b0..4b91c46dc 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherActualPaymentCarTradition.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherActualPaymentCarTradition.java @@ -54,11 +54,11 @@ public class CreateVoucherActualPaymentCarTradition extends BaseBussiness{ //购置融资租赁资产-汽车 if("PZ2018092500000196".equals(VOUCHERNO) || "PZ2018092600000234".equals(VOUCHERNO) || "PZ2018092500000198".equals(VOUCHERNO) || "PZ2018092600000236".equals(VOUCHERNO)) { - sql="SELECT LFIT1.EQUIP,ROUND(LFIT1.EQUIP / getTax(LCI.LEAS_FORM,'本金',LCI.`INPUTTIME`),2) AS EQUIPNOTAX,(LFIT1.EQUIP - ROUND(LFIT1.EQUIP / getTax(LCI.LEAS_FORM,'本金',LCI.`INPUTTIME`),2)) AS EQUIPTAX,(LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) AS INSURANCE_PREMIUM_OTHER,ROUND((LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY)/getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2) AS INSURANCE_PREMIUM_OTHER_NOTAX,((LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) - ROUND((LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY)/getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2)) AS INSURANCE_PREMIUM_OTHER_TAX,(LFIT1.EQUIP + LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) AS EQUIP_INSURACE_PREMIUM_OTHER,LFIT3.FIRST_PAYMENT,ROUND(LFIT3.FIRST_PAYMENT/getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2) AS FIRST_PAYMENT_NOTAX,(LFIT3.FIRST_PAYMENT - ROUND(LFIT3.FIRST_PAYMENT/getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2)) AS FIRST_PAYMENT_TAX,(LFIT1.EQUIP + LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY - LFIT3.FIRST_PAYMENT) AS EQUIP_PREMIUM_OTHER_SUBFIRST,LFIT1.ACCOUNT_DATE AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT1.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT1.ACC_NUMBER FROM LC_CALC_CONDITION LCCT LEFT JOIN LB_CONTRACT_INFO LCI ON LCCT.CONTRACT_ID = LCI.`ID` LEFT JOIN (SELECT FLOWUNID,MAX(CONTRACT_ID) AS CONTRACT_ID,MAX(ACC_NUMBER) AS ACC_NUMBER,SUM(FACT_MONEY) AS EQUIP,MAX(ACCOUNTING_DATE) AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP GROUP BY FLOWUNID) LFIT1 ON LFIT1.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS OTHER_MONEY FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype29') LFIT2 ON LFIT2.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS FIRST_PAYMENT,SETTLE_METHOD FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype5') LFIT3 ON LFIT3.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS INSURANCE_PREMIUM,SETTLE_METHOD FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype21') LFIT4 ON LFIT4.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LCI.BUSINESSTYPE = '3' AND LFIT1.FLOWUNID=:FLOWUNID "; + sql="SELECT LFIT1.EQUIP,ROUND(LFIT1.EQUIP / getTax(LCI.LEAS_FORM,'本金',LCI.`INPUTTIME`),2) AS EQUIPNOTAX,(LFIT1.EQUIP - ROUND(LFIT1.EQUIP / getTax(LCI.LEAS_FORM,'本金',LCI.`INPUTTIME`),2)) AS EQUIPTAX,(LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) AS INSURANCE_PREMIUM_OTHER,ROUND((LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY)/getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2) AS INSURANCE_PREMIUM_OTHER_NOTAX,((LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) - ROUND((LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY)/getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2)) AS INSURANCE_PREMIUM_OTHER_TAX,(LFIT1.EQUIP + LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) AS EQUIP_INSURACE_PREMIUM_OTHER,LFIT3.FIRST_PAYMENT,ROUND(LFIT3.FIRST_PAYMENT/getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2) AS FIRST_PAYMENT_NOTAX,(LFIT3.FIRST_PAYMENT - ROUND(LFIT3.FIRST_PAYMENT/getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2)) AS FIRST_PAYMENT_TAX,(LFIT1.EQUIP + LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY - LFIT3.FIRST_PAYMENT) AS EQUIP_PREMIUM_OTHER_SUBFIRST,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT1.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT1.ACC_NUMBER FROM LC_CALC_CONDITION LCCT LEFT JOIN LB_CONTRACT_INFO LCI ON LCCT.CONTRACT_ID = LCI.`ID` LEFT JOIN (SELECT FLOWUNID,MAX(CONTRACT_ID) AS CONTRACT_ID,MAX(ACC_NUMBER) AS ACC_NUMBER,SUM(FACT_MONEY) AS EQUIP,MAX(ACCOUNTING_DATE) AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP GROUP BY FLOWUNID) LFIT1 ON LFIT1.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS OTHER_MONEY FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype29') LFIT2 ON LFIT2.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS FIRST_PAYMENT,SETTLE_METHOD FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype5') LFIT3 ON LFIT3.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS INSURANCE_PREMIUM,SETTLE_METHOD FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype21') LFIT4 ON LFIT4.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LCI.BUSINESSTYPE = '3' AND LFIT1.FLOWUNID=:FLOWUNID "; }else if("PZ2018092500000197".equals(VOUCHERNO) || "PZ2018092600000235".equals(VOUCHERNO)) {// 购置融资租赁资产-其他 - sql="SELECT LFIT1.EQUIP,ROUND(LFIT1.EQUIP/getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2) AS EQUIPNOTAX,(LFIT1.EQUIP - ROUND(LFIT1.EQUIP / getTax(LCI.LEAS_FORM,'本金',LCI.`INPUTTIME`),2)) AS EQUIPTAX,(LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) AS INSURANCE_PREMIUM_OTHER,ROUND((LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) / getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2) AS INSURANCE_PREMIUM_OTHER_NOTAX,((LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) - ROUND((LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY)/getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2)) AS INSURANCE_PREMIUM_OTHER_TAX,(LFIT1.EQUIP + LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) AS EQUIP_INSURACE_PREMIUM_OTHER,LFIT3.FIRST_PAYMENT,ROUND(LFIT3.FIRST_PAYMENT / getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2) AS FIRST_PAYMENT_NOTAX,(LFIT3.FIRST_PAYMENT - ROUND(LFIT3.FIRST_PAYMENT / getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2)) AS FIRST_PAYMENT_TAX,(LFIT1.EQUIP + LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY - LFIT3.FIRST_PAYMENT) AS EQUIP_PREMIUM_OTHER_SUBFIRST,LFIT4.ACCOUNT_DATE AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT1.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT1.ACC_NUMBER FROM LC_CALC_CONDITION LCCT LEFT JOIN LB_CONTRACT_INFO LCI ON LCCT.CONTRACT_ID = LCI.`ID` LEFT JOIN (SELECT FLOWUNID,MAX(CONTRACT_ID) AS CONTRACT_ID,MAX(ACC_NUMBER) AS ACC_NUMBER,SUM(FACT_MONEY) AS EQUIP,MAX(ACCOUNTING_DATE) AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP GROUP BY FLOWUNID) LFIT1 ON LFIT1.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS OTHER_MONEY FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype29') LFIT2 ON LFIT2.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS FIRST_PAYMENT,SETTLE_METHOD,ACCOUNTING_DATE AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype5') LFIT3 ON LFIT3.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS INSURANCE_PREMIUM,SETTLE_METHOD,ACCOUNTING_DATE AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype21') LFIT4 ON LFIT4.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LCI.BUSINESSTYPE = '3' AND LFIT1.FLOWUNID = :FLOWUNID "; + sql="SELECT LFIT1.EQUIP,ROUND(LFIT1.EQUIP/getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2) AS EQUIPNOTAX,(LFIT1.EQUIP - ROUND(LFIT1.EQUIP / getTax(LCI.LEAS_FORM,'本金',LCI.`INPUTTIME`),2)) AS EQUIPTAX,(LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) AS INSURANCE_PREMIUM_OTHER,ROUND((LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) / getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2) AS INSURANCE_PREMIUM_OTHER_NOTAX,((LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) - ROUND((LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY)/getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2)) AS INSURANCE_PREMIUM_OTHER_TAX,(LFIT1.EQUIP + LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) AS EQUIP_INSURACE_PREMIUM_OTHER,LFIT3.FIRST_PAYMENT,ROUND(LFIT3.FIRST_PAYMENT / getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2) AS FIRST_PAYMENT_NOTAX,(LFIT3.FIRST_PAYMENT - ROUND(LFIT3.FIRST_PAYMENT / getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2)) AS FIRST_PAYMENT_TAX,(LFIT1.EQUIP + LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY - LFIT3.FIRST_PAYMENT) AS EQUIP_PREMIUM_OTHER_SUBFIRST,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT1.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT1.ACC_NUMBER FROM LC_CALC_CONDITION LCCT LEFT JOIN LB_CONTRACT_INFO LCI ON LCCT.CONTRACT_ID = LCI.`ID` LEFT JOIN (SELECT FLOWUNID,MAX(CONTRACT_ID) AS CONTRACT_ID,MAX(ACC_NUMBER) AS ACC_NUMBER,SUM(FACT_MONEY) AS EQUIP,MAX(ACCOUNTING_DATE) AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP GROUP BY FLOWUNID) LFIT1 ON LFIT1.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS OTHER_MONEY FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype29') LFIT2 ON LFIT2.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS FIRST_PAYMENT,SETTLE_METHOD,ACCOUNTING_DATE AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype5') LFIT3 ON LFIT3.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS INSURANCE_PREMIUM,SETTLE_METHOD,ACCOUNTING_DATE AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype21') LFIT4 ON LFIT4.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LCI.BUSINESSTYPE = '3' AND LFIT1.FLOWUNID = :FLOWUNID "; }else{// 经销商支付的预付款(首付) - sql="SELECT LFIT1.EQUIP,ROUND(LFIT1.EQUIP/getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2) AS EQUIPNOTAX,(LFIT1.EQUIP - ROUND(LFIT1.EQUIP / getTax(LCI.LEAS_FORM,'本金',LCI.`INPUTTIME`),2)) AS EQUIPTAX,(LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) AS INSURANCE_PREMIUM_OTHER,ROUND((LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) / getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2) AS INSURANCE_PREMIUM_OTHER_NOTAX,((LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) - ROUND((LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY)/getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2)) AS INSURANCE_PREMIUM_OTHER_TAX,(LFIT1.EQUIP + LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) AS EQUIP_INSURACE_PREMIUM_OTHER,LFIT3.FIRST_PAYMENT,ROUND(LFIT3.FIRST_PAYMENT / getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2) AS FIRST_PAYMENT_NOTAX,(LFIT3.FIRST_PAYMENT - ROUND(LFIT3.FIRST_PAYMENT / getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2)) AS FIRST_PAYMENT_TAX,(LFIT1.EQUIP + LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY - LFIT3.FIRST_PAYMENT) AS EQUIP_PREMIUM_OTHER_SUBFIRST,LFIT3.ACCOUNT_DATE AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT1.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT1.ACC_NUMBER FROM LC_CALC_CONDITION LCCT LEFT JOIN LB_CONTRACT_INFO LCI ON LCCT.CONTRACT_ID = LCI.`ID` LEFT JOIN (SELECT FLOWUNID,MAX(CONTRACT_ID) AS CONTRACT_ID,MAX(ACC_NUMBER) AS ACC_NUMBER,SUM(FACT_MONEY) AS EQUIP,MAX(ACCOUNTING_DATE) AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP GROUP BY FLOWUNID) LFIT1 ON LFIT1.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS OTHER_MONEY FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype29') LFIT2 ON LFIT2.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS FIRST_PAYMENT,SETTLE_METHOD,ACCOUNTING_DATE AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype5') LFIT3 ON LFIT3.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS INSURANCE_PREMIUM,SETTLE_METHOD,ACCOUNTING_DATE AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype21') LFIT4 ON LFIT4.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LCI.BUSINESSTYPE = '3' AND LFIT1.FLOWUNID = :FLOWUNID "; + sql="SELECT LFIT1.EQUIP,ROUND(LFIT1.EQUIP/getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2) AS EQUIPNOTAX,(LFIT1.EQUIP - ROUND(LFIT1.EQUIP / getTax(LCI.LEAS_FORM,'本金',LCI.`INPUTTIME`),2)) AS EQUIPTAX,(LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) AS INSURANCE_PREMIUM_OTHER,ROUND((LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) / getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2) AS INSURANCE_PREMIUM_OTHER_NOTAX,((LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) - ROUND((LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY)/getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2)) AS INSURANCE_PREMIUM_OTHER_TAX,(LFIT1.EQUIP + LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) AS EQUIP_INSURACE_PREMIUM_OTHER,LFIT3.FIRST_PAYMENT,ROUND(LFIT3.FIRST_PAYMENT / getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2) AS FIRST_PAYMENT_NOTAX,(LFIT3.FIRST_PAYMENT - ROUND(LFIT3.FIRST_PAYMENT / getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2)) AS FIRST_PAYMENT_TAX,(LFIT1.EQUIP + LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY - LFIT3.FIRST_PAYMENT) AS EQUIP_PREMIUM_OTHER_SUBFIRST,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT1.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT1.ACC_NUMBER FROM LC_CALC_CONDITION LCCT LEFT JOIN LB_CONTRACT_INFO LCI ON LCCT.CONTRACT_ID = LCI.`ID` LEFT JOIN (SELECT FLOWUNID,MAX(CONTRACT_ID) AS CONTRACT_ID,MAX(ACC_NUMBER) AS ACC_NUMBER,SUM(FACT_MONEY) AS EQUIP,MAX(ACCOUNTING_DATE) AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP GROUP BY FLOWUNID) LFIT1 ON LFIT1.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS OTHER_MONEY FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype29') LFIT2 ON LFIT2.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS FIRST_PAYMENT,SETTLE_METHOD,ACCOUNTING_DATE AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype5') LFIT3 ON LFIT3.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS INSURANCE_PREMIUM,SETTLE_METHOD,ACCOUNTING_DATE AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype21') LFIT4 ON LFIT4.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LCI.BUSINESSTYPE = '3' AND LFIT1.FLOWUNID = :FLOWUNID "; } // 非差额放款部分 @@ -98,13 +98,13 @@ public class CreateVoucherActualPaymentCarTradition extends BaseBussiness{ CONTRACT_NUMBER=dataList.get(i).get("CONTRACT_NUMBER").toString();// 合同编号 PROJECT_NAME=dataList.get(i).get("PROJECT_NAME").toString();// 项目名称 LEAS_FORM=dataList.get(i).get("LEAS_FORM").toString();// 项目类别 - DISTRIBUTOR_ID=dataList.get(i).get("DISTRIBUTOR_ID").toString();// 经销商编号 - DISTRIBUTOR_NAME=dataList.get(i).get("DISTRIBUTOR_NAME").toString();// 经销商名称 + DISTRIBUTOR_ID=dataList.get(i).get("DISTRIBUTOR_ID");// 经销商编号 + DISTRIBUTOR_NAME=dataList.get(i).get("DISTRIBUTOR_NAME");// 经销商名称 CUSTOMERID=dataList.get(i).get("CUSTOMERID").toString();// 客户编号 CUSTOMERNAME=dataList.get(i).get("CUSTOMERNAME").toString();// 客户名称 CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE").toString();// 客户类别 BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE").toString();// 业务类型 - ACC_NUMBER=dataList.get(i).get("ACC_NUMBER").toString();// 银行账号 + ACC_NUMBER=dataList.get(i).get("ACC_NUMBER");// 银行账号 // 将数据封装到定义好的map集合中 param.put("EQUIP",EQUIP); diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherActualPaymentTradition.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherActualPaymentTradition.java index 4169c4ac5..69abb60a9 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherActualPaymentTradition.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherActualPaymentTradition.java @@ -53,26 +53,8 @@ public class CreateVoucherActualPaymentTradition extends BaseBussiness{ String BUSINESSTYPE=null; // 业务类型 String ACC_NUMBER=null; // 银行账号 String sql=""; - String dateType=""; // 记账日期 - if("PZ2018092500000159".equals(VOUCHERNO) || "PZ2018092600000223".equals(VOUCHERNO) || "PZ2018092500000161".equals(VOUCHERNO) || "PZ2018092600000225".equals(VOUCHERNO)) { - // 设备款 - dateType=" LFIT1.ACCOUNT_DATE "; - }else if("PZ2018092500000159".equals(VOUCHERNO) || "PZ2018092600000223".equals(VOUCHERNO)) { - // 其他 - dateType=" LFIT2.ACCOUNT_DATE "; - }else if("PZ2018092500000162".equals(VOUCHERNO) || "PZ2018092600000226".equals(VOUCHERNO) || "PZ2018092500000163".equals(VOUCHERNO) || "PZ2018092600000227".equals(VOUCHERNO)) { - // 首付 - dateType=" LFIT3.ACCOUNT_DATE "; - }else if("PZ2018092500000164".equals(VOUCHERNO) || "PZ2018092600000229".equals(VOUCHERNO) || "PZ2018092500000165".equals(VOUCHERNO) || "PZ2018092600000230".equals(VOUCHERNO) || "PZ2018092500000169".equals(VOUCHERNO) || "PZ2018092600000233".equals(VOUCHERNO)) { - // 保证金 - dateType=" LFIT4.ACCOUNT_DATE "; - }else if("PZ2018092500000166".equals(VOUCHERNO) || "PZ2018092600000231".equals(VOUCHERNO) || "PZ2018092500000167".equals(VOUCHERNO) || "PZ2018092600000232".equals(VOUCHERNO)) { - // 手续费 - dateType=" LFIT5.ACCOUNT_DATE "; - } - - sql="SELECT LFIT1.EQUIP,ROUND(LFIT1.EQUIP / getTax (LCI.LEAS_FORM,'本金',LCI.`INPUTTIME`),2) AS EQUIPNOTAX,(LFIT1.EQUIP - ROUND(LFIT1.EQUIP / getTax (LCI.LEAS_FORM,'本金',LCI.`INPUTTIME`),2)) AS EQUIPTAX,LFIT2.OTHER_MONEY,ROUND(LFIT2.OTHER_MONEY / getTax (LCI.LEAS_FORM,'本金',LCI.`INPUTTIME`),2) AS OTHERNOTAX,(LFIT2.OTHER_MONEY - ROUND(LFIT2.OTHER_MONEY / getTax (LCI.LEAS_FORM,'本金',LCI.`INPUTTIME`),2)) AS OTHERTAX,(LFIT1.EQUIP + LFIT2.OTHER_MONEY) AS EQUIP_OTHER,LFIT3.FIRST_PAYMENT,LFIT4.GUARANTY,LFIT5.HANDLING_CHARGE_MONEY,ROUND(LFIT5.HANDLING_CHARGE_MONEY / getTax (LCI.LEAS_FORM,'手续费',LCI.INPUTTIME),2) AS HANDLING_CHARGE_MONEY_NOTAX,(LFIT5.HANDLING_CHARGE_MONEY - ROUND(LFIT5.HANDLING_CHARGE_MONEY / getTax (LCI.LEAS_FORM,'手续费',LCI.INPUTTIME),2)) AS HANDLING_CHARGE_MONEY_TAX,(LFIT1.EQUIP + LFIT2.OTHER_MONEY - LFIT3.FIRST_PAYMENT - LFIT4.GUARANTY - LFIT5.HANDLING_CHARGE_MONEY) AS OTHERS_MATH, '"+dateType+"' AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT1.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT1.ACC_NUMBER FROM LC_CALC_CONDITION LCCT LEFT JOIN LB_CONTRACT_INFO LCI ON LCCT.CONTRACT_ID = LCI.`ID` LEFT JOIN (SELECT FLOWUNID,MAX(CONTRACT_ID) AS CONTRACT_ID,MAX(ACC_NUMBER) AS ACC_NUMBER,SUM(FACT_MONEY) AS EQUIP,MAX(ACCOUNTING_DATE) AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP GROUP BY FLOWUNID) LFIT1 ON LFIT1.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS OTHER_MONEY,ACCOUNTING_DATE AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype29') LFIT2 ON LFIT2.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS FIRST_PAYMENT,SETTLE_METHOD,ACCOUNTING_DATE AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype5') LFIT3 ON LFIT3.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS GUARANTY,SETTLE_METHOD,ACCOUNTING_DATE AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype2') LFIT4 ON LFIT4.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS HANDLING_CHARGE_MONEY,SETTLE_METHOD,ACCOUNTING_DATE AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype1') LFIT5 ON LFIT5.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LCI.BUSINESSTYPE = '2' AND LFIT1.FLOWUNID = :FLOWUNID "; + sql="SELECT LFIT1.EQUIP,ROUND(LFIT1.EQUIP / getTax(LCI.LEAS_FORM,'本金',LCI.`INPUTTIME`),2) AS EQUIPNOTAX,(LFIT1.EQUIP - ROUND(LFIT1.EQUIP / getTax(LCI.LEAS_FORM,'本金',LCI.`INPUTTIME`),2)) AS EQUIPTAX,LFIT2.OTHER_MONEY,ROUND(LFIT2.OTHER_MONEY / getTax(LCI.LEAS_FORM,'本金',LCI.`INPUTTIME`),2) AS OTHERNOTAX,(LFIT2.OTHER_MONEY - ROUND(LFIT2.OTHER_MONEY / getTax(LCI.LEAS_FORM,'本金',LCI.`INPUTTIME`),2)) AS OTHERTAX,(LFIT1.EQUIP + LFIT2.OTHER_MONEY) AS EQUIP_OTHER,LFIT3.FIRST_PAYMENT,LFIT4.GUARANTY,LFIT5.HANDLING_CHARGE_MONEY,ROUND(LFIT5.HANDLING_CHARGE_MONEY / getTax(LCI.LEAS_FORM,'手续费',LCI.INPUTTIME),2) AS HANDLING_CHARGE_MONEY_NOTAX,(LFIT5.HANDLING_CHARGE_MONEY - ROUND(LFIT5.HANDLING_CHARGE_MONEY / getTax(LCI.LEAS_FORM,'手续费',LCI.INPUTTIME),2)) AS HANDLING_CHARGE_MONEY_TAX,(LFIT1.EQUIP + LFIT2.OTHER_MONEY - LFIT3.FIRST_PAYMENT - LFIT4.GUARANTY - LFIT5.HANDLING_CHARGE_MONEY) AS OTHERS_MATH, DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT1.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT1.ACC_NUMBER FROM LC_CALC_CONDITION LCCT LEFT JOIN LB_CONTRACT_INFO LCI ON LCCT.CONTRACT_ID = LCI.`ID` LEFT JOIN (SELECT FLOWUNID,MAX(CONTRACT_ID) AS CONTRACT_ID,MAX(ACC_NUMBER) AS ACC_NUMBER,SUM(FACT_MONEY) AS EQUIP,MAX(ACCOUNTING_DATE) AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP GROUP BY FLOWUNID) LFIT1 ON LFIT1.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS OTHER_MONEY,ACCOUNTING_DATE AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype29') LFIT2 ON LFIT2.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS FIRST_PAYMENT,SETTLE_METHOD,ACCOUNTING_DATE AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype5') LFIT3 ON LFIT3.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS GUARANTY,SETTLE_METHOD,ACCOUNTING_DATE AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype2') LFIT4 ON LFIT4.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS HANDLING_CHARGE_MONEY,SETTLE_METHOD,ACCOUNTING_DATE AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype1') LFIT5 ON LFIT5.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LCI.BUSINESSTYPE = '2' AND LFIT1.FLOWUNID = :FLOWUNID "; // 非差额放款部分 if("PZ2018092500000161".equals(VOUCHERNO) || "PZ2018092600000225".equals(VOUCHERNO)){ @@ -119,13 +101,13 @@ public class CreateVoucherActualPaymentTradition extends BaseBussiness{ CONTRACT_NUMBER=dataList.get(i).get("CONTRACT_NUMBER").toString();// 合同编号 PROJECT_NAME=dataList.get(i).get("PROJECT_NAME").toString();// 项目名称 LEAS_FORM=dataList.get(i).get("LEAS_FORM").toString();// 项目类别 - DISTRIBUTOR_ID=dataList.get(i).get("DISTRIBUTOR_ID").toString();// 经销商编号 - DISTRIBUTOR_NAME=dataList.get(i).get("DISTRIBUTOR_NAME").toString();// 经销商名称 + DISTRIBUTOR_ID=dataList.get(i).get("DISTRIBUTOR_ID");// 经销商编号 + DISTRIBUTOR_NAME=dataList.get(i).get("DISTRIBUTOR_NAME");// 经销商名称 CUSTOMERID=dataList.get(i).get("CUSTOMERID").toString();// 客户编号 CUSTOMERNAME=dataList.get(i).get("CUSTOMERNAME").toString();// 客户名称 CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE").toString();// 客户类别 BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE").toString();// 业务类型 - ACC_NUMBER=dataList.get(i).get("ACC_NUMBER").toString();// 银行账号 + ACC_NUMBER=dataList.get(i).get("ACC_NUMBER");// 银行账号 // 将数据封装到定义好的map集合中 param.put("EQUIP",EQUIP); diff --git a/src_core/com/tenwa/voucher/serviceImp/CreateVoucherServiceImpl.java b/src_core/com/tenwa/voucher/serviceImp/CreateVoucherServiceImpl.java index 74b8e224b..7b064d4d2 100644 --- a/src_core/com/tenwa/voucher/serviceImp/CreateVoucherServiceImpl.java +++ b/src_core/com/tenwa/voucher/serviceImp/CreateVoucherServiceImpl.java @@ -276,7 +276,7 @@ public class CreateVoucherServiceImpl { try{ String valuemode=bo.getAttribute("VALUE_MODE").getString(); System.out.println(valuemode); - Class c=(Class)Class.forName(bo.getAttribute("VALUE_MODE").getString()); + Class c=(Class)Class.forName("com.tenwa.voucher.CreateVoucherProcess.VoucherGetMoneyForTradition.ContractGetMoneyToEquip"); ps=c.newInstance(); }catch(Exception e){ ps=null; @@ -295,12 +295,7 @@ public class CreateVoucherServiceImpl { subData.put("F6",sub.getAttribute("id").getString());//科目编码 subData.put("F1",dataTemp.get("ACCOUNT_DATE"));//会计处理日 String VOUCHERNO = param.get("VOUCHERNO"); - String sort = bo.getAttribute("SORT_NUMBER").getString(); - if("1".equals(sort)) { - param.put("BUSINESSTYPE", "9201"); - }else if("2".equals(sort)) { - param.put("BUSINESSTYPE", "92"); - } + if("1".equals(bo.getAttribute("LOAN_DIRECTION").getString())){//借贷方向 subData.put("F7", dataTemp.get("MONEY"));//借方金额 subData.put("F8", "0");//贷方金额 @@ -368,6 +363,17 @@ public class CreateVoucherServiceImpl { String LEAS_FORM = param.get("LEAS_FORM"); // 获取当前凭证借贷序号 String SORT_NUMBER = bo.getAttribute("SORT_NUMBER").getString(); + // 直租记录佣金 + if("PZ2018082000000141".equals(VOUCHERNO)) { + if("01".equals(LEAS_FORM)) { + if("1".equals(SORT_NUMBER)) { + param.put("BUSINESSTYPE", "9201"); + }else if("2".equals(SORT_NUMBER)) { + param.put("BUSINESSTYPE", "92"); + } + } + } + // 汽车类应收账款总金额根据分录配置辅助核算值---除了没有的和其他(10), 其他都是默认汽车(04) if("PZ2018071000000005".equals(voucherid) || "PZ2018080300000069".equals(voucherid)) { if("01".equals(LEAS_FORM)) {//直租 From 4d4a90b94698e3089d7a6deba2345acaecf12494 Mon Sep 17 00:00:00 2001 From: tangfutang Date: Thu, 11 Oct 2018 18:25:14 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E9=9A=90=E8=97=8F=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E5=88=B0=E4=B8=8B=E4=B8=AA=E8=8A=82=E7=82=B9=E7=9A=84=E4=BA=BA?= =?UTF-8?q?=E5=91=98=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WebContent/Common/WorkFlow/FlowSubmitDialog.jsp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/WebContent/Common/WorkFlow/FlowSubmitDialog.jsp b/WebContent/Common/WorkFlow/FlowSubmitDialog.jsp index 53434ca77..9644dc781 100644 --- a/WebContent/Common/WorkFlow/FlowSubmitDialog.jsp +++ b/WebContent/Common/WorkFlow/FlowSubmitDialog.jsp @@ -174,11 +174,13 @@ /* if((phase=="0010"&&flowNo=="FundPaymentCarFlow")||((phase=="0020"||phase=="0010")&&flowNo=="BusinessApplyFlow")){ actionSet.hide(); } */ - - if(phase=="0010"&&(flowNo!="ProjectCreditFlow"&&flowNo!="ProjectRecreditFlow"&&flowNo!="Mortgage2FileFlow"&&flowNo!="ContractOnhireFlow"&&flowNo!="AdjustInterestFlow")){ - actionSet.hide(); - } - + if(flowNo=="ProjectCreditFlow"||flowNo=="ProjectRecreditFlow"||flowNo=="Mortgage2FileFlow"||flowNo=="ContractOnhireFlow"||flowNo=="AdjustInterestFlow"){ + if(phase!="0010"){ + actionSet.hide(); + } + }else{ + actionSet.hide(); + } } }else{ actionSet.html(""); From b2231f49b86696985fb75deedfb04ea8c9935165 Mon Sep 17 00:00:00 2001 From: liuzhao Date: Thu, 11 Oct 2018 18:28:55 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E6=9B=B4=E6=96=B0JBO?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WebContent/WEB-INF/etc/jbo/jbo_lease.xml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/WebContent/WEB-INF/etc/jbo/jbo_lease.xml b/WebContent/WEB-INF/etc/jbo/jbo_lease.xml index c9fc554ea..4e5b3bf10 100644 --- a/WebContent/WEB-INF/etc/jbo/jbo_lease.xml +++ b/WebContent/WEB-INF/etc/jbo/jbo_lease.xml @@ -4652,6 +4652,18 @@ + + + + + + + + + + + + From 997d83adad9d6eafa9a726c5c50526059685658c Mon Sep 17 00:00:00 2001 From: liuzhao Date: Fri, 12 Oct 2018 10:18:30 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E5=8F=96=E6=B6=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../message/controller/BusinessCancelJob.java | 2 +- .../commbusiness/LBProjectApplyCancel.java | 44 +++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 src_tenwa/com/tenwa/lease/flow/contract/commbusiness/LBProjectApplyCancel.java diff --git a/src_core/com/tenwa/comm/message/controller/BusinessCancelJob.java b/src_core/com/tenwa/comm/message/controller/BusinessCancelJob.java index 8dcc98f3a..b3146f98d 100644 --- a/src_core/com/tenwa/comm/message/controller/BusinessCancelJob.java +++ b/src_core/com/tenwa/comm/message/controller/BusinessCancelJob.java @@ -102,7 +102,7 @@ public class BusinessCancelJob implements Job { lcibo.setAttributeValue(LB_CANCLE_INFO.PROJECT_ID,map.get("ID")); // lcibo.setAttributeValue(LB_CANCLE_INFO.CANCLE_TYPE,""); lcibom.saveObject(lcibo); - SaveBusinessStatus.saveByProjectId(map.get("ID"), tx, "62", jboName.getUserId(arg0, tx)); + SaveBusinessStatus.saveByProjectId(map.get("ID"), tx, "5", jboName.getUserId(arg0, tx)); } } } diff --git a/src_tenwa/com/tenwa/lease/flow/contract/commbusiness/LBProjectApplyCancel.java b/src_tenwa/com/tenwa/lease/flow/contract/commbusiness/LBProjectApplyCancel.java new file mode 100644 index 000000000..d943d3554 --- /dev/null +++ b/src_tenwa/com/tenwa/lease/flow/contract/commbusiness/LBProjectApplyCancel.java @@ -0,0 +1,44 @@ +package com.tenwa.lease.flow.contract.commbusiness; + +import jbo.com.tenwa.lease.carbrand.BUSINESS_STATUS; + +import com.amarsoft.are.jbo.BizObject; +import com.amarsoft.are.jbo.BizObjectManager; +import com.amarsoft.are.jbo.JBOFactory; +import com.amarsoft.are.jbo.JBOTransaction; +import com.amarsoft.are.util.StringFunction; +import com.amarsoft.awe.util.Transaction; +import com.amarsoft.context.ASUser; +import com.tenwa.flow.baseBussion.BaseBussiness; + +public class LBProjectApplyCancel extends BaseBussiness{ + String project_no = ""; + @Override + public Object run(Transaction Sqlca) throws Exception { + this.initBussinessParam(Sqlca); + ASUser asUser=new ASUser(this.getAttribute("CurUserID").toString()); + project_no = this.getAttribute("FlowKey")==null? "":this.getAttribute("FlowKey").toString(); + this.saveBusinessStatus(Sqlca,asUser); + String sMessage="true"; + return sMessage; + } + + private void saveBusinessStatus(Transaction Sqlca,ASUser asUser) throws Exception{ + JBOTransaction tx = null; + tx= JBOFactory.createJBOTransaction(); + BizObjectManager bsbom = JBOFactory.getBizObjectManager(BUSINESS_STATUS.CLASS_NAME,tx); + BizObject bsbo = bsbom.newObject(); + try { + bsbo.setAttributeValue(BUSINESS_STATUS.contract_number,project_no); + bsbo.setAttributeValue(BUSINESS_STATUS.business_status,"5");//5 取消 + bsbo.setAttributeValue(BUSINESS_STATUS.inputuserid,asUser.getUserID()); + bsbo.setAttributeValue(BUSINESS_STATUS.inputtime,StringFunction.getTodayNow()); + bsbo.setAttributeValue(BUSINESS_STATUS.inputorgid,asUser.getOrgID()); + bsbom.saveObject(bsbo); + tx.commit(); + }catch (Exception e){ + tx.rollback(); + e.printStackTrace(); + } + } +} From 340b61b0cd8e323b6759ec2c7a355921f801f63d Mon Sep 17 00:00:00 2001 From: tangfutang Date: Fri, 12 Oct 2018 11:23:44 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E7=BB=8F=E9=94=80=E5=95=86=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E4=B8=BA=E6=BF=80=E6=B4=BB=E7=8A=B6=E6=80=81=E6=89=8D?= =?UTF-8?q?=E8=83=BD=E5=88=9B=E5=BB=BA=E8=B4=A6=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ChannelUser/UserList.jsp | 7 +++- .../orguser/action/UserManageAction.java | 34 +++++++++++++++++++ 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/WebContent/Tenwa/Core/ChannelCRMManager/ChannelUser/UserList.jsp b/WebContent/Tenwa/Core/ChannelCRMManager/ChannelUser/UserList.jsp index c7e3b1e16..69f0f7a5a 100644 --- a/WebContent/Tenwa/Core/ChannelCRMManager/ChannelUser/UserList.jsp +++ b/WebContent/Tenwa/Core/ChannelCRMManager/ChannelUser/UserList.jsp @@ -70,8 +70,13 @@ var sCreateType="<%=sCreateType%>"; /* if(sCreateType!="manager"){//第一级都可建管理员,业务员必须要配置 if(sOrgLeval!="Y"){alert("管理员没有配置权限,不能新增业务人员");return false;} + } */ + var sReturn = RunJavaMethodTrans("com.amarsoft.app.awe.config.orguser.action.UserManageAction","checkDistributeStatus","orgID=<%=sOrgID%>"); + if("SUCCESS"!=sReturn){ + alert("该经销商未激活,不能创建账号!"); + return; } - */ OpenPage("/Tenwa/Core/ChannelCRMManager/ChannelUser/UserInfo.jsp?OrgID=<%=sOrgID%>&isNew=true&CreateType="+sCreateType,"_self",""); + OpenPage("/Tenwa/Core/ChannelCRMManager/ChannelUser/UserInfo.jsp?OrgID=<%=sOrgID%>&isNew=true&CreateType="+sCreateType,"_self",""); } function viewAndEdit(){ diff --git a/src/com/amarsoft/app/awe/config/orguser/action/UserManageAction.java b/src/com/amarsoft/app/awe/config/orguser/action/UserManageAction.java index 5bc336214..8f82d6c70 100644 --- a/src/com/amarsoft/app/awe/config/orguser/action/UserManageAction.java +++ b/src/com/amarsoft/app/awe/config/orguser/action/UserManageAction.java @@ -1,5 +1,6 @@ package com.amarsoft.app.awe.config.orguser.action; +import com.amarsoft.are.jbo.BizObject; import com.amarsoft.are.jbo.JBOFactory; import com.amarsoft.are.jbo.JBOTransaction; @@ -60,4 +61,37 @@ public class UserManageAction { .setParameter("UserID", userID).executeUpdate(); return "SUCCESS"; } + + /** + * 检查经销商是否激活 + * @param tx + * @return String + * @throws Exception + */ + public String checkDistributeStatus(JBOTransaction tx) throws Exception { + String status = JBOFactory.getBizObjectManager("jbo.app.tenwa.customer.DISTRIBUTOR_INFO",tx).createQuery("orgid=:orgid") + .setParameter("orgid", orgID).getSingleResult(false).getAttribute("DISTRIBUTOR_STATUS").getString(); + if("distributor_status01".equals(status)){ + return "该经销商状态为:草稿。不能创建账号!"; + }else if ("distributor_status02".equals(status)){ + return "该经销商状态为:待审核。不能创建账号!"; + }else if ("distributor_status03".equals(status)){ + return "该经销商状态为:审核中。不能创建账号!"; + }else if ("distributor_status04".equals(status)){ + return "SUCCESS"; + }else if ("distributor_status05".equals(status)){ + return "该经销商状态为:合作暂停。不能创建账号!"; + }else if ("distributor_status06".equals(status)){ + return "该经销商状态为:合作终止。不能创建账号!"; + }else if ("distributor_status07".equals(status)){ + return "该经销商状态为:否决。不能创建账号!"; + }else if ("distributor_status08".equals(status)){ + return "该经销商状态为:审核通过。不能创建账号!"; + }else if ("distributor_status09".equals(status)){ + return "该经销商状态为:保证金已收取。不能创建账号!"; + }else if ("distributor_status10".equals(status)){ + return "该经销商状态为:保证金已退回。不能创建账号!"; + } + return "该经销商状态不能创建账号!"; + } } From 349c95e1b640fa9ab4be12428ae217d8e45ea287 Mon Sep 17 00:00:00 2001 From: liuzhao Date: Fri, 12 Oct 2018 11:40:38 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E5=82=AC=E6=AC=BE=E5=91=98=E5=88=86?= =?UTF-8?q?=E6=B4=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src_tenwa/quartz/AutoDistribute.java | 351 +++++++++++++++++++++++++++ 1 file changed, 351 insertions(+) create mode 100644 src_tenwa/quartz/AutoDistribute.java diff --git a/src_tenwa/quartz/AutoDistribute.java b/src_tenwa/quartz/AutoDistribute.java new file mode 100644 index 000000000..887d860bf --- /dev/null +++ b/src_tenwa/quartz/AutoDistribute.java @@ -0,0 +1,351 @@ +package quartz; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.UUID; + +import jbo.app.tenwa.calc.VI_NORMALSETTLE_CONTRACT; +import jbo.awe.USER_INFO; +import jbo.com.tenwa.lease.comm.LB_CONTRACT_INFO; +import jbo.com.tenwa.lease.comm.VI_AUTODISTRIBUTE; +import jbo.com.tenwa.lease.comm.VI_NORMALEND_CONTRACT; +import jbo.sys.OVERDUE_DUNNING_INFO; + +import org.quartz.Job; +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; + +import com.amarsoft.are.jbo.BizObject; +import com.amarsoft.are.jbo.BizObjectManager; +import com.amarsoft.are.jbo.JBOFactory; +import com.amarsoft.are.jbo.JBOTransaction; +import com.amarsoft.are.util.StringFunction; +import com.amarsoft.awe.util.ASResultSet; +import com.amarsoft.awe.util.SqlObject; +import com.amarsoft.awe.util.Transaction; +import com.amarsoft.context.ASUser; +import com.base.util.QuartzUtil; +//import com.tenwa.action.channelportal.ContractSignAction; +//import com.tenwa.action.channelportal.comm.ContractTransferRightForEnd; +import com.tenwa.comm.util.jboutil.DataOperatorUtil; +import com.tenwa.comm.util.jboutil.SaveBusinessStatus; +import com.tenwa.lease.app.quartzmession.JobInitUserName; +import com.tenwa.officetempalte.action.CreateOfficeAction; +//import com.tenwa.quartz.BeforeSerialTimingTask; +//import com.tenwa.quartz.service.BeforeSerialTimingTaskService; +//import com.tenwa.quartz.serviceImpl.BeforeSerialTimingTaskServiceImpl; +import com.tenwa.reckon.util.UUIDUtil; + +import org.apache.log4j.Logger; + +public class AutoDistribute implements Job{ + private JobInitUserName jboName; + @Override + public void execute(JobExecutionContext arg0) throws JobExecutionException { + String startime = StringFunction.getTodayNow(); + + Object userId = arg0.getTrigger().getJobDataMap().get("CurUserId"); + String curUserId = userId == null? "system" : userId.toString(); + + try { + JBOTransaction tx = JBOFactory.createJBOTransaction(); + ownershipTransferSign(tx,arg0); + tx.commit(); + QuartzUtil.insertLog(startime, "quartz.ContractInfoForNomalSettle", "success", "成功", curUserId); + } catch (Exception e) { + QuartzUtil.insertLog(startime, "quartz.ContractInfoForNomalSettle", "error", "失败", curUserId); + e.printStackTrace(); + } + } + + @SuppressWarnings("unused") + public void ownershipTransferSign(JBOTransaction tx ,JobExecutionContext arg0) throws Exception{ + Transaction Sqlca = null; + Sqlca = Transaction.createTransaction(tx); + + //轻催组下的用户 + String Sql1="SELECT ur.roleid,O.userid AS userid,O.loginid,O.username FROM USER_INFO O LEFT JOIN USER_ROLE AS ur ON ur.USERID = O.USERID LEFT JOIN USER_TASK_INFO uti ON uti.userid=O.userid AND uti.roleid=ur.roleid WHERE O.status='1' AND ur.roleid='800R00000041'"; + + List> dataListA = DataOperatorUtil.getDataBySql(Sqlca, Sql1, null); + + String userA = new String(); + for (Map map : dataListA) { + String userid = map.get("userid"); + userA += userid+"@"; + + } + String[] A =null; + A = userA.split("@"); + + //中催组下的用户 + String Sql2="SELECT ur.roleid,O.userid AS userid,O.loginid,O.username FROM USER_INFO O LEFT JOIN USER_ROLE AS ur ON ur.USERID = O.USERID LEFT JOIN USER_TASK_INFO uti ON uti.userid=O.userid AND uti.roleid=ur.roleid WHERE O.status='1' AND ur.roleid='800R00000042'"; + List> dataListB = DataOperatorUtil.getDataBySql(Sqlca, Sql2, null); + String userB = new String(); + for (Map map : dataListB) { + String userid = map.get("userid"); + userB += userid+"@"; + } + String[] B =null; + B = userB.split("@"); + + //重催组下的用户 + String Sql3="SELECT ur.roleid,O.userid,O.loginid,O.username FROM USER_INFO O LEFT JOIN USER_ROLE AS ur ON ur.USERID = O.USERID LEFT JOIN USER_TASK_INFO uti ON uti.userid=O.userid AND uti.roleid=ur.roleid WHERE O.status='1' AND ur.roleid='800R00000043'"; + List> dataListC = DataOperatorUtil.getDataBySql(Sqlca, Sql3, null); + String userC = new String(); + for (Map map : dataListC) { + String userid = map.get("userid"); + userC += userid+"@"; + } + String[] C =null; + C = userC.split("@"); + + //获取所有逾期的需要催收的合同信息 + String conInfo1 = getContractId(tx); + String overDays = ""; + BizObjectManager overdueManager = JBOFactory.getBizObjectManager(OVERDUE_DUNNING_INFO.CLASS_NAME, tx); + if(!(conInfo1 == null || conInfo1.length() <= 0)){ + String[] conInfos = conInfo1.split(","); + for(String conInfo:conInfos){ + String contract_id = conInfo.split("@")[0]; + overDays = conInfo.split("@")[1]; + int overDay = Integer.valueOf(overDays); + + BizObject overdue = overdueManager.createQuery("contract_id=:contract_id").setParameter("contract_id", contract_id).getSingleResult(false); + if(overdue!=null){//修改 + //催款员 + String partDept = overdue.getAttribute("part_dept").toString(); + + if(overDay>3 && overDay<=15){ + if(Arrays.asList(B).contains(partDept)){ + //此催款员是中催组的人员,不做任何操作 + }else{ + //此催款员不是中催组的人员,则修改为中催组的人员 + + //中催组下未分配且上岗的催款员 + String sqlN = "SELECT MAX(O.userid) AS userid" + +" FROM USER_INFO O LEFT JOIN USER_ROLE AS ur ON ur.USERID = O.USERID" + +" LEFT JOIN USER_TASK_INFO uti ON uti.userid=O.userid AND uti.roleid=ur.roleid" + + " WHERE O.status='1' AND uti.induction_state='induction_state01' AND ur.roleid='800R00000042'" + + " AND O.userid NOT IN (SELECT o.part_dept FROM (SELECT COUNT(*) number,part_dept FROM OVERDUE_DUNNING_INFO GROUP BY part_dept) o WHERE o.number IN (SELECT MIN(t.number) FROM (SELECT COUNT(*) number,part_dept FROM OVERDUE_DUNNING_INFO GROUP BY part_dept) t) )"; + //虽然只让查出一条数据 + List> dataListAN = DataOperatorUtil.getDataBySql(Sqlca, sqlN, null); + //此时中催组的所有人员都已分配,选出目前任务最少的人,且上岗 + String sqlY = "SELECT MAX(o.part_dept) AS userid FROM (SELECT COUNT(*) number,part_dept FROM OVERDUE_DUNNING_INFO GROUP BY part_dept) o"+ + " WHERE o.number IN (SELECT MIN(t.number) FROM (SELECT COUNT(*) number,part_dept FROM OVERDUE_DUNNING_INFO GROUP BY part_dept) t)"+ + " AND o.part_dept IN"+ + " (SELECT O.userid FROM USER_INFO O"+ + " LEFT JOIN USER_ROLE AS ur ON ur.USERID = O.USERID "+ + " LEFT JOIN USER_TASK_INFO uti ON uti.userid=O.userid AND uti.roleid=ur.roleid"+ + " WHERE O.status='1' AND uti.induction_state='induction_state01' AND ur.roleid='800R00000042')"; + //虽然只能查出一条数据 + List> dataListAY = DataOperatorUtil.getDataBySql(Sqlca, sqlY, null); + //判断条件 + if(dataListAN !=null){ + String useridAN = new String(); + for (Map map : dataListAN) { + String userid = map.get("userid"); + useridAN += userid+"@"; + } + String[] AN =null; + AN = useridAN.split("@"); + String ANN = AN[0]; + + if(ANN==null || "".equals(ANN) || "null".equals(ANN)){ + String useridAY = new String(); + for (Map map : dataListAY) { + String userid = map.get("userid"); + useridAY += userid+"@"; + } + String[] AY =null; + AY = useridAY.split("@"); + String AYY = AY[0]; + //修改 + overdueManager.createQuery("UPDATE O SET O.part_dept='"+AYY+"' WHERE contract_id='"+contract_id+"'").executeUpdate(); + + }else{ + //修改 + overdueManager.createQuery("UPDATE O SET O.part_dept='"+ANN+"' WHERE contract_id='"+contract_id+"'").executeUpdate(); + } + }else{ + String useridAY = new String(); + for (Map map : dataListAY) { + String userid = map.get("userid"); + useridAY += userid+"@"; + } + String[] AY =null; + AY = useridAY.split("@"); + String AYY = AY[0]; + //修改 + overdueManager.createQuery("UPDATE O SET O.part_dept='"+AYY+"' WHERE contract_id='"+contract_id+"'").executeUpdate(); + } + } + }else{ + if(Arrays.asList(C).contains(partDept)){ + //此催款员是重催组的人员,不做任何操作 + }else{ + //此催款员不是重催组的人员,则修改为重催组的人员 + //重催组下未分配的用户,且上岗 + String sqlN = "SELECT MAX(O.userid) AS userid" + +" FROM USER_INFO O LEFT JOIN USER_ROLE AS ur ON ur.USERID = O.USERID" + +" LEFT JOIN USER_TASK_INFO uti ON uti.userid=O.userid AND uti.roleid=ur.roleid" + + " WHERE O.status='1' AND uti.induction_state='induction_state01' AND ur.roleid='800R00000043'" + + " AND O.userid NOT IN (SELECT o.part_dept FROM (SELECT COUNT(*) number,part_dept FROM OVERDUE_DUNNING_INFO GROUP BY part_dept) o WHERE o.number IN (SELECT MIN(t.number) FROM (SELECT COUNT(*) number,part_dept FROM OVERDUE_DUNNING_INFO GROUP BY part_dept) t) )"; + //虽然只让查出一条数据 + List> dataListAN = DataOperatorUtil.getDataBySql(Sqlca, sqlN, null); + //此时重催组的所有人员都已分配,选出目前任务最少的人,且上岗 + String sqlY = "SELECT MAX(o.part_dept) AS userid FROM (SELECT COUNT(*) number,part_dept FROM OVERDUE_DUNNING_INFO GROUP BY part_dept) o"+ + " WHERE o.number IN (SELECT MIN(t.number) FROM (SELECT COUNT(*) number,part_dept FROM OVERDUE_DUNNING_INFO GROUP BY part_dept) t)"+ + " AND o.part_dept IN"+ + " (SELECT O.userid FROM USER_INFO O"+ + " LEFT JOIN USER_ROLE AS ur ON ur.USERID = O.USERID "+ + " LEFT JOIN USER_TASK_INFO uti ON uti.userid=O.userid AND uti.roleid=ur.roleid"+ + " WHERE O.status='1' AND uti.induction_state='induction_state01' AND ur.roleid='800R00000043')"; + //虽然只能查出一条数据 + List> dataListAY = DataOperatorUtil.getDataBySql(Sqlca, sqlY, null); + //判断条件 + if(dataListAN !=null){ + String useridAN = new String(); + for (Map map : dataListAN) { + String userid = map.get("userid"); + useridAN += userid+"@"; + } + String[] AN =null; + AN = useridAN.split("@"); + String ANN = AN[0]; + if(ANN==null || "".equals(ANN) || "null".equals(ANN)){ + String useridAY = new String(); + for (Map map : dataListAY) { + String userid = map.get("userid"); + useridAY += userid+"@"; + } + String[] AY =null; + AY = useridAY.split("@"); + String AYY = AY[0]; + //修改 + overdueManager.createQuery("UPDATE O SET O.part_dept='"+AYY+"' WHERE contract_id='"+contract_id+"'").executeUpdate(); + }else{ + //修改 + overdueManager.createQuery("UPDATE O SET O.part_dept='"+ANN+"' WHERE contract_id='"+contract_id+"'").executeUpdate(); + } + + }else{ + String useridAY = new String(); + for (Map map : dataListAY) { + String userid = map.get("userid"); + useridAY += userid+"@"; + } + String[] AY =null; + AY = useridAY.split("@"); + String AYY = AY[0]; + //修改 + overdueManager.createQuery("UPDATE O SET O.part_dept='"+AYY+"' WHERE contract_id='"+contract_id+"'").executeUpdate(); + } + } + } + }else{//新增 + //轻催组下未分配的用户且上岗 + String sqlN = "SELECT MAX(O.userid) AS userid" + +" FROM USER_INFO O LEFT JOIN USER_ROLE AS ur ON ur.USERID = O.USERID" + +" LEFT JOIN USER_TASK_INFO uti ON uti.userid=O.userid AND uti.roleid=ur.roleid" + + " WHERE O.status='1' AND uti.induction_state='induction_state01' AND ur.roleid='800R00000041'" + + " AND O.userid NOT IN (SELECT o.part_dept FROM (SELECT COUNT(*) number,part_dept FROM OVERDUE_DUNNING_INFO GROUP BY part_dept) o WHERE o.number IN (SELECT MIN(t.number) FROM (SELECT COUNT(*) number,part_dept FROM OVERDUE_DUNNING_INFO GROUP BY part_dept) t) )"; + //虽然只让查出一条数据 + List> dataListAN = DataOperatorUtil.getDataBySql(Sqlca, sqlN, null); + + //轻催组下已分配 但最少 的人,且上岗 + String sqlY = "SELECT MAX(o.part_dept) AS userid FROM (SELECT COUNT(*) number,part_dept FROM OVERDUE_DUNNING_INFO GROUP BY part_dept) o"+ + " WHERE o.number IN (SELECT MIN(t.number) FROM (SELECT COUNT(*) number,part_dept FROM OVERDUE_DUNNING_INFO GROUP BY part_dept) t)"+ + " AND o.part_dept IN"+ + " (SELECT O.userid FROM USER_INFO O"+ + " LEFT JOIN USER_ROLE AS ur ON ur.USERID = O.USERID "+ + " LEFT JOIN USER_TASK_INFO uti ON uti.userid=O.userid AND uti.roleid=ur.roleid"+ + " WHERE O.status='1' AND uti.induction_state='induction_state01' AND ur.roleid='800R00000041')"; + //虽然只能查出一条数据 + List> dataListAY = DataOperatorUtil.getDataBySql(Sqlca, sqlY, null); + + //新建对象 + BizObject overdueBizObject = overdueManager.newObject(); + String uuid = UUID.randomUUID().toString().replace("-", ""); + //判断条件 + if(dataListAN !=null){ + String useridAN = new String(); + for (Map map : dataListAN) { + String userid = map.get("userid"); + useridAN += userid+"@"; + } + String[] AN =null; + AN = useridAN.split("@"); + String ANN = AN[0]; + if(ANN==null || "".equals(ANN) || "null".equals(ANN)){ + String useridAY = new String(); + for (Map map : dataListAY) { + String userid = map.get("userid"); + useridAY += userid+"@"; + } + String[] AY =null; + AY = useridAY.split("@"); + String AYY = AY[0]; + + //新增 + overdueBizObject.setAttributeValue("id", uuid); + overdueBizObject.setAttributeValue("part_dept", AYY); + overdueBizObject.setAttributeValue("contract_id", contract_id); + overdueManager.saveObject(overdueBizObject); + + }else{ + + overdueBizObject.setAttributeValue("id", uuid); + overdueBizObject.setAttributeValue("part_dept", ANN); + overdueBizObject.setAttributeValue("contract_id", contract_id); + overdueManager.saveObject(overdueBizObject); + } + //System.out.println(ANN); + //新增 + + }else{ + String useridAY = new String(); + for (Map map : dataListAY) { + String userid = map.get("userid"); + useridAY += userid+"@"; + } + String[] AY =null; + AY = useridAY.split("@"); + String AYY = AY[0]; + + //新增 + overdueBizObject.setAttributeValue("id", uuid); + overdueBizObject.setAttributeValue("part_dept", AYY); + overdueBizObject.setAttributeValue("contract_id", contract_id); + overdueManager.saveObject(overdueBizObject); + } + } + + } + } + } + + /** + * 获取所有逾期的需要催收的合同信息 + * @param tx + * @return + * @throws Exception + */ + public String getContractId(JBOTransaction tx ) throws Exception{ + /*BizObjectManager bom=JBOFactory.getBizObjectManager(LB_CONTRACT_INFO.CLASS_NAME,tx); + List boList = bom.createQuery("SELECT O.id,vo.over_days FROM O LEFT JOIN jbo.com.tenwa.lease.comm.LB_UNION_LESSEE lul ON lul.contract_id = O.id LEFT JOIN jbo.sys.OVERDUE_DUNNING_INFO odi ON odi.contract_id = O.id LEFT JOIN jbo.sys.USER_INFO ui ON ui.userid = odi.part_dept LEFT JOIN jbo.app.tenwa.calc.VI_OVERDUE_RENT_PLAN_SUM vo ON vo.contract_id=O.id WHERE lul.is_main='Y' AND O.contract_status='31' AND vo.over_money>0").getResultList(true); + */ + //获取所有逾期的需要催收的合同信息 + BizObjectManager bom=JBOFactory.getBizObjectManager(VI_AUTODISTRIBUTE.CLASS_NAME,tx); + List boList = bom.createQuery("SELECT O.id,O.over_days FROM O ").getResultList(true); + + String conInfos = new String(); + for(BizObject bo : boList){ + conInfos += bo.getAttribute("id")+"@"; + conInfos += bo.getAttribute("over_days")+","; + } + return conInfos; + } + +}