b1e577341496df18adbf74b87e63f8d47901a1fb.svn-base 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. package cn.com.goldenwater.dcproj.service.impl.base;
  2. import cn.com.goldenwater.core.service.AbstractCrudService;
  3. import cn.com.goldenwater.dcproj.constValue.AdCodeLabel;
  4. import cn.com.goldenwater.dcproj.constValue.PersTypeEnum;
  5. import cn.com.goldenwater.dcproj.dao.AttPersBaseDao;
  6. import cn.com.goldenwater.dcproj.dao.RelPersInspgroupDao;
  7. import cn.com.goldenwater.dcproj.dto.AttPersGroupDto;
  8. import cn.com.goldenwater.dcproj.model.AttPersBase;
  9. import cn.com.goldenwater.dcproj.model.BisInspAll;
  10. import cn.com.goldenwater.dcproj.model.OlBisInspOrg;
  11. import cn.com.goldenwater.dcproj.model.RelPersInspgroup;
  12. import cn.com.goldenwater.dcproj.param.AttPersBaseParam;
  13. import cn.com.goldenwater.dcproj.service.AttPersBaseService;
  14. import cn.com.goldenwater.dcproj.service.BisInspAllService;
  15. import cn.com.goldenwater.dcproj.service.OlBisInspOrgService;
  16. import cn.com.goldenwater.dcproj.utils.DateUtils;
  17. import cn.com.goldenwater.dcproj.utils.TelUtil;
  18. import com.github.pagehelper.PageHelper;
  19. import com.github.pagehelper.PageInfo;
  20. import org.springframework.beans.factory.annotation.Autowired;
  21. import org.springframework.stereotype.Service;
  22. import org.springframework.transaction.annotation.Transactional;
  23. import org.springframework.util.StringUtils;
  24. import java.util.List;
  25. /**
  26. * @author lune
  27. * @date 2019-2-18
  28. */
  29. @Service
  30. @Transactional(rollbackFor = Exception.class)
  31. public class AttPersBaseServiceImpl extends AbstractCrudService<AttPersBase, AttPersBaseParam> implements AttPersBaseService {
  32. @Autowired
  33. private AttPersBaseDao attPersBaseDao;
  34. @Autowired
  35. private RelPersInspgroupDao relPersInspgroupDao;
  36. @Autowired
  37. private BisInspAllService bisInspAllService;
  38. public AttPersBaseServiceImpl(AttPersBaseDao attPersBaseDao) {
  39. super(attPersBaseDao);
  40. this.attPersBaseDao = attPersBaseDao;
  41. }
  42. @Override
  43. public List<AttPersGroupDto> findPerInGroup(String id) throws Exception {
  44. List<AttPersGroupDto> list = attPersBaseDao.findPerInGroup(id);
  45. return list;
  46. }
  47. @Override
  48. public AttPersGroupDto findPerDetailInGroup(String id) throws Exception {
  49. AttPersGroupDto att = attPersBaseDao.findPerDetailInGroup(id);
  50. return att;
  51. }
  52. @Override
  53. public PageInfo<AttPersBase> getListByGuidInspGroupIdName(String inspGroupId, String name, int pageIndex, int pageSize) {
  54. //设置分页
  55. PageHelper.startPage(pageIndex, pageSize);
  56. //处理namelike
  57. if (null != name) {
  58. name = AdCodeLabel.PRCENT_INIT_DATE + name + AdCodeLabel.PRCENT_INIT_DATE;
  59. }
  60. List<AttPersBase> list = attPersBaseDao.getListByGuidInspGroupIdName(inspGroupId, name);
  61. return new PageInfo<AttPersBase>(list);
  62. }
  63. @Override
  64. public PageInfo<AttPersBase> getListByGuid(String guid, int pageIndex, int pageSize) {
  65. //设置分页
  66. PageHelper.startPage(pageIndex, pageSize);
  67. AttPersBaseParam attPersBaseParam = new AttPersBaseParam();
  68. attPersBaseParam.setOrgGuid(guid);
  69. attPersBaseParam.setStatus(AdCodeLabel.INIT_STATUS);
  70. List<AttPersBase> list = attPersBaseDao.findList(attPersBaseParam);
  71. return new PageInfo<AttPersBase>(list);
  72. }
  73. @Override
  74. public PageInfo<AttPersBase> getListByGuidNotInspGroupId(String inspGroupId, String name, int pageIndex, int pageSize, String orgName, String guid, String numb, String orgId, String province) {
  75. //设置分页
  76. PageHelper.startPage(pageIndex, pageSize);
  77. List<AttPersBase> list = attPersBaseDao.getListByGuidNotInspGroupId(inspGroupId, name, guid, numb, orgId, orgName, province);
  78. PageInfo<AttPersBase> attPersBasePageInfo = new PageInfo<AttPersBase>(list);
  79. for (int i = 0; i < attPersBasePageInfo.getList().size(); i++) {
  80. String tel = attPersBasePageInfo.getList().get(i).getMobilenumb() == null ? AdCodeLabel.NULL_INIT_DATE : attPersBasePageInfo.getList().get(i).getMobilenumb().toString();
  81. if (!tel.equals(AdCodeLabel.NULL_INIT_DATE)) {
  82. attPersBasePageInfo.getList().get(i).setMobilenumb(TelUtil.getTel(tel));
  83. }
  84. //获取人员ID
  85. String persId = attPersBasePageInfo.getList().get(i).getGuid();
  86. //获取人员分配的组
  87. String dcWork = "";
  88. List<BisInspAll> bisInspAlls = bisInspAllService.getPersDcWork(persId);
  89. for (BisInspAll bisInspAll : bisInspAlls) {
  90. if (bisInspAll.getSttm() == null || bisInspAll.getEntm() == null) {
  91. dcWork += " 在组" + bisInspAll.getPnm() + " 中担任:" + getName(bisInspAll.getPertype()) + "\r\n";
  92. } else {
  93. dcWork += DateUtils.Date2Str(bisInspAll.getSttm()) + "至" + DateUtils.Date2Str(bisInspAll.getEntm()) + " 在组" + bisInspAll.getPnm() + " 中担任:" + getName(bisInspAll.getPertype()) + "\r\n";
  94. }
  95. }
  96. if (dcWork.length() > 0) {
  97. dcWork = dcWork.substring(0, dcWork.length() - 1);
  98. }
  99. //拼接组信息
  100. attPersBasePageInfo.getList().get(i).setDcWork(dcWork);
  101. }
  102. return attPersBasePageInfo;
  103. }
  104. public String getName(String perType) {
  105. String name = "";
  106. if (perType.equals("1")) {
  107. name = "组长";
  108. } else if (perType.equals("2")) {
  109. name = "组员";
  110. } else if (perType.equals("3")) {
  111. name = "专家";
  112. } else if (perType.equals("3")) {
  113. name = "联络员";
  114. }
  115. return name;
  116. }
  117. @Autowired
  118. private OlBisInspOrgService inspOrgService;
  119. @Override
  120. public int addManByInspGroupIdAndManId(String manIds, String inspGroupId, String mohurd, String orgId) {
  121. OlBisInspOrg olBisInspOrg = inspOrgService.get(orgId);
  122. //处理参数
  123. String adCode = olBisInspOrg.getRlcode();
  124. if (null != manIds && manIds.contains(AdCodeLabel.DOUHAO_SPLIT)) {
  125. String[] split = manIds.split(AdCodeLabel.DOUHAO_SPLIT);
  126. String[] mohs = mohurd == null ? AdCodeLabel.NULL_INIT_DATE.split(AdCodeLabel.DOUHAO_SPLIT) : mohurd.split(AdCodeLabel.DOUHAO_SPLIT);
  127. for (int i = 0; i < split.length; i++) {
  128. RelPersInspgroup relPersInspgroup = new RelPersInspgroup();
  129. if (StringUtils.isEmpty(mohs[i]) || AdCodeLabel.NULL_INIT_DATE_DESC.equals(mohs[i])) {
  130. relPersInspgroup.setInspPersType(AdCodeLabel.PERS_TYPE);
  131. } else {
  132. relPersInspgroup.setInspPersType(mohs[i]);
  133. }
  134. relPersInspgroup.setInspGroupId(inspGroupId);
  135. relPersInspgroup.setPersId(split[i]);
  136. if (!adCode.startsWith(AdCodeLabel.START_PARENT_ADCODE)) {
  137. relPersInspgroup.setAdCode(adCode);
  138. relPersInspgroup.setOrgId(orgId);
  139. }
  140. String type = Integer.parseInt(inspGroupId.substring(0, 3)) + "";
  141. relPersInspgroup.setType(type);
  142. relPersInspgroupDao.insertRelation(relPersInspgroup);
  143. }
  144. } else {
  145. RelPersInspgroup relPersInspgroup = new RelPersInspgroup();
  146. //1组长2组员
  147. if (StringUtils.isEmpty(mohurd) || AdCodeLabel.NULL_INIT_DATE_DESC.equals(mohurd)) {
  148. relPersInspgroup.setInspPersType(AdCodeLabel.PERS_TYPE);
  149. } else {
  150. relPersInspgroup.setInspPersType(mohurd);
  151. }
  152. if (!adCode.startsWith(AdCodeLabel.START_PARENT_ADCODE)) {
  153. relPersInspgroup.setAdCode(adCode);
  154. relPersInspgroup.setOrgId(orgId);
  155. }
  156. relPersInspgroup.setInspGroupId(inspGroupId);
  157. relPersInspgroup.setPersId(manIds);
  158. String type = Integer.parseInt(inspGroupId.substring(0, 3)) + "";
  159. relPersInspgroup.setType(type);
  160. relPersInspgroupDao.insertRelation(relPersInspgroup);
  161. }
  162. return 0;
  163. }
  164. @Override
  165. public AttPersBase getPers(String persId) {
  166. return attPersBaseDao.getPers(persId);
  167. }
  168. @Override
  169. public PageInfo<AttPersBase> getListByInspGroupId(String inspGroupId, int pageNum, int pageSize, String isAll, String persName, String province) {
  170. PageHelper.startPage(pageNum, pageSize);
  171. List<AttPersBase> list = attPersBaseDao.getByInspGroupId(inspGroupId, isAll, persName, province);
  172. PageInfo<AttPersBase> attPersBasePageInfo = new PageInfo<AttPersBase>(list);
  173. for (int i = 0; i < attPersBasePageInfo.getList().size(); i++) {
  174. String tel = attPersBasePageInfo.getList().get(i).getMobilenumb() == null ? AdCodeLabel.NULL_INIT_DATE : attPersBasePageInfo.getList().get(i).getMobilenumb().toString();
  175. if (!tel.equals(AdCodeLabel.NULL_INIT_DATE)) {
  176. if(org.apache.commons.lang3.StringUtils.isEmpty(attPersBasePageInfo.getList().get(i).getCallnumber()) ){
  177. attPersBasePageInfo.getList().get(i).setCallnumber(tel);
  178. }
  179. }
  180. }
  181. return attPersBasePageInfo;
  182. }
  183. @Override
  184. public List<AttPersBase> listByInspGroupId(String inspGroupId, String isAll, String persName, String province) {
  185. List<AttPersBase> list = attPersBaseDao.getByInspGroupId(inspGroupId, isAll, persName, province);
  186. for (AttPersBase attPersBase : list) {
  187. String tel = attPersBase.getMobilenumb() == null ? AdCodeLabel.NULL_INIT_DATE : attPersBase.getMobilenumb();
  188. if (!tel.equals(AdCodeLabel.NULL_INIT_DATE)) {
  189. attPersBase.setMobilenumb(TelUtil.getTel(tel));
  190. }
  191. }
  192. return list;
  193. }
  194. @Override
  195. public List<AttPersBase> getExpertListByInspGroupId(String inspGroupId, String province) {
  196. return attPersBaseDao.getExpertListByInspGroupId(inspGroupId, province);
  197. }
  198. }