| | |
| | | import com.alibaba.excel.util.StringUtils; |
| | | import com.dy.pmsGlobal.daoBa.BaUserMapper; |
| | | import com.dy.pmsGlobal.daoPlt.PltProductMapper; |
| | | import com.dy.pmsGlobal.daoPlt.PltProductionLineMapper; |
| | | import com.dy.pmsGlobal.daoPlt.PltStationMapper; |
| | | import com.dy.pmsGlobal.daoPr.PrAssemblyPlanMapper; |
| | | import com.dy.pmsGlobal.daoPr.PrProductionNodeMapper; |
| | |
| | | import com.dy.pmsGlobal.daoSta.StaAssemblyWorkLastMapper; |
| | | import com.dy.pmsGlobal.pojoBa.BaUser; |
| | | import com.dy.pmsGlobal.pojoPlt.PltProduct; |
| | | import com.dy.pmsGlobal.pojoPlt.PltProductionLine; |
| | | import com.dy.pmsGlobal.pojoPlt.PltStation; |
| | | import com.dy.pmsGlobal.pojoPr.PrAssemblyPlan; |
| | | import com.dy.pmsGlobal.pojoPr.PrProductionNode; |
| | |
| | | private static final String WORK_TYPE_INSPECTION = "3"; |
| | | private static final String WORK_TYPE_REPAIR = "4"; |
| | | |
| | | private static final String USER_PREFIX = "101"; |
| | | private static final String STATION_PREFIX = "103"; |
| | | // private static final String USER_PREFIX = "101"; |
| | | // private static final String STATION_PREFIX = "103"; |
| | | |
| | | private PrAssemblyPlanMapper assemblyDao; |
| | | private BaUserMapper baUserDao; |
| | |
| | | private StaAssemblyWorkHistoryMapper assemblyWorkHistoryDao; |
| | | private PrProductionNodeMapper nodeDao; |
| | | private PltProductMapper productDao; |
| | | private PltProductionLineMapper lineDao; |
| | | |
| | | @Autowired |
| | | public void setAssemblyDao(PrAssemblyPlanMapper assemblyDao) { |
| | |
| | | this.productDao = productDao; |
| | | } |
| | | |
| | | @Autowired |
| | | public void setLineDao(PltProductionLineMapper lineDao) { |
| | | this.lineDao = lineDao; |
| | | } |
| | | |
| | | public BaUser getUserInfo(String id) { |
| | | Long userId = null; |
| | |
| | | throw new RuntimeException("员工编码不能为空"); |
| | | } |
| | | //用户101 |
| | | if (id.startsWith(USER_PREFIX)) { |
| | | if (id.startsWith(QrCodeConstant.TypeWorker)) { |
| | | userId = Long.parseLong(id.toString().substring(3)); |
| | | } else { |
| | | userId = Long.parseLong(id.toString()); |
| | |
| | | throw new RuntimeException("工站编码不能为空"); |
| | | } |
| | | //工站103 |
| | | if (id.startsWith(STATION_PREFIX)) { |
| | | if (id.startsWith(QrCodeConstant.TypeStation)) { |
| | | stationId = Long.parseLong(id.toString().substring(3)); |
| | | } else { |
| | | stationId = Long.parseLong(id.toString()); |
| | |
| | | throw new RuntimeException("工站编码:" + stationId + "不在系统中,请先维护工站信息"); |
| | | } else if (stationInfo.getDisabled()) { |
| | | throw new RuntimeException("工站(" + stationInfo.getName() + ")编码:" + stationId + "在系统已禁用,请先启用工站"); |
| | | } |
| | | //检查线体是否被禁用 |
| | | PltProductionLine lineInfo = lineDao.selectByPrimaryKey(stationInfo.getLineId()); |
| | | if (lineInfo == null ) { |
| | | throw new RuntimeException("工站(" + stationInfo.getName() + ")编码:" + stationId + "所在线体编码:" + lineInfo.getId() + "在系统不存在,请先找管理人员检查"); |
| | | }else if(lineInfo.getDisabled()){ |
| | | throw new RuntimeException("工站(" + stationInfo.getName() + ")编码:" + stationId + "所在线体编码:" + lineInfo.getName() + "在系统已禁用,请先启用线体"); |
| | | } |
| | | return stationInfo; |
| | | } |
| | |
| | | throw new RuntimeException("工站编码或员工编码均不能为空,请检查"); |
| | | } |
| | | //工站103 |
| | | if (vo.getStationId().startsWith(USER_PREFIX)) { |
| | | if (vo.getStationId().startsWith(QrCodeConstant.TypeWorker)) { |
| | | userInfo = getUserInfo(vo.getStationId()); |
| | | } else { |
| | | stationInfo = getStationInfo(vo.getStationId()); |
| | | } |
| | | if (vo.getUserId().startsWith(STATION_PREFIX)) { |
| | | if (vo.getUserId().startsWith(QrCodeConstant.TypeStation)) { |
| | | stationInfo = getStationInfo(vo.getUserId()); |
| | | } else { |
| | | userInfo = getUserInfo(vo.getUserId()); |
| | |
| | | } |
| | | return result; |
| | | } else { |
| | | List<PrProductionNode> nodeInfo = assyPlan.getProcess().getNodes().stream() |
| | | .filter(node -> node.id.equals(result.getNodeId())).collect(Collectors.toList()); |
| | | result.setPlanName(assyPlan.getName()); |
| | | result.setProcessName(assyPlan.getProcessName()); |
| | | result.setNodeName(assyPlan.getProcess().getNodes().get(0).getContent()); |
| | | result.setNodeName(nodeInfo.get(0).getContent()); |
| | | //找到对应的产品信息 |
| | | PltProduct product = productDao.selectByPrimaryKey(assyPlan.getProId()); |
| | | if (product != null) { |
| | |
| | | .filter(node -> node.id.equals(vo.getNodeId())).collect(Collectors.toList()); |
| | | result.setPlanName(assyPlan.getName()); |
| | | result.setProcessName(assyPlan.getProcessName()); |
| | | result.setNodeName(assyPlan.getProcess().getNodes().get(0).getContent()); |
| | | result.setNodeName(nodeInfo.get(0).getContent()); |
| | | //找到对应的产品信息 |
| | | PltProduct product = productDao.selectByPrimaryKey(assyPlan.getProId()); |
| | | if (product == null) { |
| | |
| | | if (workLast == null) { |
| | | throw new RuntimeException("系统中没有当前登录信息,请检查或重新登录"); |
| | | } |
| | | if ((!StringUtils.isBlank(assistant)) && assistant.startsWith(USER_PREFIX)) { |
| | | if ((!StringUtils.isBlank(assistant)) && assistant.startsWith(QrCodeConstant.TypeWorker)) { |
| | | assistant = assistant.substring(3); |
| | | } |
| | | if (!StringUtils.isBlank(workLast.getAssistants())) { |