| | |
| | | |
| | | private StaDeviceLastMapper deviceLastDao; |
| | | private StaDeviceLifeMapper deviceLifeDao; |
| | | private StaDeviceLifeLastMapper deviceLifeLastDao; |
| | | private StaWipSnExMapper wipSnExDao; |
| | | private StaDeviceProductionLogMapper deviceProductionLogDao; |
| | | private StaAssemblyWorkLastMapper assemblyWorkLastDao; |
| | |
| | | public void setOthFileMapper(OthFileMapper othFileMapper) { |
| | | this.othFileMapper = othFileMapper; |
| | | } |
| | | @Autowired |
| | | public void setDeviceLifeLastDao(StaDeviceLifeLastMapper deviceLifeLastDao) { |
| | | this.deviceLifeLastDao = deviceLifeLastDao; |
| | | } |
| | | |
| | | @Transactional |
| | | public int save(QueryVo params) { |
| | |
| | | } |
| | | PrAssemblyPlan plan = assemblyPlanDao.selectByPrimaryKey(workLast.getPlanId()); |
| | | // 验证并处理设备号和物料号 |
| | | Set<String> deviceSet = new HashSet<>(Arrays.asList(params.deviceNo.split(","))); |
| | | Set<String> deviceSet = new HashSet<>(Arrays.asList(params.deviceNo)); |
| | | // 分类设备号和物料号 |
| | | List<String> deviceList = new ArrayList<>(); |
| | | List<String> materialList = new ArrayList<>(); |
| | |
| | | }); |
| | | |
| | | if (deviceList.isEmpty()) { |
| | | throw new RuntimeException("设备号(" + params.deviceNo + ")均不属于当前任务计划"); |
| | | throw new RuntimeException("设备号(" + Arrays.toString(params.deviceNo) + ")均不属于当前任务计划"); |
| | | } |
| | | if (deviceList.size() > 1) { |
| | | throw new RuntimeException("设备号有且只能有一个属于当前任务计划"); |
| | |
| | | private void saveDeviceLife(StaDeviceLast deviceLast) { |
| | | StaDeviceLife life = new StaDeviceLife(); |
| | | BeanUtils.copyProperties(deviceLast, life); |
| | | life.setId(null); |
| | | deviceLifeDao.insertSelective(life); |
| | | |
| | | StaDeviceLifeLast lastLife = new StaDeviceLifeLast(); |
| | | BeanUtils.copyProperties(deviceLast, lastLife); |
| | | lastLife.setId(null); |
| | | int count = deviceLifeLastDao.updateByDeviceNo(lastLife); |
| | | if (count == 0){ |
| | | deviceLifeLastDao.insertSelective(lastLife); |
| | | } |
| | | } |
| | | |
| | | private StaDeviceLast buildDeviceLast(QueryVo params, StaAssemblyWorkLast workLast,String deviceNo) { |
| | | //组装数据 |
| | | StaDeviceLast record = new StaDeviceLast(); |
| | | |
| | | //pr_assembly_plan input_number +1 投入数加1 |
| | | PrAssemblyPlan assemblyPlan = assemblyPlanDao.selectByPrimaryKey(workLast.planId); |
| | | StaDeviceLast preRecord = deviceLastDao.selectByDeviceNo(deviceNo); |
| | | if (preRecord != null) { |
| | | record.id = preRecord.id; |
| | | record.inTime = preRecord.outTime; |
| | | record.outLineTime = preRecord.outLineTime; |
| | | }else{ |
| | | record.inTime = new Date(); |
| | | record.inLineTime = new Date(); |
| | | assemblyPlan.setInputNumber(assemblyPlan.getInputNumber() + 1); |
| | | } |
| | | record.outTime = new Date(); |
| | | |
| | | record.planId = workLast.planId; |
| | | record.workId = Long.parseLong(params.workId); |
| | | record.stationId = workLast.stationId; |
| | | record.equipNo = deviceNo; |
| | | record.deviceNo = deviceNo; |
| | | record.currNode = workLast.nodeId; |
| | | |
| | | record.updatedBy = workLast.userId; |
| | | record.assistants = params.assistants; |
| | | record.assistants = workLast.assistants; |
| | | record.errorMsg = params.errorMsg; |
| | | |
| | | PrProductionNode node = nodeDao.selectByPrimaryKey(workLast.nodeId); |
| | | record.nodeContent = node.content; |
| | | if (node.isRecord) { |
| | | record.equipCycleContent = node.equipCycleContent; |
| | | record.deviceCycleContent = node.deviceCycleContent; |
| | | } |
| | | record.status = getStatus(params.status, node.isEnd,params.workType); |
| | | if(node.getIsEnd() && record.outLineTime == null){ |
| | | record.outLineTime = new Date(); |
| | | assemblyPlan.setOutputNumber(assemblyPlan.getOutputNumber() + 1); |
| | | } |
| | | assemblyPlanDao.updateByPrimaryKeySelective(assemblyPlan); |
| | | record.status = getStatus(params.status, node.isEnd,workLast.workType.toString()); |
| | | return record; |
| | | } |
| | | |
| | |
| | | if (workLast == null) { |
| | | throw new RuntimeException("系统中没有该条登录信息"); |
| | | } |
| | | StaDeviceLast preDeviceRecord = deviceLastDao.selectByDeviceNo(vo.deviceNo); |
| | | StaDeviceLast preDeviceRecord = deviceLastDao.selectByDeviceNo(vo.deviceNo[0]); |
| | | StaRepairInfo repairInfo = new StaRepairInfo(); |
| | | repairInfo.workId = workId; |
| | | repairInfo.equipNo = vo.deviceNo; |
| | | repairInfo.deviceNo = vo.deviceNo[0]; |
| | | repairInfo.repairTime = new Date(); |
| | | repairInfo.repairBy = workLast.userId; |
| | | repairInfo.repairReason = vo.errorMsg; |
| | | repairInfo.fromNode = preDeviceRecord.currNode; |
| | | repairInfoDao.insertSelective(repairInfo); |
| | | |
| | | StaDeviceLast deviceLast = buildDeviceLast(vo, workLast, vo.deviceNo); |
| | | StaDeviceLast deviceLast = buildDeviceLast(vo, workLast, vo.deviceNo[0]); |
| | | |
| | | int count = deviceLast.id == null ? deviceLastDao.insertSelective(deviceLast) : |
| | | deviceLastDao.updateByPrimaryKeySelective(deviceLast); |
| | |
| | | throw new RuntimeException("系统中没有该条登录信息"); |
| | | } |
| | | |
| | | StaDeviceLast deviceLast = buildDeviceLast(vo, workLast, vo.deviceNo); |
| | | StaDeviceLast deviceLast = buildDeviceLast(vo, workLast, vo.deviceNo[0]); |
| | | int count = deviceLast.id == null ? deviceLastDao.insertSelective(deviceLast) : |
| | | deviceLastDao.updateByPrimaryKeySelective(deviceLast); |
| | | saveDeviceProductionLog(deviceLast); |
| | |
| | | FileRestVo fileRestVo = fileOperate.parseHashcode(fmUrl, file.hash); |
| | | return fileRestVo.fileWebUrl + file.filePath; |
| | | } |
| | | |
| | | public Map<String,String> queryByDeviceNo(String deviceNo) { |
| | | Map<String,String> map = new HashMap<>(); |
| | | map.put("deviceNo", deviceNo); |
| | | map.put("proName", ""); |
| | | map.put("proType", ""); |
| | | |
| | | PltProduct product = productDao.selectByCode(deviceNo.substring(3,6)); |
| | | if(product != null){ |
| | | map.put("proName", product.getName()); |
| | | map.put("proType", product.getType()); |
| | | } |
| | | /*else{ |
| | | throw new RuntimeException("该编码("+deviceNo +")不是主要物料(系统中管控的其他设备)"); |
| | | }*/ |
| | | return map; |
| | | } |
| | | |
| | | public List<StaDeviceLife> queryLifeByDeviceNo(String deviceNo) { |
| | | return deviceLifeDao.selectByDeviceNo(deviceNo); |
| | | } |
| | | |
| | | public List<StaDeviceProductionLog> queryLogByDeviceNo(String devoiceNo) { |
| | | return deviceProductionLogDao.selectByDeviceNo(devoiceNo); |
| | | } |
| | | } |