/* * 查询批次下的所有学习中心 * * @see * net.cedu.biz.enrollment.BranchEnrollQuotaBiz#findBranchEnrollQuotaByBId * (int) */ public List<BranchEnrollQuota> findBranchEnrollQuotaByBId(int batchId) throws Exception { List<BranchEnrollQuota> branchenrollquotalst = null; PageParame p = new PageParame(); String hqlparam = ""; List<Object> list = new ArrayList<Object>(); if (batchId != 0) { hqlparam += " and batchId =" + Constants.PLACEHOLDER; list.add(batchId); } hqlparam += " and deleteFlag=" + Constants.PLACEHOLDER; list.add(Constants.DELETE_FALSE); p.setHqlConditionExpression(hqlparam); p.setValues(list.toArray()); Long[] branchenrollquotaids = branchenrollquotaDao.getIDs(p); if (branchenrollquotaids != null && branchenrollquotaids.length != 0) { branchenrollquotalst = new ArrayList<BranchEnrollQuota>(); for (int i = 0; i < branchenrollquotaids.length; i++) { BranchEnrollQuota beq = this.findBranchEnrollQuotaById(Integer.valueOf(branchenrollquotaids[i].toString())); BranchEnrollQuota branchenrollquota = beq; Branch branch = branchBiz.findBranchById(branchenrollquota.getBranchId()); if (branch != null) { branchenrollquota.setBranchName(branch.getName()); } branchenrollquotalst.add(branchenrollquota); } } return branchenrollquotalst; }
/* * 刷新并添加没有的学习中心指标 * * @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; }
/* * 查询学习中心指标按批次和中心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.enrollment.BranchEnrollQuotaBiz#addBranchEnrollQuotas(int, * int[], int[], int) */ public boolean addBranchEnrollQuotas( int batchId, Object[] branchIds, Object[] branchTarget, int managerId) throws Exception { if (batchId != 0 && branchIds != null && branchIds.length > 0 && branchTarget != null && branchTarget.length > 0) { deleteBranchEnrollQuotaBybatchId(batchId); for (int i = 0; i < branchIds.length; i++) { BranchEnrollQuota beq = new BranchEnrollQuota(); beq.setBatchId(batchId); beq.setBranchId(Integer.valueOf(branchIds[i].toString())); beq.setTarget(Integer.valueOf(branchTarget[i].toString())); beq.setCreatorId(managerId); beq.setCreatedTime(new Date()); this.addBranchEnrollQuota(beq); } EnrollQuotaBatch eqb = eqbBiz.findEnrollQuotaBatchByQuotaIdBatchId(0, batchId); eqb.setTypes(Constants.STATUS_ENABLED); eqbBiz.updateEnrollQuotaBatch(eqb); return true; } return false; }
/* * 查询学习中心指标 * * @see * net.cedu.biz.enrollment.BranchEnrollQuotaBiz#findBranchEnrollQuotalist * (net.cedu.model.page.PageResult) */ public List<BranchEnrollQuota> findBranchEnrollQuotalist( int batchId, PageResult<BranchEnrollQuota> pr) throws Exception { // 学习中心招生批次集合 List<BranchEnrollQuota> branchEnrollQuotaList = branchenrollquotaDao.findBranchEnrollQuotaList(batchId); if (branchEnrollQuotaList != null && branchEnrollQuotaList.size() != 0) { BranchEnrollQuota branchenrollquota = null; // key:学习中心ID_全局批次ID_院校ID value:招生指标 Map<String, Integer> targetMap = academyEnrollQuotaBiz.getTargetByBatch(batchId); // key:学习中心ID_全局批次ID_院校ID value:完成指标 Map<String, Integer> targetComMap = studentDao.getCompleteCountAll(batchId); for (int i = 0; i < branchEnrollQuotaList.size(); i++) { branchenrollquota = branchEnrollQuotaList.get(i); // 学习中心名称 Branch branch = branchBiz.findBranchById(branchenrollquota.getBranchId()); if (branch != null) { branchenrollquota.setBranchName(branch.getName()); } // List<Academy> academylst = academybatchbranchBiz.findAcademyByBranchIdAndGlobalBatchId( branchenrollquota.getBranchId(), branchenrollquota.getBatchId()); if (academylst != null && academylst.size() > 0) { for (int j = 0; j < academylst.size(); j++) { // 克隆类 Academy academy1 = academylst.get(j); Academy academy = academy1.clone(); // 指标 // academy.setTarget(getZhibiao(branchenrollquota.getBatchId(),branchenrollquota.getBranchId(), academy.getId())); Integer target = targetMap.get(branchenrollquota.getBranchId() + "_" + academy.getId()); academy.setTarget(target == null ? 0 : target); // 完成指标 // academy.setComplete(studentBiz.findStudentCount(batchId,academy.getId(),0)); Integer targetCom = targetComMap.get(branchenrollquota.getBranchId() + "_" + academy.getId()); academy.setComplete(targetCom == null ? 0 : targetCom); academylst.set(j, academy); } branchenrollquota.setAcademylst(academylst); } } } return branchEnrollQuotaList; }