FnaWfSetEditInnerImportOp.jsp
8.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
<%@page import="weaver.fna.interfaces.thread.FnaThreadResult"%>
<%@page import="weaver.fna.domain.wfset.FnaFeeWfInfoLogicReverse"%>
<%@page import="weaver.fna.domain.wfset.FnaFeeWfInfoField"%>
<%@page import="weaver.fna.domain.wfset.FnaFeeWfInfo"%>
<%@page import="org.jdom.Element"%>
<%@page import="org.jdom.Document"%>
<%@page import="org.jdom.input.SAXBuilder"%>
<%@page import="org.xml.sax.InputSource"%>
<%@page import="org.exolab.castor.xml.Unmarshaller"%>
<%@page import="org.json.JSONObject"%>
<%@page import="weaver.general.BaseBean"%>
<%@page import="java.util.Map"%>
<%@page import="weaver.systeminfo.SystemEnv"%>
<%@page import="java.util.HashMap"%>
<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@page import="weaver.general.Util"%>
<%@page import="weaver.hrm.HrmUserVarify"%>
<%@page import="weaver.hrm.User"%>
<%@page import="weaver.fna.general.FnaCommon"%>
<%@page import="weaver.file.FileType"%>
<%@ page import="weaver.file.FileUpload" %>
<%@ page import="weaver.conn.RecordSet" %>
<%@ page import="weaver.file.FileManage" %>
<%@ page import="java.io.IOException" %>
<%@ page import="org.apache.commons.lang.StringUtils" %>
<%@ page import="java.io.File" %>
<%@ page import="javax.xml.bind.JAXBException" %>
<%@ page import="weaver.fna.butils.XmlUtils" %>
<%@ page import="weaver.fna.butils.JSONUtils" %>
<%@ page import="weaver.fna.domain.wfset.Result" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%!
private String parseFile(FileUpload fu,RecordSet rs,HttpServletRequest request) throws IOException {
BaseBean bb = new BaseBean();
String xmlfilepath = "";
int fileid = Util.getIntValue(fu.uploadFiles("filename"), 0);
String filename = fileid+"_"+FnaCommon.getPrimaryKeyGuid1()+".xml";
List<String> allowTypes = new ArrayList<String>();
allowTypes.add("xml");
//bb.writeLog("FnaWfSetEditInnerImportOp.jsp>>parseFile>>1");
if(FileType.validateFileExt(fu.getFileName(), allowTypes)){
//bb.writeLog("FnaWfSetEditInnerImportOp.jsp>>parseFile>>2");
String sql = "select filerealpath, isaesencrypt, aescode from imagefile where imagefileid = " + fileid;
rs.executeSql(sql);
//bb.writeLog("FnaWfSetEditInnerImportOp.jsp>>parseFile>>3");
String uploadfilepath = "";
String isaesencrypt = "";
String aescode = "";
if (rs.next()) {
//bb.writeLog("FnaWfSetEditInnerImportOp.jsp>>parseFile>>4");
uploadfilepath = rs.getString("filerealpath");
isaesencrypt = Util.null2String(rs.getString("isaesencrypt"));
aescode = Util.null2String(rs.getString("aescode"));
}
//bb.writeLog("FnaWfSetEditInnerImportOp.jsp>>parseFile>>5");
if (!uploadfilepath.equals("")) {
//bb.writeLog("FnaWfSetEditInnerImportOp.jsp>>parseFile>>6");
xmlfilepath = request.getRealPath(request.getServletPath().substring(0, request.getServletPath().lastIndexOf("/"))) + "\\" + filename;
//bb.writeLog("FnaWfSetEditInnerImportOp.jsp>>parseFile>>7 uploadfilepath="+uploadfilepath);
FileManage.copy(uploadfilepath, xmlfilepath, isaesencrypt, aescode);
//bb.writeLog("FnaWfSetEditInnerImportOp.jsp>>parseFile>>8 xmlfilepath="+xmlfilepath);
}
//bb.writeLog("FnaWfSetEditInnerImportOp.jsp>>parseFile>>9");
}
//bb.writeLog("FnaWfSetEditInnerImportOp.jsp>>parseFile>>xmlfilepath="+xmlfilepath);
return xmlfilepath;
}
%>
<%
User user = HrmUserVarify.getUser (request , response) ;
if(user==null){
response.sendRedirect("/notice/noright.jsp") ;
return ;
}
boolean canEdit = HrmUserVarify.checkUserRight("FnaLedgerAdd:Add", user) || HrmUserVarify.checkUserRight("FnaLedgerEdit:Edit", user);
if (!canEdit) {
response.sendRedirect("/notice/noright.jsp");
return;
}
FileUpload fu = new FileUpload(request,false);
String kmVali = Util.null2String(fu.getParameter("kmVali")).trim();//科目验证 0:名称 1编码
String fkVali = Util.null2String(fu.getParameter("fkVali")).trim();//费控验证 0:名称 1编码
String operation = Util.null2String(fu.getParameter("operation")).trim();//import
String _guid1 = Util.null2String(fu.getParameter("_guid1")).trim();
int keyWord = Util.getIntValue(fu.getParameter("keyWord"), -1);//为0是名称
int impType = Util.getIntValue(fu.getParameter("impType"), -1);//0添加 1更新
int workFlowId = Util.getIntValue(fu.getParameter("workflowid"), -1);//0添加 1更新
request.getSession().removeAttribute("index:"+_guid1);
request.getSession().removeAttribute("isDone:"+_guid1);
request.getSession().setAttribute("index:"+_guid1, SystemEnv.getHtmlLabelName(34119,user.getLanguage()));//开始预备数据
request.getSession().setAttribute("isDone:"+_guid1, "");
BaseBean bb = new BaseBean();
String guid1 = FnaCommon.getPrimaryKeyGuid1();
FnaThreadResult fnaThreadResult = new FnaThreadResult();
fnaThreadResult.removeInfoByInfoKey(guid1, "FNA_IMPORT_ERROR");
if("import".equals(operation) && keyWord==0 && impType==0) {
//得到文件
RecordSet rs = new RecordSet();
String xmlFilePath = parseFile(fu,rs,request);
//bb.writeLog("FnaWfSetEditInnerImportOp.jsp>>1");
if(StringUtils.isNotBlank(xmlFilePath)) {//如果返回的字符串不为空
//bb.writeLog("FnaWfSetEditInnerImportOp.jsp>>2");
File file = new File(xmlFilePath);
//bb.writeLog("FnaWfSetEditInnerImportOp.jsp>>3 file="+file);
try {
//bb.writeLog("FnaWfSetEditInnerImportOp.jsp>>3.1 file="+file.getName());
Result result = new XmlUtils().parseResult(file);
//bb.writeLog("FnaWfSetEditInnerImportOp.jsp>>4 result done");
/**
* 我们先对其进行校验,校验通过然后保存
*/
List<String> valiResult = result.validate(rs,kmVali,fkVali,user,workFlowId);
//bb.writeLog("FnaWfSetEditInnerImportOp.jsp>>5");
out.clear();
int valiResult_len = valiResult.size();
if(valiResult_len>0) {
//bb.writeLog("FnaWfSetEditInnerImportOp.jsp>>6");
StringBuffer errorStr = new StringBuffer();
for(int i=0;i<valiResult_len;i++){
if(i>0){
errorStr.append(guid1);
}
errorStr.append(valiResult.get(i));
}
fnaThreadResult.setInfoByInfoKey(guid1, "FNA_IMPORT_ERROR", errorStr.toString());
//bb.writeLog("FnaWfSetEditInnerImportOp.jsp>>6.1 "+"{\"code\":\"400\",\"msg\":"+JSONObject.quote(errorStr.toString())+"}");
out.write("<script>parent.callbackBB({\"code\":\"400\",\"msg\":"+JSONObject.quote(guid1)+"})</script>");
//bb.writeLog("FnaWfSetEditInnerImportOp.jsp>>7");
}else {
//bb.writeLog("FnaWfSetEditInnerImportOp.jsp>>8");
result.save(rs,workFlowId);
//bb.writeLog("FnaWfSetEditInnerImportOp.jsp>>9");
out.write("<script>parent.callbackBB({\"code\":\"200\",\"msg\":"+JSONObject.quote(SystemEnv.getHtmlLabelName(25750,user.getLanguage()))+"})</script>");
//bb.writeLog("FnaWfSetEditInnerImportOp.jsp>>10");
}
} catch (Exception e) {
//bb.writeLog("FnaWfSetEditInnerImportOp.jsp>>11");
out.clear();
fnaThreadResult.setInfoByInfoKey(guid1, "FNA_IMPORT_ERROR", SystemEnv.getHtmlLabelName(33971,user.getLanguage())+e.getMessage());
out.write("<script>parent.callbackBB({\"code\":\"400\",\"msg\":"+JSONObject.quote(guid1)+"})</script>");
//bb.writeLog("FnaWfSetEditInnerImportOp.jsp>>12");
}finally {
if(file != null) {
//bb.writeLog("FnaWfSetEditInnerImportOp.jsp>>13");
file.delete();
//bb.writeLog("FnaWfSetEditInnerImportOp.jsp>>14");
}
}
}
}else{
//bb.writeLog("FnaWfSetEditInnerImportOp.jsp>>15");
out.clear();
fnaThreadResult.setInfoByInfoKey(guid1, "FNA_IMPORT_ERROR", SystemEnv.getHtmlLabelNames("561,27495",user.getLanguage()));
out.write("<script>parent.callbackBB({\"code\":\"400\",\"msg\":"+JSONObject.quote(guid1)+"})</script>");
//bb.writeLog("FnaWfSetEditInnerImportOp.jsp>>16");
}
//bb.writeLog("FnaWfSetEditInnerImportOp.jsp>>17");
out.flush();
%>