package com.zy.asrs.controller; import com.core.common.Cools; import com.core.common.R; import com.zy.asrs.controller.requestParam.StationRequestParam; import com.zy.asrs.controller.responseParam.StationResponseParam; import com.zy.common.web.BaseController; import com.zy.core.DevpThread; import com.zy.core.cache.SlaveConnection; import com.zy.core.enums.SlaveType; import com.zy.core.model.protocol.StaProtocol; import com.zy.core.properties.SlaveProperties; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.List; import java.util.Map; /** * 对ctu系统的接口 */ @Slf4j @RestController public class CtuController extends BaseController { @Autowired private SlaveProperties slaveProperties; /** * 站点查询 */ @ResponseBody @PostMapping("/station/query") public R query(@RequestBody StationRequestParam param) { log.info("站点查询:{}", param); List staNos = param.getStaNos(); DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, param.getDevpId()); List list = new ArrayList<>(); Map station = devpThread.getStation(); if (Cools.isEmpty(staNos)) { for (Map.Entry entry : station.entrySet()) { staNos.add(entry.getKey() + ""); } } StationResponseParam stationResponseParam; for (String staNo : staNos) { StaProtocol staProtocol = station.get(Integer.parseInt(staNo)); stationResponseParam = new StationResponseParam(); stationResponseParam.setStaNo(staNo); stationResponseParam.setOccupied(staProtocol.isLoading()); stationResponseParam.setInEnable(staProtocol.isInEnable()); stationResponseParam.setOutEnable(staProtocol.isOutEnable()); stationResponseParam.setOnline(staProtocol.isAutoing()); list.add(stationResponseParam); } return R.ok(list); } }