/** * 通联支付-研发中心 * SysConfigPlugin.java * 2014-5-6 */ package com.mtools.core.plugin.sys; import java.util.List; import java.util.Map; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import org.springframework.ui.ModelMap; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.mtools.core.plugin.BasePlugin; import com.mtools.core.plugin.constant.CoreConstans; import com.mtools.core.plugin.entity.Department; import com.mtools.core.plugin.entity.PageInfo; import com.mtools.core.plugin.entiy.vo.DepartVo; import com.mtools.core.plugin.helper.AIPGException; import com.mtools.core.plugin.helper.FuncUtil; /** * @author zhang * 功能:系统基本组件 * @date 2014-5-6 */ @Component("sysPlugin") public class SysConfigPlugin extends BasePlugin { public List<DepartVo> getDeps(Department dep,PageInfo page) throws Exception{ String sql = "select c.*, p.depname pdepname from department c left join department p on c.parentid=p.depid where 1=1 "; if (!FuncUtil.isEmpty(dep.getDepname())) { sql += " and c.depname like '%" + dep.getDepname() + "%'"; } if (!FuncUtil.isEmpty(dep.getDepid())) { sql += " and c.depid=" + dep.getDepid(); } if (!FuncUtil.isEmpty(page.getSort().getName())) { sql += " order by c.depname " + page.getSort().getName(); } if (!FuncUtil.isEmpty(page.getSort().getId())) { sql += " order by c.depid " + page.getSort().getId(); } // 总笔数 int count = this.dao.count(sql,null); page.setItemCount(count); List<DepartVo> deps=this.dao.searchPage(sql, DepartVo.class, Integer.parseInt(page.getPageIndex()), Integer.parseInt(page.getPageSize()), null); if(deps==null||deps.size()==0){ deps=Lists.newArrayList(); deps.add(new DepartVo()); } return deps; } /** * 功能:新增部门(组织) * 2014-5-6 * @throws AIPGException */ @Transactional(rollbackFor = Throwable.class, propagation = Propagation.REQUIRED) public void addDepartment(DepartVo depvo, ModelMap model) throws AIPGException { try { Department dep=new Department(); dep.setDepname(depvo.getDepname()); dep.setPrincipal(depvo.getPrincipal()); this.dao.add(dep); model.addAttribute(CoreConstans.OPTRESULT, "新增部门成功"); model.put(CoreConstans.SUCCESSMESSAGE, "新增部门成功!"); } catch (Exception ex) { log.error("新增部门失败\n" + ex.getMessage(), ex); model.addAttribute(CoreConstans.OPTRESULT, "新增部门失败"); model.put(CoreConstans.SUCCESSMESSAGE, "新增部门失败!"); AIPGException.throwExcp(CoreConstans.EXCEPTON_01, "新增部门失败!"); } } /** * 功能:修改部门信息 * 2014-5-6 */ @Transactional(rollbackFor = Throwable.class, propagation = Propagation.REQUIRED) public void updateDepartment(Department dep, ModelMap model){ try { this.dao.update(dep); this.errorMsg="修改部门成功"; model.addAttribute(CoreConstans.OPTRESULT,errorMsg); model.put(CoreConstans.SUCCESSMESSAGE, errorMsg); } catch (Exception ex) { this.errorMsg="修改部门失败"; log.error(this.errorMsg+"\n" + ex.getMessage(), ex); model.addAttribute(CoreConstans.OPTRESULT, errorMsg); model.put(CoreConstans.ERROR_MESSAGE, errorMsg); } } /** * 功能:删除部门信息 * 2014-5-6 */ @Transactional(rollbackFor = Throwable.class, propagation = Propagation.REQUIRED) public void deleteDepartment(Department dep, ModelMap model){ try { String[] ids=dep.getDepid().split(","); for(String id:ids){ dep.setDepid(id); this.dao.delete(dep); } this.errorMsg="删除部门成功!"; model.addAttribute(CoreConstans.OPTRESULT,errorMsg); model.put(CoreConstans.SUCCESSMESSAGE, errorMsg); } catch (Exception ex) { log.error("删除部门失败\n" + ex.getMessage(), ex); model.addAttribute(CoreConstans.OPTRESULT, "删除部门失败"); model.put(CoreConstans.ERROR_MESSAGE, "删除部门失败!"); } } /** * 功能:组织信息 * 2014-5-7 * @throws Exception */ public Map<String, String> getDepsFoMap() throws Exception { String sql = "select t.depid,t.depname from department t"; List<Object[]> deps = this.dao.searchForArray(sql, null); Map<String, String> depsMap = Maps.newConcurrentMap(); for (Object[] value : deps) { depsMap.put(value[0].toString(), value[1].toString()); } return depsMap; } }