/* * 查询学习中心指标按批次和中心Id * * @see net.cedu.biz.enrollment.BranchEnrollQuotaBiz# * findBranchEnrollQuotaByBtachIdAndBranchId(int, int) */ public BranchEnrollQuota findBranchEnrollQuotaByBtachIdAndBranchId(int batchId, int branchId) throws Exception { BranchEnrollQuota beq = null; PageParame p = new PageParame(); String hqlparam = ""; List<Object> list = new ArrayList<Object>(); if (batchId != 0) { hqlparam += " and batchId=" + Constants.PLACEHOLDER; list.add(batchId); } if (branchId != 0) { hqlparam += " and branchId=" + Constants.PLACEHOLDER; list.add(branchId); } hqlparam += " and deleteFlag="; list.add(Constants.DELETE_FALSE); p.setHqlConditionExpression(hqlparam); p.setValues(list.toArray()); Long[] branchenrollquotaids = branchenrollquotaDao.getIDs(p); if (branchenrollquotaids != null && branchenrollquotaids.length != 0) { for (int i = 0; i < branchenrollquotaids.length; i++) { // 修改人董溟浩,原作者循环取最后一个,逻辑有问题,所以改为跳过之前的直接取最后一个 if (i == branchenrollquotaids.length - 1) { beq = new BranchEnrollQuota(); beq = this.findBranchEnrollQuotaById(Integer.valueOf(branchenrollquotaids[i].toString())); GlobalEnrollBatch globalenrollbatch = globalenrollbatchBiz.findGlobalEnrollBatchById(beq.getBatchId()); if (globalenrollbatch != null) { beq.setBatchName(globalenrollbatch.getBatch()); } Branch branch = branchBiz.findBranchById(beq.getBranchId()); if (branch != null) { beq.setBranchName(branch.getName()); } } } } return beq; }
/* * 查询所有学习中心(分配指标)按批次 * * @see net.cedu.biz.admin.BranchBiz#findBranchByBtachId(int, * net.cedu.model.page.PageResult) */ public List<Branch> findBranchByBtachId(int batchId, PageResult<Branch> pr) throws Exception { List<Branch> branchlst = null; PageParame p = new PageParame(); String hqlparam = ""; List<Object> list = new ArrayList<Object>(); hqlparam += " and parentId > " + Constants.PLACEHOLDER; list.add(BranchEnum.Parent.value()); hqlparam += "and deleteFlag=" + Constants.PLACEHOLDER; list.add(Constants.DELETE_FALSE); p.setHqlConditionExpression(hqlparam); p.setValues(list.toArray()); Long[] branchids = branchBiz.findBranchIds(p); // int year = 0; // int month = 0; // int oldyear = Integer.valueOf(ResourcesTool.getText("enrollment", // "year")); // List<GlobalEnrollBatch> glst = new ArrayList<GlobalEnrollBatch>(); if (branchids != null && branchids.length != 0) { branchlst = new ArrayList<Branch>(); // Map key:branch value:当前批次指标 Map<String, Integer> batchTargetMap = branchenrollquotaDao.findBranchEnrollQuotaMapByBatch(batchId); // 上一批次id int lastBatchId = globalenrollbatchBiz.findLastGlobalEnrollBatchIdByGlobalBatchId(batchId); Map<String, Integer> lastBatchTargetMap = new HashMap<String, Integer>(); Map<String, Integer> lastBatchCompleteTargetMap = new HashMap<String, Integer>(); if (lastBatchId != 0) { // Map key:branch value:上一批次指标 lastBatchTargetMap = branchenrollquotaDao.findBranchEnrollQuotaMapByBatch(lastBatchId); // Map key:branch value:上一批次完成指标 lastBatchCompleteTargetMap = studentDao.getCompleteCountAllByGlobalEnrollBatchId(lastBatchId); } for (int i = 0; i < branchids.length; i++) { // 内存获取 Branch branchObj = branchBiz.findBranchById(Integer.valueOf(branchids[i].toString())); // GlobalEnrollBatch geb = globalenrollbatchBiz // .findGlobalEnrollBatchById(batchId); // if (geb != null) { // year = geb.getBelongYear(); // } // // month = Integer.valueOf(geb.getBatch().substring( // geb.getBatch().length() - 2)); // while (true) { // if (year <= oldyear) { // break; // } // glst = globalenrollbatchBiz // .findGlobalEnrollBatchByYear(year); // if (glst == null) { // year--; // continue; // } else { // // int batchid = BatchIdInt(glst, month); // BranchEnrollQuota beq = this // .findBranchEnrollQuotaByBtachIdAndBranchId( // batchid, branchObj.getId()); // if (beq != null) { // branchObj.setBatchTarget(beq.getTarget()); // } // break; // } // // } // 员工数量 branchObj.setUserCount(userBiz.countUserByOrgId(branchObj.getId())); // 上一批次指标 Integer lastTarget = lastBatchTargetMap.get(branchObj.getId() + ""); branchObj.setBatchTarget(lastTarget == null ? 0 : lastTarget); // 上一批次完成指标 Integer lastCompleteTarget = lastBatchCompleteTargetMap.get(branchObj.getId() + ""); branchObj.setBatchComplete(lastCompleteTarget == null ? 0 : lastCompleteTarget); // 当前批次指标 Integer currentTarget = batchTargetMap.get(branchObj.getId() + ""); branchObj.setCurrentBatchTarget(currentTarget == null ? 0 : currentTarget); branchlst.add(branchObj); } } return branchlst; }