* 'dev' of http://192.168.124.50/wangliwen/share-platform:
  500
  字典类型内也返回对应字典值
  bug fix
  消息通知接口优化
  ...
  能力统计增加企业部门信息
  能力申请被拒绝时 删除申请记录 del_flg 置1
  1.门户首页基础设施统计会客厅数量错误修复
  npe
  npe
  ...
  pageWithAttrs 非中文数量不正确的处理
  我的待办列表 增加会议室
  屮
This commit is contained in:
huangweixiong 2022-10-29 14:26:52 +08:00
commit cb353085b5
22 changed files with 189 additions and 58 deletions

View File

@ -1,5 +1,6 @@
package io.renren.modules.activiti.controller;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.renren.common.annotation.LogOperation;
import io.renren.common.constant.Constant;
@ -30,6 +31,7 @@ import springfox.documentation.annotations.ApiIgnore;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 任务管理
@ -98,6 +100,35 @@ public class ActTaskController {
taskDTO.setAssigneeName(userDTO.getRealName());
}
}
if (!(params.containsKey("processDefinitionKey") && org.apache.commons.lang3.StringUtils.isNotEmpty(params.get("processDefinitionKey").toString()))) {
int meetingroom_book = jdbcTemplate.queryForObject("SELECT COUNT(id) FROM t_meetingroom_book WHERE state = 1;", Integer.class);
page.setTotal(page.getTotal() + meetingroom_book);
Integer limit = 10;
if (params.get(Constant.LIMIT) != null) {
limit = Integer.parseInt((String) params.get(Constant.LIMIT));
}
if (page.getList().size() < limit) {
List<Map<String, Object>> meetingroom_bookTask = jdbcTemplate.queryForList("SELECT " +
" t_meetingroom_book.id AS `taskId`, " +
" t_meetingroom_book.dept AS `userDeptName`, " +
" t_meetingroom.`name` AS `userName`, " +
" '会议室审核' AS `taskName `, " +
" t_meetingroom.create_date AS `createTime` " +
"FROM " +
" t_meetingroom_book " +
" LEFT JOIN t_meetingroom ON t_meetingroom_book.room_id = t_meetingroom.id " +
"WHERE " +
" state = 1;");
List<TaskDTO> meetingroom_bookTaskDto = meetingroom_bookTask
.stream().map(index -> {
TaskDTO taskDTO = JSON.parseObject(JSON.toJSONString(index), TaskDTO.class);
return taskDTO;
}).collect(Collectors.toList());
List<TaskDTO> temp = page.getList();
temp.addAll(meetingroom_bookTaskDto);
page.setList(temp);
}
}
return new Result<PageData<TaskDTO>>().ok(page);
}

View File

@ -200,7 +200,7 @@ public class HistoryController {
if (StringUtils.isNotEmpty(activityDTO.getStartUserId())) {
SysUserDTO userDTO = sysUserService.get(Long.valueOf(activityDTO.getStartUserId()));
activityDTO.setStartUserName(userDTO != null ? userDTO.getRealName() : "");
activityDTO.setStartUserDeptName(sysUserDao.getDeptNameByUserId(userDTO.getId().toString()));
activityDTO.setStartUserDeptName(userDTO != null ? sysUserDao.getDeptNameByUserId(userDTO.getId().toString()) : "");
}
if (StringUtils.isNotEmpty(activityDTO.getAssignee())) {
SysUserDTO userDTO = sysUserService.get(Long.valueOf(activityDTO.getAssignee()));

View File

@ -59,6 +59,7 @@ import org.codehaus.jackson.map.ObjectMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -122,6 +123,8 @@ public class ActTaskService extends BaseServiceImpl {
private ResourceDao resourceDao;
@Autowired
private SysNoticeService sysNoticeService;
@Autowired
private JdbcTemplate jdbcTemplate;
/**
* 根据参数获取当前运行的任务信息
@ -685,6 +688,7 @@ public class ActTaskService extends BaseServiceImpl {
pvmTransitionListC.clear();
pvmTransitionListC.addAll(oriPvmTransitionList);
}
jdbcTemplate.update(String.format("UPDATE t_ability_application SET del_flag = 1 WHERE instance_id = %s ;", task.getProcessInstanceId()));
sysNoticeService.updateApplyStateById(task.getProcessInstanceId(), 1);
}
@ -743,6 +747,7 @@ public class ActTaskService extends BaseServiceImpl {
pvmTransitionListC.clear();
pvmTransitionListC.addAll(oriPvmTransitionList);
}
jdbcTemplate.update(String.format("UPDATE t_ability_application SET del_flag = 1 WHERE instance_id = %s ;", instanceId));
sysNoticeService.updateApplyStateById(instanceId, 1);
}

View File

@ -3,8 +3,6 @@ package io.renren.modules.enke.service;
import io.renren.common.service.CrudService;
import io.renren.modules.enke.dto.HostInfoDTO;
import io.renren.modules.enke.entity.HostInfoEntity;
import io.renren.modules.fuse.dto.TbFuseDTO;
import io.renren.modules.fuse.entity.TbFuseEntity;
/**
* @Auther:lizhicheng2@hisense.com

View File

@ -8,7 +8,6 @@ import io.renren.modules.enke.dao.HostInfoDao;
import io.renren.modules.enke.dto.HostInfoDTO;
import io.renren.modules.enke.entity.HostInfoEntity;
import io.renren.modules.enke.service.EnkeService;
import io.renren.modules.fuse.dto.TbFuseDTO;
import org.springframework.stereotype.Service;
import java.util.List;

View File

@ -8,7 +8,6 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists;
import io.renren.common.constant.Constant;
import io.renren.common.utils.ExcelUtils;
import io.renren.common.utils.JhlDAPTool;
import io.renren.modules.gateway.dao.ApiCountHistoryDao;
@ -33,7 +32,6 @@ import io.swagger.annotations.ApiOperation;
import lombok.Data;
import lombok.extern.log4j.Log4j2;
import org.apache.commons.lang3.StringUtils;
import org.bytedeco.opencv.presets.opencv_core;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.ResponseEntity;
@ -409,7 +407,7 @@ public class MonitorControllerV2 {
LambdaQueryWrapper<SysNoticeEntity> queryWrapper = new QueryWrapper<SysNoticeEntity>()
.lambda()
.select(SysNoticeEntity::getId,SysNoticeEntity::getJumpUrl,SysNoticeEntity::getApplyState,SysNoticeEntity::getType)
.select(SysNoticeEntity::getId, SysNoticeEntity::getJumpUrl, SysNoticeEntity::getApplyState, SysNoticeEntity::getType)
.isNull(SysNoticeEntity::getJumpUrl);
long current = 1L;
@ -425,7 +423,7 @@ public class MonitorControllerV2 {
sysNoticeDao.update(null, updateWrapper);
}
}
}while (entityPage.hasNext());
} while (entityPage.hasNext());
}

View File

@ -23,4 +23,9 @@ public interface SysNoticeDao extends BaseDao<SysNoticeEntity> {
* 获取我的通知列表
*/
List<SysNoticeEntity> getMyNoticeList(Map<String, Object> params);
/**
* 更新 apply state
*/
int updateApplyState(Long userId, Integer applyState, String applyId);
}

View File

@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

View File

@ -110,13 +110,7 @@ public class SysNoticeServiceImpl extends CrudServiceImpl<SysNoticeDao, SysNotic
@Override
public void updateApplyStateById(String id, Integer state) {
Map params = new HashMap();
params.put("apply_id", id);
List<SysNoticeDTO> list = this.list(params);
list.stream().filter(it -> it.getReceiverTypeIds().contains(SecurityUser.getUserId().toString())).forEach(it -> {
it.setApplyState(state);
this.update(it);
});
baseDao.updateApplyState(SecurityUser.getUserId(), state, id);
}
@Override
@ -139,7 +133,6 @@ public class SysNoticeServiceImpl extends CrudServiceImpl<SysNoticeDao, SysNotic
}
//更新发送者信息
if (dto.getStatus() == NoticeStatusEnum.SEND.value() && StringUtils.isEmpty(dto.getSenderName())) {
entity.setSenderName(SecurityUser.getUser().getRealName());
@ -296,7 +289,7 @@ public class SysNoticeServiceImpl extends CrudServiceImpl<SysNoticeDao, SysNotic
" <sendpersonGuid>BE604908-D7A3-4947-9CAD-A70FF2E48AB1</sendpersonGuid>\n" + //没有发送人定义先写死
" <typeName>其他</typeName>\n" +
" <isout>1</isout>\n" +
(StringUtils.isNotBlank(notice.getJumpUrl()) ? "<url>" + notice.getJumpUrl() +"</url>\n" : "<url>http://15.72.183.90:7008</url>\n") +
(StringUtils.isNotBlank(notice.getJumpUrl()) ? "<url>" + notice.getJumpUrl() + "</url>\n" : "<url>http://15.72.183.90:7008</url>\n") +
" <openFlag>1</openFlag>\n" +
" <isReply>0</isReply>\n" +
" <isTop>0</isTop>\n" +

View File

@ -10,7 +10,7 @@ import java.util.Map;
@Component
public class NoticeUntil {
static Map<String, Map<Integer,String>> routeMap;
static Map<String, Map<Integer, String>> routeMap;
static Map<Integer, String> typeMap;
static Map<String, String> tabMap;
@ -81,11 +81,12 @@ public class NoticeUntil {
/**
* 先根据type取通知类型前台根据tab区分不同param后台根据待办已办状态区分不同路由
* 这个逻辑好费劲哈哈
*
* @param type
* @param applyState
* @return
*/
public String convertJumpUrl(Integer type, Integer applyState){
public String convertJumpUrl(Integer type, Integer applyState) {
String typeName = typeMap.get(type);
if (typeName == null) return null;
@ -93,10 +94,10 @@ public class NoticeUntil {
if (typeName.indexOf("后台") > -1) {//后台根据待办已办状态区分不同路由
Map<Integer, String> todoMap = routeMap.get(typeName);
String route = todoMap.get(applyState);
if (route != null){
if (route != null) {
return manageUrl + "/#/" + route;
}
}else if (typeName.equals("会议室前台")){//会议室单独处理
} else if (typeName.equals("会议室前台")) {//会议室单独处理
return portalUrl + "/#/DetailsPageconetent?select=基础设施&formPage=noticePage";
} else {//前台根据tab区分不同param
String tabName = tabMap.get(typeName);

View File

@ -53,7 +53,7 @@ public interface ResourceDao extends BaseDao<ResourceEntity> {
*/
List<Map> selectDTOPageSpecilTotal(@Param("dto") ResourceDTO resourceDTO);
Long selectDTOPageCount(@Param("dto") ResourceDTO resourceDTO);
Long selectDTOPageCount(@Param("dto") ResourceDTO resourceDTO, @Param("nonChinese") Boolean nonChinese);
List<Map> selectApplyArea(Long userId);

View File

@ -56,6 +56,7 @@ import okhttp3.*;
import org.activiti.engine.HistoryService;
import org.activiti.engine.history.HistoricProcessInstance;
import org.activiti.engine.history.HistoricProcessInstanceQuery;
import org.apache.commons.lang3.BooleanUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -553,7 +554,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
resourceDTOS = resourceDao.selectDTOPage(resourceDTO, (pageNum - 1) * pageSize, pageSize, orderField, orderType, null, nonChinese);
}
resultPage.setRecords(resourceDTOS);
resultPage.setTotal(resourceDao.selectDTOPageCount(resourceDTO));
resultPage.setTotal(resourceDao.selectDTOPageCount(resourceDTO, nonChinese));
} else {
logger.info("排序要求 orderField:{} orderType:{}", orderField, orderType);
List<ResourceDTO> resourceDTOS = resourceDao.selectWithAttrs(resourceDTO, orderField, orderType, nonChinese);
@ -1898,6 +1899,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
//会客厅
CompletableFuture<Void> hkt = CompletableFuture.runAsync(() -> {
QueryWrapper<TMeetingroom> wrapper = new QueryWrapper<>();
wrapper.eq("del_flag", 0);
resultMap.put("会客厅", tMeetingroomMapper.selectCount(wrapper));
}, executor);
@ -2002,8 +2004,8 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
@Override
public Object getCountByFuzzyQuery(String keyWorld, String nonChinese) {
ArrayList<Map> resultList = new ArrayList<>();
Boolean nonChinese_ = Boolean.getBoolean(nonChinese);// 不传默认为中文走全文索引
List<Map> resultList = new CopyOnWriteArrayList<>();
Boolean nonChinese_ = BooleanUtils.toBoolean(nonChinese.toLowerCase());// 不传默认为中文走全文索引
CompletableFuture<Void> DBresourceCount = CompletableFuture.runAsync(() -> resultList.addAll(resourceDao.selectTypeCountByName(keyWorld, nonChinese_)));
final Integer[] meetCountNew = new Integer[1];
switch (Constant.ProjectPlace.getByFlag(projectPlace)) {
@ -2132,6 +2134,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
List<Map<String, Object>> typeCountListByApplyDept = resourceDao.selectApplyDeptDetailTypeCountList(params);
List<HashMap<String, Object>> resultList = getDeptTemp1();
resultList.addAll(getDeptTemp2());
resultList.addAll(getDeptTemp4());
Map<String, Integer> countMap = new HashMap<>();
Map<String, List<Map<String, Object>>> typeCountListMap = // 市级部门
@ -2151,7 +2154,8 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
return index;
}).collect(Collectors.toList());
Map<String, List<Map<String, Object>>> typeCountListMap1 = // 区级部门
typeCountListByApplyDept.stream().filter(index -> index.get("deptType").toString().equals("3")).collect(Collectors.groupingBy(m -> m.get("district").toString()));
typeCountListByApplyDept.stream().filter(index -> index.get("deptType").toString().equals("3"))
.collect(Collectors.groupingBy(m -> m.get("district").toString()));
resultList = resultList.stream().map(index -> {
if (typeCountListMap1.keySet().contains(index.get("dept_id").toString())) { // 该部门存在上架信息
index.put("count", typeCountListMap1.get(index.get("dept_id").toString()).stream().mapToInt(it -> Integer.parseInt(it.get("count").toString())).sum());
@ -2167,12 +2171,13 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
return index;
}).collect(Collectors.toList());
Map<String, List<Map<String, Object>>> typeCountListMap2 = // 会议室
typeCountListByApplyDept.stream().filter(index -> index.get("deptType").toString().equals("99")).collect(Collectors.groupingBy(m -> m.get("deptName").toString()));
Map<String, List<Map<String, Object>>> typeCountListMap2 = // 企业部门
typeCountListByApplyDept.stream().filter(index -> index.get("deptType").toString().equals("4"))
.collect(Collectors.groupingBy(m -> m.get("dept_id").toString()));
resultList = resultList.stream().map(index -> {
if (typeCountListMap2.keySet().contains(index.get("name").toString())) { // 该部门存在上架信息
index.put("count", Integer.parseInt(index.get("count").toString()) + typeCountListMap2.get(index.get("name").toString()).stream().mapToInt(it -> Integer.parseInt(it.get("count").toString())).sum());
typeCountListMap2.get(index.get("name").toString()).stream().forEach(count -> {
if (typeCountListMap2.keySet().contains(index.get("dept_id").toString())) { // 该部门存在上架信息
index.put("count", typeCountListMap2.get(index.get("dept_id").toString()).stream().mapToInt(it -> Integer.parseInt(it.get("count").toString())).sum());
typeCountListMap2.get(index.get("dept_id").toString()).stream().forEach(count -> {
index.put(count.get("type").toString(), Integer.parseInt(count.get("count").toString()) + Integer.parseInt(index.getOrDefault(count.get("type").toString(), "0").toString()));
if (countMap.containsKey(count.get("type"))) {
countMap.replace(count.get("type").toString(), Integer.parseInt(count.get("count").toString()) + countMap.get(count.get("type")));
@ -2180,15 +2185,32 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
countMap.put(count.get("type").toString(), Integer.parseInt(count.get("count").toString()));
}
});
typeCountListMap2.remove(index.get("name").toString());// 去除
}
return index;
}).collect(Collectors.toList());
if (!typeCountListMap2.isEmpty()) { // 仍然有会议室信息
List<HashMap<String, Object>> temp = typeCountListMap2.keySet().stream().map(index_ -> {
Map<String, List<Map<String, Object>>> typeCountListMap3 = // 会议室
typeCountListByApplyDept.stream().filter(index -> index.get("deptType").toString().equals("99")).collect(Collectors.groupingBy(m -> m.get("deptName").toString()));
resultList = resultList.stream().map(index -> {
if (typeCountListMap3.keySet().contains(index.get("name").toString())) { // 该部门存在上架信息
index.put("count", Integer.parseInt(index.get("count").toString()) + typeCountListMap3.get(index.get("name").toString()).stream().mapToInt(it -> Integer.parseInt(it.get("count").toString())).sum());
typeCountListMap3.get(index.get("name").toString()).stream().forEach(count -> {
index.put(count.get("type").toString(), Integer.parseInt(count.get("count").toString()) + Integer.parseInt(index.getOrDefault(count.get("type").toString(), "0").toString()));
if (countMap.containsKey(count.get("type"))) {
countMap.replace(count.get("type").toString(), Integer.parseInt(count.get("count").toString()) + countMap.get(count.get("type")));
} else {
countMap.put(count.get("type").toString(), Integer.parseInt(count.get("count").toString()));
}
});
typeCountListMap3.remove(index.get("name").toString());// 去除
}
return index;
}).collect(Collectors.toList());
if (!typeCountListMap3.isEmpty()) { // 仍然有会议室信息
List<HashMap<String, Object>> temp = typeCountListMap3.keySet().stream().map(index_ -> {
HashMap<String, Object> map = new HashMap<>();
typeCountListMap2.get(index_).stream().forEach(count -> {
typeCountListMap3.get(index_).stream().forEach(count -> {
map.put(count.get("type").toString(), Integer.parseInt(count.get("count").toString()));
if (countMap.containsKey(count.get("type"))) {
countMap.replace(count.get("type").toString(), Integer.parseInt(count.get("count").toString()) + countMap.get(count.get("type")));
@ -2290,6 +2312,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
typeCountListByDept.stream().filter(index -> index.get("deptType").toString().equals("2")).collect(Collectors.groupingBy(m -> m.get("dept_id").toString()));
List<HashMap<String, Object>> resultList = getDeptTemp1();
resultList.addAll(getDeptTemp2());
resultList.addAll(getDeptTemp4());
Map<String, Integer> countMap = new HashMap<>();
resultList = resultList.stream().map(index -> {
if (typeCountListMap.keySet().contains(index.get("dept_id").toString())) { // 该部门存在上架信息
@ -2306,7 +2329,8 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
return index;
}).collect(Collectors.toList());
Map<String, List<Map<String, Object>>> typeCountListMap1 = // 区级部门
typeCountListByDept.stream().filter(index -> index.get("deptType").toString().equals("3")).collect(Collectors.groupingBy(m -> m.get("district").toString()));
typeCountListByDept.stream().filter(index -> index.get("deptType").toString().equals("3"))
.collect(Collectors.groupingBy(m -> m.get("district").toString()));
resultList = resultList.stream().map(index -> {
if (typeCountListMap1.keySet().contains(index.get("dept_id").toString())) { // 该部门存在上架信息
index.put("count", typeCountListMap1.get(index.get("dept_id").toString()).stream().mapToInt(it -> Integer.parseInt(it.get("count").toString())).sum());
@ -2321,6 +2345,23 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
}
return index;
}).collect(Collectors.toList());
Map<String, List<Map<String, Object>>> typeCountListMap2 = // 企业部门
typeCountListByDept.stream().filter(index -> index.get("deptType").toString().equals("4"))
.collect(Collectors.groupingBy(m -> m.get("dept_id").toString()));
resultList = resultList.stream().map(index -> {
if (typeCountListMap2.keySet().contains(index.get("dept_id").toString())) { // 该部门存在上架信息
index.put("count", typeCountListMap2.get(index.get("dept_id").toString()).stream().mapToInt(it -> Integer.parseInt(it.get("count").toString())).sum());
typeCountListMap2.get(index.get("dept_id").toString()).stream().forEach(count -> {
index.put(count.get("type").toString(), Integer.parseInt(count.get("count").toString()) + Integer.parseInt(index.getOrDefault(count.get("type").toString(), "0").toString()));
if (countMap.containsKey(count.get("type"))) {
countMap.replace(count.get("type").toString(), Integer.parseInt(count.get("count").toString()) + countMap.get(count.get("type")));
} else {
countMap.put(count.get("type").toString(), Integer.parseInt(count.get("count").toString()));
}
});
}
return index;
}).collect(Collectors.toList());
Integer total = 0;
for (Integer count : countMap.values()) {
total += count;
@ -2385,6 +2426,30 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
return resultList;
}
/**
* @return 返回企业级部门的初级构造
*/
private List<HashMap<String, Object>> getDeptTemp4() {
List<HashMap<String, Object>> resultList;
List<Map<String, Object>> maps = jdbcTemplate.queryForList("SELECT id,`name`,type,pid,district FROM sys_dept WHERE type = 4 AND `name` != '访客部门' ORDER BY sys_dept.sort;");
resultList = maps.stream().map(index -> {
HashMap<String, Object> map = new HashMap<>();
map.put("count", 0); //
map.put("name", index.get("name").toString());
map.put("dept_id", index.get("id").toString());
map.put("yyzy", "0");
map.put("znsf", "0");
map.put("tcfw", "0");
map.put("kfzj", "0");
map.put("ywzj", "0");
map.put("jcss", "0");
map.put("zsk", "0");
map.put("sjzy", "0");
return map;
}).collect(Collectors.toList());
return resultList;
}
@Override
public Object selectCensusResourceTable(Map params) {
int curPage = 1;

View File

@ -68,7 +68,7 @@ public class TResourceMountApplyController {
// @RequiresPermissions("resourceMountApply:tresourcemountapply:info")
public Result<TResourceMountApplyDTO> get(@PathVariable("id") Long id) {
TResourceMountApplyDTO data = tResourceMountApplyService.get(id);
if (data.getDeptId() != null) {
if (data != null && data.getDeptId() != null) {
SysDeptDTO sysDeptDTO = sysDeptService.get(Long.valueOf(data.getDeptId()));
if (sysDeptDTO != null) {
ResourceDTO resourceDTO = data.getResourceDTO();

View File

@ -10,6 +10,7 @@ import io.renren.common.validator.group.DefaultGroup;
import io.renren.common.validator.group.UpdateGroup;
import io.renren.modules.sys.dto.SysDictTypeDTO;
import io.renren.modules.sys.entity.DictType;
import io.renren.modules.sys.service.SysDictDataService;
import io.renren.modules.sys.service.SysDictTypeService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
@ -21,6 +22,7 @@ import springfox.documentation.annotations.ApiIgnore;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 字典类型
@ -31,6 +33,8 @@ import java.util.Map;
public class SysDictTypeController {
@Autowired
private SysDictTypeService sysDictTypeService;
@Autowired
private SysDictDataService sysDictDataService;
@GetMapping("page")
@ApiOperation("字典类型分页查询")
@ -41,13 +45,18 @@ public class SysDictTypeController {
@ApiImplicitParam(name = Constant.ORDER_FIELD, value = "排序字段", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = Constant.ORDER, value = "排序方式,可选值(asc、desc)", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "dictType", value = "字典类型", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "dictName", value = "字典名称", paramType = "query", dataType = "String")
@ApiImplicitParam(name = "dictName", value = "字典名称", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "dictLabel", value = "字典标签", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "dictValue", value = "字典值", paramType = "query", dataType = "String")
})
// @RequiresPermissions("sys:dict:page")
public Result<PageData<SysDictTypeDTO>> page(@ApiIgnore @RequestParam Map<String, Object> params) {
//字典类型
PageData<SysDictTypeDTO> page = sysDictTypeService.page(params);
page.setList(page.getList().stream().map(index -> {
index.setSysDictDataDTOList(sysDictDataService.selectByDictTypeId(index.getId().toString()));
return index;
}).collect(Collectors.toList())); //
return new Result<PageData<SysDictTypeDTO>>().ok(page);
}
@ -57,7 +66,7 @@ public class SysDictTypeController {
// @RequiresPermissions("sys:dict:info")
public Result<SysDictTypeDTO> get(@PathVariable("id") Long id) {
SysDictTypeDTO data = sysDictTypeService.get(id);
data.setSysDictDataDTOList(sysDictDataService.selectByDictTypeId(data.getId().toString()));
return new Result<SysDictTypeDTO>().ok(data);
}

View File

@ -14,6 +14,7 @@ import javax.validation.constraints.NotNull;
import javax.validation.constraints.Null;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 字典类型
@ -50,4 +51,9 @@ public class SysDictTypeDTO implements Serializable {
@ApiModelProperty(value = "更新时间")
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
private Date updateDate;
@ApiModelProperty(value = "对应字典数据")
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
List<SysDictDataDTO> sysDictDataDTOList;
}

View File

@ -5,6 +5,7 @@ import io.renren.common.service.BaseService;
import io.renren.modules.sys.dto.SysDictDataDTO;
import io.renren.modules.sys.entity.SysDictDataEntity;
import java.util.List;
import java.util.Map;
/**
@ -22,4 +23,6 @@ public interface SysDictDataService extends BaseService<SysDictDataEntity> {
void delete(Long[] ids);
List<SysDictDataDTO> selectByDictTypeId(String dictTypeId);
}

View File

@ -14,7 +14,9 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 字典类型
@ -75,4 +77,11 @@ public class SysDictDataServiceImpl extends BaseServiceImpl<SysDictDataDao, SysD
deleteBatchIds(Arrays.asList(ids));
}
@Override
public List<SysDictDataDTO> selectByDictTypeId(String dictTypeId) {
QueryWrapper<SysDictDataEntity> wrapper = new QueryWrapper<>();
wrapper.eq("dict_type_id", dictTypeId);
return baseDao.selectList(wrapper).stream().map(index -> ConvertUtils.sourceToTarget(index, SysDictDataDTO.class)).collect(Collectors.toList());
}
}

View File

@ -31,10 +31,7 @@ public class SysDictTypeServiceImpl extends BaseServiceImpl<SysDictTypeDao, SysD
@Override
public PageData<SysDictTypeDTO> page(Map<String, Object> params) {
IPage<SysDictTypeEntity> page = baseDao.selectPage(
getPage(params, "sort", true),
getWrapper(params)
);
IPage<SysDictTypeEntity> page = baseDao.selectPage(getPage(params, "sort", true), getWrapper(params));
return getPageData(page, SysDictTypeDTO.class);
}
@ -42,11 +39,14 @@ public class SysDictTypeServiceImpl extends BaseServiceImpl<SysDictTypeDao, SysD
private QueryWrapper<SysDictTypeEntity> getWrapper(Map<String, Object> params) {
String dictType = (String) params.get("dictType");
String dictName = (String) params.get("dictName");
String dictLabel = params.containsKey("dictLabel") ? (String) params.get("dictLabel") : "";
String dictValue = params.containsKey("dictValue") ? (String) params.get("dictValue") : "";
QueryWrapper<SysDictTypeEntity> wrapper = new QueryWrapper<>();
wrapper.like(StringUtils.isNotBlank(dictType), "dict_type", dictType);
wrapper.like(StringUtils.isNotBlank(dictName), "dict_name", dictName);
wrapper.exists(StringUtils.isNotEmpty(dictLabel), String.format("SELECT 1 FROM sys_dict_data sdd WHERE sdd.dict_type_id = sys_dict_type.id AND sdd.dict_label LIKE CONCAT( '%%', '%s', '%%' ) ", dictLabel));
wrapper.exists(StringUtils.isNotEmpty(dictValue), String.format("SELECT 1 FROM sys_dict_data sdd WHERE sdd.dict_type_id = sys_dict_type.id AND sdd.dict_value =1", dictValue));
return wrapper;
}

View File

@ -6,9 +6,9 @@ spring:
#MySQL
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://192.168.124.236:3306/share_platform?useUnicode=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&useSSL=false
url: jdbc:mysql://192.168.124.46:3306/share_platform?useUnicode=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&useSSL=false
username: root
password: Hisense2019
password: Liwen073898!
#Hisense2019
# #Oracle
# driver-class-name: oracle.jdbc.OracleDriver

View File

@ -23,4 +23,8 @@
</if>
order by t2.create_date desc
</select>
<update id="updateApplyState">
update sys_notice set apply_state = #{applyState} where receiver_type_ids like concat('%', #{userId}, '%') and apply_id=#{applyId}
</update>
</mapper>

View File

@ -274,6 +274,7 @@
AND t_ability_application.user_id = #{userId}
AND t_ability_application.resource_id = #{resourceId}
AND tb_data_resource.type != '基础设施'
AND t_ability_application.del_flag = 0
</select>
<select id="getDeptInfrastructureApply" resultType="java.lang.Integer">

View File

@ -539,9 +539,12 @@
WHERE
1 = 1
AND tdr.del_flag = 0
<if test="dto.name != null and dto.name != ''">
<if test="dto.name != null and dto.name != '' and nonChinese == false">
AND MATCH (tdr.name) AGAINST ( #{dto.name} IN BOOLEAN MODE)
</if>
<if test="dto.name != null and dto.name != '' and nonChinese == true">
AND tdr.name LIKE CONCAT( '%', #{dto.name}, '%' )
</if>
<if test="dto.type != null and dto.type != ''">
AND tdr.type = #{dto.type}
</if>
@ -1621,13 +1624,13 @@
tb_data_attr tda
LEFT JOIN tb_data_resource tdr ON tda.data_resource_id = tdr.id
WHERE 1 = 1
<if test="resourceType == '应用资源'" >
<if test="resourceType == '应用资源'">
AND tda.attr_type = '应用图片'
</if>
<if test="resourceType == '图层服务'" >
<if test="resourceType == '图层服务'">
AND tda.attr_type = '图层缩略图'
</if>
<if test="resourceType == '智能算法'" >
<if test="resourceType == '智能算法'">
AND tda.attr_type = '应用场景'
</if>
AND tdr.id = #{id}
@ -1760,17 +1763,19 @@
END
) AS "type"
FROM
(SELECT IF(d.type='组件服务', A.attr_value, d.type) AS type, d.id, d.del_flag FROM tb_data_resource d LEFT JOIN
(SELECT IF(d.type='组件服务', A.attr_value, d.type) AS type, d.id, d.dept_id, d.del_flag FROM tb_data_resource d LEFT JOIN
tb_data_attr a ON d.id=a.data_resource_id AND a.attr_type='组件类型' AND a.del_flag=0) tdr,
sys_dept sd,
sys_user su,
t_ability_application taa
t_ability_application taa,
sys_dept dept
WHERE
1 = 1
AND tdr.del_flag = 0
AND taa.user_id = su.id
AND su.dept_id = sd.id
AND taa.resource_id = tdr.id
AND dept.id = tdr.dept_id
AND (tdr.type = '应用资源' OR tdr.type = '智能算法' OR tdr.type = '图层服务' OR tdr.type = '开发组件' OR
tdr.type = '业务组件')
<if test="approveStatus != null and approveStatus != ''">