| | |
| | | public interface WrkDetlMapper extends BaseMapper<WrkDetl> { |
| | | |
| | | List<WrkDetl> findByWorkNo(Integer workNo); |
| | | WrkDetl devpPackNo(@Param("workNo")Integer workNo); |
| | | |
| | | int updateIoTime(@Param("workNo") Integer workNo, @Param("ioTime") Date ioTime); |
| | | |
| | |
| | | void createWorkDetail(Integer workNo, List<WaitPakin> waitPakins, String barcode); |
| | | |
| | | List<WrkDetl> findByWorkNo(Integer workNo); |
| | | WrkDetl devpPackNo(Integer workNo); |
| | | |
| | | boolean updateIoTime(Integer workNo, Date ioTime); |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 103站点有物下发pack码 |
| | | */ |
| | | @Transactional |
| | | public void packDevp() { |
| | | try { |
| | | // 根据输送线plc遍历 |
| | | for (DevpSlave devp : slaveProperties.getDevp()) { |
| | | BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("bas_devp",103)); |
| | | if (Cools.isEmpty(basDevp)){ |
| | | log.error("103站点查询失败-MainServiceImpl.java-2255行"); |
| | | } |
| | | if (basDevp.getAutoing().equals("Y") && basDevp.getWrkNo()>0 && basDevp.getLoading().equals("Y") && basDevp.getInEnable().equals("Y")){ |
| | | WrkDetl wrkDetl = wrkDetlService.devpPackNo(basDevp.getWrkNo()); |
| | | if (Cools.isEmpty(wrkDetl)){ |
| | | log.error("103站点查询失败-MainServiceImpl.java-2255行"); |
| | | } |
| | | MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(4,wrkDetl.getMatnr())); |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | log.error("103 ===>> 给输送线发送Pack码失败", e); |
| | | e.printStackTrace(); |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | @Override |
| | | public WrkDetl devpPackNo(Integer workNo) { |
| | | return this.baseMapper.devpPackNo(workNo); |
| | | } |
| | | |
| | | @Override |
| | | public boolean updateIoTime(Integer workNo, Date ioTime) { |
| | | return this.baseMapper.updateIoTime(workNo, ioTime) > 0; |
| | | } |
| | |
| | | // //火警,给堆垛机发送火警警报 |
| | | // mainService.fierCrn(); |
| | | |
| | | //103站点有物下发pack码 |
| | | mainService.packDevp(); |
| | | |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | |
| | | case 2: |
| | | write((StaProtocol)task.getData()); |
| | | break; |
| | | // 写数据 103站点写入PACK码 |
| | | case 4: |
| | | write103((String)task.getData()); |
| | | break; |
| | | //复位测试信号 |
| | | case 3: |
| | | StaProtocol staProtocol = (StaProtocol)task.getData(); |
| | |
| | | } |
| | | |
| | | /** |
| | | * 写入 pack码 =====> 单站点写入 |
| | | */ |
| | | private void write103(String packNo){ |
| | | try{ |
| | | OperateResult write = siemensS7Net.Write("DB100.", packNo); |
| | | if (!write.IsSuccess) { |
| | | OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线站点数据失败。输送线plc编号={1},站点数据={2}", slave.getId(), JSON.toJSON(packNo))); |
| | | log.error("写入输送线站点数据失败。输送线plc编号={},站点数据={}", slave.getId(), JSON.toJSON(packNo)); |
| | | } else { |
| | | OutputQueue.DEVP.offer(MessageFormat.format("【{0}】 输送线命令下发 [id:{1}] >>>>> {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(packNo))); |
| | | log.info("输送线命令下发 [id:{}] >>>>> 命令下发: {}", slave.getId(), JSON.toJSON(packNo)); |
| | | } |
| | | }catch (Exception e){ |
| | | log.error("103站点写入数据失败,输送线线程write103"); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 写入 ID+目标站 =====> 单站点写入 |
| | | */ |
| | | private void write(StaProtocol staProtocol) throws InterruptedException { |
| | |
| | | <select id="findByWorkNo" resultMap="BaseResultMap"> |
| | | select wrk_no, mat_no, mat_name, qty from asr_wrk_detl where 1=1 and wrk_no = #{workNo} |
| | | </select> |
| | | <select id="devpPackNo" resultMap="BaseResultMap"> |
| | | select top 1 * from asr_wrk_detl_log where 1=1 and wrk_no = #{workNo} order by io_time desc |
| | | </select> |
| | | |
| | | <update id="updateIoTime"> |
| | | update asr_wrk_detl |