app附件上传一个以上报后台错误修改

This commit is contained in:
zhangjun 2020-07-08 10:33:21 +08:00
parent dafc46ee60
commit 7e51829656

View File

@ -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();
}
}