Explorar o código

每日看板新增部门筛选

fgd hai 1 ano
pai
achega
8d815ff45d

+ 22 - 5
sd-business/src/main/java/com/sd/business/service/board/impl/DailyBoardServiceImpl.java

@@ -116,9 +116,13 @@ public class DailyBoardServiceImpl implements DailyBoardService {
     public List<OrderBomDifferenceVo> getOrderBomDifferenceList(DailyBoardSelectDto dto) {
         Date beginDate = DateUtil.beginOfDay(dto.getBeginDate());
         Date endDate = DateUtil.endOfDay(dto.getEndDate());
+        // 查询佰卓和实业的事业部id
+        List<Department> departmentList = departmentService.list(q -> q.like(Department::getName, "实业").or().eq(Department::getName, "佰卓").select(BaseIdPo::getId));
+        List<Long> departmentIds = departmentList.stream().map(BaseIdPo::getId).collect(Collectors.toList());
         // 查询今日订单
         List<OrderInfo> orderInfoList = orderService.list(q -> q.eq(OrderInfo::getSource, 2)
-                .between(OrderInfo::getWlnCreateTime, beginDate, endDate));
+                .between(OrderInfo::getWlnCreateTime, beginDate, endDate)
+                .in(OrderInfo::getDepartmentId, departmentIds));
         if (ObjectUtil.isEmpty(orderInfoList)) {
             return Collections.emptyList();
         }
@@ -197,7 +201,12 @@ public class DailyBoardServiceImpl implements DailyBoardService {
         vo.setSySumOrderCount(0);
         Date beginDate = DateUtil.beginOfDay(dto.getBeginDate());
         Date endDate = DateUtil.endOfDay(dto.getEndDate());
-        Department department = departmentService.getOne(q -> q.eq(Department::getName, "佰卓"));
+        // 查询佰卓和实业的事业部id
+        Department department = departmentService.getOne(q -> q.eq(Department::getName, "佰卓").select(BaseIdPo::getId));
+        List<Department> departmentList = departmentService.list(q -> q.like(Department::getName, "实业").select(BaseIdPo::getId));
+        List<Long> departmentIds = departmentList.stream().map(BaseIdPo::getId).collect(Collectors.toList());
+        departmentIds.add(department.getId());
+
         // 查询今日出库单出库数据
         Map<String, List<OutboundOrder>> outboundOrderMap = outboundOrderService.mapKGroup(OutboundOrder::getOrderWlnCode,
                 q -> q.between(OutboundOrder::getOutboundTime, beginDate, endDate)
@@ -207,7 +216,9 @@ public class DailyBoardServiceImpl implements DailyBoardService {
         }
         Set<String> wlnCodeList = outboundOrderMap.keySet();
         // 出库单相关的订单数据
-        List<OrderInfo> orderList = orderService.list(q -> q.in(OrderInfo::getWlnCode, wlnCodeList));
+        List<OrderInfo> orderList = orderService.list(q -> q
+                .in(OrderInfo::getWlnCode, wlnCodeList)
+                .in(OrderInfo::getDepartmentId, departmentIds));
         if (ObjectUtil.isEmpty(orderList)) {
             return vo;
         }
@@ -316,7 +327,12 @@ public class DailyBoardServiceImpl implements DailyBoardService {
         vo.setSySumOrderCount(0);
         Date beginDate = DateUtil.beginOfDay(dto.getBeginDate());
         Date endDate = DateUtil.endOfDay(dto.getEndDate());
-        Department department = departmentService.getOne(q -> q.eq(Department::getName, "佰卓"));
+        // 查询佰卓和实业的事业部id
+        Department department = departmentService.getOne(q -> q.eq(Department::getName, "佰卓").select(BaseIdPo::getId));
+        List<Department> departmentList = departmentService.list(q -> q.like(Department::getName, "实业").select(BaseIdPo::getId));
+        List<Long> departmentIds = departmentList.stream().map(BaseIdPo::getId).collect(Collectors.toList());
+        departmentIds.add(department.getId());
+
         // 查询今日出库单出库数据
         Map<Long, List<ProductionTask>> taskMap = productionTaskService.mapKGroup(ProductionTask::getOrderId, q -> q.between(ProductionTask::getCompleteTime, beginDate, endDate));
         if (ObjectUtil.isEmpty(taskMap)) {
@@ -325,7 +341,8 @@ public class DailyBoardServiceImpl implements DailyBoardService {
         // 出库单相关的订单数据
         List<OrderInfo> orderList = orderService.list(q -> q
                 .eq(OrderInfo::getSource, 2)
-                .in(OrderInfo::getId, taskMap.keySet()));
+                .in(OrderInfo::getId, taskMap.keySet())
+                .in(OrderInfo::getDepartmentId, departmentIds));
         vo.setSumOrderCount(orderList.size());
         if (ObjectUtil.isEmpty(orderList)) {
             return vo;