工序添加用户

This commit is contained in:
lym
2024-03-07 10:57:31 +08:00
parent f5e08ec98b
commit 3c96aa94f8
10 changed files with 209 additions and 4 deletions
@@ -44,7 +44,7 @@ public class ProcessController {
@PostMapping("/create")
@Operation(summary = "新建工序信息")
@PreAuthorize("@ss.hasPermission('system:process:create')")
public CommonResult<Long> createProcess(@Valid @RequestBody ProcessSaveReqVO createReqVO) {
public CommonResult<Long> createProcess(@Valid @RequestBody ProcessUserSaveReqVO createReqVO) {
return success(processService.createProcess(createReqVO));
}
@@ -0,0 +1,69 @@
package com.cf.imes.module.system.controller.admin.process.vo.process;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.Valid;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
@Schema(description = "管理后台 - 工序信息 process新增/修改 Request VO")
@Data
@Valid
public class ProcessUserSaveReqVO {
@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;
@Schema(description = "用户ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "你说的对")
@NotEmpty(message = "用户ID不能为空")
private String Users;
}
@@ -0,0 +1,13 @@
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 {
}
@@ -0,0 +1,20 @@
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.*;
@Schema(description = "管理后台 - 工序用户表 process_user Response VO")
@Data
@ExcelIgnoreUnannotated
public class ProcessUserRespVO {
@Schema(description = "工序 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "22658")
@ExcelProperty("工序 ID")
private Long processId;
@Schema(description = "用户 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11525")
@ExcelProperty("用户 ID")
private Long userId;
}
@@ -0,0 +1,19 @@
package com.cf.imes.module.system.controller.admin.process.vo.processUser;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
@Schema(description = "管理后台 - 工序用户表 process_user新增/修改 Request VO")
@Data
public class ProcessUserSaveReqVO {
@Schema(description = "组织 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "24616")
private Long organId;
@Schema(description = "工序 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "22658")
private Long processId;
@Schema(description = "用户 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11525")
private Long userId;
}
@@ -0,0 +1,34 @@
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 = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ProcessUserDO {
/**
* 工序 ID
*/
// @TableId
private Long processId;
/**
* 用户 ID
*/
// @TableId
private Long userId;
}
@@ -0,0 +1,20 @@
package com.cf.imes.module.system.dal.mysql.process;
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
import com.cf.imes.module.system.dal.dataobject.process.ProcessUserDO;
import org.apache.ibatis.annotations.Mapper;
/**
* 工序用户表 process_user Mapper
*
* @author 晨丰科技
*/
@Mapper
public interface ProcessUserMapper extends BaseMapperX<ProcessUserDO> {
// default PageResult<ProcessUserDO> selectPage(ProcessUserPageReqVO reqVO) {
// return selectPage(reqVO, new LambdaQueryWrapperX<ProcessUserDO>()
// .orderByDesc(ProcessUserDO::getId));
// }
}
@@ -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.ProcessSaveReqVO;
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.framework.common.pojo.PageResult;
@@ -20,7 +21,7 @@ public interface ProcessService {
* @param createReqVO 创建信息
* @return 编号
*/
Long createProcess(@Valid ProcessSaveReqVO createReqVO);
Long createProcess(@Valid ProcessUserSaveReqVO createReqVO);
/**
* 更新工序信息表 process
@@ -2,8 +2,13 @@ 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 com.cf.imes.module.system.dal.dataobject.process.ProcessUserDO;
import com.cf.imes.module.system.dal.mysql.process.ProcessUserMapper;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import com.cf.imes.module.system.dal.dataobject.process.ProcessDO;
@@ -26,15 +31,27 @@ import static com.cf.imes.module.system.enums.ErrorCodeConstants.*;
@Validated
public class ProcessServiceImpl implements ProcessService {
// private static final String PROCESS_NOT_EXISTS = "进程不存在";
@Resource
private ProcessMapper processMapper;
@Resource
private ProcessUserMapper processUserMapper;
@Override
public Long createProcess(ProcessSaveReqVO createReqVO) {
@Transactional(rollbackFor = Exception.class)
public Long createProcess(ProcessUserSaveReqVO createReqVO) {
// 插入
ProcessDO process = BeanUtils.toBean(createReqVO, ProcessDO.class);
processMapper.insert(process);
Long processID = process.getId();
String[] usersID = createReqVO.getUsers().split(",");
for (String user : usersID) {
System.out.println(user);
ProcessUserDO processUserDO = new ProcessUserDO();
processUserDO.setProcessId(processID);
processUserDO.setUserId(Long.parseLong(user));
processUserMapper.insert(processUserDO);
}
// 返回
return process.getId();
}
@@ -0,0 +1,12 @@
<?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.processUser.ProcessUserMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见:https://www.cf.com/MyBatis/x-plugins/
-->
</mapper>