| | |
| | | import org.springblade.core.mp.support.Query; |
| | | import org.springblade.core.oss.OssTemplate; |
| | | import org.springblade.core.tool.utils.Func; |
| | | import org.springblade.mdm.basesetting.machine.MachineService; |
| | | import org.springblade.mdm.basesetting.machine.entity.Machine; |
| | | import org.springblade.mdm.flow.entity.ApproveRecord; |
| | | import org.springblade.mdm.flow.entity.FlowProgramFile; |
| | | import org.springblade.mdm.flow.service.ApproveRecordService; |
| | |
| | | import org.springblade.mdm.program.entity.NcProgramExchange; |
| | | import org.springblade.mdm.program.mapper.NcProgramExchangeMapper; |
| | | import org.springblade.mdm.program.vo.DncSendBackData; |
| | | import org.springblade.mdm.utils.FileContentUtil; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.io.*; |
| | |
| | | @AllArgsConstructor |
| | | public class NcProgramExportDNCService extends BizServiceImpl<NcProgramExchangeMapper, NcProgramExchange> { |
| | | |
| | | private final NcProgramService progService; |
| | | //private final NcProgramService progService; |
| | | private final MachineService machineService; |
| | | private final NcProgramApprovedService approvedService; |
| | | private final ApproveRecordService approveRecordService; |
| | | private final NcNodeService ncNodeService; |
| | |
| | | List<NcNode> programNodes = ncNodeService.lambdaQuery().eq(NcNode::getParentId, approved.getNcNodeId()).list(); |
| | | |
| | | FlowProgramFile programFile; |
| | | |
| | | for (NcNode node : programNodes) { |
| | | String filePathInZip = packageFolder + node.getName(); |
| | | programFile = this.flowProgramFileService.getById(node.getFlowProgramFileId()); |
| | | |
| | | InputStream inputStream = ossTemplate.statFileStream(programFile.getOssName()); |
| | | |
| | | /* |
| | | ZipEntry fileEntry = new ZipEntry(filePathInZip); |
| | | |
| | | zipOut.putNextEntry(fileEntry); |
| | | programFile = this.flowProgramFileService.getById(node.getFlowProgramFileId()); |
| | | |
| | | InputStream inputStream = ossTemplate.statFileStream(programFile.getOssName()); |
| | | byte[] buffer = new byte[1024]; |
| | | int length; |
| | | while ((length = inputStream.read(buffer)) >= 0) { |
| | | zipOut.write(buffer, 0, length); |
| | | } |
| | | zipOut.closeEntry(); |
| | | |
| | | */ |
| | | |
| | | this.addInputStreamToZip(zipOut,inputStream,filePathInZip); |
| | | Machine machine = machineService.getByCode(node.getMachineCode()); |
| | | InputStream addedIns = addSendPath(inputStream,machine.getProgSendDir()); |
| | | this.addInputStreamToZip(zipOut,addedIns,filePathInZip); |
| | | } |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 加入机床下发路径 |
| | | * @param inputStream |
| | | * @return |
| | | */ |
| | | InputStream addSendPath(InputStream inputStream,String machineSendPath) throws IOException { |
| | | return FileContentUtil.insertLine(inputStream,1,machineSendPath); |
| | | |
| | | } |
| | | /** |
| | | * 导入数据文件 |
| | | * @param zipOut |
| | | */ |