| | |
| | | import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; |
| | | import org.apache.commons.compress.archivers.zip.ZipFile; |
| | | import org.apache.commons.compress.utils.SeekableInMemoryByteChannel; |
| | | import org.springblade.core.mp.base.BizEntity; |
| | | import org.springblade.core.mp.base.BizServiceImpl; |
| | | import org.springblade.core.oss.OssTemplate; |
| | | import org.springblade.core.oss.model.BladeFile; |
| | |
| | | import org.springblade.core.tool.utils.FileUtil; |
| | | import org.springblade.core.tool.utils.Func; |
| | | import org.springblade.core.tool.utils.IoUtil; |
| | | import org.springblade.mdm.flow.entity.ApproveRecord; |
| | | import org.springblade.mdm.flow.service.ApproveRecordService; |
| | | import org.springblade.mdm.flow.service.CureFlowService; |
| | | import org.springblade.mdm.program.entity.NcNode; |
| | | import org.springblade.mdm.program.entity.NcProgram; |
| | | 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.program.vo.MdmProgramImportVO; |
| | | import org.springblade.mdm.utils.CustomBinaryReader; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | import java.nio.file.Path; |
| | | import java.nio.file.Paths; |
| | | import java.time.Duration; |
| | | import java.time.LocalDateTime; |
| | | import java.util.*; |
| | | |
| | | /** |
| | |
| | | private final CureFlowService cureFlowService; |
| | | private final NcProgramService ncProgramService; |
| | | private final NcNodeService ncNodeService; |
| | | private final ApproveRecordService approveRecordService; |
| | | private final BladeRedis bladeRedis; |
| | | private final OssTemplate ossTemplate; |
| | | |
| | |
| | | |
| | | //设置一个缓存,2小时过期 |
| | | bladeRedis.setEx(getFileKey(),bfile.getName(), Duration.ofHours(2)); |
| | | String pkgFileName = bladeRedis.get(getFileKey()); |
| | | //String fileName = file.getOriginalFilename(); |
| | | //InputStream zipFileInputStream = FileExchangeUtil.convertFileToZip(file.getInputStream()); |
| | | InputStream zipFileInputStream = file.getInputStream();//test |
| | |
| | | d.setIsTest(jsonObject.getInteger("isTest")); |
| | | d.setMachineCode(jsonObject.getString("machineCode")); |
| | | d.setNcNodeId(jsonObject.getLong("ncNodeId")); |
| | | d.setPartNo(jsonObject.getString("partNo")); |
| | | d.setDrawingNo(jsonObject.getString("drawingNo")); |
| | | d.setProcessEdition(jsonObject.getString("processEdition")); |
| | | |
| | | fileDataMap.put(d.getName(),d); |
| | |
| | | |
| | | List<NcNode> nodeList = new ArrayList<>(); |
| | | List<NcProgram> progList = new ArrayList<>(); |
| | | List<ApproveRecord> recordList = new ArrayList<>(); |
| | | |
| | | try (SeekableInMemoryByteChannel channel = new SeekableInMemoryByteChannel(bytes); |
| | | ZipFile zipFile = new ZipFile(channel)) { |
| | | |
| | |
| | | JSONArray jsonArray = JSONArray.parseArray(jsonStr); |
| | | for(int i=0;i<jsonArray.size();i++){ |
| | | JSONObject jsonObject = jsonArray.getJSONObject(i); |
| | | NcProgram d = new NcProgram(); |
| | | d.setId(jsonObject.getLong("id")); |
| | | d.setName(jsonObject.getString("name")); |
| | | NcProgram prog = new NcProgram(); |
| | | prog.setId(jsonObject.getLong("id")); |
| | | prog.setName(jsonObject.getString("name")); |
| | | |
| | | d.setCode(jsonObject.getString("code")); |
| | | d.setDescription(jsonObject.getString("description")); |
| | | d.setCategory(jsonObject.getString("category")); |
| | | d.setBindNcNodeId(jsonObject.getLong("bindNcNodeId")); |
| | | d.setIsLastEdition(jsonObject.getInteger("isLastEdition")); |
| | | d.setIsLocked(jsonObject.getInteger("isLocked")); |
| | | d.setIsTest(jsonObject.getInteger("isTest")); |
| | | d.setMachineCode(jsonObject.getString("machineCode")); |
| | | d.setNcNodeId(jsonObject.getLong("ncNodeId")); |
| | | d.setPartNo(jsonObject.getString("partNo")); |
| | | d.setProcessEdition(jsonObject.getString("processEdition")); |
| | | prog.setCode(jsonObject.getString("code")); |
| | | prog.setDescription(jsonObject.getString("description")); |
| | | prog.setCategory(jsonObject.getString("category")); |
| | | prog.setBindNcNodeId(jsonObject.getLong("bindNcNodeId")); |
| | | prog.setIsLastEdition(jsonObject.getInteger("isLastEdition")); |
| | | prog.setIsLocked(jsonObject.getInteger("isLocked")); |
| | | prog.setIsTest(jsonObject.getInteger("isTest")); |
| | | prog.setMachineCode(jsonObject.getString("machineCode")); |
| | | prog.setNcNodeId(jsonObject.getLong("ncNodeId")); |
| | | prog.setDrawingNo(jsonObject.getString("drawingNo")); |
| | | prog.setProcessEdition(jsonObject.getString("processEdition")); |
| | | |
| | | progList.add(d); |
| | | setBaseProperties(prog,jsonObject); |
| | | |
| | | progList.add(prog); |
| | | } |
| | | |
| | | } |
| | |
| | | node.setDescription(jsonObject.getString("description")); |
| | | node.setNodeType(jsonObject.getString("nodeType")); |
| | | node.setProcessName(jsonObject.getString("processName")); |
| | | node.setPartNo(jsonObject.getString("partNo")); |
| | | node.setDrawingNo(jsonObject.getString("drawingNo")); |
| | | node.setMachineCode(jsonObject.getString("machineCode")); |
| | | node.setParentId(jsonObject.getLong("parentId")); |
| | | node.setParentIds(jsonObject.getString("parentIds")); |
| | | node.setIsCured(jsonObject.getInteger("isCured")); |
| | | |
| | | setBaseProperties(node,jsonObject); |
| | | |
| | | nodeList.add(node); |
| | | } |
| | | } |
| | | }else if(entryName.equals(NcProgramExportDNCService.APPROVE_RECORD_JSON_FILE)){ |
| | | try (InputStream insJson = zipFile.getInputStream(entry)) { |
| | | String jsonStr = IoUtil.readToString(insJson); |
| | | JSONArray jsonArray = JSONArray.parseArray(jsonStr); |
| | | for (int i = 0; i < jsonArray.size(); i++) { |
| | | JSONObject jsonObject = jsonArray.getJSONObject(i); |
| | | ApproveRecord record = new ApproveRecord(); |
| | | record.setId(jsonObject.getLong("id")); |
| | | record.setNcProgramId(jsonObject.getLong("ncProgramId")); |
| | | record.setUserId(jsonObject.getLong("userId")); |
| | | record.setUserNickname(jsonObject.getString("userNickname")); |
| | | record.setOperateResult(jsonObject.getString("operateResult")); |
| | | record.setOperateTime(jsonObject.getDate("operateTime")); |
| | | record.setComment(jsonObject.getString("comment")); |
| | | setBaseProperties(record,jsonObject); |
| | | |
| | | recordList.add(record); |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | for(ApproveRecord record:recordList) { |
| | | ApproveRecord recordTemp = this.approveRecordService.getById(record.getId()); |
| | | if (recordTemp == null) { |
| | | approveRecordService.save(record); |
| | | } else { |
| | | approveRecordService.updateById(record); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | void setBaseProperties(BizEntity entity,JSONObject jsonObject){ |
| | | entity.setCreateTime(jsonObject.getDate("createTime")); |
| | | entity.setUpdateTime(jsonObject.getDate("updateTime")); |
| | | entity.setStatus(jsonObject.getInteger("status")); |
| | | entity.setCreateUser(jsonObject.getLong("createUser")); |
| | | entity.setUpdateUser(jsonObject.getLong("updateUser")); |
| | | } |
| | | } |