Browse Source

项目上传到网格化平台调整

feature/dangjian
Jackwang 3 years ago
parent
commit
a54e25c726
  1. 12
      esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysDeptDTO.java
  2. 3
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/SysDeptEntity.java
  3. 41
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/ExamineCaseFormDTO.java
  4. 1
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/enums/ItemGridPlatformHandleStatusEnum.java
  5. 14
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemController.java
  6. 9
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java
  7. 195
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java

12
esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysDeptDTO.java

@ -92,6 +92,10 @@ public class SysDeptDTO extends TreeNode implements Serializable {
@ApiModelProperty(value = "纬度")
private String latitude;
/**第三方编码
*/
private String infoCode;
public String getPartyCode() {
return partyCode;
}
@ -191,4 +195,12 @@ public class SysDeptDTO extends TreeNode implements Serializable {
public void setLatitude(String latitude) {
this.latitude = latitude;
}
public String getInfoCode() {
return infoCode;
}
public void setInfoCode(String infoCode) {
this.infoCode = infoCode;
}
}

3
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/SysDeptEntity.java

@ -104,4 +104,7 @@ public class SysDeptEntity extends BaseEntity {
*/
private String areaCode;
/**第三方编码
*/
private String infoCode;
}

41
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/ExamineCaseFormDTO.java

@ -0,0 +1,41 @@
package com.elink.esua.epdc.dto.item.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;
/**
* @program: esua-epdc
* @description: 结案审批提交
* @author: wangtong
* @create: 2022-09-05 09:54
**/
@Data
public class ExamineCaseFormDTO implements Serializable {
/**
* 项目ID
*/
@NotBlank(message = "项目id不可为空")
private String itemId;
/**
* 结案审批0通过-并上报至网格化 1不通过-返回至网格
*/
@NotBlank(message = "结案审批标识不可为空")
private String checkFlag;
/**
* 处理意见外部
*/
@NotBlank(message = " 处理意见不可为空")
private String outHandleAdvice;
/**
* 意见图片
*/
private List<String> images;
}

1
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/enums/ItemGridPlatformHandleStatusEnum.java

@ -6,6 +6,7 @@ package com.elink.esua.epdc.enums;
* @Description: 网格化平台案件处理状态
*/
public enum ItemGridPlatformHandleStatusEnum {
HANDLE_SQ(11, "结案申请"),
HANDLE_SB(15, "上报"),
HANDLE_SL(20, "受理"),
HANDLE_LA(25, "立案"),

14
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemController.java

@ -30,6 +30,7 @@ import com.elink.esua.epdc.dto.events.form.EventDeleteCommentsFormDTO;
import com.elink.esua.epdc.dto.form.KpiMetaDataOfEventsFormDTO;
import com.elink.esua.epdc.dto.item.ItemDTO;
import com.elink.esua.epdc.dto.item.ItemPendingHandleDTO;
import com.elink.esua.epdc.dto.item.form.ExamineCaseFormDTO;
import com.elink.esua.epdc.dto.item.form.HandleResultDTOSFormDTO;
import com.elink.esua.epdc.dto.item.form.ItemHandleSubmitFormDTO;
import com.elink.esua.epdc.dto.item.result.*;
@ -331,5 +332,18 @@ public class ItemController {
PageData<ItemExaminePageResultDTO> page = itemService.getExaminePage(params);
return new Result<PageData<ItemExaminePageResultDTO>>().ok(page);
}
/**
* @describe: 社区审批结案申请
* @author wangtong
* @date 2022/9/5 10:18
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
@PostMapping("examineCase")
public Result examineCase(@RequestBody ExamineCaseFormDTO formDto) {
return itemService.examineCase(formDto);
}
}

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

@ -517,4 +517,13 @@ public interface ItemService extends BaseService<ItemEntity> {
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.item.ItemPendingHandleDTO>>
*/
PageData<ItemExaminePageResultDTO> getExaminePage(Map<String, Object> params);
/**
* @describe: 社区审批结案申请
* @author wangtong
* @date 2022/9/5 10:18
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
Result examineCase(ExamineCaseFormDTO formDto);
}

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

@ -82,6 +82,7 @@ import com.elink.esua.epdc.modules.interfacelog.service.InterfaceLogService;
import com.elink.esua.epdc.modules.issue.service.IssueService;
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.ItemLawDao;
import com.elink.esua.epdc.modules.item.entity.*;
import com.elink.esua.epdc.modules.item.service.*;
@ -181,6 +182,9 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
@Autowired
private ItemLawDao itemLawDao;
@Autowired
private ItemHandleProcessDao itemHandleProcessDao;
@Override
public PageData<ItemDTO> page(Map<String, Object> params) {
IPage<ItemEntity> page = baseDao.selectPage(
@ -1349,7 +1353,7 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
private SendEventResultDto reportCaseNew(ItemHandleSubmitFormDTO dto) throws Exception {
ItemEntity entity = baseDao.selectById(dto.getId());
// 组装上报信息
SendEventFormDto sendEventFormDto = packageSendEventEntity(entity);
SendEventFormDto sendEventFormDto = packageSendEventEntity(entity,dto);
// 接口请求返回实体,getCode 1失败 0成功(非空)
log.info("处理项目-进入上报网格化平台-发送");
SendEventResultDto sendResult = shiBeiCityGridApi.sendEvent(sendEventFormDto);
@ -1456,13 +1460,28 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
* @params [itemEntity]
* @return com.elink.esua.epdc.gird.shibei.dto.form.SendInputInfoFormDto
*/
private SendEventFormDto packageSendEventEntity(ItemEntity itemEntity) throws Exception {
UserDetail user = SecurityUser.getUser();
private SendEventFormDto packageSendEventEntity(ItemEntity itemEntity,ItemHandleSubmitFormDTO dto) throws Exception {
SendEventFormDto sendDto = new SendEventFormDto();
SendInputInfoFormDto formDto = new SendInputInfoFormDto();
//推送类别(事件上报)
sendDto.setSENDTYPE(CommonConstants.SEND_TYPE);
//上报至区中心平台
//上报
if("1".equals(itemEntity.getIsPeople()) &&
("1".equals(itemEntity.getPeopleFlag()) || "2".equals(itemEntity.getPeopleFlag()))){
//发展、执法上报到区中心平台
sendDto.setSENDACTDEFID(CommonConstants.PARTY_SEND_TO);
sendDto.setSJZT(CommonConstants.PARTY_ITEM_ZT_ONE);
}else{
//民生、正常议题转项目来的到街道平台
sendDto.setSENDACTDEFID(CommonConstants.PARTY_SEND_STREET);
if(ItemHandleCategoryEnum.HANDLE_CLOSING_CASE_APPLY.getValue() == dto.getHandleCategory()){
//结案申请
sendDto.setSJZT(CommonConstants.PARTY_ITEM_ZT_ZERO);
}else {
//吹哨
sendDto.setSJZT(CommonConstants.PARTY_ITEM_ZT_ONE);
}
}
sendDto.setSENDACTDEFID(CommonConstants.PARTY_SEND_TO);
//推送端记录唯一标识
sendDto.setUID(UUID.randomUUID().toString().trim().replaceAll("-", ""));
@ -1492,6 +1511,18 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
//所属区市:只有市北区
sendDto.setSSQS(CommonConstants.CITY_INFO_CODE);
//查询网格所对应的社区编码、街道编码
if(StringUtils.isNotBlank(itemEntity.getPeopleFlag()) && "2".equals(itemEntity.getPeopleFlag())){
//执法诉求gridId存的是街道id,需要单独查
Result<SysDeptDTO> streetResult = adminFeignClient.getSysDeptInfo(itemEntity.getGridId());
SysDeptDTO deptInfo = streetResult.getData();
if(deptInfo == null){
throw new RenException("根据街道ID获取对应的街道编码失败" + streetResult.getMsg());
}
//所属街道
sendDto.setSSJD(deptInfo.getInfoCode());
//事件描述
sendDto.setSJMS(getItemLawContent(itemEntity.getId()));
}else{
Result<DeptInfoCodeDTO> deptResult = adminFeignClient.getDeptInfoCode(itemEntity.getGridId());
DeptInfoCodeDTO deptInfo = deptResult.getData();
if(deptInfo == null){
@ -1499,6 +1530,9 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
}
//所属街道
sendDto.setSSJD(deptInfo.getStreetInfoCode());
//事件描述
sendDto.setSJMS(itemEntity.getItemContent());//
}
//所属社区
sendDto.setSSSQ("");//deptInfo.getCommunityInfoCode()
//诉求联系人及联系方式
@ -1510,8 +1544,6 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
}
//事件地址
sendDto.setSJDZ(itemEntity.getIssueAddress());
//事件描述
sendDto.setSJMS(itemEntity.getItemContent());//
log.info("处理项目-gps开始");
double[] gps = GPSUtils.gcj02_To_Gps84(itemEntity.getIssueLatitude(), itemEntity.getIssueLongitude());
log.info("处理项目-gps结束");
@ -1525,6 +1557,8 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
List<EventHandleListFormDto> handleList = getHandleList(itemEntity.getId(),handleImagesList);
log.info("处理项目-获取进度结束");
sendDto.setHandleList(handleList);
//备注
sendDto.setBZXX(dto.getOutHandleAdvice());
//图片
List<String> images = getImageFileNew(itemEntity.getEventId() == null?itemEntity.getId():itemEntity.getEventId(),handleImagesList);//事件图片+处理流程图片
//时间处理进度图片
@ -1533,6 +1567,30 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
return sendDto;
}
private String getItemLawContent(String itemId){
QueryWrapper<ItemLawEntity> wrapper = new QueryWrapper<>();
wrapper.eq("item_id", itemId);
wrapper.eq("del_flag", "0");
ItemLawEntity itemLaw = itemLawDao.selectOne(wrapper);
String result = "事项名称-" + itemLaw.getLawName()
+ ";诉求详情-"+itemLaw.getLawContent()
+ ";主办单位-"+itemLaw.getHostUnit()
+ ";协办单位-"+itemLaw.getAssistUnit()
+ ";有关需求-"+itemLaw.getDemand()
+ ";事项类型-"+("0".equals(itemLaw.getLawType())?"计划事项":"临时事项")
+ ";与部门是否沟通-"+("0".equals(itemLaw.getIsExchange())?"已经沟通":"尚未沟通")
+ ";召集人姓名-"+itemLaw.getConvenerName()
+ ";召集人职务-"+itemLaw.getConvenerJob()
+ ";召集人电话-"+itemLaw.getConvenerMobile()
+ ";联系人姓名-"+itemLaw.getContactName()
+ ";联系人职务-"+itemLaw.getContactJob()
+ ";联系人电话-"+itemLaw.getContactMobile()
+ ";报到时间-"+DateUtils.format(itemLaw.getReportTime(),DateUtils.DATE_TIME_PATTERN)
+ ";报到地点-"+itemLaw.getReportAddress()
+ ";会议名称-"+itemLaw.getMeetingName()+"。";
return result;
}
private List<EventHandleListFormDto> getHandleList(String itemId, List<String> handleImagesList) {
//未组装的事件处理流程
List<ItemHandleProgressResultDTO> handleList = baseDao.selectListOfItemHandleProgressByMobile(itemId);
@ -1554,16 +1612,59 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
}
handleProcess.setItemDeptDTOS(itemDepts);
if (ipr.getState() == 0 && ipr.getItemDeptDTOS().size() > 0) {
handleProcess.setState("吹哨");
} else if (ipr.getState() == 0 && ipr.getItemDeptDTOS().size() == 0) {
handleProcess.setState("办理");
// 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 (ipr.getState() == 0) {
handleProcess.setState("处理中");
}else if (ipr.getState() == 5) {
handleProcess.setState("关闭");
handleProcess.setState("不予受理");
} else if (ipr.getState() == 10) {
handleProcess.setState("结案");
} else if ( ipr.getState() == 11 || ipr.getState() == 12 || ipr.getState() == 13) {
handleProcess.setState("满意度评价");
handleProcess.setState("已结案");
} else if ( ipr.getState() == 11) {
handleProcess.setState("结案申请");
} else if ( ipr.getState() == 12) {
handleProcess.setState("响应拟办");
} else if ( ipr.getState() == 13) {
handleProcess.setState("直接办理");
} else if (ipr.getState() == 15) {
handleProcess.setState("上报网格化平台");
} else if (ipr.getState() == 20) {
@ -1735,12 +1836,12 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
itemGridPlatformEntity.setReferenceId(handleProcessEntity.getItemId());
itemGridPlatformEntity.setTaskid(sendResult.getP_recId());
itemGridPlatformEntity.setReportPersonDeptId(handleProcessEntity.getHandlerDeptId());
itemGridPlatformEntity.setStatus(ItemGridPlatformHandleStatusEnum.HANDLE_SB.getValue());
itemGridPlatformEntity.setStatus(handleProcessEntity.getState());
itemGridPlatformService.insert(itemGridPlatformEntity);
GridPlatformHandleLogEntity logEntity = new GridPlatformHandleLogEntity();
logEntity.setItemGridPlatformId(itemGridPlatformEntity.getId());
logEntity.setStatus(ItemGridPlatformHandleStatusEnum.HANDLE_SB.getValue());
logEntity.setStatus(handleProcessEntity.getState());
logEntity.setItemHandleProcessId(handleProcessEntity.getItemId());
logEntity.setHandler(user.getRealName());
logEntity.setHandlingOpinions(handleProcessEntity.getHandleAdvice());
@ -2271,4 +2372,66 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
return new PageData<>(list, page.getTotal());
}
@Override
@Transactional(rollbackFor = Exception.class)
public Result examineCase(ExamineCaseFormDTO formDto) {
UserDetail user = SecurityUser.getUser();
if (null == user) {
throw new RuntimeException("获取用户信息失败");
}
ItemHandleProcessEntity process = new ItemHandleProcessEntity();
process.setItemId(formDto.getItemId());
process.setOutHandleAdvice(formDto.getOutHandleAdvice());
process.setHandlerDept(user.getDeptName());
process.setHandlerDeptId(user.getDeptId());
if("0".equals(formDto.getCheckFlag())){
//同意
process.setState(11);//结案申请
}else if("1".equals(formDto.getCheckFlag())){
//不同意,返回网格待处理列表
process.setState(0);//待处理
}else{
throw new RenException("审批标识有误");
}
itemHandleProcessDao.insert(process);
if("0".equals(formDto.getCheckFlag())){
//发送结案申请至街道网格化平台
ItemHandleSubmitFormDTO dto = new ItemHandleSubmitFormDTO();
dto.setId(formDto.getItemId());
dto.setOutHandleAdvice(process.getOutHandleAdvice());
dto.setHandleCategory(ItemHandleCategoryEnum.HANDLE_CLOSING_CASE_APPLY.getValue());
sendItemToDsf(dto,process);
}
return new Result();
}
/**
* @describe: 上报项目至网格化平台并保存记录
* @author wangtong
* @date 2022/9/5 14:37
* @params [dto]
* @return void
*/
@Transactional(rollbackFor = Exception.class)
public void sendItemToDsf(ItemHandleSubmitFormDTO dto,ItemHandleProcessEntity process){
boolean reportFlag = this.checkReport(dto.getId());
if (reportFlag) {
throw new RenException("当前项目已上报网格化平台");
}
SendEventResultDto sendResult = null;
try {
sendResult = this.reportCaseNew(dto);
} catch (Exception e) {
throw new RenException("上报网格化平台接口失败" + sendResult.getMessage());
}
if (null == sendResult || !("0").equals(sendResult.getCode())) {
// 接口没有返回信息,也没有异常信息
throw new RenException("上报网格化平台接口失败" + sendResult.getMessage());
}
// 记录平台上报信息
this.saveItemGridPlatformInfo(sendResult, process);
}
}

Loading…
Cancel
Save