Example #1
0
 /**
  *
  * <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;
 }