| | |
| | | private static final String WORK_TYPE_TEST = "2"; |
| | | private static final String WORK_TYPE_INSPECTION = "3"; |
| | | private static final String WORK_TYPE_REPAIR = "4"; |
| | | private static final String WORK_TYPE_OTHER = "5"; |
| | | |
| | | private StaDeviceLastMapper deviceLastDao; |
| | | private StaDeviceLifeMapper deviceLifeDao; |
| | |
| | | |
| | | Boolean isEnd = false;//是否经历过结束节点 |
| | | PrProductionNode node = nodeDao.selectByPrimaryKey(workLast.nodeId); |
| | | // |
| | | record.nodeContent = node.content; |
| | | if (node.isRecord) { |
| | | record.deviceCycleContent = node.deviceCycleContent; |
| | |
| | | if (WORK_TYPE_ASSEMBLY.equals(workType) || WORK_TYPE_TEST.equals(workType) || WORK_TYPE_INSPECTION.equals(workType) || WORK_TYPE_REPAIR.equals(workType)) { |
| | | return switch (status) { |
| | | case QrCodeConstant.MarkOk -> isEnd ? DeviceStatus.COMPLETED.getCode() : DeviceStatus.ASSEMBLING.getCode(); |
| | | case QrCodeConstant.MarkQualified -> isEnd ? DeviceStatus.COMPLETED.getCode() : DeviceStatus.ASSEMBLING.getCode(); |
| | | case QrCodeConstant.MarkUnqualified -> DeviceStatus.REPAIR.getCode(); |
| | | case QrCodeConstant.MarkWaste -> DeviceStatus.WASTE.getCode(); |
| | | default -> throw new RuntimeException("状态错误"); |
| | |
| | | //测试 |
| | | }else if (WORK_TYPE_TEST.equals(workType)) { |
| | | return switch (status) { |
| | | case QrCodeConstant.MarkOk -> DeviceResult.TEST_PASS.getCode(); |
| | | case QrCodeConstant.MarkQualified -> DeviceResult.TEST_PASS.getCode(); |
| | | case QrCodeConstant.MarkUnqualified -> DeviceResult.TEST_FAIL.getCode(); |
| | | default -> throw new RuntimeException("状态错误"); |
| | | }; |
| | | //品检 |
| | | }else if (WORK_TYPE_INSPECTION.equals(workType)) { |
| | | return switch (status) { |
| | | case QrCodeConstant.MarkOk -> DeviceResult.INSPECTION_PASS.getCode(); |
| | | case QrCodeConstant.MarkQualified -> DeviceResult.INSPECTION_PASS.getCode(); |
| | | case QrCodeConstant.MarkUnqualified -> DeviceResult.INSPECTION_FAIL.getCode(); |
| | | default -> throw new RuntimeException("状态错误"); |
| | | }; |
| | |
| | | } |
| | | return count; |
| | | } |
| | | |
| | | //无任务计划中的其他 传workId ,手写工作内容 , 数量 |
| | | @Transactional |
| | | public int otherWork(QueryVo vo) { |
| | | long workId = Long.parseLong(vo.workId); |
| | | StaAssemblyWorkLast workLast = assemblyWorkLastDao.selectByPrimaryKey(workId); |
| | | if (workLast == null) { |
| | | throw new RuntimeException("系统中没有该条登录信息"); |
| | | } |
| | | //保存工作记录 |
| | | StaDeviceProductionLog log = new StaDeviceProductionLog(); |
| | | log.setId(null); // 设备生产日志ID设为null,表示新增 |
| | | log.setDeviceNo(""); //RepairId planId currNode deviceCycleContent memo |
| | | log.setWorkId(workId); |
| | | log.setStationId(workLast.getStationId()); |
| | | log.setNodeContent(vo.getContent()); |
| | | log.setStatus(DeviceStatus.COMPLETED.getCode());//完成状态 |
| | | log.setResult(DeviceResult.PASS.getCode());//通过 |
| | | log.setErrorMsg(vo.getErrorMsg()); |
| | | log.setAssistants(workLast.getAssistants()); |
| | | log.setInTime(new Date()); |
| | | log.setOutTime(new Date()); |
| | | log.setUpdatedBy(workLast.getUserId()); |
| | | log.setNumber(vo.getNumber()); |
| | | int count = deviceProductionLogDao.insertSelective(log); |
| | | return count; |
| | | } |
| | | //根据节点查出节点作业指导书 |
| | | public PrProductionNode getSopByNodeId(String nodeId) { |
| | | if (com.alibaba.excel.util.StringUtils.isBlank(nodeId)) { |