PropertyRepairServiceImpl.java 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. package com.ruoyi.system.service.impl;
  2. import com.ruoyi.common.core.domain.AjaxResult;
  3. import com.ruoyi.common.core.domain.entity.StaffManage;
  4. import com.ruoyi.common.utils.DateUtils;
  5. import com.ruoyi.system.domain.propertyRepair.PropertyRepair;
  6. import com.ruoyi.system.mapper.PropertyRepairMapper;
  7. import com.ruoyi.system.mapper.StaffManageMapper;
  8. import com.ruoyi.system.service.IPropertyRepairService;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.stereotype.Service;
  11. import java.util.ArrayList;
  12. import java.util.HashMap;
  13. import java.util.List;
  14. import java.util.Map;
  15. import static com.ruoyi.common.constant.Constants.*;
  16. /**
  17. * 物业报修Service业务层处理
  18. *
  19. * @author boman
  20. * @date 2025-02-14
  21. */
  22. @Service
  23. public class PropertyRepairServiceImpl implements IPropertyRepairService
  24. {
  25. @Autowired
  26. private PropertyRepairMapper propertyRepairMapper;
  27. @Autowired
  28. private StaffManageMapper staffManageMapper;
  29. /**
  30. * 查询物业报修
  31. *
  32. * @param repairId 物业报修主键
  33. * @return 物业报修
  34. */
  35. @Override
  36. public PropertyRepair selectPropertyRepairByRepairId(Long repairId)
  37. {
  38. return propertyRepairMapper.selectPropertyRepairByRepairId(repairId);
  39. }
  40. /**
  41. * 查询物业报修列表
  42. *
  43. * @param propertyRepair 物业报修
  44. * @return 物业报修
  45. */
  46. @Override
  47. public List<PropertyRepair> selectPropertyRepairList(PropertyRepair propertyRepair)
  48. {
  49. return propertyRepairMapper.selectPropertyRepairList(propertyRepair);
  50. }
  51. /**
  52. * 新增物业报修
  53. *
  54. * @param propertyRepair 物业报修
  55. * @return 结果
  56. */
  57. @Override
  58. public int insertPropertyRepair(PropertyRepair propertyRepair)
  59. {
  60. propertyRepair.setCreateTime(DateUtils.getNowDate());
  61. return propertyRepairMapper.insertPropertyRepair(propertyRepair);
  62. }
  63. /**
  64. * 修改物业报修
  65. *
  66. * @param propertyRepair 物业报修
  67. * @return 结果
  68. */
  69. @Override
  70. public int updatePropertyRepair(PropertyRepair propertyRepair)
  71. {
  72. propertyRepair.setUpdateTime(DateUtils.getNowDate());
  73. int i = propertyRepairMapper.updatePropertyRepair(propertyRepair);
  74. String repairStatus = propertyRepair.getRepairStatus();
  75. if (FOR.equals(repairStatus)){
  76. //判断如果维修完成,把维修人员的状态改成空闲
  77. StaffManage staffManage = new StaffManage();
  78. staffManage.setStaffId(propertyRepair.getStaffId());
  79. staffManage.setStatus(ONE);
  80. staffManageMapper.updateStaffManage(staffManage);
  81. }
  82. return i;
  83. }
  84. /**
  85. * 指派物业报修人员
  86. */
  87. @Override
  88. public AjaxResult assign(PropertyRepair propertyRepair) {
  89. Long staffId = propertyRepair.getStaffId();
  90. StaffManage staffManageOld = staffManageMapper.selectStaffManageByStaffId(staffId);
  91. if (TWO.equals(staffManageOld.getStatus())){
  92. return AjaxResult.error("当前人员处于不在空闲状态无法指派");
  93. }
  94. //报修ID/维修人员姓名/维修人员ID/维修人员手机号
  95. int i = propertyRepairMapper.updatePropertyRepair(propertyRepair);
  96. //修改维修人员的状态
  97. if (i > 0){
  98. StaffManage staffManage = new StaffManage();
  99. staffManage.setStaffId(propertyRepair.getStaffId());
  100. staffManage.setStatus(TWO);
  101. staffManageMapper.updateStaffManage(staffManage);
  102. }
  103. return AjaxResult.success();
  104. }
  105. /**
  106. * 批量删除物业报修
  107. *
  108. * @param repairIds 需要删除的物业报修主键
  109. * @return 结果
  110. */
  111. @Override
  112. public int deletePropertyRepairByRepairIds(Long[] repairIds)
  113. {
  114. return propertyRepairMapper.deletePropertyRepairByRepairIds(repairIds);
  115. }
  116. /**
  117. * 删除物业报修信息
  118. *
  119. * @param repairId 物业报修主键
  120. * @return 结果
  121. */
  122. @Override
  123. public int deletePropertyRepairByRepairId(Long repairId)
  124. {
  125. return propertyRepairMapper.deletePropertyRepairByRepairId(repairId);
  126. }
  127. @Override
  128. public AjaxResult statisticsQx() {
  129. List<Object> mapList = new ArrayList<>();
  130. List<String> weekDays = DateUtils.getPreviousSevenDays(DateUtils.YYYY_MM_DD);
  131. String starTime = weekDays.get(0);
  132. String endTime = weekDays.get(weekDays.size()-1);
  133. mapList.add(weekDays);
  134. //查询两个日期内的保修数据
  135. List<PropertyRepair> propertyRepairs = propertyRepairMapper.selectPropertyRepairListByTime(starTime, endTime);
  136. List<Integer> numList = new ArrayList<>();
  137. for (int i = 0; i < weekDays.size(); i++) {
  138. int num = 0;
  139. for (PropertyRepair propertyRepair : propertyRepairs) {
  140. String day = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, propertyRepair.getRepairTime());
  141. if(day.equals(weekDays.get(i))){
  142. num++;
  143. }
  144. }
  145. numList.add(num);
  146. }
  147. mapList.add(numList);
  148. return AjaxResult.success(mapList);
  149. }
  150. }