| | |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.transaction.interceptor.TransactionAspectSupport; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Set; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | |
| | | DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, led.getDevpPlcId()); |
| | | // 命令集合 |
| | | List<LedCommand> commands = new ArrayList<>(); |
| | | // 工作档集合 |
| | | List<WrkMast> wrkMasts = new ArrayList<>(); |
| | | // // 工作档集合 |
| | | // List<WrkMast> wrkMasts = new ArrayList<>(); |
| | | List<Integer> workNoList = new ArrayList<>(); |
| | | for (Integer staNo : led.getStaArr()) { |
| | | // 获取叉车站点 |
| | | StaProtocol staProtocol = devpThread.getStation().get(staNo); |
| | |
| | | } else { |
| | | staProtocol = staProtocol.clone(); |
| | | } |
| | | Integer wrkNo = null; |
| | | Integer ioType = null; |
| | | Integer targetStaNo = null; |
| | | String sourceLocNo = null; |
| | | String locNo = null; |
| | | String barcode = null; |
| | | |
| | | // 获取工作档数据 |
| | | WrkMast wrkMast = wrkMastMapper.selectById(staProtocol.getWorkNo()); |
| | | // if (null == wrkMast || wrkMast.getWrkSts() < 14 || wrkMast.getIoType() < 100) { continue; } |
| | |
| | | } |
| | | |
| | | WrkMastLog wrkMastLog = wrkMastLogs.get(0); |
| | | wrkMast = new WrkMast(); |
| | | wrkMast.sync(wrkMastLog); |
| | | wrkNo = wrkMastLog.getWrkNo(); |
| | | ioType = wrkMastLog.getIoType(); |
| | | sourceLocNo = wrkMastLog.getSourceLocNo(); |
| | | locNo = wrkMastLog.getLocNo(); |
| | | targetStaNo = wrkMastLog.getStaNo(); |
| | | barcode = wrkMastLog.getBarcode(); |
| | | }else { |
| | | wrkNo = wrkMast.getWrkNo(); |
| | | ioType = wrkMast.getIoType(); |
| | | sourceLocNo = wrkMast.getSourceLocNo(); |
| | | locNo = wrkMast.getLocNo(); |
| | | targetStaNo = wrkMast.getStaNo(); |
| | | barcode = wrkMast.getBarcode(); |
| | | } |
| | | News.warnNoLog("" + mark + " - 0" + " - 开始执行:出库 ===>> 工作档信息写入led显示器"); |
| | | wrkMasts.add(wrkMast); |
| | | workNoList.add(wrkNo); |
| | | // 组装命令 |
| | | LedCommand ledCommand = new LedCommand(); |
| | | ledCommand.setWorkNo(wrkMast.getWrkNo()); |
| | | ledCommand.setIoType(wrkMast.getIoType()); |
| | | ledCommand.setWorkNo(wrkNo); |
| | | ledCommand.setIoType(ioType); |
| | | // 出库模式 |
| | | switch (wrkMast.getIoType()) { |
| | | switch (ioType) { |
| | | case 1: |
| | | ledCommand.setTitle("全板入库"); |
| | | break; |
| | |
| | | ledCommand.setTitle("并板入库"); |
| | | break; |
| | | default: |
| | | News.error("" + mark + " - 1" + " - 任务入出库类型错误!!![工作号:{}] [入出库类型:{}]", wrkMast.getWrkNo(), wrkMast.getIoType()); |
| | | News.error("" + mark + " - 1" + " - 任务入出库类型错误!!![工作号:{}] [入出库类型:{}]", wrkNo, ioType); |
| | | break; |
| | | } |
| | | ledCommand.setSourceLocNo(wrkMast.getSourceLocNo()); |
| | | ledCommand.setLocNo(wrkMast.getLocNo()); |
| | | ledCommand.setStaNo(wrkMast.getStaNo()); |
| | | ledCommand.setBarcode(wrkMast.getBarcode()); |
| | | ledCommand.setSourceLocNo(sourceLocNo); |
| | | ledCommand.setLocNo(locNo); |
| | | ledCommand.setStaNo(targetStaNo); |
| | | ledCommand.setBarcode(barcode); |
| | | // ledCommand.setSourceStaNo(wrkMast.getSourceStaNo()); |
| | | if (wrkMast.getIoType() != 110 && wrkMast.getIoType() != 10) { |
| | | List<WrkDetl> wrkDetls = wrkDetlService.findByWorkNo(wrkMast.getWrkNo()); |
| | | // try{ |
| | | // if (wrkMast.getIoType()>100){ |
| | | // for (WrkDetl wrkDetl : wrkDetls){ |
| | | // LocDetl locDetl = locDetlService.selectMatnrSpecs(wrkDetl.getMatnr(), wrkDetl.getSpecs(), wrkMast.getSourceLocNo()); |
| | | // wrkDetl.setWeight(locDetl.getAnfme()); |
| | | // } |
| | | // }else { |
| | | // for (WrkDetl wrkDetl : wrkDetls){ |
| | | // wrkDetl.setWeight(wrkDetl.getAnfme()); |
| | | // } |
| | | // } |
| | | // }catch (Exception e){ |
| | | // log.error("工作档案明细输入电视机失败1:异常信息==》"+e); |
| | | // } |
| | | if (ioType != 110 && ioType != 10) { |
| | | List<WrkDetl> wrkDetls = wrkDetlService.findByWorkNo(wrkNo); |
| | | |
| | | if (!wrkDetls.isEmpty()) { |
| | | WrkDetl wrkDetl = wrkDetls.get(0); |
| | |
| | | , wrkDetl.getCstateid$() |
| | | )); |
| | | |
| | | // wrkDetls.forEach(wrkDetl -> ledCommand.getMatDtos().add(new MatDto( |
| | | // wrkDetl.getMatnr() |
| | | // , wrkDetl.getMaktx() |
| | | // , wrkDetl.getAnfme() |
| | | // , wrkDetl.getWeight() |
| | | // , wrkDetl.getStockNum() |
| | | // , wrkDetl.getStockNum2() |
| | | // , wrkDetl.getSpecs() |
| | | // , wrkDetl.getSku() |
| | | // , wrkDetl.getZpallet() |
| | | // , wrkDetl.getModel() |
| | | // , wrkDetl.getSupp() |
| | | // , wrkDetl.getKpCstmrName() |
| | | // , wrkDetl.getOrderNo() |
| | | // , wrkDetl.getCstateid$() |
| | | // ))); |
| | | }else { |
| | | List<WrkDetlLog> wrkDetlLogs = wrkDetlLogService.selectTodayByWrkNo(wrkMast.getWrkNo()); |
| | | if(!wrkDetlLogs.isEmpty()) { |
| | |
| | | } |
| | | commands.add(ledCommand); |
| | | } |
| | | Set<Integer> workNos = wrkMasts.stream().map(WrkMast::getWrkNo).collect(Collectors.toSet()); |
| | | Set<Integer> workNos = new HashSet<>(workNoList); |
| | | // 获取LED线程 |
| | | LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led.getId()); |
| | | // 相同工作号集合则过滤 |
| | |
| | | |
| | | try { |
| | | // 修改主档led标记 |
| | | for (WrkMast wrkMast : wrkMasts) { |
| | | wrkMast.setOveMk("Y"); |
| | | wrkMast.setModiTime(new Date()); |
| | | if (wrkMastMapper.updateById(wrkMast) == 0) { |
| | | News.errorNoLog("" + mark + " - 4" + " - 更新工作档失败"); |
| | | throw new CoolException("更新工作档失败"); |
| | | for (Integer wrkNo : workNoList) { |
| | | WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", wrkNo)); |
| | | if (wrkMast != null) { |
| | | wrkMast.setOveMk("Y"); |
| | | wrkMast.setModiTime(new Date()); |
| | | if (wrkMastMapper.updateById(wrkMast) == 0) { |
| | | News.errorNoLog("" + mark + " - 4" + " - 更新工作档失败"); |
| | | throw new CoolException("更新工作档失败"); |
| | | } |
| | | } |
| | | } |
| | | |