InstitutionImpl.java 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  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.filter.exception.BaseException;
  5. import com.hz.employmentsite.mapper.PcInstitutionMapper;
  6. import com.hz.employmentsite.mapper.PcSiteInstitutionMapper;
  7. import com.hz.employmentsite.mapper.cquery.InstitutionCQuery;
  8. import com.hz.employmentsite.mapper.cquery.SiteInstitutionCQuery;
  9. import com.hz.employmentsite.model.*;
  10. import com.hz.employmentsite.services.service.baseSettings.InstitutionService;
  11. import com.hz.employmentsite.util.StringUtils;
  12. import com.hz.employmentsite.vo.baseSettings.InstitutionVo;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.stereotype.Service;
  15. import java.util.ArrayList;
  16. import java.util.Date;
  17. import java.util.List;
  18. import java.util.UUID;
  19. @Service("InstitutionService")
  20. public class InstitutionImpl implements InstitutionService {
  21. @Autowired
  22. private StringUtils stringUtils;
  23. @Autowired
  24. private PcInstitutionMapper pcInstitutionMapper;
  25. @Autowired
  26. private PcSiteInstitutionMapper pcSiteInstitutionMapper;
  27. @Autowired
  28. private InstitutionCQuery institutionCQuery;
  29. @Autowired
  30. private SiteInstitutionCQuery siteInstitutionCQuery;
  31. @Override
  32. public PageInfo<InstitutionVo> getList(int pageIndex, int pageSize, List<String> institutionIDList, String companyName, String companyAddress, String dutyUserName) {
  33. PageHelper.startPage(pageIndex, pageSize);
  34. List<InstitutionVo> dataList = institutionCQuery.getList(stringUtils.ListToInSql(institutionIDList),companyName,companyAddress,dutyUserName);
  35. PageInfo<InstitutionVo> result = new PageInfo(dataList);
  36. return result;
  37. }
  38. @Override
  39. public InstitutionVo get(String institutionID) {
  40. List<String> ids = new ArrayList<>();
  41. if (stringUtils.IsNullOrEmpty(institutionID)) {
  42. return null;
  43. }else{
  44. ids.add(institutionID);
  45. }
  46. InstitutionVo model = institutionCQuery.getList(stringUtils.ListToInSql(ids),null,null ,null).stream().findFirst().orElse(null);
  47. return model;
  48. }
  49. @Override
  50. public List<SelectProps> getDataList() {
  51. var dataList = getList(1,99999,null,null,null,null).getList();
  52. List<SelectProps> dataResult = new ArrayList<>();
  53. for (var item: dataList) {
  54. SelectProps itemResult = new SelectProps();
  55. itemResult.setText(item.companyName);
  56. itemResult.setValue(item.institutionID);
  57. dataResult.add(itemResult);
  58. }
  59. return dataResult;
  60. }
  61. @Override
  62. public Integer save(InstitutionVo data, String userId) {
  63. int result = 0;
  64. InstitutionVo record = get(data.institutionID);
  65. PcInstitution dbData = record ==null ? null : pcInstitutionMapper.selectByPrimaryKey(record.institutionID);
  66. Boolean isExist = dbData != null;
  67. if (!isExist) {
  68. //添加
  69. dbData = new PcInstitution();
  70. dbData.setInstitutionID(data.getInstitutionID());
  71. dbData.setCompanyCode(data.getCompanyCode());
  72. dbData.setCompanyName(data.getCompanyName());
  73. dbData.setCompanyAddress(data.getCompanyAddress());
  74. dbData.setFzrName(data.getFzrName());
  75. dbData.setFzrMobile(data.getFzrMobile());
  76. dbData.setFrName(data.getFrName());
  77. dbData.setFrMobile(data.getFrMobile());
  78. dbData.setCompanyDesc(data.getCompanyDesc());
  79. dbData.setRemark(data.getRemark());
  80. dbData.setCreateUserID(userId);
  81. dbData.setCreateTime(new Date());
  82. dbData.setSignInPoliticalArea(data.getSignInPoliticalArea());
  83. dbData.setValidDate(data.getValidDate());
  84. dbData.setEconomicTypeID(data.getEconomicTypeID());
  85. result = pcInstitutionMapper.insert(dbData);
  86. } else {
  87. //修改
  88. dbData.setCompanyCode(data.companyCode);
  89. dbData.setCompanyName(data.companyName);
  90. dbData.setCompanyAddress(data.companyAddress);
  91. dbData.setFzrName(data.fzrName);
  92. dbData.setFzrMobile(data.fzrMobile);
  93. dbData.setFrName(data.frName);
  94. dbData.setFrMobile(data.frMobile);
  95. dbData.setCompanyDesc(data.companyDesc);
  96. dbData.setRemark(data.remark);
  97. dbData.setModifyUserID(userId);
  98. dbData.setModifyTime(new Date());
  99. dbData.setSignInPoliticalArea(data.signInPoliticalArea);
  100. dbData.setValidDate(data.getValidDate());
  101. dbData.setEconomicTypeID(data.getEconomicTypeID());
  102. result = pcInstitutionMapper.updateByPrimaryKey(dbData);
  103. }
  104. /*先删除所有关联数据,再添加*/
  105. var allExistData = siteInstitutionCQuery.getListByInstitutionID(data.getInstitutionID());
  106. if (allExistData != null && allExistData.size() > 0){
  107. for(PcSiteInstitution curLinkData : allExistData) {
  108. var siteInstitutionID = curLinkData.getSiteInstitutionID();
  109. result += pcSiteInstitutionMapper.deleteByPrimaryKey(siteInstitutionID);
  110. }
  111. }
  112. if (data.manageSites.size()>0){
  113. var manageSites = data.manageSites.stream().toList();
  114. for (var curData: manageSites) {
  115. PcSiteInstitution curLinkData = new PcSiteInstitution();
  116. curLinkData.setSiteInstitutionID(UUID.randomUUID().toString());
  117. curLinkData.setSiteID(curData.siteID);
  118. curLinkData.setInstitutionID(data.institutionID);
  119. curLinkData.setCreateUserID(userId);
  120. curLinkData.setCreateTime(new Date());
  121. curLinkData.setModifyUserID(userId);
  122. curLinkData.setModifyTime(new Date());
  123. result += pcSiteInstitutionMapper.insert(curLinkData);
  124. }
  125. }
  126. return result;
  127. }
  128. @Override
  129. public Integer delete(List<String> idList){
  130. int result = 0;
  131. for (String curInstitutionID: idList) {
  132. PcSiteInstitutionExample siteInstitutionExp = new PcSiteInstitutionExample();
  133. siteInstitutionExp.or().andInstitutionIDEqualTo(curInstitutionID);
  134. var curInstitutionSiteList = pcSiteInstitutionMapper.selectByExample(siteInstitutionExp).stream().toList();
  135. if( curInstitutionSiteList != null && curInstitutionSiteList.size()>0){
  136. throw new BaseException("10004","所选机构已有关联站点信息,不允许删除!");
  137. }else{
  138. PcInstitutionExample contactExample = new PcInstitutionExample();
  139. contactExample.or().andInstitutionIDEqualTo(curInstitutionID);
  140. pcInstitutionMapper.deleteByExample(contactExample);
  141. result += pcInstitutionMapper.deleteByExample(contactExample);
  142. }
  143. }
  144. return result;
  145. }
  146. }