git fix orgWorker

plp
chenshuichuan 2 years ago
parent 4cd7ebcea8
commit 4682e22278

@ -73,7 +73,13 @@ public class OrganizationController {
List<OrganizationDO> list = organizationService.getOrganizationList(listReqVO);
return success(organizationService.buildVOList(list));
}
@GetMapping("/listOrgWorker")
@Operation(summary = "获得派工工位列表")
//@PreAuthorize("@ss.hasPermission('mes:organization:query')")
public CommonResult<List<OrganizationRespVO>> getListOrgWorker(@Valid OrganizationListReqVO listReqVO) {
List<OrganizationDO> list = organizationService.getOrganizationList(listReqVO);
return success(organizationService.buildWorkerVOList(list));
}
@GetMapping("/export-excel")
@Operation(summary = "导出产线工位 Excel")
//@PreAuthorize("@ss.hasPermission('mes:organization:export')")

@ -32,8 +32,10 @@ public class OrganizationRespVO {
private Integer sort;
@Schema(description = "负责人", example = "26059")
@ExcelProperty("负责人")
private Long workerUserId;
@Schema(description = "负责人", example = "26059")
@ExcelProperty("负责人")
private String workerUserName;
@Schema(description = "对应机台id", example = "17654")
private Long machineId;

@ -59,7 +59,8 @@ public interface OrganizationService {
List<OrganizationDO> getOrganizationList(OrganizationListReqVO listReqVO);
List<OrganizationDO> getOrganizationListNoParent(OrganizationListReqVO listReqVO);
List<OrganizationRespVO> buildVOList(List<OrganizationDO> list);
//派工页面渲染今天已经派工的工人
List<OrganizationRespVO> buildWorkerVOList(List<OrganizationDO> list);
List<OrganizationDO> getList(Collection<Long> ids);
default Map<Long, OrganizationDO> getMap(Collection<Long> ids) {
if (CollUtil.isEmpty(ids)) {

@ -1,23 +1,31 @@
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.framework.common.util.collection.MapUtils;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.mes.controller.admin.organization.vo.OrgClassEnum;
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.controller.admin.orgworker.vo.OrgWorkerPageReqVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.machine.MachineComponentDO;
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.organization.OrganizationMapper;
import cn.iocoder.yudao.module.mes.dal.mysql.orgworker.OrgWorkerMapper;
import cn.iocoder.yudao.module.mes.dal.redis.no.MesNoRedisDAO;
import cn.iocoder.yudao.module.mes.service.machine.MachineComponentService;
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.time.LocalDateTime;
import java.util.*;
import java.util.stream.Collectors;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
@ -36,7 +44,12 @@ public class OrganizationServiceImpl implements OrganizationService {
@Resource
private OrganizationMapper organizationMapper;
@Resource
private OrgWorkerMapper workerMapper;
@Resource
private MesNoRedisDAO noRedisDAO;
@Resource
private AdminUserApi adminUserApi;
@Override
public Long createOrganization(OrganizationSaveReqVO createReqVO) {
// 校验父组织id的有效性
@ -162,6 +175,7 @@ public class OrganizationServiceImpl implements OrganizationService {
if (CollUtil.isEmpty(list)) {
return Collections.emptyList();
}
//关联机台
Map<Long, MachineComponentDO> map = machineComponentService.getMap(
convertSet(list, OrganizationDO::getMachineId));
@ -172,6 +186,34 @@ public class OrganizationServiceImpl implements OrganizationService {
});
}
@Override
public List<OrganizationRespVO> buildWorkerVOList(List<OrganizationDO> list) {
if (CollUtil.isEmpty(list)) {
return Collections.emptyList();
}
//查找工位今日的派工情况
List<Long> idList = list.stream().map(OrganizationDO::getId).collect(Collectors.toList());
OrgWorkerPageReqVO reqVO = new OrgWorkerPageReqVO().setOrgIds(idList).setWorkDate(getDateRange(null));
List<OrgWorkerDO> orgWorkerList = workerMapper.selectList(reqVO);
Map<Long,OrgWorkerDO> orgWorkMap = CollectionUtils.convertMap(orgWorkerList, OrgWorkerDO::getOrgId);
//查找对应的工人姓名
List<Long> userIds = orgWorkerList.stream().map(OrgWorkerDO::getWorkerId).collect(Collectors.toList());
Map<Long,AdminUserRespDTO>userMap = adminUserApi.getUserMap(userIds);
return BeanUtils.toBean(list, OrganizationRespVO.class, item -> {
MapUtils.findAndThen(orgWorkMap, item.getId(),
//如果这个org在orgWorkMap里面则根据org的workerId去userMap找到对应的人名
org -> item.setWorkerUserName(userMap.get(org.getWorkerId()).getNickname()));
});
}
public static LocalDateTime[] getDateRange(LocalDateTime base){
if(base==null)base = LocalDateTime.now();
LocalDateTime start = LocalDateTime.of(base.getYear(),base.getMonth(),base.getDayOfMonth(),0,0,0);
LocalDateTime end = LocalDateTime.of(base.getYear(),base.getMonth(),base.getDayOfMonth(),23,59,59);
return new LocalDateTime[]{start,end};
}
@Override
public List<OrganizationDO> getList(Collection<Long> ids) {
if (CollUtil.isEmpty(ids)) {
return Collections.emptyList();

Loading…
Cancel
Save