package weaver.interfaces.seclinktel.crob; import com.cloudstore.dev.api.bean.MessageBean; import com.cloudstore.dev.api.bean.MessageType; import com.cloudstore.dev.api.util.Util_Message; import com.weaver.general.BaseBean; import com.weaver.general.Util; import weaver.common.DateUtil; import weaver.conn.RecordSet; import weaver.interfaces.schedule.BaseCronJob; import java.io.IOException; import java.util.HashSet; import java.util.Set; /** * @Author liang.cheng * @Date 2024/11/4 2:12 PM * @Description: 1、个人信息更新提醒,每年6月30日、12月31日对在职人员发送消息提醒。 * @Version 1.0 */ public class PerMessageRemindCrob extends BaseCronJob { @Override public void execute() { // 每年6月30日、12月31日对在职人员发送消息提醒 BaseBean bb = new BaseBean(); RecordSet rs = new RecordSet(); String messageRemindId = bb.getPropValue("seclinktel", "messageRemindId"); MessageType messageType = MessageType.newInstance(Integer.valueOf(messageRemindId)); Set userIdList = new HashSet<>(); rs.executeQuery("select id from hrmresource where status < 4"); while (rs.next()) { userIdList.add(Util.null2String(rs.getString("id"))); } String context = ""; String currentDate = DateUtil.getCurrentDate(); String billid = ""; rs.executeQuery("select id,txnr from uf_ryxxbgtx where wybs = 'HrmRemind'"); if (rs.next()){ billid = Util.null2String(rs.getString("id")); context = Util.null2String(rs.getString("txnr")); } context = context.replace("$Date$", currentDate); String title = ""; String messageModeId = bb.getPropValue("seclinktel", "messageModeId"); String linkUrl = String.format("/spa/cube/index.html#/main/cube/card?type=0&modeId=%s&billid=%s",messageModeId,billid); String linkMobileUrl = String.format("/spa/cube/index.html#/main/cube/card?type=0&modeId=%s&billid=%s",messageModeId,billid); MessageBean messageBean = null; try { messageBean = Util_Message.createMessage(messageType, userIdList, title, context, linkUrl, linkMobileUrl); messageBean.setCreater(1); Util_Message.store(messageBean); } catch (IOException e) { e.printStackTrace(); } } }