GZMachinesWeb/.svn/pristine/7a/7a3ad5caac459697b735eb6266d...

101 lines
3.2 KiB
Plaintext

package com.bonus.scrap.service;
import java.io.File;
import java.io.IOException;
import java.util.Enumeration;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.bonus.core.DateTimeHelper;
import com.bonus.scrap.beans.ScrapTaskRecordBean;
import com.bonus.scrap.dao.ScrapTaskRecordDao;
import com.bonus.sys.BaseServiceImp;
import com.oreilly.servlet.MultipartRequest;
import com.oreilly.servlet.multipart.DefaultFileRenamePolicy;
@Service("scrapRecord")
public class ScrapTaskRecordServiceImp extends BaseServiceImp<ScrapTaskRecordBean> implements ScrapTaskRecordService {
@Autowired
private ScrapTaskRecordDao dao;
/**
* 上传报废资料
*/
@Override
public Object uploadMachines(HttpServletRequest request, ScrapTaskRecordBean o) {
String fileName = "";
String saveDirectory = request.getSession().getServletContext().getRealPath("/scrapImg");
File file = new File(saveDirectory);
if (!file.exists()) {
file.mkdirs();
}
// 打印上传路径信息
System.out.println("文件保存路径=" + saveDirectory);
// 每个文件最大50m
int maxPostSize = 200 * 1024 * 1024;
MultipartRequest multi = null;
DefaultFileRenamePolicy dfp = new DefaultFileRenamePolicy();
try {
multi = new MultipartRequest(request, saveDirectory, maxPostSize, "UTF-8", dfp);
} catch (IOException e) {
e.printStackTrace();
}
// 输出反馈信息
Enumeration<?> files = multi.getFileNames();
while (files.hasMoreElements()) {
String name = (String) files.nextElement();
File f = multi.getFile(name);
System.err.println("f=" + f);
if (f != null) {
String maTypeId = multi.getParameter("maTypeId");
String taskId = multi.getParameter("taskId");
String newName = DateTimeHelper.getNowTimeFomart();
fileName = multi.getFilesystemName(name);
int begin = fileName.indexOf(".");
int last = fileName.length();
String suffix = fileName.substring(begin, last);
// 更换文件名称
if (!fileName.equals(newName)) {// 新的文件名和以前文件名不同时,才有必要进行重命名
File oldfile = new File(saveDirectory + "/" + fileName);
File newfile = new File(saveDirectory + "/" + newName + suffix);
if (!oldfile.exists()) {
logger.error("需要重命名的文件不存在");
}
if (newfile.exists()) {// 若在该目录下已经有一个文件和新文件名相同,则不允许重命名
logger.error(newName + "已经存在!");
} else {
oldfile.renameTo(newfile);
o.setModelId(maTypeId);
o.setTaskId(taskId);
o.setPicUrl(newName + suffix);
dao.updatePhotoUrl(o);
}
} else {
logger.error("新文件名和旧文件名相同...");
}
}
return null;
}
return null;
}
@Override
public List<ScrapTaskRecordBean> findMaPhotoUrl(ScrapTaskRecordBean o) {
// TODO Auto-generated method stub
return dao.findMaPhotoUrl(o);
}
@Override
public int updatePhotoUrl(ScrapTaskRecordBean o) {
// TODO Auto-generated method stub
return dao.updatePhotoUrl(o);
}
}