From 6c68c4fce2c2203ba34dcb9d75f138393ed15e35 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Wed, 27 Dec 2023 10:19:23 +0800
Subject: [PATCH] 报事报修步骤和评分表

---
 src/main/java/org/springblade/modules/grid/service/impl/GridmanServiceImpl.java                     |    6 ++
 src/main/java/org/springblade/modules/property/mapper/PropertyCompanyDistrictMapper.java            |    2 
 src/main/java/org/springblade/modules/grid/mapper/GridmanMapper.java                                |    3 +
 src/main/java/org/springblade/modules/property/service/IPropertyCompanyDistrictService.java         |    5 +
 src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyDistrictServiceImpl.java |    6 ++
 src/main/java/org/springblade/modules/property/mapper/PropertyCompanyDistrictMapper.xml             |   13 ++++
 src/main/java/org/springblade/modules/grid/service/IGridmanService.java                             |    3 +
 src/main/java/org/springblade/modules/task/service/impl/TaskReportForRepairsServiceImpl.java        |   25 ++++++++
 src/main/java/org/springblade/modules/grid/mapper/GridmanMapper.xml                                 |   13 ++++
 src/main/java/org/springblade/modules/task/vo/TaskReportForRepairsVO.java                           |    7 ++
 src/main/java/org/springblade/modules/grid/controller/GridmanController.java                        |   11 +++
 src/main/java/org/springblade/modules/task/service/ITaskReportForRepairsService.java                |    2 
 src/main/java/org/springblade/modules/task/entity/TaskRepairStepEntity.java                         |    2 
 src/main/java/org/springblade/modules/property/controller/PropertyCompanyDistrictController.java    |   10 +++
 src/main/java/org/springblade/modules/task/controller/TaskReportForRepairsController.java           |   13 ++++
 15 files changed, 119 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/springblade/modules/grid/controller/GridmanController.java b/src/main/java/org/springblade/modules/grid/controller/GridmanController.java
index 13d2f91..c78227c 100644
--- a/src/main/java/org/springblade/modules/grid/controller/GridmanController.java
+++ b/src/main/java/org/springblade/modules/grid/controller/GridmanController.java
@@ -175,5 +175,16 @@
 		return R.data(gridmanService.getGridStatistics(code,roleType));
 	}
 
+	/**
+	 *通过houseCode获取网格员
+	 * @param houseCode
+	 * @return
+	 */
+	@ApiOperation(value = "通过houseCode获取网格员", notes = "")
+	@GetMapping("/getGridManByCode")
+	public R getGridManByCode(@RequestParam("houseCode") String houseCode ) {
+		return R.data(gridmanService.getGridManByCode(houseCode));
+	}
+
 
 }
diff --git a/src/main/java/org/springblade/modules/grid/mapper/GridmanMapper.java b/src/main/java/org/springblade/modules/grid/mapper/GridmanMapper.java
index a33b415..b8fe153 100644
--- a/src/main/java/org/springblade/modules/grid/mapper/GridmanMapper.java
+++ b/src/main/java/org/springblade/modules/grid/mapper/GridmanMapper.java
@@ -17,6 +17,7 @@
 package org.springblade.modules.grid.mapper;
 
 import org.apache.ibatis.annotations.Param;
+import org.flowable.idm.engine.impl.persistence.entity.UserEntity;
 import org.springblade.modules.grid.entity.GridmanEntity;
 import org.springblade.modules.grid.vo.GridmanVO;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -65,4 +66,6 @@
 	 * @return
 	 */
     Integer getGridIdByUserId(@Param("userId") Long userId);
+
+    List<UserEntity> getGridManByCode(String houseCode);
 }
diff --git a/src/main/java/org/springblade/modules/grid/mapper/GridmanMapper.xml b/src/main/java/org/springblade/modules/grid/mapper/GridmanMapper.xml
index a6ed7cb..cce8d15 100644
--- a/src/main/java/org/springblade/modules/grid/mapper/GridmanMapper.xml
+++ b/src/main/java/org/springblade/modules/grid/mapper/GridmanMapper.xml
@@ -147,4 +147,17 @@
         and jgm.user_id = #{userId}
         limit 1
     </select>
+
+    <select id="getGridManByCode" resultType="org.flowable.idm.engine.impl.persistence.entity.UserEntity">
+
+        SELECT
+            *
+        FROM
+            blade_user bu
+                LEFT JOIN jczz_gridman jgm ON bu.id = jgm.user_id
+                LEFT JOIN jczz_grid jg ON jgm.grid_id = jg.id
+                LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
+        WHERE
+            jgr.house_code = #{houseCode}
+    </select>
 </mapper>
diff --git a/src/main/java/org/springblade/modules/grid/service/IGridmanService.java b/src/main/java/org/springblade/modules/grid/service/IGridmanService.java
index ca0b68b..a39dfb2 100644
--- a/src/main/java/org/springblade/modules/grid/service/IGridmanService.java
+++ b/src/main/java/org/springblade/modules/grid/service/IGridmanService.java
@@ -18,6 +18,7 @@
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.apache.ibatis.annotations.Param;
+import org.flowable.idm.engine.impl.persistence.entity.UserEntity;
 import org.springblade.modules.grid.entity.GridmanEntity;
 import org.springblade.modules.grid.excel.GridmanExcel;
 import org.springblade.modules.grid.vo.GridmanVO;
@@ -77,4 +78,6 @@
 	 * @return
 	 */
     Integer getGridIdByUserId(Long userId);
+
+	List<UserEntity> getGridManByCode(String houseCode);
 }
diff --git a/src/main/java/org/springblade/modules/grid/service/impl/GridmanServiceImpl.java b/src/main/java/org/springblade/modules/grid/service/impl/GridmanServiceImpl.java
index 3ab8f66..d078bda 100644
--- a/src/main/java/org/springblade/modules/grid/service/impl/GridmanServiceImpl.java
+++ b/src/main/java/org/springblade/modules/grid/service/impl/GridmanServiceImpl.java
@@ -19,6 +19,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.flowable.idm.engine.impl.persistence.entity.UserEntity;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.modules.grid.entity.GridEntity;
@@ -226,4 +227,9 @@
 	public Integer getGridIdByUserId(Long userId) {
 		return baseMapper.getGridIdByUserId(userId);
 	}
+
+	@Override
+	public List<UserEntity> getGridManByCode(String houseCode) {
+		return baseMapper.getGridManByCode(houseCode);
+	}
 }
diff --git a/src/main/java/org/springblade/modules/property/controller/PropertyCompanyDistrictController.java b/src/main/java/org/springblade/modules/property/controller/PropertyCompanyDistrictController.java
index b5f3191..5bff0b9 100644
--- a/src/main/java/org/springblade/modules/property/controller/PropertyCompanyDistrictController.java
+++ b/src/main/java/org/springblade/modules/property/controller/PropertyCompanyDistrictController.java
@@ -132,5 +132,15 @@
 		return R.status(propertyCompanyDistrictService.removeByIds(Func.toIntList(ids)));
 	}
 
+	/**
+	 * 通过houseCod获取物业人员
+	 */
+	@GetMapping("/getDistictUserByCode")
+	@ApiOperationSupport(order = 7)
+	@ApiOperation(value = "通过houseCod获取物业人员", notes = "houseCode")
+	public R getDistictUserByCode(@RequestParam("houseCode") String houseCode) {
+		return R.data(propertyCompanyDistrictService.getDistictUserByCode(houseCode));
+	}
+
 
 }
diff --git a/src/main/java/org/springblade/modules/property/mapper/PropertyCompanyDistrictMapper.java b/src/main/java/org/springblade/modules/property/mapper/PropertyCompanyDistrictMapper.java
index d91501a..2c8aec1 100644
--- a/src/main/java/org/springblade/modules/property/mapper/PropertyCompanyDistrictMapper.java
+++ b/src/main/java/org/springblade/modules/property/mapper/PropertyCompanyDistrictMapper.java
@@ -17,6 +17,7 @@
 package org.springblade.modules.property.mapper;
 
 import org.apache.ibatis.annotations.Param;
+import org.flowable.idm.engine.impl.persistence.entity.UserEntity;
 import org.springblade.modules.property.entity.PropertyCompanyDistrictEntity;
 import org.springblade.modules.property.vo.PropertyCompanyDistrictVO;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -42,4 +43,5 @@
 																	  @Param("propertyCompanyDistrict") PropertyCompanyDistrictVO propertyCompanyDistrict);
 
 
+    List<UserEntity> getDistictUserByCode(String houseCode);
 }
diff --git a/src/main/java/org/springblade/modules/property/mapper/PropertyCompanyDistrictMapper.xml b/src/main/java/org/springblade/modules/property/mapper/PropertyCompanyDistrictMapper.xml
index fdcc0c4..5907974 100644
--- a/src/main/java/org/springblade/modules/property/mapper/PropertyCompanyDistrictMapper.xml
+++ b/src/main/java/org/springblade/modules/property/mapper/PropertyCompanyDistrictMapper.xml
@@ -53,5 +53,18 @@
         </if>
     </select>
 
+    <select id="getDistictUserByCode" resultType="org.flowable.idm.engine.impl.persistence.entity.UserEntity">
+        SELECT
+            bu.*
+        FROM
+            blade_user bu
+                LEFT JOIN jczz_property_district_user jpdu ON bu.id = jpdu.user_id
+                LEFT JOIN jczz_property_company_district jpcd ON jpdu.property_company_district_id = jpcd.id
+                LEFT JOIN jczz_district jd ON jd.id = jpcd.district_id
+                LEFT JOIN jczz_doorplate_address jda ON jda.aoi_code = jd.aoi_code
+        WHERE
+            jda.address_code = #{houseCode}
+    </select>
+
 
 </mapper>
diff --git a/src/main/java/org/springblade/modules/property/service/IPropertyCompanyDistrictService.java b/src/main/java/org/springblade/modules/property/service/IPropertyCompanyDistrictService.java
index b429f76..b5ca1f4 100644
--- a/src/main/java/org/springblade/modules/property/service/IPropertyCompanyDistrictService.java
+++ b/src/main/java/org/springblade/modules/property/service/IPropertyCompanyDistrictService.java
@@ -17,10 +17,13 @@
 package org.springblade.modules.property.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.flowable.idm.engine.impl.persistence.entity.UserEntity;
 import org.springblade.modules.property.entity.PropertyCompanyDistrictEntity;
 import org.springblade.modules.property.vo.PropertyCompanyDistrictVO;
 import org.springblade.core.mp.base.BaseService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+
+import java.util.List;
 
 /**
  * 物业派驻小区表 服务类
@@ -46,4 +49,6 @@
 	 * @return
 	 */
     boolean saveOrUpdatePropertyCompanyDistrict(PropertyCompanyDistrictEntity propertyCompanyDistrict);
+
+    List<UserEntity> getDistictUserByCode(String houseCode);
 }
diff --git a/src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyDistrictServiceImpl.java b/src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyDistrictServiceImpl.java
index 9ad0329..8fce3ad 100644
--- a/src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyDistrictServiceImpl.java
+++ b/src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyDistrictServiceImpl.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.flowable.idm.engine.impl.persistence.entity.UserEntity;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.modules.property.entity.PropertyCompanyDistrictEntity;
 import org.springblade.modules.property.entity.PropertyDistrictUserEntity;
@@ -75,4 +76,9 @@
 		// 再新增
 		return propertyDistrictUserService.saveBatch(propertyDistrictUserEntityList);
 	}
+
+	@Override
+	public List<UserEntity> getDistictUserByCode(String houseCode) {
+		return baseMapper.getDistictUserByCode(houseCode);
+	}
 }
diff --git a/src/main/java/org/springblade/modules/task/controller/TaskReportForRepairsController.java b/src/main/java/org/springblade/modules/task/controller/TaskReportForRepairsController.java
index b0c3951..2302050 100644
--- a/src/main/java/org/springblade/modules/task/controller/TaskReportForRepairsController.java
+++ b/src/main/java/org/springblade/modules/task/controller/TaskReportForRepairsController.java
@@ -21,6 +21,7 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
+import liquibase.pro.packaged.D;
 import lombok.AllArgsConstructor;
 import org.springblade.core.boot.ctrl.BladeController;
 import org.springblade.core.mp.support.Condition;
@@ -36,6 +37,7 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
+import java.util.Date;
 
 /**
  * 报事报修任务表 控制器
@@ -100,6 +102,7 @@
 	@ApiOperationSupport(order = 5)
 	@ApiOperation(value = "修改", notes = "传入taskReportForRepairs")
 	public R update(@Valid @RequestBody TaskReportForRepairsEntity taskReportForRepairs) {
+		taskReportForRepairs.setConfirmTime(new Date());
 		return R.status(taskReportForRepairsService.updateById(taskReportForRepairs));
 	}
 
@@ -184,5 +187,15 @@
 		return R.status(taskReportForRepairsService.updateView(gridman));
 	}
 
+	/**
+	 * 事件移交
+	 */
+	@PostMapping("/transfer")
+	@ApiOperation(value = "事件移交", notes = "传入taskReportForRepairs")
+	public R transfer(@Valid @RequestBody TaskReportForRepairsVO taskReportForRepairsVO) {
+		return R.status(taskReportForRepairsService.transfer(taskReportForRepairsVO));
+	}
+
+
 
 }
diff --git a/src/main/java/org/springblade/modules/task/entity/TaskRepairStepEntity.java b/src/main/java/org/springblade/modules/task/entity/TaskRepairStepEntity.java
index bf914f0..d7d446e 100644
--- a/src/main/java/org/springblade/modules/task/entity/TaskRepairStepEntity.java
+++ b/src/main/java/org/springblade/modules/task/entity/TaskRepairStepEntity.java
@@ -76,7 +76,7 @@
 	private Long userId;
 
 	/** 用户类型: 0:网格员 1:物业公司 */
-	@ApiModelProperty(value = "用户类型: 0:网格员 1:物业公司", example = "")
+	@ApiModelProperty(value = "用户类型: 0:网格员 1:管理员 2:物业", example = "")
 	@TableField("people_type")
 	private String peopleType;
 
diff --git a/src/main/java/org/springblade/modules/task/service/ITaskReportForRepairsService.java b/src/main/java/org/springblade/modules/task/service/ITaskReportForRepairsService.java
index b63f53d..e53a58a 100644
--- a/src/main/java/org/springblade/modules/task/service/ITaskReportForRepairsService.java
+++ b/src/main/java/org/springblade/modules/task/service/ITaskReportForRepairsService.java
@@ -77,4 +77,6 @@
     boolean updateView(GridmanEntity gridman);
 
     Object getReportForStatistics(String code, String roleType);
+
+	Boolean transfer(TaskReportForRepairsVO taskReportForRepairsVO);
 }
diff --git a/src/main/java/org/springblade/modules/task/service/impl/TaskReportForRepairsServiceImpl.java b/src/main/java/org/springblade/modules/task/service/impl/TaskReportForRepairsServiceImpl.java
index 116ea08..98671b1 100644
--- a/src/main/java/org/springblade/modules/task/service/impl/TaskReportForRepairsServiceImpl.java
+++ b/src/main/java/org/springblade/modules/task/service/impl/TaskReportForRepairsServiceImpl.java
@@ -17,6 +17,7 @@
 package org.springblade.modules.task.service.impl;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.common.utils.SpringUtils;
 import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.modules.grid.entity.GridmanEntity;
@@ -27,6 +28,7 @@
 import org.springblade.modules.task.entity.TaskEntity;
 import org.springblade.modules.task.entity.TaskReportForRepairsEntity;
 import org.springblade.modules.task.mapper.TaskReportForRepairsMapper;
+import org.springblade.modules.task.service.ITaskRepairStepService;
 import org.springblade.modules.task.service.ITaskReportForRepairsService;
 import org.springblade.modules.task.service.ITaskService;
 import org.springblade.modules.task.vo.TaskReportForRepairsVO;
@@ -74,8 +76,11 @@
 			if (taskReportForRepairs.getRoleName().equals("网格员")) {
 				// 查询对应的房屋地址code
 				list = gridService.getAddressCodeListByUserId(AuthUtil.getUserId());
-			} else if(taskReportForRepairs.getRoleName().equals("居民")){
+			} else if (taskReportForRepairs.getRoleName().equals("居民")) {
 				taskReportForRepairs.setCreateUser(AuthUtil.getUserId());
+			} else if (taskReportForRepairs.getRoleName().equals("物业")) {
+				taskReportForRepairs.setRegionCode("");
+				taskReportForRepairs.setConfirmUserId(AuthUtil.getUserId());
 			}
 		}
 		return page.setRecords(baseMapper.selectTaskReportForRepairsPage(page, taskReportForRepairs,list));
@@ -203,4 +208,22 @@
 		}
 		return objectObjectHashMap;
 	}
+
+	/**
+	 * 移交
+	 *
+	 * @param taskReportForRepairsVO
+	 * @return
+	 */
+	@Override
+	public Boolean transfer(TaskReportForRepairsVO taskReportForRepairsVO) {
+		// 记录移交记录
+		boolean save = SpringUtils.getBean(ITaskRepairStepService.class).save(taskReportForRepairsVO.getTaskRepairStepEntity());
+		if (save) {
+			taskReportForRepairsVO.setConfirmFlag(2);
+			boolean save1 = save(taskReportForRepairsVO);
+			return save1;
+		}
+		return false;
+	}
 }
diff --git a/src/main/java/org/springblade/modules/task/vo/TaskReportForRepairsVO.java b/src/main/java/org/springblade/modules/task/vo/TaskReportForRepairsVO.java
index a47bcc0..17553f1 100644
--- a/src/main/java/org/springblade/modules/task/vo/TaskReportForRepairsVO.java
+++ b/src/main/java/org/springblade/modules/task/vo/TaskReportForRepairsVO.java
@@ -17,6 +17,7 @@
 package org.springblade.modules.task.vo;
 
 import io.swagger.annotations.ApiModelProperty;
+import org.springblade.modules.task.entity.TaskRepairStepEntity;
 import org.springblade.modules.task.entity.TaskReportForRepairsEntity;
 import org.springblade.core.tool.node.INode;
 import lombok.Data;
@@ -54,4 +55,10 @@
 	 */
 	private String regionCode;
 
+	/**
+	 * 事件步骤
+	 */
+	@ApiModelProperty("事件步骤")
+	private TaskRepairStepEntity taskRepairStepEntity;
+
 }

--
Gitblit v1.9.3