指标分组调整

This commit is contained in:
2023-06-21 08:52:23 +08:00
parent c01a9d2c4b
commit 181758075d
11 changed files with 90 additions and 91 deletions

View File

@@ -17,7 +17,7 @@ import java.util.List;
@Data @Data
public class GroupArrParam { public class GroupArrParam {
@ApiModelProperty("setId") @ApiModelProperty("数据集id")
@NotBlank(message = ValidMessage.ID_NOT_BLANK) @NotBlank(message = ValidMessage.ID_NOT_BLANK)
private String setId; private String setId;
@@ -28,8 +28,13 @@ public class GroupArrParam {
@Data @Data
public static class ArrItem { public static class ArrItem {
@ApiModelProperty("组id")
private String id; private String id;
@ApiModelProperty("组名称")
private String name; private String name;
@ApiModelProperty("组是否展示 0:不展示 1:展示")
private Integer isShow;
@ApiModelProperty("指标集合")
private List<String> children; private List<String> children;
} }
} }

View File

@@ -1,5 +1,7 @@
package com.njcn.csdevice.pojo.po; package com.njcn.csdevice.pojo.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity; import com.njcn.db.bo.BaseEntity;
import java.io.Serializable; import java.io.Serializable;
@@ -25,6 +27,7 @@ public class CsGroup {
/** /**
* id * id
*/ */
@TableId(value = "id",type = IdType.INPUT)
private String id; private String id;
/** /**

View File

@@ -1,5 +1,6 @@
package com.njcn.csdevice.pojo.vo; package com.njcn.csdevice.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.ArrayList; import java.util.ArrayList;
@@ -21,6 +22,9 @@ public class CsGroupVO {
private String name; private String name;
@ApiModelProperty("是否展示 0:不展示 1:展示")
private Integer isShow;
private List<CsGroupVO> children = new ArrayList<>(); private List<CsGroupVO> children = new ArrayList<>();
} }

View File

@@ -59,7 +59,7 @@ public class CsGroupController extends BaseController {
@ApiImplicitParam(name = "lineId", value = "监测点id", required = true) @ApiImplicitParam(name = "lineId", value = "监测点id", required = true)
}) })
public HttpResult<IPage<DataGroupTemplateVO>> getDeviceRtData(@RequestParam("id") String id, @RequestParam("pageNum") Integer pageNum, @RequestParam("pageSize") Integer pageSize, @RequestParam(value = "lineId")String lineId){ public HttpResult<IPage<DataGroupTemplateVO>> getDeviceRtData(@RequestParam("id") String id, @RequestParam("pageNum") Integer pageNum, @RequestParam("pageSize") Integer pageSize, @RequestParam(value = "lineId")String lineId){
String methodDescribe = getMethodDescribe("getDeviceData"); String methodDescribe = getMethodDescribe("getDeviceRtData");
IPage<DataGroupTemplateVO> list = csGroupService.getDeviceRtData(id, pageNum, pageSize,lineId); IPage<DataGroupTemplateVO> list = csGroupService.getDeviceRtData(id, pageNum, pageSize,lineId);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
} }

View File

@@ -2,7 +2,6 @@ package com.njcn.csdevice.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.csdevice.pojo.po.CsGroArr; import com.njcn.csdevice.pojo.po.CsGroArr;
import com.njcn.csdevice.pojo.vo.CsGroupVO;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@@ -17,6 +16,6 @@ import java.util.List;
*/ */
public interface CsGroArrMapper extends BaseMapper<CsGroArr> { public interface CsGroArrMapper extends BaseMapper<CsGroArr> {
List<CsGroupVO> getGroupArrayList(@Param("list") List<String> list); void insertList(@Param("list") List<CsGroArr> list);
} }

View File

@@ -22,11 +22,7 @@ public interface CsGroupMapper extends BaseMapper<CsGroup> {
List<CsGroupVO> getGroupData(@Param("dataSet") String dataSet); List<CsGroupVO> getGroupData(@Param("dataSet") String dataSet);
List<CsGroupVO> getGroupData2(@Param("dataSet") String dataSet);
List<CsGroupVO> getArrayData(@Param("list") List<String> list); List<CsGroupVO> getArrayData(@Param("list") List<String> list);
void insertList(@Param("list") List<CsGroup> list);
Page<DataGroupTemplateVO> getGroupDataList(IPage<DataGroupTemplateVO> page, @Param("id") String id); Page<DataGroupTemplateVO> getGroupDataList(IPage<DataGroupTemplateVO> page, @Param("id") String id);
} }

View File

@@ -2,8 +2,19 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.csdevice.mapper.CsGroArrMapper"> <mapper namespace="com.njcn.csdevice.mapper.CsGroArrMapper">
<select id="getGroupArrayList" resultType="CsGroupVO"> <insert id="insertList">
insert into cs_gro_arr
</select> (
group_id,
array_id
)
values
<foreach collection="list" item="item" index="index" separator=",">
(
#{item.groupId},
#{item.arrayId}
)
</foreach>
</insert>
</mapper> </mapper>

View File

@@ -6,7 +6,8 @@
select select
id, id,
'0' pid, '0' pid,
group_name name group_name name,
is_show isShow
from from
cs_group cs_group
where where
@@ -14,18 +15,6 @@
order by sort order by sort
</select> </select>
<select id="getGroupData2" resultType="CsGroupVO">
select
id,
'0' pid,
group_name name
from
cs_group
where
data_set_id = #{dataSet} and is_show = 1
order by sort
</select>
<select id="getArrayData" resultType="CsGroupVO"> <select id="getArrayData" resultType="CsGroupVO">
select select
t1.id, t1.id,
@@ -45,31 +34,29 @@
<foreach collection='list' item='item' index="index" open='(' separator=',' close=')'> <foreach collection='list' item='item' index="index" open='(' separator=',' close=')'>
#{item} #{item}
</foreach> </foreach>
and
t2.is_show = 1
order by t1.sort order by t1.sort
</select> </select>
<insert id="insertList"> <!-- <insert id="insertList">-->
insert into cs_group <!-- insert into cs_group-->
( <!-- (-->
id, <!-- id,-->
data_set_id, <!-- data_set_id,-->
group_name, <!-- group_name,-->
sort, <!-- sort,-->
is_show <!-- is_show-->
) <!-- )-->
values <!-- values-->
<foreach collection="list" item="item" index="index" separator=","> <!-- <foreach collection="list" item="item" index="index" separator=",">-->
( <!-- (-->
#{item.id}, <!-- #{item.id},-->
#{item.dataSetId}, <!-- #{item.dataSetId},-->
#{item.groupName}, <!-- #{item.groupName},-->
#{item.sort}, <!-- #{item.sort},-->
#{item.isShow} <!-- #{item.isShow}-->
) <!-- )-->
</foreach> <!-- </foreach>-->
</insert> <!-- </insert>-->
<select id="getGroupDataList" resultType="DataGroupTemplateVO"> <select id="getGroupDataList" resultType="DataGroupTemplateVO">

View File

@@ -4,8 +4,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.csdevice.pojo.param.GroupArrParam; import com.njcn.csdevice.pojo.param.GroupArrParam;
import com.njcn.csdevice.pojo.po.CsGroArr; import com.njcn.csdevice.pojo.po.CsGroArr;
import java.util.List;
/** /**
* <p> * <p>
* 组和指标关系表 服务类 * 组和指标关系表 服务类
@@ -16,12 +14,6 @@ import java.util.List;
*/ */
public interface ICsGroArrService extends IService<CsGroArr> { public interface ICsGroArrService extends IService<CsGroArr> {
/**
* 批量新增
* @param list 数据集
*/
void insertList(List<CsGroArr> list);
/** /**
* 更新组和指标关系 * 更新组和指标关系
* @param groupArrParam 组和指标关系 * @param groupArrParam 组和指标关系

View File

@@ -5,17 +5,19 @@ import cn.hutool.core.util.IdUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.csdevice.mapper.CsGroArrMapper; import com.njcn.csdevice.mapper.CsGroArrMapper;
import com.njcn.csdevice.mapper.CsGroupMapper;
import com.njcn.csdevice.pojo.param.GroupArrParam; import com.njcn.csdevice.pojo.param.GroupArrParam;
import com.njcn.csdevice.pojo.po.CsGroArr; import com.njcn.csdevice.pojo.po.CsGroArr;
import com.njcn.csdevice.pojo.po.CsGroup; import com.njcn.csdevice.pojo.po.CsGroup;
import com.njcn.csdevice.service.ICsGroArrService; import com.njcn.csdevice.service.ICsGroArrService;
import com.njcn.csdevice.service.ICsGroupService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@@ -30,48 +32,49 @@ import java.util.stream.Collectors;
@AllArgsConstructor @AllArgsConstructor
public class CsGroArrServiceImpl extends ServiceImpl<CsGroArrMapper, CsGroArr> implements ICsGroArrService { public class CsGroArrServiceImpl extends ServiceImpl<CsGroArrMapper, CsGroArr> implements ICsGroArrService {
private final CsGroupMapper csGroupMapper; private final ICsGroupService csGroupService;
@Override
public void insertList(List<CsGroArr> list) {
this.saveBatch(list,1000);
}
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void updateGroArr(GroupArrParam groupArrParam) { public void updateGroArr(GroupArrParam groupArrParam) {
List<GroupArrParam.ArrItem> list = groupArrParam.getData(); List<GroupArrParam.ArrItem> list = groupArrParam.getData();
List<String> groupIdList = list.stream().map(GroupArrParam.ArrItem::getId).collect(Collectors.toList()); //更新组信息
LambdaQueryWrapper<CsGroArr> lambdaQueryWrapper = new LambdaQueryWrapper<>(); if(CollectionUtil.isNotEmpty(list)) {
lambdaQueryWrapper.in(CsGroArr::getGroupId, groupIdList); List<CsGroup> listGroup = new ArrayList<>();
this.baseMapper.delete(lambdaQueryWrapper); List<CsGroArr> arrList = new ArrayList<>();
csGroupMapper.deleteBatchIds(groupIdList); List<String> groupIdList = list.stream().map(GroupArrParam.ArrItem::getId).collect(Collectors.toList());
LambdaQueryWrapper<CsGroArr> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.in(CsGroArr::getGroupId, groupIdList);
this.baseMapper.delete(lambdaQueryWrapper);
List<CsGroup> listGroup = new ArrayList<>(); Integer sort = 0;
List<CsGroArr> arrList = new ArrayList<>(); for (GroupArrParam.ArrItem item : list) {
Integer sort = 0;
for (GroupArrParam.ArrItem item : list) {
if (CollectionUtil.isNotEmpty(item.getChildren())) {
CsGroup csGroup = new CsGroup(); CsGroup csGroup = new CsGroup();
csGroup.setId(IdUtil.simpleUUID()); String groupId = IdUtil.simpleUUID();
csGroup.setGroupName(item.getName()); if (Objects.isNull(item.getId()) || StringUtils.isBlank(item.getId())){
csGroup.setId(groupId);
} else {
csGroup.setId(item.getId());
}
csGroup.setDataSetId(groupArrParam.getSetId()); csGroup.setDataSetId(groupArrParam.getSetId());
csGroup.setGroupName(item.getName());
csGroup.setIsShow(item.getIsShow());
csGroup.setSort(sort); csGroup.setSort(sort);
csGroup.setIsShow(1);
sort++; sort++;
listGroup.add(csGroup); listGroup.add(csGroup);
for (String idItem : item.getChildren()) { if (CollectionUtil.isNotEmpty(item.getChildren())) {
CsGroArr groupArr = new CsGroArr(); for (String idItem : item.getChildren()) {
groupArr.setGroupId(csGroup.getId()); CsGroArr groupArr = new CsGroArr();
groupArr.setArrayId(idItem); groupArr.setGroupId(csGroup.getId());
arrList.add(groupArr); groupArr.setArrayId(idItem);
arrList.add(groupArr);
}
} }
} }
csGroupService.saveOrUpdateBatch(listGroup,1000);
this.saveBatch(arrList,1000);
} }
csGroupMapper.insertList(listGroup);
this.saveBatch(arrList,1000);
} }
} }

View File

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.csdevice.mapper.CsDataArrayMapper; import com.njcn.csdevice.mapper.CsDataArrayMapper;
import com.njcn.csdevice.mapper.CsGroArrMapper;
import com.njcn.csdevice.mapper.CsGroupMapper; import com.njcn.csdevice.mapper.CsGroupMapper;
import com.njcn.csdevice.pojo.param.EnergyBaseParam; import com.njcn.csdevice.pojo.param.EnergyBaseParam;
import com.njcn.csdevice.pojo.po.CsDataArray; import com.njcn.csdevice.pojo.po.CsDataArray;
@@ -46,7 +47,7 @@ public class CsGroupServiceImpl extends ServiceImpl<CsGroupMapper, CsGroup> impl
private final ICsDataArrayService csDataArrayService; private final ICsDataArrayService csDataArrayService;
private final ICsGroArrService csGroArrService; private final CsGroArrMapper csGroArrMapper;
private final CsGroupMapper csGroupMapper; private final CsGroupMapper csGroupMapper;
@@ -60,16 +61,13 @@ public class CsGroupServiceImpl extends ServiceImpl<CsGroupMapper, CsGroup> impl
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public List<CsGroupVO> getGroupData(String dataSet) { public List<CsGroupVO> getGroupData(String dataSet) {
List<CsGroupVO> list = this.baseMapper.getGroupData(dataSet); List<CsGroupVO> list = this.baseMapper.getGroupData(dataSet);
List<CsGroupVO> result = new ArrayList<>(); List<CsGroupVO> result;
if (CollectionUtil.isEmpty(list)) { if (CollectionUtil.isEmpty(list)) {
result = insertGroupData(dataSet); result = insertGroupData(dataSet);
} else { } else {
List<CsGroupVO> list2 = this.baseMapper.getGroupData2(dataSet); List<String> groupList = list.stream().map(CsGroupVO::getId).collect(Collectors.toList());
if (CollectionUtil.isNotEmpty(list2)){ List<CsGroupVO> arrayList = this.baseMapper.getArrayData(groupList);
List<String> groupList = list2.stream().map(CsGroupVO::getId).collect(Collectors.toList()); result = list.stream().peek((item -> item.setChildren(getChildrenes(item.getId(), arrayList)))).collect(Collectors.toList());
List<CsGroupVO> arrayList = this.baseMapper.getArrayData(groupList);
result = list2.stream().peek((item -> item.setChildren(getChildrenes(item.getId(), arrayList)))).collect(Collectors.toList());
}
} }
return result; return result;
} }
@@ -199,6 +197,7 @@ public class CsGroupServiceImpl extends ServiceImpl<CsGroupMapper, CsGroup> impl
csGroupVo.setId(groupId); csGroupVo.setId(groupId);
csGroupVo.setPid("0"); csGroupVo.setPid("0");
csGroupVo.setName(k); csGroupVo.setName(k);
csGroupVo.setIsShow(1);
v.forEach(item->{ v.forEach(item->{
CsGroupVO csGroupVo2 = new CsGroupVO(); CsGroupVO csGroupVo2 = new CsGroupVO();
csGroupVo2.setId(item.getDataId()); csGroupVo2.setId(item.getDataId());
@@ -213,7 +212,7 @@ public class CsGroupServiceImpl extends ServiceImpl<CsGroupMapper, CsGroup> impl
csGroupVo.setChildren(vo2); csGroupVo.setChildren(vo2);
result.add(csGroupVo); result.add(csGroupVo);
}); });
csGroArrService.insertList(groArrList); csGroArrMapper.insertList(groArrList);
this.saveBatch(ls,1000); this.saveBatch(ls,1000);
return result; return result;
} }