package com.whyc.service;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.whyc.constant.CMD_Constant;
|
import com.whyc.dto.Response;
|
import com.whyc.mapper.CKPowerDevBreakerControlMapper;
|
import com.whyc.pojo.db_ckpwrdev_data_rt.CKPowerDevBreakerControl;
|
import com.whyc.pojo.db_ckpwrdev_data_rt.CKPowerDevBreakerControlLog;
|
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;
|
|
@Service
|
public class CKPowerDevBreakerControlService {
|
|
@Resource
|
private CKPowerDevBreakerControlMapper mapper;
|
|
|
@Autowired
|
private CKPowerDevBreakerControlLogService logService;
|
|
public Response update(CKPowerDevBreakerControl param) {
|
UpdateWrapper<CKPowerDevBreakerControl> update = Wrappers.update();
|
update.set("switch_state",param.getSwitchState()).set("op_cmd",CMD_Constant.CMD_SetBreakerState).eq("breaker_id",param.getBreakerId());
|
mapper.update(null,update);
|
//读取opCmd返回是否成功
|
QueryWrapper<CKPowerDevBreakerControl> query = Wrappers.query();
|
Response opStatus = OpCmdUtil.getOpStatus(mapper, query, CMD_Constant.CMD_SetBreakerState, 20, null);
|
if(opStatus.getData()!=null && (boolean)opStatus.getData()) { //成功
|
//分合闸记录
|
Date now = new Date();
|
CKPowerDevBreakerControlLog controlLog = new CKPowerDevBreakerControlLog();
|
controlLog.setScope(param.getSwitchScope());
|
controlLog.setNumber(param.getSwitchNumber());
|
controlLog.setStatus(param.getSwitchState());
|
controlLog.setCreateDay(now);
|
controlLog.setCreateTime(now);
|
logService.add(controlLog);
|
}
|
return opStatus;
|
}
|
}
|