Browse Source

【事件上报修改】-【事件上报】-(王童)-2020/12/16

feature/dangjian
Jackwang 5 years ago
parent
commit
13c0646b84
  1. 57
      esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/DeptInfoCodeDTO.java
  2. 12
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysDeptController.java
  3. 9
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysDeptDao.java
  4. 9
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java
  5. 6
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java
  6. 12
      esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysDeptDao.xml
  7. 11
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/AdminFeignClient.java
  8. 6
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/AdminFeignClientFallback.java
  9. 9
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDao.java
  10. 126
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java
  11. 23
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml

57
esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/DeptInfoCodeDTO.java

@ -0,0 +1,57 @@
package com.elink.esua.epdc.dto;
import lombok.Data;
import java.io.Serializable;
/**
* @program: esua-epdc
* @description: 社区街道第三方编码信息
* @author: wangtong
* @create: 2020-12-16 16:14
**/
@Data
public class DeptInfoCodeDTO implements Serializable {
private static final long serialVersionUID = 2506189061187931394L;
/**
* 网格id
*/
private Long gridId;
/**
* 网格名称
*/
private String gridName;
/**
*社区id
*/
private Long communityId;
/**
*社区名称
*/
private String communityName;
/**
* 社区第三方编码
*/
private String communityInfoCode;
/**
*街道id
*/
private Long streetId;
/**
*街道名称
*/
private String streetName;
/**
* 街道第三方编码
*/
private String streetInfoCode;
}

12
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysDeptController.java

@ -361,4 +361,16 @@ public class SysDeptController {
List<SysDeptDTO> list= sysDeptService.getKpiGridIds(dto);
return new Result<List<SysDeptDTO>>().ok(list);
}
/**
* @describe: 根据网格id获取 社区街道第三方编码信息
* @author wangtong
* @date 2020/12/16 16:29
* @params [deptId]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
@GetMapping("getDeptInfoCode")
public Result<DeptInfoCodeDTO> getDeptInfoCode(Long gridId) {
return sysDeptService.getDeptInfoCode(gridId);
}
}

9
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysDeptDao.java

@ -240,4 +240,13 @@ public interface SysDeptDao extends BaseDao<SysDeptEntity> {
* @return java.util.List<com.elink.esua.epdc.dto.SysDeptDTO>
*/
List<SysDeptDTO> selectKpiGrids (KpiGridIdsFormDTO dto);
/**
* @describe: 根据网格id获取 社区街道第三方编码信息
* @author wangtong
* @date 2020/12/16 16:32
* @params [gridId]
* @return com.elink.esua.epdc.dto.DeptInfoCodeDTO
*/
DeptInfoCodeDTO selectDeptInfoCode(@Param("gridId") Long gridId);
}

9
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java

@ -320,4 +320,13 @@ public interface SysDeptService extends BaseService<SysDeptEntity> {
* @return java.util.List<com.elink.esua.epdc.dto.SysDeptDTO>
*/
List<SysDeptDTO> getKpiGridIds(KpiGridIdsFormDTO dto);
/**
* @describe: 根据网格id获取 社区街道第三方编码信息
* @author wangtong
* @date 2020/12/16 16:31
* @params [deptId]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.DeptInfoCodeDTO>
*/
Result<DeptInfoCodeDTO> getDeptInfoCode(Long gridId);
}

6
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java

@ -1119,4 +1119,10 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
public List<SysDeptDTO> getKpiGridIds(KpiGridIdsFormDTO dto) {
return baseDao.selectKpiGrids(dto);
}
@Override
public Result<DeptInfoCodeDTO> getDeptInfoCode(Long gridId) {
DeptInfoCodeDTO result = baseDao.selectDeptInfoCode(gridId);
return new Result<DeptInfoCodeDTO>().ok(result);
}
}

12
esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysDeptDao.xml

@ -429,4 +429,16 @@
and d.id = #{gridId}
</if>
</select>
<select id="selectDeptInfoCode" resultType="com.elink.esua.epdc.dto.DeptInfoCodeDTO">
select g.id as gridId,g.name as gridName,
c.id as communityId,c.name as communityName,c.info_code as communityInfoCode,
s.id as streetId,s.name as streetName,s.info_code as streetInfoCode
from sys_dept g
left join sys_dept c on g.pid=c.id
left join sys_dept s on c.pid=s.id
where g.del_flag=0
and c.del_flag=0
and s.del_flag=0
and g.id=#{gridId}
</select>
</mapper>

11
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/AdminFeignClient.java

@ -5,6 +5,7 @@ import com.elink.esua.epdc.commons.tools.security.content.dto.form.ParentAndAllD
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.CompleteDeptDTO;
import com.elink.esua.epdc.dto.DeptGridPlatformDTO;
import com.elink.esua.epdc.dto.DeptInfoCodeDTO;
import com.elink.esua.epdc.dto.SysDeptDTO;
import com.elink.esua.epdc.modules.feign.fallback.AdminFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
@ -36,6 +37,16 @@ public interface AdminFeignClient {
@GetMapping("sys/dept/getCompleteDept/{gridId}")
Result<CompleteDeptDTO> getCompleteDept(@PathVariable("gridId") Long gridId);
/**
* @describe: 根据网格id获取 社区街道第三方编码信息
* @author wangtong
* @date 2020/12/16 16:23
* @params [gridId]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.DeptInfoCodeDTO>
*/
@GetMapping("sys/dept/getDeptInfoCode")
Result<DeptInfoCodeDTO> getDeptInfoCode(@RequestParam("gridId") Long gridId);
/**
* 通过街道ID获取项目可流转部门
* @Params: [deptId]

6
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/AdminFeignClientFallback.java

@ -6,6 +6,7 @@ import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.CompleteDeptDTO;
import com.elink.esua.epdc.dto.DeptGridPlatformDTO;
import com.elink.esua.epdc.dto.DeptInfoCodeDTO;
import com.elink.esua.epdc.dto.SysDeptDTO;
import com.elink.esua.epdc.modules.feign.AdminFeignClient;
import org.springframework.stereotype.Component;
@ -26,6 +27,11 @@ public class AdminFeignClientFallback implements AdminFeignClient {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "getCompleteDept", gridId);
}
@Override
public Result<DeptInfoCodeDTO> getDeptInfoCode(Long gridId) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "getDeptInfoCode", gridId);
}
@Override
public Result<List<SysDeptDTO>> listOfItemCirculationDept(Long deptId) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "listOfItemCirculationDept", deptId);

9
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDao.java

@ -355,4 +355,13 @@ public interface ItemDao extends BaseDao<ItemEntity> {
* @return void
*/
void rejectItemSatisfactionInfo(@Param("id") String id);
/**
* @describe: 通过项目id查询项目所在的二级分类
* @author wangtong
* @date 2020/12/16 18:26
* @params [id]
* @return java.lang.Integer
*/
String selectSecondCateByItemId(@Param("id")String id);
}

126
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java

@ -65,7 +65,9 @@ import com.elink.esua.epdc.gird.shibei.dto.SearchCaseProcessByTaskIdDto;
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.result.SendEventResultDto;
import com.elink.esua.epdc.gird.shibei.util.XstreamUtil;
import com.elink.esua.epdc.modules.async.IssueOverseeResultsTask;
import com.elink.esua.epdc.modules.async.NewsTask;
@ -733,20 +735,20 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
}
handleProcessEntity.setState(dto.getHandleCategory());
informationFormDTO.setTitle(EventsNoticeConstant.NOTICE_REPORT);
GridDto gridDto = null;
SendEventResultDto sendResult = null;
try {
gridDto = this.reportCase(dto);
sendResult = this.reportCaseNew(dto);
} catch (Exception e) {
return new Result().error("上报网格化平台接口失败" + e.getMessage());
}
if (null == gridDto || !("0").equals(gridDto.getReturnCode())) {
if (null == sendResult || !("0").equals(sendResult.getCode())) {
// 接口没有返回信息,也没有异常信息
return new Result().error("上报网格化平台接口失败" + gridDto.getReturnDescription());
return new Result().error("上报网格化平台接口失败" + sendResult.getMessage());
}
// 记录处理记录
itemHandleProcessService.insert(handleProcessEntity);
// 记录平台上报信息
this.saveItemGridPlatformInfo(gridDto, handleProcessEntity);
this.saveItemGridPlatformInfo(sendResult, handleProcessEntity);
} else {
handleProcessEntity.setState(dto.getHandleCategory());
// 更新项目状态
@ -1086,6 +1088,30 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
return gridDto;
}
/**
* @describe: 新版时间上报
* @author wangtong
* @date 2020/12/16 10:45
* @params [dto]
* @return com.elink.esua.epdc.gird.shibei.dto.GridDto
*/
private SendEventResultDto reportCaseNew(ItemHandleSubmitFormDTO dto) throws Exception {
ItemEntity entity = baseDao.selectById(dto.getId());
// 组装上报信息
SendEventFormDto sendEventFormDto = packageSendEventEntity(entity);
// 接口请求返回实体,getCode 1失败 0成功(非空)
SendEventResultDto sendResult = shiBeiCityGridApi.sendEvent(sendEventFormDto);
// 保存接口调用日志
String successFlag = YesOrNoEnum.NO.value();
if (NumConstant.ZERO_STR.equals(sendResult.getCode())) {
successFlag = YesOrNoEnum.YES.value();
}
this.saveInterfaceLog(dto.getId(), InterfaceLogBusinessTypeEnum.REPORT_ITEM.getValue(),
ApiConstants.newSendInputInfo, successFlag, XstreamUtil.objectToXml(sendEventFormDto),
XstreamUtil.objectToXml(sendResult));
return sendResult;
}
/**
* 保存接口调用日志
*
@ -1169,6 +1195,90 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
return formDto;
}
/**
* @describe: 组装时间上报参数
* @author wangtong
* @date 2020/12/16 10:51
* @params [itemEntity]
* @return com.elink.esua.epdc.gird.shibei.dto.form.SendInputInfoFormDto
*/
private SendEventFormDto packageSendEventEntity(ItemEntity itemEntity) throws Exception {
UserDetail user = SecurityUser.getUser();
SendEventFormDto sendDto = new SendEventFormDto();
SendInputInfoFormDto formDto = new SendInputInfoFormDto();
//推送类别(事件上报)
sendDto.setSENDTYPE(CommonConstants.SEND_TYPE);
//上报至区中心平台
sendDto.setSENDACTDEFID(CommonConstants.PARTY_SEND_TO);
//推送端记录唯一标识
sendDto.setUID(UUID.randomUUID().toString().trim().replaceAll("-", ""));
//事件领域
Integer lingYu = Integer.valueOf(itemEntity.getFirstCategoryCode());
if(lingYu < 10){
sendDto.setSJLYU("0"+itemEntity.getFirstCategoryCode());
}else{
sendDto.setSJLYU(itemEntity.getFirstCategoryCode());
}
//事件大类
String secondCate = baseDao.selectSecondCateByItemId(itemEntity.getId());
if(StringUtils.isNotBlank(secondCate)){
if(secondCate.length()==3){
sendDto.setSJDL("0"+secondCate);
}else{
sendDto.setSJDL(secondCate);
}
}
//事件小类
sendDto.setSJXL("");
//事件细类
sendDto.setSJXIL("");
//事件来源 04代表 党群e家上报 06代表在市北App上报
sendDto.setSJLY(CommonConstants.PARTY_EVENT_SOURCE);
//所属区市:只有市北区
sendDto.setSSQS(CommonConstants.CITY_INFO_CODE);
//查询网格所对应的社区编码、街道编码
Result<DeptInfoCodeDTO> deptResult = adminFeignClient.getDeptInfoCode(itemEntity.getGridId());
DeptInfoCodeDTO deptInfo = deptResult.getData();
if(deptInfo == null){
throw new RenException("根据网格ID获取对应的社区编码、街道编码失败" + deptResult.getMsg());
}
//所属街道
sendDto.setSSJD(deptInfo.getStreetInfoCode());
//所属社区
sendDto.setSSSQ("");//deptInfo.getCommunityInfoCode()
//事件地址
sendDto.setSJDZ(itemEntity.getIssueAddress());
//事件描述
sendDto.setSJMS("测试1217【联系电话:17806265786】");//itemEntity.getItemContent()
double[] gps = GPSUtils.gcj02_To_Gps84(itemEntity.getIssueLatitude(), itemEntity.getIssueLongitude());
//X坐标(经纬度)
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));
//图片
sendDto.setIMAGES(getImageFileNew(itemEntity.getEventId()));
return sendDto;
}
/**
* @describe: 重新组装图片
* @author wangtong
* @date 2020/12/16 15:56
* @params []
* @return java.util.List<java.lang.String>
*/
private List<String> getImageFileNew(String eventId){
//查询图片列表
QueryWrapper<ImgEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(eventId), "REFERENCE_ID", eventId);
List<ImgEntity> imageList = imgDao.selectList(wrapper);
if (null != imageList && !imageList.isEmpty()) {
List<String> imgUrlList = this.getUploadDTOList(imageList);
return imgUrlList;
}
return null;
}
// 组装事件图片
private ImageFile getImageFile(String eventId) {
ImageFile imageFile = new ImageFile();
@ -1227,18 +1337,18 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
}
/**
* @param gridDto
* @param
* @param handleProcessEntity
* @return void
* @Author yinzuomei
* @Description
* @Date 2019/12/25 15:29
**/
private void saveItemGridPlatformInfo(GridDto gridDto, ItemHandleProcessEntity handleProcessEntity) {
private void saveItemGridPlatformInfo(SendEventResultDto sendResult, ItemHandleProcessEntity handleProcessEntity) {
UserDetail user = SecurityUser.getUser();
ItemGridPlatformEntity itemGridPlatformEntity = new ItemGridPlatformEntity();
itemGridPlatformEntity.setReferenceId(handleProcessEntity.getItemId());
itemGridPlatformEntity.setTaskid(gridDto.getTaskId());
itemGridPlatformEntity.setTaskid(sendResult.getP_recId());
itemGridPlatformEntity.setReportPersonDeptId(handleProcessEntity.getHandlerDeptId());
itemGridPlatformEntity.setStatus(ItemGridPlatformHandleStatusEnum.HANDLE_SB.getValue());
itemGridPlatformService.insert(itemGridPlatformEntity);

23
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml

@ -1067,4 +1067,27 @@
<update id="rejectItemSatisfactionInfo">
update epdc_item set EVALUATION_SCORE = null,EVALUATION_CONTENT = null,EVALUATION_TIME = null where id = #{id}
</update>
<select id="selectSecondCateByItemId" resultType="java.lang.String">
SELECT
case
when c3.category_code is null then c1.category_code
when c4.category_code is null then c2.category_code
when c5.category_code is null then c3.category_code
when c6.category_code is null then c4.category_code
when c7.category_code is null then c5.category_code
when c8.category_code is null then c6.category_code
end as category
FROM epdc_item t
left join `epdc_category` c1 on t.CATEGORY_CODE=c1.category_code and c1.enable_flag='1' and c1.del_flag='0'
left join epdc_category c2 on c1.pid=c2.id and c2.enable_flag='1' and c2.del_flag='0'
left join epdc_category c3 on c2.pid=c3.id and c3.enable_flag='1' and c3.del_flag='0'
left join epdc_category c4 on c3.pid=c4.id and c4.enable_flag='1' and c4.del_flag='0'
left join epdc_category c5 on c4.pid=c5.id and c5.enable_flag='1' and c5.del_flag='0'
left join epdc_category c6 on c5.pid=c6.id and c6.enable_flag='1' and c6.del_flag='0'
left join epdc_category c7 on c6.pid=c7.id and c7.enable_flag='1' and c7.del_flag='0'
left join epdc_category c8 on c7.pid=c8.id and c8.enable_flag='1' and c8.del_flag='0'
where
t.id=#{id}
and t.FIRST_CATEGORY_CODE!=t.category_code
</select>
</mapper>

Loading…
Cancel
Save