package com.cabletech.business.resource.service.impl; import java.util.List; import java.util.Map; import javax.annotation.Resource; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.ArrayUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.cabletech.baseinfo.business.entity.UserInfo; import com.cabletech.business.resource.dao.ResourceAllotDao; import com.cabletech.business.resource.model.ResourceAllotForm; import com.cabletech.business.resource.service.ResourceAllotService; import com.cabletech.common.base.BaseDao; import com.cabletech.common.base.BaseServiceImpl; /** * 资源分配 * * @author wj * @author 杨隽 2012-07-20 * 删除queryRelatingContractor()、queryRelatingPatrolman()和saveRsMaintenance * ()方法 * @author 杨隽 2012-07-20 改名queryResourcesString()和queryResourceList()方法 * @author 杨隽 2012-07-20 添加recycleResources()和allotResources()方法 */ @SuppressWarnings({ "rawtypes", "unchecked" }) @Service @Transactional public class ResourceAllotServiceImpl extends BaseServiceImpl implements ResourceAllotService { /** * 资源分配Dao */ @Resource(name = "resourceAllotDao") private ResourceAllotDao resourceAllotDao; /** * 根据查询条件获取所有未分配的资源 * * @param form * ResourceAllotForm 检索条件 * @return string */ @Transactional(readOnly = true) public List<Map<String, Object>> queryResourcesString(ResourceAllotForm form) { List<Map<String, Object>> ls = resourceAllotDao.queryResourceList(form); return ls; } /** * 根据查询条件获取所有待确认的资源 * * @param form * ResourceAllotForm 检索条件 * @return list */ @Transactional(readOnly = true) public List<Map<String, Object>> queryResourceList(ResourceAllotForm form) { return resourceAllotDao.queryConfirmResourceList(form); } @Override public void allotResources(ResourceAllotForm form, UserInfo user) { if (user.isContractor()) { resourceAllotDao.updateRsMaintenance(form); } else { if (!form.isManyMaintenanced()) { resourceAllotDao.deleteRsMaintenance(form, form.isManyMaintenanced()); } resourceAllotDao.insertRsMaintenance(form); } } @Override public void recycleResources(ResourceAllotForm form, UserInfo user) { if (user.isContractor()) { resourceAllotDao.updateRsMaintenance(form); } else { resourceAllotDao.deleteRsMaintenance(form, form.isManyMaintenanced()); } } @Override public String isAllotedToSelf(ResourceAllotForm parameter) { List<Map<String, Object>> list = resourceAllotDao .getAllotedSelfResources(parameter); if (CollectionUtils.isEmpty(list)) { return ""; } String resourceName = ""; for (int i = 0; i < list.size(); i++) { Map<String, Object> map = list.get(i); resourceName += map.get("ZYMC"); if (i < list.size() - 1) { resourceName += ","; } } return resourceName; } protected BaseDao getBaseDao() { return resourceAllotDao; } }