fix org Worker

plp
chenshuichuan 2 years ago
parent c2cc14b97c
commit dd833b3b0d

@ -42,7 +42,11 @@ public class OrgWorkerController {
public CommonResult<Long> createOrgWorker(@Valid @RequestBody OrgWorkerSaveReqVO createReqVO) {
return success(orgWorkerService.createOrgWorker(createReqVO));
}
@GetMapping("/createWorker")
@Operation(summary = "获得工位安排分页")
public CommonResult<Long> createWorker(@Valid OrgWorkerSaveReqVO createReqVO) {
return success(orgWorkerService.createOrgWorker(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新工位安排")
@PreAuthorize("@ss.hasPermission('mes:org-worker:update')")

@ -47,4 +47,8 @@ public class OrgWorkerRespVO {
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@Schema(description = "操作人", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("操作人")
private String creator;
}

@ -1,12 +1,14 @@
package cn.iocoder.yudao.module.mes.controller.admin.orgworker.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 工位安排新增/修改 Request VO")
@Data
public class OrgWorkerSaveReqVO {
@ -19,8 +21,10 @@ public class OrgWorkerSaveReqVO {
private Long orgId;
@Schema(description = "工作日期", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "工作日期不能为空")
private LocalDateTime workDate;
@Schema(description = "日期")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] planDates;
@Schema(description = "班别", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
@NotNull(message = "班别不能为空")

@ -139,7 +139,13 @@ public class WorkTeamController {
@GetMapping("/work-team-detail/getUserList")
@Operation(summary = "获得班组成员")
@Parameter(name = "processType", description = "班组类型", required = true)
public CommonResult<List<AdminUserRespDTO>> getUserList(@RequestParam("processType") String processType) {
return success(workTeamService.getUserList(processType));
public CommonResult<List<AdminUserRespDTO>> getUserList(@RequestParam("processType") String processType,String groupType) {
return success(workTeamService.getUserList(processType,groupType));
}
@GetMapping("/work-team-detail/getUserList2")
@Operation(summary = "获得班组成员")
@Parameter(name = "processType", description = "班组类型", required = true)
public CommonResult<List<AdminUserRespDTO>> getUserList2(@RequestParam("orgId") Long orgId,String groupType) {
return success(workTeamService.getUserList2(orgId,groupType));
}
}

@ -7,6 +7,8 @@ import cn.iocoder.yudao.module.mes.controller.admin.orgworker.vo.OrgWorkerPageRe
import cn.iocoder.yudao.module.mes.dal.dataobject.orgworker.OrgWorkerDO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* Mapper
*
@ -24,7 +26,15 @@ public interface OrgWorkerMapper extends BaseMapperX<OrgWorkerDO> {
.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));
.orderByDesc(OrgWorkerDO::getWorkDate));
}
default List<OrgWorkerDO> selectList(OrgWorkerPageReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<OrgWorkerDO>()
.eqIfPresent(OrgWorkerDO::getWorkerId, reqVO.getWorkerId())
.eqIfPresent(OrgWorkerDO::getOrgId, reqVO.getOrgId())
.eqIfPresent(OrgWorkerDO::getGroupType, reqVO.getGroupType())
.betweenIfPresent(OrgWorkerDO::getWorkDate, reqVO.getWorkDate())
.betweenIfPresent(OrgWorkerDO::getCreateTime, reqVO.getCreateTime())
.orderByAsc(OrgWorkerDO::getId));
}
}

@ -19,6 +19,7 @@ import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.Collections;
import java.util.List;
import java.util.Map;
@ -44,7 +45,24 @@ public class OrgWorkerServiceImpl implements OrgWorkerService {
public Long createOrgWorker(OrgWorkerSaveReqVO createReqVO) {
// 插入
OrgWorkerDO orgWorker = BeanUtils.toBean(createReqVO, OrgWorkerDO.class);
orgWorkerMapper.insert(orgWorker);
//多个日期
if(createReqVO.getPlanDates()!=null && createReqVO.getPlanDates().length>0){
//校验同工位、同班别、同日期是否已经存在,存在则失败()不保存
OrgWorkerPageReqVO reqVO = new OrgWorkerPageReqVO()
.setOrgId(createReqVO.getOrgId())
.setGroupType(createReqVO.getGroupType());
for (LocalDateTime date : createReqVO.getPlanDates()) {
LocalDateTime[] dates = {date,date};
reqVO.setWorkDate(dates);
List<OrgWorkerDO> list = orgWorkerMapper.selectList(reqVO);
if(list==null || list.size()==0){
orgWorker.setWorkDate(date);
orgWorker.setId(null);
orgWorkerMapper.insert(orgWorker);
}
}
}
else orgWorkerMapper.insert(orgWorker);
// 返回
return orgWorker.getId();
}
@ -111,6 +129,9 @@ public class OrgWorkerServiceImpl implements OrgWorkerService {
org -> item.setOrgName(org.getName()));
MapUtils.findAndThen(userMap, item.getWorkerId(),
user -> item.setWorkerName(user.getNickname()));
MapUtils.findAndThen(userMap, Long.valueOf(item.getCreator()),
user -> item.setCreator(user.getNickname()));
});
}
}

@ -98,7 +98,7 @@ public interface WorkTeamService {
* @return
*/
WorkTeamDetailDO getWorkTeamDetail(Long id);
List<WorkTeamDetailDO> getProcessUsers(String processType);
List<WorkTeamDetailDO> getProcessUsers(String processType, String groupType);
/**
* ID
@ -106,5 +106,6 @@ public interface WorkTeamService {
* @param ids ID
* @return
*/
List<AdminUserRespDTO> getUserList(String processType);
List<AdminUserRespDTO> getUserList(String processType, String groupType);
List<AdminUserRespDTO> getUserList2(Long orgId, String groupType);
}

@ -7,12 +7,15 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
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.workteam.vo.*;
import cn.iocoder.yudao.module.mes.dal.dataobject.organization.OrganizationDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.workteam.WorkTeamDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.workteam.WorkTeamDetailDO;
import cn.iocoder.yudao.module.mes.dal.mysql.workteam.WorkTeamDetailMapper;
import cn.iocoder.yudao.module.mes.dal.mysql.workteam.WorkTeamMapper;
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.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
@ -39,7 +42,8 @@ public class WorkTeamServiceImpl implements WorkTeamService {
private WorkTeamMapper workTeamMapper;
@Resource
private WorkTeamDetailMapper workTeamDetailMapper;
@Resource
private OrganizationService organizationService;
@Override
public Long createWorkTeam(WorkTeamSaveReqVO createReqVO) {
// 插入
@ -199,8 +203,8 @@ public class WorkTeamServiceImpl implements WorkTeamService {
//获取某类型工序的所有成员
@Override
public List<WorkTeamDetailDO> getProcessUsers(String processType) {
WorkTeamDO teamDO = new WorkTeamDO().setTeamType(processType).setIsEnable(true);
public List<WorkTeamDetailDO> getProcessUsers(String processType, String groupType) {
WorkTeamDO teamDO = new WorkTeamDO().setTeamType(processType).setGroupType(groupType).setIsEnable(true);
List<WorkTeamDO> list = workTeamMapper.selectBy(teamDO);
if ( list!= null && list.size() > 0) {
List<Long> idList = list.stream() // 将list转换为stream
@ -218,8 +222,20 @@ public class WorkTeamServiceImpl implements WorkTeamService {
* @return
*/
@Override
public List<AdminUserRespDTO> getUserList(String processType){
List<WorkTeamDetailDO> list = getProcessUsers( processType);
public List<AdminUserRespDTO> getUserList(String processType , String groupType){
List<WorkTeamDetailDO> list = getProcessUsers( processType, groupType);
List<Long> idList = list.stream() // 将list转换为stream
.map(WorkTeamDetailDO::getUserId)
.collect(Collectors.toList());
return adminUserApi.getUserList(idList);
}
@Override
public List<AdminUserRespDTO> getUserList2(Long orgId , String groupType){
if(orgId == null)return null;
OrganizationDO organizationDO = organizationService.getOrganization(orgId);
if(organizationDO==null || StringUtils.isEmpty(organizationDO.getOrgType()))return null;
List<WorkTeamDetailDO> list = getProcessUsers( organizationDO.getOrgType(), groupType);
List<Long> idList = list.stream() // 将list转换为stream
.map(WorkTeamDetailDO::getUserId)
.collect(Collectors.toList());

Loading…
Cancel
Save