diff --git a/src_tenwa/quartz/ObtainUpdataContractStatus.java b/src_tenwa/quartz/ObtainUpdataContractStatus.java new file mode 100644 index 000000000..1a2f89f03 --- /dev/null +++ b/src_tenwa/quartz/ObtainUpdataContractStatus.java @@ -0,0 +1,64 @@ +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(); + } + } + } + +}