|
@@ -3,6 +3,7 @@ package com.jpsoft.proj.kpi.service;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
+import java.util.Set;
|
|
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -18,13 +19,41 @@ public class WorkSummaryService {
|
|
|
@Autowired
|
|
|
private SpringJdbcDAO dao;
|
|
|
|
|
|
+ /**
|
|
|
+ * 查询某一天指定某些员工的工作小结提交数据
|
|
|
+ * @param usIds
|
|
|
+ * @param submitDate
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public List<Map<String,Object>> loadDailySubmitData(Set<String> usIds,String submitDate){
|
|
|
+ String usIdStr=StringUtils.join(usIds,",");
|
|
|
+ StringBuilder sql=new StringBuilder(300);
|
|
|
+ sql.append("select summary, CONVERT(varchar(100),createtime, 20) createtime");
|
|
|
+ sql.append(" from tasksummary where CONVERT(varchar(100),Dates, 23)=? and userid in ("+usIdStr+")");
|
|
|
+ return dao.queryForListMap(sql.toString(),submitDate);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 统计每日日报提交情况(有工作小结内容才算已提交)
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public List<Map<String,Object>> rptDailySubmitData(Set<String> usIds,String submitMonth){
|
|
|
+ String usIdStr=StringUtils.join(usIds,",");
|
|
|
+ StringBuilder sql=new StringBuilder(300);
|
|
|
+ sql.append("select CONVERT(varchar(100),Dates, 23) submit_date,sum((case when Summary is null or Len(replace(Summary,' ','') )=0 then 0 else 1 end)) submit_count ");
|
|
|
+ sql.append(" from tasksummary where left(CONVERT(varchar(100),Dates, 23),7)=? and userid in ("+usIdStr+")");
|
|
|
+ sql.append(" group by dates order by dates desc ");
|
|
|
+ return dao.queryForListMap(sql.toString(),submitMonth);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 加载需要自己考评的人员信息
|
|
|
- * @param workNum
|
|
|
+ * @param usId
|
|
|
* @return
|
|
|
*/
|
|
|
- public List<Map<String,Object>> loadNeedAssessUsers(String workNum){
|
|
|
- Map<String,Object> user=getUserByNumber(workNum);
|
|
|
+ public List<Map<String,Object>> loadNeedAssessUsers(String usId){
|
|
|
+ Map<String,Object> user=getUser(usId);
|
|
|
if(user==null||user.size()==0||user.get("postid")==null) {
|
|
|
return null;
|
|
|
}
|
|
@@ -39,17 +68,17 @@ public class WorkSummaryService {
|
|
|
|
|
|
/**
|
|
|
* 按月查询职员工作日志
|
|
|
- * @param workNum 工号
|
|
|
+ * @param usId 员工编号
|
|
|
* @param workMonth 月份 yyyy-MM 格式
|
|
|
* @return
|
|
|
*/
|
|
|
- public List<Map<String,Object>> loadMonthWorkLog(String workNum,String workMonth){
|
|
|
+ public List<Map<String,Object>> loadMonthWorkLog(String usId,String workMonth){
|
|
|
StringBuilder sql=new StringBuilder();
|
|
|
sql.append("select CONVERT(varchar(100),Dates, 23) work_date,summary,su.Number,su.Name, ");
|
|
|
sql.append(" (case when Summary is null then 0 else Len(replace(Summary,' ','') ) end) summary_len ");
|
|
|
sql.append(" from TaskSummary ts inner join Sys_User su on ts.UserID=su.ID ");
|
|
|
- sql.append(" where su.Number=? and left(CONVERT(varchar(100),Dates, 23),7)=? ");
|
|
|
- return dao.queryForListMap(sql.toString(), workNum,workMonth);
|
|
|
+ sql.append(" where su.id=? and left(CONVERT(varchar(100),Dates, 23),7)=? ");
|
|
|
+ return dao.queryForListMap(sql.toString(), usId,workMonth);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -64,9 +93,9 @@ public class WorkSummaryService {
|
|
|
}
|
|
|
|
|
|
|
|
|
- public Map<String,Object> getUserByNumber(String workNum){
|
|
|
- String sql="select * from Sys_User where Number=?";
|
|
|
- return dao.queryForSingleMap(sql, workNum);
|
|
|
+ public Map<String,Object> getUser(String usId){
|
|
|
+ String sql="select * from Sys_User where id=?";
|
|
|
+ return dao.queryForSingleMap(sql, usId);
|
|
|
}
|
|
|
|
|
|
public String getUserId(String workNum) {
|