Commit c12faac4 authored by lisong's avatar lisong

更新接口

parent fe0a60a6
package com.yeejoin.amos.boot.module.jxiop.api.dto;
import com.yeejoin.amos.feign.privilege.model.UserOrgTreeModel;
import lombok.Data;
import java.util.List;
@Data
public class CompanyTreeDto {
private String id;
private String name;
private String parentId;
private String type;
private List<CompanyTreeDto> children;
}
......@@ -101,4 +101,6 @@ public class HouseholdPvDto extends BaseDto {
/** 设备信息 */
private List<HouseholdPvDeviceDto> devices;
private List<Long> ids;
}
package com.yeejoin.amos.boot.module.jxiop.api.mapper;
import com.yeejoin.amos.boot.module.jxiop.api.dto.CompanyTreeDto;
import com.yeejoin.amos.boot.module.jxiop.api.entity.HouseholdPvDistrict;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
/**
* Mapper 接口
*
......@@ -11,4 +14,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface HouseholdPvDistrictMapper extends BaseMapper<HouseholdPvDistrict> {
List<CompanyTreeDto> getList();
}
......@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* 户用光伏表 Mapper 接口
......@@ -18,7 +19,7 @@ import java.util.List;
*/
public interface HouseholdPvMapper extends BaseMapper<HouseholdPv> {
List<HouseholdPvExport> selectExportList(@Param("dto")HouseholdPvDto dto );
List<HouseholdPvExport> selectExportList(@Param("dto")HouseholdPvDto dto, @Param("ids") List<Long> ids);
List<HouseholdPvDeviceDto> selectEquipList(@Param("id")Long id );
}
......@@ -3,11 +3,14 @@ package com.yeejoin.amos.boot.module.jxiop.api.service;
import java.util.List;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.amos.boot.module.jxiop.api.dto.CompanyTreeDto;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvDto;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvExport;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvImport;
import com.yeejoin.amos.boot.module.jxiop.api.entity.HouseholdPv;
import com.yeejoin.amos.feign.privilege.model.UserOrgTreeModel;
/**
* 户用光伏表接口类
......@@ -19,7 +22,7 @@ public interface IHouseholdPvService extends IService<HouseholdPv>{
void importData(List<HouseholdPvImport> list);
List<HouseholdPvExport> selectExportList(HouseholdPvDto dto);
List<HouseholdPvExport> selectExportList(HouseholdPvDto dto, List<Long> ids);
void deleteBatch(List<Long> ids);
......@@ -28,4 +31,7 @@ public interface IHouseholdPvService extends IService<HouseholdPv>{
HouseholdPvDto update(HouseholdPvDto householdPvDto);
HouseholdPvDto getBySeq(Long id);
List<CompanyTreeDto> getTree(HouseholdPvDto dto);
}
......@@ -2,4 +2,9 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.boot.module.jxiop.api.mapper.HouseholdPvDistrictMapper">
<select id="getList" resultType="com.yeejoin.amos.boot.module.jxiop.api.dto.CompanyTreeDto">
select hpd.sequence_nbr as id, hpd.name, hpd.parent_id as parentId, hpd.parent_type as type
from household_pv_district hpd
where is_delete = 0
</select>
</mapper>
......@@ -49,6 +49,12 @@
<if test="dto.number != null and dto.number != ''">
and hp.number like concat('%',#{dto.number},'%')
</if>
<if test="ids != null and ids.size > 0">
and hp.sequence_nbr in
<foreach collection="ids" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</where>
</select>
<select id="selectEquipList" resultType="com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvDeviceDto">
......
......@@ -32,6 +32,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
/**
......@@ -180,9 +181,9 @@ public class HouseholdPvController extends BaseController {
}
@GetMapping(value = "/importData")
@PostMapping(value = "/importData")
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "基础数据导入", notes = "基础数据导入")
@ApiOperation(httpMethod = "POST", value = "基础数据导入", notes = "基础数据导入")
public ResponseModel<Object> importData(@RequestPart("file") MultipartFile multipartFile) throws Exception {
try {
List<HouseholdPvImport> list = ExcelUtil.readFirstSheetExcel(multipartFile, HouseholdPvImport.class, 2);
......@@ -205,7 +206,7 @@ public class HouseholdPvController extends BaseController {
Workbook workbook = new XSSFWorkbook(is);
Sheet sheet = workbook.getSheetAt(0);
//这里作为演示,造几个演示数据,模拟数据库里查数据
List<HouseholdPvExport> list = iHouseholdPvService.selectExportList(dto);
List<HouseholdPvExport> list = iHouseholdPvService.selectExportList(dto, dto.getIds());
//基础信息
list.forEach(item -> {
// 当前获取最后一行
......@@ -257,4 +258,13 @@ public class HouseholdPvController extends BaseController {
iHouseholdPvService.deleteBatch(ids);
return ResponseHelper.buildResponse("ok");
}
@GetMapping(value = "/getTree")
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "基础数据导入", notes = "基础数据导入")
public ResponseModel<Object> getTree () {
return ResponseHelper.buildResponse(iHouseholdPvService.getTree(null));
}
}
......@@ -2,15 +2,28 @@ package com.yeejoin.amos.boot.module.jxiop.biz.service.impl;
import java.text.ParseException;
import java.util.*;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.jxiop.api.dto.*;
import com.yeejoin.amos.boot.module.jxiop.api.entity.*;
import com.yeejoin.amos.boot.module.jxiop.api.mapper.HouseholdPvDistrictMapper;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.UserOrgTreeModel;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.formula.functions.T;
import org.joda.time.LocalDateTime;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
......@@ -18,10 +31,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.module.jxiop.api.entity.HouseholdPv;
import com.yeejoin.amos.boot.module.jxiop.api.entity.HouseholdPvContact;
import com.yeejoin.amos.boot.module.jxiop.api.entity.HouseholdPvInstall;
import com.yeejoin.amos.boot.module.jxiop.api.entity.HouseholdPvLease;
import com.yeejoin.amos.boot.module.jxiop.api.mapper.HouseholdPvMapper;
import com.yeejoin.amos.boot.module.jxiop.api.service.IHouseholdPvContactService;
import com.yeejoin.amos.boot.module.jxiop.api.service.IHouseholdPvInstallService;
......@@ -50,6 +59,11 @@ public class HouseholdPvServiceImpl extends BaseService<HouseholdPvDto, Househol
@Autowired
IHouseholdPvInstallService iHouseholdPvInstallService;
@Autowired
RedisUtils redisUtils;
@Autowired
HouseholdPvDistrictMapper householdPvDistrictMapper;
/**
* 分页查询
*/
......@@ -59,9 +73,9 @@ public class HouseholdPvServiceImpl extends BaseService<HouseholdPvDto, Househol
if (!ObjectUtils.isEmpty(dto.getName())) {
lambda.like(HouseholdPv::getName, dto.getName());
}
if (!ObjectUtils.isEmpty(dto.getPlatformCompanyId())) {
lambda.eq(HouseholdPv::getPlatformCompanyId, dto.getPlatformCompanyId());
}
// if (!ObjectUtils.isEmpty(dto.getPlatformCompanyId())) {
// lambda.eq(HouseholdPv::getPlatformCompanyId, dto.getPlatformCompanyId());
// }
if (!ObjectUtils.isEmpty(dto.getAddress())) {
lambda.like(HouseholdPv::getAddress, dto.getAddress());
}
......@@ -99,8 +113,8 @@ public class HouseholdPvServiceImpl extends BaseService<HouseholdPvDto, Househol
}
@Override
public List<HouseholdPvExport> selectExportList(HouseholdPvDto dto) {
List<HouseholdPvExport> householdPvExports = householdPvMapper.selectExportList(dto);
public List<HouseholdPvExport> selectExportList(HouseholdPvDto dto, List<Long> ids) {
List<HouseholdPvExport> householdPvExports = householdPvMapper.selectExportList(dto, ids);
householdPvExports.forEach(item -> {
if (!ObjectUtils.isEmpty(item.getPeriod())) {
JSONArray objects = JSON.parseArray(item.getPeriod());
......@@ -138,6 +152,9 @@ public class HouseholdPvServiceImpl extends BaseService<HouseholdPvDto, Househol
return stringBuilder;
}
@Override
public void deleteBatch(List<Long> ids) {
householdPvMapper.deleteBatchIds(ids);
......@@ -224,4 +241,38 @@ public class HouseholdPvServiceImpl extends BaseService<HouseholdPvDto, Househol
return householdPvDto;
}
@Override
public List<CompanyTreeDto> getTree(HouseholdPvDto dto) {
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
Long sequenceNbr = reginParams.getCompany().getSequenceNbr();
FeignClientResult<Collection<UserOrgTreeModel>> collectionFeignClientResult = Privilege.companyClient.queryOrgTree(sequenceNbr);
List<CompanyTreeDto> list = householdPvDistrictMapper.getList();
if (collectionFeignClientResult != null){
Collection<UserOrgTreeModel> result = collectionFeignClientResult.getResult();
change(result, list);
}
// list.forEach(item ->{
// item.setChildren(getCompanyBuildingChildrenTree(item.getId(), list));
// });
return list.stream().filter(a -> list.stream().noneMatch(c -> c.getId().equals(a.getParentId()))).peek(b -> b.setChildren(getCompanyBuildingChildrenTree(b.getId(), list))).collect(Collectors.toList());
}
private void change(Collection<UserOrgTreeModel> data, List<CompanyTreeDto> result) {
data.forEach(item -> {
CompanyTreeDto dto = new CompanyTreeDto();
BeanUtils.copyProperties(item, dto, "children");
result.add(dto);
if (!ObjectUtils.isEmpty(item.getChildren())) {
change(item.getChildren(), result);
}
});
}
private List<CompanyTreeDto> getCompanyBuildingChildrenTree(String parentId, List<CompanyTreeDto> all) {
return all.stream().filter(a -> parentId.equals(a.getParentId())).peek(a -> {
a.setChildren(getCompanyBuildingChildrenTree(a.getId(), all));
}).collect(Collectors.toList());
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment