package quartz; import java.util.List; import java.util.Map; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import com.amarsoft.are.jbo.JBOException; import com.amarsoft.are.util.StringFunction; import com.amarsoft.awe.util.SqlObject; import com.amarsoft.awe.util.Transaction; import com.base.util.QuartzUtil; import com.tenwa.comm.util.jboutil.DataOperatorUtil; import com.tenwa.lease.app.quartzmession.JobInitUserName; public class ObtainUpdataContractStatus 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(); Transaction sqlca = null ; try { sqlca = Transaction.createTransaction("als"); sqlca.getConnection().setAutoCommit(true); /*String sql = "update lb_contract_info lci set lci.ap_contract_status="+ " (SELECT cl.itemname FROM " + " ( SELECT contract_number, MAX( inputtime ) AS inputtime, business_status FROM business_status WHERE contract_number LIKE 'BQAP(%' GROUP BY contract_number ) bs " + " LEFT JOIN business_status cs ON bs.contract_number = cs.contract_number " + " AND bs.inputtime = cs.inputtime " + " LEFT JOIN ( SELECT itemno, itemname FROM code_library WHERE codeno = 'BusinessStatus' ) cl ON cs.business_status = cl.itemno " + " where bs.contract_number=lci.CONTRACT_NO) " + " where ((ap_contract_status<>'正常结清' and ap_contract_status<>'提前结清') or ap_contract_status is null) "; List> list = DataOperatorUtil.getDataBySql("select ID,CONTRACT_NO from lb_contract_info where BUSINESSTYPE ='1' and ((ap_contract_status<>'正常结清' and ap_contract_status<>'提前结清') or ap_contract_status is null) "); String contractStatus = null ; if(list!=null && list.size()>0) { System.out.println("gengxindeshuju="+list.size()); for (Map map : list) { contractStatus = sqlca.getString("select getAPBusinessStatus('"+map.get("CONTRACT_NO")+"') from dual"); sqlca.executeSQL(new SqlObject("update lb_contract_info set ap_contract_status = '"+contractStatus+"' where id='"+map.get("ID")+"'")); sqlca.commit(); } }*/ sqlca.executeSQL(new SqlObject("call proc_update_contract_status() ")); QuartzUtil.insertLog(startime, "quartz.ObtainUpdataContractStatus", "success", "成功", curUserId); } catch (Exception e) { QuartzUtil.insertLog(startime, "quartz.ObtainUpdataContractStatus", "error", "失败", curUserId); e.printStackTrace(); }finally{ try { if(sqlca !=null){ sqlca.disConnect(); } } catch (JBOException e) { e.printStackTrace(); } } } }