Commit 3ea88287 authored by 朱晨阳's avatar 朱晨阳

Merge remote-tracking branch 'origin/developer_bw' into developer_bw

parents 1098d231 2d80e5d2
......@@ -181,6 +181,9 @@ public class DateUtils {
if (StringUtils.isEmpty(pattern)) {
pattern = DateUtils.DATE_PATTERN;
}
if(Objects.isNull(date)){
return null;
}
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
return sdf.format(date);
}
......
......@@ -7,7 +7,7 @@ import cn.afterturn.easypoi.excel.entity.ExportParams;
import cn.afterturn.easypoi.excel.entity.ImportParams;
import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.util.ObjectUtils;
......@@ -69,6 +69,45 @@ public class ExcelUtils {
/**
* excel 导出
*
* @param list 数据
* @param title 标题
* @param sheetName sheet名称
* @param pojoClass pojo类型
* @param fileName 文件名称
* @param response
*/
public static void exportExcelDefaultGroundColor(List<?> list, String title, String sheetName, Class<?> pojoClass, String fileName,
HttpServletResponse response) {
ExportParams exportParams = new ExportParams(title, sheetName);
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, pojoClass, list);
if (workbook != null) {
// 设置表头样式
Sheet sheet = workbook.getSheetAt(0);
Row headerRow = sheet.getRow(0);
if (headerRow != null) {
CellStyle headerStyle = workbook.createCellStyle();
Font font = workbook.createFont();
font.setBold(true); // 加粗
headerStyle.setFont(font);
headerStyle.setFillForegroundColor(IndexedColors.SKY_BLUE.getIndex()); // 背景色
headerStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); // 填充模式
// 设置居中对齐
headerStyle.setAlignment(HorizontalAlignment.CENTER);
headerStyle.setVerticalAlignment(VerticalAlignment.CENTER);
// 设置表头每个单元格的样式
for (int i = 0; i < headerRow.getPhysicalNumberOfCells(); i++) {
Cell cell = headerRow.getCell(i);
if (cell != null) {
cell.setCellStyle(headerStyle);
}
}
}
downLoadExcel(fileName, response, workbook);
}
}
/**
* excel 导出
*
* @param list 数据
* @param fileName 文件名称
* @param response
......
package com.yeejoin.amos.boot.module.hygf.api.dto;
import com.yeejoin.amos.boot.module.hygf.api.entity.PeasantHousehold;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import java.util.List;
/**
* 投融信息
*
* @author system_generator
* @date 2024-10-22
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="FinancingInfoHistoryDto", description="投融信息")
public class FinancingInfoHistoryDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "所属融资公司id")
private Long financingCompaniesSeq;
@ApiModelProperty(value = "所属融资公司名称")
private String financingCompaniesName;
@ApiModelProperty(value = "所属融资公司code")
private String financingCompaniesCode;
@ApiModelProperty(value = "农户id")
private Long peasantHouseholdId;
@ApiModelProperty(value = "放款时间")
private Date disbursementTime;
@ApiModelProperty(value = "元")
private Double disbursementMoney;
@ApiModelProperty(value = "附件")
private String file;
@ApiModelProperty(value = "状态")
private String status;
@ApiModelProperty(value = "放款单价")
private String unitPrice;
@ApiModelProperty(value = "批次号")
private String bacthNo;
private Long regionalCompaniesSeq;
@ApiModelProperty(value = "附件")
private List<Object> files;
List<PeasantHousehold> peasantHouseholds;
}
package com.yeejoin.amos.boot.module.hygf.api.dto;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import java.util.List;
/**
* 存量合同电站
*
* @author system_generator
* @date 2024-10-18
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "HistoryPeasantHouseholdDto", description = "存量合同电站")
public class HistoryPeasantHouseholdDto extends BaseDto {
@ExcelIgnore
private static final long serialVersionUID = 1L;
@ExcelProperty(value = "农户姓名", index = 0)
@ApiModelProperty(value = "农户姓名")
private String ownersName;
@ExcelProperty(value = "身份证号", index = 1)
@ApiModelProperty(value = "身份证号")
private String idCard;
@ExcelProperty(value = "联系方式", index = 2)
@ApiModelProperty(value = "联系方式")
private String telephone;
@ExcelProperty(value = "省份", index = 3)
@ApiModelProperty(value = "省份")
private String province;
@ExcelProperty(value = "房屋地址", index = 4)
@ApiModelProperty(value = "房屋地址")
private String houseAddress;
@ExcelProperty(value = "并网容量", index = 5)
@ApiModelProperty(value = "并网容量")
private String basicGridCapacity;
@ExcelProperty(value = "并网日期", index = 6)
@ApiModelProperty(value = "并网日期")
private String basicGridDate;
@ExcelProperty(value = "农户编号", index = 7)
@ApiModelProperty(value = "农户编号")
private String peasantHouseholdNo;
@ExcelProperty(value = "购电合同", index = 8)
@ApiModelProperty(value = "购电合同")
private String powerPurchaseContract;
@ExcelProperty(value = "租赁合同", index = 9)
@ApiModelProperty(value = "租赁合同")
private String leaseContract;
@ExcelIgnore
private String files;
/**
* 状态
*/
@ExcelIgnore
private String status;
/**
* 附件地址
*/
@ExcelIgnore
@TableField(typeHandler = FastjsonTypeHandler.class)
private List<Object> fileUrl;
}
package com.yeejoin.amos.boot.module.hygf.api.dto;
import lombok.Data;
import java.util.List;
@Data
public class PowerStationTimeStatisticsBatchDto {
private List<String> sequenceNbrList;
}
package com.yeejoin.amos.boot.module.hygf.api.dto;
import com.alibaba.excel.annotation.ExcelIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 电站时间统计DTO
*/
@Data
@ApiModel(value="PowerStationTimeStatisticsDto", description="电站时间统计")
public class PowerStationTimeStatisticsDto implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "主键ID")
private Long sequenceNbr;
@ApiModelProperty(value = "电站编号")
private String peasantHouseholdNo;
@ApiModelProperty(value = "电站名称")
private String ownersName;
@ApiModelProperty(value = "电站安装规模")
private String scale;
@ApiModelProperty(value = "电站实际规模")
private String realScale;
@ApiModelProperty(value = "省份")
private String province;
@ApiModelProperty(value = "区域公司")
private String regionalCompaniesName;
@ApiModelProperty(value = "经销商")
private String serviceAgent;
@ApiModelProperty(value = "勘察开始时间")
private Date kcCreateTime;
@ApiModelProperty(value = "勘察结束时间")
private Date kcEndTime;
@ApiModelProperty(value = "勘察停留时间")
private String kcStopTime;
@ApiModelProperty(value = "电子合同签约开始时间")
private Date dzhtqyCreateTime;
@ApiModelProperty(value = "电子合同签约结束时间")
private Date dzhtqyEndTime;
@ApiModelProperty(value = "电子合同签约停留时间")
private String dzhtqyStopTime;
@ApiModelProperty(value = "设计开始时间")
private Date sjCreateTime;
@ApiModelProperty(value = "设计结束时间")
private Date sjEndTime;
@ApiModelProperty(value = "设计停留时间")
private String sjStopTime;
@ApiModelProperty(value = "发货备货开始时间")
private Date fhbhCreateTime;
@ApiModelProperty(value = "发货备货结束时间")
private Date fhbhEndTime;
@ApiModelProperty(value = "发货备货停留时间")
private String fhbhStopTime;
@ApiModelProperty(value = "施工开始时间")
private Date sgCreateTime;
@ApiModelProperty(value = "施工结束时间")
private Date sgEndTime;
@ApiModelProperty(value = "施工停留时间")
private String sgStopTime;
@ApiModelProperty(value = "并网开始时间")
private Date bwCreateTime;
@ApiModelProperty(value = "并网结束时间")
private Date bwEndTime;
@ApiModelProperty(value = "并网停留时间")
private String bwStopTime;
@ApiModelProperty(value = "验收开始时间")
private Date ysCreateTime;
@ApiModelProperty(value = "验收结束时间")
private Date ysEndTime;
@ApiModelProperty(value = "验收停留时间")
private String ysStopTime;
}
......@@ -119,4 +119,15 @@ public class AcceptanceCheck extends BaseEntity {
*/
@TableField(exist = false)
private List<HygfRectificationOrder> propertyOrders;
/**
* 验收创建时间
*/
@TableField("ys_create_time")
private Date ysCreateTime;
/**
* 验收结束时间
*/
@TableField("ys_end_time")
private Date ysEndTime;
}
......@@ -86,4 +86,15 @@ public class BasicGridRecord extends BaseEntity {
*/
@TableField("grid_time")
private Date gridTime;
/**
* 并网创建时间
*/
@TableField("bw_create_time")
private Date bwCreateTime;
/**
* 并网结束时间
*/
@TableField("bw_end_time")
private Date bwEndTime;
}
package com.yeejoin.amos.boot.module.hygf.api.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
/**
* 投融信息
*
* @author system_generator
* @date 2024-10-22
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("hygf_financing_info_history")
public class FinancingInfoHistory extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 所属融资公司id
*/
@TableField("financing_companies_seq")
private Long financingCompaniesSeq;
/**
* 所属融资公司名称
*/
@TableField("financing_companies_name")
private String financingCompaniesName;
/**
* 所属融资公司code
*/
@TableField("financing_companies_code")
private String financingCompaniesCode;
/**
* 农户id
*/
@TableField("peasant_household_id")
private Long peasantHouseholdId;
/**
* 放款时间
*/
@TableField("disbursement_time")
private Date disbursementTime;
/**
* 元
*/
@TableField("disbursement_money")
private Double disbursementMoney;
/**
* 附件
*/
@TableField("file")
private String file;
/**
* 状态
*/
@TableField("status")
private String status;
/**
* 放款单价
*/
@TableField("unit_price")
private String unitPrice;
/**
* 批次号
*/
@TableField("bacth_no")
private String bacthNo;
/**
*
*/
@TableField("regional_companies_seq")
private Long regionalCompaniesSeq;
}
package com.yeejoin.amos.boot.module.hygf.api.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
import java.util.List;
/**
* 存量合同电站
*
* @author system_generator
* @date 2024-10-18
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("hygf_history_peasant_household")
public class HistoryPeasantHousehold extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 农户姓名
*/
@TableField("owners_name")
private String ownersName;
/**
* 身份证号
*/
@TableField("id_card")
private String idCard;
/**
* 联系方式
*/
@TableField("telephone")
private String telephone;
/**
* 房屋地址
*/
@TableField("house_address")
private String houseAddress;
/**
* 并网容量
*/
@TableField("basic_grid_capacity")
private String basicGridCapacity;
/**
* 并网日期
*/
@TableField("basic_grid_date")
private String basicGridDate;
/**
* 农户编号
*/
@TableField("peasant_household_no")
private String peasantHouseholdNo;
/**
* 购电合同
*/
@TableField("power_purchase_contract")
private String powerPurchaseContract;
/**
* 租赁合同
*/
@TableField("lease_contract")
private String leaseContract;
/**
* 状态
*/
@TableField("status")
private String status;
/**
* 附件信息
*/
@TableField(value = "file_url",typeHandler = FastjsonTypeHandler.class)
private List<Object> fileUrl;
/**
* 省份
*/
@TableField("province")
private String province;
}
......@@ -265,4 +265,10 @@ public class HouseholdContract extends BaseEntity {
private String realScale;
@TableField(exist = false)
private String province;
/**
* 电子合同签约创建时间
*/
@TableField("dzhtqy_create_time")
private Date dzhtqyCreateTime;
}
......@@ -3,10 +3,13 @@ package com.yeejoin.amos.boot.module.hygf.api.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
/**
*
*
......@@ -149,4 +152,28 @@ public class PowerStation extends BaseEntity {
@TableField("promoter")
private String promoter;
/**
* 勘察开始时间
*/
@TableField("kc_create_time")
private Date kcCreateTime;
/**
* 勘察结束时间
*/
@TableField("kc_end_time")
private Date kcEndTime;
/**
* 设计创建时间
*/
@TableField("sj_create_time")
private Date sjCreateTime;
/**
* 设计结束时间
*/
@TableField("sj_end_time")
private Date sjEndTime;
}
......@@ -160,5 +160,4 @@ public class PreparationMoney extends BaseEntity {
//订单状态
@TableField("order_status")
private String orderStatus;
}
......@@ -7,6 +7,8 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
/**
* 施工派工单电站
*
......@@ -71,4 +73,14 @@ public class WorkOrderPowerStation extends BaseEntity {
*/
@TableField("power_station_engineering_status")
private String powerStationEngineeringStatus;
/**
*施工创建时间
*/
@TableField("sg_create_time")
private Date sgCreateTime;
/**
*施工结束时间
*/
@TableField("sg_end_time")
private Date sgEndTime;
}
package com.yeejoin.amos.boot.module.hygf.api.mapper;
import com.yeejoin.amos.boot.module.hygf.api.entity.FinancingInfoHistory;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
import java.util.Map;
/**
* 投融信息 Mapper 接口
*
* @author system_generator
* @date 2024-10-22
*/
public interface FinancingInfoHistoryMapper extends BaseMapper<FinancingInfoHistory> {
List<Map<String,Object>> getFinancingList(String ownersName , List<String> status, String province);
}
package com.yeejoin.amos.boot.module.hygf.api.mapper;
import com.yeejoin.amos.boot.module.hygf.api.dto.HistoryPeasantHouseholdDto;
import com.yeejoin.amos.boot.module.hygf.api.entity.HistoryPeasantHousehold;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
import java.util.Map;
/**
* 存量合同电站 Mapper 接口
*
* @author system_generator
* @date 2024-10-18
*/
public interface HistoryPeasantHouseholdMapper extends BaseMapper<HistoryPeasantHousehold> {
public HistoryPeasantHouseholdDto selectDataInfo(Long sequenceNbr);
List<HistoryPeasantHouseholdDto> queryForPage(List<String> sequenceNbrs, String ownersName, String province, String status);
}
......@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.hygf.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.hygf.api.config.UserEmpower;
import com.yeejoin.amos.boot.module.hygf.api.dto.PowerStationTimeStatisticsDto;
import com.yeejoin.amos.boot.module.hygf.api.entity.PeasantHousehold;
import org.apache.ibatis.annotations.Param;
......@@ -53,5 +54,41 @@ public interface PeasantHouseholdMapper extends BaseMapper<PeasantHousehold> {
List<PeasantHousehold> getInfoByIds(@Param(value = "ids") List<String> ids);
List<PeasantHousehold> getInfoByIdsHistory(@Param(value = "ids") List<String> ids);
/**
* 分页查询电站统计
* @param statisticsDto
* @return
*/
@UserEmpower(field = {"hph.regional_companies_code"}, dealerField = {"hph.regional_companies_code"}, fieldConditions = {"in"}, relationship = "and")
List<PowerStationTimeStatisticsDto> queryForPageByPowerStationStatistics(@Param("statisticsDto") PowerStationTimeStatisticsDto statisticsDto);
/**
* 获取电站时间详情
* @param sequenceNbrList
* @return
*/
List<PowerStationTimeStatisticsDto> getPowerStationTimeDetail(@Param("list") List<String> sequenceNbrList);
/**
* 获取所有电站详情
* @return
*/
List<PowerStationTimeStatisticsDto> getAllPowerStationTimeDetail();
List<PowerStationTimeStatisticsDto> getKcTime(@Param("list") List<Long> peasantHouseholdIdList);
List<PowerStationTimeStatisticsDto> getDzhtqyTime(@Param("list") List<Long> peasantHouseholdIdList);
List<PowerStationTimeStatisticsDto> getSjTime(@Param("list") List<Long> peasantHouseholdIdList);
List<PowerStationTimeStatisticsDto> getFhbhTime(@Param("list") List<Long> peasantHouseholdIdList);
List<PowerStationTimeStatisticsDto> getSgTime(@Param("list") List<Long> peasantHouseholdIdList);
List<PowerStationTimeStatisticsDto> getBwTime(@Param("list") List<Long> peasantHouseholdIdList);
List<PowerStationTimeStatisticsDto> getYsTime(@Param("list") List<Long> peasantHouseholdIdList);
// String getHygfCommercialScale(Long surveyInformationId);
}
package com.yeejoin.amos.boot.module.hygf.api.service;
/**
* 投融信息接口类
*
* @author system_generator
* @date 2024-10-22
*/
public interface IFinancingInfoHistoryService {
}
package com.yeejoin.amos.boot.module.hygf.api.service;
/**
* 存量合同电站接口类
*
* @author system_generator
* @date 2024-10-18
*/
public interface IHistoryPeasantHouseholdService {
}
package com.yeejoin.amos.boot.module.hygf.api.util;
import java.util.ArrayList;
import java.util.List;
/**
* 处理列表的工具类
*/
public class ListUtils {
public static <T> List<List<T>> splitList(List<T> list, int chunkSize) {
List<List<T>> splitLists = new ArrayList<>();
int totalSize = list.size();
for (int i = 0; i < totalSize; i += chunkSize) {
// 计算结束索引,确保不超过列表的大小
int end = Math.min(i + chunkSize, totalSize);
// 使用 subList 方法获取子列表
List<T> sublist = list.subList(i, end);
splitLists.add(new ArrayList<>(sublist)); // 创建新的 ArrayList 以避免 ConcurrentModificationException
}
return splitLists;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!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.hygf.api.mapper.FinancingInfoHistoryMapper">
<select id="getFinancingList" resultType="java.util.Map">
select
hhpf.owners_name ownersName,
hhpf.peasant_household_no peasantHouseholdNo,
hhpf.province,
hhpf.sequence_nbr as sequenceNbr,
hhpf.house_address houseAddress,
hhpf.basic_grid_capacity basicGridCapacity,
hfih.status status,
hfih.disbursement_money disbursementMoney,
hfih.financing_companies_name financingCompaniesName,
hfih.regional_companies_seq regionalCompaniesSeq
from
hygf_history_peasant_household hhpf
LEFT JOIN hygf_financing_info_history hfih on hhpf.sequence_nbr = hfih.peasant_household_id
<if test="ownersName != null and ownersName != ''">
and hhpf.owners_name like concat('',#{ownersName},'%')
</if>
<if test="status != null and status.size() > 0">
and hfih.status in
<foreach collection="status" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
<if test="province != null and province != ''">
and hhpf.province =#{province}
</if>
</select>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!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.hygf.api.mapper.HistoryPeasantHouseholdMapper">
<select id="selectDataInfo" resultType="com.yeejoin.amos.boot.module.hygf.api.dto.HistoryPeasantHouseholdDto">
select * ,file_url as files from hygf_history_peasant_household where sequence_nbr = #{sequenceNbr}
</select>
<select id="queryForPage"
resultType="com.yeejoin.amos.boot.module.hygf.api.dto.HistoryPeasantHouseholdDto">
select *, file_url as files from
hygf_history_peasant_household
<where>
<if test="ownersName != null and ownersName != ''">
hygf_history_peasant_household.owners_name like concat('%',#{ownersName},'%')
</if>
<if test="status != null and status != ''">
hygf_history_peasant_household.status = #{status}
</if>
<if test="province != null and province != ''">
hygf_history_peasant_household.province like concat('%',#{province},'%')
</if>
<if test="sequenceNbrs != null and sequenceNbrs.size() > 0">
hygf_history_peasant_household.sequence_nbr in
<foreach collection="sequenceNbrs" open="(" close=")" separator="," item="item">
#{item}
</foreach>
</if>
</where>
</select>
</mapper>
......@@ -187,6 +187,191 @@ on hygf_document_station.preparation_money_id=hygf_preparation_money.sequence_nb
</if>
</where>
</select>
<select id="queryForPageByPowerStationStatistics"
resultType="com.yeejoin.amos.boot.module.hygf.api.dto.PowerStationTimeStatisticsDto">
SELECT
hph.sequence_nbr,
hph.peasant_household_no,
hph.owners_name,
hc.scale,
hpsei.real_scale,
substring_index ( hph.project_address_name, '/', 1 ) AS province,
hph.regional_companies_name,
hph.developer_name AS serviceAgent
FROM
hygf_peasant_household hph
LEFT JOIN hygf_commercial hc ON hc.survey_information_id = hph.survey_information_id
LEFT JOIN hygf_work_order_power_station hwops ON hph.sequence_nbr = hwops.peasant_household_id
LEFT JOIN hygf_power_station_engineering_info hpsei ON hwops.sequence_nbr = hpsei.work_order_power_station_id
<where>
<if test="statisticsDto.ownersName!=null and statisticsDto.ownersName !=''">
and hph.owners_name like concat ('%',#{statisticsDto.ownersName},'%')
</if>
<if test="statisticsDto.province!=null and statisticsDto.province !=''">
and hph.project_address_name like concat ('%',#{statisticsDto.province},'%')
</if>
<if test="statisticsDto.regionalCompaniesName!=null and statisticsDto.regionalCompaniesName !=''">
and hph.regional_companies_name like concat ('%',#{statisticsDto.regionalCompaniesName},'%')
</if>
<if test="statisticsDto.serviceAgent!=null and statisticsDto.serviceAgent !=''">
and hph.developer_name like concat ('%',#{statisticsDto.serviceAgent},'%')
</if>
</where>
ORDER BY hph.rec_date DESC ,hph.sequence_nbr DESC
</select>
<select id="getPowerStationTimeDetail"
resultType="com.yeejoin.amos.boot.module.hygf.api.dto.PowerStationTimeStatisticsDto">
SELECT
hph.sequence_nbr,
hph.peasant_household_no,
hph.owners_name,
hc.scale,
hpsei.real_scale,
substring_index ( hph.project_address_name, '/', 1 ) AS province,
hph.regional_companies_name,
sub.real_name AS serviceAgent
FROM
hygf_peasant_household hph
LEFT JOIN hygf_commercial hc ON hc.survey_information_id = hph.survey_information_id
LEFT JOIN hygf_work_order_power_station hwops ON hph.sequence_nbr = hwops.peasant_household_id
LEFT JOIN hygf_power_station_engineering_info hpsei ON hwops.sequence_nbr = hpsei.work_order_power_station_id
LEFT JOIN std_user_biz sub ON sub.amos_user_id =hph.developer_user_id
<where>
<if test="list != null and list.size()>0">
AND hph.sequence_nbr IN
<foreach collection="list" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
</where>
</select>
<select id="getAllPowerStationTimeDetail"
resultType="com.yeejoin.amos.boot.module.hygf.api.dto.PowerStationTimeStatisticsDto">
SELECT
hph.sequence_nbr,
hph.peasant_household_no,
hph.owners_name,
hc.scale,
hpsei.real_scale,
substring_index ( hph.project_address_name, '/', 1 ) AS province,
hph.regional_companies_name,
sub.real_name AS serviceAgent
FROM
hygf_peasant_household hph
LEFT JOIN hygf_commercial hc ON hc.survey_information_id = hph.survey_information_id
LEFT JOIN hygf_work_order_power_station hwops ON hph.sequence_nbr = hwops.peasant_household_id
LEFT JOIN hygf_power_station_engineering_info hpsei ON hwops.sequence_nbr = hpsei.work_order_power_station_id
LEFT JOIN std_user_biz sub ON sub.amos_user_id =hph.developer_user_id
</select>
<select id="getKcTime"
resultType="com.yeejoin.amos.boot.module.hygf.api.dto.PowerStationTimeStatisticsDto">
SELECT peasant_household_id as sequenceNbr,kc_create_time,kc_end_time
FROM
hygf_power_station
<where>
<if test="list != null and list.size()>0">
AND peasant_household_id IN
<foreach collection="list" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
</where>
</select>
<select id="getDzhtqyTime"
resultType="com.yeejoin.amos.boot.module.hygf.api.dto.PowerStationTimeStatisticsDto">
SELECT peasant_household_id as sequenceNbr,dzhtqy_create_time,signing_time AS dzhtqy_end_time
FROM
hygf_household_contract
<where>
<if test="list != null and list.size()>0">
AND peasant_household_id IN
<foreach collection="list" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
</where>
</select>
<select id="getSjTime"
resultType="com.yeejoin.amos.boot.module.hygf.api.dto.PowerStationTimeStatisticsDto">
SELECT peasant_household_id as sequenceNbr,sj_create_time,sj_end_time
FROM
hygf_power_station
<where>
<if test="list != null and list.size()>0">
AND peasant_household_id IN
<foreach collection="list" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
</where>
</select>
<select id="getFhbhTime"
resultType="com.yeejoin.amos.boot.module.hygf.api.dto.PowerStationTimeStatisticsDto">
SELECT hds.station_id as sequenceNbr,hpm.delivery_time as fhbhCreateTime,hpm.arrival_time as fhbhEndTime
FROM
hygf_preparation_money hpm
LEFT JOIN hygf_document_station hds ON hds.preparation_money_id=hpm.sequence_nbr
<where>
<if test="list != null and list.size()>0">
AND hds.station_id IN
<foreach collection="list" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
</where>
</select>
<select id="getSgTime"
resultType="com.yeejoin.amos.boot.module.hygf.api.dto.PowerStationTimeStatisticsDto">
SELECT peasant_household_id as sequenceNbr,sg_create_time,sg_end_time
FROM
hygf_work_order_power_station
<where>
<if test="list != null and list.size()>0">
AND peasant_household_id IN
<foreach collection="list" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
</where>
</select>
<select id="getBwTime"
resultType="com.yeejoin.amos.boot.module.hygf.api.dto.PowerStationTimeStatisticsDto">
SELECT peasant_household_id as sequenceNbr,bw_create_time,bw_end_time
FROM
hygf_basic_grid_record
<where>
<if test="list != null and list.size()>0">
AND peasant_household_id IN
<foreach collection="list" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
</where>
</select>
<select id="getYsTime"
resultType="com.yeejoin.amos.boot.module.hygf.api.dto.PowerStationTimeStatisticsDto">
SELECT peasant_household_id as sequenceNbr,ys_create_time,ys_end_time
FROM
hygf_acceptance_check
<where>
<if test="list != null and list.size()>0">
AND peasant_household_id IN
<foreach collection="list" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
</where>
</select>
<!-- <select id="getHygfCommercialScale" resultType="String">-->
<!-- select scale from hygf_commercial where survey_information_id=${surveyInformationId}-->
<!-- </select>-->
......
package com.yeejoin.amos.boot.module.hygf.biz.controller;
import com.yeejoin.amos.boot.module.hygf.api.dto.FinancingInfoDto;
import com.yeejoin.amos.boot.module.hygf.api.dto.IdsDTO;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RestController;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import com.yeejoin.amos.boot.module.hygf.biz.service.impl.FinancingInfoHistoryServiceImpl;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.hygf.api.dto.FinancingInfoHistoryDto;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
/**
* 投融信息
*
* @author system_generator
* @date 2024-10-22
*/
@RestController
@Api(tags = "投融信息Api")
@RequestMapping(value = "/financing-info-history")
public class FinancingInfoHistoryController extends BaseController {
@Autowired
FinancingInfoHistoryServiceImpl financingInfoHistoryServiceImpl;
/**
* 新增投融信息
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增投融信息", notes = "新增投融信息")
public ResponseModel<FinancingInfoHistoryDto> save(@RequestBody FinancingInfoHistoryDto model) {
model = financingInfoHistoryServiceImpl.createWithModel(model);
return ResponseHelper.buildResponse(model);
}
/**
* 根据sequenceNbr更新
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新投融信息", notes = "根据sequenceNbr更新投融信息")
public ResponseModel<FinancingInfoHistoryDto> updateBySequenceNbrFinancingInfoHistory(@RequestBody FinancingInfoHistoryDto model,@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(financingInfoHistoryServiceImpl.updateWithModel(model));
}
/**
* 根据sequenceNbr删除
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除投融信息", notes = "根据sequenceNbr删除投融信息")
public ResponseModel<Boolean> deleteBySequenceNbr(HttpServletRequest request, @PathVariable(value = "sequenceNbr") Long sequenceNbr){
return ResponseHelper.buildResponse(financingInfoHistoryServiceImpl.removeById(sequenceNbr));
}
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET",value = "根据sequenceNbr查询单个投融信息", notes = "根据sequenceNbr查询单个投融信息")
public ResponseModel<FinancingInfoHistoryDto> selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(financingInfoHistoryServiceImpl.queryBySeq(sequenceNbr));
}
/**
* 列表分页查询
*
* @param current 当前页
* @param current 每页大小
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET",value = "投融信息分页查询", notes = "投融信息分页查询")
public ResponseModel<Page<Map<String, Object>>> queryForPage(@RequestParam(value = "current") int current, @RequestParam
(value = "size") int size,@RequestParam(value = "ownersName",required = false) String ownersName , @RequestParam(value = "status",required = false) String status, @RequestParam(value = "province",required = false) String province) {
List<String> statusList = new ArrayList<>();
if (null != status ){
statusList = Arrays.asList(status.split(","));
}
return ResponseHelper.buildResponse(financingInfoHistoryServiceImpl.queryForFinancingInfoHistoryPage(current,size,ownersName,statusList,province));
}
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "投融信息列表全部数据查询", notes = "投融信息列表全部数据查询")
@GetMapping(value = "/list")
public ResponseModel<List<FinancingInfoHistoryDto>> selectForList() {
return ResponseHelper.buildResponse(financingInfoHistoryServiceImpl.queryForFinancingInfoHistoryList());
}
/**
* 根据sequenceNbr更新
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/updateMoney")
@ApiOperation(httpMethod = "PUT", value = "批量放款录入", notes = "批量放款录入")
@Transactional
public ResponseModel<FinancingInfoHistoryDto> updateMoney(@RequestBody FinancingInfoHistoryDto financingInfoDto) {
financingInfoHistoryServiceImpl.upDateMoney(financingInfoDto);
return ResponseHelper.buildResponse(null);
}
/**
* 新增
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/updateState")
@ApiOperation(httpMethod = "PUT", value = "新增", notes = "新增")
@Transactional
public ResponseModel updateState(@RequestBody IdsDTO ids) {
financingInfoHistoryServiceImpl.updateState(ids.getIds());
return ResponseHelper.buildResponse(null);
}
}
package com.yeejoin.amos.boot.module.hygf.biz.controller;
import com.alibaba.fastjson.JSONArray;
import com.yeejoin.amos.boot.biz.common.excel.ExcelUtil;
import com.yeejoin.amos.boot.module.hygf.api.entity.HistoryPeasantHousehold;
import com.yeejoin.amos.boot.module.hygf.api.util.CommonResponseNewUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RestController;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import com.yeejoin.amos.boot.module.hygf.biz.service.impl.HistoryPeasantHouseholdServiceImpl;
import org.springframework.web.multipart.MultipartFile;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.hygf.api.dto.HistoryPeasantHouseholdDto;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
/**
* 存量合同电站
*
* @author system_generator
* @date 2024-10-18
*/
@RestController
@Api(tags = "存量合同电站Api")
@RequestMapping(value = "/history-peasant-household")
public class HistoryPeasantHouseholdController extends BaseController {
@Autowired
HistoryPeasantHouseholdServiceImpl historyPeasantHouseholdServiceImpl;
/**
* 新增存量合同电站
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增存量合同电站", notes = "新增存量合同电站")
public ResponseModel<HistoryPeasantHouseholdDto> save(@RequestBody HistoryPeasantHouseholdDto model) {
model = historyPeasantHouseholdServiceImpl.createWithModel(model);
return ResponseHelper.buildResponse(model);
}
/**
* 根据sequenceNbr更新
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新存量合同电站", notes = "根据sequenceNbr更新存量合同电站")
public ResponseModel<HistoryPeasantHouseholdDto> updateBySequenceNbrHistoryPeasantHousehold(@RequestBody HistoryPeasantHouseholdDto model,@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(historyPeasantHouseholdServiceImpl.updateStation(model));
}
/**
* 根据sequenceNbr删除
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除存量合同电站", notes = "根据sequenceNbr删除存量合同电站")
public ResponseModel<Boolean> deleteBySequenceNbr(HttpServletRequest request, @PathVariable(value = "sequenceNbr") Long sequenceNbr){
return ResponseHelper.buildResponse(historyPeasantHouseholdServiceImpl.removeById(sequenceNbr));
}
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET",value = "根据sequenceNbr查询单个存量合同电站", notes = "根据sequenceNbr查询单个存量合同电站")
public ResponseModel<HistoryPeasantHouseholdDto> selectOne(@PathVariable Long sequenceNbr) {
HistoryPeasantHouseholdDto dto = historyPeasantHouseholdServiceImpl.getBaseMapper().selectDataInfo(sequenceNbr);
dto.setFileUrl(JSONArray.parseArray(dto.getFiles()));
return ResponseHelper.buildResponse(dto);
}
/**
* 列表分页查询
*
* @param current 当前页
* @param current 每页大小
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET",value = "存量合同电站分页查询", notes = "存量合同电站分页查询")
public ResponseModel<Page<HistoryPeasantHouseholdDto>> queryForPage(@RequestParam(value = "current") int current,@RequestParam
(value = "size") int size,@RequestParam(value = "ownersName",required = false) String ownersName , @RequestParam(value = "status",required = false) String status, @RequestParam(value = "province",required = false) String province, @RequestParam(value = "ids",required = false) String ids) {
Page<HistoryPeasantHouseholdDto> page = new Page<HistoryPeasantHouseholdDto>();
page.setCurrent(current);
page.setSize(size);
List<String> strings = new ArrayList<>();
if (StringUtils.isNotEmpty(ids)){
strings= Arrays.asList(ids.split(","));
}
return ResponseHelper.buildResponse(historyPeasantHouseholdServiceImpl.queryForHistoryPeasantHouseholdPage(page,strings,ownersName,province,status));
}
/**
* 列表分页查询
*
* @param current 当前页
* @param current 每页大小
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/getByIds")
@ApiOperation(httpMethod = "GET",value = "存量合同电站分页查询", notes = "存量合同电站分页查询")
public ResponseModel<List<HistoryPeasantHouseholdDto>> getByIds( @RequestParam(value = "ids",required = false) String ids) {
Page<HistoryPeasantHouseholdDto> page = new Page<HistoryPeasantHouseholdDto>();
page.setCurrent(1);
page.setSize(Integer.MAX_VALUE);
List<String> strings = new ArrayList<>();
if (StringUtils.isNotEmpty(ids)){
strings= Arrays.asList(ids.split(","));
}
Page<HistoryPeasantHouseholdDto> historyPeasantHouseholdDtoPage = historyPeasantHouseholdServiceImpl.queryForHistoryPeasantHouseholdPage(page, strings, null, null, null);
return ResponseHelper.buildResponse(historyPeasantHouseholdDtoPage.getRecords());
}
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "存量合同电站列表全部数据查询", notes = "存量合同电站列表全部数据查询")
@GetMapping(value = "/list")
public ResponseModel<List<HistoryPeasantHouseholdDto>> selectForList() {
return ResponseHelper.buildResponse(historyPeasantHouseholdServiceImpl.queryForHistoryPeasantHouseholdList());
}
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "存量合同电站模板下载", notes = "存量合同电站模板下载")
@GetMapping(value = "/downTemplate")
public void downTemplate(HttpServletResponse response) {
ExcelUtil.createTemplate(response,"存量合同电站模板","存量合同电站",null,HistoryPeasantHouseholdDto.class,null,false);
}
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "存量合同电站下载", notes = "存量合同电站下载")
@GetMapping(value = "/export")
public void downTemplate(HttpServletResponse response,@RequestParam(value = "ids") List<String> ids) {
historyPeasantHouseholdServiceImpl.exportData(response,ids);
}
/**
* 存量合同电站上传
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "POST",value = "存量合同电站上传", notes = "存量合同电站上传")
@PostMapping(value = "/uploadData")
@Transactional
public ResponseModel upload(MultipartFile file) throws Exception {
historyPeasantHouseholdServiceImpl.uploadData(file);
return CommonResponseNewUtil.success();
}
}
package com.yeejoin.amos.boot.module.hygf.biz.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.hygf.api.dto.PowerStationTimeStatisticsBatchDto;
import com.yeejoin.amos.boot.module.hygf.api.dto.PowerStationTimeStatisticsDto;
import com.yeejoin.amos.boot.module.hygf.api.dto.RepaymentBatchDto;
import com.yeejoin.amos.boot.module.hygf.biz.service.impl.PowerStationStatisticsServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletResponse;
@RestController
@Api(tags = "电站统计Api")
@RequestMapping(value = "/powerStationStatistics")
public class PowerStationStatisticsController {
@Autowired
PowerStationStatisticsServiceImpl powerStationStatisticsService;
/**
* 列表分页查询
*
* @param current 当前页
* @param current 每页大小
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/queryPage")
@ApiOperation(httpMethod = "GET", value = "场站列表", notes = "场站列表")
public ResponseModel<Page<PowerStationTimeStatisticsDto>> queryForPage(@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size,
PowerStationTimeStatisticsDto powerStationTimeStatisticsDto) {
Page<PowerStationTimeStatisticsDto> page = powerStationStatisticsService.queryForPage(current, size, powerStationTimeStatisticsDto);
return ResponseHelper.buildResponse(page);
}
/**
* 导出电站Excel
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/exportPowerStationExcel")
@ApiOperation(httpMethod = "POST", value = "导出电站Excel", notes = "导出电站Excel")
public ResponseModel<?> exportPowerStationExcel(@RequestBody PowerStationTimeStatisticsBatchDto powerStationTimeStatisticsBatchDto, HttpServletResponse response) {
powerStationStatisticsService.exportPowerStationExcel(powerStationTimeStatisticsBatchDto.getSequenceNbrList(), response);
return ResponseHelper.buildResponse(null);
}
}
......@@ -133,7 +133,7 @@ public class RepaymentController extends BaseController {
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "batchDelete")
@PostMapping(value = "/batchDelete")
@ApiOperation(httpMethod = "POST", value = "根据sequenceNbr批量删除", notes = "根据sequenceNbr批量删除")
public ResponseModel<?> deleteBySequenceNbr(@RequestBody RepaymentBatchDto repaymentBatchDto) {
repaymentService.deleteBatch(repaymentBatchDto);
......@@ -146,7 +146,7 @@ public class RepaymentController extends BaseController {
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "importRepaymentExcel")
@PostMapping(value = "/importRepaymentExcel")
@ApiOperation(httpMethod = "POST", value = "导入还款模板Excel", notes = "导入还款模板Excel")
public ResponseModel<?> importRepaymentExcel(@RequestPart("file") MultipartFile file) {
repaymentService.importRepaymentExcel(file);
......@@ -154,13 +154,13 @@ public class RepaymentController extends BaseController {
}
/**
* 导入还款模板Excel
* 导出还款Excel
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "exportRepaymentExcel")
@ApiOperation(httpMethod = "POST", value = "导出还款模板Excel", notes = "导出还款模板Excel")
@PostMapping(value = "/exportRepaymentExcel")
@ApiOperation(httpMethod = "POST", value = "导出还款Excel", notes = "导出还款Excel")
public ResponseModel<?> exportRepaymentExcel(@RequestBody RepaymentBatchDto repaymentBatchDto, HttpServletResponse response) {
repaymentService.exportRepaymentExcel(repaymentBatchDto.getSequenceNbrList(), response);
return ResponseHelper.buildResponse(null);
......
......@@ -371,6 +371,7 @@ public class AcceptanceCheckServiceImpl extends BaseService<AcceptanceCheckDto,A
up.set(AcceptanceCheck::getBasicGridNode,"all");
up.set(AcceptanceCheck::getAcceptanceTime,new Date());
up.set(AcceptanceCheck::getAcceptanceCheckStatus,GridStatusEnum.YWC.getCode());
up.set(AcceptanceCheck::getYsEndTime,new Date());
//验收完成后需对投融数据进行处理。
LambdaUpdateWrapper<FinancingInfo> wrapper = new LambdaUpdateWrapper<>();
wrapper.eq(FinancingInfo::getPeasantHouseholdId,basicGridRecord.getPeasantHouseholdId());
......
......@@ -57,8 +57,7 @@ public class AcceptanceRectificationOrderServiceImpl extends BaseService<Accepta
// private WorkflowImpl workflow;
@Autowired
private WorkFlowService workFlowService;
@Autowired
private CommonServiceImpl commonService;
@Autowired
private RedisUtils redisUtils;
@Resource (type = RedisLockUtil.class)
......
......@@ -52,8 +52,6 @@ public class AcceptanceServiceImpl implements IAcceptanceService {
private PeasantHouseholdMapper peasantHouseholdMapper;
@Autowired
private AcceptanceCheckItemMapper acceptanceCheckItemMapper;
@Autowired
private CommonServiceImpl commonService;
@Resource(type = RedisLockUtil.class)
private RedisLockUtil redisLockUtil;
......
......@@ -6,6 +6,7 @@ import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
......@@ -80,8 +81,7 @@ public class BasicGridAcceptanceServiceImpl extends BaseService<BasicGridAccepta
PeasantHouseholdMapper peasantHouseholdMapper;
@Autowired
HouseholdContractMapper householdContractMapper;
@Autowired
private CommonServiceImpl commonService;
@Autowired
RectificationOrderAuditingServiceImpl rectificationOrderAuditingService;
@Autowired
......@@ -571,6 +571,7 @@ public class BasicGridAcceptanceServiceImpl extends BaseService<BasicGridAccepta
da.setOperationContent("并网验收-设计审核-" + (approvalStatus.equals("0") ? "通过" : "驳回"));
if (basicGridRecord.getPowerStationEngineeringStatus() != null
&& basicGridRecord.getPowerStationEngineeringStatus().equals("通过") && approvalStatus.equals("0")) {
up.set(BasicGridRecord::getBwEndTime,new Date());
up.set(BasicGridRecord::getGridStatus, GridStatusEnum.YWC.getCode());
this.wofkflowExcute(instanceId, approvalStatus, comment, BusinessWorkflowKey.设计审核.getCode());
up.set(BasicGridRecord::getBasicGridNode, "all");
......@@ -587,6 +588,7 @@ public class BasicGridAcceptanceServiceImpl extends BaseService<BasicGridAccepta
acceptanceCheck.setInstanceId(null);
acceptanceCheck.setPowerStationAreaStatus(null);
acceptanceCheck.setAcceptanceCheckStatus(GridStatusEnum.DTJYS.getCode());
acceptanceCheck.setYsCreateTime(new Date());
acceptanceCheckService.saveOrUpdate(acceptanceCheck);
} else if (null == basicGridRecord.getPowerStationEngineeringStatus() && approvalStatus.equals("0")
......@@ -622,6 +624,7 @@ public class BasicGridAcceptanceServiceImpl extends BaseService<BasicGridAccepta
da.setOperationContent("并网验收-工程审核-" + (approvalStatus.equals("0") ? "通过" : "驳回"));
if (basicGridRecord.getPowerStationDesignStatus() != null
&& basicGridRecord.getPowerStationDesignStatus().equals("通过") && approvalStatus.equals("0")) {
up.set(BasicGridRecord::getBwEndTime,new Date());
up.set(BasicGridRecord::getGridStatus, GridStatusEnum.YWC.getCode());
this.wofkflowExcute(instanceId, approvalStatus, comment, BusinessWorkflowKey.工程审核.getCode());
up.set(BasicGridRecord::getBasicGridNode, "all");
......@@ -639,6 +642,7 @@ public class BasicGridAcceptanceServiceImpl extends BaseService<BasicGridAccepta
acceptanceCheck.setPowerStationAreaStatus(null);
acceptanceCheck.setInstanceId(null);
acceptanceCheck.setAcceptanceCheckStatus(GridStatusEnum.DTJYS.getCode());
acceptanceCheck.setYsCreateTime(new Date());
acceptanceCheckService.saveOrUpdate(acceptanceCheck);
} else if (null == basicGridRecord.getPowerStationDesignStatus() && approvalStatus.equals("0")
......
......@@ -79,7 +79,7 @@ import java.util.zip.ZipOutputStream;
@Service
@Slf4j
public class CommonServiceImpl {
// @Autowired
// @Autowired
// private TaskV2FeignService taskV2FeignService;
@Autowired
private RedisUtils redisUtils;
......@@ -539,8 +539,8 @@ public class CommonServiceImpl {
}
public void downZiliao(String surveyInformationId, List<String> peasantHouseholdIds, String processInstanceId, HttpServletResponse response) throws IOException {
String fileName = "";
String redisKey = "";
String fileName = "";
String redisKey = "";
if (peasantHouseholdIds.size()>1){
redisKey = String.join(",", peasantHouseholdIds);
}else {
......@@ -552,7 +552,7 @@ public class CommonServiceImpl {
// 获取当前工作目录
Path rootDir = currentWorkingDir;
Path ziLiaoDir =rootDir.resolve("批量资料");
for (String peasantHouseholdId : peasantHouseholdIds) {
for (String peasantHouseholdId : peasantHouseholdIds) {
SurveyInfoAllDto returnDto = surveyInformationServiceImpl.querySurveyInfo(surveyInformationId, peasantHouseholdId, processInstanceId, null);
fileName = returnDto.getSurveyInformation().getOwnersName();
if (!redisKey.contains(",")){
......@@ -584,8 +584,8 @@ public class CommonServiceImpl {
System.out.println("模版文件所在目录是: " + templateDir);
Path tempDir = createUniqueDirectory(ziLiaoDir, returnDto.getSurveyInformation().getOwnersName());
String wenjianjia = tempDir.toString().replace("\\","/");
Path tempDir = createUniqueDirectory(ziLiaoDir, returnDto.getSurveyInformation().getOwnersName());
String wenjianjia = tempDir.toString().replace("\\","/");
try {
Files.createDirectories(tempDir); // 创建临时目录
System.out.println("Temporary directory created at: " + tempDir);
......@@ -662,21 +662,21 @@ public class CommonServiceImpl {
redisUtils.set(redisKey, MapBuilder.<String, Object>create()
.put("value", currentBili).build());
}
List<HygfRectificationOrder> areaOrdersCon =new ArrayList<>();
if (ObjectUtils.isNotEmpty(returnDto.getHygfOnGrid())) {
areaOrdersCon = Optional.ofNullable(returnDto.getPowerStationConstructionData().getAreaOrders())
.orElse(new ArrayList<>());
addNonNullList(areaOrdersCon, returnDto.getPowerStationConstructionData().getDesignOrders());
addNonNullList(areaOrdersCon, returnDto.getPowerStationConstructionData().getEngineeringOrders());
}
List<HygfRectificationOrder> areaOrdersCon =new ArrayList<>();
if (ObjectUtils.isNotEmpty(returnDto.getHygfOnGrid())) {
areaOrdersCon = Optional.ofNullable(returnDto.getPowerStationConstructionData().getAreaOrders())
.orElse(new ArrayList<>());
addNonNullList(areaOrdersCon, returnDto.getPowerStationConstructionData().getDesignOrders());
addNonNullList(areaOrdersCon, returnDto.getPowerStationConstructionData().getEngineeringOrders());
}
// 主方法或代码块
List<HygfRectificationOrder> areaOrders =new ArrayList<>();
if (ObjectUtils.isNotEmpty(returnDto.getHygfOnGrid())) {
List<HygfRectificationOrder> areaOrders =new ArrayList<>();
if (ObjectUtils.isNotEmpty(returnDto.getHygfOnGrid())) {
areaOrders = Optional.ofNullable(returnDto.getHygfOnGrid().getAreaOrders())
.orElse(new ArrayList<>());
addNonNullList(areaOrders, returnDto.getHygfOnGrid().getDesignOrders());
addNonNullList(areaOrders, returnDto.getHygfOnGrid().getEngineeringOrders());
}
.orElse(new ArrayList<>());
addNonNullList(areaOrders, returnDto.getHygfOnGrid().getDesignOrders());
addNonNullList(areaOrders, returnDto.getHygfOnGrid().getEngineeringOrders());
}
List<HygfRectificationOrder> areaOrdersAcc = new ArrayList<>();
if (ObjectUtils.isNotEmpty(returnDto.getAcceptanceCheck())){
areaOrdersAcc = Optional.ofNullable(returnDto.getAcceptanceCheck().getAreaOrders())
......@@ -687,8 +687,8 @@ public class CommonServiceImpl {
}
List<Future<?>> futures = new ArrayList<>();
String finalRedisKey = redisKey;
futures.add(executorService.submit(() -> {
String finalRedisKey = redisKey;
futures.add(executorService.submit(() -> {
try {
downloadAndZipImages(returnDto.getSurveyInformation(),"基本信息附件",tempDir,urlPath);
if (!finalRedisKey.contains(",")){
......@@ -771,8 +771,8 @@ public class CommonServiceImpl {
e.printStackTrace();
}
}));
List<HygfRectificationOrder> finalAreaOrdersCon = areaOrdersCon;
futures.add(executorService.submit(() -> {
List<HygfRectificationOrder> finalAreaOrdersCon = areaOrdersCon;
futures.add(executorService.submit(() -> {
try {
downloadAndZipImages(finalAreaOrdersCon,"施工信息整改单附件",tempDir,urlPath);
if (!finalRedisKey.contains(",")){
......@@ -800,8 +800,8 @@ public class CommonServiceImpl {
e.printStackTrace();
}
}));
List<HygfRectificationOrder> finalAreaOrders = areaOrders;
futures.add(executorService.submit(() -> {
List<HygfRectificationOrder> finalAreaOrders = areaOrders;
futures.add(executorService.submit(() -> {
try {
downloadAndZipImages(finalAreaOrders,"并网信息整改单附件",tempDir,urlPath);
if (!finalRedisKey.contains(",")){
......@@ -829,8 +829,8 @@ public class CommonServiceImpl {
e.printStackTrace();
}
}));
List<HygfRectificationOrder> finalAreaOrdersAcc = areaOrdersAcc;
futures.add(executorService.submit(() -> {
List<HygfRectificationOrder> finalAreaOrdersAcc = areaOrdersAcc;
futures.add(executorService.submit(() -> {
try {
downloadAndZipImages(finalAreaOrdersAcc,"验收信息整改单附件",tempDir,urlPath);
if (!finalRedisKey.contains(",")){
......@@ -862,11 +862,11 @@ public class CommonServiceImpl {
}
// response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename="+returnDto.getSurveyInformation().getOwnersName()+".zip");
if (redisKey.contains(",")){
currentBili = currentBili + baifenbi;
redisUtils.set(redisKey,MapBuilder.<String, Object>create()
.put("value", currentBili).build());
}
if (redisKey.contains(",")){
currentBili = currentBili + baifenbi;
redisUtils.set(redisKey,MapBuilder.<String, Object>create()
.put("value", currentBili).build());
}
}
String encodedFilename = "";
......@@ -888,7 +888,7 @@ public class CommonServiceImpl {
cleanup(ziLiaoDir);
}
public void test (HttpServletResponse response) throws UnsupportedEncodingException {
public void test (HttpServletResponse response) throws UnsupportedEncodingException {
String fileName = "批量资料";
Path currentWorkingDir = Paths.get("");
// 获取当前工作目录
......@@ -900,9 +900,9 @@ public class CommonServiceImpl {
}
private void fillSheet(Sheet sheet, Object data) {
if (Objects.isNull(data)){
return;
}
if (Objects.isNull(data)){
return;
}
int startRow = 1;
for (int i = 0; i < sheet.getLastRowNum() + 1; i++) {
Row row = sheet.getRow(i);
......@@ -1396,13 +1396,13 @@ public class CommonServiceImpl {
// 计算ZIP文件的总大小
long totalSize = getTotalFileSize(folderPath);
double totalNum = (double) (totalSize/1024/1024);
if (totalNum > 500 ){
this.cleanup(folderPath);
response.setHeader("content-error", URLEncoder.encode("所选文件总大小不得超过500M,当前所选文件总大小为"+totalNum+"M", "UTF-8"));
response.setContentType("text/plain");
throw new BadRequest("所选文件总大小不得超过500M,当前所选文件总大小为"+totalNum+"M");
}
// response.setContentLengthLong((int) totalSize);
if (totalNum > 500 ){
this.cleanup(folderPath);
response.setHeader("content-error", URLEncoder.encode("所选文件总大小不得超过500M,当前所选文件总大小为"+totalNum+"M", "UTF-8"));
response.setContentType("text/plain");
throw new BadRequest("所选文件总大小不得超过500M,当前所选文件总大小为"+totalNum+"M");
}
// response.setContentLengthLong((int) totalSize);
addFolderToZip(zipFilePath, folderPath, zos,response);
} catch (IOException e) {
e.printStackTrace();
......@@ -1582,137 +1582,137 @@ public class CommonServiceImpl {
return fields;
}
void documentSpecialProcessing (Sheet sheet, int headerRow,int headerOneRow,int dataStartRow, String[] headersNames, String[] headers, String headerOne, List<Map<String, Object>> data){
// 创建表头样式
CellStyle headerStyle = sheet.getWorkbook().createCellStyle();
Font headerFont = sheet.getWorkbook().createFont();
headerFont.setBold(true); // 加粗字体
headerFont.setFontHeightInPoints((short) 12); // 字体大小
headerStyle.setFillForegroundColor(IndexedColors.PALE_BLUE.getIndex());
headerStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
headerStyle.setAlignment(HorizontalAlignment.CENTER); // 居中对齐
headerStyle.setFont(headerFont); // 设置字体样式
// 设置边框
headerStyle.setBorderTop(BorderStyle.THIN);
headerStyle.setBorderBottom(BorderStyle.THIN);
headerStyle.setBorderLeft(BorderStyle.THIN);
headerStyle.setBorderRight(BorderStyle.THIN);
// 写入表头
Row headerRowObjectOne = sheet.getRow(headerOneRow);
if (headerRowObjectOne == null) {
headerRowObjectOne = sheet.createRow(headerOneRow);
Cell cell = headerRowObjectOne.getCell(0);
if (cell == null) {
cell = headerRowObjectOne.createCell(0);
}
cell.setCellValue(headerOne);
cell.setCellStyle(headerStyle);
}
// 写入表头
Row headerRowObject = sheet.getRow(headerRow);
if (headerRowObject == null) {
headerRowObject = sheet.createRow(headerRow);
}
for (int i = 0; i < headersNames.length; i++) {
Cell headerCell = headerRowObject.getCell(i);
if (headerCell == null) {
headerCell = headerRowObject.createCell(i);
}
headerCell.setCellValue(headersNames[i]);
headerCell.setCellStyle(headerStyle);
}
// 从第四行开始填充数据
for (int dataIndex = 0; dataIndex < data.size(); dataIndex++) {
Row dataRow = sheet.createRow(dataStartRow + dataIndex);
Map<String, Object> result = (Map<String, Object>) data.get(dataIndex);
Map<String, Object> rowData = new HashMap<>();
if (result.containsKey("map")){
rowData = (Map<String, Object>)result.get("map");
}else {
rowData = result;
}
for (int i = 0; i < headersNames.length; i++) {
Cell dataCell = dataRow.createCell(i);
if (rowData.containsKey(headers[i])) {
Object value = rowData.get(headers[i]);
if (value instanceof List<?>) {
List<String> urls = (List<String>) value;
if (!urls.isEmpty()) {
try {
XSSFDrawing drawing = ((XSSFSheet) sheet).getDrawingPatriarch();
if (drawing == null) {
drawing = ((XSSFSheet) sheet).createDrawingPatriarch();
}
// 设置单元格为空
dataCell.setCellStyle(sheet.getWorkbook().createCellStyle());
dataCell.setCellType(CellType.STRING);
dataCell.setCellValue("");
// 计算第一个图片的位置
int colWidth = 0;
int rowHeight = 0;
int pictureIdx = -1;
for (int j = 0; j < urls.size(); j++) {
String url = urls.get(j);
InputStream inputStream = new URL(url).openStream();
pictureIdx = ((XSSFWorkbook) sheet.getWorkbook()).addPicture(inputStream, XSSFWorkbook.PICTURE_TYPE_JPEG);
// 输出调试信息
System.out.println("Picture index: " + pictureIdx);
// 创建图片对象
XSSFClientAnchor anchor = new XSSFClientAnchor(
0, 0, 0, 0, (short) i, dataIndex + dataStartRow,
(short) (i + colWidth / 100), dataIndex + dataStartRow + rowHeight / 100
);
Picture pict = drawing.createPicture(anchor, pictureIdx);
pict.resize();
// 计算图片的宽度和高度
int picWidth = 100; // 图片宽度百分比
int picHeight = 100; // 图片高度百分比
colWidth += picWidth;
rowHeight += picHeight;
}
// 检查是否需要合并单元格
if (colWidth > 100) {
// 合并单元格
sheet.addMergedRegion(new CellRangeAddress(dataIndex + dataStartRow, dataIndex + dataStartRow, i, i + (colWidth / 100) - 1));
}
// 调整单元格的宽度和高度
sheet.setColumnWidth(i, (colWidth * 256) / 100);
dataRow.setHeightInPoints(rowHeight);
} catch (Exception e) {
// 处理异常情况
System.err.println("Failed to download or insert images: " + value);
e.printStackTrace();
}
} else {
dataCell.setCellValue(""); // 假设所有数据都是字符串格式
}
} else if( value instanceof Date) {
String s = DateUtils.date2LongStr((Date) value);
dataCell.setCellValue(s);
}
else {
dataCell.setCellValue(null == value?"":value.toString()); // 假设所有数据都是字符串格式
}
} else {
dataCell.setCellValue(""); // 假设所有数据都是字符串格式
}
}
}
void documentSpecialProcessing (Sheet sheet, int headerRow,int headerOneRow,int dataStartRow, String[] headersNames, String[] headers, String headerOne, List<Map<String, Object>> data){
// 创建表头样式
CellStyle headerStyle = sheet.getWorkbook().createCellStyle();
Font headerFont = sheet.getWorkbook().createFont();
headerFont.setBold(true); // 加粗字体
headerFont.setFontHeightInPoints((short) 12); // 字体大小
headerStyle.setFillForegroundColor(IndexedColors.PALE_BLUE.getIndex());
headerStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
headerStyle.setAlignment(HorizontalAlignment.CENTER); // 居中对齐
headerStyle.setFont(headerFont); // 设置字体样式
// 设置边框
headerStyle.setBorderTop(BorderStyle.THIN);
headerStyle.setBorderBottom(BorderStyle.THIN);
headerStyle.setBorderLeft(BorderStyle.THIN);
headerStyle.setBorderRight(BorderStyle.THIN);
// 写入表头
Row headerRowObjectOne = sheet.getRow(headerOneRow);
if (headerRowObjectOne == null) {
headerRowObjectOne = sheet.createRow(headerOneRow);
Cell cell = headerRowObjectOne.getCell(0);
if (cell == null) {
cell = headerRowObjectOne.createCell(0);
}
cell.setCellValue(headerOne);
cell.setCellStyle(headerStyle);
}
// 写入表头
Row headerRowObject = sheet.getRow(headerRow);
if (headerRowObject == null) {
headerRowObject = sheet.createRow(headerRow);
}
for (int i = 0; i < headersNames.length; i++) {
Cell headerCell = headerRowObject.getCell(i);
if (headerCell == null) {
headerCell = headerRowObject.createCell(i);
}
headerCell.setCellValue(headersNames[i]);
headerCell.setCellStyle(headerStyle);
}
// 从第四行开始填充数据
for (int dataIndex = 0; dataIndex < data.size(); dataIndex++) {
Row dataRow = sheet.createRow(dataStartRow + dataIndex);
Map<String, Object> result = (Map<String, Object>) data.get(dataIndex);
Map<String, Object> rowData = new HashMap<>();
if (result.containsKey("map")){
rowData = (Map<String, Object>)result.get("map");
}else {
rowData = result;
}
for (int i = 0; i < headersNames.length; i++) {
Cell dataCell = dataRow.createCell(i);
if (rowData.containsKey(headers[i])) {
Object value = rowData.get(headers[i]);
if (value instanceof List<?>) {
List<String> urls = (List<String>) value;
if (!urls.isEmpty()) {
try {
XSSFDrawing drawing = ((XSSFSheet) sheet).getDrawingPatriarch();
if (drawing == null) {
drawing = ((XSSFSheet) sheet).createDrawingPatriarch();
}
// 设置单元格为空
dataCell.setCellStyle(sheet.getWorkbook().createCellStyle());
dataCell.setCellType(CellType.STRING);
dataCell.setCellValue("");
// 计算第一个图片的位置
int colWidth = 0;
int rowHeight = 0;
int pictureIdx = -1;
for (int j = 0; j < urls.size(); j++) {
String url = urls.get(j);
InputStream inputStream = new URL(url).openStream();
pictureIdx = ((XSSFWorkbook) sheet.getWorkbook()).addPicture(inputStream, XSSFWorkbook.PICTURE_TYPE_JPEG);
// 输出调试信息
System.out.println("Picture index: " + pictureIdx);
// 创建图片对象
XSSFClientAnchor anchor = new XSSFClientAnchor(
0, 0, 0, 0, (short) i, dataIndex + dataStartRow,
(short) (i + colWidth / 100), dataIndex + dataStartRow + rowHeight / 100
);
Picture pict = drawing.createPicture(anchor, pictureIdx);
pict.resize();
// 计算图片的宽度和高度
int picWidth = 100; // 图片宽度百分比
int picHeight = 100; // 图片高度百分比
colWidth += picWidth;
rowHeight += picHeight;
}
// 检查是否需要合并单元格
if (colWidth > 100) {
// 合并单元格
sheet.addMergedRegion(new CellRangeAddress(dataIndex + dataStartRow, dataIndex + dataStartRow, i, i + (colWidth / 100) - 1));
}
// 调整单元格的宽度和高度
sheet.setColumnWidth(i, (colWidth * 256) / 100);
dataRow.setHeightInPoints(rowHeight);
} catch (Exception e) {
// 处理异常情况
System.err.println("Failed to download or insert images: " + value);
e.printStackTrace();
}
} else {
dataCell.setCellValue(""); // 假设所有数据都是字符串格式
}
} else if( value instanceof Date) {
String s = DateUtils.date2LongStr((Date) value);
dataCell.setCellValue(s);
}
else {
dataCell.setCellValue(null == value?"":value.toString()); // 假设所有数据都是字符串格式
}
} else {
dataCell.setCellValue(""); // 假设所有数据都是字符串格式
}
}
}
//原始方法
// for (int dataIndex = 0; dataIndex < data.size(); dataIndex++) {
......@@ -1833,33 +1833,33 @@ public class CommonServiceImpl {
return null;
}
List<LinkedHashMap> flowLoggernew = new ArrayList<>();
try {
Map<String, Object> flowLoggerMap = workflowFeignClient.getFlowLogger(processInstanceId).getResult();
List<LinkedHashMap> flowLogger = (List<LinkedHashMap>) flowLoggerMap.get("flowLogger");
if (flowLogger.size() > 0) {
Collections.reverse(flowLogger);
}
for (LinkedHashMap linkedHashMap : flowLogger) {
if (linkedHashMap.get("operateDate") != null
&& !linkedHashMap.get("operateDate").toString().isEmpty()) {
LinkedHashMap linke = new LinkedHashMap();
linke.put("approvalStatue", linkedHashMap.get("approvalStatue").toString());
// 审核意见
List<LinkedHashMap> approvalSuggestion = (List<LinkedHashMap>) linkedHashMap
.get("approvalSuggestion");
if (approvalSuggestion != null && !approvalSuggestion.isEmpty()) {
linke.put("approvalSuggestion", approvalSuggestion.get(0).get("message"));
}
linke.put("taskName", linkedHashMap.get("taskName").toString());
linke.put("operator", linkedHashMap.get("operator").toString());
linke.put("operateDate", linkedHashMap.get("operateDate").toString());
flowLoggernew.add(linke);
try {
Map<String, Object> flowLoggerMap = workflowFeignClient.getFlowLogger(processInstanceId).getResult();
List<LinkedHashMap> flowLogger = (List<LinkedHashMap>) flowLoggerMap.get("flowLogger");
if (flowLogger.size() > 0) {
Collections.reverse(flowLogger);
}
for (LinkedHashMap linkedHashMap : flowLogger) {
if (linkedHashMap.get("operateDate") != null
&& !linkedHashMap.get("operateDate").toString().isEmpty()) {
LinkedHashMap linke = new LinkedHashMap();
linke.put("approvalStatue", linkedHashMap.get("approvalStatue").toString());
// 审核意见
List<LinkedHashMap> approvalSuggestion = (List<LinkedHashMap>) linkedHashMap
.get("approvalSuggestion");
if (approvalSuggestion != null && !approvalSuggestion.isEmpty()) {
linke.put("approvalSuggestion", approvalSuggestion.get(0).get("message"));
}
linke.put("taskName", linkedHashMap.get("taskName").toString());
linke.put("operator", linkedHashMap.get("operator").toString());
linke.put("operateDate", linkedHashMap.get("operateDate").toString());
flowLoggernew.add(linke);
}
} catch (Exception e) {
e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
}
return flowLoggernew;
}
......@@ -1870,7 +1870,7 @@ public class CommonServiceImpl {
up5.eq(ConstructionRecords::getWorkOrderPowerStationId,workOrderPowerStationId);
up5.eq(ConstructionRecords::getWorkOrderId,workOrderId);
up5.orderByAsc(ConstructionRecords::getRecDate);
return constructionRecordsMapper.selectList(up5);
return constructionRecordsMapper.selectList(up5);
}
List<ConstructionGirdRecords> getConstructionRecordsBasic (String peasantHouseholdId) {
......
package com.yeejoin.amos.boot.module.hygf.biz.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.module.hygf.api.dto.FinancingInfoDto;
import com.yeejoin.amos.boot.module.hygf.api.entity.FinancingAuditing;
import com.yeejoin.amos.boot.module.hygf.api.entity.FinancingInfo;
import com.yeejoin.amos.boot.module.hygf.api.entity.FinancingInfoHistory;
import com.yeejoin.amos.boot.module.hygf.api.entity.PeasantHousehold;
import com.yeejoin.amos.boot.module.hygf.api.mapper.FinancingInfoHistoryMapper;
import com.yeejoin.amos.boot.module.hygf.api.service.IFinancingInfoHistoryService;
import com.yeejoin.amos.boot.module.hygf.api.dto.FinancingInfoHistoryDto;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 投融信息服务实现类
*
* @author system_generator
* @date 2024-10-22
*/
@Service
public class FinancingInfoHistoryServiceImpl extends BaseService<FinancingInfoHistoryDto,FinancingInfoHistory,FinancingInfoHistoryMapper> implements IFinancingInfoHistoryService {
/**
* 分页查询
*/
public Page<Map<String, Object>> queryForFinancingInfoHistoryPage(int current,int size,String ownersName , List<String> status, String province) {
Page<Map<String, Object>> page = new Page<>();
PageHelper.startPage(current,size);
List<Map<String, Object>> financingList = this.getBaseMapper().getFinancingList(ownersName, status, province);
PageInfo<Map<String, Object>> pages = new PageInfo(financingList);
page.setSize(pages.getSize());
page.setCurrent(pages.getPageNum());
page.setTotal(pages.getTotal());
page.setRecords(financingList);
return page;
}
/**
* 列表查询 示例
*/
public List<FinancingInfoHistoryDto> queryForFinancingInfoHistoryList() {
return this.queryForList("" , false);
}
public void updateState(List<Long> ids){
LambdaUpdateWrapper<FinancingInfoHistory> up = new LambdaUpdateWrapper<>();
up.in(FinancingInfoHistory::getPeasantHouseholdId,ids);
up.set(FinancingInfoHistory::getStatus,"已放款");
this.getBaseMapper().update(null,up);
}
public void upDateMoney(FinancingInfoHistoryDto financingInfoDto) {
Map<Long, Double> maps = financingInfoDto.getPeasantHouseholds().stream()
.collect(Collectors.toMap(
PeasantHousehold::getSequenceNbr, // key extractor
PeasantHousehold::getDisbursementMoney, // value mapper
(existingValue, newValue) -> existingValue // merge function
));
LambdaQueryWrapper<FinancingInfoHistory> up = new LambdaQueryWrapper<>();
up.in(FinancingInfoHistory::getPeasantHouseholdId,maps.keySet());
List<FinancingInfoHistory> financingInfos = this.getBaseMapper().selectList(up);
financingInfos.forEach(e->{
e.setDisbursementMoney(maps.get(e.getPeasantHouseholdId()));
e.setDisbursementTime(financingInfoDto.getDisbursementTime());
e.setUnitPrice(financingInfoDto.getUnitPrice());
e.setFinancingCompaniesName(financingInfoDto.getFinancingCompaniesName());
e.setStatus("已完成");
if (financingInfoDto.getFiles() != null){
e.setFile(JSON.toJSONString(financingInfoDto.getFiles()));
}
this.getBaseMapper().updateById(e);
});
}
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.hygf.biz.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.biz.common.excel.ExcelUtil;
import com.yeejoin.amos.boot.module.hygf.api.entity.FinancingInfoHistory;
import com.yeejoin.amos.boot.module.hygf.api.entity.HistoryPeasantHousehold;
import com.yeejoin.amos.boot.module.hygf.api.entity.SurveyInformation;
import com.yeejoin.amos.boot.module.hygf.api.mapper.HistoryPeasantHouseholdMapper;
import com.yeejoin.amos.boot.module.hygf.api.service.IHistoryPeasantHouseholdService;
import com.yeejoin.amos.boot.module.hygf.api.dto.HistoryPeasantHouseholdDto;
import com.yeejoin.amos.boot.module.hygf.api.util.BeanDtoUtils;
import com.yeejoin.amos.component.robot.BadRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import org.typroject.tyboot.core.rdbms.annotation.Condition;
import org.typroject.tyboot.core.rdbms.annotation.Operator;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* 存量合同电站服务实现类
*
* @author system_generator
* @date 2024-10-18
*/
@Service
public class HistoryPeasantHouseholdServiceImpl extends BaseService<HistoryPeasantHouseholdDto,HistoryPeasantHousehold,HistoryPeasantHouseholdMapper> implements IHistoryPeasantHouseholdService {
@Autowired
FinancingInfoHistoryServiceImpl financingInfoHistoryService;
/**
* 分页查询
*/
public Page<HistoryPeasantHouseholdDto> queryForHistoryPeasantHouseholdPage(Page<HistoryPeasantHouseholdDto> page, @Condition(Operator.in) List<String> sequenceNbr,@Condition(Operator.like) String ownersName ,@Condition(Operator.like) String province,@Condition(Operator.eq) String status) {
PageHelper.startPage((int) page.getCurrent(), (int) page.getSize());
List<HistoryPeasantHouseholdDto> historyPeasantHouseholdDtos = this.getBaseMapper().queryForPage(sequenceNbr, ownersName, province, status);
historyPeasantHouseholdDtos.forEach(e->{
e.setFileUrl(JSONArray.parseArray(e.getFiles()));
});
PageInfo<HistoryPeasantHouseholdDto> infos = new PageInfo<>(historyPeasantHouseholdDtos);
page.setRecords(historyPeasantHouseholdDtos);
page.setTotal(infos.getTotal());
return page;
}
/**
* 列表查询 示例
*/
public List<HistoryPeasantHouseholdDto> queryForHistoryPeasantHouseholdList() {
return this.queryForList("" , false);
}
public void uploadData(MultipartFile multipartFile) throws Exception {
List<HistoryPeasantHouseholdDto> excelDtoList = ExcelUtil.readFirstSheetExcel(multipartFile, HistoryPeasantHouseholdDto.class, 1);
List<HistoryPeasantHousehold> list = new ArrayList<>();
for (HistoryPeasantHouseholdDto dto : excelDtoList) {
HistoryPeasantHousehold convert = BeanDtoUtils.convert(dto, HistoryPeasantHousehold.class);
convert.setStatus("待上传");
LambdaQueryWrapper<HistoryPeasantHousehold> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(HistoryPeasantHousehold::getPeasantHouseholdNo,convert.getPeasantHouseholdNo());
List<HistoryPeasantHousehold> list1 = this.getBaseMapper().selectList(wrapper);
if (CollectionUtil.isNotEmpty(list1)){
throw new BadRequest(convert.getPeasantHouseholdNo()+ "编号重复");
}
list.add(convert);
}
this.saveBatch(list);
}
public void exportData(HttpServletResponse response, List<String> ids ){
LambdaQueryWrapper<HistoryPeasantHousehold> wrapper = new LambdaQueryWrapper<>();
wrapper.in(BaseEntity::getSequenceNbr,ids);
List<HistoryPeasantHousehold> list = this.getBaseMapper().selectBatchIds(ids);
if (CollectionUtil.isNotEmpty(list)){
ExcelUtil.createTemplate(response,"存量合同电站","存量合同电站",list,HistoryPeasantHouseholdDto.class,null,false);
}
}
public HistoryPeasantHouseholdDto updateStation(HistoryPeasantHouseholdDto model){
if (model.getStatus().equals("已提交")){
FinancingInfoHistory financingInfoHistory = new FinancingInfoHistory();
financingInfoHistory.setPeasantHouseholdId(model.getSequenceNbr());
financingInfoHistory.setStatus("待放款");
financingInfoHistoryService.save(financingInfoHistory);
}
if (null != model.getFileUrl() && model.getStatus().equals("待上传")){
model.setStatus("待提交");
}
HistoryPeasantHousehold convert = BeanDtoUtils.convert(model,
HistoryPeasantHousehold.class);
this.saveOrUpdate(convert);
return model;
}
}
\ No newline at end of file
......@@ -236,6 +236,7 @@ public class HouseholdContractServiceImpl extends BaseService<HouseholdContractD
Long contractLockId = qiyuesuoServiceImpl.addContract(contractDataDto, templateParam,operatorUsers);
householdContract.setContractLockId(contractLockId);
householdContract.setInitiateStatus(HouseholdContractEnum.发起状态_已发起.getCode());
householdContract.setDzhtqyCreateTime(new Date());
householdContractMapper.updateById(householdContract);
//创建农户待办
......
......@@ -91,8 +91,7 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS
// WorkflowImpl workflow;
@Autowired
WorkFlowService workFlowService;
@Autowired
CommonServiceImpl commonService;
@Autowired
HouseholdContractMapper householdContractMapper;
@Resource (type = RedisLockUtil.class)
......@@ -305,6 +304,7 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS
powerStation.setProcessStatus(PowerStationProcessStateEnum.进行中.getName());
powerStation.setDrawingReview("");
powerStation.setSjCreateTime(new Date());
this.updateSeve(nodeCode, powerStation.getPeasantHouseholdId(), kv);
} else {
......@@ -328,6 +328,7 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS
lambdaUw.eq(HouseholdContract::getPeasantHouseholdId, powerStation.getPeasantHouseholdId());
lambdaUw.set(HouseholdContract::getSurveyStatus, HouseholdContractEnum.勘察状态_已勘察.getCode());
householdContractServiceImpl.update(lambdaUw);
powerStation.setKcEndTime(new Date());
}
break;
......@@ -335,6 +336,7 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS
if (VERIFY_RESULT_YES.equals(result)) {
flag = false;
powerStation.setProcessStatus(PowerStationProcessStateEnum.完成.getName());
powerStation.setSjEndTime(new Date());
}
powerStation.setDrawingReview(resultObj.getName());
break;
......
package com.yeejoin.amos.boot.module.hygf.biz.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.biz.common.utils.ExcelUtils;
import com.yeejoin.amos.boot.module.hygf.api.dto.PowerStationTimeStatisticsDto;
import com.yeejoin.amos.boot.module.hygf.api.mapper.PeasantHouseholdMapper;
import com.yeejoin.amos.boot.module.hygf.api.util.ListUtils;
import com.yeejoin.amos.boot.module.hygf.biz.vo.PowerStationTimeStatisticsExcelVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.*;
import java.util.stream.Collectors;
@Service
@Slf4j
public class PowerStationStatisticsServiceImpl {
@Autowired
PeasantHouseholdMapper peasantHouseholdMapper;
public Page<PowerStationTimeStatisticsDto> queryForPage(int current, int size, PowerStationTimeStatisticsDto powerStationTimeStatisticsDto) {
PageHelper.startPage(current, size);
List<PowerStationTimeStatisticsDto> list = peasantHouseholdMapper.queryForPageByPowerStationStatistics(powerStationTimeStatisticsDto);
PageInfo<PowerStationTimeStatisticsDto> pages = new PageInfo(list);
addPowerStationTime(pages.getList());
Page<PowerStationTimeStatisticsDto> page = new Page<>();
page.setCurrent(current);
page.setTotal(pages.getTotal());
page.setSize(size);
page.setRecords(pages.getList());
return page;
}
/**
* 添加场站时间
* @param statisticsDtos
*/
private void addPowerStationTime(List<PowerStationTimeStatisticsDto> statisticsDtos) {
if (CollectionUtil.isNotEmpty(statisticsDtos)) {
List<Long> sequenceNbrList = new ArrayList<>();
for (PowerStationTimeStatisticsDto statisticsDto : statisticsDtos) {
sequenceNbrList.add(statisticsDto.getSequenceNbr());
}
Map<Long, List<PowerStationTimeStatisticsDto>> kcMap = getKcTime(sequenceNbrList);
Map<Long, List<PowerStationTimeStatisticsDto>> dzhtqyMap = getDzhtqyTime(sequenceNbrList);
Map<Long, List<PowerStationTimeStatisticsDto>> sjMap = getSjTime(sequenceNbrList);
Map<Long, List<PowerStationTimeStatisticsDto>> fhbhMap = getFhbhTime(sequenceNbrList);
Map<Long, List<PowerStationTimeStatisticsDto>> sgMap = getSgTime(sequenceNbrList);
Map<Long, List<PowerStationTimeStatisticsDto>> bwMap = getBwTime(sequenceNbrList);
Map<Long, List<PowerStationTimeStatisticsDto>> ysMap = getYsTime(sequenceNbrList);
for (PowerStationTimeStatisticsDto statisticsDto : statisticsDtos) {
dealKcTime(statisticsDto, kcMap);
dealDzhtqyTime(statisticsDto, dzhtqyMap);
dealSjTime(statisticsDto, sjMap);
dealFhbhTime(statisticsDto, fhbhMap);
dealSgTime(statisticsDto, sgMap);
dealBwTime(statisticsDto, bwMap);
dealYsTime(statisticsDto, ysMap);
}
}
}
private Map<Long, List<PowerStationTimeStatisticsDto>> getYsTime(List<Long> sequenceNbrList) {
List<PowerStationTimeStatisticsDto> statisticsDtos = new ArrayList<>();
if (sequenceNbrList.size() < 1000) {
statisticsDtos = peasantHouseholdMapper.getYsTime(sequenceNbrList);
} else {
List<List<Long>> lists = ListUtils.splitList(sequenceNbrList, 1000);
for (List<Long> list : lists) {
statisticsDtos.addAll(peasantHouseholdMapper.getYsTime(list));
}
}
return statisticsDtos.stream().collect(Collectors.groupingBy(PowerStationTimeStatisticsDto::getSequenceNbr));
}
private Map<Long, List<PowerStationTimeStatisticsDto>> getBwTime(List<Long> sequenceNbrList) {
List<PowerStationTimeStatisticsDto> statisticsDtos = new ArrayList<>();
if (sequenceNbrList.size() < 1000) {
statisticsDtos = peasantHouseholdMapper.getBwTime(sequenceNbrList);
} else {
List<List<Long>> lists = ListUtils.splitList(sequenceNbrList, 1000);
for (List<Long> list : lists) {
statisticsDtos.addAll(peasantHouseholdMapper.getBwTime(list));
}
}
return statisticsDtos.stream().collect(Collectors.groupingBy(PowerStationTimeStatisticsDto::getSequenceNbr));
}
private Map<Long, List<PowerStationTimeStatisticsDto>> getSgTime(List<Long> sequenceNbrList) {
List<PowerStationTimeStatisticsDto> statisticsDtos = new ArrayList<>();
if (sequenceNbrList.size() < 1000) {
statisticsDtos = peasantHouseholdMapper.getSgTime(sequenceNbrList);
} else {
List<List<Long>> lists = ListUtils.splitList(sequenceNbrList, 1000);
for (List<Long> list : lists) {
statisticsDtos.addAll(peasantHouseholdMapper.getSgTime(list));
}
}
return statisticsDtos.stream().collect(Collectors.groupingBy(PowerStationTimeStatisticsDto::getSequenceNbr));
}
private Map<Long, List<PowerStationTimeStatisticsDto>> getFhbhTime(List<Long> sequenceNbrList) {
List<PowerStationTimeStatisticsDto> statisticsDtos = new ArrayList<>();
if (sequenceNbrList.size() < 1000) {
statisticsDtos = peasantHouseholdMapper.getFhbhTime(sequenceNbrList);
} else {
List<List<Long>> lists = ListUtils.splitList(sequenceNbrList, 1000);
for (List<Long> list : lists) {
statisticsDtos.addAll(peasantHouseholdMapper.getFhbhTime(list));
}
}
return statisticsDtos.stream().collect(Collectors.groupingBy(PowerStationTimeStatisticsDto::getSequenceNbr));
}
private Map<Long, List<PowerStationTimeStatisticsDto>> getSjTime(List<Long> sequenceNbrList) {
List<PowerStationTimeStatisticsDto> statisticsDtos = new ArrayList<>();
if (sequenceNbrList.size() < 1000) {
statisticsDtos = peasantHouseholdMapper.getSjTime(sequenceNbrList);
} else {
List<List<Long>> lists = ListUtils.splitList(sequenceNbrList, 1000);
for (List<Long> list : lists) {
statisticsDtos.addAll(peasantHouseholdMapper.getSjTime(list));
}
}
return statisticsDtos.stream().collect(Collectors.groupingBy(PowerStationTimeStatisticsDto::getSequenceNbr));
}
private Map<Long, List<PowerStationTimeStatisticsDto>> getDzhtqyTime(List<Long> sequenceNbrList) {
List<PowerStationTimeStatisticsDto> statisticsDtos = new ArrayList<>();
if (sequenceNbrList.size() < 1000) {
statisticsDtos = peasantHouseholdMapper.getDzhtqyTime(sequenceNbrList);
} else {
List<List<Long>> lists = ListUtils.splitList(sequenceNbrList, 1000);
for (List<Long> list : lists) {
statisticsDtos.addAll(peasantHouseholdMapper.getDzhtqyTime(list));
}
}
return statisticsDtos.stream().collect(Collectors.groupingBy(PowerStationTimeStatisticsDto::getSequenceNbr));
}
private Map<Long, List<PowerStationTimeStatisticsDto>> getKcTime(List<Long> sequenceNbrList) {
List<PowerStationTimeStatisticsDto> statisticsDtos = new ArrayList<>();
if (sequenceNbrList.size() < 1000) {
statisticsDtos = peasantHouseholdMapper.getKcTime(sequenceNbrList);
} else {
List<List<Long>> lists = ListUtils.splitList(sequenceNbrList, 1000);
for (List<Long> list : lists) {
statisticsDtos.addAll(peasantHouseholdMapper.getKcTime(list));
}
}
return statisticsDtos.stream().collect(Collectors.groupingBy(PowerStationTimeStatisticsDto::getSequenceNbr));
}
/**
* 处理停留时间
* @param startDate
* @param endDate
* @return
*/
private String dealStopTime(Date startDate, Date endDate) {
if (Objects.nonNull(startDate) && Objects.nonNull(endDate)) {
// 计算时间差
long diffInMillis = endDate.getTime() - startDate.getTime();
// 将毫秒差转换为小时、分钟和秒
long diffInSeconds = diffInMillis / 1000;
long hours = diffInSeconds / 3600;
long minutes = (diffInSeconds % 3600) / 60;
long seconds = diffInSeconds % 60;
return hours + "小时" + minutes + "分" + seconds + "秒";
}
return null;
}
/**
* 处理验收时间
* @param statisticsDto
* @param map
*/
private void dealYsTime(PowerStationTimeStatisticsDto statisticsDto, Map<Long, List<PowerStationTimeStatisticsDto>> map) {
List<PowerStationTimeStatisticsDto> time = map.get(statisticsDto.getSequenceNbr());
if (CollectionUtil.isNotEmpty(time)) {
statisticsDto.setYsCreateTime(time.get(0).getYsCreateTime());
statisticsDto.setYsEndTime(time.get(0).getYsEndTime());
statisticsDto.setYsStopTime(dealStopTime(time.get(0).getYsCreateTime(), time.get(0).getYsEndTime()));
}
}
/**
* 处理并网时间
* @param statisticsDto
* @param map
*/
private void dealBwTime(PowerStationTimeStatisticsDto statisticsDto, Map<Long, List<PowerStationTimeStatisticsDto>> map) {
List<PowerStationTimeStatisticsDto> time = map.get(statisticsDto.getSequenceNbr());
if (CollectionUtil.isNotEmpty(time)) {
statisticsDto.setBwCreateTime(time.get(0).getBwCreateTime());
statisticsDto.setBwEndTime(time.get(0).getBwEndTime());
statisticsDto.setBwStopTime(dealStopTime(time.get(0).getBwCreateTime(), time.get(0).getBwEndTime()));
}
}
/**
* 处理施工时间
* @param statisticsDto
* @param map
*/
private void dealSgTime(PowerStationTimeStatisticsDto statisticsDto, Map<Long, List<PowerStationTimeStatisticsDto>> map) {
List<PowerStationTimeStatisticsDto> time = map.get(statisticsDto.getSequenceNbr());
if (CollectionUtil.isNotEmpty(time)) {
statisticsDto.setSgCreateTime(time.get(0).getSgCreateTime());
statisticsDto.setSgEndTime(time.get(0).getSgEndTime());
statisticsDto.setSgStopTime(dealStopTime(time.get(0).getSgCreateTime(), time.get(0).getSgEndTime()));
}
}
/**
* 处理发货备货时间
* @param statisticsDto
* @param map
*/
private void dealFhbhTime(PowerStationTimeStatisticsDto statisticsDto, Map<Long, List<PowerStationTimeStatisticsDto>> map) {
List<PowerStationTimeStatisticsDto> time = map.get(statisticsDto.getSequenceNbr());
if (CollectionUtil.isNotEmpty(time)) {
statisticsDto.setFhbhCreateTime(time.get(0).getFhbhCreateTime());
statisticsDto.setFhbhEndTime(time.get(0).getFhbhEndTime());
statisticsDto.setFhbhStopTime(dealStopTime(time.get(0).getFhbhCreateTime(), time.get(0).getFhbhEndTime()));
}
}
/**
* 处理设计时间
* @param statisticsDto
* @param map
*/
private void dealSjTime(PowerStationTimeStatisticsDto statisticsDto, Map<Long, List<PowerStationTimeStatisticsDto>> map) {
List<PowerStationTimeStatisticsDto> time = map.get(statisticsDto.getSequenceNbr());
if (CollectionUtil.isNotEmpty(time)) {
statisticsDto.setSjCreateTime(time.get(0).getSjCreateTime());
statisticsDto.setSjEndTime(time.get(0).getSjEndTime());
statisticsDto.setSjStopTime(dealStopTime(time.get(0).getSjCreateTime(), time.get(0).getSjEndTime()));
}
}
/**
* 处理电子合同签约时间
* @param statisticsDto
* @param map
*/
private void dealDzhtqyTime(PowerStationTimeStatisticsDto statisticsDto, Map<Long, List<PowerStationTimeStatisticsDto>> map) {
List<PowerStationTimeStatisticsDto> time = map.get(statisticsDto.getSequenceNbr());
if (CollectionUtil.isNotEmpty(time)) {
statisticsDto.setDzhtqyCreateTime(time.get(0).getDzhtqyCreateTime());
statisticsDto.setDzhtqyEndTime(time.get(0).getDzhtqyEndTime());
statisticsDto.setDzhtqyStopTime(dealStopTime(time.get(0).getDzhtqyCreateTime(), time.get(0).getDzhtqyEndTime()));
}
}
/**
* 处理勘察时间
* @param statisticsDto
* @param map
*/
private void dealKcTime(PowerStationTimeStatisticsDto statisticsDto, Map<Long, List<PowerStationTimeStatisticsDto>> map) {
List<PowerStationTimeStatisticsDto> time = map.get(statisticsDto.getSequenceNbr());
if (CollectionUtil.isNotEmpty(time)) {
statisticsDto.setKcCreateTime(time.get(0).getKcCreateTime());
statisticsDto.setKcEndTime(time.get(0).getKcEndTime());
statisticsDto.setKcStopTime(dealStopTime(time.get(0).getKcCreateTime(), time.get(0).getKcEndTime()));
}
}
public void exportPowerStationExcel(List<String> sequenceNbrList, HttpServletResponse response) {
List<PowerStationTimeStatisticsDto> powerStationTimeStatisticsDtoList = getAllDetail(sequenceNbrList);
if (CollectionUtil.isNotEmpty(powerStationTimeStatisticsDtoList)) {
try {
List<PowerStationTimeStatisticsExcelVO> dataList = new ArrayList<>();
for (PowerStationTimeStatisticsDto statisticsDto : powerStationTimeStatisticsDtoList) {
PowerStationTimeStatisticsExcelVO excelVO = BeanUtil.copyProperties(statisticsDto, PowerStationTimeStatisticsExcelVO.class);
excelVO.setKcCreateTime(DateUtils.dateFormat(statisticsDto.getKcCreateTime(), DateUtils.DATE_TIME_PATTERN));
excelVO.setKcEndTime(DateUtils.dateFormat(statisticsDto.getKcEndTime(), DateUtils.DATE_TIME_PATTERN));
excelVO.setBwCreateTime(DateUtils.dateFormat(statisticsDto.getBwCreateTime(), DateUtils.DATE_TIME_PATTERN));
excelVO.setBwEndTime(DateUtils.dateFormat(statisticsDto.getBwEndTime(), DateUtils.DATE_TIME_PATTERN));
excelVO.setDzhtqyCreateTime(DateUtils.dateFormat(statisticsDto.getDzhtqyCreateTime(), DateUtils.DATE_TIME_PATTERN));
excelVO.setDzhtqyEndTime(DateUtils.dateFormat(statisticsDto.getDzhtqyEndTime(), DateUtils.DATE_TIME_PATTERN));
excelVO.setSgCreateTime(DateUtils.dateFormat(statisticsDto.getSgCreateTime(), DateUtils.DATE_TIME_PATTERN));
excelVO.setSgEndTime(DateUtils.dateFormat(statisticsDto.getSgEndTime(), DateUtils.DATE_TIME_PATTERN));
excelVO.setYsCreateTime(DateUtils.dateFormat(statisticsDto.getYsCreateTime(), DateUtils.DATE_TIME_PATTERN));
excelVO.setYsEndTime(DateUtils.dateFormat(statisticsDto.getYsEndTime(), DateUtils.DATE_TIME_PATTERN));
excelVO.setSjCreateTime(DateUtils.dateFormat(statisticsDto.getSjCreateTime(), DateUtils.DATE_TIME_PATTERN));
excelVO.setSjEndTime(DateUtils.dateFormat(statisticsDto.getSjEndTime(), DateUtils.DATE_TIME_PATTERN));
excelVO.setFhbhCreateTime(DateUtils.dateFormat(statisticsDto.getFhbhCreateTime(), DateUtils.DATE_TIME_PATTERN));
excelVO.setFhbhEndTime(DateUtils.dateFormat(statisticsDto.getFhbhEndTime(), DateUtils.DATE_TIME_PATTERN));
dataList.add(excelVO);
}
ExcelUtils.exportExcelDefaultGroundColor(dataList, null, "电站时间统计", PowerStationTimeStatisticsExcelVO.class, "电站时间统计" + DateUtils.dateFormat(new Date(), "YYYY-MM-dd-HH-mm") + ".xlsx", response);
} catch (Exception e) {
log.error(e.getMessage(), e);
throw new BadRequest("导出失败,失败原因[" + e.getMessage() + "]");
}
}
}
/**
* 获取全部的详情
* @param sequenceNbrList
* @return
*/
private List<PowerStationTimeStatisticsDto> getAllDetail(List<String> sequenceNbrList) {
List<PowerStationTimeStatisticsDto> statisticsDtos = new ArrayList<>();
if (CollectionUtil.isNotEmpty(sequenceNbrList)) {
if (sequenceNbrList.size() < 1000) {
statisticsDtos = peasantHouseholdMapper.getPowerStationTimeDetail(sequenceNbrList);
} else {
List<List<String>> lists = ListUtils.splitList(sequenceNbrList, 1000);
for (List<String> list : lists) {
statisticsDtos.addAll(peasantHouseholdMapper.getPowerStationTimeDetail(list));
}
}
} else {
statisticsDtos = peasantHouseholdMapper.getAllPowerStationTimeDetail();
}
addPowerStationTime(statisticsDtos);
return statisticsDtos;
}
}
......@@ -528,7 +528,6 @@ public class PreparationMoneyServiceImpl extends BaseService<PreparationMoneyDto
} else {
model.setDeliveryState(DeliveryStateeEnum.待发货.getCode());
model.setArrivalState(DeliveryStateeEnum.待发货.getCode());
//历史电站
LambdaQueryWrapper<DocumentStation> up = new LambdaQueryWrapper();
up.eq(DocumentStation::getPreparationMoneyId, model.getSequenceNbr());
......
......@@ -140,8 +140,7 @@ public class SurveyInformationServiceImpl
// WorkflowImpl workflow;
@Autowired
WorkFlowService workFlowService;
@Autowired
CommonServiceImpl commonService;
@Autowired
HygfRectificationOrderServiceImpl rectificationOrderService;
private static final String PROCESSKEY = "ProcessEngineering";
......@@ -449,6 +448,7 @@ public class SurveyInformationServiceImpl
powerStation.setTechnologyStatus("");
powerStation.setDesignStatus("");
powerStation.setBusinessStatus("");
powerStation.setKcCreateTime(new Date());
powerStationService.savePowerStation(powerStation, true, powerStation.getOwnersName(), "");
//
......
......@@ -18,6 +18,7 @@ import com.yeejoin.amos.boot.module.hygf.api.entity.UserMessage;
import com.yeejoin.amos.boot.module.hygf.api.mapper.ToDoTasksMapper;
import com.yeejoin.amos.boot.module.hygf.api.mapper.UserMessageMapper;
import com.yeejoin.amos.boot.module.hygf.api.service.IToDoTasksService;
import com.yeejoin.amos.boot.module.hygf.api.util.ListUtils;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
......@@ -127,7 +128,7 @@ public class ToDoTasksServiceImpl extends BaseService<ToDoTasksDto,ToDoTasks,ToD
wrapper.in(ToDoTasks::getBusinessId,businessIds);
remove(wrapper);
}else {
List<List<String>> lists = splitList(businessIds, 1000);
List<List<String>> lists = ListUtils.splitList(businessIds, 1000);
for (List<String> list : lists) {
LambdaQueryWrapper<ToDoTasks> wrapper = new LambdaQueryWrapper<>();
wrapper.in(ToDoTasks::getBusinessId,list);
......@@ -143,21 +144,6 @@ public class ToDoTasksServiceImpl extends BaseService<ToDoTasksDto,ToDoTasks,ToD
}
}
private <T> List<List<T>> splitList(List<T> list, int chunkSize) {
List<List<T>> splitLists = new ArrayList<>();
int totalSize = list.size();
for (int i = 0; i < totalSize; i += chunkSize) {
// 计算结束索引,确保不超过列表的大小
int end = Math.min(i + chunkSize, totalSize);
// 使用 subList 方法获取子列表
List<T> sublist = list.subList(i, end);
splitLists.add(new ArrayList<>(sublist)); // 创建新的 ArrayList 以避免 ConcurrentModificationException
}
return splitLists;
}
@Transactional
public void addToDoTasksByUserIds(List<String> userIds, ToDoTasks toDoTasks) {
try {
......
......@@ -142,9 +142,6 @@ public class UnitInfoServiceImpl extends BaseService<UnitInfoDto,UnitInfo,UnitIn
@Autowired
WorkFlowService workFlowService;
@Autowired
@Lazy
CommonServiceImpl commonService;
@Autowired
AmosRequestContext amosRequestContext;
@Autowired
......
......@@ -129,8 +129,6 @@ public class WorkOrderServiceImpl extends BaseService<WorkOrderDto, WorkOrder, W
BasicGridAcceptanceServiceImpl basicGridAcceptanceService;
@Autowired
AcceptanceCheckServiceImpl acceptanceCheckService;
@Autowired
CommonServiceImpl commonService;
private static final String PROCESSKEY = "ProcessEngineering";
......@@ -200,6 +198,7 @@ public class WorkOrderServiceImpl extends BaseService<WorkOrderDto, WorkOrder, W
workOrderPowerStation.setPeasantHouseholdId(peasantHousehold.getSequenceNbr());
workOrderPowerStation.setWorkOrderId(model.getSequenceNbr());
workOrderPowerStation.setPowerStationConstructionStatus(WorkOrderEnum.待施工.getCode());
workOrderPowerStation.setSgCreateTime(new Date());
li.add(workOrderPowerStation);
}
......@@ -249,6 +248,7 @@ public class WorkOrderServiceImpl extends BaseService<WorkOrderDto, WorkOrder, W
workOrderPowerStation.setPeasantHouseholdId(peasantHousehold.getSequenceNbr());
workOrderPowerStation.setWorkOrderId(model.getSequenceNbr());
workOrderPowerStation.setPowerStationConstructionStatus(WorkOrderEnum.待施工.getCode());
workOrderPowerStation.setSgCreateTime(new Date());
li.add(workOrderPowerStation);
}
workOrderPowerStationServiceImpl.saveBatch(li);
......@@ -1311,6 +1311,7 @@ public class WorkOrderServiceImpl extends BaseService<WorkOrderDto, WorkOrder, W
workOrderPowerStation.setPowerStationDesignStatus(approvalStatus.equals("0")?"通过":"驳回");
constructionRecords.setOperationContent("施工验收-设计审核-" + workOrderPowerStation.getPowerStationDesignStatus());
workOrderPowerStation.setPowerStationConstructionStatus(WorkOrderEnum.已完工.getCode());
workOrderPowerStation.setSgEndTime(new Date());
workOrderPowerStation.setWorkOrderPowerStationNode(WorkOrderEnum.全部节点.getCode());
taskKey = BusinessWorkflowKey.设计审核.getCode();
break;
......@@ -1366,6 +1367,7 @@ public class WorkOrderServiceImpl extends BaseService<WorkOrderDto, WorkOrder, W
dat.setWorkOrderPowerStationId(workOrderPowerStation.getSequenceNbr());
dat.setPeasantHouseholdId(workOrderPowerStation.getPeasantHouseholdId());
dat.setGridStatus("1");
dat.setBwCreateTime(new Date());
// // 新增并网记录
// LambdaQueryWrapper<BasicGridAcceptance> bga = new LambdaQueryWrapper<>();
......
package com.yeejoin.amos.boot.module.hygf.biz.vo;
import cn.afterturn.easypoi.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@Data
@ApiModel(value = "PowerStationTimeStatisticsExcelVO", description = "电站统计excel实体类")
public class PowerStationTimeStatisticsExcelVO implements Serializable {
private static final long serialVersionUID = 1L;
@Excel(name = "电站名称", width = 30, orderNum = "1")
@ApiModelProperty(value = "电站名称")
private String ownersName;
@Excel(name = "电站安装规模(kW)", width = 30, orderNum = "2")
@ApiModelProperty(value = "电站安装规模")
private String scale;
@Excel(name = "电站实际规模(kW)", width = 30, orderNum = "3")
@ApiModelProperty(value = "电站实际规模")
private String realScale;
@Excel(name = "省份", width = 30, orderNum = "4")
@ApiModelProperty(value = "省份")
private String province;
@Excel(name = "区域公司", width = 50, orderNum = "5")
@ApiModelProperty(value = "区域公司")
private String regionalCompaniesName;
@Excel(name = "经销商", width = 30, orderNum = "6")
@ApiModelProperty(value = "经销商")
private String serviceAgent;
@Excel(name = "勘察开始时间", width = 30, orderNum = "7")
@ApiModelProperty(value = "勘察开始时间")
private String kcCreateTime;
@Excel(name = "勘察结束时间", width = 30, orderNum = "8")
@ApiModelProperty(value = "勘察结束时间")
private String kcEndTime;
@Excel(name = "勘察停留时间", width = 30, orderNum = "9")
@ApiModelProperty(value = "勘察停留时间")
private String kcStopTime;
@Excel(name = "电子合同签约开始时间", width = 30, orderNum = "10")
@ApiModelProperty(value = "电子合同签约开始时间")
private String dzhtqyCreateTime;
@Excel(name = "电子合同签约结束时间", width = 30, orderNum = "11")
@ApiModelProperty(value = "电子合同签约结束时间")
private String dzhtqyEndTime;
@Excel(name = "电子合同签约停留时间", width = 30, orderNum = "12")
@ApiModelProperty(value = "电子合同签约停留时间")
private String dzhtqyStopTime;
@Excel(name = "设计开始时间", width = 30, orderNum = "13")
@ApiModelProperty(value = "设计开始时间")
private String sjCreateTime;
@Excel(name = "设计结束时间", width = 30, orderNum = "14")
@ApiModelProperty(value = "设计结束时间")
private String sjEndTime;
@Excel(name = "设计停留时间", width = 30, orderNum = "15")
@ApiModelProperty(value = "设计停留时间")
private String sjStopTime;
@Excel(name = "发货备货开始时间", width = 30, orderNum = "16")
@ApiModelProperty(value = "发货备货开始时间")
private String fhbhCreateTime;
@Excel(name = "发货备货结束时间", width = 30, orderNum = "17")
@ApiModelProperty(value = "发货备货结束时间")
private String fhbhEndTime;
@Excel(name = "发货备货停留时间", width = 30, orderNum = "18")
@ApiModelProperty(value = "发货备货停留时间")
private String fhbhStopTime;
@Excel(name = "施工开始时间", width = 30, orderNum = "19")
@ApiModelProperty(value = "施工开始时间")
private String sgCreateTime;
@Excel(name = "施工结束时间", width = 30, orderNum = "20")
@ApiModelProperty(value = "施工结束时间")
private String sgEndTime;
@Excel(name = "施工停留时间", width = 30, orderNum = "21")
@ApiModelProperty(value = "施工停留时间")
private String sgStopTime;
@Excel(name = "并网开始时间", width = 30, orderNum = "22")
@ApiModelProperty(value = "并网开始时间")
private String bwCreateTime;
@Excel(name = "并网结束时间", width = 30, orderNum = "23")
@ApiModelProperty(value = "并网结束时间")
private String bwEndTime;
@Excel(name = "并网停留时间", width = 30, orderNum = "24")
@ApiModelProperty(value = "并网停留时间")
private String bwStopTime;
@Excel(name = "验收开始时间", width = 30, orderNum = "25")
@ApiModelProperty(value = "验收开始时间")
private String ysCreateTime;
@Excel(name = "验收结束时间", width = 30, orderNum = "26")
@ApiModelProperty(value = "验收结束时间")
private String ysEndTime;
@Excel(name = "验收停留时间", width = 30, orderNum = "27")
@ApiModelProperty(value = "验收停留时间")
private String ysStopTime;
}
......@@ -89,7 +89,7 @@ public class AmosJxiopAnalyseApplication {
return;
}
// 订阅固化周期性数据成功的消息
emqKeeper.subscript("sync_esdata_to_tdengine_notice1", 1, syncESDataToTdengineMqttListener);
emqKeeper.subscript("sync_esdata_to_tdengine_notice", 1, syncESDataToTdengineMqttListener);
// 订阅业务固化同步数据成功消息
//emqKeeper.subscript("sync_iotdata_to_tdengine_notice", 1, syncDasSuccessMqttListener);
}
......
......@@ -47,8 +47,6 @@ public class TestController extends BaseController {
@Autowired
IndicatorDataMapper indicatorDataMapper;
@Autowired
CommonServiceImpl commonService;
@Autowired
HealthStatusIndicatorServiceImpl healthStatusIndicatorService;
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
......
package com.yeejoin.amos.boot.module.jxiop.api.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Primary;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.stereotype.Component;
......
......@@ -70,7 +70,7 @@ public class Constants {
*/
public static final String JXIOP_DICT_CERTIFICATES = "jxIop:dict:certificates";
public static final String BASE_URL = "http://iiet-jepcc.powerchina.cn:8088/screen_api";
//public static final String BASE_URL = "http://iiet-jepcc.powerchina.cn:8088/screen_api";
public static final String REQUEST_GET="GET";
public static final String REQUEST_POST="POST";
public static final String get_province_item_url="method=scene_screen.data_interface.get_province_item";
......@@ -86,7 +86,7 @@ public class Constants {
public static final String get_quota_complate_info="method=scene_screen.large_screen.get_quota_complate_info";
public static final String resovleRule_data = "data";
public static final String areaChinese="区域";
public static final String get_big_screen_point_url="http://iiet-jepcc.powerchina.cn:8088/core/datastorage/gateway/point/list?groupId=1827987484823289857&dataType=analog";
// public static final String get_big_screen_point_url="http://iiet-jepcc.powerchina.cn:8088/core/datastorage/gateway/point/list?groupId=1827987484823289857&dataType=analog";
}
......@@ -5,7 +5,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.Map;
public interface EnergyAccessService {
Page<Map<String, Object>> getInstalledCapacity(String current, String pageSize, String code, String sourceStationId, String tp) throws Exception;
Page<Map<String, Object>> getInstalledCapacity(String current, String pageSize, String code, String sourceStationId, String tp) throws Exception;
Page<Map<String, Object>> getQuotaCompleteInfo(String current, String pageSize, String code, String sourceStationId, String tp);
}
......@@ -6,12 +6,13 @@ import com.alibaba.fastjson.TypeReference;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jxiop.api.util.Constants;
import com.yeejoin.amos.boot.module.jxiop.api.util.HttpRequestUtil;
import com.yeejoin.amos.boot.module.jxiop.api.mapper.EnergyAccessMapper;
import com.yeejoin.amos.boot.module.jxiop.biz.service.EnergyAccessService;
import com.yeejoin.amos.boot.module.jxiop.api.mapper.EnergyAccessMapper;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
......@@ -32,6 +33,9 @@ public class EnergyAccessServiceImpl implements EnergyAccessService {
private final Logger logger = LoggerFactory.getLogger(EnergyAccessServiceImpl.class);
@Value("${budun.baseurl:http://iiet-jepcc.powerchina.cn:8088/screen_api}")
private String budunBaseURL;
@Override
public Page<Map<String, Object>> getInstalledCapacity(String current, String pageSize, String code, String sourceStationId, String tp) {
......@@ -45,7 +49,7 @@ public class EnergyAccessServiceImpl implements EnergyAccessService {
logger.info("获取并网容量接口查询本地返回结果:{}", returnList.toString());
} else {
//改为部盾接口
StringBuilder requestUrl = new StringBuilder(Constants.BASE_URL).append("?").append(Constants.get_station_actual_installed_capacity);
StringBuilder requestUrl = new StringBuilder(budunBaseURL).append("?").append(Constants.get_station_actual_installed_capacity);
if (StringUtils.isNotEmpty(code)) {
requestUrl.append("&code=").append(code);
}
......@@ -102,7 +106,7 @@ public class EnergyAccessServiceImpl implements EnergyAccessService {
@Override
public Page<Map<String, Object>> getQuotaCompleteInfo(String current, String pageSize, String code, String sourceStationId, String tp) {
//改为部盾接口
StringBuilder requestUrl = new StringBuilder(Constants.BASE_URL).append("?").append(Constants.get_quota_complate_info);
StringBuilder requestUrl = new StringBuilder(budunBaseURL).append("?").append(Constants.get_quota_complate_info);
LocalDate currentDate = LocalDate.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String formattedDate = currentDate.format(formatter);
......
......@@ -30,10 +30,12 @@ import org.elasticsearch.search.aggregations.bucket.terms.Terms;
import org.elasticsearch.search.aggregations.metrics.ParsedAvg;
import org.elasticsearch.search.aggregations.metrics.ParsedSum;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.*;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.client.RestTemplate;
import org.typroject.tyboot.component.emq.EmqKeeper;
......@@ -95,6 +97,10 @@ public class LargeScreenImpl {
private final String YFD = "月发电量";
private final String NFD = "年发电量";
@Value("${budun.baseurl:http://iiet-jepcc.powerchina.cn:8088/screen_api}")
private String budunBaseURL;
@Value("${bigScreenPoint.url:http://iiet-jepcc.powerchina.cn:8088/core/datastorage/gateway/point/list?groupId=1827987484823289857&dataType=analog}")
private String bigScreenPointUrl;
/**
* 全国
*/
......@@ -144,7 +150,7 @@ public class LargeScreenImpl {
// }
// 改为部盾接口
String requestUrl = Constants.BASE_URL + "?" + Constants.get_quota_info;
String requestUrl = budunBaseURL + "?" + Constants.get_quota_info;
LocalDate currentDate = LocalDate.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate yesterday = currentDate.minusDays(1);
......@@ -263,7 +269,7 @@ public class LargeScreenImpl {
*/
private Map<String,Double> getPointValue() {
Map<String,Double> resultMap=new HashMap();
JSONObject jsonObject = sendCoreGetRequest(Constants.get_big_screen_point_url);
JSONObject jsonObject = sendCoreGetRequest(bigScreenPointUrl);
if (!Objects.isNull(jsonObject)) {
if (jsonObject.getInteger("status") == HttpStatus.OK.value()) {
JSONArray resultJsonArray = jsonObject.getJSONArray("result");
......@@ -474,7 +480,7 @@ public class LargeScreenImpl {
// mapdta.put("NJHWC", ybfbn);
// 改为部盾接口
String requestUrl = Constants.BASE_URL + "?" + Constants.get_quota_info;
String requestUrl = budunBaseURL + "?" + Constants.get_quota_info;
LocalDate currentDate = LocalDate.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate yesterday = currentDate.minusDays(1);
......@@ -1038,11 +1044,14 @@ public class LargeScreenImpl {
// String startTime = sdf.format(currentDayStartTime);
// String endTime= sdf.format(currentDayEndTime);
activePowerListFD = indicatorDataMapper
.selectDataByequipmentIndexNameAndtimeqgNew(CommonConstans.xiazaoActivePowerPoint, fdGatewayIds);
activePowerListGF = indicatorDataMapper
.selectDataByequipmentIndexNameAndtimeqgNew(CommonConstans.taiheActivePowerPoint, gfGatewayIds);
if (!StringUtils.isEmpty(fdGatewayIds)){
activePowerListFD = indicatorDataMapper
.selectDataByequipmentIndexNameAndtimeqgNew(CommonConstans.xiazaoActivePowerPoint, fdGatewayIds);
}
if (!StringUtils.isEmpty(gfGatewayIds)){
activePowerListGF = indicatorDataMapper
.selectDataByequipmentIndexNameAndtimeqgNew(CommonConstans.taiheActivePowerPoint, gfGatewayIds);
}
System.out.println(JSON.toJSONString(activePowerListFD));
for (int i = 0; i < activePowerListFD.size(); i++) {
IndicatorData indicatorData = activePowerListFD.get(i);
......@@ -1142,12 +1151,14 @@ public class LargeScreenImpl {
// String startTime = DateUtils.convertDateToString(currentDayStartTime, DateUtils.DATE_TIME_PATTERN);
// String endTime = DateUtils.convertDateToString(currentDayEndTime, DateUtils.DATE_TIME_PATTERN);
activePowerListFD = indicatorDataMapper
.selectDataByequipmentIndexNameAndtimeqgNew(CommonConstans.xiazaoActivePowerPoint, fdGatewayIds);
activePowerListGF = indicatorDataMapper
.selectDataByequipmentIndexNameAndtimeqgNew(CommonConstans.taiheActivePowerPoint, gfGatewayIds);
if(!StringUtils.isEmpty(fdGatewayIds)){
activePowerListFD = indicatorDataMapper
.selectDataByequipmentIndexNameAndtimeqgNew(CommonConstans.xiazaoActivePowerPoint, fdGatewayIds);
}
if(!StringUtils.isEmpty(gfGatewayIds)){
activePowerListGF = indicatorDataMapper
.selectDataByequipmentIndexNameAndtimeqgNew(CommonConstans.taiheActivePowerPoint, gfGatewayIds);
}
System.out.println(JSON.toJSONString(activePowerListFD));
for (int i = 0; i < activePowerListFD.size(); i++) {
IndicatorData indicatorData = activePowerListFD.get(i);
......
......@@ -60,6 +60,8 @@ public class MonitorServiceImpl implements MonitorService {
private Resource overview;
@Value("classpath:/json/overviewGF.json")
private Resource overviewGF;
@Value("${budun.baseurl:http://iiet-jepcc.powerchina.cn:8088/screen_api}")
private String budunBaseURL;
@Override
public IPage<Map<String, Object>> operationData(String areaCode,String platformStationId) {
......@@ -175,7 +177,7 @@ public class MonitorServiceImpl implements MonitorService {
areaName = Constants.areaChinese;
}
String requestUrl = Constants.BASE_URL + "?" + Constants.get_month_generation_trend_url + "&areaName=" + areaName;
String requestUrl = budunBaseURL + "?" + Constants.get_month_generation_trend_url + "&areaName=" + areaName;
List<String> list = new ArrayList<>();
List<Double> listData = new ArrayList<>();
List<BudunMonthTrendDto> budunMonthTrendDtos = httpRequestUtil.getResPonse(requestUrl, Constants.REQUEST_GET, "", Constants.resovleRule_data, BudunMonthTrendDto.class);
......@@ -200,7 +202,7 @@ public class MonitorServiceImpl implements MonitorService {
@Override
public Map<String, Object> gettimedateyfdqs() {
String requestUrl = Constants.BASE_URL + "?" + Constants.get_generated_quota_trend;
String requestUrl = budunBaseURL + "?" + Constants.get_generated_quota_trend;
List<BundunCompleteDto> bundunCompleteDtoList = httpRequestUtil.getResPonse(requestUrl, Constants.REQUEST_GET, "", Constants.resovleRule_data, BundunCompleteDto.class);
Map<String, Object> mapjn = new HashMap<>();
......@@ -223,7 +225,7 @@ public class MonitorServiceImpl implements MonitorService {
public Map<String, Object> gettimedateyfd() {
String requestUrl = Constants.BASE_URL + "?" + Constants.get_month_generation_trend_url;
String requestUrl = budunBaseURL + "?" + Constants.get_month_generation_trend_url;
List<String> list = new ArrayList<>();
List<Double> listData = new ArrayList<>();
List<BudunMonthTrendDto> budunMonthTrendDtos = httpRequestUtil.getResPonse(requestUrl, Constants.REQUEST_GET, "", Constants.resovleRule_data, BudunMonthTrendDto.class);
......@@ -248,7 +250,7 @@ public class MonitorServiceImpl implements MonitorService {
@Override
public Map<String, Object> gettimedateqyyfd(String areaName) {
String requestUrl = Constants.BASE_URL + "?" + Constants.get_generated_quota_trend;
String requestUrl = budunBaseURL + "?" + Constants.get_generated_quota_trend;
MapRegion mapRegion = mapRegionMapper.selectOne(new QueryWrapper<MapRegion>().eq("name", areaName));
if (!areaName.contains(Constants.areaChinese)) {
areaName = areaName + Constants.areaChinese;
......@@ -279,7 +281,7 @@ public class MonitorServiceImpl implements MonitorService {
@Override
public SeriesData getSeriesDataqg() {
String requestUrl = Constants.BASE_URL + "?" + Constants.get_day_generation_trend;
String requestUrl = budunBaseURL + "?" + Constants.get_day_generation_trend;
List<BudunDayGenTrendDto> budunDayGenTrendDtoList = httpRequestUtil.getResPonse(requestUrl, Constants.REQUEST_GET, "", Constants.resovleRule_data, BudunDayGenTrendDto.class);
List<Map<String, Object>> list = new ArrayList<>();
List<String> listdate = new ArrayList<>();
......@@ -320,7 +322,7 @@ public class MonitorServiceImpl implements MonitorService {
if (!ObjectUtils.isEmpty(mapRegion) && !ObjectUtils.isEmpty(mapRegion.getName()) && !mapRegion.getName().contains(Constants.areaChinese)) {
areaName = mapRegion.getName() + Constants.areaChinese;
}
String requestUrl = Constants.BASE_URL + "?" + Constants.get_day_generation_trend + "&areaName=" + areaName;
String requestUrl = budunBaseURL + "?" + Constants.get_day_generation_trend + "&areaName=" + areaName;
List<BudunDayGenTrendDto> budunDayGenTrendDtoList = httpRequestUtil.getResPonse(requestUrl, Constants.REQUEST_GET, "", Constants.resovleRule_data, BudunDayGenTrendDto.class);
List<Map<String, Object>> list = new ArrayList<>();
List<String> listdate = new ArrayList<>();
......@@ -360,7 +362,7 @@ public class MonitorServiceImpl implements MonitorService {
if (!ObjectUtils.isEmpty(mapRegion) && !ObjectUtils.isEmpty(mapRegion.getName()) && !mapRegion.getName().contains(Constants.areaChinese)) {
areaName = mapRegion.getName() + Constants.areaChinese;
}
String requestUrl = Constants.BASE_URL + "?" + Constants.get_area_item_url;
String requestUrl = budunBaseURL + "?" + Constants.get_area_item_url;
if (areaCode != null) {
requestUrl = requestUrl + "&areaName=" + areaName;
}
......@@ -393,7 +395,7 @@ public class MonitorServiceImpl implements MonitorService {
@Override
public Page<Map<String, Object>> stationRanking(String day, String type, String areaCode) {
String areaName = "";
String requestUrl = Constants.BASE_URL + "?" + Constants.get_hours_num_top + "&topValue=5&tabValue=" + day;
String requestUrl = budunBaseURL + "?" + Constants.get_hours_num_top + "&topValue=5&tabValue=" + day;
if (areaCode != null) {
MapRegion mapRegion = mapRegionMapper.selectOne(new QueryWrapper<MapRegion>().eq("area_code", areaCode));
if (!ObjectUtils.isEmpty(mapRegion) && !ObjectUtils.isEmpty(mapRegion.getName()) && !mapRegion.getName().contains(Constants.areaChinese)) {
......@@ -444,7 +446,7 @@ public class MonitorServiceImpl implements MonitorService {
coreValuesDtoList = coreCommonService.getValuesByStationNamesAndPointsNames(stringNames.stream().collect(Collectors.joining(",")), CommonConstans.ACTIVE_POWER);
// 获取风场详情信息
String requestUrl = Constants.BASE_URL + "?" + Constants.get_province_station_item + "&stationId=" + stationId;
String requestUrl = budunBaseURL + "?" + Constants.get_province_station_item + "&stationId=" + stationId;
List<BuDunStationDetailInfo> buDunStationDetailInfos = httpRequestUtil.getResPonse(requestUrl, Constants.REQUEST_GET, "", Constants.resovleRule_data, BuDunStationDetailInfo.class);
BuDunStationDetailInfo buDunStationDetailInfo = buDunStationDetailInfos.stream().filter(buDunStationDetailInfo1 -> stationBasic.getStationName().contains(buDunStationDetailInfo1.getStation_name().replace("电场", "").replace("电站", ""))).findFirst().orElse(null);
Map<String, Object> columnMap = new HashMap<>();
......@@ -497,7 +499,7 @@ public class MonitorServiceImpl implements MonitorService {
coreValuesDtoList = coreCommonService.getValuesByStationNamesAndPointsNames(stringNames.stream().collect(Collectors.joining(",")), CommonConstans.ACTIVE_POWER + "," + CommonConstans.TOTAL_RADIATION_SUM);
// 获取风场详情信息
String requestUrl = Constants.BASE_URL + "?" + Constants.get_province_station_item + "&stationId=" + stationId;
String requestUrl = budunBaseURL + "?" + Constants.get_province_station_item + "&stationId=" + stationId;
List<BuDunStationDetailInfo> buDunStationDetailInfos = httpRequestUtil.getResPonse(requestUrl, Constants.REQUEST_GET, "", Constants.resovleRule_data, BuDunStationDetailInfo.class);
BuDunStationDetailInfo buDunStationDetailInfo = buDunStationDetailInfos.stream().filter(buDunStationDetailInfo1 -> stationBasic.getStationName().contains(buDunStationDetailInfo1.getStation_name().replace("电场", "").replace("电站", ""))).findFirst().orElse(null);
Map<String, Object> columnMap = new HashMap<>();
......@@ -587,7 +589,7 @@ public class MonitorServiceImpl implements MonitorService {
// List<CoreValuesDto> coreValuesDtos = new ArrayList<>();
// coreValuesDtos = coreCommonService.getValuesByStationNamesAndPointsNames(null, null);
// // 构建请求URL并发起HTTP GET请求,获取相关数据
// String requestUrl = Constants.BASE_URL + "?" + Constants.get_area_item_url;
// String requestUrl = budunBaseURL + "?" + Constants.get_area_item_url;
// List<BuDunGenDto> buDunGenDtos = httpRequestUtil.getResPonse(requestUrl, Constants.REQUEST_GET, "", Constants.resovleRule_data, BuDunGenDto.class);
// // 如果有获取到数据,则更新map中的相应数据
// if (buDunGenDtos.size() > 0) {
......@@ -645,7 +647,7 @@ public class MonitorServiceImpl implements MonitorService {
mapdta.put("YJHWC", 0d);
mapdta.put("NJHWC", 0d);
// 构建请求URL并发起HTTP GET请求,获取相关数据
String requestUrl = Constants.BASE_URL + "?" + Constants.get_area_item_url;
String requestUrl = budunBaseURL + "?" + Constants.get_area_item_url;
List<BuDunGenDto> buDunGenDtos = httpRequestUtil.getResPonse(requestUrl, Constants.REQUEST_GET, "", Constants.resovleRule_data, BuDunGenDto.class);
// 如果有获取到数据,则更新map中的相应数据
if (buDunGenDtos.size() > 0) {
......@@ -800,11 +802,11 @@ public class MonitorServiceImpl implements MonitorService {
Double useHoursOfAnnualGF = 0.00;
//获取全国数据
String nationalUrl = Constants.BASE_URL + "?" + Constants.get_province_item_url;
String nationalUrl = budunBaseURL + "?" + Constants.get_province_item_url;
//获取风电
String nationalFanUrl = Constants.BASE_URL + "?" + Constants.get_province_item_url + "&type=fan";
String nationalFanUrl = budunBaseURL + "?" + Constants.get_province_item_url + "&type=fan";
//获取光伏
String nationalPVUrl = Constants.BASE_URL + "?" + Constants.get_province_item_url + "&type=pv";
String nationalPVUrl = budunBaseURL + "?" + Constants.get_province_item_url + "&type=pv";
List<BuDunGenDto> nationalGendto = httpRequestUtil.getResPonse(nationalPVUrl, Constants.REQUEST_GET, "", Constants.resovleRule_data, BuDunGenDto.class);
List<BuDunGenDto> fanGendto = httpRequestUtil.getResPonse(nationalPVUrl, Constants.REQUEST_GET, "", Constants.resovleRule_data, BuDunGenDto.class);
List<BuDunGenDto> pvGendto = httpRequestUtil.getResPonse(nationalPVUrl, Constants.REQUEST_GET, "", Constants.resovleRule_data, BuDunGenDto.class);
......
......@@ -84,6 +84,8 @@ public class MonitoringServiceImpl {
@Autowired
private HttpRequestUtil httpRequestUtil;
@Value("${budun.baseurl:http://iiet-jepcc.powerchina.cn:8088/screen_api}")
private String budunBaseURL;
/**
* 根据场站编号获取该场站的装机容量
*
......@@ -1107,7 +1109,7 @@ public class MonitoringServiceImpl {
//改为部盾接口
String requestUrl = Constants.BASE_URL + "?" + Constants.get_quota_info;
String requestUrl = budunBaseURL + "?" + Constants.get_quota_info;
LocalDate currentDate = LocalDate.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate yesterday = currentDate.minusDays(1);
......
......@@ -84,3 +84,6 @@ year.power.generation.cron=0 0/1 * * * ?
large.cron=0 0/5 * * * ?
forecast.url=http://10.20.1.29:8095/offline/time-series/decomposition
budun.baseurl=http://iiet-jepcc.powerchina.cn:8088/screen_api
bigScreenPoint.url=http://iiet-jepcc.powerchina.cn:8088/core/datastorage/gateway/point/list?groupId=1827987484823289857&dataType=anal\
og
\ No newline at end of file
......@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jxiop.biz.config;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
......@@ -21,6 +22,7 @@ public class JxiopExecutorConfig {
@Bean(name = "jxiopAsyncExecutor")
@Primary
public Executor asyncServiceExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
//配置核心线程数
......
......@@ -674,11 +674,10 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
if ("FDZ".equals(stationBasic.getStationType())) {
values.add(String.format(CommonConstans.Twodecimalplaces, indicatorData.getValueF()));
Double value = groupMap.get(indicatorData.getCreatedTime());
if (Objects.isNull(value)){
value= 0.0;
if (Objects.isNull(value)) {
value = 0.0;
}
valueList.add(
String.format(CommonConstans.Twodecimalplaces,value));
valueList.add(String.format(CommonConstans.Twodecimalplaces, value));
} else {
values.add(String.format(CommonConstans.Twodecimalplaces,
indicatorData.getValueF() * CommonConstans.kwToMv));
......@@ -834,6 +833,9 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
public void schedAddAlarmEventData(String gatewayId, String stationId, String stationName, long currentsort) {
Map<String, List<String>> queryCondtion = new HashMap<>();
if (gatewayId == null) {
return;
}
queryCondtion.put(CommonConstans.QueryStringGateWayId, Arrays.asList(gatewayId));
queryCondtion.put(CommonConstans.QueryStringSystemTypeKeyword, Arrays.asList("光字牌"));
queryCondtion.put(CommonConstans.QueryStringValueKeyword, Arrays.asList("false"));
......@@ -841,7 +843,9 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
ESEquipments.class);
List<AlarmEvent> newAlarmEvents = new ArrayList<>();
List<String> alarmsNames = new ArrayList<>();
if (indicatorsDtoList == null) {
return;
}
for (ESEquipments esEquipments : indicatorsDtoList) {
AlarmEvent alarmEvent = new AlarmEvent();
alarmEvent.setEventDesc(esEquipments.getEquipmentIndexName());
......@@ -1198,8 +1202,7 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
}
public void getListByFJ(String gatewayId, String werks, String stationId) {
if(werks==null||StringUtils.isEmpty(werks))
{
if (werks == null || StringUtils.isEmpty(werks)) {
return;
}
HashMap<String, String> fanstatutsHashMap = new HashMap<>();
......@@ -1209,8 +1212,7 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
queryCondtion.put(CommonConstans.QueryStringGateWayId, Arrays.asList(gatewayId));
List<ESEquipments> listDataAll = commonServiceImpl.getListDataByCondtions(queryCondtion, null,
ESEquipments.class);
if(listDataAll==null||listDataAll.isEmpty())
{
if (listDataAll == null || listDataAll.isEmpty()) {
return;
}
Map<String, Object> listDataWindSpeed = listDataAll.stream()
......@@ -1224,20 +1226,18 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
// List<Map<String, Object>> dataMaps = sjglZsjZsbtzServiceImpl.sjglZsjZsbtzMapper
// .getStationInfoMapByStationWerks(werks, tpriDmpDatabook.getDataid().toString());
List<Map<String, Object>> dataMapss = sjglZsjZsbtzServiceImpl.sjglZsjZsbtzMapper
.getStationInfoMapByStationWerksNew(werks, tpriDmpDatabook.getDataid().toString());
Map<String, List<Map<String, Object>>> dataResult = dataMapss.stream().collect(Collectors.groupingBy(map -> (String) map.get("name")));
Map<String, List<Map<String, Object>>> dataResult = dataMapss.stream()
.collect(Collectors.groupingBy(map -> (String) map.get("name")));
List<Map<String, Object>> dataMaps = new ArrayList<>();
dataResult.keySet().forEach(m->{
String equipNum = dataResult.get(m).stream()
.map(map ->map.get("equipNum").toString().replace(m+"#",""))
.reduce((a, b) -> a + "," + b)
.orElse("");
dataResult.keySet().forEach(m -> {
String equipNum = dataResult.get(m).stream().map(map -> map.get("equipNum").toString().replace(m + "#", ""))
.reduce((a, b) -> a + "," + b).orElse("");
Map<String, Object> hashMap = new HashMap<>();
hashMap.put("name",m.replace("#",""));
hashMap.put("equipNum",equipNum);
hashMap.put("name", m.replace("#", ""));
hashMap.put("equipNum", equipNum);
dataMaps.add(hashMap);
});
......@@ -2141,6 +2141,9 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
public void getEquipSwitchStatus(StationBasic stationBasic) {
String gatewayId = stationBasic.getFanGatewayId();
if (gatewayId == null) {
return;
}
Long stationId = stationBasic.getSequenceNbr();
Map<String, List<String>> queryConditon = new HashMap<>();
queryConditon.put(CommonConstans.QueryStringGateWayId, Arrays.asList(gatewayId));
......@@ -2329,6 +2332,9 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
}
public void getListByNbq(String gatewayId, String werks, String stationId) {
if (gatewayId == null) {
return;
}
HashMap<String, String> equipStatesMap = getPvNBQStationBy(gatewayId);
ArrayList<Map<String, Object>> resultList = new ArrayList<>();
Map<String, List<String>> queryConditon = new HashMap<>();
......@@ -2376,24 +2382,20 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
// .getStationInfoMapByStationGFWerks(werks, "集电线");
List<Map<String, Object>> dataMapss = sjglZsjZsbtzServiceImpl.sjglZsjZsbtzMapper
.getStationInfoMapByStationGFWerksNew(werks,"集电线");
.getStationInfoMapByStationGFWerksNew(werks, "集电线");
Map<String, List<Map<String, Object>>> dataResult = dataMapss.stream().collect(Collectors.groupingBy(map -> (String) map.get("name")));
Map<String, List<Map<String, Object>>> dataResult = dataMapss.stream()
.collect(Collectors.groupingBy(map -> (String) map.get("name")));
List<Map<String, Object>> dataMaps = new ArrayList<>();
dataResult.keySet().forEach(m->{
String equipNum = dataResult.get(m).stream()
.map(map ->map.get("equipNum").toString().replace(m,""))
.reduce((a, b) -> a + "," + b)
.orElse("");
dataResult.keySet().forEach(m -> {
String equipNum = dataResult.get(m).stream().map(map -> map.get("equipNum").toString().replace(m, ""))
.reduce((a, b) -> a + "," + b).orElse("");
Map<String, Object> hashMap = new HashMap<>();
hashMap.put("name",m.replace("#",""));
hashMap.put("equipNum",equipNum);
hashMap.put("name", m.replace("#", ""));
hashMap.put("equipNum", equipNum);
dataMaps.add(hashMap);
});
int i = 0;
// 逆变器需要根据所属集电线分类组装 下面循环是将同一子阵下的不同逆变器组装为消息数据
for (Map<String, Object> dataMap : dataMaps) {
......@@ -2793,6 +2795,9 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
public HashMap<String, String> getPvNBQStationBy(String gatewayId) {
HashMap<String, String> result = new HashMap<>();
if (gatewayId == null) {
return result;
}
Map<String, List<String>> queryCondition = new HashMap<>();
queryCondition.put(CommonConstans.QueryStringEquipmentIndexName, Arrays.asList("运行"));
queryCondition.put(CommonConstans.QueryStringGateWayId, Arrays.asList(gatewayId));
......
......@@ -16,11 +16,14 @@ import com.yeejoin.amos.boot.module.jxiop.biz.service.CoreCommonService;
import com.yeejoin.amos.boot.module.jxiop.biz.service.MonitorService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.checkerframework.checker.optional.qual.Present;
import org.eclipse.paho.client.mqttv3.MqttException;
import org.elasticsearch.search.aggregations.Aggregation;
import org.elasticsearch.search.aggregations.Aggregations;
import org.elasticsearch.search.aggregations.bucket.terms.Terms;
import org.elasticsearch.search.aggregations.metrics.ParsedSum;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
......@@ -45,6 +48,9 @@ public class MonitorServiceImpl implements MonitorService {
private final StationCoordinateMapper stationCoordinateMapper;
private final MapRegionMapper mapRegionMapper;
private final HttpRequestUtil httpRequestUtil;
@Value("${budun.baseurl:http://iiet-jepcc.powerchina.cn:8088/screen_api}")
private String budunBaseURL;
@Override
public void getTotalData() {
......@@ -121,11 +127,11 @@ public class MonitorServiceImpl implements MonitorService {
Double useHoursOfAnnualGF = 0.00;
// 获取全国数据
String nationalUrl = Constants.BASE_URL + "?" + Constants.get_province_item_url;
String nationalUrl = budunBaseURL + "?" + Constants.get_province_item_url;
// 获取风电
String nationalFanUrl = Constants.BASE_URL + "?" + Constants.get_province_item_url + "&type=fan";
String nationalFanUrl = budunBaseURL + "?" + Constants.get_province_item_url + "&type=fan";
// 获取光伏
String nationalPVUrl = Constants.BASE_URL + "?" + Constants.get_province_item_url + "&type=pv";
String nationalPVUrl = budunBaseURL + "?" + Constants.get_province_item_url + "&type=pv";
List<BuDunGenDto> nationalGendto = httpRequestUtil.getResPonse(nationalUrl, Constants.REQUEST_GET, "",
Constants.resovleRule_data, BuDunGenDto.class);
List<BuDunGenDto> fanGendto = httpRequestUtil.getResPonse(nationalFanUrl, Constants.REQUEST_GET, "",
......@@ -286,7 +292,7 @@ public class MonitorServiceImpl implements MonitorService {
}
}
String requestUrl = Constants.BASE_URL + "?" + Constants.get_province_station_item + "&provinceName"
String requestUrl = budunBaseURL + "?" + Constants.get_province_station_item + "&provinceName"
+ provinceName;
List<BuDunStationDetailInfo> buDunStationDetailInfos = httpRequestUtil.getResPonse(requestUrl,
Constants.REQUEST_GET, "", Constants.resovleRule_data, BuDunStationDetailInfo.class);
......@@ -450,7 +456,7 @@ public class MonitorServiceImpl implements MonitorService {
AtomicReference<Double> fdzannualPower = new AtomicReference<>(0.0);
AtomicReference<Double> gfzannualPower = new AtomicReference<>(0.0);
List<CoreValuesDto> coreValuesDtos = coreCommonService.getValuesByStationNamesAndPointsNames(null, null);
String requestUrl = Constants.BASE_URL + "?" + Constants.get_province_station_item + "&provinceName="
String requestUrl = budunBaseURL + "?" + Constants.get_province_station_item + "&provinceName="
+ provinceName;
List<BuDunStationDetailInfo> buDunStationDetailInfos = httpRequestUtil.getResPonse(requestUrl,
Constants.REQUEST_GET, "", Constants.resovleRule_data, BuDunStationDetailInfo.class);
......@@ -489,7 +495,7 @@ public class MonitorServiceImpl implements MonitorService {
completionOfPowerIndicatorsDtoList.add(completionOfPowerIndicatorsDto);
});
}
String provincelUrl = Constants.BASE_URL + "?" + Constants.get_province_item_url + "&provinceName="
String provincelUrl = budunBaseURL + "?" + Constants.get_province_item_url + "&provinceName="
+ provinceName;
List<BuDunGenDto> provinceDtos = httpRequestUtil.getResPonse(provincelUrl, Constants.REQUEST_GET, "",
Constants.resovleRule_data, BuDunGenDto.class);
......@@ -615,7 +621,7 @@ public class MonitorServiceImpl implements MonitorService {
Page<HashMap<String, String>> hashMapPage = new Page<>(1, 99);
List<HashMap<String, String>> hashMapList = new ArrayList<>();
List<StationCacheInfoDto> stationCacheInfoDtoList = new ArrayList<>();
String requestUrl = Constants.BASE_URL + "?" + Constants.get_area_item_url;
String requestUrl = budunBaseURL + "?" + Constants.get_area_item_url;
if (!ObjectUtils.isEmpty(areaName)) {
if (!areaName.contains(Constants.areaChinese)) {
areaName = areaName + Constants.areaChinese;
......@@ -660,7 +666,7 @@ public class MonitorServiceImpl implements MonitorService {
public Page<SocialContributionDto> getSocialContributionDtoList(String areaName, String stationId) {
AtomicReference<Double> total = new AtomicReference<>(0.0);
List<StationBasic> stationBasicListAll = new ArrayList<>();
String requestUrl = Constants.BASE_URL + "?" + Constants.get_area_item_url;
String requestUrl = budunBaseURL + "?" + Constants.get_area_item_url;
if (!ObjectUtils.isEmpty(stationId)) {
stationBasicListAll.add(stationBasicMapper.selectById(stationId));
} else if (!ObjectUtils.isEmpty(areaName)) {
......@@ -716,13 +722,14 @@ public class MonitorServiceImpl implements MonitorService {
public Page<HashMap<String, String>> getPowerGenerationTrendsOfCompletionTopFive(String areaName) {
Page<HashMap<String, String>> hashMapPage = new Page<>(1, 5);
List<HashMap<String, String>> mapList = new ArrayList<>();
String requestUrl = Constants.BASE_URL + "?" + Constants.get_month_top_url + "&topValue=5";
String requestUrl = budunBaseURL + "?" + Constants.get_month_top_url + "&topValue=5";
if (!ObjectUtils.isEmpty(areaName)) {
if (!areaName.contains(Constants.areaChinese)) {
areaName = areaName + Constants.areaChinese;
}
requestUrl = requestUrl + "&areaName=" + areaName;
}
log.info("请求地址{}",requestUrl);
List<BudunStationValueDto> budunStationValueDtoList = httpRequestUtil.getResPonse(requestUrl,
Constants.REQUEST_GET, "", Constants.resovleRule_data, BudunStationValueDto.class);
HashMap<String, List<String>> hashMap = new HashMap<>();
......@@ -782,7 +789,7 @@ public class MonitorServiceImpl implements MonitorService {
List<HashMap<String, String>> mapList = new ArrayList<>();
List<StationBasic> fdzList = new ArrayList<>();
List<StationBasic> gfdzlist = new ArrayList<>();
String requestUrl = Constants.BASE_URL + "?" + Constants.get_hours_num_top + "&topValue=3&tabValue=" + tabValue;
String requestUrl = budunBaseURL + "?" + Constants.get_hours_num_top + "&topValue=3&tabValue=" + tabValue;
if (!ObjectUtils.isEmpty(areaName)) {
if (!areaName.contains(Constants.areaChinese)) {
areaName = areaName + Constants.areaChinese;
......
......@@ -31,6 +31,8 @@ import java.util.*;
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors;
import javax.annotation.PostConstruct;
@Service
public class MonitoringServiceImpl {
Logger logger = LoggerFactory.getLogger(MonitoringServiceImpl.class);
......
......@@ -2,7 +2,7 @@ spring.application.name=AMOS-JXIOP-MONITOR-CT
server.servlet.context-path=/jxiop-monitor
server.port=33200
server.uri-encoding=UTF-8
spring.profiles.active=dev1
spring.profiles.active=dev2
spring.jackson.time-zone=GMT+8
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
#logging.config=classpath:logback-${spring.profiles.active}.xml
......@@ -94,4 +94,6 @@ spring.elasticsearch.rest.read-timeout=30000
amos.system.user.user-name=cz
amos.system.user.password=a1234567
amos.system.user.product=AMOS_STUDIO_WEB
amos.system.user.app-key=AMOS_STUDIO
\ No newline at end of file
amos.system.user.app-key=AMOS_STUDIO
budun.baseurl=http://iiet-jepcc.powerchina.cn:8088/screen_api
\ No newline at end of file
......@@ -300,24 +300,24 @@
<repository>
<id>Releases</id>
<name>Releases</name>
<url>http://113.142.68.105:8081/nexus/content/repositories/releases/</url>
<url>http://47.92.103.240:8081/nexus/content/repositories/releases/</url>
</repository>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>http://113.142.68.105:8081/nexus/content/groups/public/</url>
<url>http://47.92.103.240:8081/nexus/content/groups/public/</url>
</repository>
<repository>
<id>Snapshots</id>
<name>Snapshots</name>
<url>http://113.142.68.105:8081/nexus/content/repositories/snapshots/</url>
<url>http://47.92.103.240:8081/nexus/content/repositories/snapshots/</url>
</repository>
<repository>
<id>thirdparty</id>
<name>thirdparty</name>
<url>http://113.142.68.105:8081/nexus/content/repositories/thirdparty/</url>
<url>http://47.92.103.240:8081/nexus/content/repositories/thirdparty/</url>
</repository>
</repositories>
......@@ -326,7 +326,7 @@
<repository>
<id>Releases</id>
<name>Releases</name>
<url>http://113.142.68.105:8081/nexus/content/repositories/releases/</url>
<url>http://47.92.103.240:8081/nexus/content/repositories/releases/</url>
</repository>
</distributionManagement>
......
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