diff --git a/src_core/com/tenwa/comm/message/controller/BankCardChangeReminderMessage.java b/src_core/com/tenwa/comm/message/controller/BankCardChangeReminderMessage.java index dc8fba99c..d56c9b511 100644 --- a/src_core/com/tenwa/comm/message/controller/BankCardChangeReminderMessage.java +++ b/src_core/com/tenwa/comm/message/controller/BankCardChangeReminderMessage.java @@ -17,7 +17,10 @@ import com.amarsoft.are.jbo.JBOFactory; import com.tenwa.officetempalte.util.FileOperatorUtil; public class BankCardChangeReminderMessage extends BaseBussinessMessage{ - + /* + * 非最终版,如有具体需求,再重新调整。(non-Javadoc) + * @see com.tenwa.comm.message.controller.BaseBussinessMessage#loadMessageInfo() + */ @Override public void loadMessageInfo()throws Exception{ String reminderDays = this.messageParam.get("reminderdays")==null?"0":this.messageParam.get("reminderdays"); diff --git a/src_core/com/tenwa/comm/message/controller/BaseBussinessMessage.java b/src_core/com/tenwa/comm/message/controller/BaseBussinessMessage.java index 544dcab52..62d5d5930 100644 --- a/src_core/com/tenwa/comm/message/controller/BaseBussinessMessage.java +++ b/src_core/com/tenwa/comm/message/controller/BaseBussinessMessage.java @@ -1,5 +1,8 @@ package com.tenwa.comm.message.controller; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; import java.util.HashMap; import java.util.Map; import java.util.UUID; @@ -22,6 +25,7 @@ import com.tenwa.officetempalte.util.FileOperatorUtil; public class BaseBussinessMessage extends BaseTable { public String messageId; + public String CUSTOMER_NAME; public BizObject messageConfig; public String messageConfigId; public JBOTransaction curTx; @@ -33,6 +37,8 @@ public class BaseBussinessMessage extends BaseTable { messageConfig= messageManager.createQuery(sql) .setParameter("id", this.getMessageConfigId()) .getSingleResult(true); + //想要实现多个合同分别提醒,将UUID放到saveBaseMessage方法里; + //同时再写字类时,参数cparam去掉ID,在saveBaseMessage里将ID拼接一下。 this.messageId=UUID.randomUUID().toString().replaceAll("-", ""); String fixedParam=messageConfig.getAttribute("cparam").getString(); if(fixedParam.length()>0&&(!fixedParam.equals("[]"))){ @@ -47,14 +53,20 @@ public class BaseBussinessMessage extends BaseTable { this.loadMessageInfo(); } public void loadMessageInfo()throws Exception{ - + Date currentTime = new Date(); + SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd"); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(currentTime); + Date reminderTime = calendar.getTime(); + String reminderDate = format.format(reminderTime); + Mapcparam=new HashMap(); - cparam.put("cdate","2013-12-11"); + cparam.put("date",reminderDate); + cparam.put("CUSTOMER_NAME",this.getCUSTOMER_NAME()); Mapmessage=new HashMap(); message.put("MessageTitle", FileOperatorUtil.getFileNameByFormual(this.messageConfig.getAttribute("message_title").getString(),cparam)); message.put("MessageContent", ""); - message.put("Cparam", "ID="+this.messageId+"&ComputerData="+"2013-12-11"); - + message.put("Cparam", "ID="+this.messageId+"&reminderDate="+reminderDate); MapuserIds=this.getMessageUsers(); for(String key:userIds.keySet()){ @@ -111,6 +123,17 @@ public class BaseBussinessMessage extends BaseTable { public void setCurTx(JBOTransaction curTx) { this.curTx = curTx; } - + public String getCUSTOMER_NAME() { + return CUSTOMER_NAME; + } + public void setCUSTOMER_NAME(String cUSTOMER_NAME) { + CUSTOMER_NAME = cUSTOMER_NAME; + } + public void saveBaseMessageSimple(JBOTransaction curTx) throws Exception{ + this.messageConfigId=messageId; + this.curTx=curTx; + this.loadConfig(); + this.loadMessageInfo(); + } } diff --git a/src_core/com/tenwa/comm/message/controller/BaseMessageJob.java b/src_core/com/tenwa/comm/message/controller/BaseMessageJob.java index a76071e9d..fabea15f3 100644 --- a/src_core/com/tenwa/comm/message/controller/BaseMessageJob.java +++ b/src_core/com/tenwa/comm/message/controller/BaseMessageJob.java @@ -65,9 +65,12 @@ public class BaseMessageJob implements Job { public void executeMessage( JBOTransaction tx ) throws Exception{ ListconfigNo=this.loadMessageNo(tx); if(configNo.size()>1){ - ExecutorService singleThreadExecutor = Executors.newSingleThreadExecutor(); + /*ExecutorService singleThreadExecutor = Executors.newSingleThreadExecutor(); for(String key:configNo){ singleThreadExecutor.execute(new BaseMessageTimeTask(key,tx)); + }*/ + for(String key:configNo){ + new BaseMessageTimeTask(key,tx).run(); } }else{ if(configNo.size()==1){ diff --git a/src_core/com/tenwa/comm/message/controller/CardChangeReminderMessage.java b/src_core/com/tenwa/comm/message/controller/CardChangeReminderMessage.java index a302140b3..51ca3a97d 100644 --- a/src_core/com/tenwa/comm/message/controller/CardChangeReminderMessage.java +++ b/src_core/com/tenwa/comm/message/controller/CardChangeReminderMessage.java @@ -18,7 +18,10 @@ import com.amarsoft.are.jbo.JBOFactory; import com.tenwa.officetempalte.util.FileOperatorUtil; public class CardChangeReminderMessage extends BaseBussinessMessage{ - + /* + * 非最终版,如有具体需求,再重新调整。(non-Javadoc) + * @see com.tenwa.comm.message.controller.BaseBussinessMessage#loadMessageInfo() + */ @Override public void loadMessageInfo()throws Exception{ String reminderDays = this.messageParam.get("reminderdays")==null?"0":this.messageParam.get("reminderdays"); @@ -39,15 +42,19 @@ public class CardChangeReminderMessage extends BaseBussinessMessage{ Mapmessage=new HashMap(); message.put("MessageTitle", FileOperatorUtil.getFileNameByFormual(this.messageConfig.getAttribute("message_title").getString(),cparam)); message.put("MessageContent", ""); - message.put("Cparam", "ID="+this.messageId+"&QueryDate="+queryDate); + message.put("Cparam", "&QueryDate="+queryDate); BizObjectManager liiManager = JBOFactory.getBizObjectManager(LB_DOC_CONTRACT_LIST.CLASS_NAME); List liis = liiManager.createQuery("sign_type='COMPLETE' and file_flag='yes' and INPUTTIME like :queryDate").setParameter("queryDate",queryDate+"%").getResultList(false); if(liis!=null && liis.size()>0){ MapuserIds=this.getMessageUsers(); - for(String key:userIds.keySet()){ - message.put("UserId", key); - this.saveBaseMessage(message); - } + for(BizObject lii:liis){ + String contract_id = lii.getAttribute("contract_id").toString(); + message.put("contractId", contract_id); + for(String key:userIds.keySet()){ + message.put("UserId", key); + this.saveBaseMessage(message); + } + } } }