diff --git a/yudao-module-common/yudao-module-common-biz/src/main/java/cn/iocoder/yudao/module/common/controller/admin/mold/vo/MoldPageReqVO.java b/yudao-module-common/yudao-module-common-biz/src/main/java/cn/iocoder/yudao/module/common/controller/admin/mold/vo/MoldPageReqVO.java index 60e005343..54eb9850f 100644 --- a/yudao-module-common/yudao-module-common-biz/src/main/java/cn/iocoder/yudao/module/common/controller/admin/mold/vo/MoldPageReqVO.java +++ b/yudao-module-common/yudao-module-common-biz/src/main/java/cn/iocoder/yudao/module/common/controller/admin/mold/vo/MoldPageReqVO.java @@ -61,6 +61,9 @@ public class MoldPageReqVO extends PageParam { @Schema(description = "id集合导出用") private String ids; + @Schema(description = "status集合") + private List statuss; + @Schema(description = "附件地址") private String fileUrl; diff --git a/yudao-module-common/yudao-module-common-biz/src/main/java/cn/iocoder/yudao/module/common/dal/mysql/mold/MoldMapper.java b/yudao-module-common/yudao-module-common-biz/src/main/java/cn/iocoder/yudao/module/common/dal/mysql/mold/MoldMapper.java index 581ab0b20..0399cbb27 100644 --- a/yudao-module-common/yudao-module-common-biz/src/main/java/cn/iocoder/yudao/module/common/dal/mysql/mold/MoldMapper.java +++ b/yudao-module-common/yudao-module-common-biz/src/main/java/cn/iocoder/yudao/module/common/dal/mysql/mold/MoldMapper.java @@ -24,7 +24,7 @@ public interface MoldMapper extends BaseMapperX { default PageResult selectPage(MoldPageReqVO reqVO) { LambdaQueryWrapperX wrapper = new LambdaQueryWrapperX<>(); wrapper - .eqIfPresent(MoldDO::getCode, reqVO.getCode()) + .likeIfPresent(MoldDO::getCode, reqVO.getCode()) .likeIfPresent(MoldDO::getName, reqVO.getName()) .eqIfPresent(MoldDO::getUnitId, reqVO.getUnitId()) .eqIfPresent(MoldDO::getMachineId, reqVO.getMachineId()) @@ -48,6 +48,9 @@ public interface MoldMapper extends BaseMapperX { wrapper.in(MoldDO::getId, idList); } + if (reqVO.getStatuss() != null && !reqVO.getStatuss().isEmpty()) { + wrapper.in(MoldDO::getStatus, reqVO.getStatuss()); + } return selectPage(reqVO, wrapper); } diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/mold/MoldController.java b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/mold/MoldController.java index 5f62644f7..3d2fffa75 100644 --- a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/mold/MoldController.java +++ b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/mold/MoldController.java @@ -103,4 +103,13 @@ public class MoldController { List doList = moldService.getInTransitMoldAllList(); return success(doList); } + + @GetMapping("/getMoldListByStatus") + @Operation(summary = "根据状态获得模具列表") + @Parameter(name = "id", description = "设备id", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('mes:mold-operate:query')") + public CommonResult> getMoldListByStatus(@RequestParam("status") Long status) { + List moldDO = moldService.getMoldListByStatus(status); + return success(moldDO); + } } \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/mold/MoldBrandService.java b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/mold/MoldBrandService.java index 8c4d65e17..e88ac0e5e 100644 --- a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/mold/MoldBrandService.java +++ b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/mold/MoldBrandService.java @@ -87,6 +87,7 @@ public interface MoldBrandService { * @return 模具分页 */ PageResult getMoldPage(MoldPageReqVO pageReqVO); + List getMoldList(); /** diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/mold/MoldService.java b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/mold/MoldService.java index 5a38b2e39..77d2d84c2 100644 --- a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/mold/MoldService.java +++ b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/mold/MoldService.java @@ -100,4 +100,6 @@ public interface MoldService { List buildMoldVOList(List list); List getInTransitMoldAllList(); + + List getMoldListByStatus(Long status); } \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/mold/MoldServiceImpl.java b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/mold/MoldServiceImpl.java index ba625aee7..97a1e4c1e 100644 --- a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/mold/MoldServiceImpl.java +++ b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/mold/MoldServiceImpl.java @@ -129,4 +129,11 @@ public class MoldServiceImpl implements MoldService { public List getInTransitMoldAllList() { return moldMapper.selectList(Wrappers.lambdaQuery().eq(MoldDO::getStatus,3)); } + + @Override + public List getMoldListByStatus(Long status) { + LambdaQueryWrapperX queryWrapper = new LambdaQueryWrapperX() + .eqIfPresent(MoldDO::getStatus, status); + return moldMapper.selectList(queryWrapper); + } } \ No newline at end of file diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/device/DeviceController.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/device/DeviceController.java index 6b81da185..263a4f6f4 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/device/DeviceController.java +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/device/DeviceController.java @@ -51,6 +51,7 @@ public class DeviceController { private JobService jobService; + @PostMapping("/create") @Operation(summary = "创建物联设备") @PreAuthorize("@ss.hasPermission('iot:device:create')") @@ -120,6 +121,40 @@ public class DeviceController { return success(list); } + @GetMapping("/noUsedlist") + @Operation(summary = "获得未关联设备台账列表") + @PreAuthorize("@ss.hasPermission('mes:device-ledger:query')") + public CommonResult> getDeviceLedgerListByNoUsed() { + DevicePageReqVO pageReqVO = new DevicePageReqVO(); + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = deviceService.getDevicePage(pageReqVO).getList(); + List ids = deviceService.deviceLedgerList(); + List filteredList = list.stream() + .filter(device -> !ids.contains(device.getId())) + .collect(Collectors.toList()); + return success(filteredList); + } + + @GetMapping("/noUsedlist2") + @Operation(summary = "获得未关联设备台账列表") + @PreAuthorize("@ss.hasPermission('mes:device-ledger:query')") + public CommonResult> getDeviceLedgerList2ByNoUsed(@RequestParam("id") Long id) { + DevicePageReqVO pageReqVO = new DevicePageReqVO(); + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = deviceService.getDevicePage(pageReqVO).getList(); + List ids = deviceService.deviceLedgerList(); + + List filteredList = list.stream() + .filter(device -> { + if (id != null && id.equals(device.getId())) { + return true; + } + return !ids.contains(device.getId()); + }) + .collect(Collectors.toList()); + return success(filteredList); + } + @PostMapping("/connect") @Operation(summary = "连接") // @PreAuthorize("@ss.hasPermission('iot:device:create')") diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/mysql/device/DeviceMapper.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/mysql/device/DeviceMapper.java index c1474ac7c..d00f01f8c 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/mysql/device/DeviceMapper.java +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/mysql/device/DeviceMapper.java @@ -99,6 +99,8 @@ public interface DeviceMapper extends BaseMapperX { String lineDeviceLedgerPage(@Param("id") Long id); + List deviceLedgerList(); + List lineDeviceList(@Param("pageReqVO") LineDeviceRequestVO pageReqVO); diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/DeviceService.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/DeviceService.java index c7267219b..a91ba835c 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/DeviceService.java +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/DeviceService.java @@ -138,4 +138,6 @@ public interface DeviceService { List> getMultiDeviceAttributes(String deviceIds); List getDeviceAttributeList(Long deviceId); + + List deviceLedgerList(); } \ No newline at end of file diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/DeviceServiceImpl.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/DeviceServiceImpl.java index 9498f5b1e..ebcd4842d 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/DeviceServiceImpl.java +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/DeviceServiceImpl.java @@ -626,7 +626,14 @@ public class DeviceServiceImpl implements DeviceService { if(latestDeviceData != null) { lineDeviceRespVO.setCollectionTime((String) latestDeviceData.get("timestamp")); } - lineDeviceRespVO.setLineName(deviceMapper.lineDeviceLedgerPage(record.getId())); + String line = deviceMapper.lineDeviceLedgerPage(record.getId()); + if (line != null) { + lineDeviceRespVO.setLineName(line); + lineDeviceRespVO.setLineNode(line); + } else { + lineDeviceRespVO.setLineName("-"); + lineDeviceRespVO.setLineNode("-"); + } list.add(lineDeviceRespVO); } if (list.isEmpty()) { @@ -1003,4 +1010,10 @@ public class DeviceServiceImpl implements DeviceService { .eq(DeviceContactModelDO::getDeviceId,deviceId) .orderByDesc(DeviceContactModelDO::getId)); } + + @Override + public List deviceLedgerList() { + return deviceMapper.deviceLedgerList(); + } + } \ No newline at end of file diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/resources/mapper/device/DeviceMapper.xml b/yudao-module-iot/yudao-module-iot-biz/src/main/resources/mapper/device/DeviceMapper.xml index 4a85fab05..c5baca5f4 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/resources/mapper/device/DeviceMapper.xml +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/resources/mapper/device/DeviceMapper.xml @@ -62,10 +62,19 @@ SELECT mo.workshop FROM mes_device_ledger mo WHERE mo.deleted = 0 - and dv_id = #{id} - LIMIT 1 + and mo.dv_id = #{id} + LIMIT 1 + + +