|
@@ -9,6 +9,7 @@ import com.lc.ibps.api.base.query.QueryOP;
|
|
|
import com.lc.ibps.base.core.constants.StringPool;
|
|
import com.lc.ibps.base.core.constants.StringPool;
|
|
|
import com.lc.ibps.base.core.exception.BaseException;
|
|
import com.lc.ibps.base.core.exception.BaseException;
|
|
|
import com.lc.ibps.base.core.monitor.StopWatchUtil;
|
|
import com.lc.ibps.base.core.monitor.StopWatchUtil;
|
|
|
|
|
+import com.lc.ibps.base.core.util.AppUtil;
|
|
|
import com.lc.ibps.base.core.util.BeanUtils;
|
|
import com.lc.ibps.base.core.util.BeanUtils;
|
|
|
import com.lc.ibps.base.core.util.I18nUtil;
|
|
import com.lc.ibps.base.core.util.I18nUtil;
|
|
|
import com.lc.ibps.base.core.util.string.StringUtil;
|
|
import com.lc.ibps.base.core.util.string.StringUtil;
|
|
@@ -18,6 +19,7 @@ import com.lc.ibps.base.db.model.DefaultQueryFilter;
|
|
|
import com.lc.ibps.base.db.mybatis.domain.DefaultPage;
|
|
import com.lc.ibps.base.db.mybatis.domain.DefaultPage;
|
|
|
import com.lc.ibps.base.db.tenant.utils.TenantUtil;
|
|
import com.lc.ibps.base.db.tenant.utils.TenantUtil;
|
|
|
import com.lc.ibps.base.framework.id.UniqueIdUtil;
|
|
import com.lc.ibps.base.framework.id.UniqueIdUtil;
|
|
|
|
|
+import com.lc.ibps.base.framework.table.ICommonDao;
|
|
|
import com.lc.ibps.base.saas.context.TenantContext;
|
|
import com.lc.ibps.base.saas.context.TenantContext;
|
|
|
import com.lc.ibps.base.web.context.ContextUtil;
|
|
import com.lc.ibps.base.web.context.ContextUtil;
|
|
|
import com.lc.ibps.base.web.context.RequestContext;
|
|
import com.lc.ibps.base.web.context.RequestContext;
|
|
@@ -51,6 +53,7 @@ import com.lc.ibps.org.party.persistence.entity.*;
|
|
|
import com.lc.ibps.org.party.repository.*;
|
|
import com.lc.ibps.org.party.repository.*;
|
|
|
import com.lc.ibps.org.spi.SpiUserService;
|
|
import com.lc.ibps.org.spi.SpiUserService;
|
|
|
import com.lc.ibps.org.spi.SpiUserServiceUtil;
|
|
import com.lc.ibps.org.spi.SpiUserServiceUtil;
|
|
|
|
|
+import com.lc.ibps.platform.service.DesktopFacadeService;
|
|
|
import io.swagger.annotations.Api;
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import io.swagger.annotations.ApiParam;
|
|
import io.swagger.annotations.ApiParam;
|
|
@@ -58,12 +61,14 @@ import net.sf.json.JSONObject;
|
|
|
import org.slf4j.event.Level;
|
|
import org.slf4j.event.Level;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
|
import javax.validation.Valid;
|
|
import javax.validation.Valid;
|
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 桌面管理数据展示门面实现类
|
|
* 桌面管理数据展示门面实现类
|
|
@@ -102,6 +107,8 @@ public class DesktopFacadeProvider extends GenericProvider implements IDesktopFa
|
|
|
private InnerMessageRepository innerMessageRepository;
|
|
private InnerMessageRepository innerMessageRepository;
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private PartyUserNavigateRepository userNavigateRepository;
|
|
private PartyUserNavigateRepository userNavigateRepository;
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private ICommonDao<?> commonDao;
|
|
|
@Resource
|
|
@Resource
|
|
|
private PartyEntityRepository partyEntityRepository;
|
|
private PartyEntityRepository partyEntityRepository;
|
|
|
|
|
|
|
@@ -244,11 +251,30 @@ public class DesktopFacadeProvider extends GenericProvider implements IDesktopFa
|
|
|
try {
|
|
try {
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
String currentDate = sdf.format(new Date());
|
|
String currentDate = sdf.format(new Date());
|
|
|
|
|
+ DesktopFacadeService desktopFacadeService = AppUtil.getBean(DesktopFacadeService.class);
|
|
|
List<PartyUserCalendarPo> calendarPoList = calendarRepository.findByUserId(ContextUtil.getCurrentUserId());
|
|
List<PartyUserCalendarPo> calendarPoList = calendarRepository.findByUserId(ContextUtil.getCurrentUserId());
|
|
|
|
|
+ //收集dataSourceId
|
|
|
|
|
+ List<String> dataSourceIds = calendarPoList.stream()
|
|
|
|
|
+ .filter(bean -> StringUtil.isNotBlank(bean.getDataSourceId()))
|
|
|
|
|
+ .map(PartyUserCalendarPo::getDataSourceId)
|
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
|
+ //批量查询考试记录(一次SQL搞定)
|
|
|
|
|
+ Map<String, Map<String,Object>> records = desktopFacadeService.batchQueryExamInfo(dataSourceIds);
|
|
|
|
|
+ //从考试记录获取dataSourceId计算出对应的考试弹窗标志
|
|
|
|
|
+ Map<String, String> examStatusMap = desktopFacadeService.chargeExamPassingFlag(records);
|
|
|
for (PartyUserCalendarPo bean : calendarPoList){
|
|
for (PartyUserCalendarPo bean : calendarPoList){
|
|
|
if (BeanUtils.isEmpty(bean.getMarkDate()) || !bean.getMarkDate().equals(currentDate)){
|
|
if (BeanUtils.isEmpty(bean.getMarkDate()) || !bean.getMarkDate().equals(currentDate)){
|
|
|
bean.setPopUp(1);// 标记为弹窗提醒
|
|
bean.setPopUp(1);// 标记为弹窗提醒
|
|
|
}
|
|
}
|
|
|
|
|
+ // 检查考试通过状态
|
|
|
|
|
+ if (StringUtil.isNotBlank(bean.getDataSourceId())) {
|
|
|
|
|
+ String uniqueKey = bean.getDataSourceId() + "_" + ContextUtil.getCurrentUserId();
|
|
|
|
|
+ String flag = examStatusMap.get(uniqueKey);
|
|
|
|
|
+ if ("pass".equals(flag)) {
|
|
|
|
|
+ //logger.warn("已限制时间考试{}, id{},已通过取消弹窗提醒", bean.getTitle(), bean.getDataSourceId());
|
|
|
|
|
+ bean.setPopUp(0);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
result.setData(calendarPoList);
|
|
result.setData(calendarPoList);
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
@@ -710,6 +736,9 @@ public class DesktopFacadeProvider extends GenericProvider implements IDesktopFa
|
|
|
queryFilter.addFilter("TYPE_", diDian, QueryOP.EQUAL);
|
|
queryFilter.addFilter("TYPE_", diDian, QueryOP.EQUAL);
|
|
|
}
|
|
}
|
|
|
List<NewsPo> list = newsRepository.query(queryFilter);
|
|
List<NewsPo> list = newsRepository.query(queryFilter);
|
|
|
|
|
+ if(!isSuper && newsRepository.isTableExists("t_ggfwb")){
|
|
|
|
|
+ list = newsRepository.getScopeNews(list);
|
|
|
|
|
+ }
|
|
|
result.setData(list);
|
|
result.setData(list);
|
|
|
// queryFilter.setPage(null);
|
|
// queryFilter.setPage(null);
|
|
|
// int totalCount = newsRepository.query(queryFilter).size();
|
|
// int totalCount = newsRepository.query(queryFilter).size();
|