/* * * Copyright (c) 2001-2016 泛微软件. * 泛微协同商务系统,版权所有. * */ package com.engine.meeting.cmd.meetingmobilevideo; import com.engine.common.biz.AbstractCommonCommand; import com.engine.common.entity.BizLogContext; import com.engine.core.interceptor.CommandContext; import net.sf.json.JSONObject; import weaver.conn.RecordSet; import weaver.general.Util; import weaver.hrm.User; import weaver.hrm.resource.ResourceComInfo; import weaver.meeting.video.util.VideoMeetingUtil; import weaver.systeminfo.SystemEnv; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; /** * 获取视频会议未开始的数据 * * @author yp */ public class GetNotStartListCmd extends AbstractCommonCommand> { public GetNotStartListCmd(User user, Map params) { this.user = user; this.params = params; } @Override public Map execute(CommandContext commandContext) { Map ret = new HashMap(); List datas = new ArrayList(); VideoMeetingUtil vmt = new VideoMeetingUtil(); String _ec_os = Util.null2String(params.get("_ec_os"));//移动端os类型 String ismobile = Util.null2String(params.get("ismobile"));//是否伟移动端请求 RecordSet recordSet = new RecordSet(); String sql = ""; if("sqlserver".equals(recordSet.getDBType())){ sql = "select * from meeting_videolist where (videomtstatus='0' OR videomtstatus = '1') AND videomtenddate>GETDATE()" ; //只能看到自己的,或者参会 sql += " and (videomtcreater = " + user.getUID(); sql += " or "; sql += VideoMeetingUtil.getHrmLikeSql("hrmids",user.getUID()+"",recordSet); sql +=" )"; sql += " ORDER BY videomtbegindate ASC"; }else if ("mysql".equals(recordSet.getDBType())) { sql = "select * from meeting_videolist where (videomtstatus='0' OR videomtstatus = '1') " ; //只能看到自己的,或者参会 sql += " and (videomtcreater = " + user.getUID(); sql += " or "; sql += VideoMeetingUtil.getHrmLikeSql("hrmids",user.getUID()+"",recordSet); sql +=" )"; sql += "AND videomtenddate>now() ORDER BY videomtbegindate ASC"; } else if ("postgresql".equals(recordSet.getDBType())) { sql = "select * from meeting_videolist where (videomtstatus='0' OR videomtstatus = '1') " ; //只能看到自己的,或者参会 sql += " and (videomtcreater = " + user.getUID(); sql += " or "; sql += VideoMeetingUtil.getHrmLikeSql("hrmids",user.getUID()+"",recordSet); sql +=" )"; sql += "AND videomtenddate>now() ORDER BY videomtbegindate ASC"; } else{ sql = "select * from meeting_videolist where (videomtstatus='0' OR videomtstatus = '1')"; //只能看到自己的,或者参会 sql += " and (videomtcreater = " + user.getUID(); sql += " or "; sql += VideoMeetingUtil.getHrmLikeSql("hrmids",user.getUID()+"",recordSet); sql +=" )"; sql += " AND sysdate 5){ // creater = creater.substring(0,5)+"..."; // } if (videomtbegindate.length() > 10) { videomtbegindate = videomtbegindate.substring(11); } if (videomtenddate.length() > 10) { videomtenddate = videomtenddate.substring(11); } if (!begin.equals(end)) { videomtenddate = SystemEnv.getHtmlLabelName(388785, user.getLanguage()) + videomtenddate; } infoMap.put("name", videomtname); infoMap.put("begin", begin); infoMap.put("end", end); infoMap.put("creater", creater); infoMap.put("videomtbegindate", videomtbegindate); infoMap.put("videomtenddate", videomtenddate); infoMap.put("mtpassword", mtpassword); infoMap.put("id", id); infoMap.put("videomtid", oaMtid); infoMap.put("manufacturers", manufacturers); infoMap.put("videomtjoinurl", videomtjoinurl); infoMap.put("videomtstarturl", videomtstarturl); datas.add(infoMap); } Map> map = new HashMap<>(); List newdata = this.getFinalData(datas); ret.put("datas", newdata); return ret; } public List getFinalData(List datas) { Map>> map = new HashMap<>(); // Map mapss = new HashMap<>(); List listss = new ArrayList(); for (Map item : datas) { Map map2 = new HashMap(); map2.put("begin", item.get("begin")); if (map.containsKey(map2)) {//map中存在此id,将数据存放当前key的map中 map.get(map2).add(item); } else {//map中不存在,新建key,用来存放数据 List> tmpList = new ArrayList<>(); tmpList.add(item); Map mapss = new HashMap<>(); mapss.put("date", item.get("begin")); mapss.put("week", getWeek(Util.null2String(item.get("begin")),user.getLanguage())); mapss.put("data", tmpList); listss.add(mapss); map.put(map2, tmpList); } } return listss; } public static boolean isJson(String content) { try { JSONObject.fromObject(content); return true; } catch (Exception e) { return false; } } public static String getWeek(String date,int langid) { String[] arr = date.split("-"); Calendar calendar = Calendar.getInstance();//获得一个日历 calendar.set(Integer.parseInt(arr[0]), Integer.parseInt(arr[1]) - 1, Integer.parseInt(arr[2]));//设置当前时间,月份是从0月开始计算 int number = calendar.get(Calendar.DAY_OF_WEEK);//星期表示1-7,是从星期日开始, String[] str = {"", SystemEnv.getHtmlLabelName(16106,langid), SystemEnv.getHtmlLabelName(16100,langid), SystemEnv.getHtmlLabelName(16101,langid), SystemEnv.getHtmlLabelName(16102,langid), SystemEnv.getHtmlLabelName( 16103,langid), SystemEnv.getHtmlLabelName(16104,langid),SystemEnv.getHtmlLabelName(16105,langid),}; return str[number]; } @Override public BizLogContext getLogContext() { return null; } }