package com.tenwa.flow.fund.copyebank; import com.amarsoft.app.awe.config.InitDBType; import com.amarsoft.awe.util.SqlObject; import com.amarsoft.awe.util.Transaction; import com.tenwa.flow.baseBussion.BaseBussiness; /** * 租金红冲结束后更新网银正式表 * */ public class UpdateRentEbankInfo extends BaseBussiness{ @Override public Object run(Transaction tx) throws Exception { this.initBussinessParam(tx.getTransaction()); String flowunid = (String)this.getAttribute("ObjectNo"); String sql=""; if("MYSQL".equals(InitDBType.DBTYPE)){ sql="UPDATE lc_ebank le LEFT JOIN(SELECT lrit.FLOWUNID,lrit.EBANK_NUMBER,SUM(IFNULL(lrit.RENT,0))+SUM(IFNULL(lrit.PENALTY,0)) AS money FROM lc_rent_income_temp lrit where lrit.EBANK_NUMBER is not null and length(lrit.EBANK_NUMBER)>0 GROUP BY lrit.FLOWUNID,lrit.EBANK_NUMBER) AS lr ON lr.EBANK_NUMBER=le.id SET le.mayope_money=le.fact_money-(le.had_money+lr.money),le.had_money=le.had_money+lr.money WHERE lr.FLOWUNID='"+flowunid+"'"; } /* else if("ORACLE".equals(InitDBType.DBTYPE)){ sql="update lc_ebank le " + " SET le.mayope_money = le.fact_money -(le.had_money +( select lr.money from (SELECT lrit.FLOWUNID,lrit.EBANK_NUMBER,SUM(nvl(lrit.RENT,0))+SUM(nvl(lrit.PENALTY,0)) money FROM lc_rent_income_temp lrit where lrit.EBANK_NUMBER is not null and length(lrit.EBANK_NUMBER)>0 GROUP BY lrit.FLOWUNID,lrit.EBANK_NUMBER) lr WHERE lr.FLOWUNID='"+flowunid+"')), le.had_money = le.had_money + ( select lr.money from (SELECT lrit.FLOWUNID,lrit.EBANK_NUMBER,SUM(nvl(lrit.RENT,0))+SUM(nvl(lrit.PENALTY,0)) money " + " FROM lc_rent_income_temp lrit where lrit.EBANK_NUMBER is not null and length(lrit.EBANK_NUMBER)>0 GROUP BY lrit.FLOWUNID,lrit.EBANK_NUMBER) lr " + " WHERE lr.FLOWUNID='"+flowunid+"') where le.id in (select lr.EBANK_NUMBER from (SELECT lrit.FLOWUNID, lrit.EBANK_NUMBER, SUM(nvl(lrit.RENT, 0)) + SUM(nvl(lrit.PENALTY, 0)) money " + " FROM lc_rent_income_temp lrit where lrit.EBANK_NUMBER is not null and length(lrit.EBANK_NUMBER)>0 GROUP BY lrit.FLOWUNID, lrit.EBANK_NUMBER) lr where lr.FLOWUNID = '"+flowunid+"') "; }*/ tx.executeSQL(new SqlObject(sql)); String sMessage="true"; return sMessage; } }