📄 jkyjckyjxxblh.java
字号:
int p_yjsj = 0; //用于遍历预警事件数据的指针
int p_tsxx = 0; //用于遍历提示信息数据的指针
boolean found_flag; //找到数据的标志
BigDecimal nsrnbm = null; //记录当前的行的纳税人内部码
int colIdx = -1; //列序号
String zb_dm = null; //指标代码
String cfy_mc = null; //触发源名称
LogWritter.sysDebug("nsrflxxList size=" + nsrflxxList.size());
LogWritter.sysDebug("zbxxList size=" + zbxxList.size());
LogWritter.sysDebug("zbsjList size=" + zbsjList.size());
LogWritter.sysDebug("jkyjsjList size=" + jkyjsjList.size());
for (int i = 0; i < nsrflxxList.size(); i++) {
nsrflxxVO = (FLGLnsrflxxVO) nsrflxxList.get(i);
nsrnbm = nsrflxxVO.getNsrnbm();
// LogWritter.sysDebug("nsrnbm=" + nsrnbm + ", fl_xh=" + nsrflxxVO.getFl_xh()); //for debug
yjlbVO = new JKYJyjlbVO();
yjlbVO.setNsrnbm(nsrnbm);
yjlbVO.setHasYjjl(false); //初始化为没有预警记录
//预警指标和异常记录统一存放版本,适用于一个指标仅对应一条预警记录(或多条预警记录合并存放)的做法
//构造一行的预警指标数据
yjzbData = new ArrayList();
////初始化所有指标值为"0"
for (int j = 0; j < zbxxList.size(); j++) {
zbxxVO = (JKYJzbxxVO) zbxxList.get(j);
yjjlVO = new JKYJyjjlVO();
yjjlVO.setZbz("0");
yjjlVO.setDm_decode(zbxxVO.getDm_decode());
yjzbData.add(yjjlVO);
}
////把有数据的指标填入相应的列
// p_zbsj = 0; //reset
// found_flag = false; //reset
while (p_zbsj < zbsjList.size()) {
zbsjDAO = (ZBGLzbsjDAO) zbsjList.get(p_zbsj);
if (zbsjDAO.getNsrnbm().equals(nsrnbm)) {
zb_dm = zbsjDAO.getZb_dm();
colIdx = findColIdxByZbdm(zb_dm, headerList);
if (colIdx >= 0) {
yjjlVO = (JKYJyjjlVO) yjzbData.get(colIdx);
yjjlVO.setZbz(zbsjDAO.getZbz());
yjzbData.set(colIdx, yjjlVO);
}
// found_flag = true; //已找到指标数据
} else {
// if (found_flag) break; //已找到需填入的指标数据,跳出while循环
break;
}
p_zbsj++; //指针移到下一个记录
}
////把提示信息填入相应的列
found_flag = false; //reset
while (p_tsxx < tsxxList.size()) {
tsxxVO = (JKYJtsxxVO) tsxxList.get(p_tsxx);
if (tsxxVO.getNsrnbm().equals(nsrnbm)) {
zb_dm = tsxxVO.getZb_dm();
colIdx = findColIdxByZbdm(zb_dm, headerList);
if (colIdx >= 0) {
yjjlVO = (JKYJyjjlVO) yjzbData.get(colIdx);
yjjlVO.setZb_tsxx(tsxxVO.getTsxx()); //把指标提示信息设到监控台每个单元数据里(没有指标数据的是否要显示提示?)
yjzbData.set(colIdx, yjjlVO);
}
found_flag = true; //已找到提示信息数据
} else {
if (found_flag) break; //已找到需填入的提示信息数据,跳出while循环
}
p_tsxx++; //指针移到下一个记录
}
//构造一行的所有预警事件记录列表(List版本)
// found_flag = false; //reset
while (p_yjsj < jkyjsjList.size()) {
jkyjsjDAO = (JKYJjkyjsjDAO) jkyjsjList.get(p_yjsj);
// LogWritter.sysDebug("p_yjsj=" + p_yjsj + ",jkyjsjDAO.nsrnbm=" + jkyjsjDAO.getNsrnbm() + ",jl_xh=" + jkyjsjDAO.getJl_xh()); //for debug
if (jkyjsjDAO.getNsrnbm().equals(nsrnbm)) {
zb_dm = jkyjsjDAO.getZb_dm();
colIdx = findColIdxByZbdm(zb_dm, headerList);
if (colIdx < 0) { //找不到相应的指标列
p_yjsj++; //指针移到下一个记录
continue;
}
yjjlVO = (JKYJyjjlVO) yjzbData.get(colIdx); //取出要修改的记录
yjlbVO.setHasYjjl(true); //标记为有预警记录
//仅存放第一条记录的记录序号、发生时间、任务编号、调用任务管理页面名
if (yjjlVO.getJl_xh() == null) {
yjjlVO.setJl_xh(jkyjsjDAO.getJl_xh());
yjjlVO.setFs_sj(jkyjsjDAO.getFs_sj());
yjjlVO.setRw_xh(jkyjsjDAO.getRw_xh());
yjjlVO.setOp_jsp(jkyjsjDAO.getOp_jsp());
}
yjjlVO.setZb_dm(zb_dm);
if (yjjlVO.getZtbh() == null) {
yjjlVO.setZtbh(jkyjsjDAO.getZtbh());
} else {
yjjlVO.setZtbh(yjjlVO.getZtbh() + "\n" +
jkyjsjDAO.getZtbh());
}
if (yjjlVO.getZt_mc() == null) {
yjjlVO.setZt_mc(jkyjsjDAO.getZt_mc());
} else {
yjjlVO.setZt_mc(yjjlVO.getZt_mc() + "\n" +
jkyjsjDAO.getZt_mc());
}
//在预警和提示同时存在时,按预警来存放状态类型、提示颜色、提示图标名称
if (yjjlVO.getZt_lx() == null ||
yjjlVO.getZt_lx().equals("02")) {
yjjlVO.setZt_lx(jkyjsjDAO.getZt_lx());
yjjlVO.setTsys(jkyjsjDAO.getTsys());
yjjlVO.setTstb_mc(jkyjsjDAO.getTstb_mc());
}
if (yjjlVO.getZtms() == null) {
yjjlVO.setZtms(jkyjsjDAO.getZtms());
} else {
yjjlVO.setZtms(yjjlVO.getZtms() + "\n" +
jkyjsjDAO.getZtms());
}
if (yjjlVO.getXxms() == null) {
yjjlVO.setXxms(jkyjsjDAO.getXxms());
} else {
yjjlVO.setXxms(yjjlVO.getXxms() + "\n" +
jkyjsjDAO.getXxms());
}
//转换触发源代码为名称,暂时为硬编码
if (jkyjsjDAO.getCfy_dm().equals("01")) {
cfy_mc = "代理程序生成";
} else if (jkyjsjDAO.getCfy_dm().equals("02")) {
cfy_mc = "纳税评估生成";
} else if (jkyjsjDAO.getCfy_dm().equals("03")) {
cfy_mc = "管理员平台生成";
} else {
cfy_mc = "其他";
}
if (yjjlVO.getCfy_mc() == null) {
yjjlVO.setCfy_mc(cfy_mc);
} else {
yjjlVO.setCfy_mc(yjjlVO.getCfy_mc() + "\n" + cfy_mc);
}
if (yjjlVO.getTs_bj() == null) {
yjjlVO.setTs_bj(jkyjsjDAO.getTs_bj());
} else {
yjjlVO.setTs_bj(yjjlVO.getTs_bj() + "; " +
jkyjsjDAO.getTs_bj());
}
yjzbData.set(colIdx, yjjlVO); //把修改后的数据存回去
// found_flag = true; //已找到监控预警数据
} else {
// if (found_flag) break; //已找到需填入的监控预警数据,跳出while循环
break;
}
p_yjsj++; //指针移到下一个记录
}
yjlbVO.setYjzbData(yjzbData);
//加一个纳税人的信息
yjlbList.add(yjlbVO);
}
//使用构造器将构造好的数据封装到ResponseEvent里
JKYJckyjxxResEvent res = new JKYJckyjxxResEvent();
res.setYjlbList(yjlbList);
res.setYjlbHeader(headerList);
res.setRepCode("0");
return res;
}
private ResponseEvent setTsbj(JKYJckyjxxReqEvent req) throws
TaxBaseBizException {
JKYJjkyjsjDAO jkyjsjDAO = new JKYJjkyjsjDAO();
ZBGLzbsjDAO zbsjDAO = new ZBGLzbsjDAO();
JKYJckyjxxResEvent res = new JKYJckyjxxResEvent();
String zbz = "-1"; //默认为‘已办理’
res.setRepCode("0");
if (jkyjsjDAO.updateTsbj(req.getJl_xh(), req.getTs_bj()) < 0) {
res.setRepCode("-1");
throw new TaxBaseBizException("YCJKYJ01007: 更新提示标记失败!");
}
if (req.getTsbj_lx() != null && req.getTsbj_lx().equals("QS")) {
zbz = "-2"; //‘已签收’
}
if (zbsjDAO.updateJkyjZbz(req.getNsrnbm(), req.getJl_xh(), zbz) < 0) { //标记为预警任务已办结或已签收
res.setRepCode("-1");
throw new TaxBaseBizException("YCJKYJ01007: 更新提示标记失败!");
}
//使用构造器将构造好的数据封装到ResponseEvent里
return res;
}
/**
* 按照指标代码在指标列信息List中查找对应的列序号
* @param zb_dm:String 指标代码
* @param colList:ArrayList 指标列信息List
* @return int<br>
* >=0:列序号<br>
* -1:找不到对应列
*/
private int findColIdxByZbdm(String zb_dm, ArrayList colList) {
JKYJzbxxVO tmpVO = null;
for (int i = 0; i < colList.size(); i++) {
tmpVO = (JKYJzbxxVO) colList.get(i);
if (tmpVO.getZb_dm().equals(zb_dm)) {
return i;
}
}
return -1;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -