diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/organization/vo/OrgStatusEnum.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/organization/vo/OrgStatusEnum.java new file mode 100644 index 0000000000..c169b2e0c0 --- /dev/null +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/organization/vo/OrgStatusEnum.java @@ -0,0 +1,27 @@ +package cn.iocoder.yudao.module.mes.controller.admin.organization.vo; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum OrgStatusEnum { + + + 关闭("close"), + 空闲("free"), + 使用("inuse"); + + private final String value; + + // 一个可选的方法,用于根据整数值获取对应的枚举实例 + public static OrgStatusEnum fromValue(String value) { + for (OrgStatusEnum status : OrgStatusEnum.values()) { + if (status.getValue() .equals(value)) { + return status; + } + } + throw new IllegalArgumentException("Unknown value: " + value); + } + +} \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/organization/vo/OrganizationListReqVO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/organization/vo/OrganizationListReqVO.java index 08eb385638..cfb6e07915 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/organization/vo/OrganizationListReqVO.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/organization/vo/OrganizationListReqVO.java @@ -5,6 +5,7 @@ import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; +import java.util.List; import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; @@ -45,6 +46,8 @@ public class OrganizationListReqVO { @Schema(description = "组织类型", example = "2") private String orgType; + @Schema(description = "组织类型", example = "2") + private List orgTypes; @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/orgworker/OrgWorkerController.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/orgworker/OrgWorkerController.java index 70e7b9689c..75aa0e10fe 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/orgworker/OrgWorkerController.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/orgworker/OrgWorkerController.java @@ -1,33 +1,31 @@ package cn.iocoder.yudao.module.mes.controller.admin.orgworker; -import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; - -import javax.validation.constraints.*; -import javax.validation.*; -import javax.servlet.http.*; -import java.util.*; -import java.io.IOException; - +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; - import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; - -import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; -import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; - -import cn.iocoder.yudao.module.mes.controller.admin.orgworker.vo.*; +import cn.iocoder.yudao.module.mes.controller.admin.orgworker.vo.OrgWorkerPageReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.orgworker.vo.OrgWorkerRespVO; +import cn.iocoder.yudao.module.mes.controller.admin.orgworker.vo.OrgWorkerSaveReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.orgworker.OrgWorkerDO; import cn.iocoder.yudao.module.mes.service.orgworker.OrgWorkerService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.List; + +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; @Tag(name = "管理后台 - 工位安排") @RestController @@ -73,10 +71,9 @@ public class OrgWorkerController { @GetMapping("/page") @Operation(summary = "获得工位安排分页") - @PreAuthorize("@ss.hasPermission('mes:org-worker:query')") public CommonResult> getOrgWorkerPage(@Valid OrgWorkerPageReqVO pageReqVO) { - PageResult pageResult = orgWorkerService.getOrgWorkerPage(pageReqVO); - return success(BeanUtils.toBean(pageResult, OrgWorkerRespVO.class)); + PageResult pageResult = orgWorkerService.getOrgWorkerPage(pageReqVO); + return success(pageResult); } @GetMapping("/export-excel") @@ -86,10 +83,10 @@ public class OrgWorkerController { public void exportOrgWorkerExcel(@Valid OrgWorkerPageReqVO pageReqVO, HttpServletResponse response) throws IOException { pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - List list = orgWorkerService.getOrgWorkerPage(pageReqVO).getList(); + List list = orgWorkerService.getOrgWorkerPage(pageReqVO).getList(); // 导出 Excel ExcelUtils.write(response, "工位安排.xls", "数据", OrgWorkerRespVO.class, - BeanUtils.toBean(list, OrgWorkerRespVO.class)); + list); } } \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/orgworker/vo/OrgWorkerPageReqVO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/orgworker/vo/OrgWorkerPageReqVO.java index 16d5399d45..1802c9b031 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/orgworker/vo/OrgWorkerPageReqVO.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/orgworker/vo/OrgWorkerPageReqVO.java @@ -1,11 +1,14 @@ package cn.iocoder.yudao.module.mes.controller.admin.orgworker.vo; -import lombok.*; -import java.util.*; -import io.swagger.v3.oas.annotations.media.Schema; import cn.iocoder.yudao.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; import org.springframework.format.annotation.DateTimeFormat; + import java.time.LocalDateTime; +import java.util.List; import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; @@ -17,11 +20,16 @@ public class OrgWorkerPageReqVO extends PageParam { @Schema(description = "工位id", example = "4727") private Long orgId; + @Schema(description = "工位id", example = "4727") + private List orgIds; @Schema(description = "工作日期") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] workDate; + @Schema(description = "工位类型", example = "2") + private String orgType; + @Schema(description = "班别", example = "2") private Integer groupType; diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/orgworker/vo/OrgWorkerRespVO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/orgworker/vo/OrgWorkerRespVO.java index e10edc65e9..bfdbb318cc 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/orgworker/vo/OrgWorkerRespVO.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/orgworker/vo/OrgWorkerRespVO.java @@ -1,14 +1,13 @@ package cn.iocoder.yudao.module.mes.controller.admin.orgworker.vo; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import java.util.*; -import org.springframework.format.annotation.DateTimeFormat; -import java.time.LocalDateTime; -import com.alibaba.excel.annotation.*; import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; @Schema(description = "管理后台 - 工位安排 Response VO") @Data @@ -20,8 +19,10 @@ public class OrgWorkerRespVO { private Long id; @Schema(description = "工位id", requiredMode = Schema.RequiredMode.REQUIRED, example = "4727") - @ExcelProperty("工位id") private Long orgId; + @Schema(description = "工位", requiredMode = Schema.RequiredMode.REQUIRED, example = "4727") + @ExcelProperty("工位") + private String orgName; @Schema(description = "工作日期", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("工作日期") @@ -33,8 +34,10 @@ public class OrgWorkerRespVO { private Integer groupType; @Schema(description = "工人id", requiredMode = Schema.RequiredMode.REQUIRED, example = "2095") - @ExcelProperty("工人id") private Long workerId; + @Schema(description = "工人", requiredMode = Schema.RequiredMode.REQUIRED, example = "2095") + @ExcelProperty("工人") + private String workerName; @Schema(description = "报工单id", example = "5496") @ExcelProperty("报工单id") diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/organization/OrganizationMapper.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/organization/OrganizationMapper.java index ec2f61933b..0197589fdb 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/organization/OrganizationMapper.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/organization/OrganizationMapper.java @@ -37,7 +37,22 @@ public interface OrganizationMapper extends BaseMapperX { ) .orderByAsc(OrganizationDO::getSort)); } - + default List selectList2(OrganizationListReqVO reqVO) { + return selectList(new LambdaQueryWrapperX() + .likeIfPresent(OrganizationDO::getName, reqVO.getName()) + .eqIfPresent(OrganizationDO::getParentId, reqVO.getParentId()) + .eqIfPresent(OrganizationDO::getSort, reqVO.getSort()) + .eqIfPresent(OrganizationDO::getWorkerUserId, reqVO.getWorkerUserId()) + .eqIfPresent(OrganizationDO::getMachineId, reqVO.getMachineId()) + .eqIfPresent(OrganizationDO::getPhone, reqVO.getPhone()) + .eqIfPresent(OrganizationDO::getEmail, reqVO.getEmail()) + .eqIfPresent(OrganizationDO::getOrgType,reqVO.getOrgType()) + .eqIfPresent(OrganizationDO::getIsEnable, reqVO.getIsEnable()) + .eqIfPresent(OrganizationDO::getStatus, reqVO.getStatus()) + .eqIfPresent(OrganizationDO::getOrgClass, reqVO.getOrgClass()) + .betweenIfPresent(OrganizationDO::getCreateTime, reqVO.getCreateTime()) + .orderByAsc(OrganizationDO::getSort)); + } default OrganizationDO selectByParentIdAndName(Long parentId, String name) { return selectOne(OrganizationDO::getParentId, parentId, OrganizationDO::getName, name); } diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/orgworker/OrgWorkerMapper.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/orgworker/OrgWorkerMapper.java index 3bf4dad047..7aaf427b67 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/orgworker/OrgWorkerMapper.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/orgworker/OrgWorkerMapper.java @@ -1,13 +1,11 @@ package cn.iocoder.yudao.module.mes.dal.mysql.orgworker; -import java.util.*; - import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.mes.controller.admin.orgworker.vo.OrgWorkerPageReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.orgworker.OrgWorkerDO; import org.apache.ibatis.annotations.Mapper; -import cn.iocoder.yudao.module.mes.controller.admin.orgworker.vo.*; /** * 工位安排 Mapper @@ -25,6 +23,7 @@ public interface OrgWorkerMapper extends BaseMapperX { .eqIfPresent(OrgWorkerDO::getWorkerId, reqVO.getWorkerId()) .eqIfPresent(OrgWorkerDO::getReportId, reqVO.getReportId()) .betweenIfPresent(OrgWorkerDO::getCreateTime, reqVO.getCreateTime()) + .in(reqVO.getOrgIds()!=null&&reqVO.getOrgIds().size()>0,OrgWorkerDO::getOrgId, reqVO.getOrgIds()) .orderByDesc(OrgWorkerDO::getId)); } diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/organization/OrganizationService.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/organization/OrganizationService.java index b20e6d579a..aceedd2c75 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/organization/OrganizationService.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/organization/OrganizationService.java @@ -1,12 +1,17 @@ package cn.iocoder.yudao.module.mes.service.organization; +import cn.hutool.core.collection.CollUtil; +import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; import cn.iocoder.yudao.module.mes.controller.admin.organization.vo.OrganizationListReqVO; import cn.iocoder.yudao.module.mes.controller.admin.organization.vo.OrganizationRespVO; import cn.iocoder.yudao.module.mes.controller.admin.organization.vo.OrganizationSaveReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.organization.OrganizationDO; import javax.validation.Valid; +import java.util.Collection; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * 产线工位 Service 接口 @@ -47,10 +52,19 @@ public interface OrganizationService { /** * 获得产线工位列表 - * + *带父级组织 * @param listReqVO 查询条件 * @return 产线工位列表 */ List getOrganizationList(OrganizationListReqVO listReqVO); + List getOrganizationListNoParent(OrganizationListReqVO listReqVO); List buildVOList(List list); + + List getList(Collection ids); + default Map getMap(Collection ids) { + if (CollUtil.isEmpty(ids)) { + return new HashMap<>(); + } + return CollectionUtils.convertMap(getList(ids), OrganizationDO::getId); + } } \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/organization/OrganizationServiceImpl.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/organization/OrganizationServiceImpl.java index 580c96ad17..63167e550b 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/organization/OrganizationServiceImpl.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/organization/OrganizationServiceImpl.java @@ -17,10 +17,7 @@ import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; -import java.util.Collections; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; @@ -153,6 +150,10 @@ public class OrganizationServiceImpl implements OrganizationService { public List getOrganizationList(OrganizationListReqVO listReqVO) { return organizationMapper.selectList(listReqVO); } + @Override + public List getOrganizationListNoParent(OrganizationListReqVO listReqVO) { + return organizationMapper.selectList2(listReqVO); + } @Resource public MachineComponentService machineComponentService; @@ -170,4 +171,11 @@ public class OrganizationServiceImpl implements OrganizationService { }); } + @Override + public List getList(Collection ids) { + if (CollUtil.isEmpty(ids)) { + return Collections.emptyList(); + } + return organizationMapper.selectBatchIds(ids); + } } \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/orgworker/OrgWorkerService.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/orgworker/OrgWorkerService.java index 3f6c27b965..07277e3b1c 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/orgworker/OrgWorkerService.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/orgworker/OrgWorkerService.java @@ -1,11 +1,13 @@ package cn.iocoder.yudao.module.mes.service.orgworker; -import java.util.*; -import javax.validation.*; -import cn.iocoder.yudao.module.mes.controller.admin.orgworker.vo.*; -import cn.iocoder.yudao.module.mes.dal.dataobject.orgworker.OrgWorkerDO; import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.module.mes.controller.admin.orgworker.vo.OrgWorkerPageReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.orgworker.vo.OrgWorkerRespVO; +import cn.iocoder.yudao.module.mes.controller.admin.orgworker.vo.OrgWorkerSaveReqVO; +import cn.iocoder.yudao.module.mes.dal.dataobject.orgworker.OrgWorkerDO; + +import javax.validation.Valid; +import java.util.List; /** * 工位安排 Service 接口 @@ -50,6 +52,6 @@ public interface OrgWorkerService { * @param pageReqVO 分页查询 * @return 工位安排分页 */ - PageResult getOrgWorkerPage(OrgWorkerPageReqVO pageReqVO); - + PageResult getOrgWorkerPage(OrgWorkerPageReqVO pageReqVO); + List buildVOList(List list); } \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/orgworker/OrgWorkerServiceImpl.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/orgworker/OrgWorkerServiceImpl.java index fb1dd241fe..cb49c4ded3 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/orgworker/OrgWorkerServiceImpl.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/orgworker/OrgWorkerServiceImpl.java @@ -1,21 +1,32 @@ package cn.iocoder.yudao.module.mes.service.orgworker; -import org.springframework.stereotype.Service; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; - -import java.util.*; -import cn.iocoder.yudao.module.mes.controller.admin.orgworker.vo.*; -import cn.iocoder.yudao.module.mes.dal.dataobject.orgworker.OrgWorkerDO; +import cn.hutool.core.collection.CollUtil; import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.util.collection.MapUtils; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; - +import cn.iocoder.yudao.module.mes.controller.admin.organization.vo.OrganizationListReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.orgworker.vo.OrgWorkerPageReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.orgworker.vo.OrgWorkerRespVO; +import cn.iocoder.yudao.module.mes.controller.admin.orgworker.vo.OrgWorkerSaveReqVO; +import cn.iocoder.yudao.module.mes.dal.dataobject.organization.OrganizationDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.orgworker.OrgWorkerDO; import cn.iocoder.yudao.module.mes.dal.mysql.orgworker.OrgWorkerMapper; +import cn.iocoder.yudao.module.mes.service.organization.OrganizationService; +import cn.iocoder.yudao.module.system.api.user.AdminUserApi; +import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; +import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.ORG_WORKER_NOT_EXISTS; /** * 工位安排 Service 实现类 @@ -67,8 +78,39 @@ public class OrgWorkerServiceImpl implements OrgWorkerService { } @Override - public PageResult getOrgWorkerPage(OrgWorkerPageReqVO pageReqVO) { - return orgWorkerMapper.selectPage(pageReqVO); + public PageResult getOrgWorkerPage(OrgWorkerPageReqVO pageReqVO) { + //查询工位类型时 + if(pageReqVO.getOrgId()==null && StringUtils.isNotEmpty(pageReqVO.getOrgType())){ + OrganizationListReqVO reqVO = new OrganizationListReqVO(); + reqVO.setOrgType(pageReqVO.getOrgType()); + List list = organizationService.getOrganizationListNoParent(reqVO); + List ids = list.stream() + .map(OrganizationDO::getId) + .collect(Collectors.toList()); + pageReqVO.setOrgIds(ids); + } + PageResult pageResult = orgWorkerMapper.selectPage(pageReqVO); + return new PageResult<>(buildVOList(pageResult.getList()),pageResult.getTotal()); + } + @Resource + private OrganizationService organizationService; + @Resource + private AdminUserApi adminUserApi; + @Override + public List buildVOList(List list) { + if (CollUtil.isEmpty(list)) { + return Collections.emptyList(); + } + Map map = organizationService.getMap( + convertSet(list, OrgWorkerDO::getOrgId)); + // 1.4 管理员信息 + Map userMap = adminUserApi.getUserMap( + convertSet(list, OrgWorkerDO::getWorkerId)); + return BeanUtils.toBean(list, OrgWorkerRespVO.class, item -> { + MapUtils.findAndThen(map, item.getOrgId(), + org -> item.setOrgName(org.getName())); + MapUtils.findAndThen(userMap, item.getWorkerId(), + user -> item.setWorkerName(user.getNickname())); + }); } - } \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/test/java/cn/iocoder/yudao/module/mes/service/orgworker/OrgWorkerServiceImplTest.java b/yudao-module-mes/yudao-module-mes-biz/src/test/java/cn/iocoder/yudao/module/mes/service/orgworker/OrgWorkerServiceImplTest.java index 86ee66a95e..6a956aadf7 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/test/java/cn/iocoder/yudao/module/mes/service/orgworker/OrgWorkerServiceImplTest.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/test/java/cn/iocoder/yudao/module/mes/service/orgworker/OrgWorkerServiceImplTest.java @@ -1,32 +1,26 @@ package cn.iocoder.yudao.module.mes.service.orgworker; -import org.junit.jupiter.api.Disabled; -import org.junit.jupiter.api.Test; -import org.springframework.boot.test.mock.mockito.MockBean; - -import javax.annotation.Resource; - +import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; - -import cn.iocoder.yudao.module.mes.controller.admin.orgworker.vo.*; +import cn.iocoder.yudao.module.mes.controller.admin.orgworker.vo.OrgWorkerPageReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.orgworker.vo.OrgWorkerRespVO; +import cn.iocoder.yudao.module.mes.controller.admin.orgworker.vo.OrgWorkerSaveReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.orgworker.OrgWorkerDO; import cn.iocoder.yudao.module.mes.dal.mysql.orgworker.OrgWorkerMapper; -import cn.iocoder.yudao.framework.common.pojo.PageResult; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.springframework.context.annotation.Import; import javax.annotation.Resource; -import org.springframework.context.annotation.Import; -import java.util.*; -import java.time.LocalDateTime; - -import static cn.hutool.core.util.RandomUtil.*; -import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; -import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.*; -import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; -import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.*; -import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.*; -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.*; + +import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.buildBetweenTime; +import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId; +import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; +import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException; +import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomLongId; +import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo; +import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.ORG_WORKER_NOT_EXISTS; import static org.junit.jupiter.api.Assertions.*; -import static org.mockito.Mockito.*; /** * {@link OrgWorkerServiceImpl} 的单元测试类 @@ -140,7 +134,7 @@ public class OrgWorkerServiceImplTest extends BaseDbUnitTest { reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); // 调用 - PageResult pageResult = orgWorkerService.getOrgWorkerPage(reqVO); + PageResult pageResult = orgWorkerService.getOrgWorkerPage(reqVO); // 断言 assertEquals(1, pageResult.getTotal()); assertEquals(1, pageResult.getList().size());