📄 xtflflnsrmbean.java
字号:
}
}
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 + -