📄 zbglgyblh.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 + -