From 47bfee2fafdae8dd9339021f787787acfddfc0a5 Mon Sep 17 00:00:00 2001 From: songhuangfeng123 <shf18767906695@163.com> Date: 星期五, 02 九月 2022 18:37:07 +0800 Subject: [PATCH] rpc接口 --- emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyCountServiceImpl.java | 187 +++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 174 insertions(+), 13 deletions(-) diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyCountServiceImpl.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyCountServiceImpl.java index 12d1587..63a3827 100644 --- a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyCountServiceImpl.java +++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyCountServiceImpl.java @@ -1,16 +1,29 @@ package com.gkhy.safePlatform.emergency.service.impl; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.gkhy.safePlatform.account.rpc.apimodel.AccountDepartmentService; +import com.gkhy.safePlatform.account.rpc.apimodel.model.resp.DepInfoRPCRespDTO; import com.gkhy.safePlatform.commons.enums.ResultCodes; import com.gkhy.safePlatform.commons.exception.BusinessException; +import com.gkhy.safePlatform.commons.query.PageQuery; import com.gkhy.safePlatform.commons.utils.BeanCopyUtils; import com.gkhy.safePlatform.commons.vo.ResultVO; +import com.gkhy.safePlatform.commons.vo.SearchResultVO; import com.gkhy.safePlatform.emergency.entity.*; +import com.gkhy.safePlatform.emergency.enums.EmergencyResultCodes; +import com.gkhy.safePlatform.emergency.excepiton.EmergencyException; import com.gkhy.safePlatform.emergency.model.dto.resp.*; import com.gkhy.safePlatform.emergency.query.EmergencyDrillExecuteCountQuery; +import com.gkhy.safePlatform.emergency.query.EmergencySuppliesCountQuery; +import com.gkhy.safePlatform.emergency.rpc.api.model.dto.req.EmergencyExecuteNumRPCReq; +import com.gkhy.safePlatform.emergency.rpc.api.model.dto.req.EmergencyExecuteTimeRPCReq; +import com.gkhy.safePlatform.emergency.rpc.api.model.dto.resp.EmergencyExecuteNumRPCResp; +import com.gkhy.safePlatform.emergency.rpc.api.model.dto.resp.EmergencyExecuteTimeRPCResp; import com.gkhy.safePlatform.emergency.service.EmergencyCountService; import com.gkhy.safePlatform.emergency.service.baseService.EmergencyDrillExecuteInfoService; +import com.gkhy.safePlatform.emergency.service.baseService.EmergencySuppliesInfoService; import com.gkhy.safePlatform.emergency.utils.TimeUtils; +import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ; import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -28,6 +41,106 @@ @DubboReference(check = false) private AccountDepartmentService accountDepartmentService; + @Autowired + private EmergencySuppliesInfoService emergencySuppliesInfoService; + + @Override + public SearchResultVO<EmergencyExecuteTimeRPCResp> getTimeByDeptId(EmergencyExecuteTimeRPCReq query) { + EmergencyExecuteTimeRPCResp emergencyExecuteTimeRPCResp = new EmergencyExecuteTimeRPCResp(); + + // 获取id对应的部门 + DepInfoRPCRespDTO depInfoRPCRespDTO = getDepInfoByDepId(query.getDeptId()); + + emergencyExecuteTimeRPCResp.setDeptId(depInfoRPCRespDTO.getDepId()); + emergencyExecuteTimeRPCResp.setDeptName(depInfoRPCRespDTO.getDepName()); + emergencyExecuteTimeRPCResp.setDeptLevel(depInfoRPCRespDTO.getDepLevel()); + String lastTime = emergencyDrillExecuteInfoService.selectEmergencyDrillExecuteIntervalTimeByDeptId(query.getDeptId()); + emergencyExecuteTimeRPCResp.setLastTime(lastTime); + emergencyExecuteTimeRPCResp.setDays(TimeUtils.differentDays(lastTime, TimeUtils.formatDate(new Date()))); + + return new SearchResultVO<>( + false, + null, + null, + null, + 1L, + emergencyExecuteTimeRPCResp, + ResultCodes.OK + ); + } + + @Override + public SearchResultVO<List<EmergencyExecuteTimeRPCResp>> getTimeByDeptIds(EmergencyExecuteTimeRPCReq query) { + List<EmergencyExecuteTimeRPCResp> list = new ArrayList<>(); + return new SearchResultVO<>( + false, + null, + null, + null, + (long) list.size(), + list, + ResultCodes.OK + ); + } + + @Override + public SearchResultVO<EmergencyExecuteNumRPCResp> getNumByDeptId(EmergencyExecuteNumRPCReq query) { + if (query.getYear()==null){ + throw new EmergencyException(EmergencyResultCodes.YEAR_NULL); + } + EmergencyExecuteNumRPCResp emergencyExecuteNumRPCResp = new EmergencyExecuteNumRPCResp(); + // 获取id对应的部门 + DepInfoRPCRespDTO depInfoRPCRespDTO = getDepInfoByDepId(query.getDeptId()); + + emergencyExecuteNumRPCResp.setDeptId(depInfoRPCRespDTO.getDepId()); + emergencyExecuteNumRPCResp.setDeptName(depInfoRPCRespDTO.getDepName()); + emergencyExecuteNumRPCResp.setDeptLevel(depInfoRPCRespDTO.getDepLevel()); + + // 查到该年度对应月份的数据 + List<Map<String,String>> mapList = new ArrayList<>(); + String startTime = TimeUtils.getYearFirst(query.getYear()); + String endTime = TimeUtils.getYearLast(query.getYear()); + List<Long> deptIds = new ArrayList<>(); + deptIds.add(query.getDeptId()); + List<EmergencyDrillExecuteCountData> emergencyDrillExecuteCountDataList = emergencyDrillExecuteInfoService.selectByMonthAndDept(startTime, endTime, deptIds); + if (!emergencyDrillExecuteCountDataList.isEmpty()){ + for (EmergencyDrillExecuteCountData emergencyDrillExecuteCountData : emergencyDrillExecuteCountDataList){ + Map<String ,String> map = new HashMap<>(); + map.put("name",emergencyDrillExecuteCountData.getName()); + map.put("num",emergencyDrillExecuteCountData.getNum().toString()); + mapList.add(map); + } + } + emergencyExecuteNumRPCResp.setData(mapList); + + return new SearchResultVO<>( + false, + null, + null, + null, + 1L, + emergencyExecuteNumRPCResp, + ResultCodes.OK + ); + } + + @Override + public SearchResultVO<List<EmergencyExecuteNumRPCResp>> getNumByDeptIds(EmergencyExecuteNumRPCReq query) { + return null; + } + + public DepInfoRPCRespDTO getDepInfoByDepId(Long deptId) { + DepInfoRPCRespDTO dep = new DepInfoRPCRespDTO(); + ResultVO<DepInfoRPCRespDTO> rpcResult = accountDepartmentService.getDepInfoByDepId(deptId); + if (rpcResult != null && rpcResult.getCode().equals(ResultCodes.OK.getCode())) { + if (rpcResult.getData() != null) { + dep = (DepInfoRPCRespDTO) rpcResult.getData(); + } + } else { + throw new BusinessException(ResultCodes.CLIENT_DEP_NOT_EXIST); + } + return dep; + } @Override public ResultVO<EmergencyDrillExecuteCountRespDTO> countEmergencyDrillExecute(EmergencyDrillExecuteCountQuery query) { @@ -42,38 +155,86 @@ List<EmergencyDrillExecuteCountData> list = new ArrayList<>(); // 获取部门id集合 List<Long> deptIds = new ArrayList<>(); - - ResultVO<List<Long>> rpcResult = accountDepartmentService.listDepAndSubDepIds(query.getDeptId()); + deptIds.add(query.getDeptId()); +/* ResultVO<List<Long>> rpcResult = accountDepartmentService.listDepAndSubDepIds(query.getDeptId()); if (rpcResult != null && rpcResult.getCode().equals(ResultCodes.OK.getCode())) { if (rpcResult.getData() != null) { deptIds = (List<Long>) rpcResult.getData(); } - }else{ + } else { throw new BusinessException(ResultCodes.CLIENT_DEP_NOT_EXIST); - } + }*/ // 获取时间 SimpleDateFormat sdf = new SimpleDateFormat("yyyy"); Date date = new Date(); int year = Integer.parseInt(sdf.format(date)); - if (query.getType()==1){ + if (query.getType() == 1) { // 月 String startTime = TimeUtils.getYearFirst(year); String endTime = TimeUtils.getYearLast(year); - list = emergencyDrillExecuteInfoService.selectByMonthAndDept(startTime,endTime,deptIds); + list = emergencyDrillExecuteInfoService.selectByMonthAndDept(startTime, endTime, deptIds); } - if (query.getType()==2){ + if (query.getType() == 2) { // 年 - String startTime = TimeUtils.getYearFirst(year-10); + String startTime = TimeUtils.getYearFirst(year - 10); String endTime = TimeUtils.getYearLast(year); - list = emergencyDrillExecuteInfoService.selectByYearAndDept(startTime,endTime,deptIds); + list = emergencyDrillExecuteInfoService.selectByYearAndDept(startTime, endTime, deptIds); } - if (!CollectionUtils.isEmpty(list)){ - List<EmergencyDrillExecuteCountDataRespDTO> dataList = BeanCopyUtils.copyBeanList(list,EmergencyDrillExecuteCountDataRespDTO.class); + if (!CollectionUtils.isEmpty(list)) { + List<EmergencyDrillExecuteCountDataRespDTO> dataList = BeanCopyUtils.copyBeanList(list, EmergencyDrillExecuteCountDataRespDTO.class); emergencyDrillExecuteCountRespDTO.setDataList(dataList); - }else{ + } else { emergencyDrillExecuteCountRespDTO.setDataList(new ArrayList<>()); } - return new ResultVO<>(ResultCodes.OK,emergencyDrillExecuteCountRespDTO); + return new ResultVO<>(ResultCodes.OK, emergencyDrillExecuteCountRespDTO); } + + @Override + public ResultVO<List<EmergencySuppliesCountRespDTO>> countEmergencySupplies(PageQuery<EmergencySuppliesCountQuery> pageQuery) { + List<EmergencySuppliesCountRespDTO> respList = new ArrayList<>(); + + Long pageIndex = pageQuery.getPageIndex(); + Long pageSize = pageQuery.getPageSize(); + Page<EmergencySuppliesInfoDetailDO> page = new Page<>(pageIndex, pageSize); + List<EmergencySuppliesInfoDetailDO> emergencySuppliesInfoDetailDOList = emergencySuppliesInfoService.countEmergencySupplies(page, pageQuery.getSearchParams()); + + if (!CollectionUtils.isEmpty(emergencySuppliesInfoDetailDOList)) { + for (EmergencySuppliesInfoDetailDO emergencySuppliesInfoDetailDO : emergencySuppliesInfoDetailDOList) { + EmergencySuppliesCountRespDTO emergencySuppliesCountRespDTO = new EmergencySuppliesCountRespDTO(); + // 名称+数量 + emergencySuppliesCountRespDTO.setName(emergencySuppliesInfoDetailDO.getName()); + emergencySuppliesCountRespDTO.setTotalNum(emergencySuppliesInfoDetailDO.getCount()); +// // 保质期内数量 +// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//格式化一下 +// Date produceDate = emergencySuppliesInfoDetailDO.getProductionDate(); +// Integer usePeriod = emergencySuppliesInfoDetailDO.getUsePeriod(); +// +// String[] arr = sdf.format(produceDate).split("-"); +// +// Calendar calendar = Calendar.getInstance();//获取对日期操作的类对象 +// calendar.clear(); +// calendar.set(Calendar.YEAR, Integer.parseInt(arr[0])); +// calendar.set(Calendar.MONTH, Integer.parseInt(arr[1])); +// calendar.set(Calendar.DAY_OF_MONTH, Integer.parseInt(arr[2])); +// +// calendar.set(Calendar.DAY_OF_YEAR,calendar.get(Calendar.DAY_OF_YEAR) +usePeriod); +// +// Date qualityD = calendar.getTime(); +// String time= sdf.format(calendar.getTime()); +// System.out.println(time); + + respList.add(emergencySuppliesCountRespDTO); + } + } + return new SearchResultVO<>( + true, + pageIndex, + pageSize, page.getPages(), + page.getTotal(), + respList, + ResultCodes.OK + ); + } + } -- Gitblit v1.9.2