+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dto.form;
+
+import lombok.Data;
+import org.hibernate.validator.constraints.Length;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+import java.util.List;
+
+
+/**
+ * 根据组织Id集合、部门Id集合、网格Id集合查询对应详细信息-入参
+ *
+ * @author sun
+ */
+@Data
+public class AgencyDeptGridFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 组织Id集合
+ */
+ private List agencyIdList;
+ /**
+ * 部门Id集合
+ */
+ private List deptIdList;
+ /**
+ * 网格Id集合
+ */
+ private List gridIdList;
+
+}
\ No newline at end of file
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyDeptGridResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyDeptGridResultDTO.java
new file mode 100644
index 0000000000..cec3f682d5
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyDeptGridResultDTO.java
@@ -0,0 +1,52 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dto.result;
+
+import com.epmet.dto.CustomerAgencyDTO;
+import com.epmet.dto.CustomerDepartmentDTO;
+import com.epmet.dto.CustomerGridDTO;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+
+/**
+ * 根据组织Id集合、部门Id集合、网格Id集合查询对应详细信息--返参
+ *
+ * @author sun
+ */
+@Data
+public class AgencyDeptGridResultDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 组织信息集合
+ */
+ private List agencyList;
+ /**
+ * 部门信息集合
+ */
+ private List deptList;
+ /**
+ * 网格信息集合
+ */
+ private List gridList;
+
+}
\ No newline at end of file
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java
index 50cfe3c5be..6434a318b6 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java
@@ -26,7 +26,9 @@ import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.CustomerAgencyDTO;
+import com.epmet.dto.form.AgencyDeptGridFormDTO;
import com.epmet.dto.form.StaffOrgFormDTO;
+import com.epmet.dto.result.AgencyDeptGridResultDTO;
import com.epmet.dto.result.AgencyGridResultDTO;
import com.epmet.dto.result.DepartmentStaffListResultDTO;
import com.epmet.dto.result.StaffOrgsResultDTO;
@@ -129,4 +131,15 @@ public class CustomerAgencyController {
return new Result().ok(customerAgencyService.departmentStaffList(agencyId));
}
+ /**
+ * @param formDTO
+ * @return
+ * @Author sun
+ * @Description 根据组织Id集合、部门Id集合、网格Id集合查询各自对应详细信息
+ **/
+ @PostMapping("getagencydeptgridlist")
+ public Result getAgencyDeptGridList(AgencyDeptGridFormDTO formDTO) {
+ return new Result().ok(customerAgencyService.getAgencyDeptGridList(formDTO));
+ }
+
}
\ No newline at end of file
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java
index bf68fc2458..a83d872672 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java
@@ -87,4 +87,12 @@ public interface CustomerAgencyDao extends BaseDao {
* @date 2020/4/28 15:50
*/
String selectAreaCodeByAgencyId(@Param("agencyId") String agencyId);
+
+ /**
+ * @param agencyIdList
+ * @return
+ * @Author sun
+ * @Description 批量查询组织信息
+ **/
+ List selectAgencyListByIds(@Param("agencyIdList") List agencyIdList);
}
\ No newline at end of file
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerDepartmentDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerDepartmentDao.java
index 300ea8bf8e..13cb1da0ea 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerDepartmentDao.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerDepartmentDao.java
@@ -18,6 +18,8 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
+import com.epmet.dto.CustomerAgencyDTO;
+import com.epmet.dto.CustomerDepartmentDTO;
import com.epmet.dto.CustomerIdDTO;
import com.epmet.dto.result.DepartmentListResultDTO;
import com.epmet.dto.result.SubListResultDTO;
@@ -65,4 +67,12 @@ public interface CustomerDepartmentDao extends BaseDao
* @date 2020/4/28 12:26
*/
CustomerIdDTO selectCustomerIdByDepartmentId(@Param("departmentId") String departmentId);
+
+ /**
+ * @param deptIdList
+ * @return
+ * @Author sun
+ * @Description 批量查询部门信息
+ **/
+ List selectDeptListByIds(@Param("deptIdList") List deptIdList);
}
\ No newline at end of file
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java
index 669664481c..2a066a5e92 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java
@@ -18,6 +18,7 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
+import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.CustomerGridDTO;
import com.epmet.dto.UserIdAndPidDTO;
import com.epmet.dto.UserIdDTO;
@@ -167,4 +168,12 @@ public interface CustomerGridDao extends BaseDao {
* @author sun
*/
List selectGridList(@Param("agencyId") String agencyId);
+
+ /**
+ * @param gridIdList
+ * @return
+ * @Author sun
+ * @Description 批量查询网格信息
+ **/
+ List selectGridListByIds(@Param("gridIdList") List gridIdList);
}
\ No newline at end of file
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java
index 7af4c11691..b79c1c6cfb 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java
@@ -21,7 +21,9 @@ import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.CustomerAgencyDTO;
+import com.epmet.dto.form.AgencyDeptGridFormDTO;
import com.epmet.dto.form.StaffOrgFormDTO;
+import com.epmet.dto.result.AgencyDeptGridResultDTO;
import com.epmet.dto.result.AgencyGridResultDTO;
import com.epmet.dto.result.DepartmentStaffListResultDTO;
import com.epmet.dto.result.StaffOrgsResultDTO;
@@ -122,4 +124,12 @@ public interface CustomerAgencyService extends BaseService
* @Description 查询组织下人员,组织下部门人员,组织下网格人员列表信息
**/
DepartmentStaffListResultDTO departmentStaffList(String agencyId);
+
+ /**
+ * @param formDTO
+ * @return
+ * @Author sun
+ * @Description 根据组织Id集合、部门Id集合、网格Id集合查询各自对应详细信息
+ **/
+ AgencyDeptGridResultDTO getAgencyDeptGridList(AgencyDeptGridFormDTO formDTO);
}
\ No newline at end of file
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java
index 8a7607b942..2218c26341 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java
@@ -29,6 +29,7 @@ import com.epmet.constant.CustomerAgencyConstant;
import com.epmet.constant.CustomerGridConstant;
import com.epmet.dao.*;
import com.epmet.dto.*;
+import com.epmet.dto.form.AgencyDeptGridFormDTO;
import com.epmet.dto.form.CustomerFormDTO;
import com.epmet.dto.form.StaffOrgFormDTO;
import com.epmet.dto.result.*;
@@ -298,4 +299,25 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl agencyList = baseDao.selectAgencyListByIds(formDTO.getAgencyIdList());
+ //2:根据部门Id批量查询部门信息
+ List deptList = customerDepartmentDao.selectDeptListByIds(formDTO.getDeptIdList());
+ //3:根据网格Id批量查询网格信息
+ List gridList = customerGridDao.selectGridListByIds(formDTO.getGridIdList());
+ agencyDeptGrid.setAgencyList(agencyList);
+ agencyDeptGrid.setDeptList(deptList);
+ agencyDeptGrid.setGridList(gridList);
+ return agencyDeptGrid;
+ }
+
}
\ No newline at end of file
diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml
index f690d08e53..41cce6fb8e 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml
+++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml
@@ -108,4 +108,15 @@
INNER JOIN customer_agency ca ON (csa.AGENCY_ID = ca.ID)
WHERE csa.USER_ID = #{staffId}
+
+
\ No newline at end of file
diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerDepartmentDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerDepartmentDao.xml
index aab4ce8f67..54a12139ad 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerDepartmentDao.xml
+++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerDepartmentDao.xml
@@ -44,4 +44,15 @@
id = #{departmentId}
AND del_flag = 0
+
+
\ No newline at end of file
diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml
index 9723d1e3f0..74f651fd7e 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml
+++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml
@@ -295,4 +295,15 @@
ORDER BY created_time DESC
+
+
\ No newline at end of file
diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/TickStaffFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/TickStaffFormDTO.java
new file mode 100644
index 0000000000..c481b89492
--- /dev/null
+++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/TickStaffFormDTO.java
@@ -0,0 +1,35 @@
+package com.epmet.dto.form;
+
+import lombok.Data;
+import org.hibernate.validator.constraints.Length;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @Description 项目跟踪-转其他部门-勾选的人员信息-接口入参
+ * @Author sun
+ */
+@Data
+public class TickStaffFormDTO implements Serializable {
+ private static final long serialVersionUID = 4859779755214502427L;
+
+ @NotBlank(message = "机关Id不能为空")
+ private String agencyId;
+
+ /**
+ * 部门Id(为空表示勾选的人不是部门下的,可能是组织下的也可能是网格下的)
+ */
+ private String departmentId;
+
+ /**
+ * 网格Id(为空表示勾选的人不是网格下的,可能是组织下的也可能是部门下的)
+ */
+ private String gridId;
+
+ @NotBlank(message = "内部备注不能为空")
+ private String staffId;
+}
+
diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/TransferFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/TransferFormDTO.java
new file mode 100644
index 0000000000..9d078a27b5
--- /dev/null
+++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/TransferFormDTO.java
@@ -0,0 +1,36 @@
+package com.epmet.dto.form;
+
+import lombok.Data;
+import org.hibernate.validator.constraints.Length;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @Description 项目跟踪-转其他部门-接口入参
+ * @Author sun
+ */
+@Data
+public class TransferFormDTO implements Serializable {
+ private static final long serialVersionUID = 4859779755214502427L;
+
+ @NotBlank(message = "项目Id不能为空")
+ private String projectId;
+
+ @NotBlank(message = "项目人员关联Id不能为空")
+ private String projectStaffId;
+
+ @Length(max=1000,message = "公开答复内容不能超过1000位")
+ private String publicReply;
+
+ @NotBlank(message = "内部备注不能为空")
+ @Length(max=1000,message = "内部备注不能超过1000位")
+ private String internalRemark;
+
+ @Valid
+ private List staffList;
+
+}
+
diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java
index 1c2b314f41..78d79402c1 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java
+++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java
@@ -73,4 +73,16 @@ public interface ProjectConstant {
* 调用epmet-user服务查询数据失败
*/
String SELECT_USERINFO_EXCEPTION = "获取用户昵称、头像失败";
+ /**
+ * 查询项目人员关联表数据失败
+ */
+ String SELECT_PROJECTSTAFF_EXCEPTION = "获取项目人员关联表数据失败";
+ /**
+ * 更新项目人员关联表数据失败
+ */
+ String UPDATE_PROJECTSTAFF_EXCEPTION = "更新项目人员关联表数据失败";
+ /**
+ * 更新项目人员关联表数据失败
+ */
+ String DATe_EXCEPTION = "未勾选流转人员";
}
diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java
index 3f88868a85..f252c27770 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java
+++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java
@@ -183,5 +183,19 @@ public class ProjectTraceController {
ValidatorUtils.validateEntity(formDTO);
return new Result().ok(projectStaffService.departmentStaffList(formDTO));
}
+
+ /**
+ * @param formDTO
+ * @return
+ * @Author sun
+ * @Description 项目跟踪-转其他部门
+ **/
+ @PostMapping("transfer")
+ @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_TRANSFER)
+ public Result transfer(@LoginUser TokenDto tokenDTO, @RequestBody TransferFormDTO formDTO) {
+ ValidatorUtils.validateEntity(formDTO);
+ projectProcessService.transfer(formDTO);
+ return new Result();
+ }
}
diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java
index 503ee6d58c..5038fa4206 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java
+++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java
@@ -5,6 +5,8 @@ import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.commons.tools.utils.Result;
+import com.epmet.dto.form.AgencyDeptGridFormDTO;
+import com.epmet.dto.result.AgencyDeptGridResultDTO;
import com.epmet.dto.result.DepartmentStaffListResultDTO;
import com.epmet.feign.fallback.GovOrgFeignClientFallBack;
import org.springframework.cloud.openfeign.FeignClient;
@@ -35,4 +37,13 @@ public interface GovOrgFeignClient {
@PostMapping(value = "/gov/org/customeragency/departmentstafflist/{agencyId}")
Result departmentStaffList(@PathVariable("agencyId") String agencyId);
+ /**
+ * @param formDTO
+ * @return
+ * @Author sun
+ * @Description 根据组织Id集合、部门Id集合、网格Id集合查询各自对应详细信息
+ **/
+ @PostMapping(value = "/gov/org/customeragency/getagencydeptgridlist")
+ Result getAgencyDeptGridList(AgencyDeptGridFormDTO formDTO);
+
}
diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java
index 318975d5c9..3588d47287 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java
+++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java
@@ -7,6 +7,8 @@ import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
+import com.epmet.dto.form.AgencyDeptGridFormDTO;
+import com.epmet.dto.result.AgencyDeptGridResultDTO;
import com.epmet.dto.result.DepartmentStaffListResultDTO;
import com.epmet.feign.GovOrgFeignClient;
import org.springframework.stereotype.Component;
@@ -26,4 +28,9 @@ public class GovOrgFeignClientFallBack implements GovOrgFeignClient {
public Result departmentStaffList(String agencyId) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "departmentStaffList", agencyId);
}
+
+ @Override
+ public Result getAgencyDeptGridList(AgencyDeptGridFormDTO formDTO) {
+ return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getAgencyDeptGridList", formDTO);
+ }
}
diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java
index ebfc0e83ca..aa523854d3 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java
+++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java
@@ -22,6 +22,7 @@ import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.ProjectProcessDTO;
import com.epmet.dto.form.ProcessListFormDTO;
import com.epmet.dto.form.ReturnListFromDTO;
+import com.epmet.dto.form.TransferFormDTO;
import com.epmet.dto.result.ProcesslistResultDTO;
import com.epmet.dto.result.ReturnListResultDTO;
import com.epmet.entity.ProjectProcessEntity;
@@ -113,4 +114,12 @@ public interface ProjectProcessService extends BaseService
* @return java.util.List
*/
List getReturnableList(ReturnListFromDTO fromDTO);
+
+ /**
+ * @param formDTO
+ * @return
+ * @Author sun
+ * @Description 项目跟踪-转其他部门
+ **/
+ void transfer(TransferFormDTO formDTO);
}
\ No newline at end of file
diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java
index 78ea0dc5b0..38a3f8c9dc 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java
+++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java
@@ -21,32 +21,37 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
+import com.epmet.commons.tools.constant.NumConstant;
+import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
+import com.epmet.constant.ProjectConstant;
import com.epmet.dao.ProjectProcessDao;
import com.epmet.dao.ProjectStaffDao;
import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.ProjectProcessDTO;
-import com.epmet.dto.form.ProcessListFormDTO;
-import com.epmet.dto.form.ReturnListFromDTO;
-import com.epmet.dto.form.StaffsInAgencyFromDTO;
+import com.epmet.dto.form.*;
+import com.epmet.dto.result.AgencyDeptGridResultDTO;
import com.epmet.dto.result.ProcesslistResultDTO;
import com.epmet.dto.result.ReturnListResultDTO;
import com.epmet.dto.result.StaffInfoResultDTO;
import com.epmet.entity.ProjectEntity;
import com.epmet.entity.ProjectProcessEntity;
+import com.epmet.entity.ProjectStaffEntity;
import com.epmet.feign.EpmetUserFeignClient;
import com.epmet.feign.GovOrgFeignClient;
import com.epmet.redis.ProjectProcessRedis;
import com.epmet.service.ProjectProcessService;
import com.epmet.service.ProjectService;
+import com.epmet.service.ProjectStaffService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
+import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors;
/**
@@ -68,6 +73,10 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl page(Map params) {
@@ -158,4 +167,82 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl staffList = formDTO.getStaffList();
+ if (null == staffList || staffList.size() < NumConstant.ONE) {
+ throw new RenException(ProjectConstant.DATe_EXCEPTION);
+ }
+ //3.1:调用gov-org服务,获取所有勾选人员对应的组织信息、部门信息、网格信息用于对处理部门和ORG_ID_PATH字段的赋值
+ List agencyIdList = staffList.stream().map(TickStaffFormDTO::getAgencyId).collect(Collectors.toList());
+ agencyIdList = new ArrayList(new LinkedHashSet<>(agencyIdList));
+ List deptIdList = staffList.stream().map(TickStaffFormDTO::getDepartmentId).collect(Collectors.toList());
+ deptIdList = new ArrayList(new LinkedHashSet<>(deptIdList));
+ List gridIdList = staffList.stream().map(TickStaffFormDTO::getGridId).collect(Collectors.toList());
+ gridIdList = new ArrayList(new LinkedHashSet<>(gridIdList));
+ AgencyDeptGridFormDTO agencyDeptGridFormDTO = new AgencyDeptGridFormDTO();
+ agencyDeptGridFormDTO.setAgencyIdList(agencyIdList);
+ agencyDeptGridFormDTO.setDeptIdList(deptIdList);
+ agencyDeptGridFormDTO.setGridIdList(gridIdList);
+ Result resultDTO = govOrgFeignClient.getAgencyDeptGridList(agencyDeptGridFormDTO);
+ AgencyDeptGridResultDTO agencyDeptGrid = resultDTO.getData();
+ //3.2:批量新增项目人员关联表数据
+ List entityList = new ArrayList<>();
+ staffList.forEach(ts->{
+ ProjectStaffEntity entity = ConvertUtils.sourceToTarget(ts, ProjectStaffEntity.class);
+ entity.setOrgId(ts.getAgencyId());
+ entity.setProjectId(formDTO.getProjectId());
+ entity.setProcessId(processEntity.getId());
+ entity.setIsHandle(ProjectConstant.UNHANDLED);
+ agencyDeptGrid.getAgencyList().forEach(agency->{
+ if (ts.getAgencyId().equals(agency.getId())) {
+ entity.setCustomerId(agency.getCustomerId());
+ entity.setOrgIdPath(agency.getPids()+":"+agency.getId());
+ entity.setDepartmentName(agency.getOrganizationName());
+ }
+ });
+ if (StringUtils.isNotBlank(ts.getDepartmentId())) {
+ agencyDeptGrid.getDeptList().forEach(dept -> {
+ if (ts.getDepartmentId().equals(dept.getId())) {
+ entity.setDepartmentName(entity.getDepartmentName() + "-" + dept.getDepartmentName());
+ }
+ });
+ }
+ if (StringUtils.isNotBlank(ts.getGridId())) {
+ agencyDeptGrid.getGridList().forEach(grid -> {
+ if (ts.getGridId().equals(grid.getId())) {
+ entity.setDepartmentName(entity.getDepartmentName() + "-" + grid.getGridName());
+ }
+ });
+ }
+ entityList.add(entity);
+ });
+ projectStaffService.insertBatch(entityList);
+ }
+
}
\ No newline at end of file