定时任务逾期天数,添加合同正常状态

This commit is contained in:
liuzhao 2019-01-09 14:17:16 +08:00
parent 76a5f088ec
commit 7bebae10d7
2 changed files with 50 additions and 15 deletions

View File

@ -48,11 +48,14 @@ public class SaveBusinessStatus {
*/
public static void saveByContractId(String contractId ,JBOTransaction tx ,String statusCode,String userid) throws JBOException{
BizObject lcibo = JBOFactory.getBizObjectManager(LB_CONTRACT_INFO.CLASS_NAME).createQuery("ID=:ID").setParameter("ID", contractId).getSingleResult(false);
String cn = lcibo.getAttribute(LB_CONTRACT_INFO.CONTRACT_NUMBER).getString();
String cn = "";
if (lcibo !=null){
cn = lcibo.getAttribute(LB_CONTRACT_INFO.CONTRACT_NUMBER)==null?"":lcibo.getAttribute(LB_CONTRACT_INFO.CONTRACT_NUMBER).getString();
}
BizObject contractOverdue = JBOFactory.createBizObjectQuery("jbo.app.tenwa.calc.VI_CONTRACT_OVERDUE", "contract_id=:contract_id").setParameter("contract_id", contractId).getSingleResult(false);
String overDays = "";
if(contractOverdue !=null){
overDays = contractOverdue.getAttribute("over_days").toString();
overDays = contractOverdue.getAttribute("over_days")==null?"":contractOverdue.getAttribute("over_days").toString();
}
ASUser user = new ASUser(userid);
BizObjectManager bsbom = JBOFactory.getBizObjectManager(BUSINESS_STATUS.CLASS_NAME, tx);

View File

@ -1,8 +1,10 @@
package quartz;
import java.util.List;
import java.util.Map;
import jbo.app.tenwa.calc.VI_CONTRACT_OVERDUE;
import jbo.com.tenwa.lease.carbrand.BUSINESS_STATUS;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
@ -10,10 +12,12 @@ import org.quartz.JobExecutionException;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.BizObjectManager;
import com.amarsoft.are.jbo.JBOException;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.are.jbo.JBOTransaction;
import com.amarsoft.are.util.StringFunction;
import com.base.util.QuartzUtil;
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
//import com.tenwa.action.channelportal.ContractSignAction;
//import com.tenwa.action.channelportal.comm.ContractTransferRightForEnd;
import com.tenwa.comm.util.jboutil.SaveBusinessStatus;
@ -33,6 +37,7 @@ public class ContractInfoForOverdue implements Job{
try {
JBOTransaction tx = JBOFactory.createJBOTransaction();
ownershipTransferSign(tx,arg0);
contractNormal(tx,arg0);
tx.commit();
QuartzUtil.insertLog(startime, "quartz.ContractInfoForOverdue", "success", "³É¹¦", curUserId);
} catch (Exception e) {
@ -40,6 +45,43 @@ public class ContractInfoForOverdue implements Job{
e.printStackTrace();
}
}
/**
* 将逾期的合同改为正常状态
* @param tx
* @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 contractNumber = "";
String contractId = "";
try {
//查询合同状态表中前一天的逾期合同
List<Map<String, String>> list = DataOperatorUtil.getDataBySql(tx, sql, null);
if(list.size()>0){
//循环遍历每一条逾期的合同
for (Map<String, String> 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<Map<String, String>> list2 = DataOperatorUtil.getDataBySql(tx, sql1, null);
if(list2.size()==0){
SaveBusinessStatus.saveByContractId(contractId, tx, "64", jboName.getUserId(arg0, tx));
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
public void ownershipTransferSign(JBOTransaction tx ,JobExecutionContext arg0) throws Exception{
String conInfo1 = getContractId(tx);
@ -47,19 +89,9 @@ public class ContractInfoForOverdue implements Job{
if(!(conInfo1 == null || conInfo1.length() <= 0)){
String[] conInfos = conInfo1.split(",");
for(String conInfo:conInfos){
String contractId = conInfo.split("@")[0];
//String over_days = conInfo.split("@")[1];
//BizObject lcibo = JBOFactory.getBizObjectManager(LB_CONTRACT_INFO.CLASS_NAME).createQuery("ID=:ID").setParameter("ID", contractId).getSingleResult(false);
//String contract_number = lcibo.getAttribute(LB_CONTRACT_INFO.CONTRACT_NUMBER).getString();
//BizObject businessStatusObject = businessStatusManagr.createQuery("contract_number=:contract_number and business_status=:business_status")
//.setParameter("contract_number", contract_number).setParameter("business_status", "46").getSingleResult(false);
//if(businessStatusObject==null){
SaveBusinessStatus.saveByContractId(contractId, tx, "46", jboName.getUserId(arg0, tx));
//}else{
//businessStatusManagr.createQuery("update O set over_days = '"+over_days+"',inputtime='"+StringFunction.getTodayNow()+"' where business_status='46' AND contract_number = '"+contract_number+"'").executeUpdate();
//}
//BizObjectManager bm = JBOFactory.getBizObjectManager(LB_CONTRACT_INFO.CLASS_NAME, tx);
//bm.createQuery("update O set contract_status = '105' where id = '"+contractId+"'").executeUpdate();
String contractId = conInfo.split("@")[0];
SaveBusinessStatus.saveByContractId(contractId, tx, "46", jboName.getUserId(arg0, tx));
}
}
}