diff --git a/web-api/src/main/java/com/jeesite/modules/app/appStart.java b/web-api/src/main/java/com/jeesite/modules/app/appStart.java index 5731621a..21fecba5 100644 --- a/web-api/src/main/java/com/jeesite/modules/app/appStart.java +++ b/web-api/src/main/java/com/jeesite/modules/app/appStart.java @@ -1,11 +1,76 @@ package com.jeesite.modules.app; +import com.jeesite.modules.app.dao.MyWorkInfo; +import com.jeesite.modules.biz.entity.BizCalendarSchedule; +import com.jeesite.modules.biz.entity.BizListItem; +import com.jeesite.modules.biz.entity.BizProjectInfo; +import com.jeesite.modules.biz.entity.BizResumeEmployee; +import com.jeesite.modules.biz.service.BizCalendarScheduleService; +import com.jeesite.modules.biz.service.BizListItemService; +import com.jeesite.modules.biz.service.BizProjectInfoService; +import com.jeesite.modules.biz.service.BizResumeEmployeeService; +import com.jeesite.modules.sys.entity.User; +import com.jeesite.modules.sys.utils.UserUtils; +import jakarta.annotation.Resource; import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; +import java.util.Optional; + @Controller +@RequestMapping(value = "${adminPath}/biz/myWork") public class appStart { + @Resource + private BizListItemService bizListItemService; + + @Resource + private BizProjectInfoService bizProjectInfoService; + + @Resource + private BizResumeEmployeeService bizResumeEmployeeService; + + @Resource + private BizCalendarScheduleService bizCalendarScheduleService; + /** + * 首页 + */ + @RequestMapping(value = "list") + @ResponseBody + public MyWorkInfo list() { + User user = UserUtils.getUser(); + // 日程 + BizCalendarSchedule schedule = new BizCalendarSchedule(); + schedule.setParticipantUser(user.getLoginCode()); + List schedules = bizCalendarScheduleService.findList(schedule); + Integer calendarNums = Optional.ofNullable(schedules) + .map(list -> list.stream().filter(s -> s.getUstatus().equals("1")).count()) + .map(Long::intValue) + .orElse(0); + // 项目 + List projectInfos = bizProjectInfoService.findList(new BizProjectInfo()); + Integer projectNums = Optional.ofNullable(projectInfos) + .map(list -> list.stream().filter(s -> s.getProjectStatus().equals("2")).count()) + .map(Long::intValue) + .orElse(0); + //待办 + BizListItem listItem = new BizListItem(); + listItem.setType("3"); + listItem.setUstatus("1"); + listItem.setLoginUser(user.getLoginCode()); + List listItems = bizListItemService.findList(listItem); + Integer notifyNums = Optional.ofNullable(listItems) + .map(list -> list.stream().filter(s -> s.getClickClose().equals("0")).count()) + .map(Long::intValue) + .orElse(0); + List employees = bizResumeEmployeeService.findList(new BizResumeEmployee()); + MyWorkInfo workInfo = new MyWorkInfo(notifyNums, listItems.size(), projectNums, projectInfos.size(), calendarNums, schedules.size(), employees.size()); + return workInfo; + } } diff --git a/web-api/src/main/java/com/jeesite/modules/app/dao/MyWorkInfo.java b/web-api/src/main/java/com/jeesite/modules/app/dao/MyWorkInfo.java new file mode 100644 index 00000000..048de05f --- /dev/null +++ b/web-api/src/main/java/com/jeesite/modules/app/dao/MyWorkInfo.java @@ -0,0 +1,38 @@ +package com.jeesite.modules.app.dao; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class MyWorkInfo implements Serializable { + + private Integer notifyNums; + + private Integer notifyAllNums; + + private Integer projectNums; + + private Integer projectAllNums; + + private Integer calendarNums; + + private Integer calendarAllNums; + + private Integer teamNums; + + public MyWorkInfo() { + + } + + public MyWorkInfo(Integer notifyNums, Integer notifyAllNums, Integer projectNums, Integer projectAllNums,Integer calendarNums,Integer calendarAllNums, Integer teamNums) { + this.notifyNums = notifyNums; + this.notifyAllNums = notifyAllNums; + this.projectNums = projectNums; + this.projectAllNums = projectAllNums; + this.calendarNums = calendarNums; + this.calendarAllNums = calendarAllNums; + this.teamNums = teamNums; + } + +} diff --git a/web-api/src/main/java/com/jeesite/modules/app/service/MsgService.java b/web-api/src/main/java/com/jeesite/modules/app/service/MsgService.java index 4a5cb7df..1a9d4e6d 100644 --- a/web-api/src/main/java/com/jeesite/modules/app/service/MsgService.java +++ b/web-api/src/main/java/com/jeesite/modules/app/service/MsgService.java @@ -19,33 +19,4 @@ public class MsgService { private BizListItemService bizListItemService; private static final String HTTP_URL = Global.getConfig("biz.http.url", ""); - - - /** - * 日程待办 - */ - public void addSchedule(BizCalendarSchedule bizCalendarSchedule) { - User user = UserUtils.getUser(); - User fUser = UserUtils.getByLoginCode(bizCalendarSchedule.getParticipantUser()); - String title = MyUtils.concatParams("您有一条:[", bizCalendarSchedule.getTitle(), "]日程消息,请及时处理."); - if (bizCalendarSchedule.getIsNewRecord()) { - BizListItem listItem = new BizListItem(title, bizCalendarSchedule.getEndTime(), bizCalendarSchedule.getContent(), fUser.getLoginCode(), fUser.getUserName(), user.getLoginCode()); - listItem.setAvatar(HTTP_URL + user.getAvatar()); - listItem.setBizCode(bizCalendarSchedule.getScheduleNo()); - bizListItemService.save(listItem); - } else { - BizListItem item = new BizListItem(); - item.setBizCode(bizCalendarSchedule.getScheduleNo()); - List listItem = bizListItemService.findList(item); - if (listItem.size() > 0) { - BizListItem bizListItem = listItem.get(0); - bizListItem.setTitle(title); - bizListItem.setDatetime(bizCalendarSchedule.getEndTime()); - bizListItem.setDescription(bizCalendarSchedule.getContent()); - bizListItem.setLoginUser(fUser.getLoginCode()); - bizListItem.setUserName(fUser.getUserName()); - bizListItemService.save(bizListItem); - } - } - } } diff --git a/web-api/src/main/java/com/jeesite/modules/biz/web/BizCalendarScheduleController.java b/web-api/src/main/java/com/jeesite/modules/biz/web/BizCalendarScheduleController.java index 3f73cda0..536c36dd 100644 --- a/web-api/src/main/java/com/jeesite/modules/biz/web/BizCalendarScheduleController.java +++ b/web-api/src/main/java/com/jeesite/modules/biz/web/BizCalendarScheduleController.java @@ -112,7 +112,6 @@ public class BizCalendarScheduleController extends BaseController { if (!bizCalendarSchedule.getIsNewRecord()) { getScheduleFlow(bizCalendarSchedule, user); } - msgService.addSchedule(bizCalendarSchedule); bizCalendarSchedule.setCreatorUser(user.getLoginCode()); bizCalendarSchedule.setParticipantName(fUser.getUserName()); bizCalendarScheduleService.save(bizCalendarSchedule);