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

📄 xtflflnsrmbean.java

📁 以前做的一个j2ee的项目
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
            }
        }

        return success;
    }

    /**
     * 删除纳税人分类信息
     * @return String
     * @throws Exception
     */
    public String delFlnsr() throws Exception {
        boolean success = true;
        String outcome = "self";
        int delsize = 0;

        if (this.myNsrList != null) {
            for (int i = 0; i < myNsrList.size(); i++) {
                FLGLnsrflxxVO vo = (FLGLnsrflxxVO) myNsrList.get(i);
                if (vo.isSelected()) {
                    ISsglyService service = new SsglyDelegate();
                    FLGLjbflReqEvent reqevt = new FLGLjbflReqEvent();
                    reqevt.setFl_xh(vo.getXh());
                    reqevt.setDealMethod("deleteByxh");
                    ResponseEvent resp = service.invokeTask(reqevt);
                    FLGLjbflResEvent resevt = (FLGLjbflResEvent) resp;
                    if (resevt.getFlag() == 0) {
                        success = false;
                        continue;
                    } else {
                        delsize++;
                        if (!deleteJbflByXh(vo.getFl_xh())) {
                            success = false;
                        }
                    }
                }
            }
            if (success) {
                refresh = true;
                myNsrList = getMyNsrList();
                this.alert = "已成功在该分类中删除" + delsize + "个纳税人!";
                this.message = "../SysClassTree.jsf?selflbm=" + fldm + "," +
                               flmc + "," + fl_xh + "," + lx + "," + fldm_p;
            }
        }

        return outcome;
    }

    /**
     * 判断该税管员的纳税人数目以删除其为零的机构或人的分类节点
     * @param flxh BigDecimal
     * @return boolean
     * @throws Exception
     */
    private boolean deleteJbflByXh(BigDecimal flxh) throws Exception {
        boolean success = true;
        FLGLflxxVO vo = new FLGLflxxVO();
        FLGLflxxVO flvo = new FLGLflxxVO();
        ISsglyService service = new SsglyDelegate();
        FLGLjbflReqEvent reqevt = new FLGLjbflReqEvent();

        List fljgList = getQxkzByFldm();
        if (fljgList != null) {
            flvo = ((FLGLflxxVO) fljgList.get(0));
        }
        vo.setFl_xh(flxh);
        vo.setFl_xh_p(flvo.getFl_xh());
        reqevt.setFlvo(vo);
        reqevt.setDealMethod("deleteJbflByXh");
        ResponseEvent resp = service.invokeTask(reqevt);
        FLGLjbflResEvent resevt = (FLGLjbflResEvent) resp;
        if (resevt.getFlag() == 0) {
            success = false;
        }

        return success;
    }

    /**
     * 批量导入纳税人到相应系统分类中
     *
     * @return String
     * @throws TaxBaseSystemException
     * @throws TaxBaseBizException
     */
    public String batchImport() throws TaxBaseSystemException,
            TaxBaseBizException {
        int rows = 0;
        String sgydm = "";
        String nsrnbmList = "";
        Sheet sheet = null;
        Workbook workbook = null;
        String outcome = "success";
        List addnsrList = new ArrayList();

        try {
            fldm = WebUtil.getParameterFromContextMap("fldm");
            fldm_p = WebUtil.getParameterFromContextMap("fldm_p");
            swjg = WebUtil.getParameterFromContextMap("qxkz");
            fl_xh = WebUtil.getParameterFromContextMap("flxh");
            flmc = WebUtil.getParameterFromContextMap("flmc");
            String fname = WebUtil.getParameterFromContextMap("fname");
            java.io.File file = new java.io.File(fname);
            FileInputStream in = new FileInputStream(file);
            if (in != null) {
                try {
                    workbook = Workbook.getWorkbook(in);
                    sheet = workbook.getSheet(0);
                    rows = sheet.getRows() - 1;
                    System.out.print("行数" + rows);
                    if (rows > 0) {
                        for (int i = 1; i <= rows; i++) {
                            FLGLnsrflxxVO nsrflVo = new FLGLnsrflxxVO();
                            nsrflVo.setSelected(true);
                            //纳税人编码(第1列)
                            String nsrbm = sheet.getCell(0, i).getContents().
                                           trim();
                            if (nsrbm == null || nsrbm.trim().equals("")) {
                                continue;
                            }
                            BigDecimal nsrnbm = getNsrnbmBybm(nsrbm);
                            nsrflVo.setNsrnbm(nsrnbm);
                            System.out.println("纳税人编码 :" + nsrbm);

                            //税管员代码
                            String lrrydm = this.getLrryDm(nsrnbm);
                            if ("".equals(sgydm)) {
                                sgydm = "'" + lrrydm + "'";
                            } else {
                                if (sgydm.indexOf(lrrydm) == -1) {
                                    sgydm = sgydm + "," + "'" + lrrydm + "'";
                                }
                            }
                            nsrflVo.setLrry_dm(lrrydm);
                            System.out.println("税管员编码 :" + lrrydm);
                            addnsrList.add(nsrflVo);
                        }
                        List fljgList = getQxkzByFldm();
                        List sjjgList = getSjjgByRydm(sgydm, fljgList);
                        List insertList = getDiffList(fljgList, sjjgList);
                        List insertSgyList = getDiffRyList(fljgList, sgydm);
                        if (insertJcfl(insertList)) {
                            if (insertRyfl(insertSgyList)) {
                                if (insertNsrFlgx(addnsrList)) {
                                    refresh = true;
                                    myNsrList = getMyNsrList();
                                    System.out.println("继承系统分类、纳税人分类关系保存成功");
                                } else {
                                    System.out.println("纳税人分类关系保存失败");
                                }
                            } else {
                                System.out.println("人员继承系统分类保存失败");
                            }
                        } else {
                            System.out.println("机构继承系统分类保存失败");
                        }
                        this.refresh = true;
                        myNsrList = getMyNsrList();
                        this.alert = "已成功导入" + rows + "个纳税人到该分类中!";
                        this.message = "../SysClassTree.jsf?selflbm=" + fldm +
                                       "," + flmc + "," + fl_xh + "," + lx +
                                       "," + fldm_p;
                    } else {
                        myNsrList = getMyNsrList();
                        this.alert = "文件没有纳税人数据,请确认有数据后重新导入!";
                    }
                } catch (BiffException biffE) {
                    System.out.println("读取excel文件:" + file.getName() +
                                       "出错,可能因为数据格式不正确!");
                    throw new TaxBaseSystemException("读取excel文件:" +
                            file.getName() +
                            "出错,可能因为数据格式不正确!");
                } catch (IOException ioE) {
                    System.out.println("读取文件时出现IO错误!");
                    throw new TaxBaseSystemException("读取文件时出现IO错误!");
                } catch (Exception e) {
                    e.printStackTrace();
                    throw new TaxBaseSystemException("导入数据时出现以下错误 :" + e +
                            ",可能因为数据格式不正确!");
                } finally {
                    if (in != null) {
                        in.close();
                    }
                }
            }
        } catch (Exception e) {
            System.out.println("读取请求对象时出现以下错误 :" + e);
            throw new TaxBaseBizException("读取请求对象时出现以下错误 :" + e);
        }

        return outcome;
    }

    /**
     * 通过纳税人编码获取纳税人内部码
     * @param nsrbm String
     * @return BigDecimal
     * @throws Exception
     */
    private BigDecimal getNsrnbmBybm(String nsrbm) throws Exception {
        ISsglyService service = new SsglyDelegate();
        ZBGLgyReqEvent reqevt = new ZBGLgyReqEvent();

        reqevt.setNsrbm(nsrbm);
        reqevt.setDealMethod("getNsrnbm");
        ZBGLgyResEvent resevt = (ZBGLgyResEvent) service.invokeTask(reqevt);

        return resevt.getNsrnbm();
    }

    /**
     * 查询纳税人所属税管员代码
     *
     * @return List
     * @throws Exception
     * @param nsrnbm String
     */
    private String getLrryDm(BigDecimal nsrnbm) throws Exception {
        FLGLjbflReqEvent reqevt = new FLGLjbflReqEvent();
        FLGLjbflResEvent resevt = new FLGLjbflResEvent();
        ISsglyService service = new SsglyDelegate();

        reqevt.setNsrnbm(nsrnbm);
        reqevt.setDealMethod("getLrryDm");
        resevt = (FLGLjbflResEvent) service.invokeTask(reqevt);
        String temp = "";
        if (resevt.getFlag() == 1) {
            temp = resevt.getLrrydm();
        }
        return temp;
    }

    /**
     * 读取需要继承到该分类的机构代码
     * @param rydm String
     * @param fljgList List
     * @return List
     * @throws Exception
     */
    private List getSjjgByRydm(String rydm, List fljgList) throws Exception {
        List sjdmList = null;
        SWJGjgryVO vo = new SWJGjgryVO();
        SWJGjgjgReqEvent reqevt = new SWJGjgjgReqEvent();
        ISsglyService service = new SsglyDelegate();

        if (fljgList != null) {
            this.qxkz = ((FLGLflxxVO) fljgList.get(0)).getQxkz();
        }

        vo.setSwryDm(rydm);
        vo.setSwjgDm(qxkz);
        reqevt.setRyvo(vo);
        reqevt.setDealMethod("getSjjgByRydm");
        ResponseEvent resp = service.invokeTask(reqevt);
        SWJGjgjgResEvent resevt = (SWJGjgjgResEvent) resp;
        if (resevt.getFlag() == 1) {
            sjdmList = resevt.getJgvoList();
            System.out.println("-----getSjjgByRydm:以下是上级税务机构代码-----");
            for (int i = 0; i < sjdmList.size(); i++) {
                SWJGjgjgVO jgvo = (SWJGjgjgVO) sjdmList.get(i);
                System.out.println("-----" + jgvo.getSwjgDm() + "-----");
            }
        }
        return sjdmList;
    }

    /**
     * 读取该系统分类下已继承的机构代码
     * @return List
     * @throws Exception
     */
    private List getQxkzByFldm() throws Exception {
        FLGLjbflReqEvent reqevt = new FLGLjbflReqEvent();
        FLGLjbflResEvent resevt = new FLGLjbflResEvent();
        ISsglyService service = new SsglyDelegate();

        reqevt.setFl_dm(fldm);
        reqevt.setDealMethod("getQxkzByFldm");
        resevt = (FLGLjbflResEvent) service.invokeTask(reqevt);
        List temp = null;
        if (resevt.getFlag() == 1) {
            temp = resevt.getFlvoList();
            System.out.println("-----getQxkzByFldm:以下是本分类已有机构代码-----");
            for (int i = 0; i < temp.size(); i++) {
                FLGLflxxVO flvo = (FLGLflxxVO) temp.get(i);
                System.out.println("-----" + flvo.getQxkz() + "-----");
            }

        }
        return temp;
    }

    /**
     * 比较出新增继承到该分类的机构代码
     * @param source List
     * @param target List
     * @return List
     */
    private List getDiffList(List source, List target) {
        if (target != null) {
            int key = 0;
            List temp = new ArrayList();
            temp.addAll(target);
            for (int i = 0; i < target.size(); i++) {
                SWJGjgjgVO jgvo = (SWJGjgjgVO) target.get(i);
                String jgdm = jgvo.getSwjgDm();
                for (int j = 0; j < source.size(); j++) {
                    FLGLflxxVO flvo = (FLGLflxxVO) source.get(j);
                    if (flvo.getLrry_dm() == null && jgdm.equals(flvo.getQxkz())) {
                        temp.remove(i - key);
                        key = key + 1;
                        break;
                    }
                }
            }
            target = temp;
            System.out.println("-----以下是需插入的分类机构代码-----");
            for (int i = 0; i < temp.size(); i++) {
                SWJGjgjgVO jgvo = (SWJGjgjgVO) temp.get(i);
                System.out.println("-----" + jgvo.getSwjgDm() + "-----");
            }
        }

        return target;
    }

    /**
     * 比较出需要继承到该分类的人员代码
     * @param source List
     * @param sgydm String
     * @return List
     */
    private List getDiffRyList(List source, String sgydm) {
        int key = 0;
        String[] dms = sgydm.split(",");
        List target = new ArrayList();
        for (int k = 0; k < dms.length; k++) {
            target.add(dms[k].substring(1, dms[k].length() - 1));
        }
        if (target != null) {
            List temp = new ArrayList();
            temp.addAll(target);
            for (int i = 0; i < target.size(); i++) {
                String rydm = (String) target.get(i);

⌨️ 快捷键说明

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