From ddd56a8f37eb47d933a7064be9341feb8dbd8165 Mon Sep 17 00:00:00 2001 From: Fancy <Fancy.fx@outlook.com> Date: 星期四, 04 七月 2024 16:51:34 +0800 Subject: [PATCH] edit params and file Api --- pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/assemblyStep/AssemblyStepSv.java | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 113 insertions(+), 6 deletions(-) diff --git a/pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/assemblyStep/AssemblyStepSv.java b/pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/assemblyStep/AssemblyStepSv.java index 44c26a6..546fbeb 100644 --- a/pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/assemblyStep/AssemblyStepSv.java +++ b/pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/assemblyStep/AssemblyStepSv.java @@ -2,23 +2,25 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.dy.pmsGlobal.daoPlt.PltProductMapper; -import com.dy.pmsGlobal.daoPlt.PltProductQualityInspectionItemsMapper; -import com.dy.pmsGlobal.daoPlt.PltProductTestInspectionItemsMapper; +import com.dy.pmsGlobal.daoOth.OthFileMapper; +import com.dy.pmsGlobal.daoPlt.*; import com.dy.pmsGlobal.daoPr.PrAssemblyPlanMapper; import com.dy.pmsGlobal.daoPr.PrProductionNodeMapper; import com.dy.pmsGlobal.daoSta.*; -import com.dy.pmsGlobal.pojoPlt.PltProduct; -import com.dy.pmsGlobal.pojoPlt.PltProductQualityInspectionItems; -import com.dy.pmsGlobal.pojoPlt.PltProductTestInspectionItems; +import com.dy.pmsGlobal.dyFile.FileOperate; +import com.dy.pmsGlobal.dyFile.FileRestVo; +import com.dy.pmsGlobal.pojoOth.OthFile; +import com.dy.pmsGlobal.pojoPlt.*; import com.dy.pmsGlobal.pojoPr.PrAssemblyPlan; import com.dy.pmsGlobal.pojoPr.PrProductionNode; +import com.dy.pmsGlobal.pojoPr.PrWorkingInstruction; import com.dy.pmsGlobal.pojoSta.*; import com.dy.pmsGlobal.util.DeviceStatus; import com.dy.pmsGlobal.util.QrCodeConstant; 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; @@ -44,6 +46,12 @@ private PltProductQualityInspectionItemsMapper qualityItemsDao; private PltProductTestInspectionItemsMapper testItemsDao; private PltProductMapper productDao; + private PltProParamsMapper paramsDao; + private PltProductFileMapper productFileDao; + private FileOperate fileOperate; + private OthFileMapper othFileMapper; + @Value("${dy.webFile.fmUrl}") + private String fmUrl; @Autowired public void setDeviceLastDao(StaDeviceLastMapper deviceLastDao) { this.deviceLastDao = deviceLastDao; @@ -87,6 +95,26 @@ @Autowired public void setProductDao(PltProductMapper productDao) { this.productDao = productDao; + } + + @Autowired + public void setParamsDao(PltProParamsMapper paramsDao) { + this.paramsDao = paramsDao; + } + + @Autowired + public void setProductFileDao(PltProductFileMapper productFileDao) { + this.productFileDao = productFileDao; + } + + @Autowired + public void setFileOperate(FileOperate fileOperate) { + this.fileOperate = fileOperate; + } + + @Autowired + public void setOthFileMapper(OthFileMapper othFileMapper) { + this.othFileMapper = othFileMapper; } @Transactional @@ -258,6 +286,46 @@ saveDeviceProductionLog(deviceLast); return count; } + //鏍规嵁鑺傜偣鏌ュ嚭鑺傜偣浣滀笟鎸囧涔� + public PrProductionNode getSopByNodeId(String nodeId) { + if(com.alibaba.excel.util.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 List<PltProductParams> getParamsByProId(String proId) { + if(StringUtils.isBlank(proId)){ + throw new RuntimeException("浜у搧ID涓嶈兘涓虹┖"); + } + List<PltProductParams> proParams = paramsDao.selectParams(Long.parseLong(proId)); + return proParams; + } + // 鏍规嵁浜у搧鏌ュ嚭浜у搧鏂囦欢 + public List<PltProductFile> getFileByProId(String proId) { + if(StringUtils.isBlank(proId)){ + throw new RuntimeException("浜у搧ID涓嶈兘涓虹┖"); + } + List<PltProductFile> proFiles = productFileDao.selectDocuments(Long.parseLong(proId)); + 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 proFiles; + } public List<PltProductQualityInspectionItems> getQualityItems(String proId) { Map<String, Object> params = new HashMap<>(); @@ -282,4 +350,43 @@ } return false; } + 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; + } + 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; + } } -- Gitblit v1.8.0