| | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.yuanchu.mom.common.GetLook; |
| | |
| | | private GetLook getLook; |
| | | private ScheduleMapper scheduleMapper; |
| | | private UserMapper userMapper; |
| | | private RoleMapper roleMapper; |
| | | private InsSampleUserMapper insSampleUserMapper; |
| | | |
| | | //每日业务统计 |
| | | @Override |
| | |
| | | //首页-->日历任务图 |
| | | @Override |
| | | public Map<String, Object> calendarWorkByWeek() { |
| | | Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); |
| | | String name = roleMapper.selectById(userMapper.selectById(userId).getRoleId()).getName(); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | List<Integer> insState = new ArrayList<>(); |
| | | insState.add(0); |
| | |
| | | .eq(InsOrder::getState, 1) |
| | | .in(InsOrder::getInsState, insState) |
| | | .apply("DATE(create_time) = CURDATE() - INTERVAL " + j + " DAY")); |
| | | //如果当前登录人是测试工程师或者是检测组长,需要过滤出检验人是他们的订单或者是还没检验的订单 |
| | | if (name.equals("测试工程师") || name.equals("检测组长")){ |
| | | insOrders = insOrders.stream().filter(insOrder -> { |
| | | List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, insOrder.getId())); |
| | | List<Integer> sampleId = insSamples.stream().map(InsSample::getId).collect(Collectors.toList()); |
| | | List<InsSampleUser> insSampleUsers = insSampleUserMapper.selectList(Wrappers.<InsSampleUser>lambdaQuery() |
| | | .eq(InsSampleUser::getState, 0) //检验人 |
| | | .in(InsSampleUser::getInsSampleId, sampleId)); |
| | | return insSampleUsers.size() == 0 || insSampleUsers.stream().map(InsSampleUser::getUserId).collect(Collectors.toList()).contains(userId); |
| | | }).collect(Collectors.toList()); |
| | | } |
| | | //如果当前登录人是送样员,需过滤出单子的送样员是当前人的订单 |
| | | else if (name.equals("送样员")){ |
| | | insOrders = insOrders.stream().filter(insOrder -> |
| | | ObjectUtils.isNotEmpty(insOrder.getIssueUser()) && insOrder.getIssueUser().equals(userId) |
| | | ).collect(Collectors.toList()); |
| | | } |
| | | List<Map<String, Object>> works = insOrders.stream().map(insOrder -> { |
| | | List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, insOrder.getId())); |
| | | HashMap<String, Object> hashMap = new HashMap<>(); |