diff --git a/yudao-module-mes/yudao-module-mes-api/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java b/yudao-module-mes/yudao-module-mes-api/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java index f66970dd0..d188a0123 100644 --- a/yudao-module-mes/yudao-module-mes-api/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java +++ b/yudao-module-mes/yudao-module-mes-api/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java @@ -115,6 +115,7 @@ public interface ErrorCodeConstants { ErrorCode DV_REPAIR_LINE_NOT_EXISTS = new ErrorCode(5_0088, "设备维修子表记录不存在"); ErrorCode DV_REPAIR_LINE_ID_NOT_EXISTS = new ErrorCode(5_0088, "设备维修子表记录Id为空"); + //====================================== 检验记录相关 5_0090================================================= ErrorCode ZJ_TYPE_NOT_EXISTS = new ErrorCode(5_0090, "检验类型不存在"); ErrorCode ZJ_TYPE_CODE_EXISTS = new ErrorCode(5_0090, "检验类型编码已存在"); @@ -125,7 +126,6 @@ public interface ErrorCodeConstants { ErrorCode ZJ_TASK_NOT_EXISTS = new ErrorCode(5_0094, "检验任务不存在"); ErrorCode ZJ_TASK_CODE_EXISTS = new ErrorCode(5_0094, "检验任务单号已存在"); ErrorCode ZJ_TASK_RESULTS_NOT_EXISTS = new ErrorCode(5_0095, "检验任务-检验结果不存在"); - ErrorCode GOVIEW_NOT_EXISTS = new ErrorCode(5_0100, "可视化大屏不存在"); diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/bom/vo/BomDetailRespVO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/bom/vo/BomDetailRespVO.java index 7f710f029..7a1f4da80 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/bom/vo/BomDetailRespVO.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/bom/vo/BomDetailRespVO.java @@ -22,6 +22,11 @@ public class BomDetailRespVO { @Schema(description = "原料ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17312") @ExcelProperty("原料ID") private Long productId; + + @Schema(description = "原料编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "") + @ExcelProperty("原料编码") + private String productCode; + @Schema(description = "原料", requiredMode = Schema.RequiredMode.REQUIRED, example = "2336") @ExcelProperty("原料") private String productName; diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/deviceledger/DeviceLedgerController.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/deviceledger/DeviceLedgerController.java index 5780a59d2..9700c5500 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/deviceledger/DeviceLedgerController.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/deviceledger/DeviceLedgerController.java @@ -144,7 +144,7 @@ public class DeviceLedgerController { }) .collect(Collectors.toSet()); - Map organizationMap = organizationService.getMap(workshopIds); + Map organizationMap = organizationService.getMapWithDeleted(workshopIds); // 4. 设置 workshopName for (DeviceLedgerDO item : pageResult.getList()) { @@ -153,7 +153,11 @@ public class DeviceLedgerController { Long workshopId = Long.parseLong(item.getWorkshop().trim()); OrganizationDO org = organizationMap.get(workshopId); if (org != null) { - item.setWorkshopName(org.getName()); + String workshopName = org.getName(); + if (Boolean.TRUE.equals(org.getDeleted())) { + workshopName += "(已被删除)"; + } + item.setWorkshopName(workshopName); } } catch (NumberFormatException e) { } diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/zjtask/vo/ZjTaskSaveReqVO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/zjtask/vo/ZjTaskSaveReqVO.java index 9431514f5..944e0d485 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/zjtask/vo/ZjTaskSaveReqVO.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/zjtask/vo/ZjTaskSaveReqVO.java @@ -15,7 +15,7 @@ public class ZjTaskSaveReqVO { private Long id; @Schema(description = "单号", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "单号不能为空") +// @NotEmpty(message = "单号不能为空") private String code; @Schema(description = "名称", example = "王五") diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/organization/OrganizationMapper.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/organization/OrganizationMapper.java index 811e25762..922502f20 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/organization/OrganizationMapper.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/organization/OrganizationMapper.java @@ -8,6 +8,7 @@ import cn.iocoder.yudao.module.mes.controller.admin.organization.vo.Organization import cn.iocoder.yudao.module.mes.dal.dataobject.organization.OrganizationDO; import org.apache.commons.lang3.StringUtils; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.Collection; import java.util.List; @@ -71,4 +72,7 @@ public interface OrganizationMapper extends BaseMapperX { return selectList(OrganizationDO::getId, outIds); } + List selectListWithDeleted(@Param("ids") Collection ids); + + } \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/zjtask/ZjTaskMapper.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/zjtask/ZjTaskMapper.java index 0d2bebb1d..9328f1ad5 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/zjtask/ZjTaskMapper.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/zjtask/ZjTaskMapper.java @@ -113,4 +113,8 @@ public interface ZjTaskMapper extends BaseMapperX { @Param("status") Integer status, @Param("cancelReason") String cancelReason); + ZjTaskDO selectByNo(@Param("code") String code); + + + } diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/bom/BomServiceImpl.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/bom/BomServiceImpl.java index b5b59a4cb..bff3e9cc7 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/bom/BomServiceImpl.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/bom/BomServiceImpl.java @@ -219,7 +219,13 @@ public class BomServiceImpl implements BomService { return BeanUtils.toBean(list, BomDetailRespVO.class, item -> { MapUtils.findAndThen(map, item.getProductId(), - product -> item.setProductName(product.getName())); + product -> { + item.setProductName(product.getName()); + item.setProductCode(product.getBarCode()); + + } + ); + MapUtils.findAndThen(unitMap, item.getUnitId(), unit -> item.setUnitName(unit.getName())); }); diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/organization/OrganizationService.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/organization/OrganizationService.java index 9304a9b0d..9255325ab 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/organization/OrganizationService.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/organization/OrganizationService.java @@ -6,10 +6,7 @@ import cn.iocoder.yudao.module.mes.controller.admin.organization.vo.*; import cn.iocoder.yudao.module.mes.dal.dataobject.organization.OrganizationDO; import javax.validation.Valid; -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap; @@ -81,6 +78,8 @@ public interface OrganizationService { OrganizationRespVO getOrganizationVO(Long id); + Map getMapWithDeleted(Set workshopIds); + // List getDeviceParametersByOrganizationId(Long id); } \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/organization/OrganizationServiceImpl.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/organization/OrganizationServiceImpl.java index f39f5687d..7332b70a6 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/organization/OrganizationServiceImpl.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/organization/OrganizationServiceImpl.java @@ -762,6 +762,11 @@ public class OrganizationServiceImpl implements OrganizationService { return respVO; } - - + @Override + public Map getMapWithDeleted(Set ids) { + if (CollUtil.isEmpty(ids)) { + return new HashMap<>(); + } + return CollectionUtils.convertMap(organizationMapper.selectListWithDeleted(ids), OrganizationDO::getId); + } } \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/zjtask/ZjTaskServiceImpl.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/zjtask/ZjTaskServiceImpl.java index 1696574e7..5885adffe 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/zjtask/ZjTaskServiceImpl.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/zjtask/ZjTaskServiceImpl.java @@ -4,6 +4,7 @@ import cn.iocoder.yudao.framework.common.exception.ServiceException; import cn.iocoder.yudao.framework.common.util.collection.MapUtils; import cn.iocoder.yudao.framework.security.core.LoginUser; import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; +import cn.iocoder.yudao.module.erp.controller.admin.autocode.util.AutoCodeUtil; import cn.iocoder.yudao.module.mes.controller.admin.feedingrecord.vo.FeedingRecordRespVO; import cn.iocoder.yudao.module.mes.controller.admin.ticketmanagement.vo.TicketManagementBatchUpdateReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.organization.OrganizationDO; @@ -18,6 +19,7 @@ import cn.iocoder.yudao.module.mes.dal.mysql.zjschema.ZjSchemaMapper; import cn.iocoder.yudao.module.mes.dal.mysql.zjtaskresults.ZjTaskResultsMapper; import cn.iocoder.yudao.module.mes.service.plan.PlanService; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import org.apache.poi.util.StringUtil; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -66,6 +68,8 @@ public class ZjTaskServiceImpl implements ZjTaskService { @Resource private PlanService planService; + @Resource + private AutoCodeUtil autoCodeUtil; @Override @Transactional(rollbackFor = Exception.class) @@ -74,6 +78,14 @@ public class ZjTaskServiceImpl implements ZjTaskService { validateCodeOnly(createReqVO.getCode()); // 插入 ZjTaskDO zjTask = BeanUtils.toBean(createReqVO, ZjTaskDO.class); + + if (!StringUtils.hasText(createReqVO.getCode())) { + zjTask.setCode(autoCodeUtil.genSerialCode("INSPECTION_CODE_GENERATE",null)); + } else { + if (zjTaskMapper.selectByNo(createReqVO.getCode()) != null) { + throw exception(ZJ_TASK_CODE_EXISTS); + } + } zjTaskMapper.insert(zjTask); diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/resources/mapper/organization/OrganizationMapper.xml b/yudao-module-mes/yudao-module-mes-biz/src/main/resources/mapper/organization/OrganizationMapper.xml index ffaec1bb5..1f49855af 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/resources/mapper/organization/OrganizationMapper.xml +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/resources/mapper/organization/OrganizationMapper.xml @@ -8,5 +8,13 @@ 代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/ --> + \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/resources/mapper/zjtask/ZjTaskMapper.xml b/yudao-module-mes/yudao-module-mes-biz/src/main/resources/mapper/zjtask/ZjTaskMapper.xml index b27c2956a..4165dfe70 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/resources/mapper/zjtask/ZjTaskMapper.xml +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/resources/mapper/zjtask/ZjTaskMapper.xml @@ -19,4 +19,12 @@ #{id} + + + \ No newline at end of file