| | |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.core.annotations.ManagerAuth; |
| | | import com.core.common.Arith; |
| | | import com.core.common.Cools; |
| | |
| | | import com.zy.asrs.domain.vo.*; |
| | | import com.zy.asrs.entity.BasCrnError; |
| | | import com.zy.asrs.entity.BasDevp; |
| | | import com.zy.asrs.entity.BasRgv; |
| | | import com.zy.asrs.entity.WrkMast; |
| | | import com.zy.asrs.mapper.BasCrnErrorMapper; |
| | | import com.zy.asrs.mapper.LocMastMapper; |
| | | import com.zy.asrs.service.BasDevpService; |
| | | import com.zy.asrs.service.BasRgvService; |
| | | import com.zy.asrs.service.WrkMastService; |
| | | import com.zy.common.CodeRes; |
| | | import com.zy.core.CrnThread; |
| | | import com.zy.core.DevpThread; |
| | | import com.zy.core.RgvThread2; |
| | | import com.zy.core.Slave; |
| | | import com.zy.core.cache.MessageQueue; |
| | | import com.zy.core.cache.OutputQueue; |
| | | import com.zy.core.cache.SlaveConnection; |
| | | import com.zy.core.enums.CrnModeType; |
| | | import com.zy.core.enums.SlaveType; |
| | | import com.zy.core.model.CrnSlave; |
| | | import com.zy.core.model.DevpSlave; |
| | | import com.zy.core.model.RgvSlave; |
| | | import com.zy.core.model.Task; |
| | | import com.zy.core.model.protocol.CrnProtocol; |
| | | import com.zy.core.model.protocol.RgvProtocol; |
| | | import com.zy.core.model.protocol.StaProtocol; |
| | | import com.zy.core.properties.SlaveProperties; |
| | | import com.zy.core.properties.SystemProperties; |
| | | import com.zy.core.thread.BarcodeThread; |
| | | import com.zy.core.thread.MelsecCrnThread; |
| | | import com.zy.core.thread.ScaleThread; |
| | | import com.zy.core.thread.SiemensCrnThread; |
| | | import com.zy.core.thread.*; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | |
| | | private LocMastMapper locMastMapper; |
| | | @Autowired |
| | | private BasCrnErrorMapper basCrnErrorMapper; |
| | | @Autowired |
| | | private BasRgvService basRgvService; |
| | | |
| | | @PostMapping("/system/running/status") |
| | | @ManagerAuth(memo = "系统运行状态") |
| | |
| | | return R.ok().add(Cools.add("status", SystemProperties.WCS_RUNNING_STATUS.get())); |
| | | } |
| | | |
| | | @PostMapping("/site/pickIn") |
| | | // @ManagerAuth(memo = "盘点再入库") |
| | | public R sitePickIn(@RequestParam Integer siteId, @RequestParam Integer workNo) throws InterruptedException { |
| | | for (DevpSlave devp : slaveProperties.getDevp()) { |
| | | for (DevpSlave.Sta inSta : devp.getPickSta()) { |
| | | SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); |
| | | StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo()); |
| | | if (staProtocol == null) { |
| | | continue; |
| | | } else { |
| | | staProtocol = staProtocol.clone(); |
| | | } |
| | | staProtocol.setWorkNo(workNo); |
| | | staProtocol.setSiteId(siteId); |
| | | staProtocol.setStaNo((short) 999); |
| | | if(MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol))){ |
| | | return R.ok(); |
| | | } |
| | | } |
| | | } |
| | | return R.error("入库失败,请检查站点以及工作档信息"); |
| | | } |
| | | |
| | | /****************************************************************/ |
| | | /************************** 实时数据 ******************************/ |
| | | /****************************************************************/ |
| | |
| | | stations.putAll(devpThread.getStation()); |
| | | } |
| | | } |
| | | List<BasRgv> basRgvs = basRgvService.selectList(new EntityWrapper<BasRgv>()); |
| | | for (Map.Entry<Integer, StaProtocol> entry : stations.entrySet()) { |
| | | SiteLatestDataVo vo = new SiteLatestDataVo(); |
| | | StaProtocol staProtocol = entry.getValue(); |
| | | vo.setSiteId(String.valueOf(entry.getKey())); // 站点编号 |
| | | for (BasRgv basRgv: basRgvs){ |
| | | if (basRgv.getRgvNo().equals(entry.getKey()) ){ |
| | | staProtocol.setWorkNo(basRgv.getWrkNo1()); |
| | | } |
| | | } |
| | | vo.setWorkNo(staProtocol.getWorkNo()); // 工作号 |
| | | vo.setSiteStatus(SiteStatusType.process(staProtocol)); // 状态 |
| | | vo.setNearbySta(staProtocol.getNearbySta()); |
| | |
| | | /** |
| | | * 堆垛机状态判断 |
| | | */ |
| | | if(crnProtocol.getAlarm() == 10){ |
| | | crnProtocol.setAlarm((short) 0); |
| | | } |
| | | if(crnProtocol.getAlarm() == 6){ |
| | | crnProtocol.setAlarm((short) 0); |
| | | } |
| | | if (crnProtocol.getAlarm() > 0) { |
| | | vo.setCrnStatus(CrnStatusType.MACHINE_ERROR); |
| | | } else { |
| | |
| | | CrnDetailVo vo = new CrnDetailVo(); |
| | | for (CrnSlave crnSlave : slaveProperties.getCrn()) { |
| | | if (crnSlave.getId().equals(crnNo)) { |
| | | MelsecCrnThread crnThread = (MelsecCrnThread) SlaveConnection.get(SlaveType.Crn, crnSlave.getId()); |
| | | SiemensCrnThread crnThread = (SiemensCrnThread) SlaveConnection.get(SlaveType.Crn, crnSlave.getId()); |
| | | CrnProtocol crnProtocol = crnThread.getCrnProtocol(); |
| | | vo.setCrnNo(crnNo); |
| | | vo.setWorkNo(crnProtocol.getTaskNo()); |