app附件上传一个以上报后台错误修改
This commit is contained in:
parent
dafc46ee60
commit
7e51829656
@ -1,119 +1,118 @@
|
||||
package apx.com.amarsoft.als.apzl.apply.business.doc.upload.service.impl;
|
||||
|
||||
import java.io.DataOutputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.InputStream;
|
||||
import java.net.URLDecoder;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import jbo.app.tenwa.doc.LB_DOCLIBRARY;
|
||||
import apx.com.amarsoft.als.apzl.apply.business.doc.upload.service.LibraryDocUploadService;
|
||||
|
||||
import com.amarsoft.are.jbo.BizObject;
|
||||
import com.amarsoft.are.jbo.BizObjectManager;
|
||||
import com.amarsoft.are.jbo.JBOFactory;
|
||||
import com.amarsoft.are.jbo.JBOTransaction;
|
||||
import com.amarsoft.are.util.StringFunction;
|
||||
import com.amarsoft.awe.Configure;
|
||||
import com.amarsoft.awe.util.Transaction;
|
||||
import com.amarsoft.context.ASUser;
|
||||
import com.base.constant.RestfullConstant;
|
||||
import com.base.util.MultipartDataUtil;
|
||||
import com.base.util.ReturnMapUtil;
|
||||
|
||||
public class LibraryDocUploadServiceImpl implements LibraryDocUploadService {
|
||||
private Map<String, Object> fieldMap;
|
||||
private List<Map<String, Object>> fileList;
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public Map<String, Object> upload(HttpServletRequest request,
|
||||
HttpServletResponse response, JBOTransaction tx, Transaction sqlca,
|
||||
ReturnMapUtil ReturnMapUtil) throws Exception {
|
||||
Map<String, Object> testMap = (Map<String, Object>) MultipartDataUtil
|
||||
.readRequestParam(request, "UTF-8");
|
||||
fieldMap = (Map<String, Object>) testMap.get("fieldMap"); // 参数
|
||||
fileList = (List<Map<String, Object>>) testMap.get("fileList"); // 资料列表
|
||||
String applyType = fieldMap.get("applytype") == null ? "" : fieldMap.get(
|
||||
"applytype").toString();
|
||||
|
||||
String libraryId = fieldMap.get("id") == null ? "" : fieldMap.get(
|
||||
"id").toString(); // docName
|
||||
|
||||
String remark = fieldMap.get("remark") == null ? "" : fieldMap.get(
|
||||
"remark").toString(); // remark
|
||||
|
||||
String userId = fieldMap.get("userid") == null ? "" : fieldMap.get(
|
||||
"userid").toString();
|
||||
ASUser user = new ASUser(userId, sqlca);
|
||||
String time = StringFunction.getTodayNow();
|
||||
|
||||
BizObjectManager libraryManage = JBOFactory
|
||||
.getBizObjectManager(LB_DOCLIBRARY.CLASS_NAME);
|
||||
BizObject library = libraryManage
|
||||
.createQuery(
|
||||
"ID=:ID").setParameter("ID", libraryId)
|
||||
.getSingleResult(true);
|
||||
if (null == library) {
|
||||
ReturnMapUtil.setReturnMap(null,
|
||||
RestfullConstant.baseProperty.get("FAIL").toString(),
|
||||
"未找到该业务流程的资料清单类型!");
|
||||
return ReturnMapUtil.getReturnMap();
|
||||
} else {
|
||||
libraryId = library.getAttribute("ID") == null ? "" : library.getAttribute(
|
||||
"ID").toString();
|
||||
}
|
||||
library.setAttributeValue("Remark", remark);
|
||||
tx.join(libraryManage);
|
||||
libraryManage.saveObject(library);
|
||||
@SuppressWarnings("deprecation")
|
||||
Configure CurConfig = Configure.getInstance();
|
||||
BizObjectManager attrBm=JBOFactory.getBizObjectManager("jbo.app.tenwa.doc.LB_DOCATTRIBUTE");
|
||||
for (Map<String, Object> file : fileList) {
|
||||
BizObject attr=attrBm.newObject();
|
||||
attr.setAttributeValue("Library_Id", libraryId);
|
||||
attr.setAttributeValue("FileName", file.get("fileName"));
|
||||
attr.setAttributeValue("InputUserId", user.getUserID());
|
||||
attr.setAttributeValue("InputOrgId", user.getOrgID());
|
||||
attr.setAttributeValue("InputTime",time);
|
||||
attr.setAttributeValue("objectType", applyType);
|
||||
|
||||
//得到不带路径的文件名
|
||||
String sFileName = StringFunction.getFileName(file.get("fileName").toString());
|
||||
sFileName = URLDecoder.decode(URLDecoder.decode(sFileName,"UTF-8"),"UTF-8");
|
||||
|
||||
//定义数据库操作变量
|
||||
String sFileSavePath = CurConfig.getConfigure("FileSavePath");
|
||||
|
||||
String uuid=java.util.UUID.randomUUID().toString().replaceAll("-", "");
|
||||
String sFullPath =com.tenwa.officetempalte.util.FileOperatorUtil.getuploadFileDir(sFileSavePath) +uuid+"_"+sFileName;
|
||||
InputStream is = (InputStream) file.get("file");
|
||||
File f = new File(sFullPath);
|
||||
DataOutputStream fileout = new DataOutputStream(
|
||||
new FileOutputStream(f));
|
||||
String sFileSize = file.get("fileSize") == null ? "" : file.get("fileSize").toString();
|
||||
byte b[] = new byte[Integer.valueOf(sFileSize)];
|
||||
@SuppressWarnings("unused")
|
||||
int i = is.read(b, 0, Integer.valueOf(sFileSize) - 1);
|
||||
fileout.write(b, 0, b.length); // 将文件数据存盘
|
||||
fileout.close();
|
||||
|
||||
//得到带相对路径的文件名
|
||||
String sFilePath = sFullPath.replace(sFileSavePath, "");
|
||||
attr.setAttributeValue("FilePath",sFilePath);
|
||||
attr.setAttributeValue("FullPath",sFullPath);
|
||||
attr.setAttributeValue("Content_Type", file.get("fileContentType"));
|
||||
attr.setAttributeValue("FileSize", file.get("fileSize"));
|
||||
tx.join(attrBm);
|
||||
attrBm.saveObject(attr);
|
||||
}
|
||||
|
||||
ReturnMapUtil.setReturnMap(null, RestfullConstant.baseProperty.get("success").toString(), "");
|
||||
return ReturnMapUtil.getReturnMap();
|
||||
}
|
||||
|
||||
}
|
||||
package apx.com.amarsoft.als.apzl.apply.business.doc.upload.service.impl;
|
||||
|
||||
import java.io.DataOutputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.InputStream;
|
||||
import java.net.URLDecoder;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import jbo.app.tenwa.doc.LB_DOCLIBRARY;
|
||||
import apx.com.amarsoft.als.apzl.apply.business.doc.upload.service.LibraryDocUploadService;
|
||||
|
||||
import com.amarsoft.are.jbo.BizObject;
|
||||
import com.amarsoft.are.jbo.BizObjectManager;
|
||||
import com.amarsoft.are.jbo.JBOFactory;
|
||||
import com.amarsoft.are.jbo.JBOTransaction;
|
||||
import com.amarsoft.are.util.StringFunction;
|
||||
import com.amarsoft.awe.Configure;
|
||||
import com.amarsoft.awe.util.Transaction;
|
||||
import com.amarsoft.context.ASUser;
|
||||
import com.base.constant.RestfullConstant;
|
||||
import com.base.util.MultipartDataUtil;
|
||||
import com.base.util.ReturnMapUtil;
|
||||
|
||||
public class LibraryDocUploadServiceImpl implements LibraryDocUploadService {
|
||||
private Map<String, Object> fieldMap;
|
||||
private List<Map<String, Object>> fileList;
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public Map<String, Object> upload(HttpServletRequest request,
|
||||
HttpServletResponse response, JBOTransaction tx, Transaction sqlca,
|
||||
ReturnMapUtil ReturnMapUtil) throws Exception {
|
||||
Map<String, Object> testMap = (Map<String, Object>) MultipartDataUtil
|
||||
.readRequestParam(request, "UTF-8");
|
||||
fieldMap = (Map<String, Object>) testMap.get("fieldMap"); // 参数
|
||||
fileList = (List<Map<String, Object>>) testMap.get("fileList"); // 资料列表
|
||||
String applyType = fieldMap.get("applytype") == null ? "" : fieldMap.get(
|
||||
"applytype").toString();
|
||||
|
||||
String libraryId = fieldMap.get("id") == null ? "" : fieldMap.get(
|
||||
"id").toString(); // docName
|
||||
|
||||
String remark = fieldMap.get("remark") == null ? "" : fieldMap.get(
|
||||
"remark").toString(); // remark
|
||||
|
||||
String userId = fieldMap.get("userid") == null ? "" : fieldMap.get(
|
||||
"userid").toString();
|
||||
ASUser user = new ASUser(userId, sqlca);
|
||||
String time = StringFunction.getTodayNow();
|
||||
|
||||
BizObjectManager libraryManage = JBOFactory
|
||||
.getBizObjectManager(LB_DOCLIBRARY.CLASS_NAME);
|
||||
BizObject library = libraryManage
|
||||
.createQuery(
|
||||
"ID=:ID").setParameter("ID", libraryId)
|
||||
.getSingleResult(true);
|
||||
if (null == library) {
|
||||
ReturnMapUtil.setReturnMap(null,
|
||||
RestfullConstant.baseProperty.get("FAIL").toString(),
|
||||
"未找到该业务流程的资料清单类型!");
|
||||
return ReturnMapUtil.getReturnMap();
|
||||
} else {
|
||||
libraryId = library.getAttribute("ID") == null ? "" : library.getAttribute(
|
||||
"ID").toString();
|
||||
}
|
||||
library.setAttributeValue("Remark", remark);
|
||||
tx.join(libraryManage);
|
||||
libraryManage.saveObject(library);
|
||||
@SuppressWarnings("deprecation")
|
||||
Configure CurConfig = Configure.getInstance();
|
||||
BizObjectManager attrBm=JBOFactory.getBizObjectManager("jbo.app.tenwa.doc.LB_DOCATTRIBUTE",tx);
|
||||
for (Map<String, Object> file : fileList) {
|
||||
BizObject attr=attrBm.newObject();
|
||||
attr.setAttributeValue("Library_Id", libraryId);
|
||||
attr.setAttributeValue("FileName", file.get("fileName"));
|
||||
attr.setAttributeValue("InputUserId", user.getUserID());
|
||||
attr.setAttributeValue("InputOrgId", user.getOrgID());
|
||||
attr.setAttributeValue("InputTime",time);
|
||||
attr.setAttributeValue("objectType", applyType);
|
||||
|
||||
//得到不带路径的文件名
|
||||
String sFileName = StringFunction.getFileName(file.get("fileName").toString());
|
||||
sFileName = URLDecoder.decode(URLDecoder.decode(sFileName,"UTF-8"),"UTF-8");
|
||||
|
||||
//定义数据库操作变量
|
||||
String sFileSavePath = CurConfig.getConfigure("FileSavePath");
|
||||
|
||||
String uuid=java.util.UUID.randomUUID().toString().replaceAll("-", "");
|
||||
String sFullPath =com.tenwa.officetempalte.util.FileOperatorUtil.getuploadFileDir(sFileSavePath) +uuid+"_"+sFileName;
|
||||
InputStream is = (InputStream) file.get("file");
|
||||
File f = new File(sFullPath);
|
||||
DataOutputStream fileout = new DataOutputStream(
|
||||
new FileOutputStream(f));
|
||||
String sFileSize = file.get("fileSize") == null ? "" : file.get("fileSize").toString();
|
||||
byte b[] = new byte[Integer.valueOf(sFileSize)];
|
||||
@SuppressWarnings("unused")
|
||||
int i = is.read(b, 0, Integer.valueOf(sFileSize) - 1);
|
||||
fileout.write(b, 0, b.length); // 将文件数据存盘
|
||||
fileout.close();
|
||||
|
||||
//得到带相对路径的文件名
|
||||
String sFilePath = sFullPath.replace(sFileSavePath, "");
|
||||
attr.setAttributeValue("FilePath",sFilePath);
|
||||
attr.setAttributeValue("FullPath",sFullPath);
|
||||
attr.setAttributeValue("Content_Type", file.get("fileContentType"));
|
||||
attr.setAttributeValue("FileSize", file.get("fileSize"));
|
||||
attrBm.saveObject(attr);
|
||||
}
|
||||
|
||||
ReturnMapUtil.setReturnMap(null, RestfullConstant.baseProperty.get("success").toString(), "");
|
||||
return ReturnMapUtil.getReturnMap();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user