工序接口修改

This commit is contained in:
lym
2024-03-07 18:32:53 +08:00
parent 3c96aa94f8
commit cb576a6651
13 changed files with 289 additions and 53 deletions
@@ -201,5 +201,7 @@ public interface ErrorCodeConstants {
//=========== 板材信息 1-002-033-000 ============ //=========== 板材信息 1-002-033-000 ============
ErrorCode REMAIN_PLATE_NOT_EXISTS = new ErrorCode(1_002_032_002, "板材不存在"); ErrorCode REMAIN_PLATE_NOT_EXISTS = new ErrorCode(1_002_032_002, "板材不存在");
//=========== 板材信息 1-002-034-000 ============
ErrorCode PROCESS_USER_NOT_EXISTS = new ErrorCode(1_002_032_002, "工序用户不存在");
} }
@@ -51,7 +51,7 @@ public class ProcessController {
@PutMapping("/update") @PutMapping("/update")
@Operation(summary = "更新工序信息") @Operation(summary = "更新工序信息")
@PreAuthorize("@ss.hasPermission('system:process:update')") @PreAuthorize("@ss.hasPermission('system:process:update')")
public CommonResult<Boolean> updateProcess(@Valid @RequestBody ProcessSaveReqVO updateReqVO) { public CommonResult<Boolean> updateProcess(@Valid @RequestBody ProcessUserSaveReqVO updateReqVO) {
processService.updateProcess(updateReqVO); processService.updateProcess(updateReqVO);
return success(true); return success(true);
} }
@@ -69,9 +69,9 @@ public class ProcessController {
@Operation(summary = "获得工序信息") @Operation(summary = "获得工序信息")
@Parameter(name = "id", description = "编号", required = true, example = "1024") @Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('system:process:query')") @PreAuthorize("@ss.hasPermission('system:process:query')")
public CommonResult<ProcessRespVO> getProcess(@RequestParam("id") Long id) { public CommonResult<ProcessUserRespVO> getProcess(@RequestParam("id") Long id) {
ProcessDO process = processService.getProcess(id); ProcessUserRespVO processUser = processService.getProcess(id);
return success(BeanUtils.toBean(process, ProcessRespVO.class)); return success(BeanUtils.toBean(processUser, ProcessUserRespVO.class));
} }
@GetMapping("/page") @GetMapping("/page")
@@ -0,0 +1,80 @@
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;
}
@@ -62,8 +62,7 @@ public class ProcessUserSaveReqVO {
@NotEmpty(message = "描述不能为空") @NotEmpty(message = "描述不能为空")
private String description; private String description;
@Schema(description = "用户ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "你说的对") @Schema(description = "用户ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12,13")
@NotEmpty(message = "用户ID不能为空")
private String Users; private String Users;
} }
@@ -4,17 +4,23 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import com.alibaba.excel.annotation.*; import com.alibaba.excel.annotation.*;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 工序用户表 process_user Response VO") @Schema(description = "管理后台 - 工序用户表 process_user Response VO")
@Data @Data
@ExcelIgnoreUnannotated @ExcelIgnoreUnannotated
public class ProcessUserRespVO { public class ProcessAndUserRespVO {
@Schema(description = "工序 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "22658") @Schema(description = "工序 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9416")
@ExcelProperty("工序 ID") @ExcelProperty("工序 ID")
private Long processId; private Long processId;
@Schema(description = "用户 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11525") @Schema(description = "用户 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "24517")
@ExcelProperty("用户 ID") @ExcelProperty("用户 ID")
private Long userId; private Long userId;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDateTime createTime;
} }
@@ -2,18 +2,18 @@ package com.cf.imes.module.system.controller.admin.process.vo.processUser;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import javax.validation.constraints.NotNull;
@Schema(description = "管理后台 - 工序用户表 process_user新增/修改 Request VO") @Schema(description = "管理后台 - 工序用户表 process_user新增/修改 Request VO")
@Data @Data
public class ProcessUserSaveReqVO { public class ProcessAndUserSaveReqVO {
@Schema(description = "组织 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "24616") @Schema(description = "工序 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9416")
private Long organId; @NotNull(message = "工序 ID不能为空")
@Schema(description = "工序 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "22658")
private Long processId; private Long processId;
@Schema(description = "用户 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11525") @Schema(description = "用户 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "24517")
@NotNull(message = "用户 ID不能为空")
private Long userId; private Long userId;
} }
@@ -1,13 +0,0 @@
package com.cf.imes.module.system.controller.admin.process.vo.processUser;
import lombok.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.cf.imes.framework.common.pojo.PageParam;
@Schema(description = "管理后台 - 工序用户表 process_user分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ProcessUserPageReqVO extends PageParam {
}
@@ -13,22 +13,20 @@ import com.cf.imes.framework.mybatis.core.dataobject.BaseDO;
@TableName("process_user") @TableName("process_user")
@KeySequence("process_user_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 @KeySequence("process_user_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true) @ToString(callSuper = true)
@Builder @Builder
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
public class ProcessUserDO { public class ProcessUserDO extends BaseDO {
/** /**
* 工序 ID * 工序 ID
*/ */
// @TableId
private Long processId; private Long processId;
/** /**
* 用户 ID * 用户 ID
*/ */
// @TableId
private Long userId; private Long userId;
} }
@@ -4,6 +4,8 @@ import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
import com.cf.imes.module.system.dal.dataobject.process.ProcessUserDO; import com.cf.imes.module.system.dal.dataobject.process.ProcessUserDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/** /**
* 工序用户表 process_user Mapper * 工序用户表 process_user Mapper
* *
@@ -12,9 +14,15 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper @Mapper
public interface ProcessUserMapper extends BaseMapperX<ProcessUserDO> { public interface ProcessUserMapper extends BaseMapperX<ProcessUserDO> {
// default PageResult<ProcessUserDO> selectPage(ProcessUserPageReqVO reqVO) { default List<ProcessUserDO> selectByProcessId(Long processId) {
// return selectPage(reqVO, new LambdaQueryWrapperX<ProcessUserDO>() return selectList(ProcessUserDO::getProcessId, processId);
// .orderByDesc(ProcessUserDO::getId)); }
// }
default ProcessUserDO selectUserByProcessId(Long processId) {
return selectOne(ProcessUserDO::getProcessId, processId);
}
default int deleteUserByProcessId(Long processId) {
return delete(ProcessUserDO::getProcessId, processId);
}
} }
@@ -2,6 +2,7 @@ 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.ProcessPageReqVO;
import com.cf.imes.module.system.controller.admin.process.vo.process.ProcessSaveReqVO; import com.cf.imes.module.system.controller.admin.process.vo.process.ProcessSaveReqVO;
import com.cf.imes.module.system.controller.admin.process.vo.process.ProcessUserRespVO;
import com.cf.imes.module.system.controller.admin.process.vo.process.ProcessUserSaveReqVO; import com.cf.imes.module.system.controller.admin.process.vo.process.ProcessUserSaveReqVO;
import com.cf.imes.module.system.dal.dataobject.process.ProcessDO; import com.cf.imes.module.system.dal.dataobject.process.ProcessDO;
import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.common.pojo.PageResult;
@@ -28,7 +29,7 @@ public interface ProcessService {
* *
* @param updateReqVO 更新信息 * @param updateReqVO 更新信息
*/ */
void updateProcess(@Valid ProcessSaveReqVO updateReqVO); void updateProcess(@Valid ProcessUserSaveReqVO updateReqVO);
/** /**
* 删除工序信息表 process * 删除工序信息表 process
@@ -43,7 +44,7 @@ public interface ProcessService {
* @param id 编号 * @param id 编号
* @return 工序信息表 process * @return 工序信息表 process
*/ */
ProcessDO getProcess(Long id); ProcessUserRespVO getProcess(Long id);
/** /**
* 获得工序信息表 process分页 * 获得工序信息表 process分页
@@ -2,9 +2,12 @@ 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.ProcessPageReqVO;
import com.cf.imes.module.system.controller.admin.process.vo.process.ProcessSaveReqVO; import com.cf.imes.module.system.controller.admin.process.vo.process.ProcessSaveReqVO;
import com.cf.imes.module.system.controller.admin.process.vo.process.ProcessUserRespVO;
import com.cf.imes.module.system.controller.admin.process.vo.process.ProcessUserSaveReqVO; import com.cf.imes.module.system.controller.admin.process.vo.process.ProcessUserSaveReqVO;
import com.cf.imes.module.system.controller.admin.process.vo.processUser.ProcessAndUserSaveReqVO;
import com.cf.imes.module.system.dal.dataobject.process.ProcessUserDO; import com.cf.imes.module.system.dal.dataobject.process.ProcessUserDO;
import com.cf.imes.module.system.dal.mysql.process.ProcessUserMapper; import com.cf.imes.module.system.dal.mysql.process.ProcessUserMapper;
import com.cf.imes.module.system.service.user.AdminUserService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
@@ -17,6 +20,9 @@ import com.cf.imes.framework.common.util.object.BeanUtils;
import com.cf.imes.module.system.dal.mysql.process.ProcessMapper; import com.cf.imes.module.system.dal.mysql.process.ProcessMapper;
import java.util.Arrays;
import java.util.List;
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.cf.imes.module.system.enums.ErrorCodeConstants.*; import static com.cf.imes.module.system.enums.ErrorCodeConstants.*;
@@ -35,7 +41,10 @@ public class ProcessServiceImpl implements ProcessService {
private ProcessMapper processMapper; private ProcessMapper processMapper;
@Resource @Resource
private ProcessUserMapper processUserMapper; private ProcessUserService processUserService;
@Resource
private AdminUserService adminUserService;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@@ -43,26 +52,42 @@ public class ProcessServiceImpl implements ProcessService {
// 插入 // 插入
ProcessDO process = BeanUtils.toBean(createReqVO, ProcessDO.class); ProcessDO process = BeanUtils.toBean(createReqVO, ProcessDO.class);
processMapper.insert(process); processMapper.insert(process);
Long processID = process.getId(); if (createReqVO.getUsers() != "") {
String[] usersID = createReqVO.getUsers().split(","); Long processID = process.getId();
for (String user : usersID) { String[] usersId = createReqVO.getUsers().split(",");
System.out.println(user); for (String user : usersId) {
ProcessUserDO processUserDO = new ProcessUserDO(); ProcessAndUserSaveReqVO processAndUserSaveReqVO = new ProcessAndUserSaveReqVO();
processUserDO.setProcessId(processID); // if (adminUserService.getUser(Long.parseLong(user)) != null){
processUserDO.setUserId(Long.parseLong(user)); processAndUserSaveReqVO.setProcessId(processID);
processUserMapper.insert(processUserDO); processAndUserSaveReqVO.setUserId(Long.parseLong(user));
processUserService.createProcessUser(processAndUserSaveReqVO);
// }
}
} }
// 返回 // 返回
return process.getId(); return process.getId();
} }
@Override @Override
public void updateProcess(ProcessSaveReqVO updateReqVO) { @Transactional(rollbackFor = Exception.class)
public void updateProcess(ProcessUserSaveReqVO updateReqVO) {
// 校验存在 // 校验存在
validateProcessExists(updateReqVO.getId()); validateProcessExists(updateReqVO.getId());
// 更新 ProcessDO updateProcess = BeanUtils.toBean(updateReqVO, ProcessDO.class);
ProcessDO updateObj = BeanUtils.toBean(updateReqVO, ProcessDO.class); System.out.println("pppppppppppppppppppp" + updateProcess);
processMapper.updateById(updateObj); // 更新工序信息
int updateProcessObj = processMapper.updateById(updateProcess);
processUserService.deleteProcessUserByProcess(updateReqVO.getId());
// if(updateReqVO.getUsers() != null){
// String[] usersId = updateReqVO.getUsers().split(",");
// for (String user : usersId) {
// ProcessAndUserSaveReqVO processAndUserSaveReqVO = new ProcessAndUserSaveReqVO();
// processAndUserSaveReqVO.setProcessId(updateReqVO.getId());
// processAndUserSaveReqVO.setUserId(Long.parseLong(user));
// processUserService.createProcessUser(processAndUserSaveReqVO);
// }
// }
processMapper.updateById(updateProcess);
} }
@Override @Override
@@ -80,8 +105,22 @@ public class ProcessServiceImpl implements ProcessService {
} }
@Override @Override
public ProcessDO getProcess(Long id) { public ProcessUserRespVO getProcess(Long id) {
return processMapper.selectById(id); ProcessDO process = processMapper.selectById(id);
List<ProcessUserDO> userIdListsByProcessId = processUserService.getProcessUser(id);
StringBuilder userIdBuilder = new StringBuilder();
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 @Override
@@ -0,0 +1,48 @@
package com.cf.imes.module.system.service.process;
import javax.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);
}
@@ -0,0 +1,68 @@
package com.cf.imes.module.system.service.process;
import com.cf.imes.module.system.controller.admin.process.vo.processUser.ProcessAndUserSaveReqVO;
import org.springframework.stereotype.Service;
import javax.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.framework.common.exception.util.ServiceExceptionUtil.exception;
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) {
// 插入
ProcessUserDO processUser = BeanUtils.toBean(createReqVO, ProcessUserDO.class);
processUserMapper.insert(processUser);
// 返回
return processUser.getProcessId();
}
@Override
public void updateProcessUser(ProcessAndUserSaveReqVO updateReqVO) {
// 校验存在
validateProcessUserExists(updateReqVO.getProcessId());
// 更新
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 exception(PROCESS_USER_NOT_EXISTS);
}
}
@Override
public List<ProcessUserDO> getProcessUser(Long id) {
return processUserMapper.selectByProcessId(id);
}
}