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 { ...@@ -101,4 +101,6 @@ public class HouseholdPvDto extends BaseDto {
/** 设备信息 */ /** 设备信息 */
private List<HouseholdPvDeviceDto> devices; private List<HouseholdPvDeviceDto> devices;
private List<Long> ids;
} }
package com.yeejoin.amos.boot.module.jxiop.api.mapper; 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.yeejoin.amos.boot.module.jxiop.api.entity.HouseholdPvDistrict;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
/** /**
* Mapper 接口 * Mapper 接口
* *
...@@ -11,4 +14,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -11,4 +14,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface HouseholdPvDistrictMapper extends BaseMapper<HouseholdPvDistrict> { public interface HouseholdPvDistrictMapper extends BaseMapper<HouseholdPvDistrict> {
List<CompanyTreeDto> getList();
} }
...@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 户用光伏表 Mapper 接口 * 户用光伏表 Mapper 接口
...@@ -18,7 +19,7 @@ import java.util.List; ...@@ -18,7 +19,7 @@ import java.util.List;
*/ */
public interface HouseholdPvMapper extends BaseMapper<HouseholdPv> { 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 ); List<HouseholdPvDeviceDto> selectEquipList(@Param("id")Long id );
} }
...@@ -3,11 +3,14 @@ package com.yeejoin.amos.boot.module.jxiop.api.service; ...@@ -3,11 +3,14 @@ package com.yeejoin.amos.boot.module.jxiop.api.service;
import java.util.List; import java.util.List;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService; 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.HouseholdPvDto;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvExport; 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.dto.HouseholdPvImport;
import com.yeejoin.amos.boot.module.jxiop.api.entity.HouseholdPv; 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>{ ...@@ -19,7 +22,7 @@ public interface IHouseholdPvService extends IService<HouseholdPv>{
void importData(List<HouseholdPvImport> list); void importData(List<HouseholdPvImport> list);
List<HouseholdPvExport> selectExportList(HouseholdPvDto dto); List<HouseholdPvExport> selectExportList(HouseholdPvDto dto, List<Long> ids);
void deleteBatch(List<Long> ids); void deleteBatch(List<Long> ids);
...@@ -28,4 +31,7 @@ public interface IHouseholdPvService extends IService<HouseholdPv>{ ...@@ -28,4 +31,7 @@ public interface IHouseholdPvService extends IService<HouseholdPv>{
HouseholdPvDto update(HouseholdPvDto householdPvDto); HouseholdPvDto update(HouseholdPvDto householdPvDto);
HouseholdPvDto getBySeq(Long id); HouseholdPvDto getBySeq(Long id);
List<CompanyTreeDto> getTree(HouseholdPvDto dto);
} }
...@@ -2,4 +2,9 @@ ...@@ -2,4 +2,9 @@
<!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.yeejoin.amos.boot.module.jxiop.api.mapper.HouseholdPvDistrictMapper"> <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> </mapper>
...@@ -49,6 +49,12 @@ ...@@ -49,6 +49,12 @@
<if test="dto.number != null and dto.number != ''"> <if test="dto.number != null and dto.number != ''">
and hp.number like concat('%',#{dto.number},'%') and hp.number like concat('%',#{dto.number},'%')
</if> </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> </where>
</select> </select>
<select id="selectEquipList" resultType="com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvDeviceDto"> <select id="selectEquipList" resultType="com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvDeviceDto">
......
...@@ -32,6 +32,7 @@ import javax.servlet.http.HttpServletRequest; ...@@ -32,6 +32,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.*; import java.io.*;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
...@@ -180,9 +181,9 @@ public class HouseholdPvController extends BaseController { ...@@ -180,9 +181,9 @@ public class HouseholdPvController extends BaseController {
} }
@GetMapping(value = "/importData") @PostMapping(value = "/importData")
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "基础数据导入", notes = "基础数据导入") @ApiOperation(httpMethod = "POST", value = "基础数据导入", notes = "基础数据导入")
public ResponseModel<Object> importData(@RequestPart("file") MultipartFile multipartFile) throws Exception { public ResponseModel<Object> importData(@RequestPart("file") MultipartFile multipartFile) throws Exception {
try { try {
List<HouseholdPvImport> list = ExcelUtil.readFirstSheetExcel(multipartFile, HouseholdPvImport.class, 2); List<HouseholdPvImport> list = ExcelUtil.readFirstSheetExcel(multipartFile, HouseholdPvImport.class, 2);
...@@ -205,7 +206,7 @@ public class HouseholdPvController extends BaseController { ...@@ -205,7 +206,7 @@ public class HouseholdPvController extends BaseController {
Workbook workbook = new XSSFWorkbook(is); Workbook workbook = new XSSFWorkbook(is);
Sheet sheet = workbook.getSheetAt(0); Sheet sheet = workbook.getSheetAt(0);
//这里作为演示,造几个演示数据,模拟数据库里查数据 //这里作为演示,造几个演示数据,模拟数据库里查数据
List<HouseholdPvExport> list = iHouseholdPvService.selectExportList(dto); List<HouseholdPvExport> list = iHouseholdPvService.selectExportList(dto, dto.getIds());
//基础信息 //基础信息
list.forEach(item -> { list.forEach(item -> {
// 当前获取最后一行 // 当前获取最后一行
...@@ -257,4 +258,13 @@ public class HouseholdPvController extends BaseController { ...@@ -257,4 +258,13 @@ public class HouseholdPvController extends BaseController {
iHouseholdPvService.deleteBatch(ids); iHouseholdPvService.deleteBatch(ids);
return ResponseHelper.buildResponse("ok"); 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; ...@@ -2,15 +2,28 @@ package com.yeejoin.amos.boot.module.jxiop.biz.service.impl;
import java.text.ParseException; import java.text.ParseException;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; 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.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.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.formula.functions.T;
import org.joda.time.LocalDateTime; import org.joda.time.LocalDateTime;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
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.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
...@@ -18,10 +31,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; ...@@ -18,10 +31,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; 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.yeejoin.amos.boot.biz.common.utils.DateUtils; 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.mapper.HouseholdPvMapper;
import com.yeejoin.amos.boot.module.jxiop.api.service.IHouseholdPvContactService; import com.yeejoin.amos.boot.module.jxiop.api.service.IHouseholdPvContactService;
import com.yeejoin.amos.boot.module.jxiop.api.service.IHouseholdPvInstallService; import com.yeejoin.amos.boot.module.jxiop.api.service.IHouseholdPvInstallService;
...@@ -50,6 +59,11 @@ public class HouseholdPvServiceImpl extends BaseService<HouseholdPvDto, Househol ...@@ -50,6 +59,11 @@ public class HouseholdPvServiceImpl extends BaseService<HouseholdPvDto, Househol
@Autowired @Autowired
IHouseholdPvInstallService iHouseholdPvInstallService; IHouseholdPvInstallService iHouseholdPvInstallService;
@Autowired
RedisUtils redisUtils;
@Autowired
HouseholdPvDistrictMapper householdPvDistrictMapper;
/** /**
* 分页查询 * 分页查询
*/ */
...@@ -59,9 +73,9 @@ public class HouseholdPvServiceImpl extends BaseService<HouseholdPvDto, Househol ...@@ -59,9 +73,9 @@ public class HouseholdPvServiceImpl extends BaseService<HouseholdPvDto, Househol
if (!ObjectUtils.isEmpty(dto.getName())) { if (!ObjectUtils.isEmpty(dto.getName())) {
lambda.like(HouseholdPv::getName, dto.getName()); lambda.like(HouseholdPv::getName, dto.getName());
} }
if (!ObjectUtils.isEmpty(dto.getPlatformCompanyId())) { // if (!ObjectUtils.isEmpty(dto.getPlatformCompanyId())) {
lambda.eq(HouseholdPv::getPlatformCompanyId, dto.getPlatformCompanyId()); // lambda.eq(HouseholdPv::getPlatformCompanyId, dto.getPlatformCompanyId());
} // }
if (!ObjectUtils.isEmpty(dto.getAddress())) { if (!ObjectUtils.isEmpty(dto.getAddress())) {
lambda.like(HouseholdPv::getAddress, dto.getAddress()); lambda.like(HouseholdPv::getAddress, dto.getAddress());
} }
...@@ -99,8 +113,8 @@ public class HouseholdPvServiceImpl extends BaseService<HouseholdPvDto, Househol ...@@ -99,8 +113,8 @@ public class HouseholdPvServiceImpl extends BaseService<HouseholdPvDto, Househol
} }
@Override @Override
public List<HouseholdPvExport> selectExportList(HouseholdPvDto dto) { public List<HouseholdPvExport> selectExportList(HouseholdPvDto dto, List<Long> ids) {
List<HouseholdPvExport> householdPvExports = householdPvMapper.selectExportList(dto); List<HouseholdPvExport> householdPvExports = householdPvMapper.selectExportList(dto, ids);
householdPvExports.forEach(item -> { householdPvExports.forEach(item -> {
if (!ObjectUtils.isEmpty(item.getPeriod())) { if (!ObjectUtils.isEmpty(item.getPeriod())) {
JSONArray objects = JSON.parseArray(item.getPeriod()); JSONArray objects = JSON.parseArray(item.getPeriod());
...@@ -138,6 +152,9 @@ public class HouseholdPvServiceImpl extends BaseService<HouseholdPvDto, Househol ...@@ -138,6 +152,9 @@ public class HouseholdPvServiceImpl extends BaseService<HouseholdPvDto, Househol
return stringBuilder; return stringBuilder;
} }
@Override @Override
public void deleteBatch(List<Long> ids) { public void deleteBatch(List<Long> ids) {
householdPvMapper.deleteBatchIds(ids); householdPvMapper.deleteBatchIds(ids);
...@@ -224,4 +241,38 @@ public class HouseholdPvServiceImpl extends BaseService<HouseholdPvDto, Househol ...@@ -224,4 +241,38 @@ public class HouseholdPvServiceImpl extends BaseService<HouseholdPvDto, Househol
return householdPvDto; 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