| | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.core.common.Cools; |
| | | import com.core.common.R; |
| | | import com.zy.asrs.domain.param.RingThroughParam; |
| | | import com.zy.asrs.entity.BasDevpPosition; |
| | | import com.zy.asrs.entity.WrkMast; |
| | | import com.zy.asrs.entity.param.WcsDataSynchronizationParam; |
| | | import com.zy.asrs.entity.param.WcsRgvListParam; |
| | | import com.zy.asrs.entity.param.WcsTaskDistributionParam; |
| | | import com.zy.asrs.entity.param.WcsTaskListParam; |
| | | import com.zy.asrs.service.BasDevpPositionService; |
| | | import com.zy.asrs.service.OpenService; |
| | | import com.zy.asrs.service.WrkMastService; |
| | | import com.zy.asrs.utils.SortTheExecutionOfTheCarUtil; |
| | | import com.zy.asrs.utils.Utils; |
| | | import com.zy.core.cache.SlaveConnection; |
| | | import com.zy.core.enums.SlaveType; |
| | | import com.zy.core.model.RgvSlave; |
| | | import com.zy.core.model.protocol.RgvProtocol; |
| | | import com.zy.core.properties.SlaveProperties; |
| | | import com.zy.core.thread.RgvThread; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | |
| | | @Service |
| | | public class OpenServiceImpl implements OpenService { |
| | | |
| | | |
| | | @Autowired |
| | | private SlaveProperties slaveProperties; |
| | | @Autowired |
| | | private WrkMastService wrkMastService; |
| | | @Autowired |
| | | private BasDevpPositionService basDevpPositionService; |
| | | |
| | | @Override |
| | | @Transactional |
| | | public List<String> queryStock() { |
| | | return null; |
| | | } |
| | | @Value("${constant-parameters.perimeter}") |
| | | private Long perimeter; |
| | | |
| | | @Override |
| | | @Transactional |
| | |
| | | return R.ok(); |
| | | } |
| | | |
| | | @Override |
| | | @Transactional |
| | | public R wcsTaskStatus(Long timestamp) { |
| | | try{ |
| | | WcsDataSynchronizationParam wcsDataSynchronizationParam = new WcsDataSynchronizationParam(); |
| | | List<WcsTaskListParam> wcsTaskListParamList = new ArrayList<>(); |
| | | List<WcsRgvListParam> wcsRgvListParamList = new ArrayList<>(); |
| | | List<WrkMast> wrkMastList = wrkMastService.selectList(new EntityWrapper<>()); |
| | | List<BasDevpPosition> basDevpPositions = basDevpPositionService.selectList(new EntityWrapper<BasDevpPosition>().orderBy("plc_position",true)); |
| | | |
| | | for (WrkMast wrkMast : wrkMastList){ |
| | | WcsTaskListParam wcsTaskListParam = new WcsTaskListParam(wrkMast); |
| | | wcsTaskListParamList.add(wcsTaskListParam); |
| | | } |
| | | for (RgvSlave rgv : slaveProperties.getRgv()) { |
| | | // 获取RGV信息 |
| | | RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId()); |
| | | if (rgvThread == null) { |
| | | continue; |
| | | } |
| | | RgvProtocol rgvProtocol = rgvThread.getRgvProtocol(); |
| | | if (rgvProtocol == null) { |
| | | continue; |
| | | } |
| | | WcsRgvListParam wcsRgvListParam = new WcsRgvListParam(); |
| | | wcsRgvListParam.setRgvNo(rgv.getId().toString()); |
| | | wcsRgvListParam.setTaskNo(Cools.isEmpty(rgvProtocol.getTaskNo1()) ? null:rgvProtocol.getTaskNo1().toString()); |
| | | wcsRgvListParam.setStatus(rgvProtocol.statusType.id); |
| | | wcsRgvListParam.setCurrPos(rgvProtocol.RgvPos); |
| | | wcsRgvListParam.setCurrSta(SortTheExecutionOfTheCarUtil.LatelyAndLessThanWcs(basDevpPositions,rgvProtocol.getRgvPos(),perimeter).toString()); |
| | | List<String> arrayList = new ArrayList<>(); |
| | | if (rgvProtocol.getAlarm()!=0){ |
| | | arrayList.add(rgvProtocol.getAlarm$()); |
| | | } |
| | | wcsRgvListParam.setError(arrayList); |
| | | wcsRgvListParamList.add(wcsRgvListParam); |
| | | } |
| | | wcsDataSynchronizationParam.setTaskList(wcsTaskListParamList); |
| | | wcsDataSynchronizationParam.setRgvList(wcsRgvListParamList); |
| | | wcsDataSynchronizationParam.setTimestamp(timestamp); |
| | | return R.ok().add(wcsDataSynchronizationParam); |
| | | } catch (Exception e){ |
| | | return R.error("异常").add("异常信息:"+e); |
| | | } |
| | | } |
| | | |
| | | } |