?? jkyjckyjxxblh.java
字號:
int p_yjsj = 0; //用于遍歷預(yù)警事件數(shù)據(jù)的指針
int p_tsxx = 0; //用于遍歷提示信息數(shù)據(jù)的指針
boolean found_flag; //找到數(shù)據(jù)的標(biāo)志
BigDecimal nsrnbm = null; //記錄當(dāng)前的行的納稅人內(nèi)部碼
int colIdx = -1; //列序號
String zb_dm = null; //指標(biāo)代碼
String cfy_mc = null; //觸發(fā)源名稱
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); //初始化為沒有預(yù)警記錄
//預(yù)警指標(biāo)和異常記錄統(tǒng)一存放版本,適用于一個指標(biāo)僅對應(yīng)一條預(yù)警記錄(或多條預(yù)警記錄合并存放)的做法
//構(gòu)造一行的預(yù)警指標(biāo)數(shù)據(jù)
yjzbData = new ArrayList();
////初始化所有指標(biāo)值為"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);
}
////把有數(shù)據(jù)的指標(biāo)填入相應(yīng)的列
// 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; //已找到指標(biāo)數(shù)據(jù)
} else {
// if (found_flag) break; //已找到需填入的指標(biāo)數(shù)據(jù),跳出while循環(huán)
break;
}
p_zbsj++; //指針移到下一個記錄
}
////把提示信息填入相應(yīng)的列
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()); //把指標(biāo)提示信息設(shè)到監(jiān)控臺每個單元數(shù)據(jù)里(沒有指標(biāo)數(shù)據(jù)的是否要顯示提示?)
yjzbData.set(colIdx, yjjlVO);
}
found_flag = true; //已找到提示信息數(shù)據(jù)
} else {
if (found_flag) break; //已找到需填入的提示信息數(shù)據(jù),跳出while循環(huán)
}
p_tsxx++; //指針移到下一個記錄
}
//構(gòu)造一行的所有預(yù)警事件記錄列表(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) { //找不到相應(yīng)的指標(biāo)列
p_yjsj++; //指針移到下一個記錄
continue;
}
yjjlVO = (JKYJyjjlVO) yjzbData.get(colIdx); //取出要修改的記錄
yjlbVO.setHasYjjl(true); //標(biāo)記為有預(yù)警記錄
//僅存放第一條記錄的記錄序號、發(fā)生時間、任務(wù)編號、調(diào)用任務(wù)管理頁面名
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());
}
//在預(yù)警和提示同時存在時,按預(yù)警來存放狀態(tài)類型、提示顏色、提示圖標(biāo)名稱
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());
}
//轉(zhuǎn)換觸發(fā)源代碼為名稱,暫時為硬編碼
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); //把修改后的數(shù)據(jù)存回去
// found_flag = true; //已找到監(jiān)控預(yù)警數(shù)據(jù)
} else {
// if (found_flag) break; //已找到需填入的監(jiān)控預(yù)警數(shù)據(jù),跳出while循環(huán)
break;
}
p_yjsj++; //指針移到下一個記錄
}
yjlbVO.setYjzbData(yjzbData);
//加一個納稅人的信息
yjlbList.add(yjlbVO);
}
//使用構(gòu)造器將構(gòu)造好的數(shù)據(jù)封裝到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"; //默認(rèn)為‘已辦理’
res.setRepCode("0");
if (jkyjsjDAO.updateTsbj(req.getJl_xh(), req.getTs_bj()) < 0) {
res.setRepCode("-1");
throw new TaxBaseBizException("YCJKYJ01007: 更新提示標(biāo)記失敗!");
}
if (req.getTsbj_lx() != null && req.getTsbj_lx().equals("QS")) {
zbz = "-2"; //‘已簽收’
}
if (zbsjDAO.updateJkyjZbz(req.getNsrnbm(), req.getJl_xh(), zbz) < 0) { //標(biāo)記為預(yù)警任務(wù)已辦結(jié)或已簽收
res.setRepCode("-1");
throw new TaxBaseBizException("YCJKYJ01007: 更新提示標(biāo)記失敗!");
}
//使用構(gòu)造器將構(gòu)造好的數(shù)據(jù)封裝到ResponseEvent里
return res;
}
/**
* 按照指標(biāo)代碼在指標(biāo)列信息List中查找對應(yīng)的列序號
* @param zb_dm:String 指標(biāo)代碼
* @param colList:ArrayList 指標(biāo)列信息List
* @return int<br>
* >=0:列序號<br>
* -1:找不到對應(yīng)列
*/
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;
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -