OrganizationServiceImpl.java 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  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 hideSign) {
  52. List<OrganizationListOut> depList=departmentMapper.selectSuperId(hideSign);
  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.setHideSign(hideSign);
  82. dep.setWorkingHoursType(workingHoursType);
  83. departmentMapper.insertSelective(dep);
  84. return 1;
  85. }
  86. @Override
  87. public List<AdminListBo> selectName(String name) {
  88. List<AdminListBo> list=departmentMapper.selectName(name);
  89. return list;
  90. }
  91. @Override
  92. public OrganizationListOut selectAllById(String id) {
  93. OrganizationListOut olo=departmentMapper.selectAllById(id);
  94. olo.setSuperId(departmentMapper.selectNameById(olo.getSuperId()));
  95. return olo;
  96. }
  97. @Override
  98. public int deleteById(String id) {
  99. departmentMapper.deleteById(id);
  100. return 1;
  101. }
  102. @Override
  103. public int updateOrganization(String name, String type, String managerId, String superId, String status,Integer province,
  104. String remarks,String id,String sdepNo,Integer count,String abbreviation,String financeId,Integer workingHoursType,Integer hideSign) {
  105. String deps = countDepNo(sdepNo,count);
  106. Date now=new Date();
  107. Department dep=new Department();
  108. dep.setName(name);
  109. dep.setType(type);
  110. dep.setUpdateTime(now);
  111. dep.setManagerId(managerId);
  112. dep.setDepNo(deps);
  113. dep.setSuperId(superId);
  114. dep.setStatus(status);
  115. dep.setRemarks(remarks);
  116. dep.setId(id);
  117. dep.setAbbreviation(abbreviation);
  118. dep.setFinanceId(financeId);
  119. dep.setProvince(province);
  120. dep.setHideSign(hideSign);
  121. dep.setWorkingHoursType(workingHoursType);
  122. tOrderMidMapper.updateFinanceId(id,financeId);
  123. int x=departmentMapper.updateByPrimaryKeySelective(dep);
  124. updateLowerLevelNo(dep.getId(),dep.getDepNo());
  125. return x;
  126. }
  127. private String countDepNo(String sdepNo, Integer count) {
  128. String dep=null;
  129. if(count<10){
  130. dep=sdepNo+"0"+count;
  131. String sid=departmentMapper.selectIdByDepNo(dep);
  132. while(sid!=null){
  133. count=(count+1)%100;
  134. if(count>=10){
  135. dep=sdepNo+count;
  136. }else{
  137. dep=sdepNo+"0"+count;
  138. }
  139. sid=departmentMapper.selectIdByDepNo(dep);
  140. }
  141. }else if(count>=10){
  142. dep=sdepNo+count;
  143. String sid=departmentMapper.selectIdByDepNo(dep);
  144. while(sid!=null){
  145. count=(count+1)%100;
  146. dep=sdepNo+count;
  147. sid=departmentMapper.selectIdByDepNo(dep);
  148. }
  149. }
  150. return dep;
  151. }
  152. private void updateLowerLevelNo(String id,String depNo) {
  153. List<OrganizationListOut> Nos =departmentMapper.selectIDNBySuperId(id);
  154. int i=1;
  155. for (OrganizationListOut o : Nos) {
  156. if(i<10){
  157. String dep=depNo+"0"+i;
  158. if(i>=10){
  159. dep=depNo+i;
  160. }else{
  161. dep=depNo+"0"+i;
  162. }
  163. o.setDepNo(dep);
  164. } else if(i>=10){
  165. String dep=depNo+i;
  166. dep=depNo+i;
  167. o.setDepNo(dep);
  168. }
  169. departmentMapper.updateByNumber(o);
  170. updateLowerLevelNo(o.getId(),o.getDepNo());
  171. i++;
  172. }
  173. }
  174. }