package com.goafanti.organization.service.impl; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.UUID; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.goafanti.core.mybatis.page.Pagination; import com.goafanti.core.shiro.token.TokenManager; import com.goafanti.organization.bo.OrganizationListOut; import com.goafanti.organization.service.OrganizationService; import com.goafanti.admin.bo.AdminListBo; import com.goafanti.common.dao.OrganizationManagementMapper; import com.goafanti.common.model.OrganizationManagement; import com.goafanti.common.utils.StringUtils; import com.goafanti.core.mybatis.BaseMybatisDao; @Service public class OrganizationServiceImpl extends BaseMybatisDao implements OrganizationService { @Autowired private OrganizationManagementMapper organizationManagementMapper; @Override public Pagination listOrganizationManagement(OrganizationListOut olo, Integer pageNo, Integer pageSize) { /*olo.setCreateId(TokenManager.getAdminId());*/ Map params =disposeParams(olo); @SuppressWarnings("unchecked") Pagination list=(Pagination)findPage("selectOrganizationList","selectOrganizationCount",params,pageNo,pageSize); return list; } private Map disposeParams(OrganizationListOut olo){ Map params = new HashMap(); if(StringUtils.isNotBlank(olo.getId())) params.put("id", olo.getId()); if(StringUtils.isNotBlank(olo.getCreateId())) params.put("createId", olo.getCreateId()); if(StringUtils.isNotBlank(olo.getCreateTime())) params.put("createTime", olo.getCreateTime()); if(StringUtils.isNotBlank(olo.getUpdateTime())) params.put("updateTime", olo.getUpdateTime()); if(StringUtils.isNotBlank(olo.getDeletedSign())) params.put("deletedSign", olo.getDeletedSign()); if(StringUtils.isNotBlank(olo.getName())) params.put("name", olo.getName()); if(StringUtils.isNotBlank(olo.getType())) params.put("type", olo.getType()); if(StringUtils.isNotBlank(olo.getManagerId())) params.put("managerId", olo.getManagerId()); if(StringUtils.isNotBlank(olo.getDepNo())) params.put("depNo", olo.getDepNo()); if(StringUtils.isNotBlank(olo.getSuperId())) params.put("superId", olo.getSuperId()); if(StringUtils.isNotBlank(olo.getRemarks())) params.put("remarks", olo.getRemarks()); if(StringUtils.isNotBlank(olo.getStatus())) params.put("status", olo.getStatus()); return params; } @Override public List selectSuperId() { return organizationManagementMapper.selectSuperId(); } /** * XXIn form 提交 ,bo包中 * xxOut 输出 bo包中 * domain 类 model中 * */ @Override public int addOrganization(String name, String managerId, String type, String superId, String remarks) { String id = UUID.randomUUID().toString(); Date now = new Date(); OrganizationManagement om=new OrganizationManagement(); om.setId(id); String createId =organizationManagementMapper.selectAdminNameById(TokenManager.getAdminId()); om.setCreateId(createId); om.setCreateTime(now); om.setUpdateTime(now); om.setDeletedSign("0"); om.setName(name); om.setType(type); om.setManagerId(managerId); String sdepNo=organizationManagementMapper.selectDepNoByName(superId); int Count=organizationManagementMapper.selectDepNoCount(superId); if(Count<10){ String dep=sdepNo+"0"+Count; String sid=organizationManagementMapper.selectIdByDepNo(dep); while(sid!=null){ Count=Count+1; if(Count>=10){ dep=sdepNo+Count; }else{ dep=sdepNo+"0"+Count; } sid=organizationManagementMapper.selectIdByDepNo(dep); } om.setDepNo(dep); } if(Count>=10){ String dep=sdepNo+Count; String sid=organizationManagementMapper.selectIdByDepNo(dep); while(sid!=null){ Count=Count+1; dep=sdepNo+Count; sid=organizationManagementMapper.selectIdByDepNo(dep); } om.setDepNo(dep); } om.setSuperId(superId); om.setRemarks(remarks); om.setStatus("0"); organizationManagementMapper.insert(om); return 1; } @Override public List selectName(String name) { List list=organizationManagementMapper.selectName(name); return list; } @Override public OrganizationListOut selectAllById(String id) { OrganizationListOut olo=organizationManagementMapper.selectAllById(id); return olo; } @Override public int deleteById(String id) { organizationManagementMapper.deleteById(id); return 1; } @Override public int updateOrganization(String name, String type, String managerId, String superId, String status, String remarks,String id) { Date now=new Date(); OrganizationManagement om=new OrganizationManagement(); om.setName(name); om.setType(type); om.setUpdateTime(now); om.setManagerId(managerId); om.setSuperId(superId); String sdepNo=organizationManagementMapper.selectDepNoByName(superId); int Count=organizationManagementMapper.selectDepNoCount(superId); if(Count<10){ String dep=sdepNo+"0"+Count; String sid=organizationManagementMapper.selectIdByDepNo(dep); while(sid!=null){ Count=Count+1; if(Count>=10){ dep=sdepNo+Count; }else{ dep=sdepNo+"0"+Count; } sid=organizationManagementMapper.selectIdByDepNo(dep); } om.setDepNo(dep); } if(Count>=10){ String dep=sdepNo+Count; String sid=organizationManagementMapper.selectIdByDepNo(dep); while(sid!=null){ Count=Count+1; dep=sdepNo+Count; sid=organizationManagementMapper.selectIdByDepNo(dep); } om.setDepNo(dep); } om.setStatus(status); om.setRemarks(remarks); om.setId(id); organizationManagementMapper.updateByPrimaryKeySelective(om); //*******下级编号修改 int n=0; List Nos =organizationManagementMapper.selectIDNBySuperId(name); for(OrganizationListOut i:Nos){ sdepNo=organizationManagementMapper.selectDepNoByName(i.getSuperId()); if(n<10){ String dep=sdepNo+"0"+n; if(n>=10){ dep=sdepNo+n; }else{ dep=sdepNo+"0"+n; } i.setDepNo(dep); } if(n>=10){ String dep=sdepNo+n; dep=sdepNo+n; i.setDepNo(dep); } organizationManagementMapper.updateByNumber(i); n++; } return 1; } }