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 UpdateFundEbankInfo 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 lfit.FLOWUNID,lfit.EBANK_NUMBER,SUM(IFNULL(lfit.FACT_MONEY,0)) as money FROM lc_fund_income_temp lfit where lfit.EBANK_NUMBER is not null and length(lfit.EBANK_NUMBER)>0 GROUP BY lfit.FLOWUNID,lfit.EBANK_NUMBER) as lf on lf.EBANK_NUMBER=le.id set le.mayope_money=le.fact_money-(le.had_money+lf.money),le.had_money=le.had_money+lf.money where lf.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.FACT_MONEY,0)) money FROM lc_fund_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.FACT_MONEY,0)) money " + " FROM lc_fund_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.FACT_MONEY, 0)) money " + " FROM lc_fund_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; } }