<%@page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@page import="java.text.SimpleDateFormat"%> <%@page import="com.yc.service.impl.EnvHelper"%> <%@page import="com.yc.service.impl.DBHelper"%> <%@page import="com.yc.service.build.BuildFuncIfc"%> <%@page import="org.springframework.jdbc.support.rowset.SqlRowSet"%> <%@page import="com.yc.factory.FactoryBean"%> <%@page import="com.yc.service.panel.TypeControlDao"%> <%@page import="com.yc.service.panel.time.PanelTimeDao"%> <%@page import="com.yc.service.panel.PanelManageDao"%> <%@page import="com.yc.service.panel.GfieldApprovedButtonIfc"%> <%@page import="com.yc.service.panel.SqlDBHelperIfc"%> <%@page import="com.yc.service.upload.AttachmentIfc"%> <%@page import="com.yc.entity.attachment.AttachmentEntity"%> <%@page import="com.yc.utils.DefaultSet" %> <%@page import="java.sql.SQLException"%> <%@page import="net.sf.json.JSONObject"%> <%@page import="org.springframework.jdbc.BadSqlGrammarException"%> <%@page import="org.springframework.dao.EmptyResultDataAccessException"%> <%@page import="org.springframework.dao.DataAccessException"%> <%@page import="com.yc.multiData.SpObserver"%> <%@page import="com.yc.utils.SessionKey"%> <%@page import="com.google.gson.JsonArray"%> <%@page import="com.google.gson.JsonObject"%> <%@page import="com.yc.sdk.shopping.util.SettingKey"%> <%@ include file="dataHead.jsp" %> <% SqlDBHelperIfc sqlDBHelperIfc=(SqlDBHelperIfc)FactoryBean.getBean("SqlDBHelper"); GfieldApprovedButtonIfc gButtonIfc=(GfieldApprovedButtonIfc)FactoryBean.getBean("GfieldApprovedButton"); PanelTimeDao PanelTimeBo=(PanelTimeDao)FactoryBean.getBean("PanelTime"); PanelManageDao PanelManageBo=(PanelManageDao)FactoryBean.getBean("PanelManage"); TypeControlDao TypeControlBo=(TypeControlDao)FactoryBean.getBean("TypeControl"); //pengbei request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); String sql = ""; String path = request.getContextPath(); String basePath = SettingKey.getHostUrl(request)+ path + "/"; Date now=new Date(); SimpleDateFormat formatDate=new SimpleDateFormat("yyyy-MM-dd"); String date=String.valueOf(now.getDate()); Map docMap=new HashMap(); int isNewOpen=1; int docstatePan=0; String tableIs="@zhu@"; String tableIs2="@minxi@"; List> listInfo=new ArrayList>(); String addUrl="";//添加传给grid的条件,需要分离 if((wherePan!=null&&!wherePan.equals(""))||grid!=null){ if(wherePan.indexOf("@G@")!=-1){ int inds=wherePan.indexOf("@G@"); String temp1=wherePan; wherePan=temp1.substring(0,inds); addUrl = " and "+temp1.substring(inds+3); } try{ sql="select top 1 @selectColAll@"+online+" from ";//只能查一条 if(doccode!=null && sql.contains("&doccode&")){//by danaus 2011-1-25 sql=sql.replaceAll("&doccode&",doccode.replaceAll("'","")); } SpObserver.setDBtoInstance("_"+request.getSession().getAttribute(SessionKey.DATA_BASE_ID)); if(copy!=null){ listInfo=PanelManageBo.getFromEnd(sql,tableIs,wherePan.replaceAll("_ycid_","id"),@formType@,copy,request); }else{ listInfo=PanelManageBo.getFromEnd(sql,tableIs,wherePan,@formType@,request); } }catch(Exception e){ throw e; // try{ // listInfo=PanelManageBo.getFromEnd(sql,tableIs2,wherePan,@formType@,request); // }catch(Exception ex){ // listInfo=new ArrayList>(); // //数据库乱设置时不显示页面,直接清空信息,或者不是乱设置,却不能用来查询,也清空信息 // } }finally{ SpObserver.setDBtoInstance(); } if(listInfo.size()>0){ docMap=listInfo.get(0);} if((doccode==null||"".equals(doccode))&&listInfo.size()>0){ doccode=DBHelper.getValue(docMap,"doccode"); if(!"".equals(doccode)) { isNew = "0";//在获取不到doccode参数值情况下,进行数据加载,如果有doccode值说明不是新单 isNew赋值0 xin 2021-8-10 17:05:18 } } } if((isNew!=null&&isNew.equals("0"))||listInfo.size()>0){ isNewOpen=0;//不为新开单 docstatePan=DBHelper.getValueInt(docMap,"docstatus"); } JSONObject jsonOldPanel = JSONObject.fromObject(docMap); if(!"".equalsIgnoreCase(doccode)&©==null){ //------------增加取消确认功能,从变量取得状态值(docstatePan),权限值(profile),到后台查询及生成相应的代码 by danaus 2014-5-27 String cancelDoc="@canceldocstatus@";//取消确认状态值 String excep="@sqlException@";//sql表达式 String cancel_html="@CancelBtnName@";//生成取消确认的html代码 if(!"".equals(canelProc)){ StringBuilder sqlEx= new StringBuilder(); sqlEx.append("select case when "); int ex=0; boolean flg=false; if(!"".equalsIgnoreCase(excep)){//存在sql表达式 sqlEx.append("("+excep+")"); flg=true; } if(!"".equalsIgnoreCase(cancelDoc)){ //存在有状态值 if(!"".equalsIgnoreCase(excep)){ sqlEx.append(" and (").append(" docstatus in (").append(cancelDoc.replaceAll(";",",")).append("))"); }else{ sqlEx.append(" docstatus in (").append(cancelDoc.replaceAll(";",",")).append(")"); } flg=true; } sqlEx.append((flg?"":" 1=1 ")+" then 1 else 0 end cancelButton from ").append(tableIs); try{ ex= PanelManageBo.getCancelButton(DBHelper.getRepAll(sqlEx.toString(),session,docMap,true)+" where doccode='"+doccode.replaceAll("'","")+"'"); }catch(DataAccessException ea){//这异常判断单据是否还存在 xin 2018-12-8 17:45:59 if(ea instanceof EmptyResultDataAccessException){ throw new Exception("该单据不存在!"); }else{throw ea;} }catch(Exception e){ throw e; } if(ex==1){ //如果能显示,则用js把html代码写回到top页面。%> <% } } //-------------------end //------------增加撤回功能,从变量取得状态值(docstatePan),权限值(profile),到后台查询及生成相应的代码 by danaus 2016-11-21 cancelDoc="@RevokeBtnEditStatus@";//状态值 excep="@RevokeBtnExpression@";//sql表达式 String revoke_html="撤回";//生成html代码 if(!"".equals(revokeProc)){ StringBuilder sqlEx= new StringBuilder(); sqlEx.append("select case when "); int ex=0; boolean flg=false; if(!"".equalsIgnoreCase(excep)){//存在sql表达式 sqlEx.append("("+excep+")"); flg=true; } if(!"".equalsIgnoreCase(cancelDoc)){ //存在有状态值 if(!"".equalsIgnoreCase(excep)){ sqlEx.append(" and (").append(" docstatus in (").append(cancelDoc.replaceAll(";",",")).append("))"); }else{ sqlEx.append(" docstatus in (").append(cancelDoc.replaceAll(";",",")).append(")"); } flg=true; } sqlEx.append((flg?"":" 1=1 ")+" then 1 else 0 end cancelButton from ").append(tableIs); try{ ex= PanelManageBo.getCancelButton(DBHelper.getRepAll(sqlEx.toString(),session,docMap,true)+" where doccode='"+doccode.replaceAll("'","")+"'"); }catch(DataAccessException ea){//这异常判断单据是否还存在 xin 2018-12-8 17:45:59 if(ea instanceof EmptyResultDataAccessException){ throw new Exception("该单据不存在!"); }else{throw ea;} }catch(Exception e){ throw e; } if(ex==1){ //如果能显示,则用js把html代码写回到top页面。 %> <% } } //-------------------end } SqlRowSet SRS =null; String outStr=""; BuildFuncIfc build=(BuildFuncIfc)FactoryBean.getBean("Build"); try{ String openDoc="@openDoc@"; SpObserver.setDBtoInstance("_"+request.getSession().getAttribute(SessionKey.DATA_BASE_ID)); sqlDBHelperIfc.execSql(DBHelper.getProcessAll(openDoc,session,docMap,true)); }catch(Exception e){ throw e; }finally{ SpObserver.setDBtoInstance(); } //------- String userName=session.getAttribute(SessionKey.USERNAME)+""; String dbid=session.getAttribute(SessionKey.DATA_BASE_ID)+""; com.yc.app.v2.controller.APPController appController = (com.yc.app.v2.controller.APPController) FactoryBean.getBean("APPController"); appController.execRecentAccessFormid(new com.yc.action.grid.RecentAccessEntity(userCode,userName,formId,formType,com.yc.service.impl.DBHelper.replaceBr(com.yc.utils.EncodeUtil.base64Encode(queryString)),formName,doccode.replaceAll("'",""),dbid)); //---------- //下面的调用是执行OA审核按钮 xin 2021-1-30 09:54:54 // if(sqlDBHelperIfc.getOAVerifyMethod(docMap,userCode,docstatePan)){ %> <%//}%> @linkscript@ <%@ include file="/public/template/0/showPan.txt" %>
@panelHtml@
@panelDownHtml@
<% if ("1".equals(docMap.get("isshowonlinemsgbtn"))) { //isShowOnlineMsg定义在jsCssHead request.setAttribute("formId", formId + ""); request.setAttribute("docCode", doccode); %> <% } if ("1".equals(docMap.get("isshowprocesstrackingbtn"))) {//isShowProcessTracking定义在jsCssHead %> <%@ include file="/general/processTrack.jsp" %> <%} %>