| | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.whyc.constant.CMD_Constant; |
| | | import com.whyc.constant.Constant_PowerDevSignalSet; |
| | | import com.whyc.dto.Response; |
| | | import com.whyc.mapper.CKPowerDevSignalSetMapper; |
| | | import com.whyc.pojo.db_ckpwrdev_data_rt.CKPowerDevSignalSet; |
| | | import com.whyc.pojo.db_ckpwrdev_data_rt.CKPowerDevSignalSwitchLog; |
| | | import com.whyc.pojo.db_ckpwrdev_data_rt.CKPowerDevSignalSetLog; |
| | | import com.whyc.util.OpCmdUtil; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | @Service |
| | | public class CKPowerDevSignalSetService { |
| | |
| | | private CKPowerDevSignalService signalService; |
| | | |
| | | @Autowired |
| | | private CKPowerDevSignalSwitchLogService switchLogService; |
| | | private CKPowerDevSignalSetLogService setLogService; |
| | | |
| | | public Response update(CKPowerDevSignalSet set) { |
| | | //查询signal表数据并设置到set表 |
| | | updateDataFromSignalToSet(); |
| | | set.setOpCmd(CMD_Constant.CMD_SetACDCARK_Signal); |
| | | mapper.update(set,null); |
| | | //读取opCmd返回是否成功 |
| | | QueryWrapper<CKPowerDevSignalSet> query = Wrappers.query(); |
| | | return OpCmdUtil.getOpStatus(mapper, query, CMD_Constant.CMD_SetACDCARK_Signal,20,null); |
| | | } |
| | | |
| | | public Response updateSwitchForReal(CKPowerDevSignalSet set) { |
| | | mapper.update(set,null); |
| | | //读取opCmd返回是否成功 |
| | | QueryWrapper<CKPowerDevSignalSet> query = Wrappers.query(); |
| | | //TODO 设置ACK不一样,需要更新!!! |
| | | Response opStatus = OpCmdUtil.getOpStatus(mapper, query, CMD_Constant.CMD_SetACDCARK_Signal, 20, null); |
| | | if(set.getSwitchNumber()!=null){ //说明设置的是真实值-开关 |
| | | if(opStatus.getData()!=null && (boolean)opStatus.getData()) { //成功 |
| | | //分合闸记录 |
| | | Date now = new Date(); |
| | | CKPowerDevSignalSwitchLog switchLog = new CKPowerDevSignalSwitchLog(); |
| | | switchLog.setNumber(set.getSwitchNumber()); |
| | | switchLog.setStatus(set.getSwitchStatus()); |
| | | switchLog.setCreateDay(now); |
| | | switchLog.setCreateTime(now); |
| | | switchLogService.add(switchLog); |
| | | } |
| | | if(opStatus.getData()!=null && (boolean)opStatus.getData()) { //成功 |
| | | //记录 |
| | | Date now = new Date(); |
| | | List<CKPowerDevSignalSetLog> logList = set.getLogList(); |
| | | logList.forEach(log->{ |
| | | String param = log.getParam(); |
| | | Integer devType = Constant_PowerDevSignalSet.getDevType(param); |
| | | log.setDevType(devType); |
| | | log.setCreateTime(now); |
| | | log.setCreateDay(now); |
| | | }); |
| | | setLogService.addBatch(logList); |
| | | } |
| | | return opStatus; |
| | | } |