AM使用指南:在AM中执行SQL语句

package com.caac.lxgl.lxlcpz.lxdgl;



import com.caac.lxgl.queries.customVO.LxdglImpl;
import com.caac.lxgl.queries.customVO.LxdglRowImpl;
import com.caac.lxgl.services.LxglImpl;
import com.caac.utils.ADFUtils;
import com.caac.utils.Noty;
import com.caac.xtgl.rzgl.LogBean;

import java.sql.SQLException;
import java.sql.Statement;

import oracle.adf.model.BindingContext;
import oracle.adf.view.rich.component.rich.data.RichTable;
import oracle.adf.view.rich.context.AdfFacesContext;
import oracle.adf.view.rich.event.DialogEvent;
import oracle.binding.BindingContainer;
import oracle.binding.OperationBinding;


import oracle.jbo.ViewCriteria;
import oracle.jbo.ViewCriteriaRow;
import oracle.jbo.server.DBTransaction;


/**
 * 离校单管理
 * @author wenmingliang
 * @version 1.0
 * @since 2013年3月27日
 */
public class LxdglBean {
    private RichTable table;
    private LxglImpl am = null;           // 离校管理am
    private String lxmbbh;              //离校模板编号
    private String lxmbmc;              //离校模板名称
    private String zt;                  //是否启用用于查询
    public LxdglBean() {
        am = (LxglImpl)ADFUtils.getApplicationModuleForDataControl("LxglDataControl");
    }
    public BindingContainer getBindings(){
       return BindingContext.getCurrent().getCurrentBindingsEntry();                      
    }
    
    /**
     * @author wenmingliang
     * @return 设置当年离校单
     * @Email 254064441@qq.com
     * @telephone 18302045799
     * @since 2013年2月27日
     * @version 1.0
    */
    public void okDialog(DialogEvent dialogEvent) {
        if(dialogEvent.getOutcome().name().contains("ok")){
            LxdglImpl li = am.getLxdgl1();
            LxdglRowImpl lr = (LxdglRowImpl)li.getCurrentRow();            
            if(lr!=null){
                int id = lr.getMbzjid().intValue();
                DBTransaction trans = am.getDBTransaction();
                Statement stmt = trans.createStatement(1);
                String sqlcx = "update lxgl_mbgl mbgl set mbgl.sfqy='0' where mbgl.sfqy='1'";
                try {
                    stmt.executeUpdate(sqlcx);                            
                } catch (SQLException e) {
                    e.printStackTrace();
                }
                finally {
                            try {
                                stmt.close();
                            } catch (SQLException sqle) {                                        
                                sqle.printStackTrace();
                            }
                        }
                am.getTransaction().commit();
                Statement stmt1 = trans.createStatement(1);
                String sql2 = "update lxgl_mbgl mbgl set mbgl.sfqy='1' where mbgl.mbzjid="+id;
                try {
                    stmt1.executeUpdate(sql2);                            
                } catch (SQLException e) {
                    e.printStackTrace();
                }
                finally {
                            try {
                                stmt1.close();
                            } catch (SQLException sqle) {                                        
                                sqle.printStackTrace();
                            }
                        }
                am.getTransaction().commit();
//                LxglMbglViewImpl lv = am.getLxglMbglView1();
//                String sql = "Sfqy='1'";
//                lv.setWhereClause(sql);
//                lv.executeQuery();               
//                System.out.println(lv.getQuery());
//                Row[] row = lv.getAllRowsInRange();
//                System.out.println("肉的长度"+row.length);
//                if(row.length!=0){
//                    LxglMbglViewRowImpl lmvr = (LxglMbglViewRowImpl)row[0];
//                    lmvr.setSfqy("0");
//                    BindingContainer bindings = getBindings();
//                    OperationBinding operationBinding = bindings.getOperationBinding("Commit");
//                    operationBinding.execute();
//                    bindings.getOperationBinding("Execute").execute();
//                }
//                int mbid = lr.getMbzjid().intValue();
//                System.out.println("模板ID"+mbid);
//                LxglMbglViewImpl lmv = am.getLxglMbglView1();                
//                String sql2 = "mbzjid="+mbid;
//                lmv.setWhereClause(sql2);
//                lmv.executeQuery();
//                System.out.println(lmv.getQuery());
//                Row[] lrow = lmv.getAllRowsInRange();
//                System.out.println("长度"+lrow.length);
//                if(lrow.length!=0){
//                    LxglMbglViewRowImpl mr = (LxglMbglViewRowImpl)lrow[0];
//                    mr.setSfqy("1");
//                }                
                BindingContainer bindings = getBindings();
                OperationBinding operationBinding = bindings.getOperationBinding("Commit");
                operationBinding.execute();
                bindings.getOperationBinding("Execute").execute();
                Noty.msg("设置成功",Noty.SUCCESS);
                LogBean.saveLog("设置离校单","LXGL_MBGL","离校单管理");
                AdfFacesContext.getCurrentInstance().addPartialTarget(table);
            }else{
                Noty.msg("请选择一行记录进行操作",Noty.ERROR);    
            }
            
        }
    }

    public void setTable(RichTable table) {
        this.table = table;
    }

    public RichTable getTable() {
        return table;
    }
    /**
     * 查询按钮
     * 
     */
    public String cx() {
        LxdglImpl vo = am.getLxdgl1();
        vo.clearViewCriterias();
        ViewCriteria vc = vo.createViewCriteria(); //创建子查询
        ViewCriteriaRow vcr = vc.createViewCriteriaRow();
        if(this.getLxmbbh()!=null){//离校模板编号
            if(this.getLxmbbh().length()!=0){
                vcr.setAttribute("Mbbh"," like %"+ this.getLxmbbh()+"%");//查询条件:离校模板编号  
            } 
        }
        if(this.getLxmbmc()!=null){//离校模板名称
            if(this.getLxmbmc().length()!=0){
                vcr.setAttribute("Mbmc"," like %"+ this.getLxmbmc()+"%");//查询条件:离校模板名称  
            } 
        }
        vcr.setAttribute("Sfqy", zt);
        vc.add(vcr);
        vo.applyViewCriteria(vc);
        vo.executeQuery();
        AdfFacesContext.getCurrentInstance().addPartialTarget(table);
        return null;
    }
    /**
     * 重置按钮
     * 
     */
    public String cz() {
        this.lxmbbh = "";
        this.lxmbmc = "";
        this.zt = "";
        LxdglImpl vo = am.getLxdgl1();
        vo.clearViewCriterias();
        vo.executeQuery();
        AdfFacesContext.getCurrentInstance().addPartialTarget(table);
        return null;
    }

    public void setLxmbbh(String lxmbbh) {
        this.lxmbbh = lxmbbh;
    }

    public String getLxmbbh() {
        return lxmbbh;
    }

    public void setLxmbmc(String lxmbmc) {
        this.lxmbmc = lxmbmc;
    }

    public String getLxmbmc() {
        return lxmbmc;
    }

    public void setZt(String zt) {
        this.zt = zt;
    }

    public String getZt() {
        return zt;
    }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值