Browse Source

Merge remote-tracking branch 'origin/dev_special_subject' into dev_special_subject

dev_shibei_match
sunyuchao 4 years ago
parent
commit
42f00eb33e
  1. 2
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/filter/LogMsgSendFilter.java
  2. 3
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/SpringContextUtils.java
  3. 4
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/plugins/ScreenWorkRecordOrgDailyDao.java
  4. 4
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/plugins/impl/ScreenWorkRecordOrgDailyServiceImpl.java
  5. 2
      epmet-module/data-report/data-report-server/src/main/resources/mapper/plugins/ScreenWorkRecordOrgDailyDao.xml
  6. 1
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCustomerAgencyDao.xml
  7. 22
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/issue/StatsIssueDao.java
  8. 8
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/org/CustomerGridDao.java
  9. 35
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/IssueService.java
  10. 54
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/impl/IssueServiceImpl.java
  11. 17
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsIssueServiceImpl.java
  12. 29
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsProjectServiceImpl.java
  13. 16
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/CustomerGridService.java
  14. 36
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/impl/CustomerGridServiceImpl.java
  15. 47
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/issue/StatsIssueDao.xml
  16. 20
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/CustomerGridDao.xml
  17. 4
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/plugins/ScreenWorkRecordOrgMonthlyDao.xml
  18. 10
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/PaCustomerController.java
  19. 7
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/AccessServiceImpl.java
  20. 62
      epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/StaffAgencyServiceImpl.java
  21. 2
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml
  22. 5
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/SpecialSubjectDTO.java
  23. 9
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/QuerySpecialSubFormDTO.java
  24. 5
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/SubjectListResultDTO.java
  25. 15
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/WorkSpecialSubjectResultDTO.java
  26. 4
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/SpecialSubjectController.java
  27. 7
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/SpecialSubjectEntity.java
  28. 55
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/SpecialSubjectServiceImpl.java
  29. 1
      epmet-module/gov-voice/gov-voice-server/src/main/resources/db/migration/V0.0.6__add_del_staffid.sql
  30. 7
      epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleDao.xml
  31. 2
      epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/SpecialSubjectDao.xml
  32. 5
      epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerAppServiceImpl.java
  33. 2
      epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/CustomerHomeDetailDao.xml
  34. 4
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java
  35. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserWechatDao.java
  36. 20
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GridLatestServiceImpl.java
  37. 4
      epmet-user/epmet-user-server/src/main/resources/mapper/UserWechatDao.xml

2
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/filter/LogMsgSendFilter.java

@ -123,7 +123,7 @@ public class LogMsgSendFilter extends LevelFilter {
try {
if (serverIp == null) {
InetUtils inetUtils = SpringContextUtils.getBean(InetUtils.class);
if (inetUtils.findFirstNonLoopbackHostInfo() == null){
if (inetUtils == null || inetUtils.findFirstNonLoopbackHostInfo() == null){
return;
}
serverIp = inetUtils.findFirstNonLoopbackHostInfo().getIpAddress();

3
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/SpringContextUtils.java

@ -34,6 +34,9 @@ public class SpringContextUtils implements ApplicationContextAware {
}
public static <T> T getBean(Class<T> requiredType) {
if (applicationContext == null){
return null;
}
return applicationContext.getBean(requiredType);
}

4
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/plugins/ScreenWorkRecordOrgDailyDao.java

@ -62,7 +62,9 @@ public interface ScreenWorkRecordOrgDailyDao extends BaseDao<ScreenWorkRecordOrg
List<String> selectCustomerTypeCode(@Param("dataType")String dataType, @Param("customerId")String customerId);
WorkRecordSubRank selectUpToCalAgency(@Param("agencyId")String agencyId, @Param("dateId")String dateId,@Param("typeCodeList") List<String> typeCodeList);
WorkRecordSubRank selectUpToCalAgency(@Param("agencyId")String agencyId,
@Param("dateId")String dateId,
@Param("typeCodeList") List<String> typeCodeList);
WorkRecordSubRank selectUpToCalGrid(@Param("gridId")String gridId, @Param("dateId")String dateId, @Param("typeCodeList")List<String> typeCodeList);
}

4
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/plugins/impl/ScreenWorkRecordOrgDailyServiceImpl.java

@ -118,6 +118,9 @@ public class ScreenWorkRecordOrgDailyServiceImpl extends BaseServiceImpl<ScreenW
for(ScreenCustomerAgencyCommonDTO agencyCommonDTO:agencyInfoDTO.getSubAgencies()){
WorkRecordSubRank agencyRes= baseDao.selectUpToCalAgency(agencyCommonDTO.getAgencyId(),dateId,typeCodeList);
if(null !=agencyRes){
agencyRes.setOrgId(agencyCommonDTO.getAgencyId());
agencyRes.setName(agencyCommonDTO.getAgencyName());
agencyRes.setIsDefault("no");
subAgencyRankList.add(agencyRes);
}else{
WorkRecordSubRank agencyDefault=new WorkRecordSubRank();
@ -135,6 +138,7 @@ public class ScreenWorkRecordOrgDailyServiceImpl extends BaseServiceImpl<ScreenW
for(ScreenCustomerGridCommonDTO gridCommonDTO:agencyInfoDTO.getSubGrids()){
WorkRecordSubRank gridRes=baseDao.selectUpToCalGrid(gridCommonDTO.getGridId(),dateId,typeCodeList);
if (null != gridRes) {
gridRes.setIsDefault("no");
subGridList.add(gridRes);
} else {
WorkRecordSubRank gridResDefault = new WorkRecordSubRank();

2
epmet-module/data-report/data-report-server/src/main/resources/mapper/plugins/ScreenWorkRecordOrgDailyDao.xml

@ -109,8 +109,6 @@
<select id="selectUpToCalAgency" parameterType="map" resultType="com.epmet.plugins.result.WorkRecordSubRank">
SELECT
sca.AGENCY_ID AS orgId,
sca.AGENCY_NAME AS `NAME`,
sum( m.PARTICIPATE_USER_TOTAL ) AS participateUserTotal,
sum( m.ORGANIZE_TOTAL ) AS participateTotal
FROM

1
epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCustomerAgencyDao.xml

@ -241,6 +241,7 @@
WHERE
agency.DEL_FLAG = '0'
AND agency.AREA_CODE like concat(#{areaCode},'%')
AND LENGTH(agency.PARENT_AREA_CODE) &gt; 0
</select>
<!-- 查找组织下的部门 -->

22
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/issue/StatsIssueDao.java

@ -26,7 +26,8 @@ public interface StatsIssueDao extends BaseDao<IssueEntity> {
* @author zhaoqifeng
* @date 2020/6/17 14:13
*/
List<IssueAgencyDTO> selectAgencyIssueTotal(@Param("customerId") String customerId, @Param("date") String date);
List<IssueAgencyDTO> selectAgencyIssueTotal(@Param("customerId") String customerId, @Param("date") String date,
@Param("gridList") List<String> gridList);
/**
* 获取当前日期组织下议题增量
@ -37,7 +38,8 @@ public interface StatsIssueDao extends BaseDao<IssueEntity> {
* @author zhaoqifeng
* @date 2020/6/18 9:55
*/
List<IssueAgencyDTO> selectAgencyIssueInc(@Param("customerId") String customerId, @Param("date") String date);
List<IssueAgencyDTO> selectAgencyIssueInc(@Param("customerId") String customerId, @Param("date") String date,
@Param("gridList") List<String> gridList);
/**
* 已关闭议题统计
@ -48,7 +50,8 @@ public interface StatsIssueDao extends BaseDao<IssueEntity> {
* @author zhaoqifeng
* @date 2020/6/18 14:41
*/
List<IssueAgencyDTO> selectAgencyClosedIssueTotal(@Param("customerId") String customerId, @Param("date") String date);
List<IssueAgencyDTO> selectAgencyClosedIssueTotal(@Param("customerId") String customerId, @Param("date") String date,
@Param("gridList") List<String> gridList);
/**
* 已关闭议题增量
@ -59,7 +62,8 @@ public interface StatsIssueDao extends BaseDao<IssueEntity> {
* @author zhaoqifeng
* @date 2020/6/18 14:41
*/
List<IssueAgencyDTO> selectAgencyClosedIssueInc(@Param("customerId") String customerId, @Param("date") String date);
List<IssueAgencyDTO> selectAgencyClosedIssueInc(@Param("customerId") String customerId, @Param("date") String date,
@Param("gridList") List<String> gridList);
/**
* @param issueEntity
@ -181,4 +185,14 @@ public interface StatsIssueDao extends BaseDao<IssueEntity> {
List<IssueVoteStatisticalResultDTO> selectIssueVoteStatis(@Param("customerId") String customerId, @Param("dateId") String dateId);
List<IssueProjectCategoryDictDTO> selectCategory(@Param("customerId") String customerId, @Param("ids") Set<String> set);
List<IssueDTO> getIssueTotalList(@Param("customerId") String customerId, @Param("date") String date);
/**
* @Author sun
* @Description 查询议题库已删除网格下可能存在的项目Id集合
**/
List<String> selectProjectByGrids(@Param("gridIds") List<String> gridIds);
}

8
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/org/CustomerGridDao.java

@ -87,4 +87,12 @@ public interface CustomerGridDao extends BaseDao<CustomerGridEntity> {
* @return java.util.List<com.epmet.dto.org.CustomerStaffGridDTO>
*/
List<CustomerStaffGridDTO> getCustomerStaffGridList(@Param("customerId") String customerId);
List<String> getDelGridList(@Param("customerId") String customerId);
/**
* @Author sun
* @Description 查询客户已删除网格列表
**/
List<String> selectDelGridList(@Param("customerId") String customerId);
}

35
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/IssueService.java

@ -28,7 +28,7 @@ public interface IssueService {
* @param date
* @return java.util.List<com.epmet.dto.issue.IssueAgencyDTO>
*/
List<IssueAgencyDTO> getAgencyIssueTotal(String customerId, String date);
List<IssueAgencyDTO> getAgencyIssueTotal(String customerId, String date, List<String> gridList);
/**
* 获取当前日期组织下议题增量
@ -38,7 +38,7 @@ public interface IssueService {
* @param date
* @return java.util.List<com.epmet.dto.issue.IssueAgencyDTO>
*/
List<IssueAgencyDTO> getAgencyIssueInc(String customerId, String date);
List<IssueAgencyDTO> getAgencyIssueInc(String customerId, String date, List<String> gridList);
/**
* 获取截止当前日期组织下已关闭议题统计
@ -48,7 +48,7 @@ public interface IssueService {
* @param date
* @return java.util.List<com.epmet.dto.issue.IssueAgencyDTO>
*/
List<IssueAgencyDTO> getAgencyClosedIssueTotal(String customerId, String date);
List<IssueAgencyDTO> getAgencyClosedIssueTotal(String customerId, String date, List<String> gridList);
/**
* 获取当前日期组织下已关闭议题增量
@ -58,7 +58,7 @@ public interface IssueService {
* @param date
* @return java.util.List<com.epmet.dto.issue.IssueAgencyDTO>
*/
List<IssueAgencyDTO> getAgencyClosedIssueInc(String customerId, String date);
List<IssueAgencyDTO> getAgencyClosedIssueInc(String customerId, String date, List<String> gridList);
/**
* @param issueEntity
@ -183,4 +183,31 @@ public interface IssueService {
* @date 2021.03.09 00:23
*/
Map<String,String> getIntegratedProjectCategory(Map<String, Set<String>> param,String customerId);
/**
* 获取议题总数
* @author zhaoqifeng
* @date 2021/7/20 16:20
* @param customerId
* @param date
* @return java.util.List<com.epmet.dto.issue.IssueDTO>
*/
List<IssueDTO> getIssueTotalList(String customerId, String date);
/**
* 获取议题增量
* @author zhaoqifeng
* @date 2021/7/20 16:20
* @param customerId
* @param date
* @return java.util.List<com.epmet.dto.issue.IssueDTO>
*/
List<IssueDTO> getIssueIncrList(String customerId, String date);
/**
* @Author sun
* @Description 查询议题库已删除网格下可能存在的项目Id集合
**/
List<String> getProjectByGrids(List<String> gridIds);
}

54
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/impl/IssueServiceImpl.java

@ -34,23 +34,23 @@ public class IssueServiceImpl implements IssueService {
private StatsIssueDao statsIssueDao;
@Override
public List<IssueAgencyDTO> getAgencyIssueTotal(String customerId, String date) {
return statsIssueDao.selectAgencyIssueTotal(customerId, date);
public List<IssueAgencyDTO> getAgencyIssueTotal(String customerId, String date, List<String> gridList) {
return statsIssueDao.selectAgencyIssueTotal(customerId, date, gridList);
}
@Override
public List<IssueAgencyDTO> getAgencyIssueInc(String customerId, String date) {
return statsIssueDao.selectAgencyIssueInc(customerId, date);
public List<IssueAgencyDTO> getAgencyIssueInc(String customerId, String date, List<String> gridList) {
return statsIssueDao.selectAgencyIssueInc(customerId, date, gridList);
}
@Override
public List<IssueAgencyDTO> getAgencyClosedIssueTotal(String customerId, String date) {
return statsIssueDao.selectAgencyClosedIssueTotal(customerId, date);
public List<IssueAgencyDTO> getAgencyClosedIssueTotal(String customerId, String date, List<String> gridList) {
return statsIssueDao.selectAgencyClosedIssueTotal(customerId, date, gridList);
}
@Override
public List<IssueAgencyDTO> getAgencyClosedIssueInc(String customerId, String date) {
return statsIssueDao.selectAgencyClosedIssueInc(customerId, date);
public List<IssueAgencyDTO> getAgencyClosedIssueInc(String customerId, String date, List<String> gridList) {
return statsIssueDao.selectAgencyClosedIssueInc(customerId, date, gridList);
}
/**
@ -169,4 +169,42 @@ public class IssueServiceImpl implements IssueService {
return map;
}
/**
* 获取议题总数
*
* @param customerId
* @param date
* @return java.util.List<com.epmet.dto.issue.IssueDTO>
* @author zhaoqifeng
* @date 2021/7/20 16:20
*/
@Override
public List<IssueDTO> getIssueTotalList(String customerId, String date) {
return null;
}
/**
* 获取议题增量
*
* @param customerId
* @param date
* @return java.util.List<com.epmet.dto.issue.IssueDTO>
* @author zhaoqifeng
* @date 2021/7/20 16:20
*/
@Override
public List<IssueDTO> getIssueIncrList(String customerId, String date) {
return null;
}
/**
* @Author sun
* @Description 查询议题库已删除网格下可能存在的项目Id集合
**/
@Override
public List<String> getProjectByGrids(List<String> gridIds) {
return statsIssueDao.selectProjectByGrids(gridIds);
}
}

17
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsIssueServiceImpl.java

@ -17,6 +17,7 @@ import com.epmet.dto.stats.FactIssueGridMonthlyDTO;
import com.epmet.entity.stats.*;
import com.epmet.service.Issue.IssueService;
import com.epmet.service.StatsIssueService;
import com.epmet.service.org.CustomerGridService;
import com.epmet.service.project.ProjectService;
import com.epmet.service.stats.*;
import com.epmet.util.DimIdGenerator;
@ -57,6 +58,8 @@ public class StatsIssueServiceImpl implements StatsIssueService {
private FactIssueGridDailyService factIssueGridDailyService;
@Autowired
private FactIssueGridMonthlyService factIssueGridMonthlyService;
@Autowired
private CustomerGridService customerGridService;
@Override
public void agencyGridIssueStats(StatsFormDTO formDTO) {
@ -119,16 +122,17 @@ public class StatsIssueServiceImpl implements StatsIssueService {
DimIdGenerator.DimIdBean dimId = DimIdGenerator.getDimIdBean(date);
//清空数据
factIssueAgencyDailyService.deleteByCustomerId(customerId, dimId.getDateId());
List<String> gridList = customerGridService.getDelGridList(customerId);
//获取当前客户下所有机关
List<DimAgencyDTO> agencyList = dimAgencyService.getDimAgencyList(dimAgencyDTO);
//获取机关下议题各种状态的数目统计
List<IssueAgencyDTO> issueAgencyTotalList = issueService.getAgencyIssueTotal(customerId, dateString);
List<IssueAgencyDTO> issueAgencyTotalList = issueService.getAgencyIssueTotal(customerId, dateString, gridList);
//获取机关下议题各种状态的数目增量
List<IssueAgencyDTO> issueAgencyIncList = issueService.getAgencyIssueInc(customerId, dateString);
List<IssueAgencyDTO> issueAgencyIncList = issueService.getAgencyIssueInc(customerId, dateString, gridList);
//获取机关下已关闭议题统计
List<IssueAgencyDTO> issueAgencyClosedTotalList = issueService.getAgencyClosedIssueTotal(customerId, dateString);
List<IssueAgencyDTO> issueAgencyClosedTotalList = issueService.getAgencyClosedIssueTotal(customerId, dateString, gridList);
//获取机关下已关闭议题增量
List<IssueAgencyDTO> issueAgencyClosedIncList = issueService.getAgencyClosedIssueInc(customerId, dateString);
List<IssueAgencyDTO> issueAgencyClosedIncList = issueService.getAgencyClosedIssueInc(customerId, dateString, gridList);
//已结案项目统计
List<ProjectAgencyDTO> projectAgencyClosedTotalList = projectService.getAgencyClosedProjectTotal(customerId, dateString);
//已结案项目增量
@ -180,14 +184,15 @@ public class StatsIssueServiceImpl implements StatsIssueService {
dimAgencyDTO.setCustomerId(customerId);
//获取日期相关维度
DimIdGenerator.DimIdBean dimId = DimIdGenerator.getDimIdBean(date);
List<String> gridList = customerGridService.getDelGridList(customerId);
//清空数据
factIssueAgencyMonthlyService.deleteByCustomerId(customerId, dimId.getMonthId());
//获取当前客户下所有机关
List<DimAgencyDTO> agencyList = dimAgencyService.getDimAgencyList(dimAgencyDTO);
//获取机关下议题各种状态的数目统计
List<IssueAgencyDTO> issueAgencyTotalList = issueService.getAgencyIssueTotal(customerId, dateString);
List<IssueAgencyDTO> issueAgencyTotalList = issueService.getAgencyIssueTotal(customerId, dateString, gridList);
//获取机关下已关闭议题统计
List<IssueAgencyDTO> issueAgencyClosedTotalList = issueService.getAgencyClosedIssueTotal(customerId, dateString);
List<IssueAgencyDTO> issueAgencyClosedTotalList = issueService.getAgencyClosedIssueTotal(customerId, dateString, gridList);
//已结案项目统计
List<ProjectAgencyDTO> projectAgencyClosedTotalList = projectService.getAgencyClosedProjectTotal(customerId, dateString);
//统计机关下议题各个指标月度增量

29
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsProjectServiceImpl.java

@ -12,6 +12,7 @@ import com.epmet.entity.project.ProjectProcessEntity;
import com.epmet.entity.stats.*;
import com.epmet.service.Issue.IssueService;
import com.epmet.service.StatsProjectService;
import com.epmet.service.org.CustomerGridService;
import com.epmet.service.project.ProjectProcessService;
import com.epmet.service.project.ProjectService;
import com.epmet.service.stats.*;
@ -29,6 +30,7 @@ import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
/**
* 数据统计-项目独立于任何具体数据源外层的service
@ -59,6 +61,8 @@ public class StatsProjectServiceImpl implements StatsProjectService {
private FactGridProjectDailyService factGridProjectDailyService;
@Autowired
private FactGridProjectMonthlyService factGridProjectMonthlyService;
@Autowired
private CustomerGridService customerGridService;
/**
* @Author sun
@ -123,6 +127,31 @@ public class StatsProjectServiceImpl implements StatsProjectService {
log.info("StatsProjectServiceImpl.customerAgencyStats-根据客户Id查询项目进展表业务数据,对应客户Id:" + customerId);
List<ProjectProcessEntity> processList = projectProcessService.getProcessList(projectEntity);
//20210721 sun 业务逻辑调整,网格删除,组织没有删除情况,相应的组织层级数据统计应舍弃以删除网格数据 start
//处理逻辑:查询已删除网格下项目Id,将已查询的项目、节点数据中的脏数据剔除【项目库有张表有网格Id,可以查出每个项目所属网格,但是关联该表后sql查询效率极低固舍弃此方案】
//4-1.查询客户下已删除网格列表下存在的项目Id集合
List<String> list = customerGridService.getdelGridProjectIdList(customerId);
if (list.size() > NumConstant.ZERO) {
Map<String, String> map = list.stream().collect(Collectors.toMap(String::toString, v -> v, (c1, c2) -> c1));
//4-2.遍历删除项目主表查询的无效数据
Iterator<ProjectEntity> proiter = projectList.iterator();
while (proiter.hasNext()) {
ProjectEntity next = proiter.next();
if (map.containsKey(next.getId())) {
proiter.remove();
}
}
//4-3.遍历删除项目节点表查询的无效数据
Iterator<ProjectProcessEntity> iterator = processList.iterator();
while (iterator.hasNext()) {
ProjectProcessEntity next = iterator.next();
if (map.containsKey(next.getProjectId())) {
iterator.remove();
}
}
}
//20210721 sun end
//5:机关层级日月统计
if (null != dimAgencyList && dimAgencyList.size() > NumConstant.ZERO) {
//5.1:执行机关日数据统计

16
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/CustomerGridService.java

@ -61,4 +61,20 @@ public interface CustomerGridService extends BaseService<CustomerGridEntity> {
* @return java.util.List<com.epmet.dto.org.CustomerStaffGridDTO>
*/
List<CustomerStaffGridDTO> getCustomerStaffGridList(String customerId);
/**
* 获取已删除的grid
* @author zhaoqifeng
* @date 2021/7/20 16:33
* @param customerId
* @return java.util.List<java.lang.String>
*/
List<String> getDelGridList(String customerId);
/**
* @Author sun
* @Description 查询客户下已删除网格列表下存在的项目Id集合
**/
List<String> getdelGridProjectIdList(String customerId);
}

36
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/impl/CustomerGridServiceImpl.java

@ -2,6 +2,7 @@ package com.epmet.service.org.impl;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.constant.DataSourceConstant;
import com.epmet.dao.org.CustomerGridDao;
import com.epmet.dto.group.AgencyDTO;
@ -10,10 +11,12 @@ import com.epmet.dto.group.result.GridIdListByCustomerResultDTO;
import com.epmet.dto.org.CustomerStaffGridDTO;
import com.epmet.dto.org.GridInfoDTO;
import com.epmet.entity.org.CustomerGridEntity;
import com.epmet.service.Issue.IssueService;
import com.epmet.service.org.CustomerGridService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@ -23,6 +26,8 @@ public class CustomerGridServiceImpl extends BaseServiceImpl<CustomerGridDao, Cu
@Autowired
private CustomerGridDao customerGridDao;
@Autowired
private IssueService issueService;
@Override
public List<CustomerGridEntity> listGridsByCreateTime(Date start, Date end) {
@ -79,4 +84,35 @@ public class CustomerGridServiceImpl extends BaseServiceImpl<CustomerGridDao, Cu
public List<CustomerStaffGridDTO> getCustomerStaffGridList(String customerId) {
return customerGridDao.getCustomerStaffGridList(customerId);
}
/**
* 获取已删除的grid
*
* @param customerId
* @return java.util.List<java.lang.String>
* @author zhaoqifeng
* @date 2021/7/20 16:33
*/
@Override
public List<String> getDelGridList(String customerId) {
return customerGridDao.getDelGridList(customerId);
}
/**
* @Author sun
* @Description 查询客户下已删除网格列表下存在的项目Id集合
**/
@Override
public List<String> getdelGridProjectIdList(String customerId) {
List<String> resultList = new ArrayList<>();
//1.查询客户已删除网格列表
List<String> gridIds = customerGridDao.selectDelGridList(customerId);
if (gridIds.size() < NumConstant.ONE) {
return resultList;
}
//2.查询议题库已删除网格下可能存在的项目Id集合
resultList = issueService.getProjectByGrids(gridIds);
return resultList;
}
}

47
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/issue/StatsIssueDao.xml

@ -13,6 +13,11 @@
DEL_FLAG = '0'
AND CUSTOMER_ID = #{customerId}
AND DATE(UPDATED_TIME) <![CDATA[ <= ]]> #{date}
<if test="gridList != null and gridList.size() > 0">
<foreach collection="gridList" item="gridId" index="index">
AND GRID_ID != #{gridId}
</foreach>
</if>
GROUP BY
ORG_ID, ISSUE_STATUS
</select>
@ -34,6 +39,11 @@
i.DEL_FLAG = '0'
AND i.CUSTOMER_ID = #{customerId}
AND DATE(ip.CREATED_TIME) = #{date}
<if test="gridList != null and gridList.size() > 0">
<foreach collection="gridList" item="gridId" index="index">
AND i.GRID_ID != #{gridId}
</foreach>
</if>
GROUP BY
i.ORG_ID,
ip.ISSUE_STATUS
@ -55,6 +65,11 @@
AND ISSUE_STATUS = 'closed'
AND CUSTOMER_ID = #{customerId}
AND DATE(UPDATED_TIME) <![CDATA[ <= ]]> #{date}
<if test="gridList != null and gridList.size() > 0">
<foreach collection="gridList" item="gridId" index="index">
AND GRID_ID != #{gridId}
</foreach>
</if>
GROUP BY
ORG_ID,
RESOLVE_TYPE
@ -72,6 +87,11 @@
AND ISSUE_STATUS = 'closed'
AND CUSTOMER_ID = #{customerId}
AND DATE(UPDATED_TIME) = #{date}
<if test="gridList != null and gridList.size() > 0">
<foreach collection="gridList" item="gridId" index="index">
AND GRID_ID != #{gridId}
</foreach>
</if>
GROUP BY
ORG_ID,
RESOLVE_TYPE
@ -301,4 +321,31 @@
</foreach>
order by a.category_type,a.sort
</select>
<select id="getIssueTotalList" resultType="com.epmet.dto.issue.IssueDTO">
SELECT ORG_ID AS "agencyId",
ORG_ID_PATH AS "pIds",
ISSUE_STATUS AS "status",
COUNT(ID) AS "count"
FROM
issue
WHERE
DEL_FLAG = '0'
AND CUSTOMER_ID = #{customerId}
AND DATE(UPDATED_TIME) <![CDATA[ <= ]]> #{date}
GROUP BY
ORG_ID, ISSUE_STATUS
</select>
<select id="selectProjectByGrids" resultType="java.lang.String">
SELECT DISTINCT
ipr.project_id
FROM
issue_project_relation ipr
INNER JOIN issue i ON ipr.issue_id = i.id
WHERE 1=1
<foreach collection="gridIds" item="id" open="AND (" separator=" OR " close=")">
i.grid_id = #{id}
</foreach>
</select>
</mapper>

20
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/CustomerGridDao.xml

@ -106,4 +106,24 @@
csg.DEL_FLAG = '0'
AND csg.CUSTOMER_ID = #{customerId}
</select>
<select id="getDelGridList" resultType="java.lang.String">
select
ID
from
customer_grid
where
DEL_FLAG = '1'
and customer_id = #{customerId}
</select>
<select id="selectDelGridList" resultType="java.lang.String">
SELECT
id
FROM
customer_grid
WHERE
del_flag != '0'
AND customer_id = #{customerId}
</select>
</mapper>

4
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/plugins/ScreenWorkRecordOrgMonthlyDao.xml

@ -29,6 +29,8 @@
customer_id,
month_id,
org_id,
pid,
pids,
org_name,
meeting_code,
type_code,
@ -51,6 +53,8 @@
#{monthId},
#{item.orgId},
#{item.pid},
#{item.pids},
#{item.orgName},
#{item.meetingCode},

10
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/PaCustomerController.java

@ -25,16 +25,8 @@ import java.util.List;
@RequestMapping("pacustomer")
public class PaCustomerController {
@Autowired
private PaUserService paUserService;
@Autowired
private PaCustomerService paCustomerService;
@Autowired
private PaCustomerAgencyService paCustomerAgencyService;
@Autowired
private PaCustomerUserAgencyService paCustomerUserAgencyService;
@Autowired
private CustomerMpService customerMpService;
@GetMapping("{id}")
public Result<PaCustomerDTO> get(@PathVariable("id") String id){
@ -130,7 +122,7 @@ public class PaCustomerController {
* @Description 根据初始化状态获取公众号注册的客户列表
**/
@PostMapping(value = "registerbyauth")
public Result<List<RegisterByAuthResultDTO>> registerByAuth(@LoginUser TokenDto tokenDTO, @RequestBody RegisterByAuthFormDTO formDTO) {
public Result<List<RegisterByAuthResultDTO>> registerByAuth(@RequestBody RegisterByAuthFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
return new Result<List<RegisterByAuthResultDTO>>().ok( paCustomerService.registerByAuth(formDTO));
}

7
epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/AccessServiceImpl.java

@ -439,6 +439,7 @@ public class AccessServiceImpl implements AccessService {
@Override
public Set<String> listOperationPermissions(String staffId, String currAgencyId) {
Set<String> filtedOps = new HashSet<>();
LoginUserDetailsResultDTO userDetails = getLoginUserDetails(loginUserUtil.getLoginUserApp(), loginUserUtil.getLoginUserClient(), loginUserUtil.getLoginUserId());
if (userDetails == null) {
@ -476,7 +477,9 @@ public class AccessServiceImpl implements AccessService {
CustomerAgencyDTO currAgencyDto = currAgencyRst.getData();
if (currAgencyDto == null || currAgencyDto.getId() == null) {
throw new RenException(EpmetErrorCode.REQUIRE_PERMISSION.getCode(), "操作权限不足,当前组织信息不存在");
logger.warn(String.format("根据组织ID:{}未找到组织信息,返回空权限列表", currAgencyId));
return filtedOps;
//throw new RenException(EpmetErrorCode.REQUIRE_PERMISSION.getCode(), "操作权限不足,当前组织信息不存在");
}
// 获取机关单位中的角色
@ -489,8 +492,6 @@ public class AccessServiceImpl implements AccessService {
String currOrgIdPath = getOrgIdPath(currAgencyDto);
String currOrgRelation = getCurrOrgRelation(belongOrgIdPath, currOrgIdPath);
Set<String> filtedOps = new HashSet<>();
if (!CollectionUtils.isEmpty(roleList)) {
roleList.forEach(role -> {
List<RoleOpeScopeResultDTO> opeAndScopeDTO = listAllRoleOperationScopesByRoleId(role.getId());

62
epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/StaffAgencyServiceImpl.java

@ -17,6 +17,7 @@
package com.epmet.service.impl;
import com.alibaba.fastjson.JSON;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
@ -31,10 +32,12 @@ import com.epmet.dto.result.StaffGridResultDTO;
import com.epmet.feign.*;
import com.epmet.service.StaffAgencyService;
import org.apache.commons.lang3.StringUtils;
import org.jetbrains.annotations.Nullable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
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;
@ -214,30 +217,59 @@ public class StaffAgencyServiceImpl implements StaffAgencyService {
**/
@Override
public Result<CustomerGridByUserIdResultDTO> getLatestGrid(LatestGridFormDTO latestGridFormDTO) {
Result<CustomerGridByUserIdResultDTO> latestGridResult =
epmetUserFeignClient.getStaffLatestGrid(latestGridFormDTO);
//首先获取该员工的网格列表 如果为空则直接返回
Result<List<CustomerGridByUserIdResultDTO>> staffGridListResult = govOrgFeignClient.getMyGrids(latestGridFormDTO.getStaffId());
if (staffGridListResult == null || !staffGridListResult.success() || CollectionUtils.isEmpty(staffGridListResult.getData())){
logger.warn("getLatestGrid method getMyGrids return null,param:{}", JSON.toJSONString(latestGridFormDTO));
return new Result<>();
}
//获取该工作人员的最后访问记录 如果不为空 判断下是否所访问网格有效 无效则取工作人员的任意网格返回并生成记录 否则 直接返回访问记录中的网格
Result<CustomerGridByUserIdResultDTO> latestGridResult = epmetUserFeignClient.getStaffLatestGrid(latestGridFormDTO);
if (latestGridResult.success() && null != latestGridResult.getData() && StringUtils.isNotBlank(latestGridResult.getData().getGridId())) {
long count = staffGridListResult.getData().stream().filter(o -> o.getGridId().equals(latestGridResult.getData().getGridId())).count();
//count 如果==0 说明访问记录中的网格已经无效了 则直接查询工作人员最新的网格作为进入的网格
if (count == 0){
Result<CustomerGridByUserIdResultDTO> staffGridResult = getStaffLatestGridAndSaveVisitRecord(latestGridFormDTO);
if (staffGridResult != null) {
return staffGridResult;
}
}
return latestGridResult;
} else {
Result<CustomerGridByUserIdResultDTO> staffGridResult =
govOrgFeignClient.getStaffGrid(latestGridFormDTO);
if (staffGridResult.success() && null != staffGridResult.getData() && StringUtils.isNotBlank(staffGridResult.getData().getGridId())) {
StaffGridVisitedFormDTO gridRecordParam = new StaffGridVisitedFormDTO();
gridRecordParam.setGridId(staffGridResult.getData().getGridId());
gridRecordParam.setCustomerId(latestGridFormDTO.getCustomerId());
gridRecordParam.setStaffId(latestGridFormDTO.getStaffId());
Result writeRecordResult = epmetUserFeignClient.saveStaffGridVisitedRecord(gridRecordParam);
if(writeRecordResult.success()){
logger.warn("com.epmet.service.impl.StaffAgencyServiceImpl.getLatestGrid,工作人员网格访问网格写入失败,staffId:{},gridId:{}",latestGridFormDTO.getStaffId(),staffGridResult.getData().getGridId());
}
Result<CustomerGridByUserIdResultDTO> staffGridResult = getStaffLatestGridAndSaveVisitRecord(latestGridFormDTO);
if (staffGridResult != null) {
return staffGridResult;
}
}
logger.info(String.format("客户id%s,staffId%s查询最后一次登录网格为空",latestGridFormDTO.getCustomerId(),latestGridFormDTO.getStaffId()));
//.error(StaffAgencyConstant.QUERY_LATEST_GRID_INFO_FAILED)
return new Result<>();
}
/**
* desc: 根据参数获取工作人员最新网格 并生成网格网格记录
*
* @param latestGridFormDTO
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.CustomerGridByUserIdResultDTO>
* @author LiuJanJun
* @date 2021/7/27 4:04 下午
*/
@Nullable
private Result<CustomerGridByUserIdResultDTO> getStaffLatestGridAndSaveVisitRecord(LatestGridFormDTO latestGridFormDTO) {
Result<CustomerGridByUserIdResultDTO> staffGridResult = govOrgFeignClient.getStaffGrid(latestGridFormDTO);
if (staffGridResult.success() && null != staffGridResult.getData() && StringUtils.isNotBlank(staffGridResult.getData().getGridId())) {
StaffGridVisitedFormDTO gridRecordParam = new StaffGridVisitedFormDTO();
gridRecordParam.setGridId(staffGridResult.getData().getGridId());
gridRecordParam.setCustomerId(latestGridFormDTO.getCustomerId());
gridRecordParam.setStaffId(latestGridFormDTO.getStaffId());
Result writeRecordResult = epmetUserFeignClient.saveStaffGridVisitedRecord(gridRecordParam);
if(writeRecordResult.success()){
logger.warn("com.epmet.service.impl.StaffAgencyServiceImpl.getLatestGrid,工作人员网格访问网格写入失败,staffId:{},gridId:{}",latestGridFormDTO.getStaffId(),staffGridResult.getData().getGridId());
}
return staffGridResult;
}
return null;
}
@Override
public void switchGrid(SwitchGridFormDTO switchGridFormDTO) {
@ -253,4 +285,4 @@ public class StaffAgencyServiceImpl implements StaffAgencyService {
}
}
}

2
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml

@ -118,6 +118,8 @@
FROM customer_staff_agency csa
INNER JOIN customer_agency ca ON (csa.AGENCY_ID = ca.ID)
WHERE csa.USER_ID = #{staffId}
and csa.del_flag='0'
and ca.del_flag='0'
</select>
<select id="selectAgencyListByIds" resultType="com.epmet.dto.CustomerAgencyDTO">

5
epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/SpecialSubjectDTO.java

@ -112,4 +112,9 @@ public class SpecialSubjectDTO implements Serializable {
* 扩展属性标签颜色
*/
private String tagColor;
/**
* 删除人id
*/
private String delStaffId;
}

9
epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/QuerySpecialSubFormDTO.java

@ -29,4 +29,13 @@ public class QuerySpecialSubFormDTO implements Serializable {
*/
@NotBlank(message = "pids不能为空", groups = AddUserInternalGroup.class)
private String pids;
/**
* 当前登录用户userId,
*/
private String userId;
/**
* 当前登录用户客户id
*/
private String customerId;
}

5
epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/SubjectListResultDTO.java

@ -14,11 +14,6 @@ public class SubjectListResultDTO implements Serializable {
private static final long serialVersionUID = -7761847964768693672L;
/**
* 专题ID
*/
private String specialSubjectId;
/**
* 标签ID
*/

15
epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/WorkSpecialSubjectResultDTO.java

@ -42,9 +42,22 @@ public class WorkSpecialSubjectResultDTO implements Serializable {
private String addOrgId;
private String orgLevel;
/**
* 创建时间
* 创建时间-前端无用
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createdTime;
/**
* 创建人-前端无用
*/
private String createdBy;
/**
* 新增此专题用户所属的组织id
* mean:当前人是谁
* -前端无用
*/
private String addUserAgencyId;
}

4
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/SpecialSubjectController.java

@ -93,7 +93,9 @@ public class SpecialSubjectController {
* @Date 2021/7/15 21:17
**/
@PostMapping("existedlist")
public Result<List<WorkSpecialSubjectResultDTO>> queryExistedList(@RequestBody QuerySpecialSubFormDTO formDTO) {
public Result<List<WorkSpecialSubjectResultDTO>> queryExistedList(@LoginUser TokenDto tokenDto, @RequestBody QuerySpecialSubFormDTO formDTO) {
formDTO.setUserId(tokenDto.getUserId());
formDTO.setCustomerId(tokenDto.getCustomerId());
ValidatorUtils.validateEntity(formDTO, QuerySpecialSubFormDTO.AddUserInternalGroup.class);
return new Result<List<WorkSpecialSubjectResultDTO>>().ok(specialSubjectService.queryExistedList(formDTO));
}

7
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/SpecialSubjectEntity.java

@ -52,6 +52,7 @@ public class SpecialSubjectEntity extends BaseEpmetEntity {
/**
* 新增此专题时用户所在的组织id或者网格id
* mean:给谁添加的
*/
private String addOrgId;
@ -76,7 +77,13 @@ public class SpecialSubjectEntity extends BaseEpmetEntity {
/**
* 新增此专题用户所属的组织id
* mean:当前人是谁
*/
private String addUserAgencyId;
/**
* 删除人id
*/
private String delStaffId;
}

55
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/SpecialSubjectServiceImpl.java

@ -30,6 +30,7 @@ import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.SpecialSubjectDao;
import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.SpecialSubjectDTO;
import com.epmet.dto.TagCustomerDTO;
import com.epmet.dto.form.*;
@ -142,9 +143,8 @@ public class SpecialSubjectServiceImpl extends BaseServiceImpl<SpecialSubjectDao
throw new RenException(EpmetErrorCode.TAG_NOT_EXIST.getCode(), EpmetErrorCode.TAG_NOT_EXIST.getMsg());
}
//2、校验当前组织是否添加过此专题
QuerySpecialSubFormDTO querySpecialSubFormDTO=new QuerySpecialSubFormDTO();
querySpecialSubFormDTO.setOrgId(formDTO.getOrgId());
querySpecialSubFormDTO.setPids(formDTO.getPids());
QuerySpecialSubFormDTO querySpecialSubFormDTO=ConvertUtils.sourceToTarget(formDTO,QuerySpecialSubFormDTO.class);
querySpecialSubFormDTO.setUserId(formDTO.getAddUserId());
List<WorkSpecialSubjectResultDTO> havedList=this.queryExistedList(querySpecialSubFormDTO);
List<String> haveTagIds=havedList.stream().map(WorkSpecialSubjectResultDTO::getTagId).distinct().collect(Collectors.toList());
haveTagIds.forEach(tagId->{
@ -154,11 +154,9 @@ public class SpecialSubjectServiceImpl extends BaseServiceImpl<SpecialSubjectDao
});
// 3、保存
SpecialSubjectEntity insertEntity = ConvertUtils.sourceToTarget(formDTO, SpecialSubjectEntity.class);
StaffInfoFromDTO staffInfoFromDTO = new StaffInfoFromDTO();
staffInfoFromDTO.setStaffId(formDTO.getAddUserId());
Result<MineResultDTO> result = govOrgOpenFeignClient.queryStaffProfile(staffInfoFromDTO);
Result<CustomerAgencyDTO> result = govOrgOpenFeignClient.getAgencyByStaff(formDTO.getAddUserId());
if(result.success()&&null!=result.getData()){
insertEntity.setAddUserAgencyId(result.getData().getAgencyId());
insertEntity.setAddUserAgencyId(result.getData().getId());
}
insertEntity.setAddOrgId(formDTO.getOrgId());
insertEntity.setAddOrgPid(formDTO.getPid());
@ -180,11 +178,11 @@ public class SpecialSubjectServiceImpl extends BaseServiceImpl<SpecialSubjectDao
SpecialSubjectEntity original = baseDao.selectById(formDTO.getSpecialSubjectId());
if (null != original) {
if (!original.getAddOrgId().equals(formDTO.getOrgId())) {
log.warn("当前专题id=" + original.getId() + ";是属于orgId=" + original.getAddOrgId() + ";当前用户正处在orgId=" + formDTO.getOrgId()+";所以无权删除");
throw new RenException(EpmetErrorCode.CAN_NOT_DEL_SPECIAL_PROJECT.getCode(), EpmetErrorCode.CAN_NOT_DEL_SPECIAL_PROJECT.getMsg());
}
baseDao.delSpecialSubject(formDTO.getSpecialSubjectId(), formDTO.getUserId());
}
log.warn(String.format("special_subject is null id=%s", formDTO.getSpecialSubjectId()));
}
/**
@ -197,21 +195,26 @@ public class SpecialSubjectServiceImpl extends BaseServiceImpl<SpecialSubjectDao
*/
@Override
public List<WorkSpecialSubjectResultDTO> queryExistedList(QuerySpecialSubFormDTO formDTO) {
Result<CustomerAgencyDTO> staffResult = govOrgOpenFeignClient.getAgencyByStaff(formDTO.getUserId());
if (!staffResult.success() && null == staffResult.getData()) {
throw new RenException("查询当前工作人员信息异常");
}
List<WorkSpecialSubjectResultDTO> resultDTOList = new ArrayList<>();
List<String> notList = new ArrayList<>();
//当前组织或者网格自己建立的
List<WorkSpecialSubjectResultDTO> currentOrgList = new ArrayList<>();
List<SpecialSubjectDTO> currentOrgCreatedList = baseDao.queryExistedList(formDTO.getOrgId(), notList);
currentOrgCreatedList.forEach(dto -> {
WorkSpecialSubjectResultDTO result = new WorkSpecialSubjectResultDTO();
WorkSpecialSubjectResultDTO result = ConvertUtils.sourceToTarget(dto,WorkSpecialSubjectResultDTO.class);
result.setSpecialSubjectId(dto.getId());
result.setTagId(dto.getTagId());
result.setTagName(dto.getTagName());
result.setCanDel(true);
result.setAddOrgId(dto.getAddOrgId());
result.setOrgLevel(dto.getOrgLevel());
result.setTagColor(dto.getTagColor());
result.setCreatedTime(dto.getCreatedTime());
//1、如果当前专题是给当前所在组织(or网格)添加的;
//2、当前工作人员所属的组织,与专题添加人所属的组织一致,同时满足这两个条件即可删除
if(dto.getAddUserAgencyId().equals(staffResult.getData().getId())
&& dto.getAddOrgId().equals(formDTO.getOrgId())){
result.setCanDel(true);
}else{
result.setCanDel(false);
}
currentOrgList.add(result);
});
if (CollectionUtils.isNotEmpty(currentOrgList)) {
@ -227,15 +230,16 @@ public class SpecialSubjectServiceImpl extends BaseServiceImpl<SpecialSubjectDao
//优先展示自己的,所以要排除掉自己的,自上向下查,优先展示上层领导们给我建立的专题
List<SpecialSubjectDTO> list = baseDao.queryExistedList(pid, notList);
list.forEach(dto -> {
WorkSpecialSubjectResultDTO result = new WorkSpecialSubjectResultDTO();
WorkSpecialSubjectResultDTO result = ConvertUtils.sourceToTarget(dto,WorkSpecialSubjectResultDTO.class);
result.setSpecialSubjectId(dto.getId());
result.setTagId(dto.getTagId());
result.setTagName(dto.getTagName());
result.setCanDel(false);
result.setAddOrgId(dto.getAddOrgId());
result.setOrgLevel(dto.getOrgLevel());
result.setTagColor(dto.getTagColor());
result.setCreatedTime(dto.getCreatedTime());
//1、如果当前专题是给当前所在组织(or网格)添加的;
//2、当前工作人员所属的组织,与专题添加人所属的组织一致,同时满足这两个条件即可删除
if (dto.getAddUserAgencyId().equals(staffResult.getData().getId())
&& dto.getAddOrgId().equals(formDTO.getOrgId())) {
result.setCanDel(true);
} else {
result.setCanDel(false);
}
resultDTOList.add(result);
});
}
@ -290,7 +294,8 @@ public class SpecialSubjectServiceImpl extends BaseServiceImpl<SpecialSubjectDao
// SpecialSubjectDTO subject = baseDao.getInfo(tagId);
// previewResultDTO.setSpecialSubjectId(subject.getId());
// previewResultDTO.setTagName(subject.getTagName());
previewResultDTO.setArticleList(articleService.getArticleListByTag(tagId, formDTO.getPageNo(), formDTO.getPageSize()));
previewResultDTO.setArticleList(articleService.getArticleListByTag(tagId, formDTO.getPageNo() - NumConstant.ONE,
formDTO.getPageSize()));
result.add(previewResultDTO);
});
}

1
epmet-module/gov-voice/gov-voice-server/src/main/resources/db/migration/V0.0.6__add_del_staffid.sql

@ -0,0 +1 @@
alter table special_subject add COLUMN DEL_STAFF_ID VARCHAR(64) COMMENT '删除人id' AFTER ADD_USER_AGENCY_ID;

7
epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleDao.xml

@ -359,13 +359,14 @@
IFNULL(ac.IMG_URL,'') AS articleCoverImg
FROM ARTICLE art
LEFT JOIN ARTICLE_PUBLISH_RANGE prange ON
(art.ID = prange.ARTICLE_ID AND prange.DEL_FLAG = '0' AND prange.PUBLISH_STATUS = 'published' AND prange.GRID_ID = #{gridId} )
(art.ID = prange.ARTICLE_ID AND prange.DEL_FLAG = '0' AND prange.PUBLISH_STATUS = 'published')
LEFT JOIN article_tags ats ON (ats.ARTICLE_ID = art.ID)
LEFT JOIN article_cover ac ON (ac.ARTICLE_ID = art.ID AND ac.DEL_FLAG = 0)
WHERE
art.DEL_FLAG = '0'
AND art.STATUS_FLAG = 'published'
AND ats.TAG_ID = #{tagId}
AND prange.GRID_ID = #{gridId}
ORDER BY
art.PUBLISH_DATE DESC,
art.CREATED_TIME DESC
@ -374,8 +375,7 @@
<!-- 专题列表查询 -->
<select id="subjectList" resultType="com.epmet.dto.result.SubjectListResultDTO">
SELECT
ss.ID AS specialSubjectId,
ss.TAG_ID,
DISTINCT (ss.TAG_ID) AS tagId,
tc.TAG_NAME,
tc.TAG_COLOR
FROM special_subject ss
@ -390,6 +390,7 @@
<foreach collection="pidList" item="pid" separator=" , ">
#{pid}
</foreach>
,ss.CREATED_TIME DESC
</select>
<select id="selectArticleListByTag" resultType="com.epmet.dto.result.ArticleListResultDTO">
SELECT

2
epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/SpecialSubjectDao.xml

@ -4,7 +4,7 @@
<mapper namespace="com.epmet.dao.SpecialSubjectDao">
<update id="delSpecialSubject" parameterType="map">
update special_subject set del_flag='1',UPDATED_BY=#{userId},UPDATED_TIME=Now()
update special_subject set del_flag='1',UPDATED_BY=#{userId},UPDATED_TIME=Now(),DEL_STAFF_ID=#{userId}
where id=#{id}
</update>

5
epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerAppServiceImpl.java

@ -38,7 +38,6 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.annotation.PostConstruct;
import java.util.List;
import java.util.Map;
@ -54,7 +53,7 @@ public class CustomerAppServiceImpl extends BaseServiceImpl<CustomerAppDao, Cust
@Autowired
private RedisTemplate redisTemplate;
@PostConstruct
//@PostConstruct
private void initApp2Redis() {
SetOperations<String, CustomerAppRedisDTO> appSet = redisTemplate.opsForSet();
List<CustomerAppDTO> configAllApp = this.getConfigAllApp();
@ -127,4 +126,4 @@ public class CustomerAppServiceImpl extends BaseServiceImpl<CustomerAppDao, Cust
return customerAppDTOS;
}
}
}

2
epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/CustomerHomeDetailDao.xml

@ -38,7 +38,7 @@
hc.CONFIGURATION_DESCRIPTION,
chd.REGION,
chd.CONFIGURATION,
chd.DEMO_DATA,
hc.DEMO_DATA,
chd.DISPLAY_ORDER
FROM
(

4
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java

@ -290,6 +290,10 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService
//补充信息更新到党员基本信息表
PartymemberInfoDTO partyMemberInfo = partymemberInfoService.getPartyMemberInfo(infoDTO);
if (null == partyMemberInfo) {
log.warn("partymemberInfoService.getPartyMemberInfo return null,this partyMember maybe have audited,param:{}", JSON.toJSON(infoDTO));
return new Result();
}
infoDTO.setId(partyMemberInfo.getId());
partymemberInfoService.updateById(ConvertUtils.sourceToTarget(infoDTO, PartymemberInfoEntity.class));
PartymemberConfirmManualDTO partymemberConfirmManualDTO =

2
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserWechatDao.java

@ -74,7 +74,7 @@ public interface UserWechatDao extends BaseDao<UserWechatEntity>{
* @author wangc
* @date 2020.07.27 00:58
**/
List<CustomerUser4PointResultDTO> selectResiAndStrangerInfo(@Param("userIds") List<String> userIds, @Param("realName")String realName);
List<CustomerUser4PointResultDTO> selectResiAndStrangerInfo(@Param("customerId") String customerId, @Param("realName")String realName);
//临时用下in
List<UserWechatDTO> selectNotInUserBaseInfoTemp();

20
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GridLatestServiceImpl.java

@ -49,6 +49,7 @@ import org.slf4j.LoggerFactory;
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.stream.Collectors;
@ -190,23 +191,10 @@ public class GridLatestServiceImpl extends BaseServiceImpl<GridLatestDao, GridLa
**/
@Override
public List<CustomerUser4PointResultDTO> getCustomerUsers(CustomerUserFormDTO customerUserFormDTO) {
List<CustomerUser4PointResultDTO> allData = new LinkedList<>();
List<String> userIds = baseDao.selectAllUserByCustomerId(customerUserFormDTO.getCustomerId());
if(null == userIds) userIds = new LinkedList<>();
CommonCustomerFormDTO customerParam = new CommonCustomerFormDTO();
customerParam.setCustomerId(customerUserFormDTO.getCustomerId());
Result<List<String>> volunteer = epmetHeartOpenFeignClient.volunteerUserIds(customerParam);
if(volunteer.success() && null != volunteer.getData() && !volunteer.getData().isEmpty()){
userIds.addAll(volunteer.getData());
userIds = userIds.stream().distinct().collect(Collectors.toList());
}
if(null == userIds || userIds.isEmpty()){
return allData;
}
PageHelper.startPage(customerUserFormDTO.getPageNo(),customerUserFormDTO.getPageSize());
allData = userWechatDao.selectResiAndStrangerInfo(userIds,customerUserFormDTO.getName());
if(null == allData || allData.isEmpty()){
return allData;
List<CustomerUser4PointResultDTO> allData = userWechatDao.selectResiAndStrangerInfo(customerUserFormDTO.getCustomerId(),customerUserFormDTO.getName());
if (CollectionUtils.isEmpty(allData)){
return new ArrayList<>();
}
allData.forEach(info -> {
if(StringUtils.isNotBlank(info.getUserId())){

4
epmet-user/epmet-user-server/src/main/resources/mapper/UserWechatDao.xml

@ -125,9 +125,7 @@
wechat.DEL_FLAG = '0'
AND (wechat.NICKNAME IS NOT NULL OR wechat.NICKNAME <![CDATA[ <> ]]> '')
AND (base.SURNAME IS NOT NULL OR base.SURNAME <![CDATA[ <> ]]> '')
<foreach collection="userIds" item="item" open="AND (" separator=" OR " close=" )">
wechat.USER_ID = #{item}
</foreach>
AND wechat.CUSTOMER_ID = #{customerId}
<if test='null != realName and "" != realName'>
AND (base.REAL_NAME LIKE concat('%',#{realName},'%') OR wechat.NICKNAME LIKE concat('%',#{realName},'%'))
</if>

Loading…
Cancel
Save