|
|
|
@ -1,11 +1,14 @@
|
|
|
|
|
package com.foreverwin.mesnac.common.service.impl;
|
|
|
|
|
|
|
|
|
|
import com.foreverwin.mesnac.common.dto.SfcDispatchDto;
|
|
|
|
|
import com.foreverwin.mesnac.common.enums.HandleEnum;
|
|
|
|
|
import com.foreverwin.mesnac.common.ftp.CappFtpClient;
|
|
|
|
|
import com.foreverwin.mesnac.common.service.FileService;
|
|
|
|
|
import com.foreverwin.mesnac.common.util.ExceptionUtil;
|
|
|
|
|
import com.foreverwin.mesnac.common.util.StringUtil;
|
|
|
|
|
import com.foreverwin.mesnac.meapi.model.Sfc;
|
|
|
|
|
import com.foreverwin.mesnac.meapi.model.SfcDispatchDrawing;
|
|
|
|
|
import com.foreverwin.mesnac.meapi.service.SfcDispatchDrawingService;
|
|
|
|
|
import com.foreverwin.mesnac.meapi.service.SfcService;
|
|
|
|
|
import com.foreverwin.modular.core.exception.BaseException;
|
|
|
|
|
import com.foreverwin.modular.core.util.CommonMethods;
|
|
|
|
@ -14,8 +17,10 @@ import org.apache.commons.net.ftp.FTPFile;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
import java.io.File;
|
|
|
|
|
import java.io.IOException;
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
|
|
@Service
|
|
|
|
@ -23,16 +28,23 @@ public class FileServiceImpl implements FileService {
|
|
|
|
|
@Autowired
|
|
|
|
|
private SfcService sfcService;
|
|
|
|
|
@Autowired
|
|
|
|
|
private SfcDispatchDrawingService sfcDispatchDrawingService;
|
|
|
|
|
@Autowired
|
|
|
|
|
private CappFtpClient cappFtpClient;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Map<String, String> getFilePaths(String sfc) throws IOException {
|
|
|
|
|
public Map<String, String> getFilePaths(String site,String sfc,String operation,String step) throws IOException {
|
|
|
|
|
|
|
|
|
|
Sfc sfcServiceById = sfcService.getById(HandleEnum.SFC.getHandle(CommonMethods.getSite(), sfc));
|
|
|
|
|
if (sfcServiceById==null){
|
|
|
|
|
throw new BaseException("未找到产品条码"+sfc);
|
|
|
|
|
}
|
|
|
|
|
SfcDispatchDrawing sfcDispatchDrawing = sfcDispatchDrawingService.findSfcDispatch(site,sfc,operation,step);
|
|
|
|
|
if (sfcDispatchDrawing==null||sfcDispatchDrawing.getDrawingsRevision()==null){
|
|
|
|
|
throw new BaseException("未找到图纸相应信息");
|
|
|
|
|
}
|
|
|
|
|
String itemBo = sfcServiceById.getItemBo();
|
|
|
|
|
String path="/"+ StringUtil.trimHandle(itemBo)+"_"+StringUtil.trimRevision(itemBo)+"/";
|
|
|
|
|
String path="/"+ StringUtil.trimHandle(itemBo)+"_"+sfcDispatchDrawing.getDrawingsRevision()+"/";
|
|
|
|
|
FTPClient connect = null;
|
|
|
|
|
Map<String,String> pathMap = new HashMap<>();
|
|
|
|
|
try {
|
|
|
|
@ -41,12 +53,17 @@ public class FileServiceImpl implements FileService {
|
|
|
|
|
connect.enterLocalPassiveMode();
|
|
|
|
|
FTPFile[] files = connect.listFiles();
|
|
|
|
|
if(files!=null){
|
|
|
|
|
for (int i = 0; i < files.length; i++) {
|
|
|
|
|
if(files[i].isFile()){
|
|
|
|
|
String filename=files[i].getName();
|
|
|
|
|
pathMap.put(filename,path+filename);
|
|
|
|
|
for (FTPFile ftpFile:files){
|
|
|
|
|
if (ftpFile.getName().equals(path.substring(1,path.length()-1))&&ftpFile.isFile()){
|
|
|
|
|
pathMap.put(ftpFile.getName(),path+ftpFile.getName());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// for (int i = 0; i < files.length; i++) {
|
|
|
|
|
// if(files[i].isFile()){
|
|
|
|
|
// String filename=files[i].getName();
|
|
|
|
|
// pathMap.put(filename,path+filename);
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
}
|
|
|
|
|
connect.disconnect();
|
|
|
|
|
}catch (Exception e){
|
|
|
|
@ -88,7 +105,6 @@ public class FileServiceImpl implements FileService {
|
|
|
|
|
connect.disconnect();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return pathMap;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|