From 3c96aa94f8ee07963b1d92f1b5cb56ac996bb5ff Mon Sep 17 00:00:00 2001 From: lym <1994302445@qq.com> Date: Thu, 7 Mar 2024 10:57:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E5=BA=8F=E6=B7=BB=E5=8A=A0=E7=94=A8?= =?UTF-8?q?=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/process/ProcessController.java | 2 +- .../vo/process/ProcessUserSaveReqVO.java | 69 +++++++++++++++++++ .../vo/processUser/ProcessUserPageReqVO.java | 13 ++++ .../vo/processUser/ProcessUserRespVO.java | 20 ++++++ .../vo/processUser/ProcessUserSaveReqVO.java | 19 +++++ .../dal/dataobject/process/ProcessUserDO.java | 34 +++++++++ .../dal/mysql/process/ProcessUserMapper.java | 20 ++++++ .../service/process/ProcessService.java | 3 +- .../service/process/ProcessServiceImpl.java | 21 +++++- .../mapper/processUser/ProcessUserMapper.xml | 12 ++++ 10 files changed, 209 insertions(+), 4 deletions(-) create mode 100644 cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/vo/process/ProcessUserSaveReqVO.java create mode 100644 cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/vo/processUser/ProcessUserPageReqVO.java create mode 100644 cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/vo/processUser/ProcessUserRespVO.java create mode 100644 cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/vo/processUser/ProcessUserSaveReqVO.java create mode 100644 cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/process/ProcessUserDO.java create mode 100644 cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/process/ProcessUserMapper.java create mode 100644 cf-module-system/cf-module-system-biz/src/main/resources/mapper/processUser/ProcessUserMapper.xml diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/ProcessController.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/ProcessController.java index 1a7f850f4..810b2fa97 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/ProcessController.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/ProcessController.java @@ -44,7 +44,7 @@ public class ProcessController { @PostMapping("/create") @Operation(summary = "新建工序信息") @PreAuthorize("@ss.hasPermission('system:process:create')") - public CommonResult createProcess(@Valid @RequestBody ProcessSaveReqVO createReqVO) { + public CommonResult createProcess(@Valid @RequestBody ProcessUserSaveReqVO createReqVO) { return success(processService.createProcess(createReqVO)); } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/vo/process/ProcessUserSaveReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/vo/process/ProcessUserSaveReqVO.java new file mode 100644 index 000000000..7156362c3 --- /dev/null +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/vo/process/ProcessUserSaveReqVO.java @@ -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; + +} diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/vo/processUser/ProcessUserPageReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/vo/processUser/ProcessUserPageReqVO.java new file mode 100644 index 000000000..ee4e861e7 --- /dev/null +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/vo/processUser/ProcessUserPageReqVO.java @@ -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 { + +} \ No newline at end of file diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/vo/processUser/ProcessUserRespVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/vo/processUser/ProcessUserRespVO.java new file mode 100644 index 000000000..058300468 --- /dev/null +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/vo/processUser/ProcessUserRespVO.java @@ -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; + +} \ No newline at end of file diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/vo/processUser/ProcessUserSaveReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/vo/processUser/ProcessUserSaveReqVO.java new file mode 100644 index 000000000..9d421cc3d --- /dev/null +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/vo/processUser/ProcessUserSaveReqVO.java @@ -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; + +} \ No newline at end of file diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/process/ProcessUserDO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/process/ProcessUserDO.java new file mode 100644 index 000000000..1f4a0e83c --- /dev/null +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/process/ProcessUserDO.java @@ -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; + +} \ No newline at end of file diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/process/ProcessUserMapper.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/process/ProcessUserMapper.java new file mode 100644 index 000000000..1b591ff14 --- /dev/null +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/process/ProcessUserMapper.java @@ -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 { + +// default PageResult selectPage(ProcessUserPageReqVO reqVO) { +// return selectPage(reqVO, new LambdaQueryWrapperX() +// .orderByDesc(ProcessUserDO::getId)); +// } + +} \ No newline at end of file diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessService.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessService.java index fc66dba17..37e95fab0 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessService.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessService.java @@ -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 diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessServiceImpl.java index bcefd9ca3..aae669ecd 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessServiceImpl.java @@ -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(); } diff --git a/cf-module-system/cf-module-system-biz/src/main/resources/mapper/processUser/ProcessUserMapper.xml b/cf-module-system/cf-module-system-biz/src/main/resources/mapper/processUser/ProcessUserMapper.xml new file mode 100644 index 000000000..8a3f7e18f --- /dev/null +++ b/cf-module-system/cf-module-system-biz/src/main/resources/mapper/processUser/ProcessUserMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file