package com.jspsmart.upload;
public synchronized void service(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { HttpSession dbSession = request.getSession(); JspFactory _jspxFactory = JspFactory.getDefaultFactory(); PageContext pageContext = _jspxFactory.getPageContext(this, request, response, "", true, 8192, true); ServletContext dbApplication = dbSession.getServletContext(); try { // 实例化 HttpSession session = request.getSession(); ServletContext context = session.getServletContext(); String path = context.getRealPath("/"); counter count = new counter(dbApplication); SmartUpload mySmartUpload = new SmartUpload(); mySmartUpload.setCharset("UTF-8"); nseer_db_backup1 qcs_db = new nseer_db_backup1(dbApplication); if (qcs_db.conn((String) dbSession.getAttribute("unit_db_name"))) { mySmartUpload.initialize(pageContext); String file_type = getFileLength.getFileType((String) session.getAttribute("unit_db_name")); long d = getFileLength.getFileLength((String) session.getAttribute("unit_db_name")); mySmartUpload.setMaxFileSize(d); mySmartUpload.setAllowedFilesList(file_type); try { mySmartUpload.upload(); String qcs_id = mySmartUpload.getRequest().getParameter("qcs_id"); String config_id = mySmartUpload.getRequest().getParameter("config_id"); String[] item = mySmartUpload.getRequest().getParameterValues("item"); if (item != null) { String[] file_name = new String[mySmartUpload.getFiles().getCount()]; String[] not_change = new String[mySmartUpload.getFiles().getCount()]; java.util.Date now = new java.util.Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd"); String time = formatter.format(now); String standard_id = mySmartUpload.getRequest().getParameter("standard_id"); String sqla = "select attachment1 from qcs_intrmanufacture where qcs_id='" + qcs_id + "' and (check_tag='5' or check_tag='9')"; ResultSet rs = qcs_db.executeQuery(sqla); if (!rs.next()) { response.sendRedirect("draft/qcs/intrmanufacture_ok.jsp?finished_tag=1"); } else { String[] attachment = mySmartUpload.getRequest().getParameterValues("attachment"); String[] delete_file_name = new String[0]; if (attachment != null) { delete_file_name = new String[attachment.length]; for (int i = 0; i < attachment.length; i++) { delete_file_name[i] = rs.getString(attachment[i]); } } for (int i = 0; i < mySmartUpload.getFiles().getCount(); i++) { com.jspsmart.upload.SmartFile file = mySmartUpload.getFiles().getFile(i); if (file.isMissing()) { file_name[i] = ""; int q = i + 1; String field_name = "attachment" + q; if (!rs.getString(field_name).equals("")) not_change[i] = "yes"; continue; } int filenum = count.read( (String) dbSession.getAttribute("unit_db_name"), "qcsAttachmentcount"); count.write( (String) dbSession.getAttribute("unit_db_name"), "qcsAttachmentcount", filenum); file_name[i] = filenum + file.getFileName(); file.saveAs(path + "qcs/file_attachments/" + filenum + file.getFileName()); } String apply_id = mySmartUpload.getRequest().getParameter("apply_id"); String product_id = mySmartUpload.getRequest().getParameter("product_id"); String product_name = mySmartUpload.getRequest().getParameter("product_name"); String qcs_amount = mySmartUpload.getRequest().getParameter("qcs_amount"); String qcs_time = mySmartUpload.getRequest().getParameter("qcs_time"); String quality_way = mySmartUpload.getRequest().getParameter("quality_way"); String quality_solution = mySmartUpload.getRequest().getParameter("quality_solution"); String sampling_standard = mySmartUpload.getRequest().getParameter("sampling_standard"); String sampling_amount = mySmartUpload.getRequest().getParameter("sampling_amount"); String accept = mySmartUpload.getRequest().getParameter("accept"); String reject = mySmartUpload.getRequest().getParameter("reject"); String qualified = mySmartUpload.getRequest().getParameter("qualified"); String unqualified = mySmartUpload.getRequest().getParameter("unqualified"); String qcs_result = mySmartUpload.getRequest().getParameter("qcs_result"); String checker = mySmartUpload.getRequest().getParameter("checker"); String checker_id = mySmartUpload.getRequest().getParameter("checker_id"); String check_time = mySmartUpload.getRequest().getParameter("check_time"); String changer = mySmartUpload.getRequest().getParameter("changer"); String changer_id = mySmartUpload.getRequest().getParameter("changer_id"); String change_time = mySmartUpload.getRequest().getParameter("change_time"); String bodyab = new String( mySmartUpload.getRequest().getParameter("remark").getBytes("UTF-8"), "UTF-8"); String remark = exchange.toHtml(bodyab); sqla = "update qcs_intrmanufacture set apply_id='" + apply_id + "',product_id='" + product_id + "',product_name='" + product_name + "',qcs_amount='" + qcs_amount + "',qcs_time='" + qcs_time + "',quality_way='" + quality_way + "',quality_solution='" + quality_solution + "',sampling_standard='" + sampling_standard + "',sampling_amount='" + sampling_amount + "',accept='" + accept + "',reject='" + reject + "',qualified='" + qualified + "',unqualified='" + unqualified + "',changer_id='" + changer_id + "',qcs_result='" + qcs_result + "',changer='" + changer + "',change_time='" + change_time + "',remark='" + remark + "',check_tag='5'"; String sqlb = " where qcs_id='" + qcs_id + "'"; if (attachment != null) { for (int i = 0; i < attachment.length; i++) { sqla = sqla + "," + attachment[i] + "=''"; java.io.File file = new java.io.File(path + "qcs/file_attachments/" + delete_file_name[i]); file.delete(); } } for (int i = 0; i < mySmartUpload.getFiles().getCount(); i++) { if (not_change[i] != null && not_change[i].equals("yes")) continue; int p = i + 1; sqla = sqla + ",attachment" + p + "='" + file_name[i] + "'"; } String sql = sqla + sqlb; qcs_db.executeUpdate(sql); sql = "delete from qcs_intrmanufacture_details where qcs_id='" + qcs_id + "'"; qcs_db.executeUpdate(sql); String[] default_basis = mySmartUpload.getRequest().getParameterValues("default_basis"); String[] ready_basis = mySmartUpload.getRequest().getParameterValues("ready_basis"); String[] quality_method = mySmartUpload.getRequest().getParameterValues("quality_method"); String[] analyse_method = mySmartUpload.getRequest().getParameterValues("analyse_method"); String[] standard_value = mySmartUpload.getRequest().getParameterValues("standard_value"); String[] standard_max = mySmartUpload.getRequest().getParameterValues("standard_max"); String[] standard_min = mySmartUpload.getRequest().getParameterValues("standard_min"); String[] quality_value = mySmartUpload.getRequest().getParameterValues("quality_value"); String[] sampling_amount_d = mySmartUpload.getRequest().getParameterValues("sampling_amount_d"); String[] qualified_d = mySmartUpload.getRequest().getParameterValues("qualified_d"); String[] unqualified_d = mySmartUpload.getRequest().getParameterValues("unqualified_d"); String[] quality_result = mySmartUpload.getRequest().getParameterValues("quality_result"); String[] unqualified_reason = mySmartUpload.getRequest().getParameterValues("unqualified_reason"); for (int i = 0; i < item.length; i++) { if (!item[i].equals("")) { sql = "insert into qcs_intrmanufacture_details(qcs_id,item,default_basis,ready_basis,quality_method,analyse_method,standard_value,standard_max,standard_min,quality_value,sampling_amount_d,qualified_d,unqualified_d,quality_result,unqualified_reason,details_number) values('" + qcs_id + "','" + item[i] + "','" + default_basis[i] + "','" + ready_basis[i] + "','" + quality_method[i] + "','" + analyse_method[i] + "','" + standard_value[i] + "','" + standard_max[i] + "','" + standard_min[i] + "','" + quality_value[i] + "','" + sampling_amount_d[i] + "','" + qualified_d[i] + "','" + unqualified_d[i] + "','" + quality_result[i] + "','" + unqualified_reason[i] + "','" + i + "')"; qcs_db.executeUpdate(sql); } } response.sendRedirect("draft/qcs/intrmanufacture_ok.jsp?finished_tag=0"); } qcs_db.commit(); qcs_db.close(); } else { response.sendRedirect("draft/qcs/intrmanufacture_ok.jsp?finished_tag=7"); } } catch (Exception ex) { response.sendRedirect("draft/qcs/intrmanufacture_ok.jsp?finished_tag=6"); } } else { response.sendRedirect("error_conn.htm"); } } catch (Exception ex) { ex.printStackTrace(); } }
public int doEndTag() throws JspException { try { HttpServletRequest request = (HttpServletRequest) (pageContext.getRequest()); String file_ext = pageContext.getServletContext().getInitParameter("FileExtention"); String dbfs_ext = pageContext.getServletContext().getInitParameter("DatabaseExtention"); String db_name = pageContext.getServletContext().getInitParameter("DatabaseName"); String db_query = pageContext.getServletContext().getInitParameter("DatabaseQuery"); JspWriter out = pageContext.getOut(); int KEEP_CACHE_TIME = 300; long current_time = System.currentTimeMillis(); if (pagebody != null || pageurl != null || dbfsurl != null) { VariableTable vt = new VariableTable(); vt.loadContent(FileCache.getFileContent(getPhysicalPath("/global" + file_ext))); vt.loadContent(FileCache.getFileContent(getPhysicalPath("default" + file_ext))); if (pageurl != null) vt.loadContent(FileCache.getFileContent(getPhysicalPath(pageurl))); if (dbfsurl != null) { VariableTable dbparam = new VariableTable(); dbparam.add("path", java.sql.Types.VARCHAR); dbparam.setValue("path", dbfsurl); String pagebody = TextCache.getTextContent("source::" + dbfsurl); if (pagebody == null) { try { DBPooledConnection dbconn = DBLogicalManager.getPoolConnection(db_name); try { pagebody = DBOperation.getString(dbconn, db_query, dbparam); vt.loadContent(pagebody); TextCache.putContent( System.currentTimeMillis(), "source::" + dbfsurl, pagebody, 20); } catch (java.sql.SQLException sqle) { } dbconn.close(); } catch (java.lang.Exception sqle) { } } else { vt.loadContent(pagebody); } } if (pagebody != null) vt.loadContent(pagebody); getEnv(vt); vt.add("JSP.TAG", java.sql.Types.VARCHAR); vt.setValue("JSP.TAG", "YES"); vt.add("REQUEST.URL", java.sql.Types.VARCHAR); vt.setValue("REQUEST.URL", request.getRequestURI()); if (vt.exists("WEBCHART.KEEP_CACHE_TIME")) { KEEP_CACHE_TIME = vt.getInt("WEBCHART.KEEP_CACHE_TIME", 300); if (KEEP_CACHE_TIME < 5) KEEP_CACHE_TIME = 5; } java.io.File xsl_file = null; if (vt.getString("WEBCHART.XSLDOC") != null) xsl_file = new java.io.File(getPhysicalPath(vt.getString("WEBCHART.XSLDOC"))); String cachekey = vt.parseString(vt.getString("WEBCHART.CACHE")); String cache_content = null; if (cachekey != null && !vt.exists("WEBCHART.FORCECACHE")) cache_content = TextCache.getTextContent(cachekey); if (cache_content == null) { java.io.StringWriter xmlbuf = new java.io.StringWriter(); writeXMLHeader(xmlbuf, vt); xmlbuf.write("<root>\n"); WebChart2.generateChart(xmlbuf, null, vt, file_ext); xmlbuf.write("</root>\n"); java.io.StringWriter htmlbuf = new java.io.StringWriter(); if (xsl_file != null && xsl_file.exists()) BaseServlet.XML2HTML( htmlbuf, new java.io.StringReader(xmlbuf.toString()), new java.io.StringReader(FileCache.getFileContent(xsl_file)), FileCache.getFileContent(xsl_file)); else BaseServlet.XML2HTML( htmlbuf, new java.io.StringReader(xmlbuf.toString()), new java.io.StringReader(StaticResource.getTextResource("defaultxsl")), StaticResource.getTextResource("defaultxsl")); cache_content = htmlbuf.toString(); out.write(cache_content); if (cachekey != null) TextCache.putContent(current_time, cachekey, cache_content, KEEP_CACHE_TIME); } else { out.write(cache_content); } } } catch (IOException ioe) { throw new JspException("Error: " + ioe.getMessage()); } return EVAL_PAGE; }