<%@page import="com.sun.org.apache.xalan.internal.xsltc.DOM"%> <%@page import="com.yc.service.impl.DBHelper"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% Date now=new Date(); SimpleDateFormat formatDate=new SimpleDateFormat("yyyy-MM-dd"); String date=String.valueOf(now.getDate()); int isNewOpen=(isNew==null)?1:0; int docstatePan=0; String tableIs="@zhu@"; String tableIs2="@minxi@"; String sql = ""; SqlRowSet SRS =null;//3类型控件遍历下拉数据 String addUrl="";//添加传给grid的条件,需要分离 Map docMap=new HashMap();//查询获取到的数据信息Map集合 List> listInfo=new ArrayList>();//查询获取到的数据信息List集合 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@ from ";//只能查一条 if(sql.contains("&doccode&")){//by danaus 2011-1-25 if(doccode!=null) sql=sql.replaceAll("&doccode&",doccode.replaceAll("'","")); } SpObserver.setDBtoInstance("_"+request.getSession().getAttribute(SessionKey.DATA_BASE_ID)); load.setSql(sql); load.setSqlWhere(wherePan); load.setTableName(tableIs); //加载面板数据信息或复单时候加载 listInfo=PanelManageBo.getFormLoad(load); if(listInfo.size()>0){ docMap.putAll(listInfo.get(0)); docstatePan=DBHelper.getValueInt(docMap,"docstatus"); } }catch(Exception e){ throw e; }finally{ SpObserver.setDBtoInstance(); } } if(!"".equalsIgnoreCase(doccode)&©==null){ //------------增加取消确认功能,从变量取得状态值(docstatePan),权限值(profile),到后台查询及生成相应的代码 by danaus 2014-5-27 String cancelDoc="@canceldocstatus@";//取消确认状态值 String excep="@sqlException@";//sql表达式 String cancel_html="@CancelBtnName@";//生成取消确认的html代码 int iscanel=@iscanel@;//是否设置了取消确认 if(iscanel==1){ 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页面。 %> <% } } //------------增加撤回功能,从变量取得状态值(docstatePan),权限值(profile),到后台查询及生成相应的代码 by danaus 2016-11-21 String revokeDoc="@RevokeBtnEditStatus@";//状态值 String revokeexcep="@RevokeBtnExpression@";//sql表达式 String revoke_html="撤回";//生成html代码 int isrevoke=@isrevoke@;//是否设置了取消确认 if(isrevoke==1){ StringBuilder sqlEx_revoke= new StringBuilder(); sqlEx_revoke.append("select case when "); int ex=0; boolean flg=false; if(!"".equalsIgnoreCase(revokeexcep)){//存在sql表达式 sqlEx_revoke.append("("+revokeexcep+")"); flg=true; } if(!"".equalsIgnoreCase(revokeDoc)){ //存在有状态值 if(!"".equalsIgnoreCase(revokeexcep)){ sqlEx_revoke.append(" and (").append(" docstatus in (").append(revokeDoc.replaceAll(";",",")).append("))"); } else{ sqlEx_revoke.append(" docstatus in (").append(revokeDoc.replaceAll(";",",")).append(")"); flg=true; } } sqlEx_revoke.append((flg?"":" 1=1 ")+" then 1 else 0 end cancelButton from ").append(tableIs); try{ ex= PanelManageBo.getCancelButton(DBHelper.getRepAll(sqlEx_revoke.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页面。 %> <% } } } 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(); } JSONObject jsonOldPanel = JSONObject.fromObject(docMap); //下面的调用是执行OA审核按钮 xin 2021-1-30 09:54:54 // if(sqlDBHelperIfc.getOAVerifyMethod(docMap,userCode,docstatePan)){ %> <%//}%> @linkscript@ <%@ include file="/public/template/0/showPan.txt"%>
@panelHtml@
<%@ include file="@formId@_grid.jsp"%>
@panelDownHtml@