/* * 刷新并添加没有的学习中心指标 * * @see net.cedu.biz.enrollment.BranchEnrollQuotaBiz#addRefreshBranchEnrollQuotaBybatchId(int, int) */ public int addRefreshBranchEnrollQuotaBybatchId(int batchId, int userId) throws Exception { int count = 0; List<Object> lst = new ArrayList(); String hql = ""; // 批次 hql += " and batchId=" + Constants.PLACEHOLDER; lst.add(batchId); // 未删除的 hql += "and deleteFlag=" + Constants.PLACEHOLDER; lst.add(Constants.DELETE_FALSE); List<BranchEnrollQuota> brqlist = branchenrollquotaDao.getByProperty(hql, lst.toArray()); List<Branch> branchlist = branchDao.getByProperty( " and parentId > " + Constants.PLACEHOLDER + "and deleteFlag=" + Constants.PLACEHOLDER + " order by id desc ", new Object[] {BranchEnum.Parent.value(), Constants.DELETE_FALSE}); if (brqlist != null && brqlist.size() > 0 && branchlist != null && branchlist.size() > 0) { int branchsize = branchlist.size(); int brqsize = brqlist.size(); if (branchsize <= brqsize) { count = 1; } else { int index = 0; for (Branch branch : branchlist) { boolean isback = false; for (BranchEnrollQuota brq : brqlist) { if (branch.getId() == brq.getId()) { isback = true; break; } } if (!isback) { BranchEnrollQuota beq = new BranchEnrollQuota(); beq.setBatchId(batchId); beq.setBranchId(branch.getId()); beq.setTarget(0); beq.setCreatorId(userId); beq.setCreatedTime(new Date()); this.addBranchEnrollQuota(beq); index++; } if (brqsize + index >= branchsize) { break; } } count = 2; } } return count; }
/* * 查询所有学习中心(分配指标)按批次 * * @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; }