|
|
|
|
/*
|
|
|
|
|
*
|
|
|
|
|
* 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<Map<String, Object>> {
|
|
|
|
|
|
|
|
|
|
public GetNotStartListCmd(User user, Map<String, Object> params) {
|
|
|
|
|
this.user = user;
|
|
|
|
|
this.params = params;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Map<String, Object> 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 <to_date(videomtenddate,'yyyy-mm-dd hh24:mi') ORDER BY videomtbegindate ASC ";
|
|
|
|
|
}
|
|
|
|
|
recordSet.executeQuery(sql);
|
|
|
|
|
while (recordSet.next()) {
|
|
|
|
|
Map infoMap = new HashMap();
|
|
|
|
|
String videomtname = recordSet.getString("videomtname");
|
|
|
|
|
String videomtbegindate = recordSet.getString("videomtbegindate");
|
|
|
|
|
String videomtenddate = recordSet.getString("videomtenddate");
|
|
|
|
|
String manufacturers = recordSet.getString("manufacturers");
|
|
|
|
|
String videomtjoinurl = recordSet.getString("videomtjoinurl");
|
|
|
|
|
String videomtstarturl = recordSet.getString("videomtstarturl");
|
|
|
|
|
String videomtid = recordSet.getString("videomtid");
|
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
|
|
SimpleDateFormat sdff = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
|
|
String begin = "";
|
|
|
|
|
String end = "";
|
|
|
|
|
String id = recordSet.getString("id");
|
|
|
|
|
try {
|
|
|
|
|
begin = sdf.format(sdff.parse(videomtbegindate));
|
|
|
|
|
end = sdf.format(sdff.parse(videomtenddate));
|
|
|
|
|
} catch (ParseException e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
String videomtcreater = recordSet.getString("videomtcreater");
|
|
|
|
|
String mtpassword = recordSet.getString("mtpassword");
|
|
|
|
|
if("InfowareLab".equals(manufacturers) && "1".equals(ismobile)){//特殊处理红杉树会议链接
|
|
|
|
|
videomtstarturl = vmt.getHSSLinkUrl(user.getUID()+"",_ec_os,videomtid,mtpassword,true);
|
|
|
|
|
videomtjoinurl = vmt.getHSSLinkUrl(user.getUID()+"",_ec_os,videomtid,mtpassword,false);
|
|
|
|
|
}
|
|
|
|
|
String oaMtid = Util.null2String(recordSet.getString("oaMtid"));
|
|
|
|
|
if (isJson(mtpassword)) {
|
|
|
|
|
JSONObject jsonObject = JSONObject.fromObject(mtpassword);
|
|
|
|
|
mtpassword = jsonObject.getString("chair_pwd");
|
|
|
|
|
}
|
|
|
|
|
ResourceComInfo resourceComInfo = null;
|
|
|
|
|
try {
|
|
|
|
|
resourceComInfo = new ResourceComInfo();
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
String creater = resourceComInfo.getResourcename(videomtcreater);
|
|
|
|
|
creater = Util.formatMultiLang(creater ,user.getLanguage()+"");
|
|
|
|
|
// if(creater.length()>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<String, List<User>> map = new HashMap<>();
|
|
|
|
|
List newdata = this.getFinalData(datas);
|
|
|
|
|
ret.put("datas", newdata);
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public List getFinalData(List<Map> datas) {
|
|
|
|
|
Map<Object, List<Map<String, Object>>> 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<Map<String, Object>> 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;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|