package com.lxzn.base.service.impl; import com.lxzn.base.service.IReceiveFileService; import com.lxzn.base.service.ISingleDictionaryService; import com.lxzn.framework.domain.base.SingleDictionary; import com.lxzn.framework.domain.base.ext.NcTxtFilePathInfo; import com.lxzn.framework.utils.date.DateUtil; import com.lxzn.framework.utils.file.FileUtil; import com.lxzn.nc.service.IDocInfoService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.PropertySource; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; import java.io.*; import java.util.Scanner; /** * @author clown * * @date 2023/12/15 */ @Service @PropertySource("classpath:/scheduled.properties") public class ReceiveFileServiceImpl implements IReceiveFileService { @Autowired private IDocInfoService docInfoService; @Autowired private ISingleDictionaryService dictionaryService; @Value("${serviceIntranet.filePath}") private String filePath; @Value("${serviceIntranet.newFilePath}") private String newFilePath; @Value("${fileNCPath}") private String fileNCPath; // @Override // @Scheduled(cron = "${ncFileRec}") // public void analysisAndCopyFileRec() { // if (StringUtils.isBlank(filePath)) { // return; // } // File f3 = new File(filePath); // File[] files = f3.listFiles(); // for (File fi : files){ // InputStreamReader input =null; // BufferedReader bufferedReader =null; // String loFilePath = filePath + fi.getName(); // System.out.println(loFilePath); // try { // if (FileUtil.getFileSuffix(fi.getName()).equals("nc")) { // String line; // int count = 0; // NcTxtFilePathInfo result = new NcTxtFilePathInfo(); // FileInputStream fis = null; // try { // fis = new FileInputStream(loFilePath); // } catch (Exception e1) { // e1.printStackTrace(); // } // Scanner sc = new Scanner(fis, "UTF-8"); // while (count < 8 && sc.hasNext()) { // line = sc.nextLine(); // if (count ==0) { // result.setFileTxtName(line.trim()); // } else if (count ==1) { // result.setFileNcName(line.trim()); // }else if (count ==2) { // result.setOrigFileName(line.trim()); // }else if (count ==3) { // result.setOrigFileSuffix(line.trim()); // }else if (count ==4) { // result.setFilePath(line.trim()); // }else if (count ==5) { // result.setEquipmentId(line.trim()); // }else if (count ==6) { // result.setFileAddOrDelete(Integer.valueOf(line.trim())); // }else if (count == 7) { // result.setFileSize(line.trim()); // } // count++; // } // if (sc != null) { // sc.close(); // } // if (bufferedReader != null) { // bufferedReader.close(); // } // if (input != null) { // input.close(); // } // if (result == null) { // continue; // } // if (result.getFileAddOrDelete() != null ) { // if ( result.getFileAddOrDelete()==1) { // String path = ""; // SingleDictionary singleDictionary=dictionaryService.findListFromTypeCode("virtual_equipment_id").get(0); // String docEquipmentId = null; // if (singleDictionary != null) { // docEquipmentId= String.valueOf(singleDictionary.getDicValue()); // } // if (result.getEquipmentId().equals(docEquipmentId)) { // //虚拟设备处理 // path = filePath + result.getOrigFileName(); // if (StringUtils.isNotBlank(result.getOrigFileName()) && // result.getOrigFileName().equals("null")) { // //文件待处理 // //备份数据 // FileUtil.deleteFileNewRec(loFilePath); // continue; // } // }else { // path = filePath + result.getFileNcName()+ ".NC"; // if (StringUtils.isNotBlank(result.getFileNcName()) && // result.getFileNcName().equals("null")) { // //文件待处理 // //备份数据 // FileUtil.deleteFileNewRec(loFilePath); // continue; // } // } // File ncFile = new File(path); // if (ncFile == null) { // continue; // } else { // //已经存在文件需要备份 // String size = String.valueOf(ncFile.length()); // if (!size.equals(result.getFileSize())) { // continue; // } // // boolean bool = docInfoService.addDocInfoRecService(result.getEquipmentId(), // ncFile,result.getOrigFileSuffix(), // FileUtil.getFilenameNonSuffix(result.getOrigFileName()) // ,result.getFilePath()); // if (bool) { // FileUtil.deleteFileNewRec(path); // FileUtil.deleteFileNewRec(loFilePath); // } // } // } else { // String path; // /*if(StringUtils.isBlank(result.getOrigFileSuffix())) { // path = fileNCPath + "/" + result.getFilePath() + "/send/" +result.getOrigFileName(); // } else { // path = fileNCPath + "/" + result.getFilePath() + "/send/" +result.getOrigFileName()+ "." + result.getOrigFileSuffix(); // }*/ // // /*File ncFile = new File(path);*/ // /*if (ncFile == null) { // return; // } else { // //待优化 // boolean deleteFile = FileUtil.copyFileNcToBak(result.getFilePath(), // result.getOrigFileName(), result.getOrigFileSuffix()); // FileUtil.deleteFile(path); // FileUtil.deleteFile(loFilePath); // }*/ // } // // } // } // } catch (Exception e1) { // try { // if (bufferedReader != null) { // bufferedReader.close(); // } // if (input != null) { // input.close(); // } // } catch (IOException e) { // e.printStackTrace(); // } // e1.printStackTrace(); // } finally { // try { // if (bufferedReader != null) { // bufferedReader.close(); // } // if (input != null) { // input.close(); // } // } catch (IOException e) { // e.printStackTrace(); // } // } // } // } }