| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801 |
- package com.xcgl.weeklyschedule.service.impl;
- import java.io.Serializable;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Calendar;
- import java.util.Collections;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import java.util.Map.Entry;
- import java.util.UUID;
- import org.apache.log4j.Logger;
- import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery;
- import org.jeecgframework.core.common.service.impl.CommonServiceImpl;
- import org.jeecgframework.core.constant.Globals;
- import org.jeecgframework.core.util.ApplicationContextUtil;
- import org.jeecgframework.core.util.DateUtils;
- import org.jeecgframework.core.util.MyClassLoader;
- import org.jeecgframework.core.util.ResourceUtil;
- import org.jeecgframework.core.util.StringUtil;
- import org.jeecgframework.p3.core.utils.common.StringUtils;
- import org.jeecgframework.web.cgform.enhance.CgformEnhanceJavaInter;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import com.xcgl.projecttask.entity.ProjecttaskEntity;
- import com.xcgl.projecttask.service.ProjecttaskServiceI;
- import com.xcgl.utils.OrderNumTools;
- import com.xcgl.utils.XcglConstant;
- import com.xcgl.utils.XcglDateUtils;
- import com.xcgl.weeklyschedule.dao.WeeklyScheduleMiniDao;
- import com.xcgl.weeklyschedule.entity.WeeklyScheduleDayDto;
- import com.xcgl.weeklyschedule.entity.WeeklySchedulePartiEntity;
- import com.xcgl.weeklyschedule.entity.WeeklyScheduleUtils;
- import com.xcgl.weeklyschedule.entity.WeeklyscheduleEntity;
- import com.xcgl.weeklyschedule.service.WeeklyScheduleServiceI;
- import com.xcgl.weixin.dao.WXDao;
- import com.xcgl.weixin.service.WXServiceI;
- import cn.com.lzt.message.send.util.MessageSendUtil;
- import net.sf.json.JSONObject;
- @Service("WeeklyScheduleService")
- public class WeeklyScheduleServiceImpl extends CommonServiceImpl implements WeeklyScheduleServiceI {
-
- @Autowired
- WXServiceI wxservice ;
- @Autowired
- WXDao wxdao;
- @Autowired
- ProjecttaskServiceI workService;
- @Autowired
- WeeklyScheduleMiniDao weeklyminidao;
-
- private static final Logger logger = Logger.getLogger(WeeklyScheduleServiceImpl.class);
-
- public void sendWXMsgForWeeklySchedule() {
- Calendar cal = Calendar.getInstance();
- cal.setTime(new Date());
- // int dayWeek = cal.get(Calendar.DAY_OF_WEEK);//获得当前日期是一个星期的第几天
- // //如果不是周五,则返回
- // if(dayWeek != 6)
- // return;
- List<Map<String,Object>> users = wxdao.getUsersByRoleCode(XcglConstant.ROLE_ZHOUBAO);
- if( users.size() == 0)
- return;
- List<Map<String,Object>> listParams = new ArrayList<Map<String,Object>>();
- List<String> weekday = XcglDateUtils.getWeekMonAndSun(XcglDateUtils.addDateDay(
- DateUtils.formatDate(new Date(),"yyyy-MM-dd"),7, new SimpleDateFormat("yyyy-MM-dd")));
- int hour = cal.get(Calendar.HOUR_OF_DAY);
- if(hour <= 12) {
- //上午提醒所有人
- for(Map<String,Object> user :users) {
- if(user.get("openid")==null || StringUtils.isEmpty(user.get("openid").toString()))
- continue;
- Map<String, Object> oneMsg = new HashMap<String, Object>();
- Map<String, Object> userMsgParms = new HashMap<String, Object>();
- userMsgParms.put("first", "你好,您有一条新的工作需要关注");
- userMsgParms.put("keyword1","截止本周五24点前");
- userMsgParms.put("keyword2", "请在今日提交下周("+ weekday.get(0)+"至"+weekday.get(1)+")工作计划");
- userMsgParms.put("remark", "请登录美都环卫慧管理系统填写周工作计划,如已填报完成,请忽略此条通知");
- if(ResourceUtil.getConfigByName(Globals.SERVER_TYPE).equals(Globals.SERVER_TYPE_LINE)) {
- oneMsg.put("openid", user.get("openid"));//"oQ2vj04CDPxjrvp9WlyJkXEfg4S8"
- }else {
- oneMsg.put("openid", ResourceUtil.getConfigByName(Globals.SERVER_TEST_OPENID));
- }
- // oneMsg.put("openid", user.get("openid"));
- oneMsg.put("userid", user.get("id"));
- oneMsg.put("tplParams", userMsgParms);
- // oneMsg.put("url", "http://test.shenqin.work:8080/hgl/dsdemoController.do?showNoOrderWarehouse"+"&openid="+user.get("openid")+"&schedule="+weekday.get(0)+","+weekday.get(1));
- listParams.add(oneMsg);
- }
- }else {
- //下午提醒未提交人员
- HashMap<String,String> tipUserMap = new HashMap<String,String>();
- HashMap<String,String> tipUserNameMap = new HashMap<String,String>();
- for(Map<String,Object> user :users) {
- tipUserNameMap.put(user.get("id").toString(), user.get("realname").toString());
- if(user.get("openid")==null || StringUtils.isEmpty(user.get("openid").toString()))
- continue;
- tipUserMap.put(user.get("id").toString(), user.get("openid").toString());
- }
- List<WeeklyscheduleEntity> weeklys = findHql(" from WeeklyscheduleEntity where mondate = ?", weekday.get(0));
- if(weeklys != null) {
- for(WeeklyscheduleEntity we : weeklys) {
- //有提交内容的,则认为有已完成,不提醒
- if(StringUtils.isNotEmpty(WeeklyScheduleUtils.getPersonalWhat(we))) {
- tipUserMap.remove(we.getUserid());
- tipUserNameMap.remove(we.getUserid());
- }
- }
- }
- if(tipUserMap.size() > 0) {
- for(Entry<String, String> entry: tipUserMap.entrySet()) {
- //openid空,则不发消息
- if(StringUtils.isEmpty(entry.getValue()))
- continue;
- Map<String, Object> oneMsg = new HashMap<String, Object>();
- Map<String, Object> userMsgParms = new HashMap<String, Object>();
- userMsgParms.put("first", "你好,下周工作计划尚未提交,请尽快填写");
- userMsgParms.put("keyword1","截止本周五24点前");
- userMsgParms.put("keyword2", "请在今日提交下周("+ weekday.get(0)+"至"+weekday.get(1)+")工作计划");
- userMsgParms.put("remark", "请登录美都环卫慧管理系统填写周工作计划");
- if(ResourceUtil.getConfigByName(Globals.SERVER_TYPE).equals(Globals.SERVER_TYPE_LINE)) {
- oneMsg.put("openid", entry.getValue());//"oQ2vj04CDPxjrvp9WlyJkXEfg4S8"
- }else {
- oneMsg.put("openid", ResourceUtil.getConfigByName(Globals.SERVER_TEST_OPENID));
- }
- // oneMsg.put("openid", entry.getValue());
- oneMsg.put("userid", entry.getKey());
- oneMsg.put("tplParams", userMsgParms);
- // oneMsg.put("url", "http://test.shenqin.work:8080/hgl/dsdemoController.do?showNoOrderWarehouse"+"&openid="+user.get("openid")+"&schedule="+weekday.get(0)+","+weekday.get(1));
- listParams.add(oneMsg);
- }
- }
- cal.setTime(new Date());
- //下午4点给总经办主任发送未提交周报人员明细
- if(cal.get(Calendar.HOUR_OF_DAY) >= 16) {
- List<Map<String,Object>> zjb = wxdao.getUsersByRoleCode(XcglConstant.ROLE_ZONGJINGBAN);
- if( users.size() == 0)
- return;
- StringBuffer tipMsgNamesBuf = new StringBuffer();
- if(tipUserNameMap.size() > 0) {
- for( String name :tipUserNameMap.values()) {
- tipMsgNamesBuf.append(name).append("\r\n");
- }
- }
- // for(Map<String,Object> user :users) {
- // if(tipUserMap.containsKey(user.get("id").toString())) {
- // tipMsgNamesBuf.append(user.get("realname").toString()).append("\r\n");
- // }
- // }
- if(tipMsgNamesBuf.toString().length() > 0) {
- Map<String, Object> oneMsg = new HashMap<String, Object>();
- Map<String, Object> userMsgParms = new HashMap<String, Object>();
- userMsgParms.put("first", "你好,请提醒相关人员提交下周工作计划");
- userMsgParms.put("keyword1","周计划截止本周五24点前");
- userMsgParms.put("keyword2", "未提交周计划人员列表:\r\n"+tipMsgNamesBuf.toString());
- userMsgParms.put("remark", "可以登录美都环卫慧管理系统查看周计划详情");
- if(ResourceUtil.getConfigByName(Globals.SERVER_TYPE).equals(Globals.SERVER_TYPE_LINE)) {
- oneMsg.put("openid", zjb.get(0).get("openid"));//"oQ2vj04CDPxjrvp9WlyJkXEfg4S8"
- }else {
- oneMsg.put("openid", ResourceUtil.getConfigByName(Globals.SERVER_TEST_OPENID));
- }
- // oneMsg.put("openid", zjb.get(0).get("openid"));
- oneMsg.put("userid", zjb.get(0).get("id"));
- oneMsg.put("tplParams", userMsgParms);
- // oneMsg.put("url", "http://test.shenqin.work:8080/hgl/dsdemoController.do?showNoOrderWarehouse"+"&openid="+user.get("openid")+"&schedule="+weekday.get(0)+","+weekday.get(1));
- listParams.add(oneMsg);
- }
- }
- }
- try {
- wxservice.sendMsgToWXForTodayWork(listParams);
- }catch (Exception e) {
- logger.error(e.getMessage());
- }
- }
- public void sendWXMsgForWeeklySchedule4ZJL() {
- List<Map<String, Object>> user = findForJdbc("select openid,id from t_s_user where id in (select id from t_s_base_user where username = '0001') and openid is not null");
- if (user.size() == 0)
- return;
- List<Map<String,Object>> listParams = new ArrayList<Map<String,Object>>();
- Map<String, Object> oneMsg = new HashMap<String, Object>();
- Map<String, Object> userMsgParms = new HashMap<String, Object>();
- JSONObject keyword1 = new JSONObject();
- String dayStr = XcglDateUtils.addDateDay(
- DateUtils.formatDate(new Date(),"yyyy-MM-dd"),-1, DateUtils.date_sdf);
- keyword1.put("value",dayStr);
- keyword1.put("color","#cc1010");
- userMsgParms.put("first", "("+XcglDateUtils.getWeekOfDate(dayStr)+")昨日工作完成情况");
- userMsgParms.put("keyword1", keyword1);
- userMsgParms.put("keyword2", "请点击本消息查看详情");
- userMsgParms.put("remark", "美都环卫物业:勤思、勤学、勤劳、勤勉");
- if(ResourceUtil.getConfigByName(Globals.SERVER_TYPE).equals(Globals.SERVER_TYPE_LINE)) {
- oneMsg.put("openid", user.get(0).get("openid"));//"oQ2vj04CDPxjrvp9WlyJkXEfg4S8"
- }else {
- oneMsg.put("openid", ResourceUtil.getConfigByName(Globals.SERVER_TEST_OPENID));
- }
- // oneMsg.put("openid", user.get(0).get("openid"));
- oneMsg.put("userid", user.get(0).get("id"));
- oneMsg.put("tplParams", userMsgParms);
- oneMsg.put("url", ResourceUtil.getConfigByName(Globals.SERVER_WXMSG)+"/weeklyscheduleController.do?yesterdayWorkList&date="+DateUtils.date_sdf.format(new Date()));
- listParams.add(oneMsg);
-
- Map<String, Object> oneMsg2 = new HashMap<String, Object>();
- Map<String, Object> userMsgParms2 = new HashMap<String, Object>();
- userMsgParms2.put("first", "("+XcglDateUtils.getWeekOfDate(DateUtils.date_sdf.format(new Date()))+")今日工作安排");
- JSONObject keyword1_2 = new JSONObject();
- keyword1_2.put("value",DateUtils.date_sdf.format(new Date()));
- keyword1_2.put("color","#cc1010");
- userMsgParms2.put("keyword1", keyword1_2);
- userMsgParms2.put("keyword2", "请点击本消息查看详情");
- userMsgParms2.put("remark", "美都环卫物业:勤思、勤学、勤劳、勤勉");
- if(ResourceUtil.getConfigByName(Globals.SERVER_TYPE).equals(Globals.SERVER_TYPE_LINE)) {
- oneMsg2.put("openid", user.get(0).get("openid"));//"oQ2vj04CDPxjrvp9WlyJkXEfg4S8"
- }else {
- oneMsg2.put("openid", ResourceUtil.getConfigByName(Globals.SERVER_TEST_OPENID));
- }
- oneMsg2.put("userid", user.get(0).get("id"));
- oneMsg2.put("tplParams", userMsgParms2);
- oneMsg2.put("url", ResourceUtil.getConfigByName(Globals.SERVER_WXMSG)+"/weeklyscheduleController.do?todayScheduledList&date="+DateUtils.date_sdf.format(new Date()));
- listParams.add(oneMsg2);
- try {
- wxservice.sendMsgToWXForTodayWork(listParams);
- }catch (Exception e) {
- logger.error(e.getMessage());
- }
- }
- /***
- * 根据周计划,生成任务到任务平台
- * modify by dgq ,每天晚上生成下一天的任务
- * */
- @Override
- public void genWorkFromWeeklySchedule() {
- //取下周所有日期从周一到周日
- // List<String> weekday = XcglDateUtils.getWeekdays(XcglDateUtils.addDateDay(
- // DateUtils.formatDate(new Date(),"yyyy-MM-dd"),7, new SimpleDateFormat("yyyy-MM-dd")));
- List<ProjecttaskEntity> taskList = weeklyminidao.getTaskListFromSchedule(XcglDateUtils.addDateDay(
- DateUtils.formatDate(new Date(),"yyyy-MM-dd"),1, new SimpleDateFormat("yyyy-MM-dd")));
- String lastCode = getMaxLocalCode();
- for(ProjecttaskEntity newTask: taskList) {
- lastCode = OrderNumTools.generateNextBillCode(lastCode, "WK", 4);
- newTask.setCode(lastCode);
- }
- if(taskList.size() > 0) {
- workService.batchSave(taskList);
- }
- }
-
- private String getMaxLocalCode(){
- StringBuilder sb = new StringBuilder();
- sb.append("SELECT code FROM p_projecttask where left(create_date,10) = ?");
- sb.append(" ORDER BY code DESC");
- List<Map<String, Object>> objMapList = workService.findForJdbc(sb.toString(), DateUtils.date_sdf.format(new Date()));
- String returnCode = null;
- if(objMapList!=null && objMapList.size()>0){
- returnCode = (String)objMapList.get(0).get("code");
- }
- return returnCode;
- }
- public void delete(WeeklyscheduleEntity entity) throws Exception{
- super.delete(entity);
- //执行删除操作增强业务
- this.doDelBus(entity);
- }
-
- public Serializable save(WeeklyscheduleEntity entity) throws Exception{
- //参与人员信息列表
- List<WeeklySchedulePartiEntity> partiList = entity.getPartiList();
-
- Serializable t = super.save(entity);
- for(WeeklySchedulePartiEntity partiEntity : partiList) {
- partiEntity.setScheduleid(entity.getId());
- }
- //保存参与人员信息列表
- super.batchSave(partiList);
- //执行新增操作增强业务
- this.doAddBus(entity);
- return t;
- }
-
- public void saveOrUpdate(WeeklyscheduleEntity entity) throws Exception{
- super.saveOrUpdate(entity);
- //执行更新操作增强业务
- this.doUpdateBus(entity);
- }
-
- /**
- * 新增操作增强业务
- * @param t
- * @return
- */
- private void doAddBus(WeeklyscheduleEntity t) throws Exception{
- //-----------------sql增强 start----------------------------
- //-----------------sql增强 end------------------------------
-
- //-----------------java增强 start---------------------------
- //-----------------java增强 end-----------------------------
- }
- /**
- * 更新操作增强业务
- * @param t
- * @return
- */
- private void doUpdateBus(WeeklyscheduleEntity t) throws Exception{
- //-----------------sql增强 start----------------------------
- //-----------------sql增强 end------------------------------
-
- //-----------------java增强 start---------------------------
- //-----------------java增强 end-----------------------------
- }
- /**
- * 删除操作增强业务
- * @param id
- * @return
- */
- private void doDelBus(WeeklyscheduleEntity t) throws Exception{
- //-----------------sql增强 start----------------------------
- //-----------------sql增强 end------------------------------
-
- //-----------------java增强 start---------------------------
- //-----------------java增强 end-----------------------------
- }
-
- private Map<String,Object> populationMap(WeeklyscheduleEntity t){
- Map<String,Object> map = new HashMap<String,Object>();
- map.put("id", t.getId());
- map.put("create_name", t.getCreateName());
- map.put("create_by", t.getCreateBy());
- map.put("create_date", t.getCreateDate());
- map.put("update_name", t.getUpdateName());
- map.put("update_by", t.getUpdateBy());
- map.put("update_date", t.getUpdateDate());
- map.put("userid", t.getUserid());
- map.put("mondate", t.getMondate());
- map.put("whatmonam", t.getWhatmonam());
- map.put("wheremonam", t.getWheremonam());
- map.put("whomonam", t.getWhomonams());
- map.put("remarkmonam", t.getRemarkmonam());
- map.put("whatmonpm", t.getWhatmonpm());
- map.put("wheremonpm", t.getWheremonpm());
- map.put("whomonpm", t.getWhomonpms());
- map.put("remarkmonpm", t.getRemarkmonpm());
- map.put("tuesdate", t.getTuesdate());
- map.put("whattuesam", t.getWhattuesam());
- map.put("wheretuesam", t.getWheretuesam());
- map.put("whotuesam", t.getWhotuesams());
- map.put("remarktuesam", t.getRemarktuesam());
- map.put("whattuespm", t.getWhattuespm());
- map.put("wheretuespm", t.getWheretuespm());
- map.put("whotuespm", t.getWhotuespms());
- map.put("remarktuespm", t.getRemarktuespm());
- map.put("weddate", t.getWeddate());
- map.put("whatwedam", t.getWhatwedam());
- map.put("wherewedam", t.getWherewedam());
- map.put("whowedam", t.getWhowedams());
- map.put("remarkwedam", t.getRemarkwedam());
- map.put("whatwedpm", t.getWhatwedpm());
- map.put("wherewedpm", t.getWherewedpm());
- map.put("whowedpm", t.getWhowedpms());
- map.put("remarkwedpm", t.getRemarkwedpm());
- map.put("thurdate", t.getThurdate());
- map.put("whatthuram", t.getWhatthuram());
- map.put("wherethuram", t.getWherethuram());
- map.put("whothuram", t.getWhothurams());
- map.put("remarkthuram", t.getRemarkthuram());
- map.put("whatthurpm", t.getWhatthurpm());
- map.put("wherethurpm", t.getWherethurpm());
- map.put("whothurpm", t.getWhothurpms());
- map.put("remarkthurpm", t.getRemarkthurpm());
- map.put("fridate", t.getFridate());
- map.put("whatfriam", t.getWhatfriam());
- map.put("wherefriam", t.getWherefriam());
- map.put("whofriam", t.getWhofriams());
- map.put("remarkfriam", t.getRemarkfriam());
- map.put("whatfripm", t.getWhatfripm());
- map.put("wherefripm", t.getWherefripm());
- map.put("whofripm", t.getWhofripms());
- map.put("remarkfripm", t.getRemarkfripm());
- map.put("satdate", t.getSatdate());
- map.put("whatsatam", t.getWhatsatam());
- map.put("wheresatam", t.getWheresatam());
- map.put("whosatam", t.getWhosatams());
- map.put("remarksatam", t.getRemarksatam());
- map.put("whatsatpm", t.getWhatsatpm());
- map.put("wheresatpm", t.getWheresatpm());
- map.put("whosatpm", t.getWhosatpms());
- map.put("remarksatpm", t.getRemarksatpm());
- map.put("sundate", t.getSundate());
- map.put("whatsunam", t.getWhatsunam());
- map.put("wheresunam", t.getWheresunam());
- map.put("whosunam", t.getWhosunams());
- map.put("remarksunam", t.getRemarksunam());
- map.put("whatsunpm", t.getWhatsunpm());
- map.put("wheresunpm", t.getWheresunpm());
- map.put("whosunpm", t.getWhosunpms());
- map.put("remarksunpm", t.getRemarksunpm());
- return map;
- }
-
- /**
- * 替换sql中的变量
- * @param sql
- * @param t
- * @return
- */
- public String replaceVal(String sql,WeeklyscheduleEntity t){
- sql = sql.replace("#{id}",String.valueOf(t.getId()));
- sql = sql.replace("#{create_name}",String.valueOf(t.getCreateName()));
- sql = sql.replace("#{create_by}",String.valueOf(t.getCreateBy()));
- sql = sql.replace("#{create_date}",String.valueOf(t.getCreateDate()));
- sql = sql.replace("#{update_name}",String.valueOf(t.getUpdateName()));
- sql = sql.replace("#{update_by}",String.valueOf(t.getUpdateBy()));
- sql = sql.replace("#{update_date}",String.valueOf(t.getUpdateDate()));
- sql = sql.replace("#{userid}",String.valueOf(t.getUserid()));
- sql = sql.replace("#{mondate}",String.valueOf(t.getMondate()));
- sql = sql.replace("#{whatmonam}",String.valueOf(t.getWhatmonam()));
- sql = sql.replace("#{wheremonam}",String.valueOf(t.getWheremonam()));
- sql = sql.replace("#{whomonam}",String.valueOf(t.getWhomonams()));
- sql = sql.replace("#{remarkmonam}",String.valueOf(t.getRemarkmonam()));
- sql = sql.replace("#{whatmonpm}",String.valueOf(t.getWhatmonpm()));
- sql = sql.replace("#{wheremonpm}",String.valueOf(t.getWheremonpm()));
- sql = sql.replace("#{whomonpm}",String.valueOf(t.getWhomonpms()));
- sql = sql.replace("#{remarkmonpm}",String.valueOf(t.getRemarkmonpm()));
- sql = sql.replace("#{tuesdate}",String.valueOf(t.getTuesdate()));
- sql = sql.replace("#{whattuesam}",String.valueOf(t.getWhattuesam()));
- sql = sql.replace("#{wheretuesam}",String.valueOf(t.getWheretuesam()));
- sql = sql.replace("#{whotuesam}",String.valueOf(t.getWhotuesams()));
- sql = sql.replace("#{remarktuesam}",String.valueOf(t.getRemarktuesam()));
- sql = sql.replace("#{whattuespm}",String.valueOf(t.getWhattuespm()));
- sql = sql.replace("#{wheretuespm}",String.valueOf(t.getWheretuespm()));
- sql = sql.replace("#{whotuespm}",String.valueOf(t.getWhotuespms()));
- sql = sql.replace("#{remarktuespm}",String.valueOf(t.getRemarktuespm()));
- sql = sql.replace("#{weddate}",String.valueOf(t.getWeddate()));
- sql = sql.replace("#{whatwedam}",String.valueOf(t.getWhatwedam()));
- sql = sql.replace("#{wherewedam}",String.valueOf(t.getWherewedam()));
- sql = sql.replace("#{whowedam}",String.valueOf(t.getWhowedams()));
- sql = sql.replace("#{remarkwedam}",String.valueOf(t.getRemarkwedam()));
- sql = sql.replace("#{whatwedpm}",String.valueOf(t.getWhatwedpm()));
- sql = sql.replace("#{wherewedpm}",String.valueOf(t.getWherewedpm()));
- sql = sql.replace("#{whowedpm}",String.valueOf(t.getWhowedpms()));
- sql = sql.replace("#{remarkwedpm}",String.valueOf(t.getRemarkwedpm()));
- sql = sql.replace("#{thurdate}",String.valueOf(t.getThurdate()));
- sql = sql.replace("#{whatthuram}",String.valueOf(t.getWhatthuram()));
- sql = sql.replace("#{wherethuram}",String.valueOf(t.getWherethuram()));
- sql = sql.replace("#{whothuram}",String.valueOf(t.getWhothurams()));
- sql = sql.replace("#{remarkthuram}",String.valueOf(t.getRemarkthuram()));
- sql = sql.replace("#{whatthurpm}",String.valueOf(t.getWhatthurpm()));
- sql = sql.replace("#{wherethurpm}",String.valueOf(t.getWherethurpm()));
- sql = sql.replace("#{whothurpm}",String.valueOf(t.getWhothurpms()));
- sql = sql.replace("#{remarkthurpm}",String.valueOf(t.getRemarkthurpm()));
- sql = sql.replace("#{fridate}",String.valueOf(t.getFridate()));
- sql = sql.replace("#{whatfriam}",String.valueOf(t.getWhatfriam()));
- sql = sql.replace("#{wherefriam}",String.valueOf(t.getWherefriam()));
- sql = sql.replace("#{whofriam}",String.valueOf(t.getWhofriams()));
- sql = sql.replace("#{remarkfriam}",String.valueOf(t.getRemarkfriam()));
- sql = sql.replace("#{whatfripm}",String.valueOf(t.getWhatfripm()));
- sql = sql.replace("#{wherefripm}",String.valueOf(t.getWherefripm()));
- sql = sql.replace("#{whofripm}",String.valueOf(t.getWhofripms()));
- sql = sql.replace("#{remarkfripm}",String.valueOf(t.getRemarkfripm()));
- sql = sql.replace("#{satdate}",String.valueOf(t.getSatdate()));
- sql = sql.replace("#{whatsatam}",String.valueOf(t.getWhatsatam()));
- sql = sql.replace("#{wheresatam}",String.valueOf(t.getWheresatam()));
- sql = sql.replace("#{whosatam}",String.valueOf(t.getWhosatams()));
- sql = sql.replace("#{remarksatam}",String.valueOf(t.getRemarksatam()));
- sql = sql.replace("#{whatsatpm}",String.valueOf(t.getWhatsatpm()));
- sql = sql.replace("#{wheresatpm}",String.valueOf(t.getWheresatpm()));
- sql = sql.replace("#{whosatpm}",String.valueOf(t.getWhosatpms()));
- sql = sql.replace("#{remarksatpm}",String.valueOf(t.getRemarksatpm()));
- sql = sql.replace("#{sundate}",String.valueOf(t.getSundate()));
- sql = sql.replace("#{whatsunam}",String.valueOf(t.getWhatsunam()));
- sql = sql.replace("#{wheresunam}",String.valueOf(t.getWheresunam()));
- sql = sql.replace("#{whosunam}",String.valueOf(t.getWhosunams()));
- sql = sql.replace("#{remarksunam}",String.valueOf(t.getRemarksunam()));
- sql = sql.replace("#{whatsunpm}",String.valueOf(t.getWhatsunpm()));
- sql = sql.replace("#{wheresunpm}",String.valueOf(t.getWheresunpm()));
- sql = sql.replace("#{whosunpm}",String.valueOf(t.getWhosunpms()));
- sql = sql.replace("#{remarksunpm}",String.valueOf(t.getRemarksunpm()));
- sql = sql.replace("#{UUID}",UUID.randomUUID().toString());
- return sql;
- }
-
- /**
- * 执行JAVA增强
- */
- private void executeJavaExtend(String cgJavaType,String cgJavaValue,Map<String,Object> data) throws Exception {
- if(StringUtil.isNotEmpty(cgJavaValue)){
- Object obj = null;
- try {
- if("class".equals(cgJavaType)){
- //因新增时已经校验了实例化是否可以成功,所以这块就不需要再做一次判断
- obj = MyClassLoader.getClassByScn(cgJavaValue).newInstance();
- }else if("spring".equals(cgJavaType)){
- obj = ApplicationContextUtil.getContext().getBean(cgJavaValue);
- }
- if(obj instanceof CgformEnhanceJavaInter){
- CgformEnhanceJavaInter javaInter = (CgformEnhanceJavaInter) obj;
- javaInter.execute("p_weeklyschedule",data);
- }
- } catch (Exception e) {
- e.printStackTrace();
- throw new Exception("执行JAVA增强出现异常!");
- }
- }
- }
- /* (non-Javadoc)
- * @see com.xcgl.weeklyschedule.service.WeeklyScheduleServiceI#getWeeklyScheduleDtosBySomeDate(java.util.Date)
- */
- @Override
- public List<WeeklyScheduleDayDto> getWeeklyScheduleDtosBySomeDate(Date date) throws Exception {
- List<String> weekdaylist = XcglDateUtils.getWeekdays(DateUtils.formatDate(date,"yyyy-MM-dd"));
- String mondate = weekdaylist.get(0);
- CriteriaQuery cq = new CriteriaQuery(WeeklyscheduleEntity.class);
- cq.eq("mondate", mondate);
- cq.add();
- List<WeeklyscheduleEntity> entitys = getListByCriteriaQuery(cq, false);
- List<WeeklyScheduleDayDto> dtos = getWeeklyScheduleDtos(date, entitys);
- return dtos;
- }
- //
- // /**
- // * @param date
- // * @return
- // */
- // private Date getMonday(Date date) {
- // Calendar cal = Calendar.getInstance();
- // cal.setTime(date);
- // for(int i=0 ; i<7 ; i++) {
- // if(cal.get(Calendar.DAY_OF_WEEK) == 2) {
- // return cal.getTime();
- // }
- // cal.add(Calendar.DATE, -1);
- // }
- // return null;
- // }
- // @Test
- // public void test1() {
- // Date date = new Date();
- // Calendar cal = Calendar.getInstance();
- // cal.setTime(date);
- // for(int i=0 ; i<20 ; i++) {
- // System.out.println(getMonday(cal.getTime()));
- // cal.add(Calendar.DATE, 1);
- // }
- // }
- /**
- * @param date
- * @param entitys
- * @return
- */
- private List<WeeklyScheduleDayDto> getWeeklyScheduleDtos(Date date, List<WeeklyscheduleEntity> entitys) {
- List<WeeklyScheduleDayDto> dtos = new ArrayList<WeeklyScheduleDayDto>();
- if(entitys != null && entitys.size()>0) {
- for(WeeklyscheduleEntity entity : entitys) {
- List<Map<String,Object>> nameTimeList = weeklyminidao.getParticipantName(entity.getId());
- entity = setRealNames(entity, nameTimeList);
- List<WeeklyScheduleDayDto> dtoParts = getSomeDaySchedule(date, entity);
- if(dtoParts != null) {
- dtos.addAll(dtoParts);
- }
- }
- Collections.sort(dtos);
- }
- return dtos;
- }
- /**
- * @param date
- * @param entity
- * @return
- */
- private List<WeeklyScheduleDayDto> getSomeDaySchedule(Date date, WeeklyscheduleEntity entity) {
- List<WeeklyScheduleDayDto> dtos = new ArrayList<WeeklyScheduleDayDto>();
- if(entity != null) {
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
- String datestr = sdf.format(date);
- if(datestr.equals(entity.getMondate())) {
- WeeklyScheduleDayDto dto = new WeeklyScheduleDayDto();
- dto.setId(entity.getId());
- dto.setDate(date);
- dto.setUserid(entity.getUserid());
- dto.setWhatAmZjl(entity.getWhatmonamzjl());
- dto.setWhatAm(entity.getWhatmonam());
- dto.setWhatPm(entity.getWhatmonpm());
- dto.setWhatPmZjl(entity.getWhatmonpmzjl());
- dto.setWhereAm(entity.getWheremonam());
- dto.setWhoIdsAm(entity.getWhomonams());
- dto.setWhoNamesAm(entity.getWhomonamnames());
- dto.setWherePm(entity.getWheremonpm());
- dto.setWhoIdsPm(entity.getWhomonpms());
- dto.setWhoNamesPm(entity.getWhomonpmnames());
- dtos.add(dto);
- }
- if(datestr.equals(entity.getTuesdate())) {
- WeeklyScheduleDayDto dto = new WeeklyScheduleDayDto();
- dto.setId(entity.getId());
- dto.setDate(date);
- dto.setUserid(entity.getUserid());
- dto.setWhatAmZjl(entity.getWhattuesamzjl());
- dto.setWhatAm(entity.getWhattuesam());
- dto.setWhatPm(entity.getWhattuespm());
- dto.setWhatPmZjl(entity.getWhattuespmzjl());
- dto.setWhereAm(entity.getWheretuesam());
- dto.setWhoIdsAm(entity.getWhotuesams());
- dto.setWhoNamesAm(entity.getWhotuesamnames());
- dto.setWherePm(entity.getWheretuespm());
- dto.setWhoIdsPm(entity.getWhotuespms());
- dto.setWhoNamesPm(entity.getWhotuespmnames());
- dtos.add(dto);
- }
- if(datestr.equals(entity.getWeddate())) {
- WeeklyScheduleDayDto dto = new WeeklyScheduleDayDto();
- dto.setId(entity.getId());
- dto.setDate(date);
- dto.setUserid(entity.getUserid());
- dto.setWhatAmZjl(entity.getWhatwedamzjl());
- dto.setWhatAm(entity.getWhatwedam());
- dto.setWhatPm(entity.getWhatwedpm());
- dto.setWhatPmZjl(entity.getWhatwedpmzjl());
- dto.setWhereAm(entity.getWherewedam());
- dto.setWhoIdsAm(entity.getWhowedams());
- dto.setWhoNamesAm(entity.getWhowedamnames());
- dto.setWherePm(entity.getWherewedpm());
- dto.setWhoIdsPm(entity.getWhowedpms());
- dto.setWhoNamesPm(entity.getWhowedpmnames());
- dtos.add(dto);
- }
- if(datestr.equals(entity.getThurdate())) {
- WeeklyScheduleDayDto dto = new WeeklyScheduleDayDto();
- dto.setId(entity.getId());
- dto.setDate(date);
- dto.setUserid(entity.getUserid());
- dto.setWhatAmZjl(entity.getWhatthuramzjl());
- dto.setWhatAm(entity.getWhatthuram());
- dto.setWhatPm(entity.getWhatthurpm());
- dto.setWhatPmZjl(entity.getWhatthurpmzjl());
- dto.setWhereAm(entity.getWherethuram());
- dto.setWhoIdsAm(entity.getWhothurams());
- dto.setWhoNamesAm(entity.getWhothuramnames());
- dto.setWherePm(entity.getWherethurpm());
- dto.setWhoIdsPm(entity.getWhothurpms());
- dto.setWhoNamesPm(entity.getWhothurpmnames());
- dtos.add(dto);
- }
- if(datestr.equals(entity.getFridate())) {
- WeeklyScheduleDayDto dto = new WeeklyScheduleDayDto();
- dto.setId(entity.getId());
- dto.setDate(date);
- dto.setUserid(entity.getUserid());
- dto.setWhatAmZjl(entity.getWhatfriamzjl());
- dto.setWhatAm(entity.getWhatfriam());
- dto.setWhatPm(entity.getWhatfripm());
- dto.setWhatPmZjl(entity.getWhatfripmzjl());
- dto.setWhereAm(entity.getWherefriam());
- dto.setWhoIdsAm(entity.getWhofriams());
- dto.setWhoNamesAm(entity.getWhofriamnames());
- dto.setWherePm(entity.getWherefripm());
- dto.setWhoIdsPm(entity.getWhofripms());
- dto.setWhoNamesPm(entity.getWhofripmnames());
- dtos.add(dto);
- }
- if(datestr.equals(entity.getSatdate())) {
- WeeklyScheduleDayDto dto = new WeeklyScheduleDayDto();
- dto.setId(entity.getId());
- dto.setDate(date);
- dto.setUserid(entity.getUserid());
- dto.setWhatAmZjl(entity.getWhatsatamzjl());
- dto.setWhatAm(entity.getWhatsatam());
- dto.setWhatPm(entity.getWhatsatpm());
- dto.setWhatPmZjl(entity.getWhatsatpmzjl());
- dto.setWhereAm(entity.getWheresatam());
- dto.setWhoIdsAm(entity.getWhosatams());
- dto.setWhoNamesAm(entity.getWhosatamnames());
- dto.setWherePm(entity.getWheresatpm());
- dto.setWhoIdsPm(entity.getWhosatpms());
- dto.setWhoNamesPm(entity.getWhosatpmnames());
- dtos.add(dto);
- }
-
- if(datestr.equals(entity.getSundate())) {
- WeeklyScheduleDayDto dto = new WeeklyScheduleDayDto();
- dto.setId(entity.getId());
- dto.setDate(date);
- dto.setUserid(entity.getUserid());
- dto.setWhatAmZjl(entity.getWhatsunamzjl());
- dto.setWhatAm(entity.getWhatsunam());
- dto.setWhatPm(entity.getWhatsunpm());
- dto.setWhatPmZjl(entity.getWhatsunpmzjl());
- dto.setWhereAm(entity.getWheresunam());
- dto.setWhoIdsAm(entity.getWhosunams());
- dto.setWhoNamesAm(entity.getWhosunamnames());
- dto.setWherePm(entity.getWheresunpm());
- dto.setWhoIdsPm(entity.getWhosunpms());
- dto.setWhoNamesPm(entity.getWhosunpmnames());
- dtos.add(dto);
- }
- }
- return dtos;
- }
-
- @Override
- public List<WeeklyscheduleEntity> getWeeklyScheduleBySomeDate(Date date) throws Exception {
- List<String> weekdaylist = XcglDateUtils.getWeekdays(DateUtils.formatDate(date,"yyyy-MM-dd"));
- String mondate = weekdaylist.get(0);
- CriteriaQuery cq = new CriteriaQuery(WeeklyscheduleEntity.class);
- cq.eq("mondate", mondate);
- cq.add();
- List<WeeklyscheduleEntity> entitys = getListByCriteriaQuery(cq, false);
- return entitys;
- }
-
- private WeeklyscheduleEntity setRealNames(WeeklyscheduleEntity weeklyschedule, List<Map<String,Object>> nameTimeList) {
- for(Map<String,Object> nameTime : nameTimeList) {
- String date = nameTime.get("datetime").toString();
- String realNames = nameTime.get("realNames").toString();
- //周一
- if(weeklyschedule.getMondate().equals(date.substring(0,10)) && date.substring(10).equals("am")) {
- weeklyschedule.setWhomonamnames(realNames);
- }else if (weeklyschedule.getMondate().equals(date.substring(0,10)) && date.substring(10).equals("pm")) {
- weeklyschedule.setWhomonpmnames(realNames);
- }
- //周二
- else if(weeklyschedule.getTuesdate().equals(date.substring(0,10)) && date.substring(10).equals("am")) {
- weeklyschedule.setWhotuesamnames(realNames);
- }else if (weeklyschedule.getTuesdate().equals(date.substring(0,10)) && date.substring(10).equals("pm")) {
- weeklyschedule.setWhotuespmnames(realNames);
- }
- //周三
- else if(weeklyschedule.getWeddate().equals(date.substring(0,10)) && date.substring(10).equals("am")) {
- weeklyschedule.setWhowedamnames(realNames);
- }else if (weeklyschedule.getWeddate().equals(date.substring(0,10)) && date.substring(10).equals("pm")) {
- weeklyschedule.setWhowedpmnames(realNames);
- }
- //周四
- else if(weeklyschedule.getThurdate().equals(date.substring(0,10)) && date.substring(10).equals("am")) {
- weeklyschedule.setWhothuramnames(realNames);
- }else if (weeklyschedule.getThurdate().equals(date.substring(0,10)) && date.substring(10).equals("pm")) {
- weeklyschedule.setWhothurpmnames(realNames);
- }
- //周五
- else if(weeklyschedule.getFridate().equals(date.substring(0,10)) && date.substring(10).equals("am")) {
- weeklyschedule.setWhofriamnames(realNames);
- }else if (weeklyschedule.getFridate().equals(date.substring(0,10)) && date.substring(10).equals("pm")) {
- weeklyschedule.setWhofripmnames(realNames);
- }
- //周六
- else if(weeklyschedule.getSatdate().equals(date.substring(0,10)) && date.substring(10).equals("am")) {
- weeklyschedule.setWhosatamnames(realNames);
- }else if (weeklyschedule.getSatdate().equals(date.substring(0,10)) && date.substring(10).equals("pm")) {
- weeklyschedule.setWhosatpmnames(realNames);
- }
- //周日
- else if(weeklyschedule.getSundate().equals(date.substring(0,10)) && date.substring(10).equals("am")) {
- weeklyschedule.setWhosunamnames(realNames);
- }else if (weeklyschedule.getSundate().equals(date.substring(0,10)) && date.substring(10).equals("pm")) {
- weeklyschedule.setWhosunpmnames(realNames);
- }
- }
- return weeklyschedule;
- }
-
- public void sendWXMsgForActivityTaskOvertime4ZJL() {
- List<Map<String, Object>> user = findForJdbc("select openid,id from t_s_user where id in (select id from t_s_base_user where username = '0001') and openid is not null");
- if (user.size() == 0)
- return;
- List<Map<String,Object>> listParams = new ArrayList<Map<String,Object>>();
- Map<String, Object> oneMsg = new HashMap<String, Object>();
- Map<String, Object> userMsgParms = new HashMap<String, Object>();
- JSONObject keyword1 = new JSONObject();
- keyword1.put("value",DateUtils.formatDate(new Date(),"yyyy年MM月dd日"));
- keyword1.put("color","#cc1010");
- userMsgParms.put("first", "截止今日("+DateUtils.formatDate(new Date(),"yyyy年MM月dd日")+")签报逾期情况");
- userMsgParms.put("keyword1", keyword1);
- userMsgParms.put("keyword2", "请点击本消息查看详情");
- userMsgParms.put("remark", "美都环卫物业:勤思、勤学、勤劳、勤勉");
- if(ResourceUtil.getConfigByName(Globals.SERVER_TYPE).equals(Globals.SERVER_TYPE_LINE)) {
- oneMsg.put("openid", user.get(0).get("openid"));//"oQ2vj04CDPxjrvp9WlyJkXEfg4S8"
- }else {
- oneMsg.put("openid", ResourceUtil.getConfigByName(Globals.SERVER_TEST_OPENID));
- }
- oneMsg.put("userid", user.get(0).get("id"));
- oneMsg.put("tplParams", userMsgParms);
- oneMsg.put("url", ResourceUtil.getConfigByName(Globals.SERVER_WXMSG)+"/weeklyscheduleController.do?activitiOvertimeRpt");
- listParams.add(oneMsg);
-
- try {
- wxservice.sendMsgToWXForTodayWork(listParams);
- }catch (Exception e) {
- logger.error(e.getMessage());
- }
-
- }
- }
|