| | |
| | | param.setStationId(stationInfo.getId()); |
| | | param.setStatus(STATUS_NORMAL); |
| | | List<StaAssemblyWorkLast> workLasts = assemblyWorkLastDao.selectList(param); |
| | | long userId = userInfo.getId(); |
| | | //long userId = userInfo.getId(); |
| | | if (workLasts.size() > 0) { |
| | | List<StaAssemblyWorkLast> userStationList = workLasts.stream().filter(item -> userId == item.getUserId()).collect(Collectors.toList()); |
| | | if (userStationList.size() == 0) { |
| | | StaAssemblyWorkLast paramQuery = new StaAssemblyWorkLast(); |
| | | paramQuery.setUserId(userInfo.getId()); |
| | | paramQuery.setStationId(stationInfo.getId()); |
| | | paramQuery.setPlanId(vo.getPlanId()); |
| | | paramQuery.setProcessId(vo.getProcessId()); |
| | | paramQuery.setNodeId(vo.getNodeId()); |
| | | paramQuery.setWorkType(vo.getWorkType()); |
| | | StaAssemblyWorkLast userStation = assemblyWorkLastDao.existsEntity(paramQuery); |
| | | //List<StaAssemblyWorkLast> userStationList = workLasts.stream().filter(item -> userId == item.getUserId()).collect(Collectors.toList()); |
| | | if (userStation == null) { |
| | | //删除工站登录信息 |
| | | for (int i = 0; i < workLasts.size(); i++) { |
| | | logout(workLasts.get(i).getId().toString()); |
| | | } |
| | | //throw new RuntimeException("员工(" +userInfo.getName() + ")编码:" + workLasts.get(0).getUserId() + "已经绑定该工站(" + stationInfo.getName() + ")编码:" + workLasts.get(0).getStationId() + ".请先让其解绑"); |
| | | } else { |
| | | BeanUtils.copyProperties(userStationList.get(0), result); |
| | | BeanUtils.copyProperties(userStation, result); |
| | | } |
| | | } |
| | | if (result.getId() == null) { |
| | |
| | | public StaAssemblyWorkLast save(QueryVo vo) { |
| | | //先check |
| | | StaAssemblyWorkLast checkResult = checkUserAndStationUsed(vo); |
| | | //数据逐个封装返回 |
| | | vo.setLineId(checkResult.getLineId()); |
| | | StaAssemblyWorkLast staLast = new StaAssemblyWorkLast(); |
| | | BeanUtils.copyProperties(vo, staLast); |
| | | staLast.setUserId(checkResult.getUserId()); |
| | | staLast.setStationId(checkResult.getStationId()); |
| | | //校验planId processId nodeId |
| | | PrAssemblyPlan assyPlan = new PrAssemblyPlan(); |
| | | PrAssemblyPlan assyPlan = null; |
| | | if (vo.getPlanId() != null) { |
| | | assyPlan = assemblyDao.selectByPrimaryKey(vo.getPlanId()); |
| | | if (assyPlan == null) { |
| | |
| | | throw new RuntimeException("节点信息有误或被其他人员修改,请重新选择节点信息"); |
| | | } |
| | | } |
| | | |
| | | int count = 0; |
| | | if (checkResult.getId() == null) { |
| | | BeanUtils.copyProperties(vo, staLast);//vo拷贝到staLast |
| | | staLast.setUserId(checkResult.getUserId()); |
| | | staLast.setStationId(checkResult.getStationId()); |
| | | staLast.setStatus(STATUS_NORMAL); |
| | | staLast.setStartTime(new Date()); |
| | | count = assemblyWorkLastDao.insertSelective(staLast); |
| | | } else { |
| | | //保存一条history? |
| | | BeanUtils.copyProperties(checkResult, staLast); |
| | | StaAssemblyWorkLast result = new StaAssemblyWorkLast(); |
| | | //查询到当前的信息 如果登录信息一模一样,不会更新 |
| | | if (checkResult.getId() != null) { |
| | | BeanUtils.copyProperties(checkResult, result);//checkResult拷贝到result |
| | | }else{ |
| | | //逐个封装保存 |
| | | BeanUtils.copyProperties(vo, result);//vo拷贝到result |
| | | result.setUserId(checkResult.getUserId()); |
| | | result.setStationId(checkResult.getStationId()); |
| | | result.setLineId(checkResult.getLineId()); |
| | | result.setStatus(STATUS_NORMAL); |
| | | result.setStartTime(new Date()); |
| | | if (vo.getPlanId() != null) { |
| | | staLast.setPlanId(assyPlan.getId()); |
| | | staLast.setProcessId(assyPlan.getProcess().getId()); |
| | | staLast.setNodeId(vo.getNodeId()); |
| | | result.setPlanId(assyPlan.getId()); |
| | | result.setProcessId(assyPlan.getProcess().getId()); |
| | | result.setNodeId(vo.getNodeId()); |
| | | } |
| | | staLast.setWorkType(vo.getWorkType()); |
| | | staLast.setStatus(STATUS_NORMAL); |
| | | staLast.setStartTime(new Date()); |
| | | count = assemblyWorkLastDao.updateByPrimaryKeySelective(staLast); |
| | | int count = assemblyWorkLastDao.insertSelective(result); |
| | | if (count <= 0) { |
| | | throw new RuntimeException("数据库存储失败"); |
| | | } |
| | | } |
| | | if (count <= 0) { |
| | | throw new RuntimeException("数据库存储失败"); |
| | | } |
| | | StaAssemblyWorkLast result = assemblyWorkLastDao.selectByPrimaryKey(staLast.getId()); |
| | | if (assyPlan != null) { |
| | | List<PrProductionNode> nodeInfo = assyPlan.getProcess().getNodes().stream() |
| | | .filter(node -> node.id.equals(vo.getNodeId())).collect(Collectors.toList()); |