fix:修改配方库读取

plp
HuangHuiKang 1 month ago
parent b1a5f45b15
commit 1a33190acb

@ -95,6 +95,14 @@ public class RecipeDeviceAttributeController {
return success(pageResult); return success(pageResult);
} }
@GetMapping("/getList")
@Operation(summary = "查询配方配置列表")
public CommonResult<List<RecipeDeviceAttributePageRespDTO>> getList(RecipeDeviceAttributePageReqVO reqVO) {
// 替换为关联查询方法
List<RecipeDeviceAttributePageRespDTO> recipeDeviceAttributeServiceList = recipeDeviceAttributeService.getList(reqVO);
return success(recipeDeviceAttributeServiceList);
}
@GetMapping("/list") @GetMapping("/list")
@Operation(summary = "查询配方配置列表") @Operation(summary = "查询配方配置列表")
public CommonResult<PageResult<RecipeDeviceAttributePageRespDTO>> list(RecipeDeviceAttributePageReqVO reqVO) { public CommonResult<PageResult<RecipeDeviceAttributePageRespDTO>> list(RecipeDeviceAttributePageReqVO reqVO) {

@ -156,16 +156,17 @@ public class RecipeDeviceRecordController {
@Operation(summary = "批量创建设备点位采集记录和配方点位记录") @Operation(summary = "批量创建设备点位采集记录和配方点位记录")
@PreAuthorize("@ss.hasPermission('iot:recipe-device-record:create')") @PreAuthorize("@ss.hasPermission('iot:recipe-device-record:create')")
public CommonResult<Boolean> batchCreateRecipeDeviceRecord( public CommonResult<Boolean> batchCreateRecipeDeviceRecord(
@RequestParam("id") Long recipeId) { @RequestParam("id") Long id) {
RecipePlanDetailDO recipePlanDetailDO = recipePlanDetailService.getRecipePlanDetail(recipeId); RecipePlanDetailDO recipePlanDetailDO = recipePlanDetailService.getRecipePlanDetail(id);
Long recipeId = recipePlanDetailDO.getRecipeId();
// ========== 第一步:查询配方关联的点位属性信息 ========== // ========== 第一步:查询配方关联的点位属性信息 ==========
// 1.1 根据recipeId查询iot_recipe_device_attribute表记录 // 1.1 根据recipeId查询iot_recipe_device_attribute表记录
recipePlanDetailDO.setRecipeId(recipeId); // recipePlanDetailDO.setRecipeId(recipeId);
List<RecipeDeviceAttributeDO> attributeList = recipeDeviceAttributeService.getByRecipeId(recipePlanDetailDO.getRecipeId()); List<RecipeDeviceAttributeDO> attributeList = recipeDeviceAttributeService.getByRecipeId(recipeId);
//先删除在添加 //先删除在添加
List<RecipeDeviceRecordDO> recipeDeviceRecordDOS = recipeDeviceRecordService.getListByRecipeId(recipeId); List<RecipeDeviceRecordDO> recipeDeviceRecordDOS = recipeDeviceRecordService.getListByRecipeId(recipeId);
@ -178,15 +179,15 @@ public class RecipeDeviceRecordController {
} }
DeviceRespVO device = deviceService.getDevice(recipe.getMachineId()); DeviceRespVO device = deviceService.getDevice(recipe.getMachineId());
if (device== null ){ if (device != null) {
throw exception(DEVICE_NOT_EXISTS); // throw exception(DEVICE_NOT_EXISTS);
}
try { try {
Map<Long, DeviceContactModelDO> deviceContactModelMap = new HashMap<>(); Map<Long, DeviceContactModelDO> deviceContactModelMap = new HashMap<>();
List<DeviceContactModelDO> deviceContactModelDOS = deviceContactModelService.selectListByDeviceId(device.getId()); List<DeviceContactModelDO> deviceContactModelDOS = deviceContactModelService.selectListByDeviceId(device.getId());
if (!deviceContactModelDOS.isEmpty()){ if (!deviceContactModelDOS.isEmpty()) {
deviceContactModelMap = deviceContactModelDOS.stream() deviceContactModelMap = deviceContactModelDOS.stream()
.collect(Collectors.toMap( .collect(Collectors.toMap(
DeviceContactModelDO::getId, DeviceContactModelDO::getId,
@ -194,20 +195,30 @@ public class RecipeDeviceRecordController {
)); ));
} }
OpcUtils.connect(device.getId(),device.getUrl(),device.getUsername(),device.getPassword(),10);
Map<Long, Map<String, Object>> deviceDataMap = deviceService.createDeviceDataMap(device.getId());//recipeRespVO.getDeviceId()
// OpcUtils.connect(device.getId(),device.getUrl(),device.getUsername(),device.getPassword(),10);
for (RecipeDeviceAttributeDO attributeDO : attributeList) { for (RecipeDeviceAttributeDO attributeDO : attributeList) {
Map<String, Object> data = deviceDataMap.get(attributeDO.getAttributeId());
DeviceContactModelDO deviceContactModelDO = deviceContactModelMap.get(attributeDO.getAttributeId()); DeviceContactModelDO deviceContactModelDO = deviceContactModelMap.get(attributeDO.getAttributeId());
if (deviceContactModelDO == null){ if (deviceContactModelDO == null) {
continue; continue;
} }
// 创建 // 创建
RecipeDeviceRecordDO recipeDeviceRecordDO = new RecipeDeviceRecordDO(); RecipeDeviceRecordDO recipeDeviceRecordDO = new RecipeDeviceRecordDO();
recipeDeviceRecordDO.setRecipeId(recipeId); recipeDeviceRecordDO.setRecipeId(recipeId);
recipeDeviceRecordDO.setAttributeCode(deviceContactModelDO.getAttributeName()); recipeDeviceRecordDO.setAttributeCode(deviceContactModelDO.getAttributeCode());
recipeDeviceRecordDO.setAttributeName(deviceContactModelDO.getAttributeName());
recipeDeviceRecordDO.setDataType(deviceContactModelDO.getDataType()); recipeDeviceRecordDO.setDataType(deviceContactModelDO.getDataType());
recipeDeviceRecordDO.setDeviceId(deviceContactModelDO.getDeviceId());
recipeDeviceRecordDO.setDataUnit(deviceContactModelDO.getDataUnit()); recipeDeviceRecordDO.setDataUnit(deviceContactModelDO.getDataUnit());
// recipeDeviceRecordDO.setValue((String) OpcUtils.readValues(device.getId(),deviceContactModelDO.getAddress())); // recipeDeviceRecordDO.setValue((String) OpcUtils.readValues(device.getId(),deviceContactModelDO.getAddress()));
if (data.get("addressValue") != null && data.get("addressValue").toString() != null) {
recipeDeviceRecordDO.setValue(data.get("addressValue").toString());
}
recipeDeviceRecordService.createRecipeDeviceRecord(BeanUtils.toBean(recipeDeviceRecordDO, RecipeDeviceRecordSaveReqVO.class)); recipeDeviceRecordService.createRecipeDeviceRecord(BeanUtils.toBean(recipeDeviceRecordDO, RecipeDeviceRecordSaveReqVO.class));
@ -215,6 +226,7 @@ public class RecipeDeviceRecordController {
} catch (Exception e) { } catch (Exception e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} }
}
return success(true); return success(true);
} }

@ -98,6 +98,12 @@ public interface RecipeDeviceAttributeMapper extends BaseMapperX<RecipeDeviceAtt
return new PageResult<>(list, page.getTotal()); return new PageResult<>(list, page.getTotal());
} }
default List<RecipeDeviceAttributePageRespDTO> getList(RecipeDeviceAttributePageReqVO reqVO) {
List<RecipeDeviceAttributePageRespDTO> list = selectPageWithAttribute(null, reqVO);
return list;
}
/** /**
* ID * ID
* @param recipeId ID * @param recipeId ID

@ -43,7 +43,7 @@ public interface RecipePlanDetailMapper extends BaseMapperX<RecipePlanDetailDO>
"FROM iot_recipe_plan_detail rpd", "FROM iot_recipe_plan_detail rpd",
"LEFT JOIN iot_recipe r ON rpd.recipe_id = r.id ", // 左关联配方表避免配方ID不存在时数据丢失 "LEFT JOIN iot_recipe r ON rpd.recipe_id = r.id ", // 左关联配方表避免配方ID不存在时数据丢失
"LEFT JOIN mes_plan p ON rpd.plan_id = p.id ", // 左关联计划表 "LEFT JOIN mes_plan p ON rpd.plan_id = p.id ", // 左关联计划表
"LEFT JOIN iot_device d ON r.machine_name = d.device_name ", // 新增左关联设备表通过machine_name匹配device_name "LEFT JOIN iot_device d ON r.machine_id = d.id ", // 新增左关联设备表通过machine_name匹配device_name
"WHERE rpd.deleted = 0 ", // 过滤已删除数据 "WHERE rpd.deleted = 0 ", // 过滤已删除数据
"<if test='reqVO.code != null and reqVO.code != \"\"'>", "<if test='reqVO.code != null and reqVO.code != \"\"'>",
" AND rpd.code LIKE CONCAT('%', #{reqVO.code}, '%')", " AND rpd.code LIKE CONCAT('%', #{reqVO.code}, '%')",

@ -84,4 +84,5 @@ public interface RecipeDeviceAttributeService {
*/ */
PageResult<RecipeDeviceAttributePageRespDTO> selectPageWithAttribute(RecipeDeviceAttributePageReqVO reqVO); PageResult<RecipeDeviceAttributePageRespDTO> selectPageWithAttribute(RecipeDeviceAttributePageReqVO reqVO);
List<RecipeDeviceAttributePageRespDTO> getList(RecipeDeviceAttributePageReqVO reqVO);
} }

@ -156,6 +156,13 @@ public class RecipeDeviceAttributeServiceImpl implements RecipeDeviceAttributeSe
return recipeDeviceAttributeMapper.selectPageWithAttributeWrap(reqVO); return recipeDeviceAttributeMapper.selectPageWithAttributeWrap(reqVO);
} }
@Override
public List<RecipeDeviceAttributePageRespDTO> getList(RecipeDeviceAttributePageReqVO reqVO) {
return recipeDeviceAttributeMapper.getList(reqVO);
}
// @Override // @Override
// public List<Map<String, Object>> operationAnalysisDetails(Long deviceId, String collectionStartTime, String collectionEndTime) { // public List<Map<String, Object>> operationAnalysisDetails(Long deviceId, String collectionStartTime, String collectionEndTime) {

@ -37,7 +37,6 @@ public class RecipePointRecordServiceImpl implements RecipePointRecordService {
recipePointRecordMapper.deleteByIds(recipePointRecordDOS); recipePointRecordMapper.deleteByIds(recipePointRecordDOS);
} }
// 插入 // 插入
RecipePointRecordDO recipePointRecord = BeanUtils.toBean(createReqVO, RecipePointRecordDO.class); RecipePointRecordDO recipePointRecord = BeanUtils.toBean(createReqVO, RecipePointRecordDO.class);
recipePointRecordMapper.insert(recipePointRecord); recipePointRecordMapper.insert(recipePointRecord);

Loading…
Cancel
Save