| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182 |
- 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 com.goafanti.common.dao.DepartmentMapper;
- import com.goafanti.common.model.Department;
- 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.TOrderMidMapper;
- import com.goafanti.common.utils.StringUtils;
- import com.goafanti.core.mybatis.BaseMybatisDao;
- @Service
- public class OrganizationServiceImpl extends BaseMybatisDao<DepartmentMapper> implements OrganizationService {
- @Autowired
- private DepartmentMapper departmentMapper;
- @Autowired
- private TOrderMidMapper tOrderMidMapper;
- @Override
- public Pagination<OrganizationListOut> listOrganizationManagement(OrganizationListOut olo, Integer pageNo,
- Integer pageSize) {
- /*olo.setCreateId(TokenManager.getAdminId());*/
- Map<String,Object> params =disposeParams(olo);
- @SuppressWarnings("unchecked")
- Pagination<OrganizationListOut> p=(Pagination<OrganizationListOut>)findPage("selectOrganizationList","selectOrganizationCount",params,pageNo,pageSize);
- return p;
- }
- private Map<String,Object> disposeParams(OrganizationListOut olo){
- Map<String,Object> params = new HashMap<String, Object>();
- 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<OrganizationListOut> selectSuperId(Integer i) {
- List<OrganizationListOut> depList=departmentMapper.selectSuperId(i);
- return depList;
- }
- /**
- * XXIn form 提交 ,bo包中
- * xxOut 输出 bo包中
- * domain 类 model中
- *
- */
- @Override
- public int addOrganization( String name, String managerId, String type, String superId, String remarks,String sdepNo
- ,Integer count,Integer workingHoursType,Integer hideSign) {
- String id = UUID.randomUUID().toString();
- Date now = new Date();
- Department dep=new Department();
- dep.setId(id);
- String createId =departmentMapper.selectAdminNameById(TokenManager.getAdminId());
- dep.setCreateId(createId);
- dep.setCreateTime(now);
- dep.setUpdateTime(now);
- dep.setDeletedSign(0);
- dep.setName(name);
- dep.setType(type);
- dep.setManagerId(managerId);
- dep.setDepNo(countDepNo(sdepNo,count));
- // superId=departmentMapper.selectIdByName(superId);
- dep.setSuperId(superId);
- dep.setRemarks(remarks);
- dep.setStatus("0");
- dep.setWorkingHoursType(workingHoursType);
- departmentMapper.insertSelective(dep);
- return 1;
- }
- @Override
- public List<AdminListBo> selectName(String name) {
- List<AdminListBo> list=departmentMapper.selectName(name);
- return list;
- }
- @Override
- public OrganizationListOut selectAllById(String id) {
- OrganizationListOut olo=departmentMapper.selectAllById(id);
- olo.setSuperId(departmentMapper.selectNameById(olo.getSuperId()));
- return olo;
- }
- @Override
- public int deleteById(String id) {
- departmentMapper.deleteById(id);
- return 1;
- }
- @Override
- public int updateOrganization(String name, String type, String managerId, String superId, String status,Integer province,
- String remarks,String id,String sdepNo,Integer count,String abbreviation,String financeId,Integer workingHoursType,Integer hideSign) {
- String deps = countDepNo(sdepNo,count);
- Date now=new Date();
- Department dep=new Department();
- dep.setName(name);
- dep.setType(type);
- dep.setUpdateTime(now);
- dep.setManagerId(managerId);
- dep.setDepNo(deps);
- dep.setSuperId(superId);
- dep.setStatus(status);
- dep.setRemarks(remarks);
- dep.setId(id);
- dep.setAbbreviation(abbreviation);
- dep.setFinanceId(financeId);
- dep.setProvince(province);
- dep.setHideSign(hideSign);
- dep.setWorkingHoursType(workingHoursType);
- tOrderMidMapper.updateFinanceId(id,financeId);
- int x=departmentMapper.updateByPrimaryKeySelective(dep);
- updateLowerLevelNo(dep.getId(),dep.getDepNo());
- return x;
- }
- private String countDepNo(String sdepNo, Integer count) {
- String dep=null;
- if(count<10){
- dep=sdepNo+"0"+count;
- String sid=departmentMapper.selectIdByDepNo(dep);
- while(sid!=null){
- count=(count+1)%100;
- if(count>=10){
- dep=sdepNo+count;
- }else{
- dep=sdepNo+"0"+count;
- }
- sid=departmentMapper.selectIdByDepNo(dep);
- }
- }else if(count>=10){
- dep=sdepNo+count;
- String sid=departmentMapper.selectIdByDepNo(dep);
- while(sid!=null){
- count=(count+1)%100;
- dep=sdepNo+count;
- sid=departmentMapper.selectIdByDepNo(dep);
- }
- }
- return dep;
- }
- private void updateLowerLevelNo(String id,String depNo) {
- List<OrganizationListOut> Nos =departmentMapper.selectIDNBySuperId(id);
- int i=1;
- for (OrganizationListOut o : Nos) {
- if(i<10){
- String dep=depNo+"0"+i;
- if(i>=10){
- dep=depNo+i;
- }else{
- dep=depNo+"0"+i;
- }
- o.setDepNo(dep);
- } else if(i>=10){
- String dep=depNo+i;
- dep=depNo+i;
- o.setDepNo(dep);
- }
- departmentMapper.updateByNumber(o);
- updateLowerLevelNo(o.getId(),o.getDepNo());
- i++;
- }
- }
- }
|