diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/dto/WorkOrderDto.java b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/dto/WorkOrderDto.java index 3b9ef887..0b9b5d92 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/dto/WorkOrderDto.java +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/dto/WorkOrderDto.java @@ -37,7 +37,7 @@ public class WorkOrderDto { private String makeQty; private String workCenterName; - private String workCenterId; + private Long workCenterId; private Integer totalCount; private Integer schedulingCount; private Integer unschedulingCount; @@ -54,4 +54,7 @@ public class WorkOrderDto { private List workOrderList; + private List workCenterList; + + } diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/WorkOrderMapper.java b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/WorkOrderMapper.java index 3cce158c..a6c4ca45 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/WorkOrderMapper.java +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/WorkOrderMapper.java @@ -91,4 +91,7 @@ public interface WorkOrderMapper extends BaseMapper { List selectProcessExecuteDetailPage(IPage page, WorkPlanVO workPlan); + List selectUserCenter(@Param("userId") Long userId); + + } diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/WorkOrderMapper.xml b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/WorkOrderMapper.xml index db8b2540..cb4e168d 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/WorkOrderMapper.xml +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/WorkOrderMapper.xml @@ -108,7 +108,8 @@ b.equip_code AS "equipCode", a.status AS "orderStatus", b.status AS "planStatus", - b.team_members as "teamMembers" + b.team_members as "teamMembers", + b.work_center_id as "workCenterId" FROM MES_WORK_ORDER a LEFT JOIN MES_WORK_PLAN b ON a.ID = b.WO_ID @@ -262,6 +263,12 @@ #{planStatus} + + and b.work_center_id IN + + #{workCenterId} + + GROUP BY a.WO_CODE, @@ -624,5 +631,15 @@ + + diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java index c311895e..b6d48dc0 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java @@ -41,6 +41,8 @@ import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.commons.lang3.time.DateUtils; import org.springblade.core.mp.base.BaseEntity; import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.core.secure.BladeUser; +import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.jackson.JsonUtil; import org.springblade.core.tool.utils.DateUtil; import org.springblade.desk.dashboard.constant.DsPartConstant; @@ -243,6 +245,8 @@ public class WorkOrderServiceImpl extends BaseServiceImpl schedulingBoard(WorkOrderDto workOrder) { + + List list = baseMapper.selectWorkOrderList(workOrder); String yesterday = DateFormatUtils.format(DateUtils.addDays(new Date(), -1), "yyyy-MM-dd"); String twodaysAgo = DateFormatUtils.format(DateUtils.addDays(new Date(), -2), "yyyy-MM-dd"); @@ -298,6 +302,23 @@ public class WorkOrderServiceImpl extends BaseServiceImpl workCenterList = baseMapper.selectUserCenter(userId); + woCodeGroup = woCodeGroup.entrySet().stream() + .filter(entry -> { + return entry.getValue().stream() + .anyMatch(dto -> workCenterList.contains(dto.getWorkCenterId())); + }) + .collect(Collectors.toMap( + Map.Entry::getKey, + Map.Entry::getValue, + (oldValue, newValue) -> oldValue, + LinkedHashMap::new + )); + } List resultList = new ArrayList<>(); for (Map.Entry> entry : woCodeGroup.entrySet()) { //根据工序名称过滤订单 @@ -376,6 +397,12 @@ public class WorkOrderServiceImpl extends BaseServiceImpl exportSchedulingBoard(WorkOrderDto workOrder) { + BladeUser user = AuthUtil.getUser(); + if(!user.getRoleName().equals("administrator")){ + Long userId = AuthUtil.getUserId(); + List workCenterList = baseMapper.selectUserCenter(userId); + workOrder.setWorkCenterList(workCenterList); + } return baseMapper.exportSchedulingBoard(workOrder); }