diff --git a/src/main/java/com/lz/modules/app/controller/ReportResultController.java b/src/main/java/com/lz/modules/app/controller/ReportResultController.java index abfefda4..a3e4d621 100644 --- a/src/main/java/com/lz/modules/app/controller/ReportResultController.java +++ b/src/main/java/com/lz/modules/app/controller/ReportResultController.java @@ -1,17 +1,29 @@ package com.lz.modules.app.controller; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.lz.common.utils.R; +import com.lz.modules.app.dto.DepartmentsDto; +import com.lz.modules.app.dto.ResultProgressDto; +import com.lz.modules.app.entity.DepartmentsStaffRelateEntity; +import com.lz.modules.app.entity.StaffEntity; import com.lz.modules.app.enums.ResultRecordStatusEnum; import com.lz.modules.app.resp.OwnResultResp; +import com.lz.modules.app.resp.ReportChartResp; import com.lz.modules.app.service.DepartmentsService; import com.lz.modules.app.service.DepartmentsStaffRelateService; +import com.lz.modules.app.service.StaffService; import com.lz.modules.sys.controller.AbstractController; import com.lz.modules.sys.entity.app.ResultRecord; +import com.lz.modules.sys.service.app.ChartService; import com.lz.modules.sys.service.app.ResultRecordService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; import java.util.List; /** @@ -28,6 +40,29 @@ public class ReportResultController extends AbstractController{ private DepartmentsStaffRelateService departmentsStaffRelateService; @Autowired private DepartmentsService departmentsService; + @Autowired + private StaffService staffService; + @Autowired + private ChartService chartService; + + + + @RequestMapping("chart") + public R reportChart(String monthTime){ + ReportChartResp data = new ReportChartResp(); + ResultProgressDto target = chartService.resultProgress(1,monthTime); + ResultProgressDto result = chartService.resultProgress(2,monthTime); + + //人员等级分布 + //部门等级占比 + + + data.setTarget(target); + data.setResult(result); + return R.ok(); + } + + @RequestMapping("/own/result") @@ -44,8 +79,59 @@ public class ReportResultController extends AbstractController{ @RequestMapping("/team/result") public R teamResult(){ - return R.ok(); } + + //是在这个地方查询出所有的部门选择 还是 通过关键字搜索 + @RequestMapping("underDepartment") + public R underDepartment(){ + DepartmentsStaffRelateEntity departmentsStaffRelateEntity = departmentsStaffRelateService.selectByStaffId(null); + if(departmentsStaffRelateEntity == null){ + + } + if(departmentsStaffRelateEntity.getIsLeader().equals(1)){ + //如果是leader 查询负责几个部门 + List departmentsDtos = departmentsService.selectByParentDepartmentId(departmentsStaffRelateEntity.getDepartmentId()); + + } + return R.ok(); + + } + + + public static void main(String[] args) { + List list = getMonthBetween("2018-01","2018-07"); + for(String s : list){ + System.out.println("日期:"+s); + } + } + + + + //获取日期之内的月份 + private static List getMonthBetween(String minDate, String maxDate){ + ArrayList result = new ArrayList(); + try { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");//格式化为年月 + + Calendar min = Calendar.getInstance(); + Calendar max = Calendar.getInstance(); + min.setTime(sdf.parse(minDate)); + min.set(min.get(Calendar.YEAR), min.get(Calendar.MONTH), 1); + + max.setTime(sdf.parse(maxDate)); + max.set(max.get(Calendar.YEAR), max.get(Calendar.MONTH), 2); + + Calendar curr = min; + while (curr.before(max)) { + result.add(sdf.format(curr.getTime())); + curr.add(Calendar.MONTH, 1); + } + } catch (Exception e) { + e.printStackTrace(); + } + + return result; + } } diff --git a/src/main/java/com/lz/modules/app/dao/DepartmentsStaffRelateDao.java b/src/main/java/com/lz/modules/app/dao/DepartmentsStaffRelateDao.java index 8c9d9459..fb42e702 100644 --- a/src/main/java/com/lz/modules/app/dao/DepartmentsStaffRelateDao.java +++ b/src/main/java/com/lz/modules/app/dao/DepartmentsStaffRelateDao.java @@ -56,4 +56,6 @@ public interface DepartmentsStaffRelateDao extends BaseMapper().eq("is_delete", 0)); + + int commit = resultRecordService.count(new QueryWrapper() + .eq("is_delete", 0) + .eq("type", type) + .like("month_time",monthTime) + .ne("status", ResultRecordStatusEnum.CREATE.getStatus())); + int finished = resultRecordService.count(new QueryWrapper() + .eq("is_delete", 0) + .eq("type", type) + .like("month_time",monthTime) + .in("status", ResultRecordStatusEnum.REFUSE.getStatus(),ResultRecordStatusEnum.AGREE.getStatus())); + resultProgressDto.setNoCommit(total-commit); + resultProgressDto.setFinished(finished); + resultProgressDto.setReview(commit-finished); + return resultProgressDto; + } +} diff --git a/src/main/resources/mapper/app/ResultRecordMapper.xml b/src/main/resources/mapper/app/ResultRecordMapper.xml index 9b5499cf..2ed77ccf 100644 --- a/src/main/resources/mapper/app/ResultRecordMapper.xml +++ b/src/main/resources/mapper/app/ResultRecordMapper.xml @@ -249,7 +249,7 @@ diff --git a/src/main/resources/mapper/generator/DepartmentsStaffRelateDao.xml b/src/main/resources/mapper/generator/DepartmentsStaffRelateDao.xml index df3dbf2e..b6b1c66d 100644 --- a/src/main/resources/mapper/generator/DepartmentsStaffRelateDao.xml +++ b/src/main/resources/mapper/generator/DepartmentsStaffRelateDao.xml @@ -77,4 +77,8 @@ + +