提交台账变更推送前置逻辑
This commit is contained in:
@@ -444,7 +444,7 @@ public class TerminalBaseController extends BaseController {
|
|||||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("请求前置设备进程")
|
@ApiOperation("请求前置设备设备")
|
||||||
@PostMapping(value = "askRestartDevice")
|
@PostMapping(value = "askRestartDevice")
|
||||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.DELETE)
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.DELETE)
|
||||||
@ApiImplicitParams({
|
@ApiImplicitParams({
|
||||||
@@ -457,5 +457,17 @@ public class TerminalBaseController extends BaseController {
|
|||||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation("台账变更推送")
|
||||||
|
@PostMapping(value = "ledgerChangePush")
|
||||||
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.QUERY)
|
||||||
|
|
||||||
|
public HttpResult<Object> ledgerChangePush() {
|
||||||
|
String methodDescribe = getMethodDescribe("ledgerChangePush");
|
||||||
|
terminalBaseService.ledgerChangePush();
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,8 +26,8 @@ import java.util.stream.Collectors;
|
|||||||
* @author clam
|
* @author clam
|
||||||
* @version V1.0.0
|
* @version V1.0.0
|
||||||
*/
|
*/
|
||||||
@Component
|
//@Component
|
||||||
@EnableScheduling
|
//@EnableScheduling
|
||||||
public class ScheduledTasks {
|
public class ScheduledTasks {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
|||||||
@@ -288,4 +288,6 @@ public interface TerminalBaseService {
|
|||||||
void askRestartProcess(Integer processNo,String processType,String deviceRebootType);
|
void askRestartProcess(Integer processNo,String processType,String deviceRebootType);
|
||||||
|
|
||||||
void askRestartDevice(String devId, String deviceRebootType);
|
void askRestartDevice(String devId, String deviceRebootType);
|
||||||
|
|
||||||
|
void ledgerChangePush();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,6 +78,7 @@ import org.springframework.http.ResponseEntity;
|
|||||||
import org.springframework.scheduling.annotation.Async;
|
import org.springframework.scheduling.annotation.Async;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
import org.springframework.util.CollectionUtils;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
@@ -3674,6 +3675,51 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional
|
||||||
|
public void ledgerChangePush() {
|
||||||
|
QueryWrapper<PqsTerminalLogs> queryWrapper= new QueryWrapper<PqsTerminalLogs>();
|
||||||
|
queryWrapper.lambda().eq(PqsTerminalLogs::getState, 1).eq(PqsTerminalLogs::getIsPush, 0).in(PqsTerminalLogs::getTerminalType,Stream.of(4,6).collect(Collectors.toList()));
|
||||||
|
List<PqsTerminalLogs> list = pqsTerminalLogsMapper.selectList(queryWrapper);
|
||||||
|
if(!CollectionUtils.isEmpty(list)){
|
||||||
|
//一个是删除操作,其余都算终端设备更新操作
|
||||||
|
List<PqsTerminalLogs> delDevice = list.stream().filter(temp -> Objects.equals(temp.getOperateType(), Param.DEL) && Objects.equals(temp.getTerminalType(), 4)).distinct().collect(Collectors.toList());
|
||||||
|
List<String> delDevIds = new ArrayList<>();
|
||||||
|
if(!CollectionUtils.isEmpty(delDevice)){
|
||||||
|
delDevice.forEach(temp->{
|
||||||
|
this.askRestartDevice(temp.getObjIndex(), DeviceRebootType.DELETE_TERMINAL);
|
||||||
|
delDevIds.add(temp.getObjIndex());
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
List<String> updateDevIds = new ArrayList<>();
|
||||||
|
List<String> lineIds = list.stream().filter(temp -> Objects.equals(temp.getTerminalType(), 6)).map(PqsTerminalLogs::getObjIndex).distinct().collect(Collectors.toList());
|
||||||
|
List<String> devIds = list.stream().filter(temp -> Objects.equals(temp.getTerminalType(), 4)).map(PqsTerminalLogs::getObjIndex).distinct().collect(Collectors.toList());
|
||||||
|
|
||||||
|
//更新的终端
|
||||||
|
List<Line> lineById = this.getLineById(lineIds);
|
||||||
|
List<String> devIdList = lineById.stream().map(temp -> {
|
||||||
|
return temp.getPids().split(",")[4];
|
||||||
|
}).distinct().collect(Collectors.toList());
|
||||||
|
updateDevIds.addAll(devIdList);
|
||||||
|
updateDevIds.addAll(devIds);
|
||||||
|
if(!CollectionUtils.isEmpty(delDevIds)){
|
||||||
|
updateDevIds.removeAll(delDevIds);
|
||||||
|
}
|
||||||
|
updateDevIds.stream().distinct().forEach(temp->{
|
||||||
|
this.askRestartDevice(temp, DeviceRebootType.LEDGER_MODIFY);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
list.forEach(temp->{
|
||||||
|
temp.setIsPush(1);
|
||||||
|
pqsTerminalLogsMapper.updateById(temp);
|
||||||
|
});
|
||||||
|
|
||||||
|
}else {
|
||||||
|
throw new BusinessException("暂无变动的装置测点推送");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 终端日志记录
|
* 终端日志记录
|
||||||
|
|||||||
Reference in New Issue
Block a user