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

📄 jkyjckyjxxblh.java

📁 以前做的一个j2ee的项目
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
       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 + -