From 4a35dea2b0976e7fdb0e2b1a0d7d9b8ac2af0fe4 Mon Sep 17 00:00:00 2001 From: Fancy <Fancy.fx@outlook.com> Date: 星期五, 01 十一月 2024 09:18:49 +0800 Subject: [PATCH] get product --- pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/assemblyStep/AssemblyStepSv.java | 151 +++++++++++++++++++++++++++++++++---------------- 1 files changed, 101 insertions(+), 50 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 f87a757..6cddd03 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 @@ -7,18 +7,23 @@ import com.dy.pmsGlobal.daoPr.PrAssemblyPlanMapper; import com.dy.pmsGlobal.daoPr.PrProductionNodeMapper; import com.dy.pmsGlobal.daoSta.*; +import com.dy.pmsGlobal.daoTst.TstCommandMapper; 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.PrBillOfMaterial; import com.dy.pmsGlobal.pojoPr.PrProductionNode; import com.dy.pmsGlobal.pojoPr.PrWorkingInstruction; import com.dy.pmsGlobal.pojoSta.*; +import com.dy.pmsGlobal.pojoTst.TstCommand; import com.dy.pmsGlobal.util.DeviceResult; import com.dy.pmsGlobal.util.DeviceStatus; import com.dy.pmsGlobal.util.QrCodeConstant; +import com.dy.pmsGlobal.util.UserUtil; import lombok.extern.slf4j.Slf4j; +import org.apache.dubbo.common.utils.PojoUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -50,6 +55,7 @@ private StaRepairInfoMapper repairInfoDao; private PltProductQualityInspectionItemsMapper qualityItemsDao; private PltProductTestInspectionItemsMapper testItemsDao; + private TstCommandMapper tstCommandDao; private PltProductMapper productDao; private PltProParamsMapper paramsDao; private PltProductFileMapper productFileDao; @@ -136,6 +142,11 @@ @Autowired public void setDeviceLifeLastDao(StaDeviceLifeLastMapper deviceLifeLastDao) { this.deviceLifeLastDao = deviceLifeLastDao; + } + + @Autowired + public void setTstCommandDao(TstCommandMapper tstCommandDao) { + this.tstCommandDao = tstCommandDao; } @Transactional @@ -240,9 +251,15 @@ if (record.outLineTime != null) { isEnd = true; } + if(StringUtils.isNotBlank(params.getContent())){ + record.nodeContent = params.getContent(); + } } else { PrProductionNode node = nodeDao.selectByPrimaryKey(workLast.nodeId); record.nodeContent = node.content; + PrProductionNode nextNode = nodeDao.selectNodeBySort(node.getProcessId() , (node.getSort() + 1)); + record.nextNodeContent = nextNode.content; + record.nextNode = nextNode.id; if (node.isRecord) { record.deviceCycleContent = node.deviceCycleContent; } @@ -284,7 +301,7 @@ */ private Integer getStatus(String status, boolean isEnd, String workType) { //缁勮 2024/07/17 鐩墠缁勮workType 1 鍙湁MarkOk //娴嬭瘯 //鍝佹 - if (WORK_TYPE_ASSEMBLY.equals(workType) || WORK_TYPE_TEST.equals(workType) || WORK_TYPE_INSPECTION.equals(workType) || WORK_TYPE_REPAIR.equals(workType)) { + if (WORK_TYPE_ASSEMBLY.equals(workType) || WORK_TYPE_TEST.equals(workType) || WORK_TYPE_INSPECTION.equals(workType) || WORK_TYPE_REPAIR.equals(workType)|| WORK_TYPE_OTHER.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(); @@ -304,8 +321,8 @@ * @return 缁撴灉 */ private Integer getResult(String status, String workType) { - //缁勮 - if (WORK_TYPE_ASSEMBLY.equals(workType)) { + //缁勮 涓存椂浠诲姟-鍏朵粬 + if (WORK_TYPE_ASSEMBLY.equals(workType) || WORK_TYPE_OTHER.equals(workType)) { return switch (status) { case QrCodeConstant.MarkOk -> DeviceResult.PASS.getCode(); default -> throw new RuntimeException("鐘舵�侀敊璇�"); @@ -349,19 +366,19 @@ repairInfo.repairTime = new Date(); repairInfo.repairBy = workLast.userId; repairInfo.repairReason = vo.errorMsg; - repairInfo.fromNode = preDeviceRecord.currNode; + if (preDeviceRecord != null) { + repairInfo.fromNode = preDeviceRecord.currNode; + } repairInfoDao.insertSelective(repairInfo); StaDeviceLast deviceLast = buildDeviceLast(vo, workLast, vo.deviceNo[0]); - + deviceLast.setRepairId(repairInfo.getId()); int count = deviceLast.id == null ? deviceLastDao.insertSelective(deviceLast) : deviceLastDao.updateByPrimaryKey(deviceLast); saveDeviceProductionLog(deviceLast); - if(preDeviceRecord.currNode != null){ - boolean isEndNode = nodeDao.isEndNode(preDeviceRecord.currNode); - if (isEndNode) { - saveDeviceLife(deviceLast); - } + //鍙缁忓巻杩囩粨鏉熻妭鐐�,灏变竴鐩磋褰昫evice life + if (preDeviceRecord != null && preDeviceRecord.getOutLineTime() != null) { + saveDeviceLife(deviceLast); } return count; } @@ -410,22 +427,31 @@ 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); + int count = 0; + //淇濆瓨宸ヤ綔璁板綍 //濡傛灉鏈夎澶囩爜 + if(vo.deviceNo != null && StringUtils.isNotBlank(vo.deviceNo[0])){ + StaDeviceLast deviceLast = buildDeviceLast(vo, workLast, vo.deviceNo[0]); + count = deviceLast.id == null ? deviceLastDao.insertSelective(deviceLast) : + deviceLastDao.updateByPrimaryKey(deviceLast); + saveDeviceProductionLog(deviceLast); + }else{ + 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()); + count = deviceProductionLogDao.insertSelective(log); + + } return count; } @@ -440,6 +466,9 @@ } if (node.instruction != null) { addUrl(node.instruction); + } + if (node.bill != null) { + addBillUrl(node.bill); } return node; } @@ -465,7 +494,7 @@ return; } FileRestVo fileRestVo = fileOperate.parseHashcode(fmUrl, file.hash); - doc.webUrl = fileRestVo.fileSysRestUrl + fileRestVo.fileWebDownloadPath + doc.fileId; + doc.webUrl = fileRestVo.fileWebDownloadPath + doc.fileId; doc.orgName = file.orgName; doc.extName = file.extName; }); @@ -507,32 +536,32 @@ return; } FileRestVo fileRestVo = fileOperate.parseHashcode(fmUrl, file.hash); - ins.webUrl = fileRestVo.fileSysRestUrl + fileRestVo.fileWebDownloadPath + ins.fileId; + ins.webUrl = 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 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.fileWebDownloadPath + doc.fileId; +// doc.orgName = file.orgName; +// doc.extName = file.extName; +// }); +// } +// return pro; +// } private String getFilePathWithWebUrl(Long fileId) { OthFile file = othFileMapper.selectByPrimaryKey(fileId); @@ -589,5 +618,27 @@ return deviceProductionLogDao.selectByDeviceNo(devoiceNo); } - + private void addBillUrl(PrBillOfMaterial bill) { + if (bill == null || bill.fileId == null) { + return; + } + OthFile file = othFileMapper.selectByPrimaryKey(bill.fileId); + if (file == null) { + return; + } + FileRestVo fileRestVo = fileOperate.parseHashcode(fmUrl, file.hash); + bill.webUrl = fileRestVo.fileWebDownloadPath + bill.fileId; + bill.orgName = file.orgName; + bill.extName = file.extName; + } + public List<TstCommand> getCommand(String proId, int type) { + Map<String, Object> params = new HashMap<>(); + params.put("proId", proId); + params.put("type", type); + return tstCommandDao.selectSome(params); + } + public List<PltProduct> selectAll(QueryVo queryVo) { + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo); + return productDao.selectAll(params); + } } -- Gitblit v1.8.0