>().ok(govOrgService.queryNextLevelAreaCodeList(formDTO));
+ }
}
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/commonservice/AreaCodeDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/commonservice/AreaCodeDao.java
new file mode 100644
index 0000000000..0de5235518
--- /dev/null
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/commonservice/AreaCodeDao.java
@@ -0,0 +1,39 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dataaggre.dao.commonservice;
+
+import com.epmet.dataaggre.dto.govorg.result.NextAreaCodeResultDTO;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-01-07
+ */
+@Mapper
+public interface AreaCodeDao {
+
+ List selectCityList(String areaCode);
+
+ List selectDistrictList(String areaCode);
+
+ List selectStreetList(String areaCode);
+
+ List selectCommunityList(String areaCode);
+}
\ No newline at end of file
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerAgencyDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerAgencyDao.java
index 445baf2477..fc33ce00bb 100644
--- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerAgencyDao.java
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerAgencyDao.java
@@ -47,4 +47,6 @@ public interface CustomerAgencyDao extends BaseDao {
* @date 2020/12/25 下午4:55
*/
String getAgencyIdByUserId(@Param("userId") String userId);
+
+ List selectUsedAreaCodeList(@Param("parentAreaCode") String parentAreaCode);
}
\ No newline at end of file
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/opercrm/CustomerRelationDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/opercrm/CustomerRelationDao.java
new file mode 100644
index 0000000000..ed7aef852a
--- /dev/null
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/opercrm/CustomerRelationDao.java
@@ -0,0 +1,16 @@
+package com.epmet.dataaggre.dao.opercrm;
+
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * 描述一下
+ *
+ * @author yinzuomei@elink-cn.com
+ * @date 2021/4/13 10:43
+ */
+@Mapper
+public interface CustomerRelationDao {
+ List selectUsedAreaCodeList(String areaCode);
+}
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/CustomerAgencyEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/CustomerAgencyEntity.java
index 79f226ca2f..6c6420ffc8 100644
--- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/CustomerAgencyEntity.java
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/CustomerAgencyEntity.java
@@ -80,17 +80,17 @@ public class CustomerAgencyEntity extends BaseEpmetEntity {
private Integer totalUser;
/**
- * 省份
+ * 【省份】名称
*/
private String province;
/**
- * 城市
+ * 【城市】名称
*/
private String city;
/**
- * 区县
+ * 【区县】名称
*/
private String district;
@@ -98,4 +98,14 @@ public class CustomerAgencyEntity extends BaseEpmetEntity {
* 当前组织的上级行政地区编码add0204;举例平阴县对应的是济南市3701
*/
private String parentAreaCode;
+
+ /**
+ * 街道
+ */
+ private String street;
+
+ /**
+ * 社区
+ */
+ private String community;
}
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/CustomerDepartmentEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/CustomerDepartmentEntity.java
index c0d80a3d9f..74d4ceddc9 100644
--- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/CustomerDepartmentEntity.java
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/CustomerDepartmentEntity.java
@@ -60,4 +60,8 @@ public class CustomerDepartmentEntity extends BaseEpmetEntity {
*/
private Integer totalUser;
+ /**
+ * 部门所属的行政地区编码:实际就是所属组织的地区编码
+ */
+ private String areaCode;
}
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govproject/ProjectEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govproject/ProjectEntity.java
index 1a4c9ea1e1..5cdf2cde3b 100644
--- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govproject/ProjectEntity.java
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govproject/ProjectEntity.java
@@ -63,6 +63,11 @@ public class ProjectEntity extends BaseEpmetEntity {
*/
private String title;
+ /**
+ * 项目背景
+ */
+ private String backGround;
+
/**
* 状态:待处理 pending,结案closed
*/
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/commonservice/AreaCodeService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/commonservice/AreaCodeService.java
new file mode 100644
index 0000000000..c9ebb57d5e
--- /dev/null
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/commonservice/AreaCodeService.java
@@ -0,0 +1,23 @@
+package com.epmet.dataaggre.service.commonservice;
+
+import com.epmet.dataaggre.dto.govorg.form.NextAreaCodeFormDTO;
+import com.epmet.dataaggre.dto.govorg.result.NextAreaCodeResultDTO;
+
+import java.util.List;
+
+/**
+ * 描述一下
+ *
+ * @author yinzuomei@elink-cn.com
+ * @date 2021/4/12 15:45
+ */
+public interface AreaCodeService {
+ /**
+ * @return java.util.List
+ * @param formDTO
+ * @author yinzuomei
+ * @description 新增组织-查询下一级可选的组织区划
+ * @Date 2021/4/12 16:02
+ **/
+ List queryNextLevelAreaCodeList(NextAreaCodeFormDTO formDTO);
+}
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/commonservice/impl/AreaCodeServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/commonservice/impl/AreaCodeServiceImpl.java
new file mode 100644
index 0000000000..6d127a135a
--- /dev/null
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/commonservice/impl/AreaCodeServiceImpl.java
@@ -0,0 +1,78 @@
+package com.epmet.dataaggre.service.commonservice.impl;
+
+import com.epmet.commons.dynamic.datasource.annotation.DataSource;
+import com.epmet.dataaggre.constant.DataSourceConstant;
+import com.epmet.dataaggre.dao.commonservice.AreaCodeDao;
+import com.epmet.dataaggre.dto.govorg.form.NextAreaCodeFormDTO;
+import com.epmet.dataaggre.dto.govorg.result.NextAreaCodeResultDTO;
+import com.epmet.dataaggre.service.commonservice.AreaCodeService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 描述一下
+ *
+ * @author yinzuomei@elink-cn.com
+ * @date 2021/4/12 15:46
+ */
+@DataSource(DataSourceConstant.EPMET_COMMON_SERVICE)
+@Slf4j
+@Service
+public class AreaCodeServiceImpl implements AreaCodeService {
+
+ @Autowired
+ private AreaCodeDao areaCodeDao;
+
+ /**
+ * @param formDTO
+ * @return java.util.List
+ * @author yinzuomei
+ * @description 新增组织-查询下一级可选的组织区划
+ * @Date 2021/4/12 16:02
+ **/
+ @Override
+ public List queryNextLevelAreaCodeList(NextAreaCodeFormDTO formDTO) {
+ List list = new ArrayList<>();
+ NextAreaCodeResultDTO other = new NextAreaCodeResultDTO();
+ other.setAreaCode("other");
+ other.setAreaName("其它");
+ switch (formDTO.getLevel()) {
+ /**
+ * 社区级:community,
+ * 乡(镇、街道)级:street,
+ * 区县级: district,
+ * 市级: city
+ * 省级:province
+ */
+ case "province":
+ list = areaCodeDao.selectCityList(formDTO.getAreaCode());
+ other.setLevel("city");
+ break;
+ case "city":
+ list = areaCodeDao.selectDistrictList(formDTO.getAreaCode());
+ other.setLevel("district");
+ break;
+ case "district":
+ list = areaCodeDao.selectStreetList(formDTO.getAreaCode());
+ other.setLevel("street");
+ break;
+ case "street":
+ list = areaCodeDao.selectCommunityList(formDTO.getAreaCode());
+ other.setLevel("community");
+ break;
+ default:
+ }
+ if (CollectionUtils.isEmpty(list)) {
+ list = new ArrayList<>();
+ }
+ if(!"province".equals(formDTO.getLevel())){
+ list.add(other);
+ }
+ return list;
+ }
+}
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java
index c0b7fff4bd..7d9fc8f339 100644
--- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java
@@ -1,8 +1,10 @@
package com.epmet.dataaggre.service.govorg;
+import com.epmet.dataaggre.dto.govorg.form.NextAreaCodeFormDTO;
import com.epmet.dataaggre.dto.govorg.result.AgencyGridResultDTO;
import com.epmet.dataaggre.dto.govorg.result.GridInfoResultDTO;
import com.epmet.dataaggre.dto.govorg.result.GridsInfoListResultDTO;
+import com.epmet.dataaggre.dto.govorg.result.NextAreaCodeResultDTO;
import java.util.List;
@@ -42,4 +44,5 @@ public interface GovOrgService {
*/
String getAgencyIdByUserId(String userId);
+ List queryNextLevelAreaCodeList(NextAreaCodeFormDTO formDTO);
}
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java
index 7b3314f5dc..b09414f1bd 100644
--- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java
@@ -1,24 +1,32 @@
package com.epmet.dataaggre.service.govorg.impl;
+import com.alibaba.fastjson.JSON;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.tools.constant.NumConstant;
+import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.dataaggre.constant.DataSourceConstant;
import com.epmet.dataaggre.dao.govorg.CustomerAgencyDao;
import com.epmet.dataaggre.dao.govorg.CustomerGridDao;
import com.epmet.dataaggre.dao.govorg.CustomerStaffAgencyDao;
import com.epmet.dataaggre.dto.govorg.CustomerStaffAgencyDTO;
+import com.epmet.dataaggre.dto.govorg.form.NextAreaCodeFormDTO;
import com.epmet.dataaggre.dto.govorg.result.AgencyGridResultDTO;
import com.epmet.dataaggre.dto.govorg.result.GridInfoResultDTO;
import com.epmet.dataaggre.dto.govorg.result.GridsInfoListResultDTO;
+import com.epmet.dataaggre.dto.govorg.result.NextAreaCodeResultDTO;
import com.epmet.dataaggre.entity.govorg.CustomerAgencyEntity;
+import com.epmet.dataaggre.service.commonservice.AreaCodeService;
import com.epmet.dataaggre.service.govorg.GovOrgService;
+import com.epmet.dataaggre.service.opercrm.CustomerRelation;
import lombok.extern.slf4j.Slf4j;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.util.ArrayList;
+import java.util.Iterator;
import java.util.List;
/**
@@ -29,7 +37,6 @@ import java.util.List;
@DataSource(DataSourceConstant.GOV_ORG)
@Slf4j
public class GovOrgServiceImpl implements GovOrgService {
- private static final Logger logger = LoggerFactory.getLogger(GovOrgServiceImpl.class);
@Autowired
private CustomerAgencyDao customerAgencyDao;
@@ -37,7 +44,10 @@ public class GovOrgServiceImpl implements GovOrgService {
private CustomerStaffAgencyDao customerStaffAgencyDao;
@Autowired
private CustomerGridDao customerGridDao;
-
+ @Autowired
+ private AreaCodeService areaCodeService;
+ @Autowired
+ private CustomerRelation customerRelation;
/**
* @param staffId
@@ -120,5 +130,72 @@ public class GovOrgServiceImpl implements GovOrgService {
return customerAgencyDao.getAgencyIdByUserId(userId);
}
+ @Override
+ public List queryNextLevelAreaCodeList(NextAreaCodeFormDTO formDTO) {
+ CustomerAgencyEntity parent=customerAgencyDao.selectById(formDTO.getParentAgencyId());
+ if (null == parent || StringUtils.isBlank(parent.getAreaCode())) {
+ throw new RenException(EpmetErrorCode.SET_PARENT_AREA_CODE.getCode(),EpmetErrorCode.SET_PARENT_AREA_CODE.getMsg());
+ }
+ //全部下级
+ List allList = areaCodeService.queryNextLevelAreaCodeList(formDTO);
+ if (CollectionUtils.isNotEmpty(allList)) {
+ //内部客户: 已经被使用过的areaCode
+ List usedAreaCodeList1 = customerAgencyDao.selectUsedAreaCodeList(formDTO.getAreaCode());
+ //外部子客户:
+ List usedAreaCodeList2 = customerRelation.selectUsedAreaCodeList(formDTO.getAreaCode());
+ //已经被使用的移除不显示
+ Iterator iterator = allList.iterator();
+ while (iterator.hasNext()) {
+ NextAreaCodeResultDTO next = iterator.next();
+ for (String usedAreaCode1 : usedAreaCodeList1) {
+ if (next.getAreaCode().equals(usedAreaCode1)) {
+ iterator.remove();
+ }
+ }
+ for (String usedAreaCode2 : usedAreaCodeList2) {
+ if (next.getAreaCode().contains(usedAreaCode2)) {
+ iterator.remove();
+ }
+ }
+ }
+ }
+ return allList;
+ }
+
+ public static void main(String[] args) {
+ List allList = new ArrayList<>();
+ NextAreaCodeResultDTO m1 = new NextAreaCodeResultDTO();
+ m1.setAreaCode("1");
+ m1.setAreaName("a");
+ allList.add(m1);
+
+ NextAreaCodeResultDTO m2 = new NextAreaCodeResultDTO();
+ m2.setAreaCode("2");
+ m2.setAreaName("b");
+ allList.add(m2);
+
+
+ NextAreaCodeResultDTO m3 = new NextAreaCodeResultDTO();
+ m3.setAreaCode("3");
+ m3.setAreaName("c");
+ allList.add(m3);
+
+ List stringList = new ArrayList<>();
+ stringList.add("1");
+ stringList.add("2");
+
+ Iterator iterator = allList.iterator();
+ while (iterator.hasNext()) {
+ NextAreaCodeResultDTO next = iterator.next();
+ for (String usedAreaCode : stringList) {
+ if (next.getAreaCode().equals(usedAreaCode)) {
+ iterator.remove();
+ }
+ }
+
+ }
+ System.out.println(JSON.toJSONString(allList, true));
+ }
+
}
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercrm/CustomerRelation.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercrm/CustomerRelation.java
new file mode 100644
index 0000000000..af0dc94e88
--- /dev/null
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercrm/CustomerRelation.java
@@ -0,0 +1,13 @@
+package com.epmet.dataaggre.service.opercrm;
+
+import java.util.List;
+
+/**
+ * 描述一下
+ *
+ * @author yinzuomei@elink-cn.com
+ * @date 2021/4/13 10:38
+ */
+public interface CustomerRelation {
+ List selectUsedAreaCodeList(String areaCode);
+}
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercrm/impl/CustomerRelationImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercrm/impl/CustomerRelationImpl.java
new file mode 100644
index 0000000000..045232e1a7
--- /dev/null
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercrm/impl/CustomerRelationImpl.java
@@ -0,0 +1,30 @@
+package com.epmet.dataaggre.service.opercrm.impl;
+
+import com.epmet.commons.dynamic.datasource.annotation.DataSource;
+import com.epmet.dataaggre.constant.DataSourceConstant;
+import com.epmet.dataaggre.dao.opercrm.CustomerRelationDao;
+import com.epmet.dataaggre.service.opercrm.CustomerRelation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 描述一下
+ *
+ * @author yinzuomei@elink-cn.com
+ * @date 2021/4/13 10:38
+ */
+@DataSource(DataSourceConstant.OPER_CRM)
+@Slf4j
+@Service
+public class CustomerRelationImpl implements CustomerRelation {
+ @Autowired
+ private CustomerRelationDao customerRelationDao;
+
+ @Override
+ public List selectUsedAreaCodeList(String areaCode) {
+ return customerRelationDao.selectUsedAreaCodeList(areaCode);
+ }
+}
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml
index 50e01db7ee..6e27140e97 100644
--- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml
@@ -119,7 +119,16 @@ dynamic:
url: @datasource.druid.epmetuser.url@
username: @datasource.druid.epmetuser.username@
password: @datasource.druid.epmetuser.password@
-
+ commonservice:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: @datasource.druid.commonservice.url@
+ username: @datasource.druid.commonservice.username@
+ password: @datasource.druid.commonservice.password@
+ opercrm:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: @datasource.druid.opercrm.url@
+ username: @datasource.druid.opercrm.username@
+ password: @datasource.druid.opercrm.password@
feign:
hystrix:
enabled: true
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/commonservice/AreaCodeDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/commonservice/AreaCodeDao.xml
new file mode 100644
index 0000000000..ae56a91b6a
--- /dev/null
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/commonservice/AreaCodeDao.xml
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+ SELECT DISTINCT
+ ac.CITY_CODE AS areaCode,
+ ac.CITY_NAME AS areaName,
+ 'city' LEVEL
+ FROM
+ area_code ac
+ WHERE
+ ac.DEL_FLAG='0'
+ and ac.PROVINCE_CODE = #{areaCode}
+ ORDER BY
+ ac.CITY_CODE ASC
+
+
+
+ SELECT DISTINCT
+ ac.COUNTY_CODE AS areaCode,
+ ac.COUNTY_NAME AS areaName,
+ 'district' LEVEL
+ FROM
+ area_code ac
+ WHERE ac.DEL_FLAG='0'
+ and ac.CITY_CODE = #{areaCode}
+ ORDER BY
+ ac.COUNTY_CODE ASC
+
+
+
+ SELECT DISTINCT CODE AS areaCode,
+ NAME AS areaName,
+ 'street' AS LEVEL
+ FROM
+ area_code_child acc
+ WHERE
+ acc.DEL_FLAG = '0'
+ AND acc.P_CODE = #{areaCode}
+ order by acc.CODE ASC
+
+
+
+
\ No newline at end of file
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml
index aece51edb3..fda4f7245c 100644
--- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml
@@ -22,4 +22,13 @@
SELECT AGENCY_ID FROM customer_staff_agency WHERE DEL_FLAG = 0 AND USER_ID = #{userId}
+
+ SELECT
+ distinct ca.AREA_CODE
+ FROM
+ customer_agency ca
+ WHERE
+ ca.DEL_FLAG = '0'
+ AND ca.PARENT_AREA_CODE = #{parentAreaCode}
+
\ No newline at end of file
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/opercrm/CustomerRelationDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/opercrm/CustomerRelationDao.xml
new file mode 100644
index 0000000000..169a44070f
--- /dev/null
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/opercrm/CustomerRelationDao.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+ SELECT
+ cr.AREA_CODE
+ FROM
+ customer_relation cr
+ WHERE
+ cr.DEL_FLAG = '0'
+ and cr.CUSTOMER_TYPE='external'
+ AND cr.AREA_CODE LIKE concat(#{areaCode}, '%')
+ AND cr.AREA_CODE != #{areaCode}
+
+
\ No newline at end of file
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginProjectMainDailyDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginProjectMainDailyDTO.java
index f24397f43d..9d1484b5f4 100644
--- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginProjectMainDailyDTO.java
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginProjectMainDailyDTO.java
@@ -103,6 +103,16 @@ public class FactOriginProjectMainDailyDTO implements Serializable {
*/
private String agencyId;
+ /**
+ * 来源:议题issue
+ */
+ private String origin;
+
+ /**
+ * 来源ID
+ */
+ private String originId;
+
/**
* 状态
*/
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/ClosedIncrResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/ClosedIncrResultDTO.java
index d1f9083b30..c253849ab5 100644
--- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/ClosedIncrResultDTO.java
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/ClosedIncrResultDTO.java
@@ -16,4 +16,6 @@ public class ClosedIncrResultDTO implements Serializable {
private String gridId;
private Integer closedIncr;
+
+ private String orgId;
}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/EvaluateTotalResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/EvaluateTotalResultDTO.java
index 3eb30a3887..769bd064aa 100644
--- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/EvaluateTotalResultDTO.java
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/EvaluateTotalResultDTO.java
@@ -17,4 +17,6 @@ public class EvaluateTotalResultDTO implements Serializable {
private String orgId;
private Integer evaluateCount = NumConstant.ZERO;
+
+ private String areaCode;
}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/ProjectIncrResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/ProjectIncrResultDTO.java
index 6200eb8add..8f880dcf5b 100644
--- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/ProjectIncrResultDTO.java
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/ProjectIncrResultDTO.java
@@ -16,4 +16,6 @@ public class ProjectIncrResultDTO implements Serializable {
private String gridId;
private Integer projectIncr;
+
+ private String orgId;
}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/ProjectOrgDailyResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/ProjectOrgDailyResultDTO.java
index a19749c5e0..22c614e83d 100644
--- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/ProjectOrgDailyResultDTO.java
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/ProjectOrgDailyResultDTO.java
@@ -44,6 +44,8 @@ public class ProjectOrgDailyResultDTO implements Serializable {
*/
private Integer badTotal;
+ private String orgId;
+
public ProjectOrgDailyResultDTO() {
this.projectTotal = NumConstant.ZERO;
this.resolvedNum = NumConstant.ZERO;
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/ProjectTotalResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/ProjectTotalResultDTO.java
index a356c0ccdb..a493851432 100644
--- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/ProjectTotalResultDTO.java
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/ProjectTotalResultDTO.java
@@ -13,6 +13,15 @@ public class ProjectTotalResultDTO implements Serializable {
private static final long serialVersionUID = 6071988402600005617L;
- private String gridId;
+ private String orgId;
+
+ /**
+ * 项目总数
+ */
private Integer projectTotal;
+
+ /**
+ * 行政区域编码
+ */
+ private String areaCode;
}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/ResolvedNumResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/ResolvedNumResultDTO.java
index 6710de4469..2cc99e92f2 100644
--- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/ResolvedNumResultDTO.java
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/ResolvedNumResultDTO.java
@@ -13,6 +13,12 @@ public class ResolvedNumResultDTO implements Serializable {
private static final long serialVersionUID = 607198840261205617L;
- private String gridId;
+ private String orgId;
+
+ /**
+ * 已解决的项目总数
+ */
private Integer resolvedNum;
+
+ private String areaCode;
}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/UnClosedTotalResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/UnClosedTotalResultDTO.java
index d31e85ec28..b4d001fa56 100644
--- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/UnClosedTotalResultDTO.java
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/UnClosedTotalResultDTO.java
@@ -16,4 +16,6 @@ public class UnClosedTotalResultDTO implements Serializable {
private String gridId;
private Integer projectCount;
+
+ private String orgId;
}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectCategoryGridDailyDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectCategoryGridDailyDTO.java
index 0406fb26f2..b80df7b7ff 100644
--- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectCategoryGridDailyDTO.java
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectCategoryGridDailyDTO.java
@@ -108,4 +108,11 @@ public class ScreenProjectCategoryGridDailyDTO implements Serializable {
*/
private Date updatedTime;
+ private String orgId;
+
+ /**
+ * 用在 项目分类 org 统计中,记录本记录是否被计数
+ */
+ private Boolean status = false;
+
}
\ No newline at end of file
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectOrgDailyDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectOrgDailyDTO.java
index 7b449b50fe..da3ce096ec 100644
--- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectOrgDailyDTO.java
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectOrgDailyDTO.java
@@ -17,6 +17,7 @@
package com.epmet.dto.screen;
+import com.epmet.commons.tools.constant.NumConstant;
import lombok.Data;
import java.io.Serializable;
@@ -144,4 +145,14 @@ public class ScreenProjectOrgDailyDTO implements Serializable {
*/
private String areaCode;
+ public ScreenProjectOrgDailyDTO() {
+ this.projectTotal = NumConstant.ZERO;
+ this.resolvedNum = NumConstant.ZERO;
+ this.resolvedRatio = NumConstant.ZERO_DECIMAL;
+ this.evaluateTotal = NumConstant.ZERO;
+ this.goodTotal = NumConstant.ZERO;
+ this.badTotal = NumConstant.ZERO;
+ this.goodRatio = NumConstant.ZERO_DECIMAL;
+ this.badRatio = NumConstant.ZERO_DECIMAL;
+ }
}
\ No newline at end of file
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/topic/TopicAttachmentDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/topic/TopicAttachmentDTO.java
new file mode 100644
index 0000000000..1fa32a8f37
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/topic/TopicAttachmentDTO.java
@@ -0,0 +1,18 @@
+package com.epmet.dto.topic;
+
+import lombok.Data;
+
+/**
+ * desc:
+ *
+ * @author: LiuJanJun
+ * @date: 2021/4/13 5:33 下午
+ * @version: 1.0
+ */
+@Data
+public class TopicAttachmentDTO {
+
+ private Integer sort;
+ private String attachmentUrl;
+
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/topic/result/ResiTopicAndImgResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/topic/result/ResiTopicAndImgResultDTO.java
new file mode 100644
index 0000000000..a4ec445d98
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/topic/result/ResiTopicAndImgResultDTO.java
@@ -0,0 +1,24 @@
+package com.epmet.dto.topic.result;
+
+import com.epmet.dto.topic.TopicAttachmentDTO;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author liujianjun
+ * @Description 组-话题对象
+ * @ClassName ResiGroupTopicResultDTO
+ * @Auth wangc
+ * @Date 2020-06-20 17:23
+ */
+@Data
+public class ResiTopicAndImgResultDTO implements Serializable {
+
+ private String topicId;
+ private String topicContent;
+
+ private List topicImgList;
+
+}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/ProjectConstant.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/ProjectConstant.java
index eac79f016a..16530a61a2 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/ProjectConstant.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/ProjectConstant.java
@@ -64,4 +64,7 @@ public interface ProjectConstant {
String XIA_JI = "xiaji";
String GRID_ID = "GRID_ID";
String AGENCY_ID = "AGENCY_ID";
+
+
+ String ISSUE = "issue";
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java
index 9259e12463..b47d3cc8ef 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java
@@ -569,10 +569,7 @@ public class DemoController {
}
@PostMapping("gridgovern")
- public void gridGovern(){
- String customerId = "45687aa479955f9d06204d415238f7cc";
-// String customerId = "epmettest";
- String monthId = "202009";
+ public void gridGovern(@RequestParam("customerId")String customerId,@RequestParam("monthId")String monthId){
calGridIndexService.calGridIndexGovernAbility(customerId,monthId);
}
@@ -725,10 +722,10 @@ public class DemoController {
/**
* @return com.epmet.commons.tools.utils.Result
- * @param
+ * @param
* @author yinzuomei
* @description screen_index_data_monthly 赋值ALL_PARENT_IDS
- * @Date 2020/10/10 17:59
+ * @Date 2020/10/10 17:59
**/
@DataSource(DataSourceConstant.EVALUATION_INDEX)
@PostMapping("updateDeptIndexMonthly")
@@ -813,15 +810,6 @@ public class DemoController {
return new Result();
}
- /*@Autowired
- private ScreenGrassrootsGovernDataAbsorptionService ndddYhjfService;
-
- @PostMapping("diff")
- public Result diff(@RequestBody ScreenCentralZoneDataFormDTO param){
- ndddYhjfService.difficultyDataHub(param);
- return new Result();
- }*/
-
@PostMapping("project-test")
public Result project(@RequestBody ScreenCentralZoneDataFormDTO param){
screenProjectSettleService.extractScreenData(param);
@@ -869,4 +857,17 @@ public class DemoController {
return new Result();
}
+ @Autowired
+ private ScreenGrassrootsGovernDataAbsorptionService ndddYhjfService;
+
+ @PostMapping("diffOld")
+ public Result diff(@RequestBody ScreenCentralZoneDataFormDTO param){
+ ndddYhjfService.difficultyDataHub(param);
+ return new Result();
+ }
+ @PostMapping("testDiffNew")
+ public Result testDiff(@RequestBody ScreenCentralZoneDataFormDTO param){
+ return new Result().ok(ndddYhjfService.difficultyDataExtract(param));
+ }
+
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectCategoryDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectCategoryDailyDao.java
index 010004d7ba..911b73b479 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectCategoryDailyDao.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectCategoryDailyDao.java
@@ -43,4 +43,12 @@ public interface FactOriginProjectCategoryDailyDao extends BaseDao selectListProjectCategoryGridDailyDTO(@Param("customerId") String customerId);
+
+ /**
+ * @Description 查询客户下,组织直接立项的,各项目分类下的项目数量【筛选组织创建的项目,fact_origin_project_main_daily表gridId为空】
+ * @Param orgIds
+ * @author zxc
+ * @date 2021/4/13 下午4:36
+ */
+ List selectListProjectCategoryByOrg(@Param("orgIds")List orgIds,@Param("customerId") String customerId);
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectLogDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectLogDailyDao.java
index f53ef5b882..8e18ad5500 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectLogDailyDao.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectLogDailyDao.java
@@ -74,6 +74,14 @@ public interface FactOriginProjectLogDailyDao extends BaseDao selectProjectAutoNoMy(@Param("customerId") String customerId,@Param("monthId") String monthId);
+ /**
+ * @Description 网格项目自治率查询 最新版
+ * @Param customerId
+ * @Param monthId
+ * @author zxc
+ * @date 2021/4/12 上午10:46
+ */
+ List selectProjectAutoNoMyPlus(@Param("customerId") String customerId,@Param("monthId") String monthId);
/**
* 根据日期删除数据
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java
index 086c2e4b61..82ea30952a 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java
@@ -27,6 +27,7 @@ import com.epmet.dto.pingyin.result.*;
import com.epmet.dto.screen.ScreenProjectDataDTO;
import com.epmet.dto.screen.form.ProjectSourceMapFormDTO;
import com.epmet.entity.evaluationindex.extract.FactOriginProjectMainDailyEntity;
+import com.epmet.entity.evaluationindex.extract.FactOriginProjectOrgPeriodDailyEntity;
import com.epmet.entity.evaluationindex.screen.ScreenDifficultyDataEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -72,13 +73,13 @@ public interface FactOriginProjectMainDailyDao extends BaseDao selectGridClosedProject(@Param("customerId") String customerId,@Param("monthId") String monthId,@Param("status") String status);
+ List selectGridClosedProject(@Param("gridIds") List gridIds,@Param("monthId") String monthId,@Param("status") String status);
List selectTransferRightRatio(@Param("customerId")String customerId, @Param("monthId")String monthId);
@@ -188,7 +189,7 @@ public interface FactOriginProjectMainDailyDao extends BaseDao selectDifficultyBaseInfo(@Param("customerId")String customerId,@Param("thresholdValue") Integer thresholdValue);
-
+
/**
* @Description 查询评价周期内新立的项目,是为了增量新增难点赌点的图片库
* @param customerId
@@ -229,6 +230,16 @@ public interface FactOriginProjectMainDailyDao extends BaseDao selectProjectTotal(@Param("customerId")String customerId, @Param("dateId")String dateId, @Param("monthId")String monthId);
+ /**
+ * @Description 组织查询项目总数
+ * @Param orgIds
+ * @Param dateId
+ * @Param monthId
+ * @author zxc
+ * @date 2021/4/13 上午9:31
+ */
+ List selectProjectTotalByOrg(@Param("orgIds")List orgIds, @Param("dateId")String dateId, @Param("monthId")String monthId);
+
/**
* @Description 查询已解决项目数
* @Param customerId
@@ -238,6 +249,15 @@ public interface FactOriginProjectMainDailyDao extends BaseDao selectResolvedNum(@Param("customerId")String customerId, @Param("dateId")String dateId);
+ /**
+ * @Description 组织查询已解决项目数
+ * @Param orgIds
+ * @Param dateId
+ * @author zxc
+ * @date 2021/4/13 上午9:41
+ */
+ List selectResolvedNumByOrg(@Param("orgIds")List orgIds, @Param("dateId")String dateId);
+
/**
* @Description 查询 满意度评价次数
* @Param customerId
@@ -247,6 +267,16 @@ public interface FactOriginProjectMainDailyDao extends BaseDao selectEvaluateCount(@Param("customerId")String customerId, @Param("dateId")String dateId, @Param("activeCodes") List activeCodes);
+ /**
+ * @Description 组织 查询 满意度评价次数
+ * @Param orgIds
+ * @Param dateId
+ * @Param activeCodes
+ * @author zxc
+ * @date 2021/4/13 上午9:56
+ */
+ List selectEvaluateCountByOrg(@Param("orgIds")List orgIds, @Param("dateId")String dateId, @Param("activeCodes")List activeCodes);
+
/**
* @Description 查询本月新增项目数
* @Param customerId
@@ -256,6 +286,15 @@ public interface FactOriginProjectMainDailyDao extends BaseDao selectProjectIncr(@Param("customerId")String customerId, @Param("monthId")String monthId);
+ /**
+ * @Description 组织查询本月新增项目数
+ * @Param orgIds
+ * @Param monthId
+ * @author zxc
+ * @date 2021/4/16 上午9:21
+ */
+ List selectProjectIncrByOrg(@Param("orgIds") List orgIds, @Param("monthId")String monthId);
+
/**
* @Description 根据状态查询项目数
* @Param customerId
@@ -266,6 +305,16 @@ public interface FactOriginProjectMainDailyDao extends BaseDao selectProjectCount(@Param("customerId")String customerId, @Param("monthId")String monthId, @Param("status") String status);
+ /**
+ * @Description 组织根据状态查询项目数
+ * @Param orgIds
+ * @Param monthId
+ * @Param status
+ * @author zxc
+ * @date 2021/4/16 上午9:26
+ */
+ List selectProjectCountByOrg(@Param("orgIds") List orgIds, @Param("monthId")String monthId, @Param("status") String status);
+
/**
* @Description 本月新增结案项目数
* @Param customerId
@@ -275,6 +324,15 @@ public interface FactOriginProjectMainDailyDao extends BaseDao selectClosedIncr(@Param("customerId")String customerId, @Param("monthId")String monthId);
+ /**
+ * @Description 组织本月新增结案项目数
+ * @Param orgIds
+ * @Param monthId
+ * @author zxc
+ * @date 2021/4/16 上午9:35
+ */
+ List selectClosedIncrByOrg(@Param("orgIds") List orgIds, @Param("monthId")String monthId);
+
/**
* @Description 初始化screen_project_data数据
* 如果是dateId不为空,则查询前一天的数据
@@ -289,4 +347,25 @@ public interface FactOriginProjectMainDailyDao extends BaseDao initNewScreenProjectData(@Param("customerId")String customerId,@Param("dateId") String dateId,@Param("dataEndTime")String dataEndTime);
-}
\ No newline at end of file
+ /**
+ * desc: 获取难点堵点项目数据
+ *
+ * @param customerId
+ * @param dateId
+ * @return java.util.List
+ * @author LiuJanJun
+ * @date 2021/4/12 1:35 下午
+ */
+ List getProjectForDiff(@Param("customerId") String customerId, @Param("dateId") String dateId);
+
+ /**
+ * desc: 获取难点堵点项目数据耗时
+ *
+ * @param customerId
+ * @param dateId
+ * @return java.util.List
+ * @author LiuJanJun
+ * @date 2021/4/12 1:35 下午
+ */
+ List getProjectPeriodForDiff(@Param("customerId") String customerId, @Param("dateId") String dateId);
+}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectOrgDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectOrgDailyDao.java
index 731347f2a6..cc8e1fb2a8 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectOrgDailyDao.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectOrgDailyDao.java
@@ -47,4 +47,5 @@ public interface ScreenProjectOrgDailyDao extends BaseDao selectOrgProject(@Param("agencyInfos") List agencyInfos, @Param("dateId") String dateId);
+ List selectOrgProjectByAgency(@Param("agencyInfos") List agencyInfos, @Param("dateId") String dateId);
}
\ No newline at end of file
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectQuantityOrgMonthlyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectQuantityOrgMonthlyDao.java
index a11d394821..3adec6357e 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectQuantityOrgMonthlyDao.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectQuantityOrgMonthlyDao.java
@@ -49,6 +49,7 @@ public interface ScreenProjectQuantityOrgMonthlyDao extends BaseDao selectQuantityOrgMonthly(@Param("agencyInfos") List agencyInfos, @Param("monthId") String monthId);
+ List selectQuantityOrgMonthlyByAgency(@Param("agencyInfos") List agencyInfos, @Param("monthId") String monthId);
/**
* @Description 项目(事件)数量查询【本月之前的累计】
@@ -58,6 +59,7 @@ public interface ScreenProjectQuantityOrgMonthlyDao extends BaseDao selectQuantityGrandOrgMonthly(@Param("agencyInfos") List agencyInfos, @Param("monthId") String monthId);
+ List selectQuantityGrandOrgMonthlyByAgency(@Param("agencyInfos") List agencyInfos, @Param("monthId") String monthId);
}
\ No newline at end of file
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/issue/IssueProjectCategoryDictDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/issue/IssueProjectCategoryDictDao.java
index 371cda3cf2..95d91fb9d4 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/issue/IssueProjectCategoryDictDao.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/issue/IssueProjectCategoryDictDao.java
@@ -37,5 +37,7 @@ public interface IssueProjectCategoryDictDao {
List listByUpdatedTime(@Param("start") Date start, @Param("end") Date end);
- IssueProjectCategoryDictEntity getById(@Param("customerId")String customerId, @Param("id")String id);;
+ IssueProjectCategoryDictEntity getById(@Param("customerId") String customerId, @Param("id") String id);
+
+ List getAllByCId(@Param("customerId") String customerId);
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/topic/TopicDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/topic/TopicDao.java
index 16a76f30ee..d9b11ddc6a 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/topic/TopicDao.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/topic/TopicDao.java
@@ -15,6 +15,7 @@ import com.epmet.dto.topic.ResiTopicDTO;
import com.epmet.dto.extract.result.TopicInfoResultDTO;
import com.epmet.dto.topic.TopicOriginInfoDTO;
import com.epmet.dto.topic.result.ResiGroupTopicResultDTO;
+import com.epmet.dto.topic.result.ResiTopicAndImgResultDTO;
import com.epmet.dto.topic.result.ResiTopicOperationResultDTO;
import com.epmet.entity.evaluationindex.screen.ScreenDifficultyImgDataEntity;
import org.apache.ibatis.annotations.Mapper;
@@ -27,115 +28,118 @@ import java.util.List;
public interface TopicDao {
/**
- * @Description 将组按照网格Id排序
* @param targetDate
* @param customerId
* @return List
+ * @Description 将组按照网格Id排序
* @author wangc
* @date 2020.06.22 11:05
- **/
- List selectGroupOrderByGrid(@Param("targetDate")Date targetDate, @Param("customerId")String customerId);
+ **/
+ List selectGroupOrderByGrid(@Param("targetDate") Date targetDate, @Param("customerId") String customerId);
/**
- * @Description 查询话题的操作记录,如果返回结果中没有对应Id的话题说明当日话题没有操作记录
* @param targetDate
* @return List
+ * @Description 查询话题的操作记录,如果返回结果中没有对应Id的话题说明当日话题没有操作记录
* @author wangc
* @date 2020.06.22 11:07
- **/
- List selectTopicOperationRecord(@Param("targetDate")Date targetDate);
+ **/
+ List selectTopicOperationRecord(@Param("targetDate") Date targetDate);
/**
- * @Description 将组按照网格Id排序
* @param
* @param customerId
* @return List
+ * @Description 将组按照网格Id排序
* @author wangc
* @date 2020.06.22 11:05
**/
- List selectGroupOrderByGridBetweenTimeRange(@Param("startDate")Date startDate, @Param("endDate")Date endDate, @Param("customerId")String customerId);
+ List selectGroupOrderByGridBetweenTimeRange(@Param("startDate") Date startDate, @Param("endDate") Date endDate, @Param("customerId") String customerId);
/**
- * @Description 查询话题的操作记录,如果返回结果中没有对应Id的话题说明当日话题没有操作记录
* @param
* @return List
+ * @Description 查询话题的操作记录,如果返回结果中没有对应Id的话题说明当日话题没有操作记录
* @author wangc
* @date 2020.06.22 11:07
**/
- List selectTopicOperationRecordBetweenTimeRange(@Param("startDate")Date startDate, @Param("endDate")Date endDate);
+ List selectTopicOperationRecordBetweenTimeRange(@Param("startDate") Date startDate, @Param("endDate") Date endDate);
/**
* 根据ids获取话题信息
- * @author zhaoqifeng
- * @date 2020/9/15 17:33
+ *
* @param ids
* @return java.util.List
+ * @author zhaoqifeng
+ * @date 2020/9/15 17:33
*/
List selectTopicByIds(@Param("ids") List ids);
/**
- * @Description 查询话题创建者信息
* @param topicIds
+ * @Description 查询话题创建者信息
* @author zxc
* @date 2020/9/15 4:55 下午
*/
- List selectTopicInfo(@Param("topicIds")List topicIds);
+ List selectTopicInfo(@Param("topicIds") List topicIds);
/**
- * @return java.util.List
* @param customerId
- * @param dateId yyyyMMdd
+ * @param dateId yyyyMMdd
+ * @return java.util.List
* @author yinzuomei
- * @description 根据日期查询resi_topic_operation,返回当前日期这一天内所有话题相关的操作记录
+ * @description 根据日期查询resi_topic_operation,返回当前日期这一天内所有话题相关的操作记录
* @Date 2020/9/15 18:14
**/
- List selectListTopicOriginInfo(@Param("customerId")String customerId, @Param("dateId")String dateId);
+ List selectListTopicOriginInfo(@Param("customerId") String customerId, @Param("dateId") String dateId);
/**
- * @return java.util.List
* @param customerId
* @param dateId
+ * @return java.util.List
* @author yinzuomei
* @description 查询在这一天发生变化的话题记录
* @Date 2020/9/23 17:52
**/
- List queryUpdateTopicOriginInfoList(@Param("customerId")String customerId, @Param("dateId")String dateId);
+ List queryUpdateTopicOriginInfoList(@Param("customerId") String customerId, @Param("dateId") String dateId);
/**
- * @Description 查询话题的图片
* @param list
* @return java.util.List
+ * @Description 查询话题的图片
* @author wangc
* @date 2020.09.28 15:40
*/
List selectTopicImgs(@Param("list") List list);
/**
- * @Description 得到话题(项目)内容
* @param list
- * @return java.util.Map
+ * @return java.util.Map
+ * @Description 得到话题(项目)内容
* @author wangc
* @date 2020.09.28 16:28
*/
List selectTopicContent(@Param("list") List list);
/**
- * @Description 根据话题Id查询大屏项目的相关信息
* @param list
* @return java.util.List
+ * @Description 根据话题Id查询大屏项目的相关信息
* @author wangc
* @date 2021.03.08 17:13
- */
+ */
List selectScreenProjectData(@Param("list") List list);
/**
- * @Description 初始化指定项目的图片
* @param customerId
* @param list
* @return java.util.List
+ * @Description 初始化指定项目的图片
* @author wangc
* @date 2021.03.09 14:19
- */
- List initNewScreenProjectImgData(@Param("customerId")String customerId,@Param("list") List list);
+ */
+ List initNewScreenProjectImgData(@Param("customerId") String customerId, @Param("list") List list);
+
+ ResiTopicAndImgResultDTO getTopicAndImgs(@Param("topicId") String topicId);
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactOriginProjectMainDailyEntity.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactOriginProjectMainDailyEntity.java
index c570c4e453..35d0e46b8f 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactOriginProjectMainDailyEntity.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactOriginProjectMainDailyEntity.java
@@ -103,6 +103,16 @@ public class FactOriginProjectMainDailyEntity extends BaseEpmetEntity {
*/
private String agencyId;
+ /**
+ * 来源:议题issue
+ */
+ private String origin;
+
+ /**
+ * 来源ID
+ */
+ private String originId;
+
/**
* 状态
*/
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/org/CustomerAgencyEntity.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/org/CustomerAgencyEntity.java
index eaf0c0d52a..4fbb9bfb83 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/org/CustomerAgencyEntity.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/org/CustomerAgencyEntity.java
@@ -80,17 +80,17 @@ public class CustomerAgencyEntity extends BaseEpmetEntity {
private Integer totalUser;
/**
- * 省份
+ * 【省份】名称
*/
private String province;
/**
- * 城市
+ * 【城市】名称
*/
private String city;
/**
- * 区县
+ * 【区县】名称
*/
private String district;
@@ -98,4 +98,14 @@ public class CustomerAgencyEntity extends BaseEpmetEntity {
* 当前组织的上级行政地区编码add0204;举例平阴县370124对应的是济南市3701
*/
private String parentAreaCode;
+
+ /**
+ * 街道
+ */
+ private String street;
+
+ /**
+ * 社区
+ */
+ private String community;
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/project/ProjectEntity.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/project/ProjectEntity.java
index cd696e25c6..15c533efc3 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/project/ProjectEntity.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/project/ProjectEntity.java
@@ -60,6 +60,11 @@ public class ProjectEntity extends BaseEpmetEntity {
*/
private String title;
+ /**
+ * 项目背景
+ */
+ private String backGround;
+
/**
* 状态:待处理 pending,结案closed
*/
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/IssueProjectCategoryDictService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/IssueProjectCategoryDictService.java
index 4d2a96f7be..ad3e0f4f2f 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/IssueProjectCategoryDictService.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/IssueProjectCategoryDictService.java
@@ -36,4 +36,6 @@ public interface IssueProjectCategoryDictService{
List listByUpdatedTime(Date start, Date end);
IssueProjectCategoryDictEntity getById(String customerId,String id);
+
+ List getAllByCId(String customerId);
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/impl/IssueProjectCategoryDictServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/impl/IssueProjectCategoryDictServiceImpl.java
index 982030799f..38ae06e0e7 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/impl/IssueProjectCategoryDictServiceImpl.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/impl/IssueProjectCategoryDictServiceImpl.java
@@ -5,7 +5,6 @@ import com.epmet.constant.DataSourceConstant;
import com.epmet.dao.issue.IssueProjectCategoryDictDao;
import com.epmet.entity.issue.IssueProjectCategoryDictEntity;
import com.epmet.service.Issue.IssueProjectCategoryDictService;
-import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -39,4 +38,9 @@ public class IssueProjectCategoryDictServiceImpl implements IssueProjectCategory
return issueProjectCategoryDictDao.getById(customerId,id);
}
+ @Override
+ public List getAllByCId(String customerId) {
+ return issueProjectCategoryDictDao.getAllByCId(customerId);
+ }
+
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/CalGridIndexServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/CalGridIndexServiceImpl.java
index 22dfccc44e..fc3c7532d1 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/CalGridIndexServiceImpl.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/CalGridIndexServiceImpl.java
@@ -243,7 +243,7 @@ public class CalGridIndexServiceImpl implements CalGridIndexService {
}
//网格总议题数目,网格人均议题数目
List gridIssueTotalList = issueExtractService.selectIssueTotal(customerId, monthId);
- //网格总项目数
+ //网格总项目数 从议题根据状态获取
List gridProjectTotalList = issueExtractService.selectGridProjectCount(customerId, monthId, ExtractConstant.SHIFT_PROJECT);
//网格议题转项目率
List gridIssueCountList = issueExtractService.selectIssueTotalTwoMonth(customerId, monthId, DateUtils.minusMonthId(monthId));
@@ -254,38 +254,20 @@ public class CalGridIndexServiceImpl implements CalGridIndexService {
if (!CollectionUtils.isEmpty(projectAutoNoMyList)){
Map> groupByGrid = projectAutoNoMyList.stream().collect(Collectors.groupingBy(AutoNoMyResultDTO::getGridId));
groupByGrid.forEach((gridId,projectList) -> {
- Map> groupByProject = projectList.stream().collect(Collectors.groupingBy(AutoNoMyResultDTO::getProjectId));
- AtomicReference autoSelf = new AtomicReference<>(true);
- AtomicReference count = new AtomicReference<>(NumConstant.ZERO);
- groupByProject.forEach((projectId,projects) -> {
- String disposeGrid = projects.get(NumConstant.ZERO).getGridId();
- projects.forEach(p -> {
- if (!disposeGrid.equals(p.getGridId())){
- autoSelf.set(false);
- }
- });
- if (autoSelf.get()) {
- count.getAndSet(count.get() + NumConstant.ONE);
- }
- });
- autoMap.put(gridId,count.get());
+ autoMap.put(gridId,projectList.size());
});
}
//网格办结项目数
- List gridProjectClosedTotalList = projectMainService.selectGridClosedProject(customerId, monthId, ExtractConstant.CLOSED);
+ List gridProjectClosedTotalList = projectMainService.selectGridClosedProject(result.stream().map(m -> m.getGridId()).collect(Collectors.toList()), monthId, ExtractConstant.CLOSED);
//网格吹哨部门准确率 【没被退回的项目数/项目总数 】
List transferRightRatioResultDTOS = projectMainService.selectTransferRightRatio(customerId, monthId);
List transferRightRatioResultDTOS1 = projectLogService.selectNotReturn(customerId, monthId);
if (!CollectionUtils.isEmpty(transferRightRatioResultDTOS1)){
- transferRightRatioResultDTOS.forEach(r -> {
- transferRightRatioResultDTOS1.forEach(t -> {
- r.setStatus(r.getProjectId().equals(t.getProjectId()) ? true : false);
- });
- });
+ transferRightRatioResultDTOS.forEach(r -> transferRightRatioResultDTOS1.forEach(t -> {
+ r.setStatus(r.getProjectId().equals(t.getProjectId()));
+ }));
}else {
- transferRightRatioResultDTOS.forEach(r -> {
- r.setStatus(false);
- });
+ transferRightRatioResultDTOS.forEach(r -> r.setStatus(false));
}
Map> groupByGridProject = transferRightRatioResultDTOS.stream().collect(Collectors.groupingBy(TransferRightRatioResultDTO::getGridId));
Map notReturnMap = new HashMap<>(16);
@@ -303,9 +285,11 @@ public class CalGridIndexServiceImpl implements CalGridIndexService {
List projectEvaluateList = projectLogService.selectProjectEvaluate(customerId, monthId);
Map resultSatisfactionScore = new HashMap<>(16);
if (!CollectionUtils.isEmpty(projectEvaluateList)){
+ // 根据网格分组
Map> groupByGrid = projectEvaluateList.stream().collect(Collectors.groupingBy(ProjectEvaluateResultDTO::getGridId));
groupByGrid.forEach((gridId,projectEvaluateInfoList) -> {
Map scoreMap = new HashMap<>(16);
+ // 根据项目分组
Map> groupByProject = projectEvaluateInfoList.stream().collect(Collectors.groupingBy(ProjectEvaluateResultDTO::getProjectId));
groupByProject.forEach((projectId,projectList) -> {
projectList.forEach(project -> {
@@ -374,17 +358,21 @@ public class CalGridIndexServiceImpl implements CalGridIndexService {
});
}
// 5. 网格内解决的项目的满意度
- resultSatisfactionScore.forEach((k, v) -> {
- if (r.getGridId().equals(k)) {
- r.setSatisfactionRatio(v);
- }
- });
+ if (!CollectionUtils.isEmpty(resultSatisfactionScore)){
+ resultSatisfactionScore.forEach((k, v) -> {
+ if (r.getGridId().equals(k)) {
+ r.setSatisfactionRatio(v);
+ }
+ });
+ }
// 6. 网格自治项目数
- autoMap.forEach((k, v) -> {
- if (r.getGridId().equals(k)) {
- r.setSelfSolveProjectCount(v);
- }
- });
+ if (!CollectionUtils.isEmpty(autoMap)){
+ autoMap.forEach((k, v) -> {
+ if (r.getGridId().equals(k)) {
+ r.setSelfSolveProjectCount(v);
+ }
+ });
+ }
});
delGovernAbility(customerId, monthId);
List> resultList = ListUtils.partition(result, NumConstant.ONE_HUNDRED);
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectCategoryDailyService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectCategoryDailyService.java
index 1a0a27eda9..2da14685eb 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectCategoryDailyService.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectCategoryDailyService.java
@@ -47,4 +47,12 @@ public interface FactOriginProjectCategoryDailyService extends BaseService selectListProjectCategoryGridDailyDTO(String customerId);
+
+ /**
+ * @Description 查询客户下,组织直接立项的,各项目分类下的项目数量【筛选组织创建的项目,fact_origin_project_main_daily表gridId为空】
+ * @Param orgIds
+ * @author zxc
+ * @date 2021/4/13 下午4:36
+ */
+ List selectListProjectCategoryByOrg(List orgIds,String customerId);
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java
index ea44540cd9..f77a01bf4a 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java
@@ -18,7 +18,6 @@
package com.epmet.service.evaluationindex.extract.todata;
import com.epmet.commons.mybatis.service.BaseService;
-import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.extract.FactOriginProjectMainDailyDTO;
import com.epmet.dto.extract.result.GridProjectClosedTotalResultDTO;
import com.epmet.dto.extract.result.OrgStatisticsResultDTO;
@@ -27,11 +26,12 @@ import com.epmet.dto.indexcollect.result.CpcIndexCommonDTO;
import com.epmet.dto.pingyin.result.*;
import com.epmet.dto.screen.ScreenProjectDataDTO;
import com.epmet.dto.screen.form.ProjectSourceMapFormDTO;
+import com.epmet.dto.screen.form.ScreenCentralZoneDataFormDTO;
import com.epmet.entity.evaluationindex.extract.FactOriginProjectMainDailyEntity;
+import com.epmet.entity.evaluationindex.extract.FactOriginProjectOrgPeriodDailyEntity;
import com.epmet.entity.evaluationindex.screen.ScreenDifficultyDataEntity;
import java.util.List;
-import java.util.Map;
/**
* 项目主表_日统计
@@ -41,66 +41,6 @@ import java.util.Map;
*/
public interface FactOriginProjectMainDailyService extends BaseService {
- /**
- * 默认分页
- *
- * @param params
- * @return PageData
- * @author generator
- * @date 2020-09-16
- */
- PageData page(Map params);
-
- /**
- * 默认查询
- *
- * @param params
- * @return java.util.List
- * @author generator
- * @date 2020-09-16
- */
- List list(Map params);
-
- /**
- * 单条查询
- *
- * @param id
- * @return FactOriginProjectMainDailyDTO
- * @author generator
- * @date 2020-09-16
- */
- FactOriginProjectMainDailyDTO get(String id);
-
- /**
- * 默认保存
- *
- * @param dto
- * @return void
- * @author generator
- * @date 2020-09-16
- */
- void save(FactOriginProjectMainDailyDTO dto);
-
- /**
- * 默认更新
- *
- * @param dto
- * @return void
- * @author generator
- * @date 2020-09-16
- */
- void update(FactOriginProjectMainDailyDTO dto);
-
- /**
- * 批量删除
- *
- * @param ids
- * @return void
- * @author generator
- * @date 2020-09-16
- */
- void delete(String[] ids);
-
/**
* 获取客户下项目
* @author zhaoqifeng
@@ -121,13 +61,13 @@ public interface FactOriginProjectMainDailyService extends BaseService selectGridClosedProject(String customerId,String monthId,String status);
+ List selectGridClosedProject(List gridIds,String monthId,String status);
List selectTransferRightRatio(String customerId,String monthId);
@@ -275,6 +215,16 @@ public interface FactOriginProjectMainDailyService extends BaseService selectProjectTotal(String customerId,String dateId,String monthId);
+ /**
+ * @Description 组织查询项目总数
+ * @Param orgIds
+ * @Param dateId
+ * @Param monthId
+ * @author zxc
+ * @date 2021/4/12 下午5:12
+ */
+ List selectProjectTotalByOrg(List orgIds,String dateId,String monthId);
+
/**
* @Description 查询已解决项目数
* @Param customerId
@@ -284,6 +234,15 @@ public interface FactOriginProjectMainDailyService extends BaseService selectResolvedNum(String customerId, String dateId);
+ /**
+ * @Description 组织查询已解决项目数
+ * @Param orgIds
+ * @Param dateId
+ * @author zxc
+ * @date 2021/4/13 上午9:28
+ */
+ List selectResolvedNumByOrg(List orgIds, String dateId);
+
/**
* @Description 查询 满意度评价次数
* @Param customerId
@@ -293,6 +252,16 @@ public interface FactOriginProjectMainDailyService extends BaseService selectEvaluateCount(String customerId, String dateId,List activeCodes);
+ /**
+ * @Description 组织 查询 满意度评价次数
+ * @Param customerId
+ * @Param dateId
+ * @Param activeCodes
+ * @author zxc
+ * @date 2021/4/13 上午9:52
+ */
+ List selectEvaluateCountByOrg(List orgIds, String dateId,List activeCodes);
+
/**
* @Description 查询本月新增项目数
* @Param customerId
@@ -302,6 +271,15 @@ public interface FactOriginProjectMainDailyService extends BaseService selectProjectIncr(String customerId, String monthId);
+ /**
+ * @Description 组织查询本月新增项目数
+ * @Param orgIds
+ * @Param monthId
+ * @author zxc
+ * @date 2021/4/16 上午9:19
+ */
+ List selectProjectIncrByOrg(List orgIds, String monthId);
+
/**
* @Description 根据状态查询项目数
* @Param customerId
@@ -312,6 +290,16 @@ public interface FactOriginProjectMainDailyService extends BaseService selectProjectCount(String customerId, String monthId, String status);
+ /**
+ * @Description 组织根据状态查询项目数
+ * @Param orgIds
+ * @Param monthId
+ * @Param status
+ * @author zxc
+ * @date 2021/4/16 上午9:24
+ */
+ List selectProjectCountByOrg(List orgIds, String monthId, String status);
+
/**
* @Description 本月新增结案项目数
* @Param customerId
@@ -321,6 +309,15 @@ public interface FactOriginProjectMainDailyService extends BaseService selectClosedIncr(String customerId, String monthId);
+ /**
+ * @Description 组织本月新增结案项目数
+ * @Param orgIds
+ * @Param monthId
+ * @author zxc
+ * @date 2021/4/16 上午9:33
+ */
+ List selectClosedIncrByOrg(List orgIds, String monthId);
+
/**
* @Description 初始化screen_project_data数据
* 如果是dateId不为空,则查询前一天的数据
@@ -340,4 +337,24 @@ public interface FactOriginProjectMainDailyService extends BaseService list,Integer exceedLimit,Integer about2exceedLimit);
-}
\ No newline at end of file
+ /**
+ * desc: 条件获取项目数据
+ *
+ * @param param
+ * @return java.util.List
+ * @author LiuJanJun
+ * @date 2021/4/12 11:07 上午
+ */
+ List getProjectForDiff(ScreenCentralZoneDataFormDTO param);
+
+ /**
+ * desc: 根据项目数据 获取相关连的项目耗时
+ *
+ * @param param
+ * @return java.util.List
+ * @author LiuJanJun
+ * @date 2021/4/12 1:53 下午
+ */
+ List getProjectPeriod(ScreenCentralZoneDataFormDTO param);
+
+}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectCategoryDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectCategoryDailyServiceImpl.java
index c97322b4b4..6e3f7abb90 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectCategoryDailyServiceImpl.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectCategoryDailyServiceImpl.java
@@ -32,6 +32,7 @@ import com.epmet.service.Issue.IssueProjectCategoryDictService;
import com.epmet.service.evaluationindex.extract.todata.FactOriginProjectCategoryDailyService;
import com.epmet.service.project.ProjectService;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -119,4 +120,18 @@ public class FactOriginProjectCategoryDailyServiceImpl extends BaseServiceImpl list=baseDao.selectListProjectCategoryGridDailyDTO(customerId);
return list;
}
+
+ /**
+ * @Description 查询客户下,组织直接立项的,各项目分类下的项目数量【筛选组织创建的项目,fact_origin_project_main_daily表gridId为空】
+ * @Param orgIds
+ * @author zxc
+ * @date 2021/4/13 下午4:36
+ */
+ @Override
+ public List selectListProjectCategoryByOrg(List orgIds,String customerId) {
+ if (!CollectionUtils.isEmpty(orgIds)){
+ return new ArrayList<>();
+ }
+ return baseDao.selectListProjectCategoryByOrg(orgIds,customerId);
+ }
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectLogDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectLogDailyServiceImpl.java
index b710d08af5..9be7b9f44f 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectLogDailyServiceImpl.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectLogDailyServiceImpl.java
@@ -156,7 +156,8 @@ public class FactOriginProjectLogDailyServiceImpl extends BaseServiceImpl selectProjectAutoNoMy(String customerId, String monthId) {
- return baseDao.selectProjectAutoNoMy(customerId, monthId);
+// return baseDao.selectProjectAutoNoMy(customerId, monthId);
+ return baseDao.selectProjectAutoNoMyPlus(customerId, monthId);
}
@Override
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java
index 7f9d220602..9553485a0e 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java
@@ -17,14 +17,9 @@
package com.epmet.service.evaluationindex.extract.todata.impl;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
-import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
-import com.epmet.commons.tools.page.PageData;
-import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.DataSourceConstant;
@@ -39,17 +34,22 @@ import com.epmet.dto.pingyin.result.*;
import com.epmet.dto.result.CostDayResultDTO;
import com.epmet.dto.screen.ScreenProjectDataDTO;
import com.epmet.dto.screen.form.ProjectSourceMapFormDTO;
+import com.epmet.dto.screen.form.ScreenCentralZoneDataFormDTO;
import com.epmet.entity.evaluationindex.extract.FactOriginProjectMainDailyEntity;
+import com.epmet.entity.evaluationindex.extract.FactOriginProjectOrgPeriodDailyEntity;
import com.epmet.entity.evaluationindex.screen.ScreenDifficultyDataEntity;
import com.epmet.feign.EpmetCommonServiceOpenFeignClient;
import com.epmet.service.evaluationindex.extract.todata.FactOriginProjectMainDailyService;
+import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.List;
+import java.util.Map;
import java.util.stream.Collectors;
/**
@@ -58,6 +58,7 @@ import java.util.stream.Collectors;
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-09-16
*/
+@Slf4j
@Service
@DataSource(DataSourceConstant.STATS)
public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl implements FactOriginProjectMainDailyService {
@@ -66,57 +67,6 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl page(Map params) {
- IPage page = baseDao.selectPage(
- getPage(params, FieldConstant.CREATED_TIME, false),
- getWrapper(params)
- );
- return getPageData(page, FactOriginProjectMainDailyDTO.class);
- }
-
- @Override
- public List list(Map params) {
- List entityList = baseDao.selectList(getWrapper(params));
-
- return ConvertUtils.sourceToTarget(entityList, FactOriginProjectMainDailyDTO.class);
- }
-
- private QueryWrapper getWrapper(Map params){
- String id = (String)params.get(FieldConstant.ID_HUMP);
-
- QueryWrapper wrapper = new QueryWrapper<>();
- wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
-
- return wrapper;
- }
-
- @Override
- public FactOriginProjectMainDailyDTO get(String id) {
- FactOriginProjectMainDailyEntity entity = baseDao.selectById(id);
- return ConvertUtils.sourceToTarget(entity, FactOriginProjectMainDailyDTO.class);
- }
-
- @Override
- @Transactional(rollbackFor = Exception.class)
- public void save(FactOriginProjectMainDailyDTO dto) {
- FactOriginProjectMainDailyEntity entity = ConvertUtils.sourceToTarget(dto, FactOriginProjectMainDailyEntity.class);
- insert(entity);
- }
-
- @Override
- @Transactional(rollbackFor = Exception.class)
- public void update(FactOriginProjectMainDailyDTO dto) {
- FactOriginProjectMainDailyEntity entity = ConvertUtils.sourceToTarget(dto, FactOriginProjectMainDailyEntity.class);
- updateById(entity);
- }
-
- @Override
- @Transactional(rollbackFor = Exception.class)
- public void delete(String[] ids) {
- // 逻辑删除(@TableLogic 注解)
- baseDao.deleteBatchIds(Arrays.asList(ids));
- }
@Override
public List getProjectByCustomer(String customerId) {
@@ -135,15 +85,18 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl selectGridClosedProject(String customerId, String monthId, String status) {
- return baseDao.selectGridClosedProject(customerId, monthId,status);
+ public List selectGridClosedProject(List gridIds, String monthId, String status) {
+ if (CollectionUtils.isEmpty(gridIds)){
+ return new ArrayList<>();
+ }
+ return baseDao.selectGridClosedProject(gridIds, monthId,status);
}
@Override
@@ -288,6 +241,15 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl();
}
+ @Override
+ public List selectProjectTotalByOrg(List orgIds, String dateId, String monthId) {
+ if (!CollectionUtils.isEmpty(orgIds)){
+ List projectTotalResultDTOS = baseDao.selectProjectTotalByOrg(orgIds, dateId, monthId);
+ return projectTotalResultDTOS;
+ }
+ return new ArrayList<>();
+ }
+
/**
* @Description 查询已解决项目数
* @Param customerId
@@ -304,6 +266,22 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl();
}
+ /**
+ * @Description 组织查询已解决项目数
+ * @Param orgIds
+ * @Param dateId
+ * @author zxc
+ * @date 2021/4/13 上午9:29
+ */
+ @Override
+ public List selectResolvedNumByOrg(List orgIds, String dateId) {
+ if (!CollectionUtils.isEmpty(orgIds)){
+ List resolvedNumResultDTOS = baseDao.selectResolvedNumByOrg(orgIds, dateId);
+ return resolvedNumResultDTOS;
+ }
+ return new ArrayList<>();
+ }
+
/**
* @Description 查询 满意度评价次数
* @Param customerId
@@ -320,6 +298,23 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl();
}
+ /**
+ * @Description 组织 查询 满意度评价次数
+ * @Param customerId
+ * @Param dateId
+ * @Param activeCodes
+ * @author zxc
+ * @date 2021/4/13 上午9:54
+ */
+ @Override
+ public List selectEvaluateCountByOrg(List orgIds, String dateId, List activeCodes) {
+ if (!CollectionUtils.isEmpty(orgIds)){
+ List evaluateTotalResultDTOS = baseDao.selectEvaluateCountByOrg(orgIds, dateId, activeCodes);
+ return evaluateTotalResultDTOS;
+ }
+ return new ArrayList<>();
+ }
+
/**
* @Description 查询本月新增项目数
* @Param customerId
@@ -336,6 +331,22 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl();
}
+ /**
+ * @Description 组织查询本月新增项目数
+ * @Param orgIds
+ * @Param monthId
+ * @author zxc
+ * @date 2021/4/16 上午9:19
+ */
+ @Override
+ public List selectProjectIncrByOrg(List orgIds, String monthId) {
+ if (!CollectionUtils.isEmpty(orgIds) && StringUtils.isNotBlank(monthId)){
+ List projectIncrResultDTOS = baseDao.selectProjectIncrByOrg(orgIds, monthId);
+ return projectIncrResultDTOS;
+ }
+ return new ArrayList<>();
+ }
+
/**
* @Description 根据状态查询项目数
* @Param customerId
@@ -353,6 +364,23 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl();
}
+ /**
+ * @Description 组织根据状态查询项目数
+ * @Param orgIds
+ * @Param monthId
+ * @Param status
+ * @author zxc
+ * @date 2021/4/16 上午9:24
+ */
+ @Override
+ public List selectProjectCountByOrg(List orgIds, String monthId, String status) {
+ if (!CollectionUtils.isEmpty(orgIds) && StringUtils.isNotBlank(monthId)){
+ List resultDTOS = baseDao.selectProjectCountByOrg(orgIds, monthId, status);
+ return resultDTOS;
+ }
+ return new ArrayList<>();
+ }
+
/**
* @Description 本月新增结案项目数
* @Param customerId
@@ -369,6 +397,22 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl();
}
+ /**
+ * @Description 组织本月新增结案项目数
+ * @Param orgIds
+ * @Param monthId
+ * @author zxc
+ * @date 2021/4/16 上午9:33
+ */
+ @Override
+ public List selectClosedIncrByOrg(List orgIds, String monthId) {
+ if (!CollectionUtils.isEmpty(orgIds) && StringUtils.isNotBlank(monthId)){
+ List result = baseDao.selectClosedIncrByOrg(orgIds, monthId);
+ return result;
+ }
+ return new ArrayList<>();
+ }
+
/**
* @Description 初始化screen_project_data数据
* 如果是dateId不为空,则查询前一天的数据
@@ -387,7 +431,8 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl initNewScreenProjectData(String customerId,Integer rows , String dateId,Integer exceedLimit,Integer about2exceedLimit) {
boolean ifBeforeYesterday = true;
- if(Integer.parseInt(DateUtils.getBeforeNDay(NumConstant.ONE)) > Integer.parseInt(dateId)){
+ int beforeDate = Integer.parseInt(DateUtils.getBeforeNDay(NumConstant.ONE));
+ if(beforeDate > Integer.parseInt(dateId)){
ifBeforeYesterday = false;
}
List projects = baseDao.initNewScreenProjectData(customerId, rows <= NumConstant.ZERO ? "" : dateId, dateId);
@@ -421,6 +466,15 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl getProjectForDiff(ScreenCentralZoneDataFormDTO param) {
+ return baseDao.getProjectForDiff(param.getCustomerId(),param.getDateId());
+ }
+
+ @Override
+ public List getProjectPeriod(ScreenCentralZoneDataFormDTO param) {
+ return baseDao.getProjectPeriodForDiff(param.getCustomerId(),param.getDateId());
+ }
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java
index 8f1985b6be..77b4d843b8 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java
@@ -128,7 +128,8 @@ public class ProjectExtractServiceImpl implements ProjectExtractService {
factOriginProjectMainDailyService.deleteByDate(customerId, dateString);
if (!CollectionUtils.isEmpty(projectList)) {
//提取议题ID
- List issueIds = projectList.stream().map(ProjectDTO::getOriginId).collect(Collectors.toList());
+ List issueIds =
+ projectList.stream().filter(item -> ProjectConstant.ISSUE.equals(item.getOrigin())).map(ProjectDTO::getOriginId).collect(Collectors.toList());
//获取议题信息
List issueList = issueService.getIssueInfoByIds(issueIds);
//提取话题ID
@@ -144,18 +145,28 @@ public class ProjectExtractServiceImpl implements ProjectExtractService {
FactOriginProjectMainDailyEntity entity = new FactOriginProjectMainDailyEntity();
entity.setId(project.getId());
entity.setAgencyId(project.getAgencyId());
+ entity.setOrigin(project.getOrigin());
+ entity.setOriginId(project.getOriginId());
entity.setCustomerId(customerId);
entity.setYearId(dimId.getYearId());
entity.setQuarterId(dimId.getQuarterId());
entity.setMonthId(dimId.getMonthId());
entity.setWeekId(dimId.getWeekId());
entity.setDateId(dimId.getDateId());
- entity.setIssueId(project.getOriginId());
+ if (ProjectConstant.ISSUE.equals(project.getOrigin())) {
+ entity.setIssueId(project.getOriginId());
+ } else {
+ entity.setIssueId("");
+ }
entity.setProjectStatus(project.getStatus());
entity.setIsResolved(project.getClosedStatus());
entity.setCreatedTime(project.getCreatedTime());
entity.setUpdatedTime(project.getUpdatedTime());
entity.setPids(project.getOrgIdPath());
+ entity.setIssueCreatorId("");
+ entity.setTopicId("");
+ entity.setTopicCreatorId("");
+ entity.setGridId("");
String[] pIds = project.getOrgIdPath().split(StrConstant.COLON);
if (pIds.length > 1) {
entity.setPid(pIds[pIds.length - 2]);
@@ -168,17 +179,23 @@ public class ProjectExtractServiceImpl implements ProjectExtractService {
entity.setIsOverdue(NumConstant.ZERO_STR);
return entity;
}).collect(Collectors.toList());
- list.forEach(entity -> issueList.stream().filter(issueDTO -> issueDTO.getId().equals(entity.getIssueId())).forEach(issue -> {
- entity.setIssueCreatorId(issue.getCreatedBy());
- entity.setTopicId(issue.getSourceId());
- }));
- list.forEach(entity -> topicList.stream().filter(topicDTO -> topicDTO.getId().equals(entity.getTopicId())).forEach(topic -> {
- entity.setTopicCreatorId(topic.getCreatedBy());
- entity.setGridId(topic.getGridId());
- }));
- list.forEach(entity -> partyMemberList.stream().filter(partyMemberDTO -> partyMemberDTO.getGridId().equals(entity.getGridId()) && partyMemberDTO.getUserId().equals(entity.getTopicCreatorId())).forEach(partyMember -> {
- entity.setIsParty(NumConstant.ONE_STR);
- }));
+ if (CollectionUtils.isNotEmpty(issueList)) {
+ list.forEach(entity -> issueList.stream().filter(issueDTO -> issueDTO.getId().equals(entity.getIssueId())).forEach(issue -> {
+ entity.setIssueCreatorId(issue.getCreatedBy());
+ entity.setTopicId(issue.getSourceId());
+ }));
+ }
+ if (CollectionUtils.isNotEmpty(topicList)) {
+ list.forEach(entity -> topicList.stream().filter(topicDTO -> topicDTO.getId().equals(entity.getTopicId())).forEach(topic -> {
+ entity.setTopicCreatorId(topic.getCreatedBy());
+ entity.setGridId(topic.getGridId());
+ }));
+ }
+ if (CollectionUtils.isNotEmpty(partyMemberList)) {
+ list.forEach(entity -> partyMemberList.stream().filter(partyMemberDTO -> partyMemberDTO.getGridId().equals(entity.getGridId()) && partyMemberDTO.getUserId().equals(entity.getTopicCreatorId())).forEach(partyMember -> {
+ entity.setIsParty(NumConstant.ONE_STR);
+ }));
+ }
list.forEach(entity -> finishOrgList.stream().filter(finish -> entity.getId().equals(finish.getProjectId())).forEach(dto -> {
String[] orgIds = dto.getPIdPath().split(StrConstant.COLON);
String org = "";
@@ -228,6 +245,8 @@ public class ProjectExtractServiceImpl implements ProjectExtractService {
entity.setOrgId(process.getGridId());
entity.setPid(process.getAgencyId());
}else{
+ entity.setOrgType(OrgTypeConstant.AGENCY);
+ entity.setOrgId(process.getAgencyId());
if(!process.getPids().contains(StrConstant.COLON)){
entity.setPids("");
entity.setPid(NumConstant.ZERO_STR);
@@ -278,6 +297,8 @@ public class ProjectExtractServiceImpl implements ProjectExtractService {
entity.setOrgId(process.getGridId());
entity.setPid(process.getAgencyId());
} else {
+ entity.setOrgType(OrgTypeConstant.AGENCY);
+ entity.setOrgId(process.getAgencyId());
if (!process.getPids().contains(StrConstant.COLON)) {
entity.setPids("");
entity.setPid(NumConstant.ZERO_STR);
@@ -358,6 +379,8 @@ public class ProjectExtractServiceImpl implements ProjectExtractService {
entity.setOrgId(process.getGridId());
entity.setPid(process.getAgencyId());
}else{
+ entity.setOrgType(OrgTypeConstant.AGENCY);
+ entity.setOrgId(process.getAgencyId());
if(!process.getPids().contains(StrConstant.COLON)){
entity.setPids("");
entity.setPid(NumConstant.ZERO_STR);
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/ScreenGrassrootsGovernDataAbsorptionService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/ScreenGrassrootsGovernDataAbsorptionService.java
index 56c73b2de5..817d714096 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/ScreenGrassrootsGovernDataAbsorptionService.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/ScreenGrassrootsGovernDataAbsorptionService.java
@@ -26,4 +26,14 @@ public interface ScreenGrassrootsGovernDataAbsorptionService {
* @date 2020.09.25 10:00
**/
void difficultyDataHub(ScreenCentralZoneDataFormDTO param);
+
+ /**
+ * desc: 新的难点堵点抽取
+ *
+ * @param param
+ * @return boolean
+ * @author LiuJanJun
+ * @date 2021/4/9 6:05 下午
+ */
+ boolean difficultyDataExtract(ScreenCentralZoneDataFormDTO param);
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java
index 9cdd394e67..0210ea7b30 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java
@@ -171,7 +171,8 @@ public class ScreenExtractServiceImpl implements ScreenExtractService {
}
ScreenCentralZoneDataFormDTO param = new ScreenCentralZoneDataFormDTO();
- param.setCustomerId(customerId);param.setDateId(dateId);
+ param.setCustomerId(customerId);
+ param.setDateId(dateId);
//中央区 screen_user_total_data
try {
screenCentralZoneDataAbsorptionService.centralZoneDataHub(param);
@@ -181,7 +182,12 @@ public class ScreenExtractServiceImpl implements ScreenExtractService {
//基层治理- 难点赌点 screen_difficulty_data | screen_difficulty_img_data
try {
log.info("【难点赌点数据上报开始------】 当前客户Id{}",param.getCustomerId());
- screenGrassrootsGovernDataAbsorptionService.difficultyDataHub(param);
+ //screenGrassrootsGovernDataAbsorptionService.difficultyDataHub(param);
+
+ ScreenCentralZoneDataFormDTO param2 = new ScreenCentralZoneDataFormDTO();
+ param2.setCustomerId(customerId);
+ param2.setDateId(null);
+ screenGrassrootsGovernDataAbsorptionService.difficultyDataExtract(param2);
log.info("【难点赌点数据上报结束------】 当前客户Id{}",param.getCustomerId());
}catch (Exception e){
log.error("基层治理-难点赌点抽取到大屏失败,customerId为:"+customerId+"dateId为:"+dateId, e);
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java
index 3554743482..d40fbd8b6a 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java
@@ -4,13 +4,22 @@ import com.alibaba.fastjson.JSON;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.utils.DateUtils;
+import com.epmet.constant.ProjectConstant;
+import com.epmet.dto.ProjectCategoryDTO;
+import com.epmet.dto.ProjectDTO;
import com.epmet.dto.org.GridInfoDTO;
import com.epmet.dto.project.result.ProjectLatestOperationResultDTO;
import com.epmet.dto.screen.form.ProjectSourceMapFormDTO;
import com.epmet.dto.screen.form.ScreenCentralZoneDataFormDTO;
+import com.epmet.dto.topic.result.ResiTopicAndImgResultDTO;
+import com.epmet.entity.evaluationindex.extract.FactOriginProjectMainDailyEntity;
+import com.epmet.entity.evaluationindex.extract.FactOriginProjectOrgPeriodDailyEntity;
import com.epmet.entity.evaluationindex.screen.ScreenDifficultyDataEntity;
import com.epmet.entity.evaluationindex.screen.ScreenDifficultyImgDataEntity;
import com.epmet.entity.evaluationindex.screen.ScreenPartyUserRankDataEntity;
+import com.epmet.entity.issue.IssueProjectCategoryDictEntity;
+import com.epmet.entity.stats.DimAgencyEntity;
+import com.epmet.service.Issue.IssueProjectCategoryDictService;
import com.epmet.service.evaluationindex.extract.todata.FactOriginProjectMainDailyService;
import com.epmet.service.evaluationindex.extract.toscreen.ScreenGrassrootsGovernDataAbsorptionService;
import com.epmet.service.evaluationindex.indexcal.CpcIndexCalculateService;
@@ -20,6 +29,7 @@ import com.epmet.service.org.CustomerGridService;
import com.epmet.service.point.UserPointService;
import com.epmet.service.project.ProjectProcessService;
import com.epmet.service.project.ProjectService;
+import com.epmet.service.stats.DimAgencyService;
import com.epmet.service.topic.TopicService;
import com.epmet.service.user.UserService;
import lombok.extern.slf4j.Slf4j;
@@ -49,6 +59,8 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr
@Autowired
private CustomerGridService customerGridService;
@Autowired
+ private DimAgencyService dimAgencyService;
+ @Autowired
private UserPointService userPointService;
@Autowired
private CpcIndexCalculateService cpcIndexCalculateService;
@@ -64,10 +76,13 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr
private TopicService topicService;
@Autowired
private ProjectService projectService;
+ @Autowired
+ private IssueProjectCategoryDictService issueProjectCategoryDictService;
+
/**
- * @Description 用户积分、党员分值数据中转站
* @param param
* @return
+ * @Description 用户积分、党员分值数据中转站
* @author wangc
* @date 2020.09.25 09:53
**/
@@ -79,16 +94,16 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr
//2.查询出客户下网格的相关信息
List gridList = customerGridService.queryGridInfoList(param.getCustomerId());
// list 转 map,以gridId为key,a = gridList,作为value,(o,n)->o 是遇到相同的gridId舍弃,(o,n)->n 是覆盖原来的gridId
- Map gridMap = gridList.stream().collect(Collectors.toMap(GridInfoDTO :: getGridId,a -> a,(o, n) -> o));
+ Map gridMap = gridList.stream().collect(Collectors.toMap(GridInfoDTO::getGridId, a -> a, (o, n) -> o));
//3.查询出客户下用户的累计积分(累计值,没有时间概念,否则需要查询积分明细计算出评价周期末的得分)
- Map pointMap = userPointService.getUserPointMap(param.getCustomerId());
+ Map pointMap = userPointService.getUserPointMap(param.getCustomerId());
//4.查询出客户下党员的分值
String dateId = param.getDateId();
- if(StringUtils.isEmpty(dateId)){
+ if (StringUtils.isEmpty(dateId)) {
//如果没有传月份,则使用当前时间的上一个月
dateId = DateUtils.getBeforeNMonth(NumConstant.ONE);
- }else{
+ } else {
String dateType = DateUtils.identifyTimeDimension(dateId);
if (StringUtils.isEmpty(dateType) || !StringUtils.equalsAny(dateType, "date", "month")) {
dateId = DateUtils.getBeforeNMonth(NumConstant.ONE);
@@ -98,21 +113,21 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr
}
final String finalDateId = dateId;
// 查询党员积分
- Map scoreMap = cpcIndexCalculateService.getCpcScore(param.getCustomerId(),dateId);
+ Map scoreMap = cpcIndexCalculateService.getCpcScore(param.getCustomerId(), dateId);
//剔除垃圾数据
registeredUsers.removeIf(user -> null == gridMap.get(user.getGridId()));
//5.整合数据
- if(!CollectionUtils.isEmpty(registeredUsers)){
+ if (!CollectionUtils.isEmpty(registeredUsers)) {
registeredUsers.forEach(user -> {
GridInfoDTO gridInfo = gridMap.get(user.getGridId());
- if(null != gridInfo){
+ if (null != gridInfo) {
user.setGridName(gridInfo.getGridName());
user.setOrgId(gridInfo.getAgencyId());
user.setOrgName(gridInfo.getOrgName());
//原始数据Pid使用英文:隔开,大屏数据要求按照英文,隔开
- user.setAllParentIds(gridInfo.getPids().replaceAll(StrConstant.COLON,StrConstant.COMMA));
+ user.setAllParentIds(gridInfo.getPids().replaceAll(StrConstant.COLON, StrConstant.COMMA));
}
Integer point = pointMap.get(user.getUserId());
BigDecimal score = scoreMap.get(user.getUserId());
@@ -127,21 +142,23 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr
}
/**
- * @Description 难点赌点数据中转站
* @param param
* @return
+ * @Description 难点赌点数据中转站
* @author wangc
* @date 2020.09.25 10:00
**/
@Override
public void difficultyDataHub(ScreenCentralZoneDataFormDTO param) {
//查询数据
- List difficulties = factOriginProjectMainDailyService.getDifficultyBaseInfo(param.getCustomerId(),projectService.getOvertimeProjectByParameter(param.getCustomerId()));
- if(CollectionUtils.isEmpty(difficulties)) return;
+ List difficulties = factOriginProjectMainDailyService.getDifficultyBaseInfo(param.getCustomerId(), projectService.getOvertimeProjectByParameter(param.getCustomerId()));
+ if (CollectionUtils.isEmpty(difficulties)) {
+ return;
+ }
//2.查询出客户下网格的相关信息
List gridList = customerGridService.queryGridInfoList(param.getCustomerId());
- Map gridMap = gridList.stream().collect(Collectors.toMap(GridInfoDTO :: getGridId,a -> a,(o, n) -> o));
+ Map gridMap = gridList.stream().collect(Collectors.toMap(GridInfoDTO::getGridId, a -> a, (o, n) -> o));
//剔除垃圾数据(本次需要更新的数据集)
//for(Iterator iter = difficulties.iterator(); iter.hasNext();){
@@ -150,33 +167,36 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr
// iter.remove();
// }
//}
- difficulties.removeIf( diff -> null == gridMap.get(diff.getOrgId()));
+ difficulties.removeIf(diff -> null == gridMap.get(diff.getOrgId()));
- List projectIds = difficulties.stream().map(ScreenDifficultyDataEntity :: getEventId).distinct().collect(Collectors.toList());
+ List projectIds = difficulties.stream().map(ScreenDifficultyDataEntity::getEventId).distinct().collect(Collectors.toList());
//最近一次操作
- Map latestOperationMap = projectProcessService.getLatestOperation(projectIds,param.getCustomerId());
+ Map latestOperationMap = projectProcessService.getLatestOperation(projectIds, param.getCustomerId());
//图片
- List projectSourceMap = difficulties.stream().map(diff->{
- ProjectSourceMapFormDTO map = new ProjectSourceMapFormDTO();map.setProjectId(diff.getEventId());map.setSourceId(diff.getEventImgUrl());return map;
+ List projectSourceMap = difficulties.stream().map(diff -> {
+ ProjectSourceMapFormDTO map = new ProjectSourceMapFormDTO();
+ map.setProjectId(diff.getEventId());
+ map.setSourceId(diff.getEventImgUrl());
+ return map;
}).collect(Collectors.toList());
//factOriginProjectMainDailyService.getNewProject(param.getCustomerId(),projectIds);
- Map> imgMap = topicService.getTopicImgs(projectSourceMap);
+ Map> imgMap = topicService.getTopicImgs(projectSourceMap);
- Map contentMap = topicService.getTopicContent(projectSourceMap);
+ Map contentMap = topicService.getTopicContent(projectSourceMap);
- difficulties.forEach( diff -> {
+ difficulties.forEach(diff -> {
- List figureList = CollectionUtils.isEmpty(imgMap) ? null : imgMap.get(diff.getEventId());
- diff.setEventImgUrl(CollectionUtils.isEmpty(figureList) ? "" : figureList.get(NumConstant.ZERO).getEventImgUrl());
+ List