板材工序接口修改

This commit is contained in:
lym
2024-04-19 14:08:50 +08:00
parent 5ff48fa2ed
commit 3af6472ada
57 changed files with 969 additions and 1577 deletions
@@ -37,7 +37,9 @@ public interface ErrorCodeConstants {
ErrorCode USER_USERNAME_EXISTS = new ErrorCode(1_002_003_000, "用户账号已经存在");
ErrorCode USER_MOBILE_EXISTS = new ErrorCode(1_002_003_001, "手机号已经存在");
ErrorCode USER_EMAIL_EXISTS = new ErrorCode(1_002_003_002, "邮箱已经存在");
ErrorCode USER_NOT_EXISTS = new ErrorCode(1_002_003_003, "用户不存在");
ErrorCode
USER_NOT_EXISTS = new ErrorCode(1_002_003_003, "用户不存在");
ErrorCode USER_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_002_003_004, "导入用户数据不能为空!");
ErrorCode USER_PASSWORD_FAILED = new ErrorCode(1_002_003_005, "用户密码校验失败");
ErrorCode USER_IS_DISABLE = new ErrorCode(1_002_003_006, "名字为【{}】的用户已被禁用");
@@ -175,7 +177,7 @@ public interface ErrorCodeConstants {
//=========== 工序信息 1-002-028-000 ============
ErrorCode PROCESS_NOT_EXISTS = new ErrorCode(1_002_028_000, "工序不存在");
ErrorCode PROCESS_ID_IS_NULL = new ErrorCode(1_002_028_000, "工序ID不存在");
ErrorCode PROCESS_ID_IS_NULL = new ErrorCode(1_002_028_000, "工序ID填写错误不存在");
//=========== 工序组信息 1-002-029-000 ============
ErrorCode PROCESS_GROUP_NOT_EXISTS = new ErrorCode(1_002_029_000, "工序组不存在");
@@ -5,6 +5,7 @@ import javax.validation.Valid;
import javax.servlet.http.HttpServletResponse;
import com.cf.imes.module.system.controller.admin.process.vo.group.ProcessGroupRespVO;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
@@ -74,12 +75,30 @@ public class ProcessController {
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(pageResult);
return success(BeanUtils.toBean(pageResult, ProcessRespVO.class));
}
@GetMapping("/export-excel")
@@ -91,15 +110,8 @@ public class ProcessController {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<ProcessDO> list = processService.getProcessPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "工序信息表 process.xls", "数据", ProcessRespVO.class,
ExcelUtils.write(response, "工序信息表.xls", "数据", ProcessRespVO.class,
BeanUtils.toBean(list, ProcessRespVO.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));
}
}
@@ -52,6 +52,7 @@ public class ProcessGroupController {
@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));
@@ -92,7 +93,7 @@ public class ProcessGroupController {
}
@GetMapping("/export-excel")
@Operation(summary = "导出工序组表 process_group Excel")
@Operation(summary = "导出工序组表")
@PreAuthorize("@ss.hasPermission('system:process-group:export')")
@OperateLog(type = EXPORT)
public void exportProcessGroupExcel(@Valid ProcessGroupPageReqVO pageReqVO,
@@ -14,6 +14,9 @@ import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH
@ToString(callSuper = true)
public class ProcessGroupPageReqVO extends PageParam {
@Schema(description = "组织id", example = "1")
private Long organId;
@Schema(description = "工序组名称", example = "赵六")
private String name;
@@ -59,10 +59,11 @@ public class ProcessUserSaveReqVO {
private Double prepareTime;
@Schema(description = "描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "你说的对")
@NotEmpty(message = "描述不能为空")
private String description;
@Schema(description = "用户ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12,13")
private String Users;
private String users;
@Schema(description = "组织Id", requiredMode = Schema.RequiredMode.REQUIRED, example = "181")
private Long organId;
}
@@ -16,4 +16,5 @@ public class ProcessAndUserSaveReqVO {
@NotNull(message = "用户 ID不能为空")
private Long userId;
private Long organId;
}
@@ -76,4 +76,8 @@ public class ProcessDO extends BaseDO {
*/
private String description;
/**
* 组织id
*/
private Long organId;
}
@@ -24,6 +24,10 @@ public class ProcessGroupDO extends BaseDO {
*/
@TableId
private Long id;
/**
* 组织id
*/
private Long organId;
/**
* 工序组名称
*/
@@ -1,40 +0,0 @@
package com.cf.imes.module.system.dal.dataobject.process;
import com.baomidou.mybatisplus.annotation.TableId;
import com.cf.imes.framework.mybatis.core.dataobject.BaseDO;
import com.cf.imes.module.system.controller.admin.process.vo.process.ProcessRespVO;
import java.util.List;
/**
* @projectName: cf_imes_back
* @author: 晨丰科技
* @date: 2024/2/27 11:48
*/
public class ProcessGroupListDO extends BaseDO {
/**
* 工序组 ID
*/
@TableId
private Long id;
/**
* 工序组名称
*/
private String name;
/**
* 是否默认工序组:0 否 1 是
*/
private Boolean isDefault;
/**
* 排序优先级
*/
private Short sort;
/**
* 明细,工序信息
*/
private List<ProcessDO> lists;
/**
* 描述
*/
private String description;
}
@@ -20,6 +20,10 @@ import com.cf.imes.framework.mybatis.core.dataobject.BaseDO;
@AllArgsConstructor
public class ProcessUserDO {
/**
* 组织 ID
*/
private Long organId;
/**
* 工序 ID
*/
@@ -4,8 +4,10 @@ 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;
/**
* 工序组表 process_group Mapper
@@ -21,9 +23,11 @@ public interface ProcessGroupMapper extends BaseMapperX<ProcessGroupDO> {
.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::getId));
}
ProcessDO selectOneById(@Param("id") Long id, @Param("organId") Long organId);
}
@@ -30,6 +30,7 @@ public interface ProcessMapper extends BaseMapperX<ProcessDO> {
.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())
.eqIfPresent(ProcessDO::getDescription, reqVO.getDescription())
@@ -39,6 +40,8 @@ public interface ProcessMapper extends BaseMapperX<ProcessDO> {
IPage<ProcessDO> selectProcessPage(@Param("page") IPage<ProcessDO> page , @Param("page") ProcessPageReqVO reqVO);
ProcessDO selectOneById(@Param("id") Long id, @Param("organId") Long organId);
default List<ProcessDO> selectAll() {
return selectList(new LambdaQueryWrapperX<ProcessDO>()
.orderByDesc(ProcessDO::getId));
@@ -4,6 +4,8 @@ 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;
@@ -18,8 +20,15 @@ import java.util.List;
@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(ProcessUserDO::getProcessId, processId);
return selectList(new LambdaQueryWrapperX<ProcessUserDO>()
.eq(ProcessUserDO::getProcessId, processId));
}
default ProcessUserDO selectUserByProcessId(Long processId) {
@@ -27,4 +36,6 @@ public interface ProcessUserMapper extends BaseMapperX<ProcessUserDO> {
}
int deleteUserByProcessId(@Param("processId") Long processId);
ProcessDO selectOneById(@Param("processId") Long processId, @Param("organId") Long organId);
}
@@ -1,5 +1,6 @@
package com.cf.imes.module.system.service.process;
import com.cf.imes.framework.organ.core.context.OrganContextHolder;
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.controller.admin.process.vo.group.ProcessListSaveReqVO;
@@ -80,20 +81,18 @@ public class ProcessGroupServiceImpl implements ProcessGroupService {
@Override
public ProcessListSaveReqVO getProcessGroup(Long id) {
if (processGroupMapper.selectById(id) == null) {
throw exception(PROCESS_GROUP_NOT_EXISTS);
} else {
ProcessGroupDO processGroup = processGroupMapper.selectById(id);
ProcessListSaveReqVO processListSaveReqVO = BeanUtils.toBean(processGroup, ProcessListSaveReqVO.class);
String[] items = processGroup.getItems().split(",");
List<ProcessRespVO> lists = new ArrayList<>();
for (int i = 0; i < items.length; i++) {
if (processMapper.selectById(items[i]) != null)
lists.add(BeanUtils.toBean(processMapper.selectById(items[i]), ProcessRespVO.class));
}
processListSaveReqVO.setLists(lists);
return processListSaveReqVO;
// 校验存在
validateProcessGroupExists(id);
ProcessGroupDO processGroup = processGroupMapper.selectById(id);
ProcessListSaveReqVO processListSaveReqVO = BeanUtils.toBean(processGroup, ProcessListSaveReqVO.class);
String[] items = processGroup.getItems().split(",");
List<ProcessRespVO> lists = new ArrayList<>();
for (int i = 0; i < items.length; i++) {
if (processMapper.selectById(Long.valueOf(items[i])) != null)
lists.add(BeanUtils.toBean(processMapper.selectById(items[i]), ProcessRespVO.class));
}
processListSaveReqVO.setLists(lists);
return processListSaveReqVO;
}
@@ -124,7 +123,7 @@ public class ProcessGroupServiceImpl implements ProcessGroupService {
itemsList.forEach(itemId -> {
try {
Object item = processMapper.selectById(itemId);
Object item = processMapper.selectById(Long.valueOf(itemId));
if (item != null) {
// 优化字符串拼接
itemsBuilder.append(itemId).append(",");
@@ -136,10 +135,7 @@ public class ProcessGroupServiceImpl implements ProcessGroupService {
missingItemsBuilder.append(itemId);
}
} catch (Exception e) {
// 处理可能的异常,例如数据库查询异常
// 可以记录日志或者转换为业务异常等
// 此处为简化仅打印异常,实际应用中应更详细处理
System.err.println("Error processing item: " + e.getMessage());
throw exception(PROCESS_ID_IS_NULL);
}
});
@@ -59,10 +59,12 @@ public interface ProcessService {
* @return 工序信息表 process分页
*/
PageResult<ProcessRespVO> getProcessPageAll(ProcessPageReqVO pageReqVO);
/**
* 获得所有工序信息表 process
*
* @return 工序信息表 process
*/
List<ProcessDO> getAllProcess();
}
@@ -1,13 +1,13 @@
package com.cf.imes.module.system.service.process;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
import com.cf.imes.framework.common.util.pinyin.PinYinUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;;
import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil;
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.ProcessAndUserSaveReqVO;
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.enums.ErrorCodeConstants;
import com.cf.imes.module.system.service.user.AdminUserService;
import org.springframework.stereotype.Service;
@@ -22,7 +22,6 @@ import com.cf.imes.framework.common.util.object.BeanUtils;
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;
@@ -51,6 +50,8 @@ public class ProcessServiceImpl implements ProcessService {
@Override
@Transactional(rollbackFor = Exception.class)
public Long createProcess(ProcessUserSaveReqVO createReqVO) {
// 用户组织Id
// Long organId = OrganContextHolder.getOrganId();
// 插入
ProcessDO process = BeanUtils.toBean(createReqVO, ProcessDO.class);
processMapper.insert(process);
@@ -59,11 +60,18 @@ public class ProcessServiceImpl implements ProcessService {
String[] usersId = createReqVO.getUsers().split(",");
for (String user : usersId) {
ProcessAndUserSaveReqVO processAndUserSaveReqVO = new ProcessAndUserSaveReqVO();
// if (adminUserService.getUser(Long.parseLong(user)) != null){
processAndUserSaveReqVO.setProcessId(processID);
processAndUserSaveReqVO.setUserId(Long.parseLong(user));
processUserService.createProcessUser(processAndUserSaveReqVO);
// }
try{
if (adminUserService.getUser(Long.parseLong(user)) == null){
throw ServiceExceptionUtil.exception(ErrorCodeConstants.USER_NOT_EXISTS);
}
processAndUserSaveReqVO.setProcessId(processID);
processAndUserSaveReqVO.setUserId(Long.parseLong(user));
processUserService.createProcessUser(processAndUserSaveReqVO);
}catch (Exception e){
throw ServiceExceptionUtil.exception(ErrorCodeConstants.USER_NOT_EXISTS);
}
}
}
// 返回
@@ -138,7 +146,7 @@ public class ProcessServiceImpl implements ProcessService {
}
@Override
public PageResult<ProcessDO> getProcessPage(ProcessPageReqVO pageReqVO) {
public PageResult<ProcessDO> getProcessPage(ProcessPageReqVO pageReqVO) {//分页加用户
return processMapper.selectPage(pageReqVO);
}
@@ -155,4 +163,5 @@ public class ProcessServiceImpl implements ProcessService {
return processDOList;
}
}
@@ -1,5 +1,6 @@
package com.cf.imes.module.system.service.process;
import com.cf.imes.framework.organ.core.context.OrganContextHolder;
import com.cf.imes.module.system.controller.admin.process.vo.processUser.ProcessAndUserSaveReqVO;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -29,6 +30,9 @@ public class ProcessUserServiceImpl implements ProcessUserService {
@Override
public Long createProcessUser(ProcessAndUserSaveReqVO createReqVO) {
if (processUserMapper.selectByProcessId(createReqVO.getProcessId()).size() != 0) {
throw exception(PROCESS_USER_NOT_EXISTS);
}
// 插入
ProcessUserDO processUser = BeanUtils.toBean(createReqVO, ProcessUserDO.class);
processUserMapper.insert(processUser);
@@ -48,7 +52,7 @@ public class ProcessUserServiceImpl implements ProcessUserService {
@Override
public void deleteProcessUserByProcess(Long processId) {
// 校验存在
validateProcessUserExists(processId);
// validateProcessUserExists(processId);
// 删除
processUserMapper.deleteUserByProcessId(processId);
}
@@ -0,0 +1,23 @@
<?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>
</mapper>
@@ -24,7 +24,7 @@
p.deleted
from process p
<where>
p.deleted = 0
<if test="page.userId != null and page.userId != '' ">
and p.id in (select process_id from process_user where user_id = #{page.userId})
</if>
@@ -42,4 +42,29 @@
</if>
</where>
</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>
</mapper>
@@ -2,15 +2,17 @@
<!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">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见:https://www.cf.com/MyBatis/x-plugins/
-->
<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>