TOrganizationServiceImpl.java 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. package com.ruoyi.business.service.impl;
  2. import java.util.List;
  3. import java.util.Objects;
  4. import com.ruoyi.business.domain.BizDevice;
  5. import com.ruoyi.business.mapper.BizDeviceMapper;
  6. import com.ruoyi.business.mapper.SysRegionMapper;
  7. import com.ruoyi.common.utils.DateUtils;
  8. import com.ruoyi.common.utils.SecurityUtils;
  9. import com.ruoyi.common.utils.StringUtils;
  10. import com.ruoyi.system.mapper.SysUserMapper;
  11. import org.apache.commons.collections4.CollectionUtils;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.stereotype.Service;
  14. import com.ruoyi.business.mapper.TOrganizationMapper;
  15. import com.ruoyi.business.domain.TOrganization;
  16. import com.ruoyi.business.service.ITOrganizationService;
  17. /**
  18. * 机构管理Service业务层处理
  19. *
  20. * @author ruoyi
  21. * @date 2025-03-06
  22. */
  23. @Service
  24. public class TOrganizationServiceImpl implements ITOrganizationService
  25. {
  26. @Autowired
  27. private TOrganizationMapper tOrganizationMapper;
  28. @Autowired
  29. private BizDeviceMapper bizDeviceMapper;
  30. @Autowired
  31. private SysRegionMapper sysRegionMapper;
  32. @Autowired
  33. private SysUserMapper sysUserMapper;
  34. /**
  35. * 查询机构管理
  36. *
  37. * @param id 机构管理主键
  38. * @return 机构管理
  39. */
  40. @Override
  41. public TOrganization selectTOrganizationById(Long id)
  42. {
  43. TOrganization organization = tOrganizationMapper.selectTOrganizationById(id);
  44. if(!Objects.isNull(organization))
  45. this.addExtra(organization);
  46. return organization;
  47. }
  48. /**
  49. * 额外返回统计信息
  50. * @param organization
  51. */
  52. private void addExtra(TOrganization organization) {
  53. Long id = organization.getId();
  54. //处理连续检测设备总数 实验室设备总数
  55. organization.setLxjcCounts(bizDeviceMapper.selectChildDeviceCountsByType(id, "2"));
  56. organization.setRobotCounts(bizDeviceMapper.selectChildDeviceCountsByType(id, "1"));
  57. //处理省市区名字
  58. organization.setProvinceName(this.sysRegionMapper.selectNameByCode(organization.getProvinceCode()));
  59. organization.setCityName(this.sysRegionMapper.selectNameByCode(organization.getCityCode()));
  60. organization.setCountryName(this.sysRegionMapper.selectNameByCode(organization.getCountryCode()));
  61. //2025年03月13日11:16:04 额外返回创建人和编辑人对象
  62. String createBy = organization.getCreateBy();
  63. String updateBy = organization.getUpdateBy();
  64. if(StringUtils.isNotBlank(createBy))
  65. organization.setCreateUser(this.sysUserMapper.selectUserById(Long.valueOf(createBy)));
  66. if(StringUtils.isNotBlank(updateBy))
  67. organization.setUpdateUser(this.sysUserMapper.selectUserById(Long.valueOf(updateBy)));
  68. //如果是集团,获取下面的所有的水厂列表
  69. Integer type = organization.getType();
  70. if(0 == type){
  71. //2025年03月12日16:32:31 下面的水厂也要获取省市区 和 设备信息
  72. List<TOrganization> tOrganizations = this.tOrganizationMapper.selectTOrganizationList(TOrganization.builder().parentId(id).build());
  73. if(!CollectionUtils.isEmpty(tOrganizations)){
  74. for (TOrganization tOrganization : tOrganizations) {
  75. tOrganization.setLxjcCounts(bizDeviceMapper.selectBizDeviceList(BizDevice.builder().deviceWorks(tOrganization.getId()).type("2").build()).size());
  76. tOrganization.setRobotCounts(bizDeviceMapper.selectBizDeviceList(BizDevice.builder().deviceWorks(tOrganization.getId()).type("1").build()).size());
  77. //处理省市区名字
  78. tOrganization.setProvinceName(this.sysRegionMapper.selectNameByCode(tOrganization.getProvinceCode()));
  79. tOrganization.setCityName(this.sysRegionMapper.selectNameByCode(tOrganization.getCityCode()));
  80. tOrganization.setCountryName(this.sysRegionMapper.selectNameByCode(tOrganization.getCountryCode()));
  81. //2025年03月13日11:16:04 额外返回创建人和编辑人对象
  82. createBy = tOrganization.getCreateBy();
  83. updateBy = tOrganization.getUpdateBy();
  84. if(StringUtils.isNotBlank(createBy))
  85. tOrganization.setCreateUser(this.sysUserMapper.selectUserById(Long.valueOf(createBy)));
  86. if(StringUtils.isNotBlank(updateBy))
  87. tOrganization.setUpdateUser(this.sysUserMapper.selectUserById(Long.valueOf(updateBy)));
  88. }
  89. }
  90. organization.setChildren(tOrganizations);
  91. }
  92. }
  93. /**
  94. * 查询机构管理列表
  95. *
  96. * @param tOrganization 机构管理
  97. * @return 机构管理
  98. */
  99. @Override
  100. public List<TOrganization> selectTOrganizationList(TOrganization tOrganization)
  101. {
  102. List<TOrganization> tOrganizations = tOrganizationMapper.selectTOrganizationList(tOrganization);
  103. if(!CollectionUtils.isEmpty(tOrganizations)){
  104. for (TOrganization organization : tOrganizations) {
  105. this.addExtra(organization);
  106. }
  107. }
  108. return tOrganizations;
  109. }
  110. /**
  111. * 新增机构管理
  112. *
  113. * @param tOrganization 机构管理
  114. * @return 结果
  115. */
  116. @Override
  117. public int insertTOrganization(TOrganization tOrganization)
  118. {
  119. tOrganization.setCreateTime(DateUtils.getNowDate());
  120. //存放的是用户ID
  121. tOrganization.setCreateBy(String.valueOf(SecurityUtils.getUserId()));
  122. return tOrganizationMapper.insertTOrganization(tOrganization);
  123. }
  124. /**
  125. * 修改机构管理
  126. *
  127. * @param tOrganization 机构管理
  128. * @return 结果
  129. */
  130. @Override
  131. public int updateTOrganization(TOrganization tOrganization)
  132. {
  133. tOrganization.setUpdateTime(DateUtils.getNowDate());
  134. //存放的是用户ID
  135. tOrganization.setUpdateBy(String.valueOf(SecurityUtils.getUserId()));
  136. return tOrganizationMapper.updateTOrganization(tOrganization);
  137. }
  138. /**
  139. * 批量删除机构管理
  140. *
  141. * @param ids 需要删除的机构管理主键
  142. * @return 结果
  143. */
  144. @Override
  145. public int deleteTOrganizationByIds(Long[] ids)
  146. {
  147. return tOrganizationMapper.deleteTOrganizationByIds(ids);
  148. }
  149. /**
  150. * 删除机构管理信息
  151. *
  152. * @param id 机构管理主键
  153. * @return 结果
  154. */
  155. @Override
  156. public int deleteTOrganizationById(Long id)
  157. {
  158. return tOrganizationMapper.deleteTOrganizationById(id);
  159. }
  160. }