diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java index b7e0dbcd6..f57e3a86a 100755 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java @@ -62,10 +62,7 @@ import com.elink.esua.epdc.gird.shibei.constant.CommonConstants; import com.elink.esua.epdc.gird.shibei.contants.ApiConstants; import com.elink.esua.epdc.gird.shibei.dto.GridDto; import com.elink.esua.epdc.gird.shibei.dto.SearchCaseProcessByTaskIdItemDto; -import com.elink.esua.epdc.gird.shibei.dto.form.ImageFile; -import com.elink.esua.epdc.gird.shibei.dto.form.ReportFile; -import com.elink.esua.epdc.gird.shibei.dto.form.SendEventFormDto; -import com.elink.esua.epdc.gird.shibei.dto.form.SendInputInfoFormDto; +import com.elink.esua.epdc.gird.shibei.dto.form.*; import com.elink.esua.epdc.gird.shibei.dto.result.EventProcessHisResultDto; import com.elink.esua.epdc.gird.shibei.dto.result.EventProcessResultDto; import com.elink.esua.epdc.gird.shibei.dto.result.SendEventResultDto; @@ -1247,6 +1244,12 @@ public class ItemServiceImpl extends BaseServiceImpl implem sendDto.setSSJD(deptInfo.getStreetInfoCode()); //所属社区 sendDto.setSSSQ("");//deptInfo.getCommunityInfoCode() + //诉求联系人及联系方式 + Result userResult = userInfoFeignClient.getUserInfoById(itemEntity.getUserId()); + UserDTO itemUser = userResult.getData(); + if(itemUser != null){ + sendDto.setSQLXR(itemUser.getRealName()+itemUser.getMobile()); + } //事件地址 sendDto.setSJDZ(itemEntity.getIssueAddress()); //事件描述 @@ -1256,11 +1259,95 @@ public class ItemServiceImpl extends BaseServiceImpl implem sendDto.setXZB(new BigDecimal(gps[1]).setScale(15, BigDecimal.ROUND_HALF_UP)); //Y坐标(经纬度) sendDto.setYZB(new BigDecimal(gps[0]).setScale(15, BigDecimal.ROUND_HALF_UP)); + //事件处理进度 + List handleImagesList = new ArrayList<>(); + List handleList = getHandleList(itemEntity.getId(),handleImagesList); + sendDto.setHandleList(handleList); //图片 - sendDto.setIMAGES(getImageFileNew(itemEntity.getEventId())); + List images = getImageFileNew(itemEntity.getEventId(),handleImagesList);//事件图片+处理流程图片 + //时间处理进度图片 + sendDto.setIMAGES(images); return sendDto; } + private List getHandleList(String itemId, List handleImagesList) { + //未组装的事件处理流程 + List handleList = baseDao.selectListOfItemHandleProgressByMobile(itemId); + //组装后的、所有的 处理事件流程 + List resultList = new ArrayList<>(); + //统计最后一个处理的下标 + int i = 1; + for(ItemHandleProgressResultDTO ipr : handleList){ + //处理事件流程 + EventHandleListFormDto handleProcess = new EventHandleListFormDto(); + handleProcess.setAdvice(ipr.getAdvice()); + handleProcess.setCreatedTime(ipr.getCreatedTime()); + handleProcess.setHandlerDept(ipr.getHandlerDept()); + //被吹哨部门 + List itemDepts = new ArrayList<>(); + for(ItemDeptDTO id : ipr.getItemDeptDTOS()){ + itemDepts.add(id.getDeptName()); + } + handleProcess.setItemDeptDTOS(itemDepts); + + if (ipr.getState() == 0 && ipr.getItemDeptDTOS().size() > 0) { + handleProcess.setState("吹哨"); + } else if (ipr.getState() == 0 && ipr.getItemDeptDTOS().size() == 0) { + handleProcess.setState("回应"); + } else if (ipr.getState() == 5) { + handleProcess.setState("关闭"); + } else if (ipr.getState() == 10) { + handleProcess.setState("结案"); + } else if ( ipr.getState() == 11 || ipr.getState() == 12 || ipr.getState() == 13) { + handleProcess.setState("满意度评价"); + } else if (ipr.getState() == 15) { + handleProcess.setState("上报网格化平台"); + } else if (ipr.getState() == 20) { + handleProcess.setState("网格化平台-受理"); + } else if (ipr.getState() == 25) { + handleProcess.setState("网格化平台-立案"); + } else if (ipr.getState() == 30) { + handleProcess.setState("网格化平台-派遣"); + } else if (ipr.getState() == 35) { + handleProcess.setState("网格化平台-再派遣"); + } else if (ipr.getState() == 40) { + handleProcess.setState("网格化平台-接单"); + } else if (ipr.getState() == 45) { + handleProcess.setState("网格化平台-处置完成"); + } else if (ipr.getState() == 50) { + handleProcess.setState("网格化平台-中间督办"); + } else if (ipr.getState() == 55) { + handleProcess.setState("网格化平台-催办"); + } else if (ipr.getState() == 60) { + handleProcess.setState("网格化平台-结案"); + } else if (ipr.getState() == 65) { + handleProcess.setState("网格化平台-办理"); + } else if (ipr.getState() == 70) { + handleProcess.setState("网格化平台-批转"); + } else if (ipr.getState() == 75) { + handleProcess.setState("网格化平台-退单"); + } else if (ipr.getState() == 80) { + handleProcess.setState("网格化平台-办结"); + } else { + handleProcess.setState(ipr.getState().toString()); + } + + if(i == handleList.size()){ + handleProcess.setState("转项目"); + } + resultList.add(handleProcess); + //迁移图片到事件图片中去 + if(null != ipr.getImages() && ipr.getImages().size() > 0){ + for(String image : ipr.getImages()){ + handleImagesList.add(image); + } + ipr.setImages(null); + } + i++; + } + return resultList; + } + /** * @describe: 重新组装图片 * @author wangtong @@ -1268,13 +1355,16 @@ public class ItemServiceImpl extends BaseServiceImpl implem * @params [] * @return java.util.List */ - private List getImageFileNew(String eventId){ + private List getImageFileNew(String eventId,List handleImagesList){ //查询图片列表 QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq(StringUtils.isNotBlank(eventId), "REFERENCE_ID", eventId); List imageList = imgDao.selectList(wrapper); if (null != imageList && !imageList.isEmpty()) { - List imgUrlList = this.getUploadDTOList(imageList); + for(ImgEntity im : imageList){ + handleImagesList.add(im.getImgUrl()); + } + List imgUrlList = this.getUploadDTOListNew(handleImagesList); return imgUrlList; } return null; @@ -1309,6 +1399,34 @@ public class ItemServiceImpl extends BaseServiceImpl implem return imageFile; } + //压缩图片并上传到服务器,得到新的地址 + private List getUploadDTOListNew(List imageList) { + List imgUrlList = new ArrayList<>(); + List notNeedCompressImgUrlList = new ArrayList<>(); + List needCompressImgUrlList = new ArrayList<>(); + for (String image : imageList) { + long imgLength = CompressImgUtils.getFileLength(image); + if (imgLength > 1024 * 1024) { + needCompressImgUrlList.add(image); + } else { + notNeedCompressImgUrlList.add(image); + } + } + if (null != needCompressImgUrlList && needCompressImgUrlList.size() > 0) { + //如果图片大于1M则需要压缩 + Result> result = ossFeignClient.compressImg(needCompressImgUrlList); + if (!result.success()) { + throw new RenException("图片压缩异常" + result.getMsg()); + } + if (null == result.getData() || result.getData().size() == 0) { + throw new RenException("图片压缩失败" + result.getMsg()); + } + imgUrlList.addAll(result.getData()); + } + imgUrlList.addAll(notNeedCompressImgUrlList); + return imgUrlList; + } + //压缩图片并上传到服务器,得到新的地址 private List getUploadDTOList(List imageList) { List imgUrlList = new ArrayList<>();