From f9c6972ea5d94fc44f2237d131b682c00301915b Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Sun, 26 Apr 2020 15:36:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=BF=E5=BA=9C=E7=AB=AF-=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E8=87=AA=E6=B5=8B=E7=A8=8B=E5=BA=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/form/AddAgencyFormDTO.java | 19 ++++++---- .../epmet/dto/form/AddDepartmentFormDTO.java | 2 ++ .../epmet/controller/AgencyController.java | 7 ++++ .../controller/DepartmentController.java | 7 ++++ .../com/epmet/feign/EpmetUserFeignClient.java | 2 +- .../epmet/service/impl/AgencyServiceImpl.java | 23 +++++++++--- .../mapper/CustomerDepartmentDao.xml | 35 +++++++++++-------- .../controller/CustomerStaffController.java | 2 +- 8 files changed, 69 insertions(+), 28 deletions(-) diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddAgencyFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddAgencyFormDTO.java index 7cb0a69b27..1e7cd65f80 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddAgencyFormDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddAgencyFormDTO.java @@ -20,6 +20,7 @@ package com.epmet.dto.form; import lombok.Data; import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; import java.io.Serializable; @@ -37,7 +38,7 @@ public class AddAgencyFormDTO implements Serializable { * 上级机关组织Id(当前机关组织添加下级组织) */ @NotBlank(message = "上级机关组织ID不能为空") - private String pid; + private String parentAgencyId; /** * 机构组织名称 @@ -52,27 +53,31 @@ public class AddAgencyFormDTO implements Serializable { * 市级: city * 省级:province) 机关级别(社区级:community,乡(镇、街道)级:street,区县级: district,市级: city省级:province) */ + @NotBlank(message = "机关级别不能为空") private String level; /** * 地区编码 */ - private Integer areaCode; - - /** - * 国家 - */ - private String district; + @NotBlank(message = "地区编码不能为空") + private String areaCode; /** * 省份 */ + @NotBlank(message = "省级名称不能为空") private String province; /** * 城市 */ + @NotBlank(message = "市级名称不能为空") private String city; + /** + * 区县 + */ + @NotBlank(message = "区县名称不能为空") + private String district; } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddDepartmentFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddDepartmentFormDTO.java index 57680d2ecd..e03ad75034 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddDepartmentFormDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddDepartmentFormDTO.java @@ -40,11 +40,13 @@ public class AddDepartmentFormDTO implements Serializable { /** * 部门名称 */ + @NotBlank(message = "部门名称不能为空") private String departmentName; /** * 部门职责 */ + @NotBlank(message = "部门职责不能为空") private String departmentDuty; diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java index 2ddc8f3c98..7f192ee942 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java @@ -20,6 +20,7 @@ package com.epmet.controller; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.AddAgencyResultDTO; @@ -55,6 +56,7 @@ public class AgencyController { */ @PostMapping("addagency") public Result addAgency(@LoginUser TokenDto tokenDTO, @RequestBody AddAgencyFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); return agencyService.addAgency(formDTO); } @@ -66,6 +68,7 @@ public class AgencyController { */ @PostMapping("editagency") public Result editAgency(@LoginUser TokenDto tokenDTO, @RequestBody EditAgencyFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); return agencyService.editAgency(formDTO); } @@ -77,6 +80,7 @@ public class AgencyController { */ @PostMapping("removeagency") public Result removeAgency(@LoginUser TokenDto tokenDTO, @RequestBody RemoveAgencyFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); return agencyService.removeAgency(formDTO); } @@ -88,6 +92,7 @@ public class AgencyController { */ @PostMapping("agencydetail") public Result agencyDetail(@LoginUser TokenDto tokenDTO, @RequestBody AgencydetailFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); return agencyService.agencyDetail(formDTO); } @@ -99,6 +104,7 @@ public class AgencyController { */ @PostMapping("subagencylist") public Result subAgencyList(@LoginUser TokenDto tokenDTO, @RequestBody SubAgencyFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); return agencyService.subAgencyList(formDTO); } @@ -110,6 +116,7 @@ public class AgencyController { */ @PostMapping("agencylist") public Result> agencyList(@LoginUser TokenDto tokenDTO, @RequestBody AgencyListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); return agencyService.agencyList(formDTO); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/DepartmentController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/DepartmentController.java index 4d627ebaac..b55e48a3e0 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/DepartmentController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/DepartmentController.java @@ -3,6 +3,7 @@ package com.epmet.controller; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.form.*; import com.epmet.dto.result.AddDepartmentResultDTO; import com.epmet.dto.result.DepartmentDetailResultDTO; @@ -48,6 +49,7 @@ public class DepartmentController { */ @PostMapping("adddepartment") public Result addDepartment(@LoginUser TokenDto tokenDTO, @RequestBody AddDepartmentFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); return departmentService.addDepartment(formDTO); } @@ -59,6 +61,7 @@ public class DepartmentController { */ @PostMapping("editdepartment") public Result editDepartment(@LoginUser TokenDto tokenDTO, @RequestBody EditDepartmentFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); return departmentService.editDepartment(formDTO); } @@ -70,6 +73,7 @@ public class DepartmentController { */ @PostMapping("removedepartment") public Result removeDepartment(@LoginUser TokenDto tokenDTO, @RequestBody RemoveDepartmentFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); return departmentService.removeDepartment(formDTO); } @@ -81,6 +85,7 @@ public class DepartmentController { */ @PostMapping("departmentdetail") public Result departmentDetail(@LoginUser TokenDto tokenDTO, @RequestBody DepartmentdetailFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); return departmentService.departmentDetail(formDTO); } @@ -92,6 +97,7 @@ public class DepartmentController { */ @PostMapping("departmentinagencylist") public Result departmentInAgencyList(@LoginUser TokenDto tokenDTO, @RequestBody DepartmentInAgencyFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); return departmentService.departmentInAgencyList(formDTO); } @@ -103,6 +109,7 @@ public class DepartmentController { */ @PostMapping("departmentlist") public Result> departmentList(@LoginUser TokenDto tokenDTO, @RequestBody DepartmentListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); return departmentService.departmentList(formDTO); } } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java index aa12f45ab9..1d52e9072d 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java @@ -132,7 +132,7 @@ public interface EpmetUserFeignClient { * @Description 根据客户Id及userId集合查询用户基本信息 */ @PostMapping("/epmetuser/customerstaff/getdepartmentstafflist") - Result> getDepartmentStaffList(DepartmentInStaffFormDTO departmentInStaffFormDTO); + Result> getDepartmentStaffList(@RequestBody DepartmentInStaffFormDTO departmentInStaffFormDTO); /** * 根据userId查询customerId diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java index 7177d64d7e..f1901d64cf 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java @@ -28,6 +28,7 @@ import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.CustomerAgencyEntity; import com.epmet.service.AgencyService; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -65,14 +66,19 @@ public class AgencyServiceImpl implements AgencyService { entity.setOrganizationName(formDTO.getAgencyName()); entity.setTotalUser(NumConstant.ZERO); //1:查询上级机关信息 - CustomerAgencyEntity parentEntity = customerAgencyDao.selectById(formDTO.getPid()); + CustomerAgencyEntity parentEntity = customerAgencyDao.selectById(formDTO.getParentAgencyId()); + if (null == parentEntity) { + log.error(CustomerAgencyConstant.SAVE_EXCEPTION); + throw new RenException(CustomerAgencyConstant.SAVE_EXCEPTION); + } + entity.setPid(parentEntity.getId()); entity.setCustomerId(parentEntity.getCustomerId()); - if (null == parentEntity.getPid()) { + if (StringUtils.isBlank(parentEntity.getPid())) { entity.setPids(parentEntity.getId()); entity.setAllParentName(parentEntity.getOrganizationName()); } else { - entity.setPids(":" + parentEntity.getId()); - entity.setAllParentName("-" + parentEntity.getOrganizationName()); + entity.setPids(parentEntity.getPids()+":" + parentEntity.getId()); + entity.setAllParentName(parentEntity.getAllParentName()+"-" + parentEntity.getOrganizationName()); } //2:保存组织信息 if (customerAgencyDao.insert(entity) < NumConstant.ONE) { @@ -121,7 +127,14 @@ public class AgencyServiceImpl implements AgencyService { result.setMsg(EpmetErrorCode.NOT_DEL_AGENCY.getMsg()); return result; } - //2:删除当前机关组织(逻辑删) + //2:不存在下级机关,本级存在工作人员的不能删除 + CustomerAgencyEntity entity = customerAgencyDao.selectById(formDTO.getAgencyId()); + if (null != entity && entity.getTotalUser() > NumConstant.ZERO) { + result.setCode(EpmetErrorCode.NOT_DEL_AGENCY_PER.getCode()); + result.setMsg(EpmetErrorCode.NOT_DEL_AGENCY_PER.getMsg()); + return result; + } + //3:删除当前机关组织(逻辑删) if (customerAgencyDao.deleteById(formDTO.getAgencyId()) < NumConstant.ONE) { log.error(CustomerAgencyConstant.DEL_EXCEPTION); throw new RenException(CustomerAgencyConstant.DEL_EXCEPTION); 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 7543fe31f6..932f7f66d3 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 @@ -3,20 +3,27 @@ - - - - - - - - - - - - - - + + \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java index c499eb62e7..1ae28a3d14 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java @@ -186,7 +186,7 @@ public class CustomerStaffController { * @Description 根据客户Id及userId集合查询用户基本信息 */ @PostMapping("getdepartmentstafflist") - public Result> getDepartmentStaffList(DepartmentInStaffFormDTO fromDTO) { + public Result> getDepartmentStaffList(@RequestBody DepartmentInStaffFormDTO fromDTO) { return customerStaffService.getDepartmentStaffList(fromDTO); }