diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/plate/PlateDO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/plate/PlateDO.java index 2ebaab1f9..aa555dccb 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/plate/PlateDO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/plate/PlateDO.java @@ -181,7 +181,7 @@ public class PlateDO extends BaseDO { /** * 排单过滤类型,1 有挖穿造型 2 有挖穿孔 4 有二维刀路 8 可叠 */ - private Integer filterType; + private String filterType; /** * 备注 */ diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiTypeRealize.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiTypeRealize.java index b4e90cd13..284272e73 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiTypeRealize.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiTypeRealize.java @@ -291,8 +291,9 @@ public class ApiTypeRealize { .phoneNumber(order.getString("ConsigeePhone")) .dealer(order.getString("CustomName")) .dealerPhoneNumber("无") - .salesman(order.getString("SalePerson")) - .splitter("无") +// .salesman(order.getString("SalePerson")) + .salesman("") + .splitter("") .remark(orderRemark + order.getString("Remark")) .build(); return orderDO; @@ -582,6 +583,7 @@ public class ApiTypeRealize { .isSculpt(plate.getBoolean("IsModel")) .isSpecialShaped(plate.getBoolean("UnRegular")) .isCancel(false) + .filterType("") .remark(remark) .build(); @@ -608,6 +610,15 @@ public class ApiTypeRealize { .setDrillsRemark(plate.getString("DrillsRemark")) .setInfoRemark(plate.getString("InfoRemark")) .setRemarkJsonDei(plate.getString("RemarkJson")); + if (plateDetail.get(plate.getLong("BlockNo")).getThroughModelCount() > 0){ + plateInfo.setFilterType(plateInfo.getFilterType() + ",1"); + } + if (plateDetail.get(plate.getLong("BlockNo")).getThroughHoleCount() > 0){ + plateInfo.setFilterType(plateInfo.getFilterType() + ",2"); + } + if (plateDetail.get(plate.getLong("BlockNo")).getHas2DModel()){ + plateInfo.setFilterType(plateInfo.getFilterType() + ",4"); + } } if (plateMap.get(plate.getLong("BlockNo")) != null) { diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/plate/OrderPlateDO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/plate/OrderPlateDO.java index 5f811e46e..ea0ca0e98 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/plate/OrderPlateDO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/plate/OrderPlateDO.java @@ -123,7 +123,7 @@ public class OrderPlateDO extends BaseDO { private Long moduleTypeId; // 排单过滤类型,1 有挖穿造型 2 有挖穿孔 4 有二维刀路 8 可叠 - private Integer filterType; + private String filterType; // 备注 private String remark; diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/plate/PlateServiceImpl.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/plate/PlateServiceImpl.java index 037a8b9a6..b262765bb 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/plate/PlateServiceImpl.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/plate/PlateServiceImpl.java @@ -70,9 +70,9 @@ public class PlateServiceImpl implements PlateService { // 更新 判断是否有组织id if (updateReqVO.getOrganId() == null || updateReqVO.getOrganId() == 0){ updateReqVO.setOrganId(OrganContextHolder.getOrganId()); - }else { - validateOrganExists(updateReqVO.getOrganId()); } + validateOrganExists(updateReqVO.getOrganId()); + // 校验存在 validatePlateExists(updateReqVO.getId(), updateReqVO.getOrganId()); PlateDO updateObj = BeanUtils.toBean(updateReqVO, PlateDO.class); @@ -86,6 +86,8 @@ public class PlateServiceImpl implements PlateService { if (organId == null || organId == 0){ organId = OrganContextHolder.getOrganId(); } + validateOrganExists(organId); + // 校验存在 validatePlateExists(id,organId); // 删除 @@ -99,6 +101,7 @@ public class PlateServiceImpl implements PlateService { } @Override + @OrganIgnore public PlateDO getPlate(Long id) { return plateMapper.selectById(id); } diff --git a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java index 0733861d8..6284aa1d0 100644 --- a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java +++ b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java @@ -197,6 +197,8 @@ public interface ErrorCodeConstants { ErrorCode PROCESS_GROUP_NOT_EXISTS = new ErrorCode(1_002_029_010, "工序组不存在"); ErrorCode PROCESS_GROUP_USED = new ErrorCode(1_002_029_011, "工序组已使用,禁止删除 "); ErrorCode PROCESS_GROUP_NAME_EXISTS = new ErrorCode(1_002_029_012, "工序名称已存在"); + ErrorCode PROCESS_GROUP_CUTTING_ERROR = new ErrorCode(1_002_029_012, "开料工序类型已经存在,禁止重复"); + ErrorCode PROCESS_GROUP_PACKING_ERROR = new ErrorCode(1_002_029_012, "打包工序类型已经存在,禁止重复"); // ========== 机台 1-002-029-000 ========== ErrorCode MACHINE_NOT_EXISTS = new ErrorCode(1_002_029_000, "机台不存在"); diff --git a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/process/ProcessTypeEnum.java b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/process/ProcessTypeEnum.java new file mode 100644 index 000000000..c5fec8618 --- /dev/null +++ b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/process/ProcessTypeEnum.java @@ -0,0 +1,30 @@ +package com.cf.imes.module.system.enums.process; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum ProcessTypeEnum { + + TYPE_ZERO(0, "全部加工"), + TYPE_ONE(1, "开料"), + TYPE_TWO(2, "部件加工"), + TYPE_THREE(3, "异形封边"), + TYPE_FOUR(4, "分堆"), + TYPE_FIVE(5, "打包"), + TYPE_SIX(6, "出库"), + TYPE_SEVEN(7, "组件加工"), + TYPE_EIGHT(8, "板材"); + + private final Integer status; + private String description; + + public boolean equals(Integer status) { + return this.status .equals(status) ; + } + + public boolean equals(ProcessTypeEnum enableStatusEnum) { + return enableStatusEnum != null && enableStatusEnum.status .equals(this.getStatus()) ; + } +} \ 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/user/AdminUserMapper.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/user/AdminUserMapper.java index 6a6c7037a..d74d53094 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/user/AdminUserMapper.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/user/AdminUserMapper.java @@ -10,6 +10,7 @@ import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils; import com.cf.imes.module.system.controller.admin.user.vo.user.UserPageReqVO; import com.cf.imes.module.system.dal.dataobject.user.AdminUserDO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.Collection; import java.util.List; @@ -81,17 +82,19 @@ public interface AdminUserMapper extends BaseMapperX { return selectList(AdminUserDO::getDeptId, deptIds); } - default List selectListByTerms(Integer status, String namePyAll,String namePyFirstChar,String name) { - return selectList(new LambdaQueryWrapperX() - .eqIfPresent(AdminUserDO::getStatus, status) - .likeIfPresent(AdminUserDO::getNickname, name) - .or(StrUtil.isNotBlank(name)) - .likeIfPresent(AdminUserDO::getPinyinFull, namePyAll) - .or(StrUtil.isNotBlank(namePyAll)) - .likeIfPresent(AdminUserDO::getPinyinInitial, namePyFirstChar) - .orderByDesc(AdminUserDO::getId)); - } - +// default List selectListByTerms(Integer status, String namePyAll,String namePyFirstChar,String name,Long organId) { +// return selectList(new LambdaQueryWrapperX() +// .eqIfPresent(AdminUserDO::getStatus, status) +// .likeIfPresent(AdminUserDO::getNickname, name) +// .or(StrUtil.isNotBlank(name)) +// .likeIfPresent(AdminUserDO::getPinyinFull, namePyAll) +// .or(StrUtil.isNotBlank(namePyAll)) +// .likeIfPresent(AdminUserDO::getPinyinInitial, namePyFirstChar) +// .orderByDesc(AdminUserDO::getId)); +// } + List selectListByTerms(@Param("status") Integer status,@Param("namePyAll") String namePyAll, + @Param("namePyFirstChar")String namePyFirstChar,@Param("name") String name, + @Param("organId")Long organId); default List selectListByIds(List userIds, Long userOrganId) { return selectList(new LambdaQueryWrapperX() diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessGroupServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessGroupServiceImpl.java index eaf157587..b3c63d083 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessGroupServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessGroupServiceImpl.java @@ -13,6 +13,7 @@ import com.cf.imes.module.system.controller.admin.process.vo.process.ProcessResp import com.cf.imes.module.system.dal.dataobject.organ.OrganizationDO; 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.jetbrains.annotations.NotNull; import org.springframework.stereotype.Service; @@ -61,6 +62,29 @@ public class ProcessGroupServiceImpl implements ProcessGroupService { // 插入 ProcessGroupDO processGroup = BeanUtils.toBean(createReqVO, ProcessGroupDO.class); processGroup.setItems(checkProcessGroupExists(createReqVO.getItems())); + // 判断重复 + int isCutting = 0; + int isPacking = 0; + if (createReqVO.getItems() != null) { + List list = cuttingItems(createReqVO.getItems()); + if (list.size() > 0) { + 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 exception(PROCESS_GROUP_CUTTING_ERROR); + } + if (isPacking > 1){ + throw exception(PROCESS_GROUP_PACKING_ERROR); + } processGroupMapper.insert(processGroup); if (createReqVO.getIsDefault()) { processGroupMapper.updateIsDefault(processGroup.getId(), OrganContextHolder.getOrganId()); @@ -237,4 +261,10 @@ public class ProcessGroupServiceImpl implements ProcessGroupService { processGroupMapper.updateIsDefault(processGroupId, organId); } + public List cuttingItems(String userLists) { + return Arrays.stream(userLists.split(",")) + .map(String::trim) // 去除每个项两端的空白字符 + .filter(item -> item != null && !item.isEmpty()) // 过滤空字符串和null + .collect(Collectors.toList()); + } } \ 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/user/AdminUserServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/user/AdminUserServiceImpl.java index 1f8196fd2..fd73ef232 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/user/AdminUserServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/user/AdminUserServiceImpl.java @@ -542,7 +542,7 @@ public class AdminUserServiceImpl implements AdminUserService { namePyFirstChar = PinYinUtils.convertToPinyin(name); namePyAll = PinYinUtils.convertToPinyin(name).replaceAll(" ", ""); } - return userMapper.selectListByTerms(status, namePyAll, namePyFirstChar, name); + return userMapper.selectListByTerms(status, namePyAll, namePyFirstChar, name, SecurityFrameworkUtils.getLoginUserId()); } @Override diff --git a/cf-module-system/cf-module-system-biz/src/main/resources/mapper/process/AdminUserMapper.xml b/cf-module-system/cf-module-system-biz/src/main/resources/mapper/process/AdminUserMapper.xml new file mode 100644 index 000000000..3f201c5fa --- /dev/null +++ b/cf-module-system/cf-module-system-biz/src/main/resources/mapper/process/AdminUserMapper.xml @@ -0,0 +1,41 @@ + + + + + + \ No newline at end of file