package com.ld.igds.modbus; import com.bstek.dorado.annotation.DataProvider; import com.bstek.dorado.annotation.DataResolver; import com.bstek.dorado.annotation.Expose; import com.ld.igds.modbus.service.HModbusService; import com.ld.igds.models.DeviceModbus; import com.ld.igds.models.DicTrigger; import com.ld.igds.util.ContextUtil; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; /** * MOOBUS-TCP设备参数配置 */ @Component public class DeviceModbusPR { @Resource private HModbusService deviceModbusService; /** * deviceModbusPR#listAll * * @return */ @DataProvider public List listAll() { String companyId = ContextUtil.getCompanyId(); return deviceModbusService.listAllDevice(companyId); } /** * deviceModbusPR#flushCache * * @return */ @Expose public void flushCache() { String companyId = ContextUtil.getCompanyId(); deviceModbusService.flushCacheDevice(companyId); } /** * deviceModbusPR#delData * * @return */ @Expose public String delData(DeviceModbus data) { if (null == data.getId()) return null; return deviceModbusService.delDataDevice(data); } /** * 数据更新 * deviceModbusPR#updateData * * @param details */ @DataResolver public void updateData(List details) { deviceModbusService.updateDataDevice(details); } /** * ${dorado.getDataProvider("deviceModbusPR#triggerFun").getResult()} * * @return */ @DataProvider public List triggerFun() { List list = new ArrayList<>(); list.add(new DicTrigger(ModbusConstant.FUN_01, "01-读线圈")); list.add(new DicTrigger(ModbusConstant.FUN_02, "02-读离散量输入")); list.add(new DicTrigger(ModbusConstant.FUN_03, "03-读保持寄存器")); list.add(new DicTrigger(ModbusConstant.FUN_04, "04-读输入寄存器")); list.add(new DicTrigger(ModbusConstant.FUN_05, "05-写单个线圈")); list.add(new DicTrigger(ModbusConstant.FUN_06, "06-写单个寄存器")); list.add(new DicTrigger(ModbusConstant.FUN_15, "15-写多个线圈")); list.add(new DicTrigger(ModbusConstant.FUN_16, "16-写多个寄存器")); list.add(new DicTrigger(ModbusConstant.FUN_99, "未配置")); return list; } }