public synchronized void doPost(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 { PrintWriter out = response.getWriter(); nseer_db_backup1 stock_db = new nseer_db_backup1(dbApplication); nseer_db_backup1 crm_db = new nseer_db_backup1(dbApplication); if (stock_db.conn((String) dbSession.getAttribute("unit_db_name")) && crm_db.conn((String) dbSession.getAttribute("unit_db_name"))) { FileKind FileKind = new FileKind(); ValidataNumber validata = new ValidataNumber(); ValidataRecord vr = new ValidataRecord(); counter count = new counter(dbApplication); ValidataTag vt = new ValidataTag(); String register_ID = (String) dbSession.getAttribute("human_IDD"); String config_id = request.getParameter("config_id"); String pay_ID = request.getParameter("pay_ID"); String product_amount = request.getParameter("product_amount"); int num = Integer.parseInt(product_amount); String payer_name = request.getParameter("payer_name"); String payer_ID = request.getParameter("payer_ID"); String reason = request.getParameter("reason"); String not_return_tag = request.getParameter("not_return_tag"); String register = request.getParameter("register"); String register_time = request.getParameter("register_time"); String demand_return_time = request.getParameter("demand_return_time"); String sales_name = request.getParameter("sales_name"); String sales_ID = request.getParameter("sales_ID"); String bodyc = new String(request.getParameter("remark").getBytes("UTF-8"), "UTF-8"); String remark = exchange.toHtml(bodyc); String time = ""; java.util.Date now = new java.util.Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd"); time = formatter.format(now); String[] product_IDn = request.getParameterValues("product_ID"); String[] amountn = request.getParameterValues("amount"); if (num == 0 && product_IDn.length == 1) { response.sendRedirect("draft/crm/credit_ok_a.jsp?pay_ID=" + pay_ID); } else { int p = 0; for (int i = 1; i <= num; i++) { String tem_amount = "amount" + i; String amount = request.getParameter(tem_amount); if (amount.equals("")) amount = "0"; if (!validata.validata(amount)) { p++; } } int n = 0; String product_ID_group = ""; for (int j = 1; j < product_IDn.length; j++) { product_ID_group += product_IDn[j] + ","; if (amountn[j].equals("")) amountn[j] = "0"; if (!validata.validata(amountn[j])) { p++; } } for (int i = 1; i <= num; i++) { String tem_product_ID = "product_ID" + i; String product_ID = request.getParameter(tem_product_ID); if (product_ID_group.indexOf(product_ID) != -1) n++; } if (vt.validata( (String) dbSession.getAttribute("unit_db_name"), "stock_apply_pay", "pay_ID", pay_ID, "check_tag") .equals("9") || vt.validata( (String) dbSession.getAttribute("unit_db_name"), "stock_apply_pay", "pay_ID", pay_ID, "check_tag") .equals("5")) { if (p == 0) { try { if (n == 0) { boolean flag = false; List rsList = GetWorkflow.getList(crm_db, "crm_config_workflow", "05"); String[] elem = new String[3]; if (rsList.size() == 0) { flag = true; } String sqll = ""; String[] aaa1 = FileKind.getKind( (String) dbSession.getAttribute("unit_db_name"), "crm_file", "customer_ID", payer_ID); String stock_pay_ID = NseerId.getId("stock/pay", (String) dbSession.getAttribute("unit_db_name")); double demand_amount = 0.0d; double list_price_sum = 0.0d; double cost_price_sum = 0.0d; for (int i = 1; i <= num; i++) { String tem_product_name = "product_name" + i; String tem_product_ID = "product_ID" + i; String tem_available_amount = "available_amount" + i; String tem_amount = "amount" + i; String tem_list_price = "list_price" + i; String tem_cost_price = "cost_price" + i; String tem_type = "type" + i; String tem_amount_unit = "amount_unit" + i; String product_name = request.getParameter(tem_product_name); String product_ID = request.getParameter(tem_product_ID); String available_amount = request.getParameter(tem_available_amount); String amount = request.getParameter(tem_amount); if (amount.equals("")) amount = "0"; String list_price2 = request.getParameter(tem_list_price); String cost_price = request.getParameter(tem_cost_price); String type = request.getParameter(tem_type); StringTokenizer tokenTO3 = new StringTokenizer(list_price2, ","); String list_price = ""; while (tokenTO3.hasMoreTokens()) { String list_price1 = tokenTO3.nextToken(); list_price += list_price1; } String amount_unit = request.getParameter(tem_amount_unit); double list_price_subtotal = Double.parseDouble(list_price) * Double.parseDouble(amount); list_price_sum += list_price_subtotal; double cost_price_subtotal = Double.parseDouble(cost_price) * Double.parseDouble(amount); cost_price_sum += cost_price_subtotal; demand_amount += Double.parseDouble(amount); String sql1 = "update stock_apply_pay_details set amount='" + amount + "',list_price='" + list_price + "',list_price_subtotal='" + list_price_subtotal + "',cost_price='" + cost_price + "',subtotal='" + cost_price_subtotal + "' where pay_ID='" + pay_ID + "' and details_number='" + i + "'"; stock_db.executeUpdate(sql1); if (flag) { if (type.equals("物料") || type.equals("外购商品")) { String sql2 = "insert into stock_pay_details(pay_ID,details_number,product_ID,product_name,type,list_price,list_price_subtotal,cost_price,subtotal,amount,unpay_amount,apply_manufacture_amount,apply_purchase_amount) values('" + stock_pay_ID + "','" + i + "','" + product_ID + "','" + product_name + "','" + type + "','" + list_price + "','" + list_price_subtotal + "','" + cost_price + "','" + cost_price_subtotal + "','" + amount + "','" + amount + "','0','" + amount + "')"; stock_db.executeUpdate(sql2); } else if (type.equals("商品") || type.equals("部件") || type.equals("委外部件")) { String sql2 = "insert into stock_pay_details(pay_ID,details_number,product_ID,product_name,type,list_price,list_price_subtotal,cost_price,subtotal,amount,unpay_amount,apply_manufacture_amount,apply_purchase_amount) values('" + stock_pay_ID + "','" + i + "','" + product_ID + "','" + product_name + "','" + type + "','" + list_price + "','" + list_price_subtotal + "','" + cost_price + "','" + cost_price_subtotal + "','" + amount + "','" + amount + "','" + amount + "','0')"; stock_db.executeUpdate(sql2); } String sql97 = "select * from crm_salecredit_balance_details where crediter_ID='" + payer_ID + "' and product_ID='" + product_ID + "'"; ResultSet rs97 = crm_db.executeQuery(sql97); if (rs97.next()) { double balance_amount = rs97.getDouble("amount") + Double.parseDouble(amount); double balance_cost_price_subtotal = rs97.getDouble("subtotal") + cost_price_subtotal; double balance_list_price_subtotal = rs97.getDouble("list_price_subtotal") + list_price_subtotal; String sql96 = "update crm_salecredit_balance_details set amount='" + balance_amount + "',check_tag='1',subtotal='" + balance_cost_price_subtotal + "',list_price_subtotal='" + balance_list_price_subtotal + "' where crediter_ID='" + payer_ID + "' and product_ID='" + product_ID + "'"; crm_db.executeUpdate(sql96); } else { String[] aaa = FileKind.getKind( (String) dbSession.getAttribute("unit_db_name"), "design_file", "product_ID", product_ID); String sql95 = "insert into crm_salecredit_balance_details(chain_ID,chain_name,crediter_chain_ID,crediter_chain_name,product_ID,product_name,list_price,list_price_subtotal,cost_price,subtotal,amount,crediter_ID,crediter_name) values('" + aaa[0] + "','" + aaa[1] + "','" + aaa1[0] + "','" + aaa1[1] + "','" + product_ID + "','" + product_name + "','" + list_price + "','" + list_price_subtotal + "','" + cost_price + "','" + cost_price_subtotal + "','" + amount + "','" + payer_ID + "','" + payer_name + "')"; crm_db.executeUpdate(sql95); } } } String[] cost_pricen = request.getParameterValues("cost_price"); String[] list_pricen = request.getParameterValues("list_price"); String[] product_namen = request.getParameterValues("product_name"); String[] product_describen = request.getParameterValues("product_describe"); String[] amount_unitn = request.getParameterValues("amount_unit"); String[] typen = request.getParameterValues("type"); for (int i = 1; i < product_IDn.length; i++) { StringTokenizer tokenTO3 = new StringTokenizer(list_pricen[i], ","); String list_price = ""; while (tokenTO3.hasMoreTokens()) { String list_price1 = tokenTO3.nextToken(); list_price += list_price1; } if (!amountn[i].equals("") && Double.parseDouble(amountn[i]) != 0) { double list_price_subtotal = Double.parseDouble(list_price) * Double.parseDouble(amountn[i]); list_price_sum += list_price_subtotal; double subtotal = Double.parseDouble(cost_pricen[i]) * Double.parseDouble(amountn[i]); cost_price_sum += subtotal; demand_amount += Double.parseDouble(amountn[i]); num++; String sql1 = "insert into stock_apply_pay_details(payer_chain_ID,payer_chain_name,sales_ID,sales_name,payer_ID,payer_name,payer_type,pay_ID,details_number,product_ID,product_name,product_describe,amount,amount_unit,list_price,list_price_subtotal,cost_price,subtotal,type) values ('" + aaa1[0] + "','" + aaa1[1] + "','" + sales_ID + "','" + sales_name + "','" + payer_ID + "','" + payer_name + "','销售赊货','" + pay_ID + "','" + num + "','" + product_IDn[i] + "','" + product_namen[i] + "','" + product_describen[i] + "','" + amountn[i] + "','" + amount_unitn[i] + "','" + list_price + "','" + list_price_subtotal + "','" + cost_pricen[i] + "','" + subtotal + "','" + typen[i] + "')"; stock_db.executeUpdate(sql1); // ********************** if (rsList.size() == 0) { if (typen[i].equals("物料") || typen[i].equals("外购商品")) { String sql2 = "insert into stock_pay_details(pay_ID,details_number,product_ID,product_name,type,list_price,list_price_subtotal,cost_price,subtotal,amount,unpay_amount,apply_manufacture_amount,apply_purchase_amount) values('" + stock_pay_ID + "','" + num + "','" + product_IDn[i] + "','" + product_namen[i] + "','" + typen[i] + "','" + list_price + "','" + list_price_subtotal + "','" + cost_pricen[i] + "','" + subtotal + "','" + amountn[i] + "','" + amountn[i] + "','0','" + amountn[i] + "')"; stock_db.executeUpdate(sql2); } else if (typen[i].equals("商品") || typen[i].equals("部件") || typen[i].equals("委外部件")) { String sql2 = "insert into stock_pay_details(pay_ID,details_number,product_ID,product_name,type,list_price,list_price_subtotal,cost_price,subtotal,amount,unpay_amount,apply_manufacture_amount,apply_purchase_amount) values('" + stock_pay_ID + "','" + num + "','" + product_IDn[i] + "','" + product_namen[i] + "','" + typen[i] + "','" + list_price + "','" + list_price_subtotal + "','" + cost_pricen[i] + "','" + subtotal + "','" + amountn[i] + "','" + amountn[i] + "','" + amountn[i] + "','0')"; stock_db.executeUpdate(sql2); } String sql97 = "select * from crm_salecredit_balance_details where crediter_ID='" + payer_ID + "' and product_ID='" + product_IDn[i] + "'"; ResultSet rs97 = crm_db.executeQuery(sql97); if (rs97.next()) { double balance_amount = rs97.getDouble("amount") + Double.parseDouble(amountn[i]); double balance_cost_price_subtotal = rs97.getDouble("subtotal") + subtotal; double balance_list_price_subtotal = rs97.getDouble("list_price_subtotal") + list_price_subtotal; String sql96 = "update crm_salecredit_balance_details set amount='" + balance_amount + "',check_tag='1',subtotal='" + balance_cost_price_subtotal + "',list_price_subtotal='" + balance_list_price_subtotal + "' where crediter_ID='" + payer_ID + "' and product_ID='" + product_IDn[i] + "'"; crm_db.executeUpdate(sql96); } else { String[] aaa = FileKind.getKind( (String) dbSession.getAttribute("unit_db_name"), "design_file", "product_ID", product_IDn[i]); String sql95 = "insert into crm_salecredit_balance_details(chain_ID,chain_name,crediter_chain_ID,crediter_chain_name,product_ID,product_name,list_price,list_price_subtotal,cost_price,subtotal,amount,crediter_ID,crediter_name) values('" + aaa[0] + "','" + aaa[1] + "','" + aaa1[0] + "','" + aaa1[1] + "','" + product_IDn[i] + "','" + product_namen[i] + "','" + list_price + "','" + list_price_subtotal + "','" + cost_pricen[i] + "','" + subtotal + "','" + amountn[i] + "','" + payer_ID + "','" + payer_name + "')"; crm_db.executeUpdate(sql95); } } // *************************** } } String sql = "update stock_apply_pay set reason='" + reason + "',register='" + register + "',register_time='" + register_time + "',demand_return_time='" + demand_return_time + "',register_time='" + register_time + "',register='" + register + "',remark='" + remark + "',demand_amount='" + demand_amount + "',list_price_sum='" + list_price_sum + "',cost_price_sum='" + cost_price_sum + "',not_return_tag='" + not_return_tag + "' where pay_ID='" + pay_ID + "'"; stock_db.executeUpdate(sql); if (flag) { sql = "update stock_apply_pay set check_tag='1' where pay_ID='" + pay_ID + "'"; stock_db.executeUpdate(sql); if (!vr.validata( (String) dbSession.getAttribute("unit_db_name"), "stock_pay", "reasonexact", pay_ID)) { String sql4 = "insert into stock_pay(pay_ID,reason,reasonexact,reasonexact_details,demand_amount,list_price_sum,cost_price_sum,register,register_time) values('" + stock_pay_ID + "','" + reason + "','" + pay_ID + "','" + payer_name + "','" + demand_amount + "','" + list_price_sum + "','" + cost_price_sum + "','" + register + "','" + register_time + "')"; stock_db.executeUpdate(sql4); } String sql98 = "select * from crm_file where customer_ID='" + payer_ID + "'"; ResultSet rs98 = crm_db.executeQuery(sql98); if (rs98.next()) { double salecredit_list_price_sum = rs98.getDouble("salecredit_list_price_sum") + list_price_sum; double salecredit_cost_price_sum = rs98.getDouble("salecredit_cost_price_sum") + cost_price_sum; String sql99 = "update crm_file set credit_yes_or_not_tag='1',salecredit_list_price_sum='" + salecredit_list_price_sum + "',salecredit_cost_price_sum='" + salecredit_cost_price_sum + "' where customer_ID='" + payer_ID + "' "; crm_db.executeUpdate(sql99); } } else { sql = "update stock_apply_pay set check_tag='0' where pay_ID='" + pay_ID + "'"; stock_db.executeUpdate(sql); Iterator ite = rsList.iterator(); while (ite.hasNext()) { elem = (String[]) ite.next(); sql = "insert into crm_workflow(config_id,object_ID,describe1,describe2) values ('" + elem[0] + "','" + pay_ID + "','" + elem[1] + "','" + elem[2] + "')"; crm_db.executeUpdate(sql); } } response.sendRedirect("draft/crm/credit_ok.jsp?finished_tag=8"); } else { response.sendRedirect( "draft/crm/credit_ok.jsp?finished_tag=7&pay_ID=" + pay_ID + ""); } } catch (Exception ex) { ex.printStackTrace(); } } else { response.sendRedirect("draft/crm/credit_ok.jsp?finished_tag=6&pay_ID=" + pay_ID + ""); } } else { response.sendRedirect("draft/crm/credit_ok.jsp?finished_tag=9"); } } stock_db.commit(); crm_db.commit(); stock_db.close(); crm_db.close(); } else { response.sendRedirect("error_conn.htm"); } } catch (Exception ex) { ex.printStackTrace(); } }
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(); } }