/** * * <pre> * 方法体说明:判断是否快递大区 * 作者:andy * 日期: 2013-11-25 上午14:18:21 * @param map * @return:是则返回true,否则false * </pre> */ public boolean isExpressArea(Map<?, ?> map) { ContractWorkflowInfo info = new ContractWorkflowInfo(); String bizCode = (String) map.get(BPMSConstant.BIZCODE); // 流程实例ID String processDefName = map.get(BPMSConstant.PROCESS_DEF_NAME).toString(); WebApplicationContext wac = WebApplicationContextHolder.getWebApplicationContext(); IContractWorkflowManager contractWorkflowManager = (IContractWorkflowManager) wac.getBean("contractWorkflowManager"); IDepartmentService departmentService = (IDepartmentService) wac.getBean("departmentService"); info = contractWorkflowManager.findContractWorkflowInfoByWorkNo(bizCode, processDefName); if (null != info & StringUtil.isNotEmpty(info.getContractNumber())) { // 点部标杆编码 String expressPointDeptCode = info.getExpressPointDeptCode(); // 如果编码不为空 if (StringUtil.isNotEmpty(expressPointDeptCode)) { // 查询出对应的快递点部 Department exDept = departmentService.getDeptByStandardCode(expressPointDeptCode); Department bigArea = null; if (null != exDept) { bigArea = departmentService.getBigAreaByDeptId(exDept.getId()); } if (bigArea != null && !StringUtil.isEmpty(bigArea.getId())) { List<Department> deptList = departmentService.queryAllChildDeptByDeptId(bigArea.getId()); for (int i = 0; i < deptList.size(); i++) { Department deptment = deptList.get(i); // 如果子部门有快递部分 则改部门不是快递大区 if (deptment != null && deptment.getDeptName().endsWith("快递分部")) { // 有快递分部,则无快递事业部 return false; } } return true; } } } return false; }