lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentWorklineMapper.java
@@ -32,4 +32,8 @@ @InterceptorIgnore(tenantLine = "1") @Select("select CollectTime ${columns} from [${tableName}] where CollectTime > #{startTime} and CollectTime <= #{endTime} order by CollectTime asc") List<Map<String, Object>> getWorkLineList(Map<String, Object> param); @InterceptorIgnore(tenantLine = "1") @Select("SELECT COUNT(*) FROM SysObjects WHERE XType='U' AND name = '${tableName}'") Integer isTableExist(@Param("tableName") String tableName); } lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentWorkLineService.java
@@ -19,5 +19,10 @@ /** * 查找西门子类型设备运行时段的设备程序号 */ List<EquipmentMachingDto> getEquipmentSequencenumber(String drivetype, String equipmentid, Date startTime, Date endTime); List<EquipmentMachingDto> getEquipmentSequencenumber(String tableName, Date startTime, Date endTime); /** * 判断表是否存在 */ Boolean isTableExist(String tableName); } lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentWorkLineServiceImpl.java
@@ -34,14 +34,15 @@ @Override @Transactional(readOnly = true) public List<EquipmentMachingDto> getEquipmentSequencenumber(String drivetype, String equipmentid, Date startTime, Date endTime) { String tableName = drivetype + "_" + equipmentid; try { public List<EquipmentMachingDto> getEquipmentSequencenumber(String tableName, Date startTime, Date endTime) { List<Map<String, Object>> list = equipmentWorkLineMapper.getEquipmentSequenceNumber(tableName, startTime, endTime); return convertData(list); } catch (Exception e) { return null; } @Override public Boolean isTableExist(String tableName) { Integer count = equipmentWorkLineMapper.isTableExist(tableName); return count != 0; } private List<EquipmentMachingDto> convertData(List<Map<String, Object>> list) { lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentRunningSectionServiceImpl.java
@@ -52,18 +52,22 @@ List<MdcEquipmentRunningSection> errs = loadEquipmentErrorTrace(equipmentRunningSectionVo.getEquipmentId(), equipmentRunningSectionVo.getCollectTimeStr()); if (!running.isEmpty()) { MdcEquipmentRunningSectionDto dto; Equipment equip = equipmentService.getOne(new LambdaQueryWrapper<Equipment>().eq(Equipment::getEquipmentid, equipmentRunningSectionVo.getEquipmentId())); String tableName = ""; Boolean isTableExist = false; if (equip != null) { if (StringUtils.isNotBlank(equip.getDrivetype())) { tableName = equip.getDrivetype() + "_" + equip.getEquipmentid(); isTableExist = equipmentWorkLineService.isTableExist(tableName); } } for (MdcEquipmentRunningSection entity : running) { dto = new MdcEquipmentRunningSectionDto(); BeanUtils.copyProperties(entity, dto); if (entity.getStatus() == 3 && StringUtils.isBlank(entity.getSequenceNumber())) { Equipment equip = equipmentService.getOne(new LambdaQueryWrapper<Equipment>().eq(Equipment::getEquipmentid, entity.getEquipmentId())); if (equip != null) { if (StringUtils.isNotBlank(equip.getDrivetype())) { List<EquipmentMachingDto> esList = equipmentWorkLineService.getEquipmentSequencenumber(equip.getDrivetype(), equip.getEquipmentid(), entity.getStartTime(), entity.getEndTime()); if (entity.getStatus() == 3 && StringUtils.isBlank(entity.getSequenceNumber()) && isTableExist) { List<EquipmentMachingDto> esList = equipmentWorkLineService.getEquipmentSequencenumber(tableName, entity.getStartTime(), entity.getEndTime()); if (esList != null && esList.size() > 1) { dto.setSequenceNumber(esList.get(0).getSequencenumber()); } } } } dtos.add(dto);