SiteInfoImpl.java 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. package com.hz.employmentsite.services.impl.baseSettings;
  2. import com.github.pagehelper.PageHelper;
  3. import com.github.pagehelper.PageInfo;
  4. import com.hz.employmentsite.mapper.PcSiteMapper;
  5. import com.hz.employmentsite.mapper.PcSiteInstitutionMapper;
  6. import com.hz.employmentsite.mapper.PcSiteUserMapper;
  7. import com.hz.employmentsite.mapper.cquery.SiteInfoCQuery;
  8. import com.hz.employmentsite.mapper.cquery.SiteInstitutionCQuery;
  9. import com.hz.employmentsite.model.*;
  10. import com.hz.employmentsite.services.service.baseSettings.SiteInfoService;
  11. import com.hz.employmentsite.util.StringUtils;
  12. import com.hz.employmentsite.vo.baseSettings.SiteInfoVo;
  13. import com.hz.employmentsite.vo.baseSettings.SiteUserVo;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.stereotype.Service;
  16. import java.util.ArrayList;
  17. import java.util.Date;
  18. import java.util.List;
  19. import java.util.UUID;
  20. @Service("SiteInfoService")
  21. public class SiteInfoImpl implements SiteInfoService {
  22. @Autowired
  23. private SiteInfoCQuery siteInfoCQuery;
  24. @Autowired
  25. private SiteInstitutionCQuery siteInstitutionCQuery;
  26. @Autowired
  27. private StringUtils stringUtils;
  28. @Autowired
  29. private PcSiteMapper pcSiteMapper;
  30. @Autowired
  31. private PcSiteUserMapper pcSiteUserMapper;
  32. @Autowired
  33. private PcSiteInstitutionMapper pcSiteInstitutionMapper;
  34. @Override
  35. public PageInfo<SiteInfoVo> getList(int pageIndex, int pageSize, List<String> siteIDList, String siteCode, String siteName, String institutionName, String regionCode, String streetCode) {
  36. PageHelper.startPage(pageIndex, pageSize);
  37. List<SiteInfoVo> dataList = siteInfoCQuery.getList(stringUtils.ListToInSql(siteIDList),siteCode,siteName,institutionName,regionCode,streetCode);
  38. PageInfo<SiteInfoVo> result = new PageInfo(dataList);
  39. return result;
  40. }
  41. @Override
  42. public List<SelectProps> getDataList() {
  43. var dataList = getList(1,99999,null,null,null,null,null,null).getList();
  44. List<SelectProps> dataResult = new ArrayList<>();
  45. for (var item: dataList) {
  46. SelectProps itemResult = new SelectProps();
  47. itemResult.setText(item.siteName);
  48. itemResult.setValue(item.siteID);
  49. dataResult.add(itemResult);
  50. }
  51. return dataResult;
  52. }
  53. @Override
  54. public PageInfo<SiteInfoVo> getListByInstitutionID(int pageIndex, int pageSize, String institutionID) {
  55. PageHelper.startPage(pageIndex, pageSize);
  56. List<SiteInfoVo> dataList = siteInfoCQuery.getListByInstitutionID(institutionID);
  57. PageInfo<SiteInfoVo> result = new PageInfo(dataList);
  58. return result;
  59. }
  60. @Override
  61. public SiteInfoVo get(String siteID) {
  62. List<String> ids = new ArrayList<>();
  63. ids.add(siteID);
  64. SiteInfoVo model = siteInfoCQuery.getList(stringUtils.ListToInSql(ids),null,null ,null,null,null).stream().findFirst().orElse(null);
  65. return model;
  66. }
  67. @Override
  68. public Integer save(SiteInfoVo data, String userId) {
  69. int result = 0;
  70. SiteInfoVo record = get(data.siteID);
  71. PcSite dbData = record == null ? null : pcSiteMapper.selectByPrimaryKey(record.siteID);
  72. Boolean isExist = dbData != null;
  73. if (!isExist) {
  74. //添加
  75. dbData = new PcSite();
  76. dbData.setSiteID(data.getSiteID());
  77. dbData.setSiteCode(data.getSiteCode());
  78. dbData.setSiteName(data.getSiteName());
  79. dbData.setFzrName(data.getFzrName());
  80. dbData.setFzrMobile(data.getFzrMobile());
  81. dbData.setSiteX(data.getSiteX());
  82. dbData.setSiteY(data.getSiteY());
  83. dbData.setDetailAddress(data.getDetailAddress());
  84. dbData.setRegionCode(data.getRegionCode());
  85. dbData.setStreetCode(data.getStreetCode());
  86. dbData.setCreateUserID(userId);
  87. dbData.setCreateTime(new Date());
  88. result = pcSiteMapper.insert(dbData);
  89. } else {
  90. //修改
  91. dbData.setSiteID(data.siteID);
  92. dbData.setSiteCode(data.siteCode);
  93. dbData.setSiteName(data.siteName);
  94. dbData.setFzrName(data.fzrName);
  95. dbData.setFzrMobile(data.fzrMobile);
  96. dbData.setSiteX(data.siteX);
  97. dbData.setSiteY(data.siteY);
  98. dbData.setDetailAddress(data.detailAddress);
  99. dbData.setRegionCode(data.regionCode);
  100. dbData.setStreetCode(data.streetCode);
  101. dbData.setModifyUserID(userId);
  102. dbData.setModifyTime(new Date());
  103. result = pcSiteMapper.updateByPrimaryKey(dbData);
  104. }
  105. /*修改驿站站点信息:先删除所有关联数据,再添加*/
  106. var allExistData = siteInstitutionCQuery.getListBySiteID(data.getSiteID());
  107. if (allExistData != null && allExistData.size() > 0){
  108. for(PcSiteInstitution curLinkData : allExistData) {
  109. var siteInstitutionID = curLinkData.getSiteInstitutionID();
  110. result += pcSiteInstitutionMapper.deleteByPrimaryKey(siteInstitutionID);
  111. }
  112. }
  113. if (!stringUtils.IsNullOrEmpty(data.institutionID)){
  114. PcSiteInstitution insertLinkData = new PcSiteInstitution();
  115. insertLinkData.setSiteInstitutionID(UUID.randomUUID().toString());
  116. insertLinkData.setSiteID(data.getSiteID());
  117. insertLinkData.setInstitutionID(data.getInstitutionID());
  118. insertLinkData.setCreateTime(new Date());
  119. insertLinkData.setCreateUserID(userId);
  120. result += pcSiteInstitutionMapper.insert(insertLinkData);
  121. }
  122. /*修改站点人员信息*/
  123. if(data.manageUsers.size() > 0){
  124. List<SiteUserVo> manageUsers = data.manageUsers.stream().toList();
  125. for (var curData: manageUsers) {
  126. PcSiteUser curUserData = pcSiteUserMapper.selectByPrimaryKey(curData.getSiteUserID());
  127. curUserData.setSiteID(curData.getSiteID());
  128. curUserData.setUpdateBy(userId);
  129. curUserData.setUpdateTime(new Date());
  130. result += pcSiteUserMapper.updateByPrimaryKey(curUserData);
  131. }
  132. }
  133. return result;
  134. }
  135. @Override
  136. public Integer delete(List<String> idList){
  137. PcSiteExample contactExample = new PcSiteExample();
  138. contactExample.or().andSiteIDIn(idList);
  139. pcSiteMapper.deleteByExample(contactExample);
  140. return pcSiteMapper.deleteByExample(contactExample);
  141. }
  142. }