diff --git a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/service/impl/EpidemicUserInfoServiceImpl.java b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/service/impl/EpidemicUserInfoServiceImpl.java index 4e2cf47..a30df47 100644 --- a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/service/impl/EpidemicUserInfoServiceImpl.java +++ b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/service/impl/EpidemicUserInfoServiceImpl.java @@ -45,10 +45,12 @@ import com.elink.esua.epdc.vaccine.epidemic.entity.EpidemicUserInfoAuditEntity; import com.elink.esua.epdc.vaccine.epidemic.entity.EpidemicUserInfoEntity; import com.elink.esua.epdc.vaccine.epidemic.entity.EpidemicUserInoutRecordEntity; import com.elink.esua.epdc.vaccine.epidemic.service.*; +import com.elink.esua.epdc.vaccine.feign.AdminFeignClient; import com.elink.esua.epdc.vaccine.feign.VimAdminFeignClient; import com.elink.esua.epdc.vaccine.house.excel.BaseResidentInformationUpdateExcel; import com.elink.esua.epdc.vaccine.personroom.dao.EpidemicBuildingUnitDao; import com.elink.esua.epdc.vaccine.personroom.dao.EpidemicUnitOwnerDao; +import com.elink.esua.epdc.vaccine.personroom.entity.EpidemicBuildingUnitEntity; import com.elink.esua.epdc.vaccine.personroom.entity.EpidemicUnitOwnerEntity; import com.elink.esua.epdc.vaccine.personroom.service.EpidemicBuildingUnitService; import com.elink.esua.epdc.vaccine.personroom.service.EpidemicUnitOwnerService; @@ -122,6 +124,9 @@ public class EpidemicUserInfoServiceImpl extends CrudServiceImpl getWrapper(Map params) { String id = (String) params.get("id"); @@ -1660,12 +1665,13 @@ public class EpidemicUserInfoServiceImpl extends CrudServiceImpl().ok(dto); } + @Transactional @Override public Result addFamilyMember(FamilyMemberInfoFormDTO formDTO) { - // 获取房屋网格ID if (formDTO.getUnitId() == null) { return new Result().error("unitId不能为空"); } + // 获取房屋网格ID EpidemicBuildingUnitDetailResultDTO entity = epidemicBuildingUnitDao.selectDetailById(formDTO.getUnitId().toString()); String gridId = entity.getGridId(); // 查询父部门信息 @@ -1680,6 +1686,8 @@ public class EpidemicUserInfoServiceImpl extends CrudServiceImpl parentAndAllDeptDTOResult = adminFeignClient.getParentAndAllDept(unit.getGridId()); + if (!parentAndAllDeptDTOResult.success()) { + throw new RenException("获取部门信息失败"); + } + + epidemicUserInfoAuditEntity.setDeptId(parentAndAllDeptDTOResult.getData().getGridId()); + epidemicUserInfoAuditEntity.setDeptName(parentAndAllDeptDTOResult.getData().getGrid()); + epidemicUserInfoAuditEntity.setParentDeptIds(parentAndAllDeptDTOResult.getData().getParentDeptIds()); + epidemicUserInfoAuditEntity.setParentDeptNames(parentAndAllDeptDTOResult.getData().getParentDeptNames()); + epidemicUserInfoAuditEntity.setAllDeptIds(parentAndAllDeptDTOResult.getData().getAllDeptIds()); + epidemicUserInfoAuditEntity.setAllDeptNames(parentAndAllDeptDTOResult.getData().getAllDeptNames()); + } + @Override public Result updateFamilyMember(FamilyMemberInfoFormDTO formDTO) { + if (formDTO.getUnitId() == null) { + return new Result().error("unitId不能为空"); + } // 需要审核 if (YesOrNoEnum.YES.value().equals(formDTO.getNeedAudit())) { EpidemicUserInfoAuditEntity epidemicUserInfoAuditEntity = ConvertUtils.sourceToTarget(formDTO, EpidemicUserInfoAuditEntity.class); + //组装部门信息 + setApplyDeptInfo(epidemicUserInfoAuditEntity,formDTO.getUnitId()); epidemicUserInfoAuditEntity.setAuditType(NumConstant.ONE_STR); epidemicUserInfoAuditEntity.setAuditState(NumConstant.ZERO_STR); epidemicUserInfoAuditService.insert(epidemicUserInfoAuditEntity); diff --git a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/feign/AdminFeignClient.java b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/feign/AdminFeignClient.java new file mode 100644 index 0000000..edeb6f5 --- /dev/null +++ b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/feign/AdminFeignClient.java @@ -0,0 +1,58 @@ +package com.elink.esua.epdc.vaccine.feign; + +import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.ParentAndAllDeptDTO; +import com.elink.esua.epdc.dto.house.SysPopulationSimpleDictDTO; +import com.elink.esua.epdc.dto.house.form.SysPopulationSimpleDictFormDTO; +import com.elink.esua.epdc.vaccine.feign.fallback.AdminFeignClientFallback; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; + +/** + * @author yujintao + * @email yujintao@elink-cn.com + * @date 2019/9/5 14:44 + */ +@FeignClient(name = ServiceConstant.EPDC_ADMIN_SERVER, fallback = AdminFeignClientFallback.class) +public interface AdminFeignClient { + + /** + * 根据部门ID,获取下属所有网格ID + * + * @param pid + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @author yujintao + * @date 2019/9/5 14:49 + */ + @GetMapping("/sys/dept/listGridId/{pid}") + Result> listGridIdByDeptPid(@PathVariable("pid") Long pid); + + /** + * 根据部门ID获取上级所有部门信息 + * + * @param deptId + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author gp + * @date 2019-11-29 + */ + @GetMapping("/sys/dept/getParentAndAllDept/{deptId}") + Result getParentAndAllDept(@PathVariable("deptId") String deptId); + + /** + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @Description 获取多个字典值列表 + * @Author songyunpeng + * @Date 2020/8/31 + * @Param [sysPopulationSimpleDictFormDTO] + **/ + @PostMapping("sys/dict/listPopulationSimple") + Result> listPopulationSimple(@RequestBody SysPopulationSimpleDictFormDTO sysPopulationSimpleDictFormDTO); + + +} diff --git a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/feign/fallback/AdminFeignClientFallback.java b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/feign/fallback/AdminFeignClientFallback.java new file mode 100644 index 0000000..151b152 --- /dev/null +++ b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/feign/fallback/AdminFeignClientFallback.java @@ -0,0 +1,38 @@ +package com.elink.esua.epdc.vaccine.feign.fallback; + +import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; +import com.elink.esua.epdc.commons.tools.utils.ModuleUtils; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.ParentAndAllDeptDTO; +import com.elink.esua.epdc.dto.house.SysPopulationSimpleDictDTO; +import com.elink.esua.epdc.dto.house.form.SysPopulationSimpleDictFormDTO; +import com.elink.esua.epdc.vaccine.feign.AdminFeignClient; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @author yujintao + * @email yujintao@elink-cn.com + * @date 2019/9/5 14:44 + */ +@Component +public class AdminFeignClientFallback implements AdminFeignClient { + + @Override + public Result> listGridIdByDeptPid(Long pid) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "listGridIdByDeptPid", pid); + } + + @Override + public Result getParentAndAllDept(String depId) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "getParentAndAllDept", depId); + } + + @Override + public Result> listPopulationSimple(SysPopulationSimpleDictFormDTO sysPopulationSimpleDictFormDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "listPopulationSimple", sysPopulationSimpleDictFormDTO); + } + + +}