YYC
2023-09-07 7243e0b4bd9a267a633d2e481e17646509b6868d
igds-protocol-modbus/src/main/java/com/ld/igds/modbus/DeviceModbusPR.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,91 @@
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<DeviceModbus> 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<DeviceModbus> details) {
        deviceModbusService.updateDataDevice(details);
    }
    /**
     * ${dorado.getDataProvider("deviceModbusPR#triggerFun").getResult()}
     *
     * @return
     */
    @DataProvider
    public List<DicTrigger> triggerFun() {
        List<DicTrigger> 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;
    }
}