OrganizationServiceImpl.java 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. package com.goafanti.organization.service.impl;
  2. import java.util.Date;
  3. import java.util.HashMap;
  4. import java.util.List;
  5. import java.util.Map;
  6. import java.util.UUID;
  7. import com.goafanti.common.dao.DepartmentMapper;
  8. import com.goafanti.common.model.Department;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.stereotype.Service;
  11. import com.goafanti.core.mybatis.page.Pagination;
  12. import com.goafanti.core.shiro.token.TokenManager;
  13. import com.goafanti.organization.bo.OrganizationListOut;
  14. import com.goafanti.organization.service.OrganizationService;
  15. import com.goafanti.admin.bo.AdminListBo;
  16. import com.goafanti.common.dao.TOrderMidMapper;
  17. import com.goafanti.common.utils.StringUtils;
  18. import com.goafanti.core.mybatis.BaseMybatisDao;
  19. @Service
  20. public class OrganizationServiceImpl extends BaseMybatisDao<DepartmentMapper> implements OrganizationService {
  21. @Autowired
  22. private DepartmentMapper departmentMapper;
  23. @Autowired
  24. private TOrderMidMapper tOrderMidMapper;
  25. @Override
  26. public Pagination<OrganizationListOut> listOrganizationManagement(OrganizationListOut olo, Integer pageNo,
  27. Integer pageSize) {
  28. /*olo.setCreateId(TokenManager.getAdminId());*/
  29. Map<String,Object> params =disposeParams(olo);
  30. @SuppressWarnings("unchecked")
  31. Pagination<OrganizationListOut> p=(Pagination<OrganizationListOut>)findPage("selectOrganizationList","selectOrganizationCount",params,pageNo,pageSize);
  32. return p;
  33. }
  34. private Map<String,Object> disposeParams(OrganizationListOut olo){
  35. Map<String,Object> params = new HashMap<String, Object>();
  36. if(StringUtils.isNotBlank(olo.getId())) params.put("id", olo.getId());
  37. if(StringUtils.isNotBlank(olo.getCreateId())) params.put("createId", olo.getCreateId());
  38. if(StringUtils.isNotBlank(olo.getCreateTime())) params.put("createTime", olo.getCreateTime());
  39. if(StringUtils.isNotBlank(olo.getUpdateTime())) params.put("updateTime", olo.getUpdateTime());
  40. if(StringUtils.isNotBlank(olo.getDeletedSign())) params.put("deletedSign", olo.getDeletedSign());
  41. if(StringUtils.isNotBlank(olo.getName())) params.put("name", olo.getName());
  42. if(StringUtils.isNotBlank(olo.getType())) params.put("type", olo.getType());
  43. if(StringUtils.isNotBlank(olo.getManagerId())) params.put("managerId", olo.getManagerId());
  44. if(StringUtils.isNotBlank(olo.getDepNo())) params.put("depNo", olo.getDepNo());
  45. if(StringUtils.isNotBlank(olo.getSuperId())) params.put("superId", olo.getSuperId());
  46. if(StringUtils.isNotBlank(olo.getRemarks())) params.put("remarks", olo.getRemarks());
  47. if(StringUtils.isNotBlank(olo.getStatus())) params.put("status", olo.getStatus());
  48. return params;
  49. }
  50. @Override
  51. public List<OrganizationListOut> selectSuperId(Integer i) {
  52. List<OrganizationListOut> depList=departmentMapper.selectSuperId(i);
  53. return depList;
  54. }
  55. /**
  56. * XXIn form 提交 ,bo包中
  57. * xxOut 输出 bo包中
  58. * domain 类 model中
  59. *
  60. */
  61. @Override
  62. public int addOrganization( String name, String managerId, String type, String superId, String remarks,String sdepNo
  63. ,Integer count,Integer workingHoursType,Integer hideSign) {
  64. String id = UUID.randomUUID().toString();
  65. Date now = new Date();
  66. Department dep=new Department();
  67. dep.setId(id);
  68. String createId =departmentMapper.selectAdminNameById(TokenManager.getAdminId());
  69. dep.setCreateId(createId);
  70. dep.setCreateTime(now);
  71. dep.setUpdateTime(now);
  72. dep.setDeletedSign(0);
  73. dep.setName(name);
  74. dep.setType(type);
  75. dep.setManagerId(managerId);
  76. dep.setDepNo(countDepNo(sdepNo,count));
  77. // superId=departmentMapper.selectIdByName(superId);
  78. dep.setSuperId(superId);
  79. dep.setRemarks(remarks);
  80. dep.setStatus("0");
  81. dep.setWorkingHoursType(workingHoursType);
  82. departmentMapper.insertSelective(dep);
  83. return 1;
  84. }
  85. @Override
  86. public List<AdminListBo> selectName(String name) {
  87. List<AdminListBo> list=departmentMapper.selectName(name);
  88. return list;
  89. }
  90. @Override
  91. public OrganizationListOut selectAllById(String id) {
  92. OrganizationListOut olo=departmentMapper.selectAllById(id);
  93. olo.setSuperId(departmentMapper.selectNameById(olo.getSuperId()));
  94. return olo;
  95. }
  96. @Override
  97. public int deleteById(String id) {
  98. departmentMapper.deleteById(id);
  99. return 1;
  100. }
  101. @Override
  102. public int updateOrganization(String name, String type, String managerId, String superId, String status,Integer province,
  103. String remarks,String id,String sdepNo,Integer count,String abbreviation,String financeId,Integer workingHoursType,Integer hideSign) {
  104. String deps = countDepNo(sdepNo,count);
  105. Date now=new Date();
  106. Department dep=new Department();
  107. dep.setName(name);
  108. dep.setType(type);
  109. dep.setUpdateTime(now);
  110. dep.setManagerId(managerId);
  111. dep.setDepNo(deps);
  112. dep.setSuperId(superId);
  113. dep.setStatus(status);
  114. dep.setRemarks(remarks);
  115. dep.setId(id);
  116. dep.setAbbreviation(abbreviation);
  117. dep.setFinanceId(financeId);
  118. dep.setProvince(province);
  119. dep.setHideSign(hideSign);
  120. dep.setWorkingHoursType(workingHoursType);
  121. tOrderMidMapper.updateFinanceId(id,financeId);
  122. int x=departmentMapper.updateByPrimaryKeySelective(dep);
  123. updateLowerLevelNo(dep.getId(),dep.getDepNo());
  124. return x;
  125. }
  126. private String countDepNo(String sdepNo, Integer count) {
  127. String dep=null;
  128. if(count<10){
  129. dep=sdepNo+"0"+count;
  130. String sid=departmentMapper.selectIdByDepNo(dep);
  131. while(sid!=null){
  132. count=(count+1)%100;
  133. if(count>=10){
  134. dep=sdepNo+count;
  135. }else{
  136. dep=sdepNo+"0"+count;
  137. }
  138. sid=departmentMapper.selectIdByDepNo(dep);
  139. }
  140. }else if(count>=10){
  141. dep=sdepNo+count;
  142. String sid=departmentMapper.selectIdByDepNo(dep);
  143. while(sid!=null){
  144. count=(count+1)%100;
  145. dep=sdepNo+count;
  146. sid=departmentMapper.selectIdByDepNo(dep);
  147. }
  148. }
  149. return dep;
  150. }
  151. private void updateLowerLevelNo(String id,String depNo) {
  152. List<OrganizationListOut> Nos =departmentMapper.selectIDNBySuperId(id);
  153. int i=1;
  154. for (OrganizationListOut o : Nos) {
  155. if(i<10){
  156. String dep=depNo+"0"+i;
  157. if(i>=10){
  158. dep=depNo+i;
  159. }else{
  160. dep=depNo+"0"+i;
  161. }
  162. o.setDepNo(dep);
  163. } else if(i>=10){
  164. String dep=depNo+i;
  165. dep=depNo+i;
  166. o.setDepNo(dep);
  167. }
  168. departmentMapper.updateByNumber(o);
  169. updateLowerLevelNo(o.getId(),o.getDepNo());
  170. i++;
  171. }
  172. }
  173. }