| | |
| | | |
| | | import com.alibaba.excel.util.StringUtils; |
| | | import com.dy.pmsGlobal.daoBa.BaUserMapper; |
| | | import com.dy.pmsGlobal.daoOth.OthFileMapper; |
| | | import com.dy.pmsGlobal.daoPlt.PltProductMapper; |
| | | import com.dy.pmsGlobal.daoPlt.PltStationMapper; |
| | | import com.dy.pmsGlobal.daoPr.PrAssemblyPlanMapper; |
| | | import com.dy.pmsGlobal.daoPr.PrProductionNodeMapper; |
| | | import com.dy.pmsGlobal.daoSta.StaAssemblyWorkHistoryMapper; |
| | | import com.dy.pmsGlobal.daoSta.StaAssemblyWorkLastMapper; |
| | | import com.dy.pmsGlobal.dyFile.FileOperate; |
| | | import com.dy.pmsGlobal.dyFile.FileRestVo; |
| | | import com.dy.pmsGlobal.pojoBa.BaUser; |
| | | import com.dy.pmsGlobal.pojoOth.OthFile; |
| | | import com.dy.pmsGlobal.pojoPlt.PltProduct; |
| | | import com.dy.pmsGlobal.pojoPlt.PltStation; |
| | | import com.dy.pmsGlobal.pojoPr.PrAssemblyPlan; |
| | | import com.dy.pmsGlobal.pojoPr.PrProductionNode; |
| | | import com.dy.pmsGlobal.pojoPr.PrWorkingInstruction; |
| | | import com.dy.pmsGlobal.pojoSta.StaAssemblyWorkHistory; |
| | | import com.dy.pmsGlobal.pojoSta.StaAssemblyWorkLast; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | |
| | | private StaAssemblyWorkHistoryMapper assemblyWorkHistoryDao; |
| | | private PrProductionNodeMapper nodeDao; |
| | | private PltProductMapper productDao; |
| | | private FileOperate fileOperate; |
| | | private OthFileMapper othFileMapper; |
| | | @Value("${dy.webFile.fmUrl}") |
| | | private String fmUrl; |
| | | |
| | | @Autowired |
| | | public void setAssemblyDao(PrAssemblyPlanMapper assemblyDao) { |
| | |
| | | this.productDao = productDao; |
| | | } |
| | | |
| | | @Autowired |
| | | public void setFileOperate(FileOperate fileOperate) { |
| | | this.fileOperate = fileOperate; |
| | | } |
| | | |
| | | @Autowired |
| | | public void setOthFileMapper(OthFileMapper othFileMapper) { |
| | | this.othFileMapper = othFileMapper; |
| | | } |
| | | |
| | | public BaUser getUserInfo(String id) { |
| | | Long userId = null; |
| | |
| | | List<StaAssemblyWorkLast> workLasts = assemblyWorkLastDao.selectList(param); |
| | | if (workLasts.size() > 0) { |
| | | BeanUtils.copyProperties(workLasts.get(0), result); |
| | | //校验planId processId nodeId |
| | | /*PrAssemblyPlan assyPlan = assemblyDao.selectByPrimaryKey(workLasts.get(0).getPlanId()); |
| | | if (assyPlan == null) { |
| | | throw new RuntimeException("组装任务已经在系统中删除请检查,请先到登出界面解除工站占用 ,再重新扫描"); |
| | | } |
| | | boolean hasNodeId = assyPlan.getProcess().getNodes().stream() |
| | | .anyMatch(node -> node.id.equals(workLasts.get(0).getNodeId())); |
| | | if (!hasNodeId) { |
| | | throw new RuntimeException("节点信息有误或被其他人员修改,,请先到登出界面解除工站占用 ,再重新扫描"); |
| | | } |
| | | result.setPlan(assyPlan);*/ |
| | | } else { |
| | | result.setStationId(stationInfo.getId()); |
| | | result.setStationName(stationInfo.getName()); |
| | |
| | | if (!hasNodeId) { |
| | | throw new RuntimeException("节点信息有误或被其他人员修改,请重新选择节点信息"); |
| | | } |
| | | |
| | | //怎么将只包含这个节点的信息全部回传呢 |
| | | vo.setLineId(checkResult.getLineId()); |
| | | StaAssemblyWorkLast staLast = new StaAssemblyWorkLast(); |
| | |
| | | } else { |
| | | //保存一条history? |
| | | BeanUtils.copyProperties(checkResult, staLast); |
| | | staLast.setPlanId(vo.getPlanId()); |
| | | staLast.setProcessId(vo.getProcessId()); |
| | | staLast.setPlanId(assyPlan.getId()); |
| | | staLast.setProcessId(assyPlan.getProcess().getId()); |
| | | staLast.setNodeId(vo.getNodeId()); |
| | | staLast.setStatus(STATUS_NORMAL); |
| | | staLast.setStartTime(new Date()); |
| | |
| | | }); |
| | | });*/ |
| | | return planList; |
| | | } |
| | | |
| | | private void addUrl(PrWorkingInstruction ins) { |
| | | if (ins == null || ins.fileId == null) { |
| | | return; |
| | | } |
| | | OthFile file = othFileMapper.selectByPrimaryKey(ins.fileId); |
| | | if (file == null) { |
| | | return; |
| | | } |
| | | FileRestVo fileRestVo = fileOperate.parseHashcode(fmUrl, file.hash); |
| | | ins.webUrl = fileRestVo.fileSysRestUrl + fileRestVo.fileWebDownloadPath + ins.fileId; |
| | | ins.orgName = file.orgName; |
| | | ins.extName = file.extName; |
| | | } |
| | | |
| | | //workId assistants 传的是单个的userId 必传参数 |
| | |
| | | return assistantList; |
| | | } |
| | | |
| | | //根据节点查出节点作业指导书 |
| | | public PrProductionNode getSopByNodeId(String nodeId) { |
| | | if(StringUtils.isBlank(nodeId)){ |
| | | throw new RuntimeException("节点ID不能为空"); |
| | | } |
| | | PrProductionNode node = nodeDao.selectByPrimaryKey(Long.parseLong(nodeId)); |
| | | if(node == null){ |
| | | throw new RuntimeException("节点ID不存在,请检查"); |
| | | } |
| | | if(node.instruction != null){ |
| | | addUrl(node.instruction); |
| | | } |
| | | return node; |
| | | } |
| | | |
| | | // 根据产品查出产品文件 主要技术参数 同 platform-->product-->productSv |
| | | public PltProduct getFileByProId(String proId) { |
| | | if(StringUtils.isBlank(proId)){ |
| | | throw new RuntimeException("产品ID不能为空"); |
| | | } |
| | | PltProduct product = productDao.selectByPrimaryKey(Long.parseLong(proId)); |
| | | if(product == null){ |
| | | throw new RuntimeException("产品ID不存在,请检查"); |
| | | } |
| | | product = addWebUrl(product); |
| | | return product; |
| | | } |
| | | private PltProduct addWebUrl(PltProduct pro) { |
| | | if (pro != null) { |
| | | if (pro.image != null) { |
| | | String filePathWithWebUrl = getFilePathWithWebUrl(pro.image); |
| | | pro.imageWebPath = filePathWithWebUrl; |
| | | pro.imageWebPathZip = fileOperate.getImgFileZipPath(filePathWithWebUrl); |
| | | } |
| | | |
| | | pro.proFiles.stream().forEach(doc -> { |
| | | OthFile file = othFileMapper.selectByPrimaryKey(doc.fileId); |
| | | if (file == null) { |
| | | return; |
| | | } |
| | | FileRestVo fileRestVo = fileOperate.parseHashcode(fmUrl, file.hash); |
| | | doc.webUrl = fileRestVo.fileSysRestUrl + fileRestVo.fileWebDownloadPath + doc.fileId; |
| | | doc.orgName = file.orgName; |
| | | doc.extName = file.extName; |
| | | }); |
| | | } |
| | | return pro; |
| | | } |
| | | private String getFilePathWithWebUrl(Long fileId) { |
| | | OthFile file = othFileMapper.selectByPrimaryKey(fileId); |
| | | FileRestVo fileRestVo = fileOperate.parseHashcode(fmUrl, file.hash); |
| | | return fileRestVo.fileWebUrl + file.filePath; |
| | | } |
| | | } |