|
|
|
@ -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,13 +1511,28 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem |
|
|
|
//所属区市:只有市北区
|
|
|
|
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()); |
|
|
|
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){ |
|
|
|
throw new RenException("根据网格ID获取对应的社区编码、街道编码失败" + deptResult.getMsg()); |
|
|
|
} |
|
|
|
//所属街道
|
|
|
|
sendDto.setSSJD(deptInfo.getStreetInfoCode()); |
|
|
|
//事件描述
|
|
|
|
sendDto.setSJMS(itemEntity.getItemContent());//
|
|
|
|
} |
|
|
|
//所属街道
|
|
|
|
sendDto.setSSJD(deptInfo.getStreetInfoCode()); |
|
|
|
//所属社区
|
|
|
|
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("办理"); |
|
|
|
} else if (ipr.getState() == 5) { |
|
|
|
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("不予受理"); |
|
|
|
} 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) { |
|
|
|
@ -1583,7 +1684,7 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem |
|
|
|
} else if (ipr.getState() == 55) { |
|
|
|
handleProcess.setState("网格化平台-催办"); |
|
|
|
} else if (ipr.getState() == 60) { |
|
|
|
handleProcess.setState("网格化平台-结案"); |
|
|
|
handleProcess.setState("网格化平台-结案"); |
|
|
|
} else if (ipr.getState() == 65) { |
|
|
|
handleProcess.setState("网格化平台-办理"); |
|
|
|
} else if (ipr.getState() == 70) { |
|
|
|
@ -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); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|