mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-12 21:02:08 +08:00
1、executor微服务错误码整理;2、分堆打包mycat环境封包异常修复;3、订单包裹详情分页新结构适配;4、板材管理移除权限校验;
This commit is contained in:
-56
@@ -1,56 +0,0 @@
|
||||
package com.cf.imes.module.system.api.process;
|
||||
|
||||
|
||||
import com.cf.imes.framework.common.enums.ProcessProcessingTypeEnum;
|
||||
import com.cf.imes.framework.common.util.object.BeanUtils;
|
||||
import com.cf.imes.framework.organ.core.context.OrganContextHolder;
|
||||
import com.cf.imes.module.system.api.process.dto.ProcessDTO;
|
||||
import com.cf.imes.module.system.dal.dataobject.process.ProcessDO;
|
||||
import com.cf.imes.module.system.dal.mysql.process.ProcessMapper;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import jakarta.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
|
||||
|
||||
@RestController // 提供 RESTful API 接口,给 Feign 调用
|
||||
@Validated
|
||||
public class ProcessApiImpl implements ProcessApi {
|
||||
|
||||
|
||||
|
||||
@Resource
|
||||
private ProcessMapper processMapper;
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public BigDecimal getProcess(Long processId) {
|
||||
|
||||
ProcessDO processDO = processMapper.selectByType(processId,getUserOrganId());
|
||||
|
||||
|
||||
return processDO == null ? BigDecimal.ZERO : processDO.getPieceRate();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public List<ProcessDTO> getUserProcess(Long userId) {
|
||||
|
||||
List<ProcessDO> processDOS = processMapper.selectProcessList(getUserOrganId(), userId)
|
||||
.stream()
|
||||
.filter(f-> Objects.equals(f.getType(),ProcessProcessingTypeEnum.CUTTINGMATERIALS.getNumber()))
|
||||
.toList();
|
||||
|
||||
return BeanUtils.toBean(processDOS,ProcessDTO.class);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
-55
@@ -1,55 +0,0 @@
|
||||
package com.cf.imes.module.system.api.process;
|
||||
|
||||
import com.cf.imes.framework.common.exception.ServiceException;
|
||||
import com.cf.imes.framework.common.util.object.BeanUtils;
|
||||
import com.cf.imes.module.system.api.process.dto.ProcessListReqDTO;
|
||||
import com.cf.imes.module.system.api.process.dto.ProcessRespDTO;
|
||||
import com.cf.imes.module.system.dal.dataobject.process.ProcessDO;
|
||||
import com.cf.imes.module.system.dal.dataobject.process.ProcessGroupDO;
|
||||
import com.cf.imes.module.system.dal.mysql.process.ProcessGroupMapper;
|
||||
import com.cf.imes.module.system.dal.mysql.process.ProcessMapper;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import jakarta.annotation.Resource;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import static com.cf.imes.module.system.enums.ErrorCodeConstants.PROCESS_GROUP_NOT_EXISTS;
|
||||
|
||||
@RestController // 提供 RESTful API 接口,给 Feign 调用
|
||||
@Validated
|
||||
public class ProcessGroupApiImpl implements ProcessGroupApi {
|
||||
|
||||
@Resource
|
||||
private ProcessGroupMapper processGroupMapper;
|
||||
|
||||
@Resource
|
||||
private ProcessMapper processMapper;
|
||||
|
||||
@Override
|
||||
public Boolean getProcessGroup(Long groupId) {
|
||||
if (processGroupMapper.selectById(groupId) == null)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProcessListReqDTO getProcessGroupDetail(Long groupId) {
|
||||
|
||||
ProcessGroupDO processGroupDO = processGroupMapper.selectById(groupId);
|
||||
|
||||
if (processGroupDO == null)
|
||||
throw new ServiceException(PROCESS_GROUP_NOT_EXISTS);
|
||||
String[] items = processGroupDO.getItems().split(",");
|
||||
List<ProcessRespDTO> lists = new ArrayList<>();
|
||||
ProcessListReqDTO processListReqDTO = BeanUtils.toBean(processGroupDO, ProcessListReqDTO.class).setLists(lists);
|
||||
for (String item : items) {
|
||||
ProcessDO processDO = processMapper.selectById(Long.parseLong(item));
|
||||
|
||||
processListReqDTO.getLists().add(BeanUtils.toBean(processDO, ProcessRespDTO.class));
|
||||
}
|
||||
return processListReqDTO;
|
||||
}
|
||||
}
|
||||
-144
@@ -1,144 +0,0 @@
|
||||
package com.cf.imes.module.system.controller.admin.process;
|
||||
|
||||
import jakarta.annotation.Resource;
|
||||
import jakarta.validation.Valid;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
|
||||
|
||||
import com.cf.imes.module.system.controller.admin.process.vo.processUser.UserProcessRespVO;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
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 java.util.*;
|
||||
import java.io.IOException;
|
||||
|
||||
import com.cf.imes.framework.common.pojo.PageParam;
|
||||
import com.cf.imes.framework.common.pojo.PageResult;
|
||||
import com.cf.imes.framework.common.pojo.CommonResult;
|
||||
import com.cf.imes.framework.common.util.object.BeanUtils;
|
||||
import static com.cf.imes.framework.common.pojo.CommonResult.success;
|
||||
|
||||
import com.cf.imes.framework.excel.core.util.ExcelUtils;
|
||||
|
||||
import com.cf.imes.framework.operatelog.core.annotations.OperateLog;
|
||||
import static com.cf.imes.framework.operatelog.core.enums.OperateTypeEnum.*;
|
||||
|
||||
import com.cf.imes.module.system.controller.admin.process.vo.process.*;
|
||||
import com.cf.imes.module.system.dal.dataobject.process.ProcessDO;
|
||||
import com.cf.imes.module.system.service.process.ProcessService;
|
||||
|
||||
@Tag(name = "管理后台 - 工序信息")
|
||||
@RestController
|
||||
@RequestMapping("/system/process")
|
||||
@Validated
|
||||
public class ProcessController {
|
||||
|
||||
@Resource
|
||||
private ProcessService processService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "新建工序信息")
|
||||
@PreAuthorize("@ss.hasPermission('system:process:create')")
|
||||
public CommonResult<Long> createProcess(@Valid @RequestBody ProcessUserSaveReqVO createReqVO) {
|
||||
return success(processService.createProcess(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新工序信息")
|
||||
@PreAuthorize("@ss.hasPermission('system:process:update')")
|
||||
public CommonResult<Boolean> updateProcess(@Valid @RequestBody ProcessUserSaveReqVO updateReqVO) {
|
||||
processService.updateProcess(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除工序信息")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('system:process:delete')")
|
||||
public CommonResult<Boolean> deleteProcess(@RequestParam("id") Long id) {
|
||||
processService.deleteProcess(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得工序信息")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('system:process:query')")
|
||||
public CommonResult<ProcessUserRespVO> getProcess(@RequestParam("id") Long id) {
|
||||
ProcessUserRespVO processUser = processService.getProcess(id);
|
||||
return success(BeanUtils.toBean(processUser, ProcessUserRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/allGet")
|
||||
@Operation(summary = "获得工序全部信息")
|
||||
@PreAuthorize("@ss.hasPermission('system:process:query')")
|
||||
public CommonResult<PageResult<ProcessDO>> getProcessAll(@Valid ProcessPageReqVO pageReqVO) {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
PageResult<ProcessDO> pageResult = processService.getProcessPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, ProcessDO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/getAll")
|
||||
@Operation(summary = "获得所有工序信息")
|
||||
@PreAuthorize("@ss.hasPermission('system:process:query')")
|
||||
public CommonResult<List<ProcessDO>> getAllProcess() {
|
||||
List<ProcessDO> processUser = processService.getAllProcess();
|
||||
return success(BeanUtils.toBean(processUser, ProcessDO.class));
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得工序信息分页")
|
||||
@PreAuthorize("@ss.hasPermission('system:process:query')")
|
||||
public CommonResult<PageResult<ProcessRespVO>> getProcessPage(@Valid ProcessPageReqVO pageReqVO) {
|
||||
PageResult<ProcessRespVO> pageResult = processService.getProcessPageAll(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, ProcessRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出工序信息 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('system:process:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportProcessExcel(@Valid ProcessPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<ProcessDO> list = processService.getProcessPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "工序信息表.xls", "数据", ProcessRespVO.class,
|
||||
BeanUtils.toBean(list, ProcessRespVO.class));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@GetMapping("/select")
|
||||
@Operation(summary = "查看当前登录用户的组织的工序信息")
|
||||
@Parameter(name = "userId", description = "当前登录的用户ID", required = true, example = "1")
|
||||
@PreAuthorize("@ss.hasAnyPermissions('system:process:query','product:process:query')")
|
||||
public CommonResult<List<ProcessDO>> getUserPage(@Valid @RequestParam("userId") Long userId) {
|
||||
|
||||
return success(processService.getUserProcess(userId));
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@GetMapping("/getUserProcess")
|
||||
@Operation(summary = "获取当前组织的工序名称和加工人名称")
|
||||
@PreAuthorize("@ss.hasPermission('manage:process:query')")
|
||||
public CommonResult<UserProcessRespVO> getUserProcess() {
|
||||
|
||||
return success(processService.getUserProcessName());
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
-114
@@ -1,114 +0,0 @@
|
||||
package com.cf.imes.module.system.controller.admin.process;
|
||||
|
||||
import com.cf.imes.framework.common.exception.ErrorCode;
|
||||
import com.cf.imes.module.system.controller.admin.process.vo.group.ProcessGroupPageReqVO;
|
||||
import com.cf.imes.module.system.controller.admin.process.vo.group.ProcessGroupRespVO;
|
||||
import com.cf.imes.module.system.controller.admin.process.vo.group.ProcessGroupSaveReqVO;
|
||||
import com.cf.imes.module.system.controller.admin.process.vo.group.ProcessListSaveReqVO;
|
||||
import com.cf.imes.module.system.controller.admin.process.vo.process.ProcessRespVO;
|
||||
import com.cf.imes.module.system.dal.dataobject.process.ProcessDO;
|
||||
import com.cf.imes.module.system.dal.dataobject.process.ProcessGroupDO;
|
||||
import com.cf.imes.module.system.service.process.ProcessGroupService;
|
||||
import com.cf.imes.module.system.service.process.ProcessService;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
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 java.util.*;
|
||||
import java.io.IOException;
|
||||
|
||||
import com.cf.imes.framework.common.pojo.PageParam;
|
||||
import com.cf.imes.framework.common.pojo.PageResult;
|
||||
import com.cf.imes.framework.common.pojo.CommonResult;
|
||||
import com.cf.imes.framework.common.util.object.BeanUtils;
|
||||
import static com.cf.imes.framework.common.pojo.CommonResult.success;
|
||||
|
||||
import com.cf.imes.framework.excel.core.util.ExcelUtils;
|
||||
|
||||
import com.cf.imes.framework.operatelog.core.annotations.OperateLog;
|
||||
import static com.cf.imes.framework.operatelog.core.enums.OperateTypeEnum.*;
|
||||
|
||||
import jakarta.annotation.Resource;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.Valid;
|
||||
|
||||
@Tag(name = "管理后台 - 工序组")
|
||||
@RestController
|
||||
@RequestMapping("/system/process-group")
|
||||
@Validated
|
||||
public class ProcessGroupController {
|
||||
|
||||
@Resource
|
||||
private ProcessGroupService processGroupService;
|
||||
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建工序组")
|
||||
@PreAuthorize("@ss.hasPermission('system:process-group:create')")
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public CommonResult<Long> createProcessGroup(@Valid @RequestBody ProcessGroupSaveReqVO createReqVOLists) {
|
||||
return success(processGroupService.createProcessGroup(createReqVOLists));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新工序组")
|
||||
@PreAuthorize("@ss.hasPermission('system:process-group:update')")
|
||||
public CommonResult<Boolean> updateProcessGroup(@Valid @RequestBody ProcessGroupSaveReqVO updateReqVO) {
|
||||
processGroupService.updateProcessGroup(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除工序组")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('system:process-group:delete')")
|
||||
public CommonResult<Boolean> deleteProcessGroup(@RequestParam("id") Long id) {
|
||||
processGroupService.deleteProcessGroup(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得工序组")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('system:process-group:query')")
|
||||
public CommonResult<ProcessListSaveReqVO> getProcessGroup(@RequestParam("id") Long id) {
|
||||
ProcessListSaveReqVO processGroup = processGroupService.getProcessGroup(id);
|
||||
return success(BeanUtils.toBean(processGroup, ProcessListSaveReqVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得工序组分页")
|
||||
@PreAuthorize("@ss.hasPermission('system:process-group:query')")
|
||||
public CommonResult<PageResult<ProcessGroupRespVO>> getProcessGroupPage(@Valid ProcessGroupPageReqVO pageReqVO) {
|
||||
PageResult<ProcessGroupDO> pageResult = processGroupService.getProcessGroupPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, ProcessGroupRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping({"/list-all-simple","/simple-list"})
|
||||
@Operation(summary = "获得工序组全部")
|
||||
@Parameter(name = "name", description = "工序组名称", required = false, example = "xxx")
|
||||
@PreAuthorize("@ss.hasPermission('system:process-group:query')")
|
||||
public CommonResult<List<ProcessGroupRespVO>> getProcessGroupAll(@RequestParam(required = false, value = "name") String name) {
|
||||
return success(processGroupService.getProcessGroupList(name));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出工序组表")
|
||||
@PreAuthorize("@ss.hasPermission('system:process-group:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportProcessGroupExcel(@Valid ProcessGroupPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<ProcessGroupDO> list = processGroupService.getProcessGroupPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "工序组表 process_group.xls", "数据", ProcessGroupRespVO.class,
|
||||
BeanUtils.toBean(list, ProcessGroupRespVO.class));
|
||||
}
|
||||
|
||||
}
|
||||
-44
@@ -1,44 +0,0 @@
|
||||
package com.cf.imes.module.system.controller.admin.process.vo.group;
|
||||
|
||||
import lombok.*;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import com.cf.imes.framework.common.pojo.PageParam;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
|
||||
@Schema(description = "管理后台 - 工序组表 process_group分页 Request VO")
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
public class ProcessGroupPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "组织id", example = "1")
|
||||
private Long organId;
|
||||
|
||||
@Schema(description = "工序组名称", example = "赵六")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "是否默认工序组:0 否 1 是")
|
||||
private Boolean isDefault;
|
||||
|
||||
@Schema(description = "排序优先级")
|
||||
private Short sort;
|
||||
|
||||
@Schema(description = "明细,工序 ID 逗号分隔")
|
||||
private String items;
|
||||
|
||||
@Schema(description = "描述", example = "随便")
|
||||
private String description;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
@Schema(description = "field", example = "field")
|
||||
private String field;
|
||||
|
||||
@Schema(description = "order", example = "order")
|
||||
private String order;
|
||||
}
|
||||
-42
@@ -1,42 +0,0 @@
|
||||
package com.cf.imes.module.system.controller.admin.process.vo.group;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import com.alibaba.excel.annotation.*;
|
||||
|
||||
@Schema(description = "管理后台 - 工序组表 process_group Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class ProcessGroupRespVO {
|
||||
|
||||
@Schema(description = "工序组 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10725")
|
||||
@ExcelProperty("工序组 ID")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "工序组名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
|
||||
@ExcelProperty("工序组名称")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "是否默认工序组:0 否 1 是", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("是否默认工序组:0 否 1 是")
|
||||
private Boolean isDefault;
|
||||
|
||||
@Schema(description = "排序优先级", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("排序优先级")
|
||||
private Short sort;
|
||||
|
||||
@Schema(description = "明细,工序 ID 逗号分隔", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("明细,工序 ID 逗号分隔")
|
||||
private String items;
|
||||
|
||||
@Schema(description = "描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "随便")
|
||||
@ExcelProperty("描述")
|
||||
private String description;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
||||
-38
@@ -1,38 +0,0 @@
|
||||
package com.cf.imes.module.system.controller.admin.process.vo.group;
|
||||
|
||||
import com.cf.imes.module.system.controller.admin.process.vo.process.ProcessRespVO;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
@Schema(description = "管理后台 - 工序组表 process_group新增/修改 Request VO")
|
||||
@Data
|
||||
public class ProcessGroupSaveReqVO {
|
||||
|
||||
@Schema(description = "工序组 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10725")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "工序组名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
|
||||
@NotEmpty(message = "工序组名称不能为空")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "是否默认工序组:0 否 1 是", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "是否默认工序组:0 否 1 是不能为空")
|
||||
private Boolean isDefault;
|
||||
|
||||
@Schema(description = "排序优先级", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Short sort;
|
||||
|
||||
@Schema(description = "明细,工序 ID 逗号分隔", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String items;
|
||||
|
||||
@Schema(description = "描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "随便")
|
||||
private String description;
|
||||
|
||||
@Schema(description = "工序集合", requiredMode = Schema.RequiredMode.REQUIRED, example = "{},{}")
|
||||
private List<ProcessRespVO> processList;
|
||||
|
||||
}
|
||||
-36
@@ -1,36 +0,0 @@
|
||||
package com.cf.imes.module.system.controller.admin.process.vo.group;
|
||||
|
||||
import com.cf.imes.module.system.controller.admin.process.vo.process.ProcessRespVO;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
@Schema(description = "管理后台 - 工序组新增 Request VO")
|
||||
@Data
|
||||
public class ProcessListSaveReqVO {
|
||||
@Schema(description = "工序组 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10725")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "工序组名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
|
||||
@NotEmpty(message = "工序组名称不能为空")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "是否默认工序组:0 否 1 是", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "是否默认工序组:0 否 1 是不能为空")
|
||||
private Boolean isDefault;
|
||||
|
||||
@Schema(description = "排序优先级", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Short sort;
|
||||
|
||||
@Schema(description = "明细,工序 ID 逗号分隔", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String items;
|
||||
|
||||
@Schema(description = "描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "随便")
|
||||
private String description;
|
||||
|
||||
@Schema(description = "工序列表", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private List<ProcessRespVO> lists;
|
||||
}
|
||||
-64
@@ -1,64 +0,0 @@
|
||||
package com.cf.imes.module.system.controller.admin.process.vo.process;
|
||||
|
||||
import lombok.*;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import com.cf.imes.framework.common.pojo.PageParam;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
|
||||
@Schema(description = "管理后台 - 工序信息表 process分页 Request VO")
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
public class ProcessPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "工序名称", example = "张三")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "计件工资")
|
||||
private Double pieceRate;
|
||||
|
||||
@Schema(description = "计件类型:1 数量 2 长度 3 平方 4 宽 5 高 6 体积 7 订单金额百分比", example = "1")
|
||||
private Integer pieceType;
|
||||
|
||||
@Schema(description = "工序类型:0 全部加工 1 开料 2 部件加工 3 异形封边 4 分堆 5 打包 6 出库 7 组件加工 8 板材", example = "2")
|
||||
private Integer type;
|
||||
|
||||
@Schema(description = "是否推送终端客户:0 否 1 是")
|
||||
private Boolean isCustom;
|
||||
|
||||
@Schema(description = "是否推送经销商:0 否 1 是")
|
||||
private Boolean isDealer;
|
||||
|
||||
@Schema(description = "排序优先级")
|
||||
private Short sort;
|
||||
|
||||
@Schema(description = "小时产量")
|
||||
private Double hourCapacity;
|
||||
|
||||
@Schema(description = "单位")
|
||||
private String unit;
|
||||
|
||||
@Schema(description = "是否启用:0 否 1 是")
|
||||
private Boolean isEnabled;
|
||||
|
||||
@Schema(description = "准备时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private Double[] prepareTime;
|
||||
|
||||
@Schema(description = "描述", example = "随便")
|
||||
private String description;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
@Schema(description = "用户id查询")
|
||||
private String userId;
|
||||
|
||||
@Schema(description = "组织id")
|
||||
private Long organId;
|
||||
|
||||
}
|
||||
-73
@@ -1,73 +0,0 @@
|
||||
package com.cf.imes.module.system.controller.admin.process.vo.process;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import com.alibaba.excel.annotation.*;
|
||||
|
||||
@Schema(description = "管理后台 - 工序信息表 process Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class ProcessRespVO {
|
||||
|
||||
@Schema(description = "工序 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "20453")
|
||||
@ExcelProperty("工序 ID")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "工序名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
|
||||
@ExcelProperty("工序名称")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "计件工资", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("计件工资")
|
||||
private Double pieceRate;
|
||||
|
||||
@Schema(description = "计件类型:1 数量 2 长度 3 平方 4 宽 5 高 6 体积 7 订单金额百分比", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@ExcelProperty("计件类型:1 数量 2 长度 3 平方 4 宽 5 高 6 体积 7 订单金额百分比")
|
||||
private Integer pieceType;
|
||||
|
||||
@Schema(description = "工序类型:0 全部加工 1 开料 2 部件加工 3 异形封边 4 分堆 5 打包 6 出库 7 组件加工 8 板材", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
|
||||
@ExcelProperty("工序类型:0 全部加工 1 开料 2 部件加工 3 异形封边 4 分堆 5 打包 6 出库 7 组件加工 8 板材")
|
||||
private Integer type;
|
||||
|
||||
@Schema(description = "是否推送终端客户:0 否 1 是", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("是否推送终端客户:0 否 1 是")
|
||||
private Boolean isCustom;
|
||||
|
||||
@Schema(description = "是否推送经销商:0 否 1 是", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("是否推送经销商:0 否 1 是")
|
||||
private Boolean isDealer;
|
||||
|
||||
@Schema(description = "排序优先级", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("排序优先级")
|
||||
private Short sort;
|
||||
|
||||
@Schema(description = "小时产量", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("小时产量")
|
||||
private Double hourCapacity;
|
||||
|
||||
@Schema(description = "单位", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("单位")
|
||||
private String unit;
|
||||
|
||||
@Schema(description = "是否启用:0 否 1 是", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("是否启用:0 否 1 是")
|
||||
private Boolean isEnabled;
|
||||
|
||||
@Schema(description = "准备时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("准备时间")
|
||||
private Double prepareTime;
|
||||
|
||||
@Schema(description = "描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "随便")
|
||||
@ExcelProperty("描述")
|
||||
private String description;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@Schema(description = "工序中的用户ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12,13")
|
||||
private String users;
|
||||
|
||||
}
|
||||
-67
@@ -1,67 +0,0 @@
|
||||
package com.cf.imes.module.system.controller.admin.process.vo.process;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import jakarta.validation.Valid;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
|
||||
|
||||
@Schema(description = "管理后台 - 工序信息表 process新增/修改 Request VO")
|
||||
@Data
|
||||
@Valid
|
||||
public class ProcessSaveReqVO {
|
||||
|
||||
@Schema(description = "工序 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "161")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "工序名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
|
||||
@NotEmpty(message = "工序名称不能为空")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "计件工资", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "计件工资不能为空")
|
||||
private Double pieceRate;
|
||||
|
||||
@Schema(description = "计件类型:1 数量 2 长度 3 平方 4 宽 5 高 6 体积 7 订单金额百分比", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@NotNull(message = "计件类型:1 数量 2 长度 3 平方 4 宽 5 高 6 体积 7 订单金额百分比不能为空")
|
||||
private Integer pieceType;
|
||||
|
||||
@Schema(description = "工序类型:0 全部加工 1 开料 2 部件加工 3 异形封边 4 分堆 5 打包 6 出库 7 组件加工 8 板材", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@NotNull(message = "工序类型:0 全部加工 1 开料 2 部件加工 3 异形封边 4 分堆 5 打包 6 出库 7 组件加工 8 板材不能为空")
|
||||
private Integer type;
|
||||
|
||||
@Schema(description = "是否推送终端客户:0 否 1 是", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "是否推送终端客户:0 否 1 是不能为空")
|
||||
private Boolean isCustom;
|
||||
|
||||
@Schema(description = "是否推送经销商:0 否 1 是", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "是否推送经销商:0 否 1 是不能为空")
|
||||
private Boolean isDealer;
|
||||
|
||||
@Schema(description = "排序优先级", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "排序优先级不能为空")
|
||||
private Short sort;
|
||||
|
||||
@Schema(description = "小时产量", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "小时产量不能为空")
|
||||
private Double hourCapacity;
|
||||
|
||||
@Schema(description = "单位", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "单位不能为空")
|
||||
private String unit;
|
||||
|
||||
@Schema(description = "是否启用:0 否 1 是", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "是否启用:0 否 1 是不能为空")
|
||||
private Boolean isEnabled;
|
||||
|
||||
@Schema(description = "准备时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "准备时间不能为空")
|
||||
private Double prepareTime;
|
||||
|
||||
@Schema(description = "描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "你说的对")
|
||||
@NotEmpty(message = "描述不能为空")
|
||||
private String description;
|
||||
|
||||
}
|
||||
-80
@@ -1,80 +0,0 @@
|
||||
package com.cf.imes.module.system.controller.admin.process.vo.process;
|
||||
|
||||
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;
|
||||
|
||||
/**
|
||||
* @projectName: cf_imes_server
|
||||
* @author: 晨丰科技
|
||||
* @date: 2024/3/7 11:39
|
||||
*/
|
||||
@Schema(description = "管理后台 - 工序信息表 process Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class ProcessUserRespVO {
|
||||
|
||||
@Schema(description = "工序 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "20453")
|
||||
@ExcelProperty("工序 ID")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "工序名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
|
||||
@ExcelProperty("工序名称")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "计件工资", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("计件工资")
|
||||
private Double pieceRate;
|
||||
|
||||
@Schema(description = "计件类型:1 数量 2 长度 3 平方 4 宽 5 高 6 体积 7 订单金额百分比", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@ExcelProperty("计件类型:1 数量 2 长度 3 平方 4 宽 5 高 6 体积 7 订单金额百分比")
|
||||
private Integer pieceType;
|
||||
|
||||
@Schema(description = "工序类型:0 全部加工 1 开料 2 部件加工 3 异形封边 4 分堆 5 打包 6 出库 7 组件加工 8 板材", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
|
||||
@ExcelProperty("工序类型:0 全部加工 1 开料 2 部件加工 3 异形封边 4 分堆 5 打包 6 出库 7 组件加工 8 板材")
|
||||
private Integer type;
|
||||
|
||||
@Schema(description = "是否推送终端客户:0 否 1 是", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("是否推送终端客户:0 否 1 是")
|
||||
private Boolean isCustom;
|
||||
|
||||
@Schema(description = "是否推送经销商:0 否 1 是", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("是否推送经销商:0 否 1 是")
|
||||
private Boolean isDealer;
|
||||
|
||||
@Schema(description = "排序优先级", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("排序优先级")
|
||||
private Short sort;
|
||||
|
||||
@Schema(description = "小时产量", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("小时产量")
|
||||
private Double hourCapacity;
|
||||
|
||||
@Schema(description = "单位", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("单位")
|
||||
private String unit;
|
||||
|
||||
@Schema(description = "是否启用:0 否 1 是", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("是否启用:0 否 1 是")
|
||||
private Boolean isEnabled;
|
||||
|
||||
@Schema(description = "准备时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("准备时间")
|
||||
private Double prepareTime;
|
||||
|
||||
@Schema(description = "描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "随便")
|
||||
@ExcelProperty("描述")
|
||||
private String description;
|
||||
|
||||
@Schema(description = "用户ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12,13")
|
||||
@ExcelProperty("用户ID")
|
||||
private String Users;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
||||
-69
@@ -1,69 +0,0 @@
|
||||
package com.cf.imes.module.system.controller.admin.process.vo.process;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import jakarta.validation.Valid;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
|
||||
@Schema(description = "管理后台 - 工序信息 process新增/修改 Request VO")
|
||||
@Data
|
||||
@Valid
|
||||
public class ProcessUserSaveReqVO {
|
||||
@Schema(description = "工序 ID", example = "161")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "工序名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
|
||||
@NotEmpty(message = "工序名称不能为空")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "计件工资", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "计件工资不能为空")
|
||||
private Double pieceRate;
|
||||
|
||||
@Schema(description = "计件类型:1 数量 2 长度 3 平方 4 宽 5 高 6 体积 7 订单金额百分比", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@NotNull(message = "计件类型:1 数量 2 长度 3 平方 4 宽 5 高 6 体积 7 订单金额百分比不能为空")
|
||||
private Integer pieceType;
|
||||
|
||||
@Schema(description = "工序类型:0 全部加工 1 开料 2 部件加工 3 异形封边 4 分堆 5 打包 6 出库 7 组件加工 8 板材", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@NotNull(message = "工序类型:0 全部加工 1 开料 2 部件加工 3 异形封边 4 分堆 5 打包 6 出库 7 组件加工 8 板材不能为空")
|
||||
private Integer type;
|
||||
|
||||
@Schema(description = "是否推送终端客户:0 否 1 是", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "是否推送终端客户:0 否 1 是不能为空")
|
||||
private Boolean isCustom;
|
||||
|
||||
@Schema(description = "是否推送经销商:0 否 1 是", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "是否推送经销商:0 否 1 是不能为空")
|
||||
private Boolean isDealer;
|
||||
|
||||
@Schema(description = "排序优先级", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "排序优先级不能为空")
|
||||
private Short sort;
|
||||
|
||||
@Schema(description = "小时产量", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "小时产量不能为空")
|
||||
private Double hourCapacity;
|
||||
|
||||
@Schema(description = "单位", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "单位不能为空")
|
||||
private String unit;
|
||||
|
||||
@Schema(description = "是否启用:0 否 1 是", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "是否启用:0 否 1 是不能为空")
|
||||
private Boolean isEnabled;
|
||||
|
||||
@Schema(description = "准备时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "准备时间不能为空")
|
||||
private Double prepareTime;
|
||||
|
||||
@Schema(description = "描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "你说的对")
|
||||
private String description;
|
||||
|
||||
@Schema(description = "用户ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12,13")
|
||||
private String users;
|
||||
|
||||
@Schema(description = "组织Id", requiredMode = Schema.RequiredMode.REQUIRED, example = "181")
|
||||
private Long organId;
|
||||
}
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
package com.cf.imes.module.system.controller.admin.process.vo.processUser;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import com.alibaba.excel.annotation.*;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Schema(description = "管理后台 - 工序用户表")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class ProcessAndUserRespVO {
|
||||
|
||||
@Schema(description = "工序名称")
|
||||
private String processName;
|
||||
|
||||
@Schema(description = "加工人ID")
|
||||
private Long userId;
|
||||
|
||||
}
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
package com.cf.imes.module.system.controller.admin.process.vo.processUser;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
|
||||
@Schema(description = "管理后台 - 工序用户表 process_user新增/修改 Request VO")
|
||||
@Data
|
||||
public class ProcessAndUserSaveReqVO {
|
||||
|
||||
@Schema(description = "工序 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9416")
|
||||
@NotNull(message = "工序 ID不能为空")
|
||||
private Long processId;
|
||||
|
||||
@Schema(description = "用户 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "24517")
|
||||
@NotNull(message = "用户 ID不能为空")
|
||||
private Long userId;
|
||||
|
||||
private Long organId;
|
||||
}
|
||||
-26
@@ -1,26 +0,0 @@
|
||||
package com.cf.imes.module.system.controller.admin.process.vo.processUser;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@Schema(description = "管理后台 - 工序和加工人信息")
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class UserProcessRespVO {
|
||||
|
||||
@Schema(description = "工序名称")
|
||||
private List<String> processName;
|
||||
|
||||
@Schema(description = "加工人")
|
||||
private List<String> processUser;
|
||||
|
||||
|
||||
}
|
||||
-86
@@ -1,86 +0,0 @@
|
||||
package com.cf.imes.module.system.dal.dataobject.process;
|
||||
|
||||
import lombok.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalDateTime;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.cf.imes.framework.mybatis.core.dataobject.BaseDO;
|
||||
|
||||
/**
|
||||
* 工序信息表 process DO
|
||||
*
|
||||
* @author 晨丰科技
|
||||
*/
|
||||
@TableName("process")
|
||||
@KeySequence("process_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ProcessDO extends BaseDO {
|
||||
|
||||
/**
|
||||
* 工序 ID
|
||||
*/
|
||||
@TableId
|
||||
private Long id;
|
||||
/**
|
||||
* 工序名称
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 计件工资
|
||||
*/
|
||||
private BigDecimal pieceRate;
|
||||
/**
|
||||
* 计件类型:1 数量 2 长度 3 平方 4 宽 5 高 6 体积 7 订单金额百分比
|
||||
*/
|
||||
private Integer pieceType;
|
||||
/**
|
||||
* 工序类型:0 全部加工 1 开料 2 部件加工 3 异形封边 4 分堆 5 打包 6 出库 7 组件加工 8 板材
|
||||
*/
|
||||
private Integer type;
|
||||
/**
|
||||
* 是否推送终端客户:0 否 1 是
|
||||
*/
|
||||
private Boolean isCustom;
|
||||
/**
|
||||
* 是否推送经销商:0 否 1 是
|
||||
*/
|
||||
private Boolean isDealer;
|
||||
/**
|
||||
* 排序优先级
|
||||
*/
|
||||
private Short sort;
|
||||
/**
|
||||
* 小时产量
|
||||
*/
|
||||
private Double hourCapacity;
|
||||
/**
|
||||
* 单位
|
||||
*/
|
||||
private String unit;
|
||||
/**
|
||||
* 是否启用:0 否 1 是
|
||||
*/
|
||||
private Boolean isEnabled;
|
||||
/**
|
||||
* 准备时间
|
||||
*/
|
||||
private Double prepareTime;
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 组织id
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
private Long organId;
|
||||
}
|
||||
-53
@@ -1,53 +0,0 @@
|
||||
package com.cf.imes.module.system.dal.dataobject.process;
|
||||
|
||||
import lombok.*;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.cf.imes.framework.mybatis.core.dataobject.BaseDO;
|
||||
|
||||
/**
|
||||
* 工序组表 process_group DO
|
||||
*
|
||||
* @author 晨丰科技
|
||||
*/
|
||||
@TableName("process_group")
|
||||
@KeySequence("process_group_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ProcessGroupDO extends BaseDO {
|
||||
|
||||
/**
|
||||
* 工序组 ID
|
||||
*/
|
||||
@TableId
|
||||
private Long id;
|
||||
/**
|
||||
* 组织id
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
private Long organId;
|
||||
/**
|
||||
* 工序组名称
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 是否默认工序组:0 否 1 是
|
||||
*/
|
||||
private Boolean isDefault;
|
||||
/**
|
||||
* 排序优先级
|
||||
*/
|
||||
private Short sort;
|
||||
/**
|
||||
* 明细,工序 ID 逗号分隔
|
||||
*/
|
||||
private String items;
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
private String description;
|
||||
|
||||
}
|
||||
-37
@@ -1,37 +0,0 @@
|
||||
package com.cf.imes.module.system.dal.dataobject.process;
|
||||
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.cf.imes.framework.mybatis.core.dataobject.BaseDO;
|
||||
|
||||
/**
|
||||
* 工序用户表 process_user DO
|
||||
*
|
||||
* @author 晨丰科技
|
||||
*/
|
||||
@TableName("process_user")
|
||||
@KeySequence("process_user_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ToString(callSuper = false)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ProcessUserDO {
|
||||
|
||||
/**
|
||||
* 组织 ID
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
private Long organId;
|
||||
/**
|
||||
* 工序 ID
|
||||
*/
|
||||
private Long processId;
|
||||
/**
|
||||
* 用户 ID
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
}
|
||||
-66
@@ -1,66 +0,0 @@
|
||||
package com.cf.imes.module.system.dal.mysql.process;
|
||||
|
||||
import com.cf.imes.framework.common.pojo.PageResult;
|
||||
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import com.cf.imes.module.system.controller.admin.process.vo.group.ProcessGroupPageReqVO;
|
||||
import com.cf.imes.module.system.dal.dataobject.process.ProcessDO;
|
||||
import com.cf.imes.module.system.dal.dataobject.process.ProcessGroupDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 工序组表 process_group Mapper
|
||||
*
|
||||
* @author 晨丰科技
|
||||
*/
|
||||
@Mapper
|
||||
public interface ProcessGroupMapper extends BaseMapperX<ProcessGroupDO> {
|
||||
|
||||
default PageResult<ProcessGroupDO> selectPage(ProcessGroupPageReqVO reqVO) {
|
||||
LambdaQueryWrapperX<ProcessGroupDO> queryWrapper = new LambdaQueryWrapperX<ProcessGroupDO>()
|
||||
.likeIfPresent(ProcessGroupDO::getName, reqVO.getName())
|
||||
.eqIfPresent(ProcessGroupDO::getIsDefault, reqVO.getIsDefault())
|
||||
.eqIfPresent(ProcessGroupDO::getSort, reqVO.getSort())
|
||||
.eqIfPresent(ProcessGroupDO::getItems, reqVO.getItems())
|
||||
.eqIfPresent(ProcessGroupDO::getOrganId, reqVO.getOrganId())
|
||||
.eqIfPresent(ProcessGroupDO::getDescription, reqVO.getDescription())
|
||||
.betweenIfPresent(ProcessGroupDO::getCreateTime, reqVO.getCreateTime())
|
||||
.orderByDesc(ProcessGroupDO::getSort);
|
||||
|
||||
if (reqVO.getOrder() == null) {
|
||||
queryWrapper.orderByDesc(ProcessGroupDO::getSort);
|
||||
}else {
|
||||
if (reqVO.getOrder().equals("ascend")) {
|
||||
switch (reqVO.getField()) {
|
||||
case "name" -> queryWrapper.orderByAsc(ProcessGroupDO::getName);
|
||||
case "sort" -> queryWrapper.orderByAsc(ProcessGroupDO::getSort);
|
||||
default -> {
|
||||
// default 不排序
|
||||
}
|
||||
}
|
||||
}else if (reqVO.getOrder().equals("descend")) {
|
||||
switch (reqVO.getField()) {
|
||||
case "name" -> queryWrapper.orderByDesc(ProcessGroupDO::getName);
|
||||
case "sort" -> queryWrapper.orderByDesc(ProcessGroupDO::getSort);
|
||||
default -> {
|
||||
// default 不排序
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return selectPage(reqVO, queryWrapper);
|
||||
}
|
||||
|
||||
ProcessDO selectOneById(@Param("id") Long id, @Param("organId") Long organId);
|
||||
|
||||
int updateIsDefault(@Param("processGroupId") Long processGroupId, @Param("organId") Long organId);
|
||||
|
||||
// 模糊匹配items
|
||||
default List<ProcessGroupDO> selectListByItems(@Param("items") String items) {
|
||||
return selectList(new LambdaQueryWrapperX<ProcessGroupDO>()
|
||||
.likeIfPresent(ProcessGroupDO::getItems, items));
|
||||
}
|
||||
}
|
||||
-82
@@ -1,82 +0,0 @@
|
||||
package com.cf.imes.module.system.dal.mysql.process;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.cf.imes.framework.common.pojo.PageResult;
|
||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import com.cf.imes.framework.mybatis.core.query.MPJLambdaWrapperX;
|
||||
import com.cf.imes.module.system.controller.admin.process.vo.process.ProcessPageReqVO;
|
||||
import com.cf.imes.module.system.controller.admin.process.vo.processUser.ProcessAndUserRespVO;
|
||||
import com.cf.imes.module.system.dal.dataobject.process.ProcessDO;
|
||||
import com.cf.imes.module.system.dal.dataobject.process.ProcessUserDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 工序信息表 process Mapper
|
||||
*
|
||||
* @author 晨丰科技
|
||||
*/
|
||||
@Mapper
|
||||
public interface ProcessMapper extends BaseMapperX<ProcessDO> {
|
||||
|
||||
default PageResult<ProcessDO> selectPage(ProcessPageReqVO reqVO) {
|
||||
return selectPage(reqVO, new LambdaQueryWrapperX<ProcessDO>()
|
||||
.likeIfPresent(ProcessDO::getName, reqVO.getName())
|
||||
.eqIfPresent(ProcessDO::getPieceRate, reqVO.getPieceRate())
|
||||
.eqIfPresent(ProcessDO::getPieceType, reqVO.getPieceType())
|
||||
.eqIfPresent(ProcessDO::getType, reqVO.getType())
|
||||
.eqIfPresent(ProcessDO::getIsCustom, reqVO.getIsCustom())
|
||||
.eqIfPresent(ProcessDO::getIsDealer, reqVO.getIsDealer())
|
||||
.eqIfPresent(ProcessDO::getSort, reqVO.getSort())
|
||||
.eqIfPresent(ProcessDO::getHourCapacity, reqVO.getHourCapacity())
|
||||
.eqIfPresent(ProcessDO::getUnit, reqVO.getUnit())
|
||||
.eqIfPresent(ProcessDO::getOrganId, reqVO.getOrganId())
|
||||
.eqIfPresent(ProcessDO::getIsEnabled, reqVO.getIsEnabled())
|
||||
.betweenIfPresent(ProcessDO::getPrepareTime, reqVO.getPrepareTime())
|
||||
.likeIfPresent(ProcessDO::getDescription, reqVO.getDescription())
|
||||
.betweenIfPresent(ProcessDO::getCreateTime, reqVO.getCreateTime())
|
||||
.orderByDesc(ProcessDO::getId));
|
||||
}
|
||||
|
||||
IPage<ProcessDO> selectProcessPage(@Param("page") IPage<ProcessDO> page , @Param("vo") ProcessPageReqVO reqVO);
|
||||
|
||||
ProcessDO selectOneById(@Param("id") Long id, @Param("organId") Long organId);
|
||||
|
||||
default List<ProcessDO> selectAll(Long organId) {
|
||||
return selectList(new LambdaQueryWrapperX<ProcessDO>()
|
||||
// .orderByDesc(ProcessDO::getId)
|
||||
.eqIfPresent(ProcessDO::getOrganId, organId)
|
||||
.eqIfPresent(ProcessDO::getIsEnabled, true));
|
||||
}
|
||||
|
||||
int deleteById(@Param("id") Long id);
|
||||
|
||||
default List<ProcessDO> selectProcessList(Long organId,Long userId) {
|
||||
return selectJoinList(ProcessDO.class, new MPJLambdaWrapperX<ProcessDO>()
|
||||
.leftJoin(ProcessUserDO.class, ProcessUserDO::getProcessId, ProcessDO::getId)
|
||||
.eq(ProcessUserDO::getUserId, userId)
|
||||
.eq(ProcessDO::getOrganId, organId)
|
||||
.eq(ProcessDO::getIsEnabled,true)
|
||||
.selectAll(ProcessDO.class)
|
||||
.orderByDesc(ProcessDO::getSort)
|
||||
.orderByDesc(ProcessDO::getId));
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
default ProcessDO selectByType(Long processId,Long organId) {
|
||||
return selectOne(new MPJLambdaWrapperX<ProcessDO>()
|
||||
.eq(ProcessDO::getOrganId, organId)
|
||||
.eqIfPresent(ProcessDO::getId,processId));
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
List<ProcessAndUserRespVO> selectUserProcess(@Param("organId")Long organId);
|
||||
}
|
||||
-47
@@ -1,47 +0,0 @@
|
||||
package com.cf.imes.module.system.dal.mysql.process;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import com.cf.imes.module.system.dal.dataobject.process.ProcessDO;
|
||||
import com.cf.imes.module.system.dal.dataobject.process.ProcessUserDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 工序用户表 process_user Mapper
|
||||
*
|
||||
* @author 晨丰科技
|
||||
*/
|
||||
@Mapper
|
||||
public interface ProcessUserMapper extends BaseMapperX<ProcessUserDO> {
|
||||
|
||||
default List<ProcessUserDO> selectByProcessId(Long processId,Long organId) {
|
||||
return selectList(new LambdaQueryWrapperX<ProcessUserDO>()
|
||||
.eq(ProcessUserDO::getProcessId, processId)
|
||||
.eq(ProcessUserDO::getOrganId, organId));
|
||||
}
|
||||
|
||||
default List<ProcessUserDO> selectByProcessId(Long processId) {
|
||||
return selectList(new LambdaQueryWrapperX<ProcessUserDO>()
|
||||
.eq(ProcessUserDO::getProcessId, processId));
|
||||
}
|
||||
|
||||
default List<ProcessUserDO> selectById(Long processId,Long userId) {
|
||||
return selectList(new LambdaQueryWrapperX<ProcessUserDO>()
|
||||
.eq(ProcessUserDO::getProcessId, processId)
|
||||
.eq(ProcessUserDO::getUserId, userId));
|
||||
}
|
||||
|
||||
default ProcessUserDO selectUserByProcessId(Long processId) {
|
||||
return selectOne(ProcessUserDO::getProcessId, processId);
|
||||
}
|
||||
|
||||
int deleteUserByProcessId(@Param("processId") Long processId);
|
||||
|
||||
ProcessDO selectOneById(@Param("processId") Long processId, @Param("organId") Long organId);
|
||||
}
|
||||
+1
-2
@@ -1,7 +1,6 @@
|
||||
package com.cf.imes.module.system.framework.rpc.config;
|
||||
|
||||
import com.cf.imes.module.executor.api.customplateno.OrderCustomPlateNoApi;
|
||||
import com.cf.imes.module.executor.api.orderProcess.OrderProcessApi;
|
||||
import com.cf.imes.module.executor.api.ordercomponent.OrderComponentApi;
|
||||
import com.cf.imes.module.executor.api.plan.OrderPlanApi;
|
||||
import com.cf.imes.module.infra.api.file.FileApi;
|
||||
@@ -10,7 +9,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@Configuration(proxyBeanMethods = false)
|
||||
@EnableFeignClients(clients = {FileApi.class, WebSocketSenderApi.class, OrderProcessApi.class,
|
||||
@EnableFeignClients(clients = {FileApi.class, WebSocketSenderApi.class,
|
||||
OrderPlanApi.class, OrderCustomPlateNoApi.class, OrderComponentApi.class})
|
||||
public class RpcConfiguration {
|
||||
}
|
||||
|
||||
-60
@@ -1,60 +0,0 @@
|
||||
package com.cf.imes.module.system.service.process;
|
||||
|
||||
|
||||
import com.cf.imes.module.system.controller.admin.process.vo.group.ProcessGroupPageReqVO;
|
||||
import com.cf.imes.module.system.controller.admin.process.vo.group.ProcessGroupRespVO;
|
||||
import com.cf.imes.module.system.controller.admin.process.vo.group.ProcessGroupSaveReqVO;
|
||||
import com.cf.imes.module.system.controller.admin.process.vo.group.ProcessListSaveReqVO;
|
||||
import com.cf.imes.module.system.dal.dataobject.process.ProcessGroupDO;
|
||||
import com.cf.imes.framework.common.pojo.PageResult;
|
||||
|
||||
import jakarta.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 工序组表 process_group Service 接口
|
||||
*
|
||||
* @author 晨丰科技
|
||||
*/
|
||||
public interface ProcessGroupService {
|
||||
|
||||
/**
|
||||
* 创建工序组表 process_group
|
||||
*
|
||||
* @param createReqVO 创建信息
|
||||
* @return 编号
|
||||
*/
|
||||
Long createProcessGroup(@Valid ProcessGroupSaveReqVO createReqVO);
|
||||
|
||||
/**
|
||||
* 更新工序组表 process_group
|
||||
*
|
||||
* @param updateReqVO 更新信息
|
||||
*/
|
||||
void updateProcessGroup(@Valid ProcessGroupSaveReqVO updateReqVO);
|
||||
|
||||
/**
|
||||
* 删除工序组表 process_group
|
||||
*
|
||||
* @param id 编号
|
||||
*/
|
||||
void deleteProcessGroup(Long id);
|
||||
|
||||
/**
|
||||
* 获得工序组表 process_group
|
||||
*
|
||||
* @param id 编号
|
||||
* @return 工序组表 process_group
|
||||
*/
|
||||
ProcessListSaveReqVO getProcessGroup(Long id);
|
||||
|
||||
/**
|
||||
* 获得工序组表 process_group分页
|
||||
*
|
||||
* @param pageReqVO 分页查询
|
||||
* @return 工序组表 process_group分页
|
||||
*/
|
||||
PageResult<ProcessGroupDO> getProcessGroupPage(ProcessGroupPageReqVO pageReqVO);
|
||||
|
||||
List<ProcessGroupRespVO> getProcessGroupList(String name);
|
||||
}
|
||||
-267
@@ -1,267 +0,0 @@
|
||||
package com.cf.imes.module.system.service.process;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.cf.imes.framework.common.exception.ServiceException;
|
||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import com.cf.imes.framework.organ.core.context.OrganContextHolder;
|
||||
import com.cf.imes.module.executor.api.orderProcess.OrderProcessApi;
|
||||
import com.cf.imes.module.system.controller.admin.process.vo.group.ProcessGroupPageReqVO;
|
||||
import com.cf.imes.module.system.controller.admin.process.vo.group.ProcessGroupRespVO;
|
||||
import com.cf.imes.module.system.controller.admin.process.vo.group.ProcessGroupSaveReqVO;
|
||||
import com.cf.imes.module.system.controller.admin.process.vo.group.ProcessListSaveReqVO;
|
||||
import com.cf.imes.module.system.controller.admin.process.vo.process.ProcessRespVO;
|
||||
import com.cf.imes.module.system.dal.dataobject.process.ProcessDO;
|
||||
import com.cf.imes.module.system.dal.mysql.process.ProcessMapper;
|
||||
import com.cf.imes.module.system.enums.process.ProcessTypeEnum;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import jakarta.annotation.Resource;
|
||||
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import com.cf.imes.module.system.dal.dataobject.process.ProcessGroupDO;
|
||||
import com.cf.imes.framework.common.pojo.PageResult;
|
||||
import com.cf.imes.framework.common.util.object.BeanUtils;
|
||||
|
||||
import com.cf.imes.module.system.dal.mysql.process.ProcessGroupMapper;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.cf.imes.module.system.enums.ErrorCodeConstants.*;
|
||||
|
||||
/**
|
||||
* 工序组表 process_group Service 实现类
|
||||
*
|
||||
* @author 晨丰科技
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
public class ProcessGroupServiceImpl implements ProcessGroupService {
|
||||
|
||||
@Resource
|
||||
private ProcessGroupMapper processGroupMapper;
|
||||
|
||||
@Resource
|
||||
private ProcessMapper processMapper;
|
||||
|
||||
@Resource
|
||||
private OrderProcessApi orderProcessApi;
|
||||
|
||||
@Override
|
||||
public Long createProcessGroup(ProcessGroupSaveReqVO createReqVO) {
|
||||
// 校验名称存在
|
||||
validateProcessGroupNameUnique(createReqVO.getName());
|
||||
// 插入
|
||||
ProcessGroupDO processGroup = BeanUtils.toBean(createReqVO, ProcessGroupDO.class);
|
||||
processGroup.setItems(checkProcessGroupExists(createReqVO.getItems()));
|
||||
// 判断重复
|
||||
int isCutting = 0;
|
||||
int isPacking = 0;
|
||||
if (createReqVO.getItems() == null) {
|
||||
throw new ServiceException(PROCESS_ITEM_NOT_EXISTS);
|
||||
}
|
||||
List<String> list = cuttingItems(createReqVO.getItems());
|
||||
if (!list.isEmpty()) {
|
||||
for (String item : list) {
|
||||
ProcessDO process = processMapper.selectOneById(Long.valueOf(item), OrganContextHolder.getOrganId());
|
||||
if (process.getType() == ProcessTypeEnum.TYPE_ONE.getStatus()){
|
||||
isCutting++;
|
||||
}
|
||||
if (process.getType() == ProcessTypeEnum.TYPE_FIVE.getStatus()){
|
||||
isPacking++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (isCutting > 1){
|
||||
throw new ServiceException(PROCESS_GROUP_CUTTING_ERROR);
|
||||
}
|
||||
if (isPacking > 1){
|
||||
throw new ServiceException(PROCESS_GROUP_PACKING_ERROR);
|
||||
}
|
||||
processGroupMapper.insert(processGroup);
|
||||
if (createReqVO.getIsDefault()) {
|
||||
processGroupMapper.updateIsDefault(processGroup.getId(), OrganContextHolder.getOrganId());
|
||||
}
|
||||
// 返回
|
||||
return processGroup.getId();
|
||||
}
|
||||
|
||||
private void validateProcessGroupNameUnique(String name) {
|
||||
if (name != null) {
|
||||
if (!name.isEmpty()) {
|
||||
if (processGroupMapper.selectCount(new LambdaQueryWrapper<ProcessGroupDO>()
|
||||
.eq(ProcessGroupDO::getName, name)
|
||||
.eq(ProcessGroupDO::getDeleted, false)
|
||||
.eq(ProcessGroupDO::getOrganId, OrganContextHolder.getOrganId())) > 0) {
|
||||
throw new ServiceException(PROCESS_GROUP_NAME_EXISTS);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void validateProcessGroupNameUnique(String name,Long id) {
|
||||
if (name != null) {
|
||||
if (!name.isEmpty()) {
|
||||
if (processGroupMapper.selectCount(new LambdaQueryWrapper<ProcessGroupDO>()
|
||||
.ne(ProcessGroupDO::getId, id)
|
||||
.eq(ProcessGroupDO::getName, name)
|
||||
.eq(ProcessGroupDO::getDeleted, false)
|
||||
.eq(ProcessGroupDO::getOrganId, OrganContextHolder.getOrganId())) > 0) {
|
||||
throw new ServiceException(PROCESS_GROUP_NAME_EXISTS);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateProcessGroup(ProcessGroupSaveReqVO updateReqVO) {
|
||||
// 校验存在
|
||||
validateProcessGroupExists(updateReqVO.getId());
|
||||
// 名称存在
|
||||
validateProcessGroupNameUnique(updateReqVO.getName(),updateReqVO.getId());
|
||||
// 更新
|
||||
ProcessGroupDO updateObj = BeanUtils.toBean(updateReqVO, ProcessGroupDO.class);
|
||||
updateObj.setItems(checkProcessGroupExists(updateReqVO.getItems()));
|
||||
processGroupMapper.updateById(updateObj);
|
||||
if (updateReqVO.getIsDefault()) {
|
||||
processGroupMapper.updateIsDefault(updateReqVO.getId(), OrganContextHolder.getOrganId());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteProcessGroup(Long id) {
|
||||
// 校验存在
|
||||
validateProcessGroupExists(id);
|
||||
// 判断是否在生产中使用这个加工组,如果使用则不能删除
|
||||
checkProcessGroupUsed(id);
|
||||
// 删除
|
||||
processGroupMapper.deleteById(id);
|
||||
}
|
||||
|
||||
// 判断是否在生产中使用这个加工组
|
||||
private void checkProcessGroupUsed(Long id) {
|
||||
if (orderProcessApi.getOrderProcessByProcessGroupId(id).getData()){
|
||||
throw new ServiceException(PROCESS_GROUP_USED);
|
||||
}
|
||||
}
|
||||
private void validateProcessGroupExists(Long id) {
|
||||
if (processGroupMapper.selectById(id) == null) {
|
||||
throw new ServiceException(PROCESS_GROUP_NOT_EXISTS);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProcessListSaveReqVO getProcessGroup(Long id) {
|
||||
// 校验存在
|
||||
validateProcessGroupExists(id);
|
||||
ProcessGroupDO processGroup = processGroupMapper.selectById(id);
|
||||
ProcessListSaveReqVO processListSaveReqVO = BeanUtils.toBean(processGroup, ProcessListSaveReqVO.class);
|
||||
if (processGroup.getItems() == null) {
|
||||
return processListSaveReqVO;
|
||||
}
|
||||
String[] items = processGroup.getItems().split("(?<!^),,(?!$)|,\\s*");
|
||||
|
||||
// 移除由于连续逗号产生的前后空字符串
|
||||
List<String> itemsList = Arrays.stream(items)
|
||||
.filter(item -> !item.isEmpty())
|
||||
.collect(Collectors.toList());
|
||||
|
||||
System.err.println(itemsList.size());
|
||||
List<ProcessRespVO> lists = new ArrayList<>();
|
||||
// 判断items是否为空
|
||||
if (itemsList.size() == 0) {
|
||||
return processListSaveReqVO;
|
||||
}
|
||||
for (int i = 0; i < itemsList.size(); i++) {
|
||||
if (processMapper.selectById(Long.valueOf(itemsList.get(i))) != null)
|
||||
lists.add(BeanUtils.toBean(processMapper.selectById(itemsList.get(i)), ProcessRespVO.class));
|
||||
}
|
||||
processListSaveReqVO.setLists(lists);
|
||||
return processListSaveReqVO;
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<ProcessGroupDO> getProcessGroupPage(ProcessGroupPageReqVO pageReqVO) {
|
||||
return processGroupMapper.selectPage(pageReqVO.setOrganId(OrganContextHolder.getOrganId()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ProcessGroupRespVO> getProcessGroupList(String name) {
|
||||
List<ProcessGroupDO> processGroupDOList = processGroupMapper.selectList(new LambdaQueryWrapperX<ProcessGroupDO>()
|
||||
.likeIfPresent(ProcessGroupDO::getName, name)
|
||||
.eq(ProcessGroupDO::getOrganId, OrganContextHolder.getOrganId())
|
||||
.select(ProcessGroupDO::getId, ProcessGroupDO::getName,
|
||||
ProcessGroupDO::getIsDefault, ProcessGroupDO::getSort, ProcessGroupDO::getDescription,
|
||||
ProcessGroupDO::getItems, ProcessGroupDO::getCreateTime, ProcessGroupDO::getUpdateTime));
|
||||
return BeanUtils.toBean(processGroupDOList, ProcessGroupRespVO.class);
|
||||
}
|
||||
|
||||
|
||||
private String checkProcessGroupExists(String userLists) {
|
||||
// 检查输入是否为空或仅包含空白字符
|
||||
if (userLists == null || userLists.trim().isEmpty()) {
|
||||
return ""; // 统一返回空列表格式化字符串
|
||||
}
|
||||
|
||||
List<String> itemsList = Arrays.stream(userLists.split(","))
|
||||
.map(String::trim) // 去除每个项两端的空白字符
|
||||
.filter(item -> item != null && !item.isEmpty()) // 过滤空字符串和null
|
||||
.collect(Collectors.toList());
|
||||
|
||||
// 如果列表为空,直接返回空字符串,表示没有有效的进程ID
|
||||
if (itemsList.isEmpty()) {
|
||||
return "";
|
||||
}
|
||||
|
||||
StringBuilder itemsBuilder = new StringBuilder();
|
||||
StringBuilder missingItemsBuilder = new StringBuilder(); // 使用StringBuilder累积不存在的项的ID
|
||||
|
||||
itemsList.forEach(itemId -> {
|
||||
try {
|
||||
Object item = processMapper.selectById(Long.valueOf(itemId));
|
||||
if (item != null) {
|
||||
// 优化字符串拼接
|
||||
itemsBuilder.append(itemId).append(",");
|
||||
} else {
|
||||
// 将不存在的项的ID累积到missingItemsBuilder中
|
||||
if (missingItemsBuilder.length() > 0) {
|
||||
missingItemsBuilder.append(",");
|
||||
}
|
||||
missingItemsBuilder.append(itemId);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new ServiceException(PROCESS_ID_IS_NULL);
|
||||
}
|
||||
});
|
||||
|
||||
// 判断是否存在不存在的项,并一次性抛出异常
|
||||
if (missingItemsBuilder.length() > 0) {
|
||||
throw new ServiceException(PROCESS_NOT_EXISTS, "Items with IDs " + missingItemsBuilder.toString() + " do not exist.");
|
||||
}
|
||||
|
||||
// 移除itemsBuilder最后的逗号
|
||||
if (itemsBuilder.length() > 0) {
|
||||
itemsBuilder.setLength(itemsBuilder.length() - 1);
|
||||
}
|
||||
|
||||
// 返回格式化的列表字符串
|
||||
return itemsBuilder.length() > 0 ? itemsBuilder.toString() : "";
|
||||
}
|
||||
|
||||
// 批量更新工序组默认
|
||||
public void updateProcessGroupIsDefault(Long processGroupId, Long organId) {
|
||||
processGroupMapper.updateIsDefault(processGroupId, organId);
|
||||
}
|
||||
|
||||
public List<String> cuttingItems(String userLists) {
|
||||
return Arrays.stream(userLists.split(","))
|
||||
.map(String::trim) // 去除每个项两端的空白字符
|
||||
.filter(item -> item != null && !item.isEmpty()) // 过滤空字符串和null
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
-75
@@ -1,75 +0,0 @@
|
||||
package com.cf.imes.module.system.service.process;
|
||||
|
||||
import com.cf.imes.module.system.controller.admin.process.vo.process.*;
|
||||
import com.cf.imes.module.system.controller.admin.process.vo.processUser.UserProcessRespVO;
|
||||
import com.cf.imes.module.system.dal.dataobject.process.ProcessDO;
|
||||
import com.cf.imes.framework.common.pojo.PageResult;
|
||||
|
||||
import jakarta.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 工序信息表 process Service 接口
|
||||
*
|
||||
* @author 晨丰科技
|
||||
*/
|
||||
public interface ProcessService {
|
||||
|
||||
/**
|
||||
* 创建工序信息表 process
|
||||
*
|
||||
* @param createReqVO 创建信息
|
||||
* @return 编号
|
||||
*/
|
||||
Long createProcess(@Valid ProcessUserSaveReqVO createReqVO);
|
||||
|
||||
/**
|
||||
* 更新工序信息表 process
|
||||
*
|
||||
* @param updateReqVO 更新信息
|
||||
*/
|
||||
void updateProcess(@Valid ProcessUserSaveReqVO updateReqVO);
|
||||
|
||||
/**
|
||||
* 删除工序信息表 process
|
||||
*
|
||||
* @param id 编号
|
||||
*/
|
||||
void deleteProcess(Long id);
|
||||
|
||||
/**
|
||||
* 获得工序信息表 process
|
||||
*
|
||||
* @param id 编号
|
||||
* @return 工序信息表 process
|
||||
*/
|
||||
ProcessUserRespVO getProcess(Long id);
|
||||
|
||||
/**
|
||||
* 获得工序信息表 process分页
|
||||
*
|
||||
* @param pageReqVO 分页查询
|
||||
* @return 工序信息表 process分页
|
||||
*/
|
||||
PageResult<ProcessDO> getProcessPage(ProcessPageReqVO pageReqVO);
|
||||
|
||||
/**
|
||||
* 获得工序信息表 process分页
|
||||
*
|
||||
* @param pageReqVO 分页查询
|
||||
* @return 工序信息表 process分页
|
||||
*/
|
||||
PageResult<ProcessRespVO> getProcessPageAll(ProcessPageReqVO pageReqVO);
|
||||
|
||||
/**
|
||||
* 获得所有工序信息表 process
|
||||
*
|
||||
* @return 工序信息表 process
|
||||
*/
|
||||
List<ProcessDO> getAllProcess();
|
||||
|
||||
List<ProcessDO> getUserProcess(Long userId);
|
||||
|
||||
UserProcessRespVO getUserProcessName();
|
||||
|
||||
}
|
||||
-265
@@ -1,265 +0,0 @@
|
||||
package com.cf.imes.module.system.service.process;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
|
||||
import com.cf.imes.framework.common.enums.ProcessProcessingTypeEnum;
|
||||
import com.cf.imes.framework.common.exception.ServiceException;
|
||||
import com.cf.imes.framework.organ.core.context.OrganContextHolder;
|
||||
import com.cf.imes.module.system.controller.admin.process.vo.process.*;
|
||||
import com.cf.imes.module.system.controller.admin.process.vo.processUser.ProcessAndUserRespVO;
|
||||
import com.cf.imes.module.system.controller.admin.process.vo.processUser.ProcessAndUserSaveReqVO;
|
||||
import com.cf.imes.module.system.controller.admin.process.vo.processUser.UserProcessRespVO;
|
||||
import com.cf.imes.module.system.dal.dataobject.process.ProcessUserDO;
|
||||
import com.cf.imes.module.system.dal.mysql.process.ProcessGroupMapper;
|
||||
import com.cf.imes.module.system.dal.mysql.user.AdminUserMapper;
|
||||
import com.cf.imes.module.system.service.user.AdminUserService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import jakarta.annotation.Resource;
|
||||
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import com.cf.imes.module.system.dal.dataobject.process.ProcessDO;
|
||||
import com.cf.imes.framework.common.pojo.PageResult;
|
||||
import com.cf.imes.framework.common.util.object.BeanUtils;
|
||||
|
||||
import com.cf.imes.module.system.dal.mysql.process.ProcessMapper;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
|
||||
import static com.cf.imes.module.system.enums.ErrorCodeConstants.*;
|
||||
|
||||
|
||||
/**
|
||||
* 工序信息表 process Service 实现类
|
||||
*
|
||||
* @author 晨丰科技
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
public class ProcessServiceImpl implements ProcessService {
|
||||
|
||||
@Resource
|
||||
private ProcessMapper processMapper;
|
||||
|
||||
@Resource
|
||||
private ProcessGroupMapper processGroupMapper;
|
||||
|
||||
@Resource
|
||||
private ProcessUserService processUserService;
|
||||
|
||||
@Resource
|
||||
private AdminUserService adminUserService;
|
||||
|
||||
@Resource
|
||||
private AdminUserMapper userMapper;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Long createProcess(ProcessUserSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
ProcessDO process = BeanUtils.toBean(createReqVO, ProcessDO.class);
|
||||
// 名称相同判断
|
||||
validateNameNoExists(process.getName());
|
||||
processMapper.insert(process);
|
||||
if (createReqVO.getUsers() != "" && createReqVO.getUsers() != null) {
|
||||
Long processID = process.getId();
|
||||
String[] usersId = createReqVO.getUsers().split(",");
|
||||
for (String user : usersId) {
|
||||
ProcessAndUserSaveReqVO processAndUserSaveReqVO = new ProcessAndUserSaveReqVO();
|
||||
try{
|
||||
if (adminUserService.getUser(Long.parseLong(user)) == null){
|
||||
throw new ServiceException(USER_NOT_EXISTS);
|
||||
}
|
||||
|
||||
processAndUserSaveReqVO.setProcessId(processID);
|
||||
processAndUserSaveReqVO.setUserId(Long.parseLong(user));
|
||||
processUserService.createProcessUser(processAndUserSaveReqVO);
|
||||
}catch (Exception e){
|
||||
throw new ServiceException(ERR);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
// 返回
|
||||
return process.getId();
|
||||
}
|
||||
|
||||
private void validateNameNoExists(String name) {
|
||||
if (name != null) {
|
||||
if (!name.isEmpty()) {
|
||||
if (processMapper.selectCount(new LambdaQueryWrapper<ProcessDO>()
|
||||
.eq(ProcessDO::getName, name)
|
||||
.eq(ProcessDO::getDeleted, false)
|
||||
.eq(ProcessDO::getOrganId, OrganContextHolder.getOrganId())) > 0) {
|
||||
throw new ServiceException(PROCESS_NAME_EXISTS);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void validateNameNoExists(String name,Long id) {
|
||||
if (name != null) {
|
||||
if (!name.isEmpty()) {
|
||||
if (processMapper.selectCount(new LambdaQueryWrapper<ProcessDO>()
|
||||
.ne(ProcessDO::getId, id)
|
||||
.eq(ProcessDO::getName, name)
|
||||
.eq(ProcessDO::getDeleted, false)
|
||||
.eq(ProcessDO::getOrganId, OrganContextHolder.getOrganId())) > 0) {
|
||||
throw new ServiceException(PROCESS_NAME_EXISTS);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateProcess(ProcessUserSaveReqVO updateReqVO) {
|
||||
// 校验存在
|
||||
validateProcessExists(updateReqVO.getId());
|
||||
if (!updateReqVO.getIsEnabled()) {//调为禁用
|
||||
if (isProcessUsed(String.valueOf(updateReqVO.getId()))){
|
||||
throw new ServiceException(PROCESS_IS_ENABLED);
|
||||
}
|
||||
}
|
||||
|
||||
// 校验名称存在
|
||||
validateNameNoExists(updateReqVO.getName(),updateReqVO.getId());
|
||||
|
||||
ProcessDO updateProcess = BeanUtils.toBean(updateReqVO, ProcessDO.class);
|
||||
|
||||
processUserService.deleteProcessUserByProcess(updateReqVO.getId());
|
||||
// 确保updateReqVO不是null,避免NullPointerException
|
||||
if (updateReqVO != null && updateReqVO.getUsers() != null && updateReqVO.getUsers() != "") {
|
||||
String[] usersId = updateReqVO.getUsers().split(",");
|
||||
for (String user : usersId) {
|
||||
// 增加了对无法解析的用户ID的异常处理
|
||||
try {
|
||||
// 增加了对空字符串和仅包含空白字符的用户ID的验证
|
||||
if (!user.trim().isEmpty()) {
|
||||
ProcessAndUserSaveReqVO processAndUserSaveReqVO = new ProcessAndUserSaveReqVO();
|
||||
processAndUserSaveReqVO.setProcessId(updateProcess.getId());
|
||||
processAndUserSaveReqVO.setUserId(Long.parseLong(user));
|
||||
processUserService.createProcessUser(processAndUserSaveReqVO);
|
||||
}
|
||||
} catch (NumberFormatException e) {
|
||||
|
||||
throw new ServiceException(ERR);
|
||||
}
|
||||
}
|
||||
}
|
||||
processMapper.updateById(updateProcess);
|
||||
}
|
||||
|
||||
// 判断此工序是否已在工序组中使用
|
||||
public boolean isProcessUsed(String items) {
|
||||
// System.out.println("processGroupMapper.selectListByItems(items) " + processGroupMapper.selectListByItems(items));
|
||||
// System.out.println(processGroupMapper.selectListByItems(items).size());
|
||||
if (processGroupMapper.selectListByItems(items).size() == 0) // 没有使用
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteProcess(Long id) {
|
||||
// 校验存在
|
||||
validateProcessExists(id);
|
||||
if (isProcessUsed(String.valueOf(id))){
|
||||
throw new ServiceException(PROCESS_IS_ENABLED);
|
||||
}
|
||||
// 删除
|
||||
processMapper.deleteById(id);
|
||||
|
||||
}
|
||||
|
||||
private void validateProcessExists(Long id) {
|
||||
if (processMapper.selectById(id) == null) {
|
||||
throw new ServiceException(PROCESS_NOT_EXISTS);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProcessUserRespVO getProcess(Long id) {
|
||||
// 校验存在
|
||||
validateProcessExists(id);
|
||||
ProcessDO process = processMapper.selectById(id);
|
||||
StringBuilder userIdBuilder = new StringBuilder();
|
||||
List<ProcessUserDO> userIdListsByProcessId = processUserService.getProcessUser(id);
|
||||
if (userIdListsByProcessId != null) {
|
||||
for (ProcessUserDO processUser : userIdListsByProcessId) {
|
||||
if (processUser != null && processUser.getUserId() != null) {
|
||||
if (adminUserService.getUser(processUser.getUserId()) != null)
|
||||
userIdBuilder.append(",").append(processUser.getUserId());
|
||||
}
|
||||
}
|
||||
}
|
||||
String userId = userIdBuilder.length() > 0 ? userIdBuilder.substring(1) : "";
|
||||
ProcessUserRespVO processUserRespVO = BeanUtils.toBean(process, ProcessUserRespVO.class);
|
||||
processUserRespVO.setUsers(userId);
|
||||
return processUserRespVO;
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<ProcessDO> getProcessPage(ProcessPageReqVO pageReqVO) {//分页加用户
|
||||
return processMapper.selectPage(pageReqVO.setOrganId(OrganContextHolder.getOrganId()).setIsDealer(false));
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<ProcessRespVO> getProcessPageAll(ProcessPageReqVO pageReqVO) {
|
||||
PageDTO<ProcessDO> page = new PageDTO<>(pageReqVO.getPageNo(), pageReqVO.getPageSize());
|
||||
IPage<ProcessDO> processRespVOPageResult = processMapper.selectProcessPage(page,BeanUtils.toBean(pageReqVO, ProcessPageReqVO.class).setOrganId(OrganContextHolder.getOrganId()));
|
||||
return new PageResult<ProcessRespVO>(BeanUtils.toBean(processRespVOPageResult.getRecords(), ProcessRespVO.class), processRespVOPageResult.getTotal());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ProcessDO> getAllProcess() {
|
||||
// 获取组织id
|
||||
Long organId = OrganContextHolder.getOrganId();
|
||||
List<ProcessDO> processDOList = processMapper.selectAll(organId);
|
||||
return processDOList;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<ProcessDO> getUserProcess(Long userId) {
|
||||
|
||||
// 获取组织id
|
||||
Long organId = OrganContextHolder.getOrganId();
|
||||
return processMapper.selectProcessList(organId,userId)
|
||||
.stream()
|
||||
.filter(f-> (!Objects.equals(f.getType(), ProcessProcessingTypeEnum.CUTTINGMATERIALS.getNumber())))
|
||||
.toList();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public UserProcessRespVO getUserProcessName() {
|
||||
|
||||
// 查询当前组织的工序信息和已经分配了加工人的工序信息
|
||||
List<ProcessAndUserRespVO> userProcessDTO = processMapper.selectUserProcess(getUserOrganId());
|
||||
List<String> processName = userProcessDTO.stream().map(m -> m.getProcessName()).distinct().collect(Collectors.toList());
|
||||
|
||||
List<Long> userIds = userProcessDTO.stream().map(m -> m.getUserId()).distinct().collect(Collectors.toList());
|
||||
|
||||
|
||||
List<String> userName = userMapper.selectListByIds(userIds, getUserOrganId())
|
||||
.stream().map(m -> m.getNickname()).collect(Collectors.toList());
|
||||
|
||||
|
||||
return UserProcessRespVO.builder()
|
||||
.processName(processName)
|
||||
.processUser(userName)
|
||||
.build();
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
-48
@@ -1,48 +0,0 @@
|
||||
package com.cf.imes.module.system.service.process;
|
||||
|
||||
import jakarta.validation.*;
|
||||
|
||||
import com.cf.imes.module.system.controller.admin.process.vo.processUser.ProcessAndUserSaveReqVO;
|
||||
import com.cf.imes.module.system.dal.dataobject.process.ProcessUserDO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 工序用户表 process_user Service 接口
|
||||
*
|
||||
* @author 晨丰科技
|
||||
*/
|
||||
public interface ProcessUserService {
|
||||
|
||||
/**
|
||||
* 创建工序用户表 process_user
|
||||
*
|
||||
* @param createReqVO 创建信息
|
||||
* @return 编号
|
||||
*/
|
||||
Long createProcessUser(@Valid ProcessAndUserSaveReqVO createReqVO);
|
||||
|
||||
/**
|
||||
* 更新工序用户表 process_user
|
||||
*
|
||||
* @param updateReqVO 更新信息
|
||||
*/
|
||||
void updateProcessUser(@Valid ProcessAndUserSaveReqVO updateReqVO);
|
||||
|
||||
/**
|
||||
* 删除工序用户表 process_user
|
||||
*
|
||||
* @param processId 编号
|
||||
*/
|
||||
void deleteProcessUserByProcess(Long processId);
|
||||
|
||||
|
||||
/**
|
||||
* 获得工序用户表 process_user
|
||||
*
|
||||
* @param processId 工序Id
|
||||
* @return 工序用户表 process_user
|
||||
*/
|
||||
List<ProcessUserDO> getProcessUser(Long processId);
|
||||
|
||||
}
|
||||
-75
@@ -1,75 +0,0 @@
|
||||
package com.cf.imes.module.system.service.process;
|
||||
|
||||
import com.cf.imes.framework.common.exception.ServiceException;
|
||||
import com.cf.imes.module.system.controller.admin.process.vo.processUser.ProcessAndUserSaveReqVO;
|
||||
import org.springframework.stereotype.Service;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import com.cf.imes.module.system.dal.dataobject.process.ProcessUserDO;
|
||||
import com.cf.imes.framework.common.util.object.BeanUtils;
|
||||
|
||||
import com.cf.imes.module.system.dal.mysql.process.ProcessUserMapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static com.cf.imes.module.system.enums.ErrorCodeConstants.PROCESS_USER_EXISTS;
|
||||
import static com.cf.imes.module.system.enums.ErrorCodeConstants.PROCESS_USER_NOT_EXISTS;
|
||||
|
||||
/**
|
||||
* 工序用户表 process_user Service 实现类
|
||||
*
|
||||
* @author 晨丰科技
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
public class ProcessUserServiceImpl implements ProcessUserService {
|
||||
|
||||
@Resource
|
||||
private ProcessUserMapper processUserMapper;
|
||||
|
||||
@Override
|
||||
public Long createProcessUser(ProcessAndUserSaveReqVO createReqVO) {
|
||||
// 判断是否有
|
||||
if (processUserMapper.selectById(createReqVO.getProcessId(), createReqVO.getUserId()).size() != 0) {
|
||||
throw new ServiceException(PROCESS_USER_EXISTS);
|
||||
}
|
||||
// 插入
|
||||
ProcessUserDO processUser = BeanUtils.toBean(createReqVO, ProcessUserDO.class);
|
||||
processUserMapper.insert(processUser);
|
||||
// 返回
|
||||
return processUser.getProcessId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateProcessUser(ProcessAndUserSaveReqVO updateReqVO) {
|
||||
// 校验存在
|
||||
if (processUserMapper.selectById(updateReqVO.getProcessId(), updateReqVO.getUserId()).size() != 0) {
|
||||
throw new ServiceException(PROCESS_USER_EXISTS);
|
||||
}
|
||||
// 更新
|
||||
ProcessUserDO updateObj = BeanUtils.toBean(updateReqVO, ProcessUserDO.class);
|
||||
processUserMapper.updateById(updateObj);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteProcessUserByProcess(Long processId) {
|
||||
// 校验存在
|
||||
// validateProcessUserExists(processId);
|
||||
// 删除
|
||||
processUserMapper.deleteUserByProcessId(processId);
|
||||
}
|
||||
|
||||
private void validateProcessUserExists(Long id) {
|
||||
if (processUserMapper.selectByProcessId(id).size() == 0) {
|
||||
throw new ServiceException(PROCESS_USER_NOT_EXISTS);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ProcessUserDO> getProcessUser(Long id) {
|
||||
return processUserMapper.selectByProcessId(id);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
-26
@@ -1,26 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.cf.imes.module.system.dal.mysql.process.ProcessGroupMapper">
|
||||
|
||||
<select id="selectOneById" resultType="com.cf.imes.module.system.dal.dataobject.process.ProcessGroupDO">
|
||||
select
|
||||
p.id,
|
||||
p.organ_id,
|
||||
p.name,
|
||||
p.is_default,
|
||||
p.sort,
|
||||
p.items,
|
||||
p.description,
|
||||
p.creator,
|
||||
p.create_time,
|
||||
p.updater,
|
||||
p.update_time,
|
||||
p.deleted
|
||||
from process_group p
|
||||
where p.id = #{id} and p.organ_id = #{organId} and p.deleted = 0
|
||||
</select>
|
||||
|
||||
<update id="updateIsDefault" >
|
||||
UPDATE process_group SET is_default = 0 WHERE organ_id = #{organId} AND id != #{processGroupId}
|
||||
</update>
|
||||
</mapper>
|
||||
-94
@@ -1,94 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||
<mapper namespace="com.cf.imes.module.system.dal.mysql.process.ProcessMapper">
|
||||
<select id="selectProcessPage" resultType="com.cf.imes.module.system.dal.dataobject.process.ProcessDO">
|
||||
select
|
||||
p.id,
|
||||
p.organ_id,
|
||||
p.name,
|
||||
p.piece_rate,
|
||||
p.piece_type,
|
||||
p.type,
|
||||
p.is_custom,
|
||||
p.is_dealer,
|
||||
p.hour_capacity,
|
||||
p.sort,
|
||||
p.unit,
|
||||
p.is_enabled,
|
||||
p.prepare_time,
|
||||
p.description,
|
||||
p.creator,
|
||||
p.create_time,
|
||||
p.updater,
|
||||
p.update_time,
|
||||
p.deleted
|
||||
from process p
|
||||
<where>
|
||||
p.deleted = 0 and p.organ_id = #{vo.organId}
|
||||
<if test="vo.userId != null and vo.userId != '' ">
|
||||
and p.id in (select process_id from process_user where user_id = #{vo.userId})
|
||||
</if>
|
||||
<if test="vo.name != null and vo.name != '' ">
|
||||
and p.name like concat('%', #{vo.name}, '%')
|
||||
</if>
|
||||
<if test="vo.isEnabled != null">
|
||||
and p.is_enabled = #{vo.isEnabled}
|
||||
</if>
|
||||
<if test="vo.type != null">
|
||||
and p.type = #{vo.type}
|
||||
</if>
|
||||
<if test="vo.pieceType != null">
|
||||
and p.piece_type = #{vo.pieceType}
|
||||
</if>
|
||||
</where>
|
||||
order by sort,id desc
|
||||
</select>
|
||||
|
||||
<select id="selectOneById" resultType="com.cf.imes.module.system.dal.dataobject.process.ProcessDO">
|
||||
select
|
||||
p.id,
|
||||
p.organ_id,
|
||||
p.name,
|
||||
p.piece_rate,
|
||||
p.piece_type,
|
||||
p.type,
|
||||
p.is_custom,
|
||||
p.is_dealer,
|
||||
p.hour_capacity,
|
||||
p.sort,
|
||||
p.unit,
|
||||
p.is_enabled,
|
||||
p.prepare_time,
|
||||
p.description,
|
||||
p.creator,
|
||||
p.create_time,
|
||||
p.updater,
|
||||
p.update_time,
|
||||
p.deleted
|
||||
from process p
|
||||
where p.id = #{id} and p.organ_id = #{organId} and p.deleted = 0
|
||||
</select>
|
||||
|
||||
|
||||
<delete id="deleteById" parameterType="java.lang.Long">
|
||||
DELETE FROM process
|
||||
WHERE id = #{id};
|
||||
</delete>
|
||||
|
||||
|
||||
<select id="selectUserProcess"
|
||||
resultType="com.cf.imes.module.system.controller.admin.process.vo.processUser.ProcessAndUserRespVO">
|
||||
|
||||
|
||||
select distinct p.name as processName,pu.user_id as userId
|
||||
from process p
|
||||
join process_user pu on p.id = pu.process_id
|
||||
where p.organ_id = #{organId} and p.deleted = false
|
||||
|
||||
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
|
||||
</mapper>
|
||||
-18
@@ -1,18 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.cf.imes.module.system.dal.mysql.process.ProcessUserMapper">
|
||||
|
||||
<delete id="deleteUserByProcessId" parameterType="Long">
|
||||
DELETE FROM process_user
|
||||
WHERE process_id = #{processId};
|
||||
</delete>
|
||||
|
||||
<select id="selectOneById" resultType="com.cf.imes.module.system.dal.dataobject.process.ProcessUserDO">
|
||||
select
|
||||
p.organ_id,
|
||||
p.process_id,
|
||||
p.user_id,
|
||||
from process_user p
|
||||
where p.organ_id = #{organId} and p.process_id = #{processId} and p.deleted = 0
|
||||
</select>
|
||||
</mapper>
|
||||
-150
@@ -1,150 +0,0 @@
|
||||
package com.cf.imes.module.system.service.process;
|
||||
|
||||
import com.cf.imes.framework.common.pojo.PageResult;
|
||||
import com.cf.imes.module.system.controller.admin.process.vo.group.ProcessGroupPageReqVO;
|
||||
import com.cf.imes.module.system.controller.admin.process.vo.group.ProcessGroupSaveReqVO;
|
||||
import com.cf.imes.module.system.dal.dataobject.process.ProcessGroupDO;
|
||||
import com.cf.imes.module.system.dal.mysql.process.ProcessGroupMapper;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
|
||||
import jakarta.annotation.Resource;
|
||||
|
||||
import com.cf.imes.framework.test.core.ut.BaseDbUnitTest;
|
||||
|
||||
|
||||
import org.springframework.context.annotation.Import;
|
||||
import java.util.*;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import static cn.hutool.core.util.RandomUtil.*;
|
||||
import static com.cf.imes.framework.test.core.util.AssertUtils.*;
|
||||
import static com.cf.imes.framework.test.core.util.RandomUtils.*;
|
||||
import static com.cf.imes.framework.common.util.date.LocalDateTimeUtils.*;
|
||||
import static com.cf.imes.framework.common.util.object.ObjectUtils.*;
|
||||
import static com.cf.imes.framework.common.util.date.DateUtils.*;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import static org.mockito.Mockito.*;
|
||||
|
||||
import static com.cf.imes.module.system.enums.ErrorCodeConstants.*;
|
||||
/**
|
||||
* {@link ProcessGroupServiceImpl} 的单元测试类
|
||||
*
|
||||
* @author 晨丰科技
|
||||
*/
|
||||
@Import(ProcessGroupServiceImpl.class)
|
||||
public class GroupServiceImplTest extends BaseDbUnitTest {
|
||||
|
||||
@Resource
|
||||
private ProcessGroupServiceImpl groupService;
|
||||
|
||||
@Resource
|
||||
private ProcessGroupMapper groupMapper;
|
||||
|
||||
@Test
|
||||
public void testCreateGroup_success() {
|
||||
// 准备参数
|
||||
ProcessGroupSaveReqVO createReqVO = randomPojo(ProcessGroupSaveReqVO.class).setId(null);
|
||||
|
||||
// 调用
|
||||
Long groupId = groupService.createProcessGroup(createReqVO);
|
||||
// 断言
|
||||
assertNotNull(groupId);
|
||||
// 校验记录的属性是否正确
|
||||
ProcessGroupDO group = groupMapper.selectById(groupId);
|
||||
assertPojoEquals(createReqVO, group, "id");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* @Test
|
||||
public void testUpdateGroup_success() {
|
||||
// mock 数据
|
||||
ProcessGroupDO dbGroup = randomPojo(ProcessGroupDO.class);
|
||||
groupMapper.insert(dbGroup);// @Sql: 先插入出一条存在的数据
|
||||
// 准备参数
|
||||
ProcessGroupSaveReqVO updateReqVO = randomPojo(ProcessGroupSaveReqVO.class, o -> {
|
||||
o.setId(dbGroup.getId()); // 设置更新的 ID
|
||||
});
|
||||
|
||||
// 调用
|
||||
//groupService.updateProcessGroup(updateReqVO);
|
||||
// 校验是否更新正确
|
||||
ProcessGroupDO group = groupMapper.selectById(updateReqVO.getId()); // 获取最新的
|
||||
assertPojoEquals(updateReqVO, group);
|
||||
}*/
|
||||
|
||||
/* @Test
|
||||
public void testUpdateGroup_notExists() {
|
||||
// 准备参数
|
||||
ProcessGroupSaveReqVO updateReqVO = randomPojo(ProcessGroupSaveReqVO.class);
|
||||
|
||||
// 调用, 并断言异常
|
||||
//assertServiceException(() -> groupService.updateProcessGroup(updateReqVO), PROCESS_GROUP_NOT_EXISTS);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDeleteGroup_success() {
|
||||
// mock 数据
|
||||
ProcessGroupDO dbGroup = randomPojo(ProcessGroupDO.class);
|
||||
groupMapper.insert(dbGroup);// @Sql: 先插入出一条存在的数据
|
||||
// 准备参数
|
||||
Long id = dbGroup.getId();
|
||||
|
||||
// 调用
|
||||
groupService.deleteProcessGroup(id);
|
||||
// 校验数据不存在了
|
||||
assertNull(groupMapper.selectById(id));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDeleteGroup_notExists() {
|
||||
// 准备参数
|
||||
Long id = randomLongId();
|
||||
|
||||
// 调用, 并断言异常
|
||||
assertServiceException(() -> groupService.deleteProcessGroup(id), PROCESS_GROUP_NOT_EXISTS);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解
|
||||
public void testGetGroupPage() {
|
||||
// mock 数据
|
||||
ProcessGroupDO dbGroup = randomPojo(ProcessGroupDO.class, o -> { // 等会查询到
|
||||
o.setName(null);
|
||||
o.setIsDefault(null);
|
||||
o.setSort(null);
|
||||
o.setItems(null);
|
||||
o.setDescription(null);
|
||||
o.setCreateTime(null);
|
||||
});
|
||||
groupMapper.insert(dbGroup);
|
||||
// 测试 name 不匹配
|
||||
groupMapper.insert(cloneIgnoreId(dbGroup, o -> o.setName(null)));
|
||||
// 测试 isDefault 不匹配
|
||||
groupMapper.insert(cloneIgnoreId(dbGroup, o -> o.setIsDefault(null)));
|
||||
// 测试 sort 不匹配
|
||||
groupMapper.insert(cloneIgnoreId(dbGroup, o -> o.setSort(null)));
|
||||
// 测试 items 不匹配
|
||||
groupMapper.insert(cloneIgnoreId(dbGroup, o -> o.setItems(null)));
|
||||
// 测试 description 不匹配
|
||||
groupMapper.insert(cloneIgnoreId(dbGroup, o -> o.setDescription(null)));
|
||||
// 测试 createTime 不匹配
|
||||
groupMapper.insert(cloneIgnoreId(dbGroup, o -> o.setCreateTime(null)));
|
||||
// 准备参数
|
||||
ProcessGroupPageReqVO reqVO = new ProcessGroupPageReqVO();
|
||||
reqVO.setName(null);
|
||||
reqVO.setIsDefault(null);
|
||||
reqVO.setSort(null);
|
||||
reqVO.setItems(null);
|
||||
reqVO.setDescription(null);
|
||||
reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
|
||||
|
||||
// 调用
|
||||
PageResult<ProcessGroupDO> pageResult = groupService.getProcessGroupPage(reqVO);
|
||||
// 断言
|
||||
assertEquals(1, pageResult.getTotal());
|
||||
assertEquals(1, pageResult.getList().size());
|
||||
assertPojoEquals(dbGroup, pageResult.getList().get(0));
|
||||
}*/
|
||||
-174
@@ -1,174 +0,0 @@
|
||||
package com.cf.imes.module.system.service.process;
|
||||
|
||||
import com.cf.imes.module.system.controller.admin.process.vo.process.ProcessPageReqVO;
|
||||
import com.cf.imes.module.system.controller.admin.process.vo.process.ProcessSaveReqVO;
|
||||
import com.cf.imes.module.system.controller.admin.process.vo.process.ProcessUserSaveReqVO;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import jakarta.annotation.Resource;
|
||||
|
||||
import com.cf.imes.framework.test.core.ut.BaseDbUnitTest;
|
||||
|
||||
import com.cf.imes.module.system.dal.dataobject.process.ProcessDO;
|
||||
import com.cf.imes.module.system.dal.mysql.process.ProcessMapper;
|
||||
import com.cf.imes.framework.common.pojo.PageResult;
|
||||
|
||||
import org.springframework.context.annotation.Import;
|
||||
|
||||
import static com.cf.imes.module.system.enums.ErrorCodeConstants.*;
|
||||
import static com.cf.imes.framework.test.core.util.AssertUtils.*;
|
||||
import static com.cf.imes.framework.test.core.util.RandomUtils.*;
|
||||
import static com.cf.imes.framework.common.util.date.LocalDateTimeUtils.*;
|
||||
import static com.cf.imes.framework.common.util.object.ObjectUtils.*;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
/**
|
||||
* {@link ProcessServiceImpl} 的单元测试类
|
||||
*
|
||||
* @author 晨丰科技
|
||||
*/
|
||||
@Import(ProcessServiceImpl.class)
|
||||
public class ProcessServiceImplTest extends BaseDbUnitTest {
|
||||
|
||||
@Resource
|
||||
private ProcessServiceImpl processService;
|
||||
|
||||
@Resource
|
||||
private ProcessMapper processMapper;
|
||||
|
||||
@Test
|
||||
public void testCreateProcess_success() {
|
||||
// 准备参数
|
||||
ProcessUserSaveReqVO createReqVO = randomPojo(ProcessUserSaveReqVO.class).setId(null);
|
||||
System.out.println(createReqVO);
|
||||
|
||||
// 调用
|
||||
Long processId = processService.createProcess(createReqVO);
|
||||
// 断言
|
||||
assertNotNull(processId);
|
||||
// 校验记录的属性是否正确
|
||||
ProcessDO process = processMapper.selectById(processId);
|
||||
assertPojoEquals(createReqVO, process, "id");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUpdateProcess_success() {
|
||||
// mock 数据
|
||||
ProcessDO dbProcess = randomPojo(ProcessDO.class);
|
||||
processMapper.insert(dbProcess);// @Sql: 先插入出一条存在的数据
|
||||
// 准备参数
|
||||
ProcessUserSaveReqVO updateReqVO = randomPojo(ProcessUserSaveReqVO.class, o -> {
|
||||
o.setId(dbProcess.getId()); // 设置更新的 ID
|
||||
});
|
||||
|
||||
// 调用
|
||||
processService.updateProcess(updateReqVO);
|
||||
// 校验是否更新正确
|
||||
ProcessDO process = processMapper.selectById(updateReqVO.getId()); // 获取最新的
|
||||
assertPojoEquals(updateReqVO, process);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUpdateProcess_notExists() {
|
||||
// 准备参数
|
||||
ProcessUserSaveReqVO updateReqVO = randomPojo(ProcessUserSaveReqVO.class);
|
||||
|
||||
// 调用, 并断言异常
|
||||
assertServiceException(() -> processService.updateProcess(updateReqVO), PROCESS_NOT_EXISTS);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDeleteProcess_success() {
|
||||
// mock 数据
|
||||
ProcessDO dbProcess = randomPojo(ProcessDO.class);
|
||||
processMapper.insert(dbProcess);// @Sql: 先插入出一条存在的数据
|
||||
// 准备参数
|
||||
Long id = dbProcess.getId();
|
||||
|
||||
// 调用
|
||||
processService.deleteProcess(id);
|
||||
// 校验数据不存在了
|
||||
assertNull(processMapper.selectById(id));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDeleteProcess_notExists() {
|
||||
// 准备参数
|
||||
Long id = randomLongId();
|
||||
|
||||
// 调用, 并断言异常
|
||||
assertServiceException(() -> processService.deleteProcess(id), PROCESS_NOT_EXISTS);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解
|
||||
public void testGetProcessPage() {
|
||||
// mock 数据
|
||||
ProcessDO dbProcess = randomPojo(ProcessDO.class, o -> { // 等会查询到
|
||||
o.setName(null);
|
||||
o.setPieceRate(null);
|
||||
o.setPieceType(null);
|
||||
o.setType(null);
|
||||
o.setIsCustom(null);
|
||||
o.setIsDealer(null);
|
||||
o.setSort(null);
|
||||
o.setHourCapacity(null);
|
||||
o.setUnit(null);
|
||||
o.setIsEnabled(null);
|
||||
o.setPrepareTime(null);
|
||||
o.setDescription(null);
|
||||
o.setCreateTime(null);
|
||||
});
|
||||
processMapper.insert(dbProcess);
|
||||
// 测试 name 不匹配
|
||||
processMapper.insert(cloneIgnoreId(dbProcess, o -> o.setName(null)));
|
||||
// 测试 pieceRate 不匹配
|
||||
processMapper.insert(cloneIgnoreId(dbProcess, o -> o.setPieceRate(null)));
|
||||
// 测试 pieceType 不匹配
|
||||
processMapper.insert(cloneIgnoreId(dbProcess, o -> o.setPieceType(null)));
|
||||
// 测试 type 不匹配
|
||||
processMapper.insert(cloneIgnoreId(dbProcess, o -> o.setType(null)));
|
||||
// 测试 isCustom 不匹配
|
||||
processMapper.insert(cloneIgnoreId(dbProcess, o -> o.setIsCustom(null)));
|
||||
// 测试 isDealer 不匹配
|
||||
processMapper.insert(cloneIgnoreId(dbProcess, o -> o.setIsDealer(null)));
|
||||
// 测试 sort 不匹配
|
||||
processMapper.insert(cloneIgnoreId(dbProcess, o -> o.setSort(null)));
|
||||
// 测试 hourCapacity 不匹配
|
||||
processMapper.insert(cloneIgnoreId(dbProcess, o -> o.setHourCapacity(null)));
|
||||
// 测试 unit 不匹配
|
||||
processMapper.insert(cloneIgnoreId(dbProcess, o -> o.setUnit(null)));
|
||||
// 测试 isEnabled 不匹配
|
||||
processMapper.insert(cloneIgnoreId(dbProcess, o -> o.setIsEnabled(null)));
|
||||
// 测试 prepareTime 不匹配
|
||||
processMapper.insert(cloneIgnoreId(dbProcess, o -> o.setPrepareTime(null)));
|
||||
// 测试 description 不匹配
|
||||
processMapper.insert(cloneIgnoreId(dbProcess, o -> o.setDescription(null)));
|
||||
// 测试 createTime 不匹配
|
||||
processMapper.insert(cloneIgnoreId(dbProcess, o -> o.setCreateTime(null)));
|
||||
// 准备参数
|
||||
ProcessPageReqVO reqVO = new ProcessPageReqVO();
|
||||
reqVO.setName(null);
|
||||
reqVO.setPieceRate(null);
|
||||
reqVO.setPieceType(null);
|
||||
reqVO.setType(null);
|
||||
reqVO.setIsCustom(null);
|
||||
reqVO.setIsDealer(null);
|
||||
reqVO.setSort(null);
|
||||
reqVO.setHourCapacity(null);
|
||||
reqVO.setUnit(null);
|
||||
reqVO.setIsEnabled(null);
|
||||
// reqVO.setPrepareTime();
|
||||
reqVO.setDescription(null);
|
||||
reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
|
||||
|
||||
// 调用
|
||||
PageResult<ProcessDO> pageResult = processService.getProcessPage(reqVO);
|
||||
// 断言
|
||||
assertEquals(1, pageResult.getTotal());
|
||||
assertEquals(1, pageResult.getList().size());
|
||||
assertPojoEquals(dbProcess, pageResult.getList().get(0));
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user