Browse Source

重新推送

master
lichao 2 years ago
parent
commit
0a2e326590
  1. 6
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemController.java
  2. 2
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java
  3. 376
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java

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

@ -802,5 +802,11 @@ public class ItemController {
log.info("产品调用返回"+itemList.toString());
return itemList;
}
@PostMapping("gov/pushToCityAgain")
public Result niceItem(){
return itemService.pushToCityAgain();
}
}

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

@ -844,4 +844,6 @@ public interface ItemService extends BaseService<ItemEntity> {
Result sqAppeal(AppealAuditFormDTO appealAuditFormDTO);
Result<List<ItemToEpmetDTO>> getItemList(Map<String, Object> params);
Result pushToCityAgain();
}

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

@ -54,6 +54,7 @@ import com.elink.esua.epdc.dto.category.CategoryDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO;
import com.elink.esua.epdc.dto.events.EpdcEventsCommentsDTO;
import com.elink.esua.epdc.dto.events.EventsCategoryDTO;
import com.elink.esua.epdc.dto.events.PushToCityGridCaseClosedDTO;
import com.elink.esua.epdc.dto.events.form.GroupFormDTO;
import com.elink.esua.epdc.dto.form.KpiMetaDataOfEventsFormDTO;
import com.elink.esua.epdc.dto.form.SmsNoticeFormDTO;
@ -107,6 +108,7 @@ import com.elink.esua.epdc.modules.rocketmq.dto.RejectRecordDTO;
import com.elink.esua.epdc.modules.screen.dao.MetaSysDeptDao;
import com.elink.esua.epdc.modules.screen.entity.MetaSysDeptEntity;
import com.elink.esua.epdc.user.dto.UserDTO;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.Lists;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
@ -122,6 +124,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestParam;
import javax.annotation.Resource;
import java.io.IOException;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.SimpleDateFormat;
@ -6217,4 +6220,377 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
List<ItemToEpmetDTO> itemToEpmetList = baseDao.selectItemList(params);
return new Result<List<ItemToEpmetDTO>>().ok(itemToEpmetList);
}
@Override
public Result pushToCityAgain() {
// todo lichao 重新推送
// 获取没有sqid的数据 筛选出 民生中 不是网格员上报 并且sqid是null的数据
LambdaQueryWrapper<ItemEntity> itemEntityLambdaQueryWrapper = new LambdaQueryWrapper<ItemEntity>()
.isNull(ItemEntity::getSqid).eq(ItemEntity::getPeopleFlag,0).ne(ItemEntity::getAppealSource,0);
List<ItemEntity> itemList = baseDao.selectList(itemEntityLambdaQueryWrapper);
itemList.forEach(entity -> {
LambdaQueryWrapper<ItemHandleProcessEntity> hanprocessThree = new LambdaQueryWrapper<ItemHandleProcessEntity>()
.eq(ItemHandleProcessEntity::getItemId,entity.getId()).eq(ItemHandleProcessEntity::getState,"11").orderByAsc(ItemHandleProcessEntity::getCreatedTime).last("limit 1");
ItemHandleProcessEntity itemThree = itemHandleProcessDao.selectOne(hanprocessThree);
// 如果诉求处理没有11状态的就不重新推送
if (itemThree != null){
if (entity.getId()!=null){
// todo 第一步 诉求登记
CityCaseLivelihoodDTO data = new CityCaseLivelihoodDTO();
data.setSqly(CityPushEnum.SQLY_WLFS.getCode());
data.setSqbm(entity.getSerialNum());
data.setJjcd(CityPushEnum.JJCD_YB.getCode());
data.setSqzt(CityPushLinkEnum.DJ.getCode());
data.setDqclhj(CityPushLinkEnum.SQCL.getCode());
data.setSbqs(CityPushEnum.SBQS_SB.getCode());
//民生诉求所属网格对应的所属社区的市中心编码
String code = "";
String name = "";
Result<CompleteDeptDTO> resultOne = adminFeignClient.getCompleteDept(entity.getGridId());
if (resultOne.success()) {
code = resultOne.getData().getCommunityDisCenterZoningCode();
name = resultOne.getData().getCommunity();
}
data.setSqssjg(code);
data.setSqssjgmc(name);
data.setSbrlxfs(entity.getMobile());
data.setSqzynr(entity.getItemContent());
data.setSqdz(entity.getIssueAddress());
double issueLatitude = BigDecimal.valueOf(entity.getIssueLatitude()).setScale(6, RoundingMode.HALF_UP).doubleValue();
double issueLongitude = BigDecimal.valueOf(entity.getIssueLongitude()).setScale(6, RoundingMode.HALF_UP).doubleValue();
data.setSqxy(issueLatitude + "," + issueLongitude);
data.setSqdjrq(DateUtils.format(entity.getCreatedTime(), DateUtils.DATE_TIME_PATTERN));
//诉求登记人
CityCaseLivelihoodPersonDTO sqdjr = new CityCaseLivelihoodPersonDTO();
sqdjr.setId(entity.getId());
sqdjr.setXm(entity.getContactName());
sqdjr.setSsbm(entity.getGrid());
sqdjr.setSsbmbm(getJgbm(entity.getGridId()));
sqdjr.setSsjg(name);
sqdjr.setSsjgbm(code);
data.setSqdjr(sqdjr);
QueryWrapper<ImgEntity> wrapper = new QueryWrapper<>();
wrapper.eq("REFERENCE_ID", entity.getEventId() == null ? entity.getId() : entity.getEventId());
List<ImgEntity> imageList = imgDao.selectList(wrapper);
//诉求照片
StringBuffer sqzp = new StringBuffer();
imageList.forEach(img -> {
sqzp.append(img.getImgUrl().replace(ApiConstants.eventOssUrlBefore, ApiConstants.eventOssUrlAfter)).append(",");
});
if (StringUtils.isNotBlank(sqzp)) {
data.setSqzp(sqzp.substring(0, sqzp.length() - 1));
}
data.setSbsm("");
data.setCzbs("01");
//发送到市平台
String resultString = cityGridApi.sendItemToCity(data, PushToCityGridConstant.CASE_LIVELIHOOD, "民生诉求");
//保存sqid
JSONObject shop_user = JSON.parseObject(resultString);
String sqid = JSON.parseObject(shop_user.getString("data")).getString("sqid");
entity.setSqid(sqid);
updateById(entity);
//保存日志
pushToCityGridServiceImpl.saveLog(entity.getId(), null, "诉求登记-民生-2", PushToCityGridConstant.CASE_LIVELIHOOD, JSONObject.toJSONString(data), resultString);
}
// todo 第二步 诉求响应
// 找到这一条的processid
LambdaQueryWrapper<ItemReportInterfaceLogEntity> reportqw = new LambdaQueryWrapper<ItemReportInterfaceLogEntity>()
.eq(ItemReportInterfaceLogEntity::getItemId,entity.getId()).eq(ItemReportInterfaceLogEntity::getInterfaceName,"响应接收").orderByAsc(ItemReportInterfaceLogEntity::getCreatedTime).last("limit 1");
ItemReportInterfaceLogEntity itemReportInterfaceLogEntity = itemReportInterfaceLogDao.selectOne(reportqw);
if (itemReportInterfaceLogEntity!=null){
ItemHandleProcessEntity item = itemHandleProcessDao.selectById(itemReportInterfaceLogEntity.getProcessId());
if (item!=null){
// 利用item组装
ReceiveResultDTO dto = new ReceiveResultDTO();
dto.setSqid(entity.getSqid());
dto.setCzbs("01");
//终验时间
dto.setCzsj(DateUtils.format(item.getCreatedTime(), DateUtils.DATE_TIME_PATTERN));
//终验人员
ReceiveResultDTO.CzrBean czr = new ReceiveResultDTO.CzrBean();
// 操作人姓名
czr.setXm(null == SecurityUser.getUser() ? "" : SecurityUser.getUser().getUsername());
// 操作人员唯一标识
czr.setId(item.getCreatedBy());
// 所属机构id
czr.setSsjgbm(getJgbmForAagin(item.getHandlerDeptId(), NumConstant.ZERO_STR));
// 所属机构名称
czr.setSsjg(getJgbmForAagin(item.getHandlerDeptId(), NumConstant.ONE_STR));
// 所属部门id
czr.setSsbmbm(String.valueOf(item.getHandlerDeptId()));
// 所属部门名称
czr.setSsbm(item.getHandlerDept());
dto.setCzr(czr);
// 组装好直接推送
String resultTwo = cityGridApi.sendItemToCity(dto, PushToCityGridConstant.RECEIVE, "响应接收");
pushToCityGridServiceImpl.saveLog(item.getItemId(), item.getId(), "响应接收-2", PushToCityGridConstant.RECEIVE, JSONObject.toJSONString(dto), resultTwo);
}
}
// todo 第三步 诉求处理
if (itemThree!=null){
AppealHandlingToCityResultDTO item = itemHandleProcessDao.getAppealHandling(itemThree.getId(), itemThree.getItemId());
ItemDTO itemDTO = baseDao.getCategoryInfo(itemThree.getItemId());
AppealHandlingResultDTO data = new AppealHandlingResultDTO();
// 诉求标题
data.setSqbt(itemThree.getTitle());
// 诉求性质
data.setSqxz(itemThree.getNature());
// 诉求id
data.setSqid(getSqid(itemThree.getItemId()));
// 诉求状态
data.setSqzt(CityPushStateEnum.DSH.getCode());
// 当前处理环节
data.setDqclhj(CityPushLinkEnum.SQSH.getCode());
//处置标识 01 社区处置 02 街道处置
data.setCzbs(itemThree.getHandlerDeptId()==0?"02":"01");
// 执法类型添加类型,纪要,进度字段
if (item.getPeopleFlag().equals(NumConstant.TWO_STR)) {
//办理进度 诉求分类是执法的时候
//获取taskID
LambdaQueryWrapper<ItemGridPlatformEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ItemGridPlatformEntity::getReferenceId, item.getItemId());
ItemGridPlatformEntity platform = itemGridPlatformDao.selectOne(wrapper);
//调用接口,获取阶段性回复信息
String url = ApiConstants.GET_ACT_REPLY + platform.getTaskid();
String result = cityGridApi.getActReply(url);
ActReplyResultDTO actReply = JSONObject.parseObject(result, ActReplyResultDTO.class);
//数据拼接
List<AppealHandlingResultDTO.ClfjDTO> clfjList = new ArrayList<>();
if (null != actReply) {
if (CollectionUtils.isNotEmpty(actReply.getLhzf())) {
actReply.getLhzf().forEach(bean -> {
AppealHandlingResultDTO.ClfjDTO clfj = new AppealHandlingResultDTO.ClfjDTO();
clfj.setHyjy("");
clfj.setHyjysm(item.getLawContent());
clfj.setZrfg("");
clfj.setZrfgsm(bean.getRy());
clfj.setBljdsm(bean.getYgqk());
if (StringUtils.isNotBlank(bean.getFj())) {
String bljd = ApiConstants.GET_FILE + bean.getFj();
clfj.setBljd(bljd);
}
clfjList.add(clfj);
});
}
if (CollectionUtils.isNotEmpty(actReply.getZjhy())) {
actReply.getZjhy().forEach(bean -> {
AppealHandlingResultDTO.ClfjDTO clfj = new AppealHandlingResultDTO.ClfjDTO();
clfj.setHyjy("");
clfj.setHyjysm(item.getLawContent());
clfj.setZrfg("");
clfj.setZrfgsm(bean.getCjry());
clfj.setBljdsm(bean.getYgqk());
if (StringUtils.isNotBlank(bean.getFj())) {
String bljd = ApiConstants.GET_FILE + bean.getFj();
clfj.setBljd(bljd);
}
clfjList.add(clfj);
});
}
}
//办理进度
data.setClfj(clfjList);
}
// 处理类型
data.setSqlx(itemDTO.getCategoryCodeOrigin());
// 处理时间
data.setCzsj(DateUtils.format(item.getCreatedTime(), DateUtils.DATE_TIME_PATTERN));
// 处理内容
data.setCznr(item.getHandleAdvice());
// 处理照片
List<String> urlList = itemHandleProcessDao.getImgUrl(item.getId());
String url = "";
for (String i : urlList) {
url = i + "," + url;
}
data.setClzp(url.replace(ApiConstants.eventOssUrlBefore, ApiConstants.eventOssUrlAfter));
// 操作人
AppealHandlingResultDTO.CzrDTO dto = new AppealHandlingResultDTO.CzrDTO();
if ("网格化平台".equals(item.getCreatedBy())) {
// 操作人姓名
dto.setXm(item.getGridPartyname());
// 操作人员唯一标识
dto.setId(item.getGridPartyid());
dto.setSsjgbm(item.getDisCenterZoningCode());
dto.setSsjg(item.getGridUnitname());
dto.setSsbmbm(item.getGridUnitid());
dto.setSsbm(item.getGridUnitname());
} else {
// 操作人姓名
dto.setXm(null == SecurityUser.getUser() ? "" : SecurityUser.getUser().getUsername());
// 操作人员唯一标识
dto.setId(item.getCreatedBy());
// 所属机构id
dto.setSsjgbm(getJgbmForAagin(item.getHandlerDeptId(), NumConstant.ZERO_STR));
// 所属机构名称
dto.setSsjg(getJgbmForAagin(item.getHandlerDeptId(), NumConstant.ONE_STR));
// 所属部门id
dto.setSsbmbm(String.valueOf(item.getHandlerDeptId()));
// 所属部门名称
dto.setSsbm(item.getHandlerDept());
}
// 组装完成,推送
data.setCzr(dto);
String result = cityGridApi.sendItemToCity(data, PushToCityGridConstant.HANDLE, "诉求处理");
pushToCityGridServiceImpl.saveLog(item.getItemId(), item.getId(), "诉求处理-2", PushToCityGridConstant.HANDLE, JSONObject.toJSONString(data), result);
}
// todo 第四步 诉求审核
// 找到这一条的processid
reportqw = new LambdaQueryWrapper<ItemReportInterfaceLogEntity>()
.eq(ItemReportInterfaceLogEntity::getItemId,entity.getId()).eq(ItemReportInterfaceLogEntity::getInterfaceName,"诉求审核").orderByAsc(ItemReportInterfaceLogEntity::getCreatedTime).last("limit 1");
ItemReportInterfaceLogEntity itemReportInterfaceLogEntityFour = itemReportInterfaceLogDao.selectOne(reportqw);
if (itemReportInterfaceLogEntityFour!=null){
ItemHandleProcessEntity item = itemHandleProcessDao.selectById(itemReportInterfaceLogEntityFour.getProcessId());
// 拼接数据
AppealAuditResultDTO dto = new AppealAuditResultDTO();
ObjectMapper objectMapper = new ObjectMapper();
AppealHandlingResultDTO appealHandlingResultDTO = new AppealHandlingResultDTO();
try {
appealHandlingResultDTO = objectMapper.readValue(itemReportInterfaceLogEntityFour.getCallMsgBody(), AppealHandlingResultDTO.class);
} catch (IOException e) {
}
if (appealHandlingResultDTO != null){
appealHandlingResultDTO.setSqid(entity.getSqid());
// 组装好直接推送
String result = cityGridApi.sendItemToCity(dto, PushToCityGridConstant.APPEAL_AUDIT, "诉求审核");
pushToCityGridServiceImpl.saveLog(item.getItemId(), item.getId(), "诉求审核-2", PushToCityGridConstant.APPEAL_AUDIT, JSONObject.toJSONString(dto), result);
}
}
// todo 第五步 诉求评价
// 找到这一条的processid
//已评价的item
LambdaQueryWrapper<ItemEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(entity.getId()), ItemEntity::getId, entity.getId());
List<ItemEntity> list = baseDao.selectList(wrapper);
// 拼接数据
list.forEach(item -> {
EvaluationResultDTO dto = new EvaluationResultDTO();
dto.setSqid(item.getSqid());
dto.setSqzt(CityPushStateEnum.DJA.getCode());
dto.setDqclhj(CityPushLinkEnum.JA.getCode());
dto.setJjqk(item.getSolutionInfo());
//评价结果 01:满意;02:基本满意;03:不满意
switch (item.getEvaluationScore()) {
case NumConstant.ZERO:
dto.setCzjg("03");
dto.setSqzt(CityPushStateEnum.DYS.getCode());
dto.setDqclhj(CityPushLinkEnum.SQCY.getCode());
break;
case NumConstant.ONE:
dto.setCzjg("02");
break;
case NumConstant.TWO:
dto.setCzjg("01");
break;
default:
dto.setCzjg("01");
break;
}
//评价时间
dto.setCzsj(DateUtils.format(item.getEvaluationTime(), DateUtils.DATE_TIME_PATTERN));
//评价意见
dto.setCzyj(item.getEvaluationContent());
//评价人员
EvaluationResultDTO.CzrBean czr = new EvaluationResultDTO.CzrBean();
czr.setId(item.getUserId());
if (item.getEvaluationSystemFlag() != null) {
if (item.getEvaluationSystemFlag() == 1) {
czr.setXm("系统评价人员");
} else {
czr.setXm(item.getNickName());
}
} else {
czr.setXm(item.getNickName());
}
czr.setSsbmbm(item.getGridId().toString());
czr.setSsbm(item.getGrid());
czr.setSsjgbm(getJgbmForAagin(item.getGridId(), NumConstant.ZERO_STR));
czr.setSsjg(getJgbmForAagin(item.getGridId(), NumConstant.ONE_STR));
dto.setCzr(czr);
// 组装好直接推送
String result = cityGridApi.sendItemToCity(dto, PushToCityGridConstant.EVALUATION, "诉求评价");
pushToCityGridServiceImpl.saveLog(item.getId(), null, "诉求评价-2", PushToCityGridConstant.EVALUATION, JSONObject.toJSONString(dto), result);
});
// todo 第六步 诉求结案
// 找到这一条的processid
LambdaQueryWrapper<ItemHandleProcessEntity> hanprocess = new LambdaQueryWrapper<ItemHandleProcessEntity>()
.eq(ItemHandleProcessEntity::getItemId,entity.getId()).eq(ItemHandleProcessEntity::getState,"60").orderByAsc(ItemHandleProcessEntity::getCreatedTime).last("limit 1");
ItemHandleProcessEntity item = itemHandleProcessDao.selectOne(hanprocess);
if (item!=null) {
// 组装数据
PushToCityGridCaseClosedDTO data = new PushToCityGridCaseClosedDTO();
// 诉求id
data.setSqid(getSqid(item.getItemId()));
// 诉求状态
data.setSqzt(CityPushStateEnum.YJA.getCode());
// 当前处理环节
data.setDqclhj(CityPushLinkEnum.JA.getCode());
// 处置结果
data.setCzjg(NumConstant.ONE_STR);
// 结案时间
data.setCzsj(DateUtils.format(item.getCreatedTime(), DateUtils.DATE_TIME_PATTERN));
// 操作人
PushToCityGridCaseClosedDTO.CzrDTO czr = new PushToCityGridCaseClosedDTO.CzrDTO();
// 操作人员名称
czr.setXm(item.getGridPartyname());
// 操作人员唯一标识
czr.setId(item.getGridPartyid());
// 所属机构Id
czr.setSsjgbm(StringUtils.isNotBlank(item.getDisCenterZoningCode()) ? item.getDisCenterZoningCode() : "370203");
// 所属机构
czr.setSsjg(item.getGridUnitname());
//所属部门id
czr.setSsbmbm(item.getGridUnitid());
// 所属部门名称
czr.setSsbm(item.getGridUnitname());
// 传数据
data.setCzr(czr);
String result = cityGridApi.sendItemToCity(data, PushToCityGridConstant.CASE_CLOSED, "诉求结案");
pushToCityGridServiceImpl.saveLog(item.getItemId(), item.getId(), "诉求结案-2", PushToCityGridConstant.CASE_CLOSED, JSONObject.toJSONString(data), result);
}
}
});
return new Result();
}
private String getJgbmForAagin(Long deptId, String type) {
if (null == deptId || 0L == deptId) {
return "";
}
CityCenterFromDTO formDTO = new CityCenterFromDTO();
formDTO.setDeptId(deptId);
MetaSysDeptEntity dept = metaSysDeptDao.selectById(deptId);
if (null != dept) {
if (NumConstant.ZERO_STR.equals(type)) {
return dept.getDisCenterZoningCode();
} else {
return dept.getName();
}
}
return "";
}
}

Loading…
Cancel
Save