blogOperation.jsp
16.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@page import="weaver.blog.BlogManager"%>
<%@page import="weaver.blog.BlogReportManager"%>
<%@page import="weaver.conn.RecordSet"%>
<%@page import="weaver.blog.BlogDao"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="weaver.systeminfo.menuconfig.MenuUtil"%>
<%@page import="weaver.mobile.webservices.MobileServiceImpl"%>
<%@page import="weaver.blog.BlogDiscessVo"%>
<%@page import="weaver.general.GCONST"%>
<%@page import="weaver.blog.AppDao"%>
<%@page import="java.net.URLDecoder"%>
<%@page import="weaver.task.TaskUtil"%>
<%@page import="weaver.blog.bean.BlogZanBean"%>
<%@ include file="/page/maint/common/initNoCache.jsp" %>
<%@ page import="weaver.blog.BlogShareManager"%>
<%@ page import="weaver.file.FileUpload" %>
<%@page import="weaver.blog.WorkDayDao"%>
<%@page import="net.sf.json.JSONObject"%>
<jsp:useBean id="ResourceComInfo" class="weaver.hrm.resource.ResourceComInfo" scope="page" />
<jsp:useBean id="blogDao" class="weaver.blog.BlogDao"></jsp:useBean>
<%
String userid=""+user.getUID();
request.setCharacterEncoding("UTF-8");
FileUpload fu = new FileUpload(request);
BlogManager blogManager=new BlogManager(user);
String operation=Util.null2String(fu.getParameter("operation"));
String attentionid=Util.null2String(fu.getParameter("attentionid")); //关注者id
String islower=Util.null2String(fu.getParameter("islower")); //是否为当前用户下属
if (userid.equals(ResourceComInfo.getManagerID(attentionid))) {
islower = "1";
}else{
islower ="0";
}
String tempid=Util.null2String(request.getParameter("tempid")); //报表模板id
String searchUserName=Util.null2String(request.getParameter("searchUserName")); // 搜索默认的微博
BlogReportManager reportManager=new BlogReportManager();
/*关注处理*/
if(operation.equals("addAttention")){ //添加关注
blogManager.addAttention(userid,attentionid,islower);
blogDao.addRemind(attentionid,userid,"5","","0"); //关注我的+1提醒
}else if(operation.equals("cancelAttention")){ //取消关注
blogManager.cancelAttention(userid,attentionid,islower);
}else if(operation.equals("requestAttention")){ //申请关注
blogManager.requestAttention(userid,attentionid,islower);
}else if(operation.equals("dealRequest")){
String requestid=Util.null2String(fu.getParameter("requestid"));
String sender=Util.null2String(fu.getParameter("sender"));
String status=Util.null2String(fu.getParameter("status"));
blogManager.dealRequest(userid,sender,requestid,status);
if(status.equals("1")){ //同意
blogDao.addRemind(sender,userid,"2","","0"); //申请成功提醒
}else if(status.equals("-1")) //拒绝
blogDao.addRemind(sender,userid,"3","","0"); //申请失败提醒
}else if(operation.equals("delMsg")){
String msgid=Util.null2String(fu.getParameter("msgid"));
String remindType=Util.null2String(fu.getParameter("remindType"));
String sql="";
if(remindType.equals("8"))
sql="update blog_remind set status=-1 where id="+msgid;
else
sql="delete from blog_remind where id="+msgid;
RecordSet recordSet=new RecordSet();
recordSet.execute(sql);
}else if(operation.equals("unsubmitRemind")){ //未提交提醒
String remindid=Util.null2String(fu.getParameter("remindid"));
String relatedid=Util.null2String(fu.getParameter("discussant"));
String remindValue=Util.null2String(fu.getParameter("workdate"));
String sql="select id from blog_remind where remindid="+remindid+" and relatedid="+relatedid+" and remindType=7 and remindValue='"+remindValue+"'";
RecordSet recordSet=new RecordSet();
recordSet.execute(sql);
if(!recordSet.next())
blogDao.addRemind(remindid,relatedid,"7",remindValue,"0"); //申请失败提醒
}else if(operation.equals("signCheck")){ //签到 签退检查微博是否提交
SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd");
String status=blogDao.getBlogStatus(); //微博启用状态
Date enabledate=dateFormat.parse(blogDao.getSysSetting("enableDate")); //微博启用时间
Date currentdate=dateFormat.parse(dateFormat.format(new Date())); //当前日期
String isSignRemind=blogDao.getSysSetting("isSingRemind"); //是否启用签到提醒
String checkday=Util.null2String(fu.getParameter("checkday"));//检查何时的工作微博
boolean todayHasBlog=true; //今天是否提交工作微博了
boolean prevWorkDayHasBlog=true; //上一个工作日是否提交工作微博
if(status.equals("1")&&isSignRemind.equals("1")&¤tdate.getTime()>=enabledate.getTime()){
SimpleDateFormat frm=new SimpleDateFormat("yyyy-MM-dd");
if(checkday.equals("today")) //签退时检查今天
todayHasBlog=blogDao.chkDiscussExits(userid,frm.format(new Date()));
if(checkday.equals("prevWorkDay")){//签到时检查上一个工作日
WorkDayDao workDayDao=new WorkDayDao(user);
for(int j=1;j<7;j++){
Date tmpDate=new Date();
tmpDate.setDate(tmpDate.getDate()-j);
if(workDayDao.getIsWorkday(frm.format(tmpDate))){
prevWorkDayHasBlog=blogDao.chkDiscussExits(""+user.getUID(),frm.format(tmpDate));
break;
}
}
}
}
Map map=new HashMap();
map.put("isSignRemind",isSignRemind);
map.put("todayHasBlog",new Boolean(todayHasBlog));
map.put("prevWorkDayHasBlog",new Boolean(prevWorkDayHasBlog));
out.print(JSONObject.fromObject(map));
}else if(operation.equals("markCommentRead")){ //标记评论为已读
String sql="delete from blog_remind where remindType=9 and remindid="+userid;
RecordSet recordSet=new RecordSet();
recordSet.execute(sql);
}else if(operation.equals("delUpdateRemind")){ //删除更新提醒
String sql="delete from blog_remind where remindType=6 and remindid="+userid;
RecordSet recordSet=new RecordSet();
recordSet.execute(sql);
}else if(operation.equals("managerScore")){ //上级评分
String discussid=Util.null2String(fu.getParameter("discussid"));
String score=Util.null2String(fu.getParameter("score"));
String sql="update blog_discuss set score='"+score+"' where id="+discussid;
RecordSet recordSet=new RecordSet();
recordSet.execute(sql);
}else if(operation.equals("getHomepageTotal")){ //获取主页记录总数
List attentionList=blogManager.getMyAttention(userid,"all");
String attentionids=userid; //所有我关注的人集合,包含自身
for(int i=0;i<attentionList.size();i++){
attentionids=attentionids+","+attentionList.get(i);
}
int total=blogDao.getBlogDiscussCount(attentionids);
out.println(total);
}else if(operation.equals("readDiscuss")){ //删除更新提醒 和 添加访问记录 阅读记录
String discussid=Util.null2String(fu.getParameter("discussid"));
String blogid=Util.null2String(fu.getParameter("blogid"));
String sql="delete from blog_remind where remindType=6 and remindid="+userid+" and remindValue='"+discussid+"'";
RecordSet recordSet=new RecordSet();
recordSet.execute(sql);
blogDao.addReadRecord(userid,blogid); //添加已读记录
blogDao.addVisitRecord(userid,blogid); //添加访问记录
}else if(operation.equals("getDiscussContent")){
String discussid=Util.null2String(fu.getParameter("discussid"));
BlogDiscessVo discessVo=blogDao.getDiscussVo(discussid);
if(discessVo.getUserid().equals(userid)) //权限判断
out.print(discessVo.getContent());
}else if(operation.equals("zanOpr")){//点赞,取消赞
String discussid=Util.null2String(fu.getParameter("discussid"));
String zanflag=Util.null2String(fu.getParameter("zanflag"));
BlogZanBean blogZanBean = new BlogZanBean();
if("zan0".equals(zanflag)){
blogZanBean.addZan(discussid,userid);
}else{
blogZanBean.cancelZan(discussid,userid);
}
//String zanCount = blogZanBean.getZanCount(discussid);
//out.println(zanCount);
}else if(operation.equals("getZan")){
String discussid=Util.null2String(fu.getParameter("discussid"));
BlogZanBean blogZanBean = new BlogZanBean(discussid);
blogZanBean.setCurUserid(userid);
blogZanBean.setIsZan(blogZanBean.isZan(discussid,userid));
JSONObject json=JSONObject.fromObject(blogZanBean);
out.println(json);
}else if(operation.equals("getIndex")){
Calendar calendar = Calendar.getInstance();
int currentMonth = calendar.get(Calendar.MONTH) + 1;
int currentYear = calendar.get(Calendar.YEAR);
reportManager.setUser(user);
Map index=new HashMap();
String blogid=Util.null2String(fu.getParameter("blogid"));
//工作指数
Map workMap=new HashMap();
Map resultMap = reportManager.getBlogReportByUser(blogid,currentYear, currentMonth);
int totalWorkday = ((Integer) resultMap.get("totalWorkday")).intValue(); //当月工作日总数
int totalUnsubmit = ((Integer) resultMap.get("totalUnsubmit")).intValue(); //微博未提交总数
double workIndex = ((Double) resultMap.get("workIndex")).doubleValue(); //工作指数
workMap.put("workIndex",""+resultMap.get("workIndex"));
workMap.put("workIndexTitle",SystemEnv.getHtmlLabelName(15178,user.getLanguage())+totalUnsubmit+SystemEnv.getHtmlLabelName(1925,user.getLanguage())+SystemEnv.getHtmlLabelName(26932,user.getLanguage())+totalWorkday+SystemEnv.getHtmlLabelName(1925,user.getLanguage()));
workMap.put("workIndexStar",reportManager.getReportIndexStar(workIndex));
index.put("work",workMap);
//心情指数
AppDao appDao = new AppDao();
if(appDao.getAppVoByType("mood").isActive()){
Map moodMap=new HashMap();
Map moodResultMap = reportManager.getMoodReportByUser(blogid,currentYear, currentMonth);
int happyDays = ((Integer) moodResultMap.get("happyDays")).intValue();
int unHappyDays = ((Integer) moodResultMap.get("unHappyDays")).intValue();
double moodIndex = ((Double) moodResultMap.get("moodIndex")).doubleValue(); //心情指数
moodMap.put("moodIndex",""+moodResultMap.get("moodIndex"));
moodMap.put("moodIndexTitle",SystemEnv.getHtmlLabelName(26918,user.getLanguage())+unHappyDays+SystemEnv.getHtmlLabelName(1925,user.getLanguage())+SystemEnv.getHtmlLabelName(26917,user.getLanguage())+happyDays+SystemEnv.getHtmlLabelName(1925,user.getLanguage()));
moodMap.put("moodIndexStar",reportManager.getReportIndexStar(moodIndex));
index.put("mood",moodMap);
}
//考勤指数
String isSignInOrSignOut=Util.null2String(blogDao.getIsSignInOrSignOut(user));
if(isSignInOrSignOut.equals("1")){
Map scheduleMap=new HashMap();
Map schedulrResultMap=reportManager.getScheduleReportByUser(blogid,currentYear,currentMonth);
double scheduleIndex=((Double)schedulrResultMap.get("scheduleIndex")).doubleValue(); //考勤指数
int totalAbsent=((Integer)schedulrResultMap.get("totalAbsent")).intValue(); //旷工总天数
int totalLate=((Integer)schedulrResultMap.get("totalLate")).intValue(); //迟到总天数
scheduleMap.put("scheduleIndex",""+schedulrResultMap.get("scheduleIndex"));
scheduleMap.put("scheduleIndexTitle",SystemEnv.getHtmlLabelName(20085,user.getLanguage())+totalAbsent+SystemEnv.getHtmlLabelName(18083,user.getLanguage())+SystemEnv.getHtmlLabelName(20081,user.getLanguage())+totalLate+SystemEnv.getHtmlLabelName(18083,user.getLanguage())+SystemEnv.getHtmlLabelName(18609,user.getLanguage())+totalWorkday+SystemEnv.getHtmlLabelName(20079,user.getLanguage()));
scheduleMap.put("scheduleIndexStar",reportManager.getReportIndexStar(scheduleIndex));
index.put("schedule",scheduleMap);
}
JSONObject json=JSONObject.fromObject(index);
out.println(json);
}else if(operation.equals("getMyAttentionCount")){ //获取我关注的人总数
String groupid=Util.null2String(request.getParameter("groupid"));
//int total=blogDao.getMyAttentionCount(userid,groupid,searchUserName);
int total=blogDao.getMyAttentionCount(userid,"all");
out.println(total);
}else if(operation.equals("saveNotepad")){ //保存记事本内容
String content=Util.null2String(request.getParameter("content")); //记事本内容
String saveType=Util.null2String(fu.getParameter("saveType"));//保存类型
blogDao.saveNotes(userid,content,saveType); //保存内容
}
/*自定义报表*/
if(operation.equals("addReport")){
tempid=reportManager.addReportTemp(userid);
out.println(tempid);
}else if(operation.equals("editReport")){
String tempName=Util.fromScreen(Util.null2String(request.getParameter("tempName")),user.getLanguage());
reportManager.editReportTemp(tempid,tempName);
}else if(operation.equals("delReport")){
reportManager.delReportTemp(tempid);
}else if(operation.equals("addCondition")){
String type=Util.null2String(request.getParameter("type"));
String content=Util.null2String(request.getParameter("value"));
reportManager.addTempCondition(tempid,type,content);
}else if(operation.equals("delCondition")){ //自定义报表人选择检查查看权限
String conditionid=Util.null2String(request.getParameter("conditionid"));
reportManager.delTempCondition(conditionid);
}else if(operation.equals("isCanView")){ //自定义报表人选择检查查看权限
BlogShareManager shareManager=new BlogShareManager();
boolean isCanView=shareManager.isCanView(userid,attentionid);
out.println(isCanView);
}else if(operation.equals("appRightFilter")){ //检查应用链接权限
String linktype=Util.null2String(request.getParameter("linktype"));
String linkid=Util.null2String(request.getParameter("linkid"));
linkid=blogDao.appRightFilter(userid,linktype,linkid);
out.println("{linkid:'"+linkid+"'}");
}else if(operation.equals("getCountdata")){ //获取统计数字
int blogCount= blogDao.getMyBlogCount(userid); //微博总数
int myAttentionCount= blogDao.getMyAttentionCount(userid,"all"); //我关注的人总数
int attentionMeCount= blogDao.getAttentionMe(userid).size(); //关注我的人总数
Map result=new HashMap();
result.put("blogCount",blogCount);
result.put("myAttentionCount",myAttentionCount);
result.put("attentionMeCount",attentionMeCount);
JSONObject object=JSONObject.fromObject(result);
out.print(object.toString());
}
if(operation.equals("getSysLog")){
String blogid=Util.null2String(request.getParameter("blogid"));
String workdate=Util.null2String(request.getParameter("workdate"));
String logstr="";
TaskUtil taskUtil=new TaskUtil();
int taskindex=1;
List logList=taskUtil.getTaskLog(blogid,workdate);
String[] logtypes={"crm","wf","cowork","task"};
%>
<DIV style="POSITION: relative;" class="sys_logs">
<DIV style="WIDTH: 100%" class=content>
<DIV class=tab2>
<TABLE border=0 cellSpacing=0 cellPadding=0 height=22>
<TR>
<td class="tab2unselected" style="width:10px;"></td>
<TD class="tab2item tab2selected" onclick="showLogContent(this)" _target="#crm_<%=workdate%>"><%=SystemEnv.getHtmlLabelName(21313,user.getLanguage())%></TD>
<TD class="tab2item tab2unselected" onclick="showLogContent(this)" _target="#wf_<%=workdate%>"><%=SystemEnv.getHtmlLabelName(18015,user.getLanguage())%></TD>
<TD class="tab2item tab2unselected" onclick="showLogContent(this)" _target="#cowork_<%=workdate%>"><%=SystemEnv.getHtmlLabelName(30047,user.getLanguage())%></TD>
<TD width="*" style="border-bottom:1px solid #c4cfde;"></TD>
</TR>
</TABLE>
</DIV>
<%for(int m=0;m<logtypes.length;m++){
String logtype=logtypes[m];
taskindex=1;
logstr="";
%>
<TABLE width="100%" class="log_content" id="<%=logtype%>_<%=workdate%>" style="display: <%=logtype.equals("crm")?"":"none"%>">
<%
for(int k=0;k<logList.size();k++){
Map map=(Map)logList.get(k);
String taskid=(String)map.get("taskid");
String tasktype=(String)map.get("tasktype");
if(logtype.equals("wf")&&!tasktype.equals("2")) continue;
if(logtype.equals("crm")&&!tasktype.equals("9")) continue;
if(logtype.equals("cowork")&&!tasktype.equals("5")) continue;
if(logtype.equals("task")&&!tasktype.equals("1")) continue;
String taskcontent=(String)map.get("taskcontent");
String taskname=(String)map.get("taskname");
logstr+="<TR height=18>"
+"<TD width=8><IMG name=esymbol src='/blog/images/syslogs/li_wev8.png'></TD>";
logstr+="<td>"
+"<div>"+(taskindex++)+"、<a href=\"javascript:openTask("+taskid+","+tasktype+")\" class=\"a1\">"+taskname+"</a></div>"
+"</td>"
+"</TR>";
logstr+="<tr><td></td><td>"
+"<div class=\"log_c\">"+taskcontent+"</div>"
+"</td></tr>";
}
if(logstr.equals(""))
logstr="<tr><td colspan='2'><div style=\"color:#bcbcbc;\">"+SystemEnv.getHtmlLabelName(82393,user.getLanguage())+"</div></td></tr>";
out.println(logstr);
%>
</TABLE>
<%}%>
</DIV>
</DIV>
<%
}
%>