|
|
|
|
@ -9,8 +9,16 @@ import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
|
|
|
|
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.controller.admin.producereport.vo.ProduceReportDetailSaveReqVO;
|
|
|
|
|
import cn.iocoder.yudao.module.mes.controller.admin.workteam.vo.WorkTeamUserRoleEnum;
|
|
|
|
|
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.dataobject.workteam.WorkTeamDetailDO;
|
|
|
|
|
import cn.iocoder.yudao.module.mes.service.organization.OrganizationService;
|
|
|
|
|
import cn.iocoder.yudao.module.mes.service.orgworker.OrgWorkerService;
|
|
|
|
|
import cn.iocoder.yudao.module.mes.service.workteam.WorkTeamService;
|
|
|
|
|
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
|
|
|
|
|
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
|
|
|
|
|
import io.swagger.v3.oas.annotations.Operation;
|
|
|
|
|
import io.swagger.v3.oas.annotations.Parameter;
|
|
|
|
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
|
|
|
|
@ -22,11 +30,17 @@ import javax.annotation.Resource;
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
import javax.validation.Valid;
|
|
|
|
|
import java.io.IOException;
|
|
|
|
|
import java.time.LocalDateTime;
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
import java.util.Set;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
|
|
|
|
|
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
|
|
|
|
|
|
|
|
|
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
|
|
|
|
|
import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
|
|
|
|
|
@Tag(name = "管理后台 - 工位安排")
|
|
|
|
|
@RestController
|
|
|
|
|
@RequestMapping("/mes/org-worker")
|
|
|
|
|
@ -74,8 +88,10 @@ public class OrgWorkerController {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@GetMapping("/page")
|
|
|
|
|
@Operation(summary = "获得工位安排分页")
|
|
|
|
|
@Operation(summary = "获得个人工位安排分页")
|
|
|
|
|
public CommonResult<PageResult<OrgWorkerRespVO>> getOrgWorkerPage(@Valid OrgWorkerPageReqVO pageReqVO) {
|
|
|
|
|
// Long userId = getLoginUserId();
|
|
|
|
|
// pageReqVO.setWorkerId(userId);
|
|
|
|
|
PageResult<OrgWorkerRespVO> pageResult = orgWorkerService.getOrgWorkerPage(pageReqVO);
|
|
|
|
|
return success(pageResult);
|
|
|
|
|
}
|
|
|
|
|
@ -92,5 +108,114 @@ public class OrgWorkerController {
|
|
|
|
|
ExcelUtils.write(response, "工位安排.xls", "数据", OrgWorkerRespVO.class,
|
|
|
|
|
list);
|
|
|
|
|
}
|
|
|
|
|
@Resource
|
|
|
|
|
private OrganizationService organizationService;
|
|
|
|
|
@Resource
|
|
|
|
|
private AdminUserApi adminUserApi;
|
|
|
|
|
@Resource
|
|
|
|
|
private WorkTeamService workTeamService;
|
|
|
|
|
|
|
|
|
|
/**个人报工,获取某日期当前用户绑定的工位情况**/
|
|
|
|
|
@GetMapping("/getPersonal")
|
|
|
|
|
@Operation(summary = "获得工位安排")
|
|
|
|
|
public CommonResult<List<OrganizationDO>> getPersonal(@Valid ProduceReportDetailSaveReqVO reqVO) {
|
|
|
|
|
OrgWorkerPageReqVO pageReqVO = new OrgWorkerPageReqVO().setOrgType(reqVO.getOrgType()).setGroupType(reqVO.getGroupType());
|
|
|
|
|
LocalDateTime[] localDateTimes = {reqVO.getReportDate(),reqVO.getReportDate()};
|
|
|
|
|
pageReqVO.setWorkDate(localDateTimes);
|
|
|
|
|
|
|
|
|
|
Long userId = getLoginUserId();
|
|
|
|
|
pageReqVO.setWorkerId(userId);
|
|
|
|
|
List<OrgWorkerDO> orgWorkers = orgWorkerService.getOrgWorkerByReportResVo(pageReqVO);
|
|
|
|
|
List<Long> ids = orgWorkers.stream().map(OrgWorkerDO::getOrgId).collect(Collectors.toList());
|
|
|
|
|
List<OrganizationDO> list = organizationService.getList(ids);
|
|
|
|
|
return success(list);
|
|
|
|
|
}
|
|
|
|
|
/**代替报工,获取某日期某用户绑定的工位情况**/
|
|
|
|
|
@GetMapping("/getOtherPersonal")
|
|
|
|
|
@Operation(summary = "获得工位安排")
|
|
|
|
|
public CommonResult<List<OrganizationDO>> getOtherPersonal(@Valid ProduceReportDetailSaveReqVO reqVO) {
|
|
|
|
|
OrgWorkerPageReqVO pageReqVO = new OrgWorkerPageReqVO().setOrgType(reqVO.getOrgType()).setGroupType(reqVO.getGroupType());
|
|
|
|
|
LocalDateTime[] localDateTimes = {reqVO.getReportDate(),reqVO.getReportDate()};
|
|
|
|
|
pageReqVO.setWorkDate(localDateTimes);
|
|
|
|
|
|
|
|
|
|
List<OrgWorkerDO> orgWorkers = orgWorkerService.getOrgWorkerByReportResVo(pageReqVO);
|
|
|
|
|
List<Long> ids = orgWorkers.stream().map(OrgWorkerDO::getOrgId).collect(Collectors.toList());
|
|
|
|
|
List<OrganizationDO> list = organizationService.getList(ids);
|
|
|
|
|
return success(list);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**个人报工,用户列表**/
|
|
|
|
|
@GetMapping("/getPersonalUser")
|
|
|
|
|
@Operation(summary = "获得用户列表")
|
|
|
|
|
public CommonResult<List<AdminUserRespDTO>> getPersonalUser() {
|
|
|
|
|
|
|
|
|
|
Long userId = getLoginUserId();
|
|
|
|
|
List<Long> ids = new ArrayList<>();
|
|
|
|
|
ids.add(userId);
|
|
|
|
|
Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(ids);
|
|
|
|
|
List<AdminUserRespDTO> userRespDTOS = new ArrayList<>();
|
|
|
|
|
if(userMap.containsKey(userId))
|
|
|
|
|
userRespDTOS.add(userMap.get(userId));
|
|
|
|
|
return success(userRespDTOS);
|
|
|
|
|
}
|
|
|
|
|
/**代替报工,用户列表**/
|
|
|
|
|
@GetMapping("/getOtherPersonalUser")
|
|
|
|
|
@Operation(summary = "获得用户列表")
|
|
|
|
|
public CommonResult<List<AdminUserRespDTO>> getOtherPersonalUser() {
|
|
|
|
|
Long userId = getLoginUserId();
|
|
|
|
|
List<WorkTeamDetailDO> detailDOList = workTeamService.getUserWorkTeamDetail(userId, WorkTeamUserRoleEnum.组长.getValue());
|
|
|
|
|
//组长的话把这些组的工人列表都查上,其他人所有人都查
|
|
|
|
|
List<Long> workTeamIds =null;
|
|
|
|
|
if(detailDOList!=null && detailDOList.size()>0){
|
|
|
|
|
workTeamIds = detailDOList.stream().map(WorkTeamDetailDO::getWorkTeamId).collect(Collectors.toList());
|
|
|
|
|
}
|
|
|
|
|
List<WorkTeamDetailDO> workTeamDetailDOS = workTeamService.getDetailByWorkTeamIds(workTeamIds);
|
|
|
|
|
Set<Long> idsSet = convertSet(workTeamDetailDOS, WorkTeamDetailDO::getUserId);
|
|
|
|
|
|
|
|
|
|
List<Long> ids = new ArrayList<>();
|
|
|
|
|
if(idsSet!=null && idsSet.size()>0){
|
|
|
|
|
ids = new ArrayList<>(idsSet);
|
|
|
|
|
}
|
|
|
|
|
Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(ids);
|
|
|
|
|
return success(new ArrayList<>(userMap.values()));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**个人报工,获取某日期当前用户绑定的工位情况**/
|
|
|
|
|
@GetMapping("/getOrgWorkerRespVO")
|
|
|
|
|
@Operation(summary = "获得工位安排")
|
|
|
|
|
public CommonResult<List<OrgWorkerRespVO>> getOrgWorkerRespVO(@Valid ProduceReportDetailSaveReqVO reqVO) {
|
|
|
|
|
OrgWorkerPageReqVO pageReqVO = new OrgWorkerPageReqVO().setOrgType(reqVO.getOrgType()).setGroupType(reqVO.getGroupType());
|
|
|
|
|
LocalDateTime[] localDateTimes = {reqVO.getReportDate(),reqVO.getReportDate()};
|
|
|
|
|
pageReqVO.setWorkDate(localDateTimes);
|
|
|
|
|
|
|
|
|
|
Long userId = getLoginUserId();
|
|
|
|
|
pageReqVO.setWorkerId(userId);
|
|
|
|
|
List<OrgWorkerDO> orgWorkers = orgWorkerService.getOrgWorkerByReportResVo(pageReqVO);
|
|
|
|
|
return success( orgWorkerService.buildVOList(orgWorkers));
|
|
|
|
|
}
|
|
|
|
|
/**代替报工,获取某日期某用户绑定的工位情况**/
|
|
|
|
|
@GetMapping("/getOtherOrgWorkerRespVO")
|
|
|
|
|
@Operation(summary = "获得工位安排")
|
|
|
|
|
public CommonResult<List<OrgWorkerRespVO>> getOtherOrgWorkerRespVO(@Valid ProduceReportDetailSaveReqVO reqVO) {
|
|
|
|
|
OrgWorkerPageReqVO pageReqVO = new OrgWorkerPageReqVO().setOrgType(reqVO.getOrgType()).setGroupType(reqVO.getGroupType());
|
|
|
|
|
LocalDateTime[] localDateTimes = {reqVO.getReportDate(),reqVO.getReportDate()};
|
|
|
|
|
pageReqVO.setWorkDate(localDateTimes);
|
|
|
|
|
pageReqVO.setWorkerId(reqVO.getUserId());
|
|
|
|
|
|
|
|
|
|
Long userId = getLoginUserId();
|
|
|
|
|
List<WorkTeamDetailDO> detailDOList = workTeamService.getUserWorkTeamDetail(userId, WorkTeamUserRoleEnum.组长.getValue());
|
|
|
|
|
//组长的话把这些组的工人列表都查上,其他人所有人都查
|
|
|
|
|
List<Long> workTeamIds =null;
|
|
|
|
|
if(detailDOList!=null && detailDOList.size()>0){
|
|
|
|
|
workTeamIds = detailDOList.stream().map(WorkTeamDetailDO::getWorkTeamId).collect(Collectors.toList());
|
|
|
|
|
}
|
|
|
|
|
List<WorkTeamDetailDO> workTeamDetailDOS = workTeamService.getDetailByWorkTeamIds(workTeamIds);
|
|
|
|
|
Set<Long> idsSet = convertSet(workTeamDetailDOS, WorkTeamDetailDO::getUserId);
|
|
|
|
|
if(idsSet!=null && idsSet.size()>0){
|
|
|
|
|
pageReqVO.setWorkerIds(new ArrayList<>(idsSet));
|
|
|
|
|
}
|
|
|
|
|
List<OrgWorkerDO> orgWorkers = orgWorkerService.getOrgWorkerByReportResVo(pageReqVO);
|
|
|
|
|
|
|
|
|
|
return success(orgWorkerService.buildVOList(orgWorkers));
|
|
|
|
|
}
|
|
|
|
|
}
|