|
@@ -74,15 +74,19 @@ public class OkrServiceImpl implements OkrService {
|
|
|
|
|
|
//状态信息
|
|
//状态信息
|
|
List<OkrContentStatus> contentStatusList = okrContentStatusMapper.getContentStatusList(objectInfo.getUserId(), objectInfo.getYear(), objectInfo.getQuarter());
|
|
List<OkrContentStatus> contentStatusList = okrContentStatusMapper.getContentStatusList(objectInfo.getUserId(), objectInfo.getYear(), objectInfo.getQuarter());
|
|
|
|
+ String now = DateUtils.formatDate();
|
|
|
|
+ //当前日期数据
|
|
|
|
+ OkrWeekData weekData = weekDataService.getWeekByDate(now);
|
|
|
|
+ List<Integer> months = DateUtils.getMonthsByQuarter(objectInfo.getQuarter());
|
|
|
|
+ //根据月份数据获取周
|
|
|
|
+ Map<Integer, List<Integer>> weeks = weekDataService.getWeeksByMonths(objectInfo.getYear(),months);
|
|
Map<String,Object> timeMap = new HashMap<>();
|
|
Map<String,Object> timeMap = new HashMap<>();
|
|
timeMap.put("year",objectInfo.getYear());
|
|
timeMap.put("year",objectInfo.getYear());
|
|
timeMap.put("quarter",objectInfo.getQuarter());
|
|
timeMap.put("quarter",objectInfo.getQuarter());
|
|
Integer month = DateUtils.getMonth();
|
|
Integer month = DateUtils.getMonth();
|
|
Integer week = DateUtils.getWeekByDate(new Date());
|
|
Integer week = DateUtils.getWeekByDate(new Date());
|
|
- List<Integer> months = DateUtils.getMonthsByQuarter(objectInfo.getQuarter());
|
|
|
|
- Map<Integer, List<Integer>> weeks = DateUtils.getWeeksOfYearByQuarter(objectInfo.getQuarter());
|
|
|
|
- timeMap.put("month",month);
|
|
|
|
- timeMap.put("week",week);
|
|
|
|
|
|
+ timeMap.put("currentMonth",month);
|
|
|
|
+ timeMap.put("currentWeek",week);
|
|
timeMap.put("months",months);
|
|
timeMap.put("months",months);
|
|
timeMap.put("weeks",weeks);
|
|
timeMap.put("weeks",weeks);
|
|
result.put("time", timeMap);
|
|
result.put("time", timeMap);
|
|
@@ -150,11 +154,13 @@ public class OkrServiceImpl implements OkrService {
|
|
public void insertTaskInfo(OkrTaskInfo taskInfo){
|
|
public void insertTaskInfo(OkrTaskInfo taskInfo){
|
|
QYWxUserInfo sysUser = (QYWxUserInfo) SecurityUtils.getSubject().getPrincipal();
|
|
QYWxUserInfo sysUser = (QYWxUserInfo) SecurityUtils.getSubject().getPrincipal();
|
|
String userId = sysUser.getOpenId();
|
|
String userId = sysUser.getOpenId();
|
|
- Integer year = DateUtils.getYear(new Date());
|
|
|
|
- Integer quarter = DateUtils.getQuarter(new Date());
|
|
|
|
|
|
+ String now = DateUtils.formatDate();
|
|
|
|
+ OkrWeekData weekData = weekDataService.getWeekByDate(now);
|
|
taskInfo.setUserId(userId);
|
|
taskInfo.setUserId(userId);
|
|
- taskInfo.setYear(year);
|
|
|
|
- taskInfo.setQuarter(quarter);
|
|
|
|
|
|
+ taskInfo.setYear(weekData.getYear());
|
|
|
|
+ taskInfo.setQuarter(weekData.getQuarter());
|
|
|
|
+ taskInfo.setWeek(weekData.getWeek());
|
|
|
|
+ taskInfo.setMonth(weekData.getMonth());
|
|
okrTaskInfoService.insertTaskInfo(taskInfo);
|
|
okrTaskInfoService.insertTaskInfo(taskInfo);
|
|
|
|
|
|
insertTaskPublicIds(taskInfo,taskInfo.getPublicIds());
|
|
insertTaskPublicIds(taskInfo,taskInfo.getPublicIds());
|
|
@@ -166,7 +172,7 @@ public class OkrServiceImpl implements OkrService {
|
|
}else{
|
|
}else{
|
|
opration = 4;
|
|
opration = 4;
|
|
}
|
|
}
|
|
- okrLogService.insertOkrLog(1,opration,taskInfo.getId(),year,quarter,JSONObject.toJSONString(taskInfo),userId);
|
|
|
|
|
|
+ okrLogService.insertOkrLog(1,opration,taskInfo.getId(),weekData.getYear(),weekData.getQuarter(),JSONObject.toJSONString(taskInfo),userId);
|
|
}
|
|
}
|
|
private void insertTaskPublicIds(OkrTaskInfo taskInfo,List<String>publicIds){
|
|
private void insertTaskPublicIds(OkrTaskInfo taskInfo,List<String>publicIds){
|
|
if(null!=publicIds&&!publicIds.isEmpty()){
|
|
if(null!=publicIds&&!publicIds.isEmpty()){
|
|
@@ -228,33 +234,59 @@ public class OkrServiceImpl implements OkrService {
|
|
//更新任务
|
|
//更新任务
|
|
@Override
|
|
@Override
|
|
public void updateTaskInfo(OkrTaskInfo taskInfo){
|
|
public void updateTaskInfo(OkrTaskInfo taskInfo){
|
|
- List<String>publicIds = taskInfo.getPublicIds();
|
|
|
|
- List<String>remindIds = taskInfo.getRemindIds();
|
|
|
|
- okrTaskInfoService.updateTaskInfo(taskInfo);
|
|
|
|
|
|
+ //1:查询taskInfo
|
|
|
|
+ OkrTaskInfo getTask = okrTaskInfoService.getById(taskInfo.getId());
|
|
|
|
+ if(null!=taskInfo.getTaskTitle()&&!"".equals(taskInfo.getTaskTitle())){
|
|
|
|
+ getTask.setTaskTitle(taskInfo.getTaskTitle());
|
|
|
|
+ }
|
|
|
|
+ if(null!=taskInfo.getTaskInfo()&&!"".equals(taskInfo.getTaskInfo())){
|
|
|
|
+ getTask.setTaskInfo(taskInfo.getTaskInfo());
|
|
|
|
+ }
|
|
|
|
+ if(null!=taskInfo.getPermission()){
|
|
|
|
+ getTask.setPermission(taskInfo.getPermission());
|
|
|
|
+ }
|
|
|
|
+ if(null!=taskInfo.getPriority()&&!"".equals(taskInfo.getPriority())){
|
|
|
|
+ getTask.setPriority(taskInfo.getPriority());
|
|
|
|
+ }
|
|
|
|
+ if(null!=taskInfo.getStatus()){
|
|
|
|
+ getTask.setStatus(taskInfo.getStatus());
|
|
|
|
+ }
|
|
|
|
+ okrTaskInfoService.updateById(getTask);
|
|
if(taskInfo.getStatus() == 2){
|
|
if(taskInfo.getStatus() == 2){
|
|
- taskInfo.setStatus(1);
|
|
|
|
- taskInfo.setWeek(taskInfo.getWeek()+1);
|
|
|
|
- okrTaskInfoService.insertTaskInfo(taskInfo);
|
|
|
|
|
|
+ if(taskInfo.getType() == 2){
|
|
|
|
+ //月份信息数据
|
|
|
|
+ getTask.setStatus(1);
|
|
|
|
+ int month = getTask.getMonth();
|
|
|
|
+ if(month == 12){
|
|
|
|
+ getTask.setMonth(1);
|
|
|
|
+ getTask.setYear(getTask.getYear()+1);
|
|
|
|
+ }else{
|
|
|
|
+ getTask.setMonth(getTask.getMonth()+1);
|
|
|
|
+ }
|
|
|
|
+ getTask.setId(null);
|
|
|
|
+ okrTaskInfoService.insertTaskInfo(getTask);
|
|
|
|
+ }else{
|
|
|
|
+ OkrWeekData getNextWeek = weekDataService.getWeekByYearAndWeek(getTask.getYear(),getTask.getWeek()+1);
|
|
|
|
+ getTask.setStatus(1);
|
|
|
|
+ getTask.setWeek(getNextWeek.getWeek());
|
|
|
|
+ getTask.setMonth(getNextWeek.getMonth());
|
|
|
|
+ getTask.setYear(getNextWeek.getYear());
|
|
|
|
+ getTask.setId(null);
|
|
|
|
+ okrTaskInfoService.insertTaskInfo(getTask);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
/**
|
|
/**
|
|
* 需要先删除历史数据
|
|
* 需要先删除历史数据
|
|
*/
|
|
*/
|
|
- taskInfo = okrTaskInfoService.selectById(taskInfo.getId());
|
|
|
|
okrTaskInfoDisclosureService.deleteByTaskId(taskInfo.getId());
|
|
okrTaskInfoDisclosureService.deleteByTaskId(taskInfo.getId());
|
|
okrTaskInfoRemindService.deleteByTaskId(taskInfo.getId());
|
|
okrTaskInfoRemindService.deleteByTaskId(taskInfo.getId());
|
|
QYWxUserInfo sysUser = (QYWxUserInfo) SecurityUtils.getSubject().getPrincipal();
|
|
QYWxUserInfo sysUser = (QYWxUserInfo) SecurityUtils.getSubject().getPrincipal();
|
|
- String userId = sysUser.getOpenId();
|
|
|
|
- insertTaskPublicIds(taskInfo,publicIds);
|
|
|
|
- insertTaskRemindIds(sysUser.getName(),taskInfo,remindIds);
|
|
|
|
-
|
|
|
|
- //日志留存
|
|
|
|
- Integer operation;
|
|
|
|
- if(taskInfo.getType() == 1){
|
|
|
|
- operation = 3;
|
|
|
|
- }else{
|
|
|
|
- operation = 4;
|
|
|
|
- }
|
|
|
|
- okrLogService.insertOkrLog(2,operation,taskInfo.getId(),DateUtils.getYear(new Date()),DateUtils.getQuarter(new Date()),JSONObject.toJSONString(taskInfo),userId);
|
|
|
|
|
|
+ getTask.setStatus(taskInfo.getStatus());
|
|
|
|
+ getTask.setId(taskInfo.getId());
|
|
|
|
+ List<String>publicIds = taskInfo.getPublicIds();
|
|
|
|
+ List<String>remindIds = taskInfo.getRemindIds();
|
|
|
|
+ insertTaskPublicIds(getTask,publicIds);
|
|
|
|
+ insertTaskRemindIds(sysUser.getName(),getTask,remindIds);
|
|
}
|
|
}
|
|
//保存任务
|
|
//保存任务
|
|
|
|
|
|
@@ -567,7 +599,8 @@ public class OkrServiceImpl implements OkrService {
|
|
map.put("quarter",quarter);
|
|
map.put("quarter",quarter);
|
|
return map;
|
|
return map;
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private IOkrWeekDataService weekDataService;
|
|
@Override
|
|
@Override
|
|
public Map<String, Object> getOkrDetail(JSONObject data) {
|
|
public Map<String, Object> getOkrDetail(JSONObject data) {
|
|
Map<String, Object> result = new HashMap<>();
|
|
Map<String, Object> result = new HashMap<>();
|
|
@@ -583,18 +616,20 @@ public class OkrServiceImpl implements OkrService {
|
|
if(null == quarter||quarter == 0){
|
|
if(null == quarter||quarter == 0){
|
|
quarter = currentQuarter;
|
|
quarter = currentQuarter;
|
|
}
|
|
}
|
|
- Integer month = DateUtils.getMonth();
|
|
|
|
- Integer week = DateUtils.getWeekByDate(new Date());
|
|
|
|
- List<Integer> months = DateUtils.getMonthsByQuarter(currentQuarter);
|
|
|
|
- Map<Integer, List<Integer>> weeks = DateUtils.getWeeksOfYearByQuarter(quarter);
|
|
|
|
|
|
+ String now = DateUtils.formatDate();
|
|
|
|
+ //当前日期数据
|
|
|
|
+ OkrWeekData weekData = weekDataService.getWeekByDate(now);
|
|
|
|
+ List<Integer> months = DateUtils.getMonthsByQuarter(quarter);
|
|
|
|
+ //根据月份数据获取周
|
|
|
|
+ Map<Integer, List<Integer>> weeks = weekDataService.getWeeksByMonths(year,months);
|
|
Map<String,Object> timeMap = new HashMap<>();
|
|
Map<String,Object> timeMap = new HashMap<>();
|
|
timeMap.put("year", year);
|
|
timeMap.put("year", year);
|
|
timeMap.put("quarter",quarter);
|
|
timeMap.put("quarter",quarter);
|
|
- timeMap.put("currentYear",currentYear);
|
|
|
|
- timeMap.put("currentQuarter",currentQuarter);
|
|
|
|
- timeMap.put("month",month);
|
|
|
|
|
|
+ timeMap.put("currentYear",weekData.getYear());
|
|
|
|
+ timeMap.put("currentQuarter",weekData.getQuarter());
|
|
|
|
+ timeMap.put("currentMonth",weekData.getMonth());
|
|
|
|
+ timeMap.put("currentWeek",weekData.getWeek());
|
|
timeMap.put("months",months);
|
|
timeMap.put("months",months);
|
|
- timeMap.put("week",week);
|
|
|
|
timeMap.put("weeks",weeks);
|
|
timeMap.put("weeks",weeks);
|
|
result.put("time", timeMap);
|
|
result.put("time", timeMap);
|
|
|
|
|
|
@@ -603,11 +638,11 @@ public class OkrServiceImpl implements OkrService {
|
|
return result;
|
|
return result;
|
|
}
|
|
}
|
|
|
|
|
|
- //本周任务信息
|
|
|
|
- List<OkrTaskInfo> taskInfoList = okrTaskInfoService.getTaskInfo(objectInfo.getUserId(), objectInfo.getYear(), objectInfo.getQuarter(), 1);
|
|
|
|
|
|
+ //周任务信息
|
|
|
|
+ List<OkrTaskInfo> taskInfoList = okrTaskInfoService.getTaskInfo(objectInfo.getUserId(), year, quarter, 1);
|
|
List<OkrTaskInfo> setTaskList =checkTaskInfo(taskInfoList,currentUserId);
|
|
List<OkrTaskInfo> setTaskList =checkTaskInfo(taskInfoList,currentUserId);
|
|
|
|
|
|
- //未来四周任务信息
|
|
|
|
|
|
+ //月度任务信息
|
|
List<OkrTaskInfo> taskFourWeekList = okrTaskInfoService.getTaskInfo(objectInfo.getUserId(), objectInfo.getYear(), objectInfo.getQuarter(), 2);
|
|
List<OkrTaskInfo> taskFourWeekList = okrTaskInfoService.getTaskInfo(objectInfo.getUserId(), objectInfo.getYear(), objectInfo.getQuarter(), 2);
|
|
List<OkrTaskInfo> settaskFourWeekList =checkTaskInfo(taskFourWeekList,currentUserId);
|
|
List<OkrTaskInfo> settaskFourWeekList =checkTaskInfo(taskFourWeekList,currentUserId);
|
|
|
|
|