From 813f0f6d391b7f24682204c22c059ef69b124fa6 Mon Sep 17 00:00:00 2001 From: yangys <y_ys79@sina.com> Date: 星期一, 30 六月 2025 23:59:15 +0800 Subject: [PATCH] 增加流程与程序关联查询 --- blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 52 insertions(+), 6 deletions(-) diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java index 3429974..8250bc0 100644 --- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java +++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java @@ -25,6 +25,7 @@ */ package org.springblade.mdm.program.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.AllArgsConstructor; @@ -32,14 +33,18 @@ import org.apache.commons.io.IOUtils; import org.flowable.engine.*; import org.springblade.core.mp.base.BizServiceImpl; +import org.springblade.core.mp.support.Condition; import org.springblade.core.oss.OssTemplate; import org.springblade.core.oss.model.BladeFile; import org.springblade.mdm.basesetting.machine.MachineService; import org.springblade.mdm.basesetting.machine.entity.Machine; import org.springblade.mdm.program.entity.NcNode; +import org.springblade.mdm.program.entity.ProgramSeq; import org.springblade.mdm.program.mapper.NcProgramMapper; import org.springblade.mdm.program.entity.NcProgram; +import org.springblade.mdm.program.mapper.ProgramSeqMapper; import org.springblade.mdm.program.vo.DncSendBackData; +import org.springblade.mdm.program.vo.NcNodeProgramQueryVO; import org.springblade.mdm.program.vo.NcProgramUploadVO; import org.springblade.mdm.program.vo.NcProgramVO; import org.springblade.mdm.utils.FileContentUtil; @@ -50,6 +55,7 @@ import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; +import java.text.DecimalFormat; import java.util.ArrayList; import java.util.List; @@ -67,13 +73,15 @@ private final OssTemplate ossTemplate; private final NcNodeService nodeService; + + private final ProgramSeqMapper seqMapper; /** * 鏌ヨ鐜版湁鍥哄寲鐨勭▼搴忥紝鏆傚畾鏉′欢锛氶浂缁勪欢鍙风浉鍚岋紝涓旀槸鍚屼竴鏈哄簥缁� * @param partNo * @param machineCode * @return */ - public NcProgram getCuredNcProgram(String partNo,String machineCode) { + public List<NcProgram> getCuredNcProgram(String partNo,String machineCode) { Machine machine = machineService.getByCode(machineCode); return this.getBaseMapper().getCuredNcProgram(partNo,machine.getMachineGroupCode()); } @@ -81,20 +89,23 @@ /** * 涓婁紶绋嬪簭鏂囦欢鍒版寚瀹氳妭鐐� - * @param file - * @param nodeId - * @param category 鏂囦欢鍒嗙被锛堢▼搴忔枃浠�/鍏朵粬鏂囦欢锛� + * @param uploadVO 涓婁紶鏂囦欢琛ㄥ崟鏁版嵁 */ public void uploadProgramFile(NcProgramUploadVO uploadVO) { + + MultipartFile file = uploadVO.getFile(); BladeFile bfile = ossTemplate.putFile(uploadVO.getFile()); String link = bfile.getLink(); //淇濆瓨profame NcProgram prog = new NcProgram(); + prog.setCode(generageCode()); prog.setName(file.getOriginalFilename()); prog.setNcNodeId(uploadVO.getNodeId()); prog.setOssName(bfile.getName()); - prog.setDrawingNo(uploadVO.getDrawingNo()); + prog.setPartNo(uploadVO.getPartNo()); + prog.setProcessEdition(uploadVO.getProcessEdition()); + prog.setIsLastEdition(1); boolean isTextFile = false; try { isTextFile = FileContentUtil.isTextFile(file.getInputStream()); @@ -108,6 +119,13 @@ this.save(prog); } + String generageCode(){ + ProgramSeq program = new ProgramSeq(); + seqMapper.insert(program); + + DecimalFormat df = new DecimalFormat("0000000000"); + return df.format(program.getId()); + } /** * 鍒犻櫎涓�涓▼搴� * @param id @@ -136,7 +154,7 @@ public List<NcProgramVO> listByNode(Long nodeId) { NcNode node = nodeService.getById(nodeId); - List<NcProgram> pList = this.list(Wrappers.lambdaQuery(NcProgram.class).eq(NcProgram::getNcNodeId, nodeId).orderByDesc(NcProgram::getCreateTime)); + List<NcProgram> pList = this.list(Wrappers.lambdaQuery(NcProgram.class).eq(NcProgram::getNcNodeId, nodeId).eq(NcProgram::getIsLastEdition,1).orderByDesc(NcProgram::getCreateTime)); List<NcProgramVO> result = new ArrayList<>(); @@ -149,4 +167,32 @@ return result; } + + /** + * 鍗囩増(鍗囩骇宸ュ簭鐗堟),鍗囩骇宸ュ簭鐗堟湰锛堝寘鎷▼搴忓拰鍏朵粬闄勪欢锛� + * @param id 绋嬪簭鏂囦欢id + * @param newProcessEdition 鏂扮増娆� + */ + public void upgradeProcessEdition(long id,String newProcessEdition) { + NcProgram prog = this.getById(id); + //灏嗙幇鏈夌▼搴忔洿鏂颁负闈炴渶鏂扮増鏈� + this.update(Wrappers.lambdaUpdate(NcProgram.class).eq(NcProgram::getId,id).set(NcProgram::getIsLastEdition,0)); + + NcProgram newVerProg = new NcProgram(); + BeanUtils.copyProperties(prog, newVerProg); + newVerProg.setId(null); + newVerProg.setIsLastEdition(1); + newVerProg.setProcessEdition(newProcessEdition); + + this.save(newVerProg); + } + + /** + * 鍒嗛〉鏌ヨ锛岀敤浜庡鎵规椂閫夋嫨绋嬪簭 + * @param query + * @return + */ + public IPage<NcProgramVO> pageQuery(NcNodeProgramQueryVO query) { + return this.getBaseMapper().pageQuery(Condition.getPage(query),query); + } } -- Gitblit v1.9.3