package edu.sjtu.infosec.ismp.manager.RAM.service.impl; import java.util.List; import edu.sjtu.infosec.ismp.manager.RAM.dao.DynaAsseResuDao; import edu.sjtu.infosec.ismp.manager.RAM.model.AsseKnowDynaAsseResu; import edu.sjtu.infosec.ismp.manager.RAM.service.DynaAsseResuService; import edu.sjtu.infosec.ismp.manager.comm.model.page.Page; import edu.sjtu.infosec.ismp.manager.comm.model.page.PageResult; import edu.sjtu.infosec.ismp.manager.comm.model.page.PageUtil; /** * 应用层 知识库项目动态评估结果Manager实现类. */ public class DynaAsseResuServiceImpl implements DynaAsseResuService { /** * 知识库项目动态评估结果数据访问对象接口 */ private DynaAsseResuDao dynaAsseResuDao; /** * @param vdicRiskMatrRuleDao * 知识库项目动态评估结果数据访问对象接口(Spring Ioc容器依赖注入) */ public void setDynaAsseResuDao(DynaAsseResuDao vdynaAsseResuDao) { this.dynaAsseResuDao = vdynaAsseResuDao; } /** * 批量保存/更新项目动态评估结果 * @param dynaAsseResuList * 项目动态评估结果集合 **/ public void batchSaveOrUpdate(List<AsseKnowDynaAsseResu> dynaAsseResuList) { dynaAsseResuDao.batchSaveOrUpdate(dynaAsseResuList); } /** * 查询项目动态评估结果 * @param id * 动态评估结果id * @return 动态评估结果对象 **/ public AsseKnowDynaAsseResu find(String id) { return dynaAsseResuDao.find(new Integer(id)); } /** * 查询项目总体评估值记录数 * @param asseInfoProjId * 测评项目id * @return 项目总体评估值记录数 **/ public int getCount(Integer asseInfoProjId) { return dynaAsseResuDao.getCount(asseInfoProjId); } /** * 返回项目动态评估结果列表 * @param asseInfoProjId * 测评项目id * @return 项目动态评估结果列表 **/ public List<AsseKnowDynaAsseResu> listDynaAsseResu(Integer asseInfoProjId) { return dynaAsseResuDao.listDynaAsseResu(asseInfoProjId); } /** * 查询项目动态评估结果分页记录 * @param page * 分页对象 * @param asseInfoProjId * 测评项目id * @return 分页记录列表 **/ public PageResult listDynaAsseResuPage(Page page, Integer asseInfoProjId) { int totalCount = getCount(asseInfoProjId); page = PageUtil.createPage(page, totalCount); List list = dynaAsseResuDao.listDynaAsseResuPage(page, asseInfoProjId); return new PageResult(page, list); } /** * 删除项目动态评估结果 * @param dynaAsseResu * 项目动态评估结果 **/ public void remove(AsseKnowDynaAsseResu dynaAsseResu) { dynaAsseResuDao.remove(dynaAsseResu); } /** * 保存/更新项目动态评估结果 * @param dynaAsseResu * 项目动态评估结果 **/ public void saveOrUpdate(AsseKnowDynaAsseResu dynaAsseResu) { dynaAsseResuDao.saveOrUpdate(dynaAsseResu); } /** * 检查是否已存在该项目动态评估结果列表 * @param asseInfoProjId * 测评项目id * @return true/false **/ public boolean checkExit(Integer asseInfoProjId) { boolean ret = false; if(asseInfoProjId!=null) { List list = listDynaAsseResu(asseInfoProjId); if(list!=null && list.size()>0) { ret = true; } } return ret; } /** * 统计此次项目资产风险值 * @param asseInfoProjId * 测评项目id * @return 分页记录列表 **/ public List listRiskNumByAsse(Integer asseInfoProjId) { return dynaAsseResuDao.listRiskNumByAsse(asseInfoProjId); } }