⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zbglgyblh.java

📁 以前做的一个j2ee的项目
💻 JAVA
字号:
package gov.gdlt.ssgly.taxcore.taxblh.zbgl;

import gov.gdlt.ssgly.taxcore.comm.blh.BaseBizLogicHandler;
import gov.gdlt.ssgly.taxcore.comm.event.RequestEvent;
import gov.gdlt.ssgly.taxcore.comm.event.ResponseEvent;
import gov.gdlt.ssgly.taxcore.comm.exception.TaxBaseBizException;
import gov.gdlt.ssgly.taxcore.comm.exception.TaxBaseSystemException;
import gov.gdlt.ssgly.taxcore.taxevent.zbgl.*;
import gov.gdlt.ssgly.taxcore.taxdao.zbgl.ZBGLzbsjDAO;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.ArrayList;
import gov.gdlt.ssgly.taxcore.taxevent.jkyj.JKYJtsxxVO;

/**
 *
 * <p>Title: 查看预警信息BLH</p>
 *
 * <p>Description: 广东地税税收管理员工作平台</p>
 *
 * <p>Copyright: Copyright (c) 2005 广东省地方税务局,广州市地方税务局</p>
 *
 * <p>Company: 广州地税</p>
 *
 * @author 郑毅晖
 * @version 1.0
 */

public class ZBGLgyBLH extends BaseBizLogicHandler {

    public ZBGLgyBLH() {
    }

    //////////////////    抽象方法实现    /////////////////////
    /**
     * validateData 实现具体的业务数据规则校验
     * req : RequestEvent,   客户端请求数具
     * conn : Connection   数据库连结
     * 返回:boolean   true:数据校验成功   false:数据校验不成功
     */
    protected ResponseEvent validateData(RequestEvent req) throws
            Exception {
        return null;
    }

    /**
     * 此方法实现了业务逻辑的处理过程,处理具体业务逻辑的过程中,
     * 在出现异常的时侯, 必须向上抛出异常,异常的处理在
     * BaseBizLogicHandler实现异常的处理,事务处理和日志的记录;具体要的异常的定义根据
     * 具体的业务来确定。返回的参数的对象类型必须是ResponseEvent类型的对象实例,
     * 如果捕捉到业务上的异常,并对具体的业务的异常进行处理,如根据TaxBaseBizException
     * 以及它的扩展类的异常,写应用日志信息,异常捕获后,相应地要向上抛以下几种异常
     *  1.TaxBaseSystemException
     *  2.TaxBaseBizException
     *  3.Throwable
     *  输入参数:
     *  req : RequestEvent,  客户端请求的数据对象实例
     *  返回:ResponseEvent  返回给客户端的数据对象实例
     */
    protected ResponseEvent performTask(RequestEvent req) throws
            TaxBaseSystemException, TaxBaseBizException {
        String dealMethod = req.getDealMethod(); //业务处理标志
        ResponseEvent resEvn = new ResponseEvent(); //创建ResponseEvent对象resEvn
        //强制造型转换
        ZBGLgyReqEvent reqEvent = (ZBGLgyReqEvent) req;
        if ("getNsrbm".equals(dealMethod)) {
            resEvn = this.getNsrbm(reqEvent);
        } else
        if ("getNsrnbm".equals(dealMethod)) {
            resEvn = this.getNsrnbm(reqEvent);
        } else
        if ("getTsxx".equals(dealMethod)) {
            resEvn = this.getTsxx(reqEvent);
        } else {
            throw new TaxBaseBizException("YCZBGL01001: 调用了不存在的 " + dealMethod + " 方法!");
        }

        return resEvn;
    }

    /**
     * 根据纳税人内部码找到纳税人编码和纳税人名称
     * 参数:
     *   nsrnbm:BigDecimal
     * @param req:RWGLckrwReqEvent
     * @return ResponseEvent
     */
    private ResponseEvent getNsrbm(ZBGLgyReqEvent req) throws
            TaxBaseBizException {
        ZBGLzbsjDAO zbsjDAO = new ZBGLzbsjDAO();
        ZBGLgyResEvent res = new ZBGLgyResEvent();
        HashMap map = zbsjDAO.findNsrbmByNsrnbm(req.getNsrnbm());
        if (map == null) {
            res.setRepCode("-1");
            throw new TaxBaseBizException("YCZBGL01002: 读取对应的纳税人编码错误!");
        }
        //使用构造器将构造好的数据封装到ResponseEvent里
        res.setNsrbm((String) map.get("NSRBM"));
        res.setNsr_mc((String) map.get("NSR_MC"));
        res.setRepCode("0");

        return res;

    }

    /**
     * 根据纳税人内部码找到纳税人编码和纳税人名称
     * 参数:
     *   nsrnbm:BigDecimal
     * @param req:RWGLckrwReqEvent
     * @return ResponseEvent
     */
    private ResponseEvent getNsrnbm(ZBGLgyReqEvent req) throws
            TaxBaseBizException {
        ZBGLzbsjDAO zbsjDAO = new ZBGLzbsjDAO();
        ZBGLgyResEvent res = new ZBGLgyResEvent();
        HashMap map = zbsjDAO.findNsrnbmByNsrbm(req.getNsrbm());
        if (map == null) {
            res.setRepCode("-1");
            throw new TaxBaseBizException("YCZBGL01003: 读取对应的纳税人内部码错误!");
        }
        //使用构造器将构造好的数据封装到ResponseEvent里
        res.setNsrnbm((BigDecimal) map.get("NSRNBM"));
        res.setNsr_mc((String) map.get("NSR_MC"));
        res.setRepCode("0");

        return res;

    }

    /**
     * 根据纳税人内部码列表、指标代码列表获取指标信息
     * @param req:ZBGLgyReqEvent
     * @return ResponseEvent
     */
    private ResponseEvent getTsxx(ZBGLgyReqEvent req) throws
            TaxBaseBizException {
        ZBGLzbsjDAO zbsjDAO = new ZBGLzbsjDAO();
        ZBGLgyResEvent res = new ZBGLgyResEvent();
        ArrayList resList = zbsjDAO.findTsxxByNsrnbmZbdm(req.getNsrnbmList(),
                req.getZbdmList());
        if (resList == null) {
            res.setRepCode("-1");
            throw new TaxBaseBizException("YCZBGL01004: 读取提示信息错误!");
        }
        ArrayList tsxxList = new ArrayList();
        HashMap map = null;
        //使用构造器将构造好的数据封装到ResponseEvent里
        int p_tsxx = 0; //用于遍历提示信息数据的指针
        JKYJtsxxVO tsxxVO = null;
        BigDecimal nsrnbm = null;
        if (resList.size() > 0) {
            tsxxVO = (JKYJtsxxVO) resList.get(p_tsxx);
            nsrnbm = tsxxVO.getNsrnbm();
            map = new HashMap();
            map.put(tsxxVO.getZb_dm(), tsxxVO.getTsxx());
            p_tsxx++;
        }
        while (p_tsxx < resList.size()) {
            tsxxVO = (JKYJtsxxVO) resList.get(p_tsxx);
            if (!tsxxVO.getNsrnbm().equals(nsrnbm)) {
                tsxxList.add(map);
                map = new HashMap();
            }
            map.put(tsxxVO.getZb_dm(), tsxxVO.getTsxx());
            p_tsxx++; //指针移到下一个记录
        }
        if (p_tsxx >= 2) {
            tsxxList.add(map);
        }

        res.setTsxxList(tsxxList);
        res.setRepCode("0");

        return res;
    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -