diff --git a/src/main/java/com/zh/project0512/controller/manage/StatisticsController.java b/src/main/java/com/zh/project0512/controller/manage/StatisticsController.java index 60013f2..e22dd90 100644 --- a/src/main/java/com/zh/project0512/controller/manage/StatisticsController.java +++ b/src/main/java/com/zh/project0512/controller/manage/StatisticsController.java @@ -26,11 +26,13 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.time.DayOfWeek; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; +import java.time.temporal.TemporalAdjusters; import java.util.ArrayList; import java.util.List; import java.util.stream.Stream; @@ -75,20 +77,20 @@ public class StatisticsController { DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd"); DateTimeFormatter df2 = DateTimeFormatter.ofPattern("yyyy-MM"); LocalDate now = LocalDateTime.now().toLocalDate(); - LocalDate before = now.minusMonths(1); + LocalDate before =now.with(TemporalAdjusters.firstDayOfMonth()); if (null != param.getDateCondition()) { switch (param.getDateCondition()) { case 1: before = now; break; case 2: - before = now.minusWeeks(1); + before = now.with(DayOfWeek.MONDAY); break; case 3: - before = now.minusMonths(1); + before = now.with(TemporalAdjusters.firstDayOfMonth()); break; case 4: - before = now.minusYears(1); + before = now.with(TemporalAdjusters.firstDayOfYear()); break; default: } @@ -158,20 +160,20 @@ public class StatisticsController { QueryWrapper qw = new QueryWrapper<>(); DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd"); LocalDateTime now = LocalDateTime.of(LocalDateTime.now().toLocalDate(), LocalTime.MIN); - LocalDateTime before = now.minusMonths(1); + LocalDateTime before = now.with(TemporalAdjusters.firstDayOfMonth()); if (param.getDateCondition() != null) { switch (param.getDateCondition()) { case 1: before = now; break; case 2: - before = now.minusWeeks(1); + before = now.with(DayOfWeek.MONDAY); break; case 3: - before = now.minusMonths(1); + before = now.with(TemporalAdjusters.firstDayOfMonth()); break; case 4: - before = now.minusYears(1); + before = now.with(TemporalAdjusters.firstDayOfYear()); break; default: } diff --git a/src/main/java/com/zh/project0512/controller/manage/TaskController.java b/src/main/java/com/zh/project0512/controller/manage/TaskController.java index 4683400..390eece 100644 --- a/src/main/java/com/zh/project0512/controller/manage/TaskController.java +++ b/src/main/java/com/zh/project0512/controller/manage/TaskController.java @@ -324,12 +324,12 @@ public class TaskController { // 添加任务标签 List tagIdList = task.getTagList(); - if(tagIdList !=null){ - if(tagIdList.size()== 0){ + if (tagIdList != null) { + if (tagIdList.size() == 0) { taskTagService.remove(new QueryWrapper().eq("taskId", id)); - }else{ + } else { List tagListOri = taskTagService.selByTaskId(id); - taskTagService.remove(new QueryWrapper().eq("taskId", id).notIn((tagIdList!=null&&tagIdList.size()!=0),"tagId", tagIdList)); + taskTagService.remove(new QueryWrapper().eq("taskId", id).notIn((tagIdList != null && tagIdList.size() != 0), "tagId", tagIdList)); List tagIdListOri = new ArrayList(); for (Map map : tagListOri) { tagIdListOri.add(map.get("id")); @@ -343,12 +343,12 @@ public class TaskController { // 添加任务品牌 List brandIdList = task.getBrandList(); - if(brandIdList !=null){ - if(brandIdList.size()== 0){ + if (brandIdList != null) { + if (brandIdList.size() == 0) { taskBrandService.remove(new QueryWrapper().eq("taskId", id)); - }else{ + } else { List brandListOri = taskBrandService.selByTaskId(id); - taskBrandService.remove(new QueryWrapper().eq("taskId", id).notIn((brandIdList!=null&&brandIdList.size()!=0),"brandId", brandIdList)); + taskBrandService.remove(new QueryWrapper().eq("taskId", id).notIn("brandId", brandIdList)); List brandIdListOri = new ArrayList(); for (Map map : brandListOri) { brandIdListOri.add(map.get("id")); @@ -361,28 +361,28 @@ public class TaskController { } // 添加任务部门 - List dpIdList = new ArrayList(); List departmentIdList = task.getDepartmentList(); - if (departmentIdList != null && departmentIdList.size() > 0) { - for (Integer e : departmentIdList) { - dpIdList.add(e); - } - } List departmentGroupList = task.getDepartmentGroupList(); - if (departmentGroupList != null && departmentGroupList.size() > 0) { - List departmentIdList1 = qywxDepartmentGroupLinkService.departmentIdList(null, departmentGroupList); + if (departmentIdList != null && departmentGroupList != null) { + List dpIdList = new ArrayList(); if (departmentIdList != null && departmentIdList.size() > 0) { - for (Integer e : departmentIdList1) { + for (Integer e : departmentIdList) { dpIdList.add(e); } } - } - if(dpIdList !=null){ - if(dpIdList.size()== 0){ + List departmentIdList1 = qywxDepartmentGroupLinkService.departmentIdList(null, departmentGroupList); + if (departmentGroupList != null && departmentGroupList.size() > 0) { + if (departmentIdList != null && departmentIdList.size() > 0) { + for (Integer e : departmentIdList1) { + dpIdList.add(e); + } + } + } + if (dpIdList.size() == 0) { taskDepartmentService.remove(new QueryWrapper().eq("taskId", id)); - }else{ - List departmentListOri = taskDepartmentService.list(new QueryWrapper().eq("taskId",task.getId())); - taskDepartmentService.remove(new QueryWrapper().eq("taskId", id).notIn((dpIdList!=null&&dpIdList.size()!=0),"departmentId", departmentIdList)); + } else { + List departmentListOri = taskDepartmentService.list(new QueryWrapper().eq("taskId", task.getId())); + taskDepartmentService.remove(new QueryWrapper().eq("taskId", id).notIn("departmentId", departmentIdList)); List departmentIdListOri = new ArrayList(); for (TaskDepartment taskDepartment : departmentListOri) { departmentIdListOri.add(taskDepartment.getDepartmentId()); @@ -393,11 +393,11 @@ public class TaskController { } } } - taskService.upReferenceInTask(task,task.getReferenceList(),task.getReferenceUrlList()); - taskService.upTeachRefeInTask(task,task.getTeachRefeList(),task.getTeachRefeUrlList()); + taskService.upReferenceInTask(task, task.getReferenceList(), task.getReferenceUrlList(), true); + taskService.upTeachRefeInTask(task, task.getTeachRefeList(), task.getTeachRefeUrlList(), true); task.setUpdateAt(LocalDateTime.now()); taskService.updateById(task); - return Result.success(null,"修改完成"); + return Result.success(null, "修改完成"); } // @Operation(summary = "删除") diff --git a/src/main/java/com/zh/project0512/service/ITaskService.java b/src/main/java/com/zh/project0512/service/ITaskService.java index a2c5713..a666c02 100644 --- a/src/main/java/com/zh/project0512/service/ITaskService.java +++ b/src/main/java/com/zh/project0512/service/ITaskService.java @@ -31,7 +31,7 @@ public interface ITaskService extends IService { List taskDepartment(int taskId); // 上传任务时同时上传素材 - Boolean upReferenceInTask(Task task, List referenceList, List referenceUrlList) ; + Boolean upReferenceInTask(Task task, List referenceList, List referenceUrlList,Boolean isUpd) ; // 上传任务的通用教程 - Boolean upTeachRefeInTask(Task task,List teachRefeList, List teachRefeUrlList); + Boolean upTeachRefeInTask(Task task,List teachRefeList, List teachRefeUrlList,Boolean isUpd) ; } diff --git a/src/main/java/com/zh/project0512/serviceImpl/TaskServiceImpl.java b/src/main/java/com/zh/project0512/serviceImpl/TaskServiceImpl.java index d1a8619..56df30d 100644 --- a/src/main/java/com/zh/project0512/serviceImpl/TaskServiceImpl.java +++ b/src/main/java/com/zh/project0512/serviceImpl/TaskServiceImpl.java @@ -2,13 +2,11 @@ package com.zh.project0512.serviceImpl; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.zh.project0512.mapper.ReferenceMapper; -import com.zh.project0512.model.Reference; -import com.zh.project0512.model.Task; +import com.zh.project0512.model.*; import com.zh.project0512.mapper.TaskMapper; -import com.zh.project0512.model.TaskTeachRefe; -import com.zh.project0512.model.TeachingRefe; import com.zh.project0512.model.vo.FileUploadParamVo; import com.zh.project0512.service.*; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -18,10 +16,12 @@ import org.apache.poi.ss.formula.functions.T; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.sql.Ref; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** *

@@ -73,7 +73,7 @@ public class TaskServiceImpl extends ServiceImpl implements IT } // 上传任务时同时上传素材 - public Boolean upReferenceInTask(Task task, List referenceList, List referenceUrlList) { + public Boolean upReferenceInTask(Task task, List referenceList, List referenceUrlList,Boolean isUpd) { List reference = new ArrayList<>(); if (referenceList != null && referenceList.size() > 0) { for (Integer e : referenceList) { @@ -102,13 +102,26 @@ public class TaskServiceImpl extends ServiceImpl implements IT } } if (reference.size() > 0) { - taskReferenceService.addGroup(reference, task.getId()); + if(isUpd){ + List trListOri = taskReferenceService.list(new QueryWrapper().eq("taskId", task.getId())); + taskReferenceService.remove(new QueryWrapper().eq("taskId", task.getId()).notIn((reference != null && reference.size() != 0), "referenceId", reference)); + List trIdListOri = new ArrayList(); + for (TaskReference tr : trListOri) { + trIdListOri.add(tr.getReferenceId()); + } + List collect = (List) reference.stream().filter(item -> !trIdListOri.contains(item)).collect(Collectors.toList()); + if (collect != null && collect.size() != 0) { + taskReferenceService.addGroup(collect, task.getId()); + } + }else{ + taskReferenceService.addGroup(reference, task.getId()); + } } return true; } // 上传任务的通用教程 - public Boolean upTeachRefeInTask(Task task,List teachRefeList, List teachRefeUrlList) { + public Boolean upTeachRefeInTask(Task task, List teachRefeList, List teachRefeUrlList,Boolean isUpd) { List l2 = new ArrayList<>(); if (teachRefeList != null && teachRefeList.size() > 0) { List teachingRefes = (List) teachingRefeService.listByIds(teachRefeList); @@ -117,15 +130,17 @@ public class TaskServiceImpl extends ServiceImpl implements IT .setFileUrl(e.getFileUrl()).setType(FileTypeUtil.getcontentTypeNum(e.getFileUrl().substring(e.getFileUrl().lastIndexOf(".")))))); } } - for ( - FileUploadParamVo e : teachRefeUrlList) { - String url = e.getUrl(); - if (url != null && url.lastIndexOf(".") != -1) { - l2.add(new TaskTeachRefe().setTaskId(task.getId()).setCreatAt(LocalDateTime.now()).setDuration(e.getDuration()) - .setFileUrl(url).setType(FileTypeUtil.getcontentTypeNum(url.substring(url.lastIndexOf("."))))); + if (teachRefeUrlList != null && teachRefeUrlList.size() > 0) { + for (FileUploadParamVo e : teachRefeUrlList) { + String url = e.getUrl(); + if (url != null && url.lastIndexOf(".") != -1) { + l2.add(new TaskTeachRefe().setTaskId(task.getId()).setCreatAt(LocalDateTime.now()).setDuration(e.getDuration()) + .setFileUrl(url).setType(FileTypeUtil.getcontentTypeNum(url.substring(url.lastIndexOf("."))))); + } } } if (l2.size() > 0) { + taskTeachRefeService.remove(new QueryWrapper().eq("taskId", task.getId())); taskTeachRefeService.saveBatch(l2); } return true;