diff --git a/src_tenwa/quartz/ContractInfoForOverdue.java b/src_tenwa/quartz/ContractInfoForOverdue.java index 0b5e94e3f..739475d40 100644 --- a/src_tenwa/quartz/ContractInfoForOverdue.java +++ b/src_tenwa/quartz/ContractInfoForOverdue.java @@ -51,21 +51,22 @@ public class ContractInfoForOverdue implements Job{ * @param arg0 */ private void contractNormal(JBOTransaction tx, JobExecutionContext arg0) { - String sql = "SELECT O.contract_number,O.over_days,lci.id FROM business_status O LEFT JOIN lb_contract_info lci ON lci.contract_number = O.contract_number WHERE (O.over_days IS NOT NULL OR O.over_days = '') AND DATE_FORMAT(O.inputtime, '%Y-%m-%d') = DATE_SUB(CURDATE(), INTERVAL 1 DAY)"; + String sql = "SELECT O.contract_number,O.over_days,lci.id FROM business_status O LEFT JOIN lb_contract_info lci ON lci.contract_number = O.contract_number WHERE O.over_days IS NOT NULL AND O.over_days != '' AND DATE_FORMAT(O.inputtime, '%Y-%m-%d') = DATE_SUB(CURDATE(), INTERVAL 1 DAY)"; String contractNumber = ""; String contractId = ""; try { - //查询合同状态表中前一天的逾期合同 + //查询合同状态表中昨天的逾期合同 List> list = DataOperatorUtil.getDataBySql(tx, sql, null); if(list.size()>0){ //循环遍历每一条逾期的合同 for (Map map : list) { contractNumber = map.get("contract_number"); contractId = map.get("id"); + //查询今天是否逾期,如果未逾期则插入合同正常 BizObject obj = JBOFactory.createBizObjectQuery(VI_CONTRACT_OVERDUE.CLASS_NAME, "contract_number=:contract_number").setParameter("contract_number", contractNumber).getSingleResult(false); if(obj == null){//昨天逾期,今天未逾期,证明合同正常 - //防止重复插入数据 + //防止在当天执行多次定时任务重复插入数据 String sql1 = "SELECT business_status,contract_number,inputtime FROM business_status WHERE business_status='64' AND contract_number='"+contractNumber+"' AND LEFT(inputtime,10)=DATE_FORMAT(SYSDATE(), '%Y/%m/%d')"; List> list2 = DataOperatorUtil.getDataBySql(tx, sql1, null); if(list2.size()==0){