2022-09-20 05:35:50 +00:00
|
|
|
package com.dbnt.faisp.equip.service;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import com.dbnt.faisp.equip.mapper.EquipMapper;
|
|
|
|
|
import com.dbnt.faisp.equip.model.Equip;
|
|
|
|
|
import com.dbnt.faisp.equip.model.EquipFile;
|
|
|
|
|
import com.dbnt.faisp.equip.repository.EquipFileRepository;
|
|
|
|
|
import com.dbnt.faisp.equip.repository.EquipRepository;
|
|
|
|
|
import com.dbnt.faisp.util.ParamMap;
|
|
|
|
|
import com.dbnt.faisp.util.Utils;
|
|
|
|
|
|
|
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
|
|
|
|
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
import org.springframework.util.FileCopyUtils;
|
|
|
|
|
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
|
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
|
|
|
|
import java.io.File;
|
|
|
|
|
import java.util.*;
|
|
|
|
|
|
|
|
|
|
@Service
|
|
|
|
|
@RequiredArgsConstructor
|
|
|
|
|
public class EquipService {
|
|
|
|
|
@Value("${spring.servlet.multipart.location}")
|
|
|
|
|
protected String locationPath;
|
|
|
|
|
|
|
|
|
|
private final EquipRepository equipRepository;
|
|
|
|
|
private final EquipFileRepository equipFileRepository;
|
|
|
|
|
private final EquipMapper equipMapper;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Transactional
|
|
|
|
|
public void saveEquip(Equip equip, MultipartHttpServletRequest request) {
|
|
|
|
|
Equip dbEquip = equipRepository.findFirstByOrderByEquKeyDesc();
|
|
|
|
|
try {
|
|
|
|
|
if(dbEquip == null) {
|
|
|
|
|
equip.setEquKey(1);
|
|
|
|
|
equip.setVersionNo(1);
|
|
|
|
|
equipRepository.save(equip);
|
|
|
|
|
} else {
|
|
|
|
|
equip.setEquKey(dbEquip.getEquKey()+1);
|
|
|
|
|
equip.setVersionNo(1);
|
|
|
|
|
equipRepository.save(equip);
|
|
|
|
|
}
|
|
|
|
|
saveFile(equip,request);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void saveFile(Equip equip, MultipartHttpServletRequest mRequest) throws Exception {
|
|
|
|
|
try {
|
|
|
|
|
String path = locationPath;
|
|
|
|
|
String FileSize;
|
|
|
|
|
File dir = new File(path);
|
|
|
|
|
if(!dir.exists()) dir.mkdir();
|
|
|
|
|
|
|
|
|
|
List<MultipartFile> mFiles = mRequest.getFiles("file");
|
|
|
|
|
for(int i = 0; i < mFiles.size(); i++) {
|
|
|
|
|
MultipartFile mFile = mFiles.get(i);
|
|
|
|
|
FileSize = calculationSize(mFile.getSize());
|
|
|
|
|
if(!"".equals(mFile.getOriginalFilename())){
|
|
|
|
|
String fileName = mFile.getOriginalFilename();
|
|
|
|
|
if(fileName.contains("\\")){
|
|
|
|
|
String notSecuredFileName = fileName.substring(fileName.lastIndexOf("\\") +1);
|
|
|
|
|
fileName = ("".equals(notSecuredFileName) || null == notSecuredFileName) ? fileName : notSecuredFileName;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
String fileExt = Utils.getFileExtention(fileName);
|
|
|
|
|
String saveName = Utils.generationSaveName() + "." + fileExt;
|
|
|
|
|
FileCopyUtils.copy(mFile.getBytes(), new File(path, saveName));
|
|
|
|
|
|
|
|
|
|
EquipFile equipFile = new EquipFile();
|
|
|
|
|
equipFile.setFileSeq(1);
|
|
|
|
|
equipFile.setEquKey(equip.getEquKey());
|
|
|
|
|
equipFile.setVersionNo(equip.getVersionNo());
|
|
|
|
|
equipFile.setOrigNm(fileName);
|
|
|
|
|
equipFile.setConvNm(saveName);
|
|
|
|
|
equipFile.setFileExtn(fileExt);
|
|
|
|
|
equipFile.setFilePath(path);
|
|
|
|
|
equipFile.setFileSize(FileSize);
|
|
|
|
|
System.out.println(equipFile);
|
|
|
|
|
|
|
|
|
|
equipFileRepository.save(equipFile);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
throw e;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private String calculationSize(double fileSize){
|
|
|
|
|
String[] units = {"bytes", "KB", "MB", "GB", "TB", "PB"};
|
|
|
|
|
double unitSelector = Math.floor(Math.log(fileSize)/Math.log(1024));
|
|
|
|
|
if(fileSize>0){
|
|
|
|
|
return Math.round((fileSize/Math.pow(1024, unitSelector))*100)/100d+" "+units[(int)unitSelector];
|
|
|
|
|
}else{
|
|
|
|
|
return "";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2022-09-20 08:56:48 +00:00
|
|
|
public List<ParamMap> selectEquipStatus(Equip equip) {
|
|
|
|
|
return equipMapper.selectEquipStatus(equip);
|
|
|
|
|
}
|
|
|
|
|
|
2022-09-20 05:35:50 +00:00
|
|
|
|
|
|
|
|
}
|