diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/result/ActReplyResultDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/result/ActReplyResultDTO.java new file mode 100644 index 000000000..eca3acd61 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/result/ActReplyResultDTO.java @@ -0,0 +1,86 @@ +package com.elink.esua.epdc.dto.item.result; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description + * @Author zhaoqifeng + * @Date 2022/9/23 10:32 + */ +@NoArgsConstructor +@Data +public class ActReplyResultDTO implements Serializable { + + /** + * zjhy + */ + private List zjhy; + /** + * lhzf + */ + private List lhzf; + + /** + * ZJHYBean + */ + @NoArgsConstructor + @Data + public static class ZJHYBean { + /** + * hysj + */ + private String hysj; + /** + * dd + */ + private String dd; + /** + * cjry + */ + private String cjry; + /** + * cjrs + */ + private Integer cjrs; + /** + * ygqk + */ + private String ygqk; + /** + * fj + */ + private String fj; + } + + /** + * LHZFBean + */ + @NoArgsConstructor + @Data + public static class LHZFBean { + /** + * sj + */ + private String sj; + /** + * dd + */ + private String dd; + /** + * ry + */ + private String ry; + /** + * ygqk + */ + private String ygqk; + /** + * fj + */ + private String fj; + } +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemGridPlatformServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemGridPlatformServiceImpl.java index 73e84340b..ee51e603a 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemGridPlatformServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemGridPlatformServiceImpl.java @@ -17,6 +17,7 @@ package com.elink.esua.epdc.modules.item.service.impl; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; @@ -24,6 +25,7 @@ import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.constant.FieldConstant; import com.elink.esua.epdc.dto.item.ItemGridPlatformDTO; +import com.elink.esua.epdc.dto.item.result.ActReplyResultDTO; import com.elink.esua.epdc.modules.item.dao.ItemGridPlatformDao; import com.elink.esua.epdc.modules.item.entity.ItemGridPlatformEntity; import com.elink.esua.epdc.modules.item.redis.ItemGridPlatformRedis; @@ -116,4 +118,15 @@ public class ItemGridPlatformServiceImpl extends BaseServiceImpl implem pushToCityGridService.AppealReporting(handleProcessEntity.getItemId(),handleProcessEntity.getState()); // 发送菜单消息-待处理项目-吹哨部门 this.sendWhistlingDeptItemHandleMenuNotice(deptIds, null); + pushToCityGridService.AppealHandling(ConvertUtils.sourceToTarget(handleProcessEntity, ItemHandleProcessDTO.class)); log.info("处理项目-结案申请-if结束"); } else { handleProcessEntity.setState(dto.getHandleCategory()); @@ -3086,6 +3087,10 @@ public class ItemServiceImpl extends BaseServiceImpl implem throw new RenException("审批标识有误"); } itemHandleProcessDao.insert(process); + //同意的时候,上报诉求处理 + if (NumConstant.ZERO_STR.equals(formDto.getCheckFlag())) { + pushToCityGridService.AppealHandling(ConvertUtils.sourceToTarget(process, ItemHandleProcessDTO.class)); + } if("0".equals(formDto.getCheckFlag())){ //发送结案申请至街道网格化平台 diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/PushToCityGridServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/PushToCityGridServiceImpl.java index 99327aa91..f6b9dbcf0 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/PushToCityGridServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/PushToCityGridServiceImpl.java @@ -20,6 +20,7 @@ package com.elink.esua.epdc.modules.item.service.impl; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.elink.esua.epdc.commons.tools.constant.NumConstant; +import com.elink.esua.epdc.commons.tools.constant.StrConstant; import com.elink.esua.epdc.commons.tools.enums.CityPushEnum; import com.elink.esua.epdc.commons.tools.enums.CityPushLinkEnum; import com.elink.esua.epdc.commons.tools.enums.CityPushStateEnum; @@ -33,14 +34,18 @@ import com.elink.esua.epdc.dto.item.result.*; import com.elink.esua.epdc.enums.ItemGridPlatformHandleStatusEnum; import com.elink.esua.epdc.gird.city.api.CityGridApi; import com.elink.esua.epdc.modules.item.dao.ItemDao; +import com.elink.esua.epdc.modules.item.dao.ItemGridPlatformDao; import com.elink.esua.epdc.modules.item.dao.ItemHandleProcessDao; import com.elink.esua.epdc.modules.item.dao.ItemReportInterfaceLogDao; import com.elink.esua.epdc.modules.item.entity.ItemEntity; +import com.elink.esua.epdc.modules.item.entity.ItemGridPlatformEntity; import com.elink.esua.epdc.modules.item.entity.ItemHandleProcessEntity; import com.elink.esua.epdc.modules.item.entity.ItemReportInterfaceLogEntity; +import com.elink.esua.epdc.modules.item.service.ItemGridPlatformService; import com.elink.esua.epdc.modules.item.service.ItemService; import com.elink.esua.epdc.modules.item.service.PushToCityGridService; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -49,6 +54,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.ArrayList; +import java.util.Arrays; import java.util.Date; import java.util.List; @@ -76,6 +82,8 @@ public class PushToCityGridServiceImpl implements PushToCityGridService { private ItemDao itemDao; @Resource private ItemReportInterfaceLogDao itemReportInterfaceLogDao; + @Resource + private ItemGridPlatformDao itemGridPlatformDao; @Override @@ -525,43 +533,70 @@ public class PushToCityGridServiceImpl implements PushToCityGridService { * @date 2022/9/19 11:02 */ @Override - public Result AppealHandling(ItemHandleProcessDTO Prodto) { - String id = Prodto.getId(); // ItemGridPlatformHandleStatusEnum.HANDLE_BL.getValue(); - AppealHandlingToCityResultDTO item = itemHandleProcessDao.getAppealHandling(id, Prodto.getItemId()); - - // 处理数据 -// for(AppealHandlingToCityResultDTO item : list) { + public Result AppealHandling(ItemHandleProcessDTO processDTO) { + String id = processDTO.getId(); + AppealHandlingToCityResultDTO item = itemHandleProcessDao.getAppealHandling(id, processDTO.getItemId()); AppealHandlingResultDTO data = new AppealHandlingResultDTO(); - // 诉求id data.setSqid(getSqid(item.getItemId())); // 诉求状态 data.setSqzt(CityPushStateEnum.DCL.getCode()); // 当前处理环节 data.setDqclhj(CityPushLinkEnum.SQ_CL.getCode()); - // 执法类型添加类型,纪要,进度字段 - if (item.getPeopleFlag().equals(NumConstant.TWO_STR)) { + if(item.getPeopleFlag().equals(NumConstant.TWO_STR)) { // 诉求类型(未知) data.setSqlx(NumConstant.TWO_STR); // 会议纪要(未知) data.setHyjy(item.getLawContent()); - // 责任分工处理 - String hostUnit = item.getHostUnit().trim().replaceAll("|", ","); // 主办 - String assistUnit = item.getAssistUnit().trim().replaceAll("|", ","); // 协办 + // 主办 + String hostUnit = null == item.getHostUnit()?"":item.getHostUnit().trim().replaceAll("\\|",","); + // 协办 + String assistUnit = null == item.getAssistUnit()?"":item.getAssistUnit().trim().replaceAll("\\|",","); data.setZrfg(hostUnit + "," + assistUnit); - - // 办理进度 - data.setBljd(""); + //办理进度 诉求分类是执法的时候 + //获取taskID + String bljd = ""; + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(ItemGridPlatformEntity::getReferenceId, processDTO.getItemId()); + ItemGridPlatformEntity platform = itemGridPlatformDao.selectOne(wrapper); + //调用接口,获取阶段性回复信息 + String url = "http://119.3.182.231:8080/sbwgh/plugin/sbwgh/getActReply.htm?recId=" + platform.getTaskid(); + String result = cityGridApi.getActReply(url); + ActReplyResultDTO actReply = JSONObject.parseObject(result, ActReplyResultDTO.class); + //数据拼接 + List fjList = new ArrayList<>(); + if (null != actReply) { + if (CollectionUtils.isNotEmpty(actReply.getLhzf())) { + actReply.getLhzf().forEach(bean -> { + if (StringUtils.isNotBlank(bean.getFj())) { + List list = Arrays.asList(bean.getFj().split(",")); + fjList.addAll(list); + } + }); + } + if (CollectionUtils.isNotEmpty(actReply.getZjhy())) { + actReply.getLhzf().forEach(bean -> { + if (StringUtils.isNotBlank(bean.getFj())) { + List list = Arrays.asList(bean.getFj().split(StrConstant.COMMA)); + fjList.addAll(list); + } + }); + } + if (CollectionUtils.isNotEmpty(fjList)) { + bljd = "http://119.3.182.231:8080/sbwgh/doc/getFile.htm?fileId="; + bljd = bljd.concat(StringUtils.join(fjList, StrConstant.COMMA)); + } + } + //办理进度 + data.setBljd(bljd); } - // 处理时间 data.setCzsj(item.getCreatedTime()); // 处理内容 data.setCznr(item.getHandleAdvice()); - // 处理照片 List urlList = itemHandleProcessDao.getURL(item.getItemId()); String url = ""; @@ -569,7 +604,6 @@ public class PushToCityGridServiceImpl implements PushToCityGridService { url = i + "," + url; } data.setClzp(url); - // 操作人 AppealHandlingResultDTO.CzrDTO dto = new AppealHandlingResultDTO.CzrDTO(); // 操作人姓名 @@ -584,13 +618,11 @@ public class PushToCityGridServiceImpl implements PushToCityGridService { dto.setSsbmid(item.getGridUnitid()); // 所属部门名称 dto.setSsbmmc(item.getGridUnitname()); - // 组装完成,推送 data.setCzr(dto); String result = cityGridApi.sendItemToCity(data, PushToCityGridConstant.HANDLE, "诉求处理"); - saveLog(item.getItemId(), item.getId(), "诉求处理", PushToCityGridConstant.HANDLE, JSONObject.toJSONString(data), result); -// } + saveLog(item.getItemId(),item.getId(),"诉求处理",PushToCityGridConstant.HANDLE,JSONObject.toJSONString(data),result); return new Result(); }