Commit 8ab56f9c authored by hezhuozhi's avatar hezhuozhi

提交电站统计

parent f737dc8f
...@@ -181,6 +181,9 @@ public class DateUtils { ...@@ -181,6 +181,9 @@ public class DateUtils {
if (StringUtils.isEmpty(pattern)) { if (StringUtils.isEmpty(pattern)) {
pattern = DateUtils.DATE_PATTERN; pattern = DateUtils.DATE_PATTERN;
} }
if(Objects.isNull(date)){
return null;
}
SimpleDateFormat sdf = new SimpleDateFormat(pattern); SimpleDateFormat sdf = new SimpleDateFormat(pattern);
return sdf.format(date); return sdf.format(date);
} }
......
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 { ...@@ -119,4 +119,15 @@ public class AcceptanceCheck extends BaseEntity {
*/ */
@TableField(exist = false) @TableField(exist = false)
private List<HygfRectificationOrder> propertyOrders; 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 { ...@@ -86,4 +86,15 @@ public class BasicGridRecord extends BaseEntity {
*/ */
@TableField("grid_time") @TableField("grid_time")
private Date gridTime; private Date gridTime;
/**
* 并网创建时间
*/
@TableField("bw_create_time")
private Date bwCreateTime;
/**
* 并网结束时间
*/
@TableField("bw_end_time")
private Date bwEndTime;
} }
...@@ -265,4 +265,10 @@ public class HouseholdContract extends BaseEntity { ...@@ -265,4 +265,10 @@ public class HouseholdContract extends BaseEntity {
private String realScale; private String realScale;
@TableField(exist = false) @TableField(exist = false)
private String province; private String province;
/**
* 电子合同签约创建时间
*/
@TableField("dzhtqy_create_time")
private Date dzhtqyCreateTime;
} }
...@@ -3,10 +3,13 @@ package com.yeejoin.amos.boot.module.hygf.api.entity; ...@@ -3,10 +3,13 @@ package com.yeejoin.amos.boot.module.hygf.api.entity;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity; import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.util.Date;
/** /**
* *
* *
...@@ -149,4 +152,28 @@ public class PowerStation extends BaseEntity { ...@@ -149,4 +152,28 @@ public class PowerStation extends BaseEntity {
@TableField("promoter") @TableField("promoter")
private String 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 { ...@@ -160,5 +160,4 @@ public class PreparationMoney extends BaseEntity {
//订单状态 //订单状态
@TableField("order_status") @TableField("order_status")
private String orderStatus; private String orderStatus;
} }
...@@ -7,6 +7,8 @@ import lombok.Data; ...@@ -7,6 +7,8 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.util.Date;
/** /**
* 施工派工单电站 * 施工派工单电站
* *
...@@ -71,4 +73,14 @@ public class WorkOrderPowerStation extends BaseEntity { ...@@ -71,4 +73,14 @@ public class WorkOrderPowerStation extends BaseEntity {
*/ */
@TableField("power_station_engineering_status") @TableField("power_station_engineering_status")
private String powerStationEngineeringStatus; private String powerStationEngineeringStatus;
/**
*施工创建时间
*/
@TableField("sg_create_time")
private Date sgCreateTime;
/**
*施工结束时间
*/
@TableField("sg_end_time")
private Date sgEndTime;
} }
...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.hygf.api.mapper; ...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.hygf.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; 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.config.UserEmpower;
import com.yeejoin.amos.boot.module.hygf.api.dto.PowerStationTimeStatisticsDto;
import com.yeejoin.amos.boot.module.hygf.api.entity.PeasantHousehold; import com.yeejoin.amos.boot.module.hygf.api.entity.PeasantHousehold;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -53,5 +54,41 @@ public interface PeasantHouseholdMapper extends BaseMapper<PeasantHousehold> { ...@@ -53,5 +54,41 @@ public interface PeasantHouseholdMapper extends BaseMapper<PeasantHousehold> {
List<PeasantHousehold> getInfoByIds(@Param(value = "ids") List<String> ids); List<PeasantHousehold> getInfoByIds(@Param(value = "ids") List<String> ids);
List<PeasantHousehold> getInfoByIdsHistory(@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); // String getHygfCommercialScale(Long surveyInformationId);
} }
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;
}
}
...@@ -187,6 +187,192 @@ on hygf_document_station.preparation_money_id=hygf_preparation_money.sequence_nb ...@@ -187,6 +187,192 @@ on hygf_document_station.preparation_money_id=hygf_preparation_money.sequence_nb
</if> </if>
</where> </where>
</select> </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,
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="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 sub.real_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 id="getHygfCommercialScale" resultType="String">-->
<!-- select scale from hygf_commercial where survey_information_id=${surveyInformationId}--> <!-- select scale from hygf_commercial where survey_information_id=${surveyInformationId}-->
<!-- </select>--> <!-- </select>-->
......
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 { ...@@ -133,7 +133,7 @@ public class RepaymentController extends BaseController {
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "batchDelete") @PostMapping(value = "/batchDelete")
@ApiOperation(httpMethod = "POST", value = "根据sequenceNbr批量删除", notes = "根据sequenceNbr批量删除") @ApiOperation(httpMethod = "POST", value = "根据sequenceNbr批量删除", notes = "根据sequenceNbr批量删除")
public ResponseModel<?> deleteBySequenceNbr(@RequestBody RepaymentBatchDto repaymentBatchDto) { public ResponseModel<?> deleteBySequenceNbr(@RequestBody RepaymentBatchDto repaymentBatchDto) {
repaymentService.deleteBatch(repaymentBatchDto); repaymentService.deleteBatch(repaymentBatchDto);
...@@ -146,7 +146,7 @@ public class RepaymentController extends BaseController { ...@@ -146,7 +146,7 @@ public class RepaymentController extends BaseController {
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "importRepaymentExcel") @PostMapping(value = "/importRepaymentExcel")
@ApiOperation(httpMethod = "POST", value = "导入还款模板Excel", notes = "导入还款模板Excel") @ApiOperation(httpMethod = "POST", value = "导入还款模板Excel", notes = "导入还款模板Excel")
public ResponseModel<?> importRepaymentExcel(@RequestPart("file") MultipartFile file) { public ResponseModel<?> importRepaymentExcel(@RequestPart("file") MultipartFile file) {
repaymentService.importRepaymentExcel(file); repaymentService.importRepaymentExcel(file);
...@@ -154,13 +154,13 @@ public class RepaymentController extends BaseController { ...@@ -154,13 +154,13 @@ public class RepaymentController extends BaseController {
} }
/** /**
* 导入还款模板Excel * 导出还款Excel
* *
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "exportRepaymentExcel") @PostMapping(value = "/exportRepaymentExcel")
@ApiOperation(httpMethod = "POST", value = "导出还款模板Excel", notes = "导出还款模板Excel") @ApiOperation(httpMethod = "POST", value = "导出还款Excel", notes = "导出还款Excel")
public ResponseModel<?> exportRepaymentExcel(@RequestBody RepaymentBatchDto repaymentBatchDto, HttpServletResponse response) { public ResponseModel<?> exportRepaymentExcel(@RequestBody RepaymentBatchDto repaymentBatchDto, HttpServletResponse response) {
repaymentService.exportRepaymentExcel(repaymentBatchDto.getSequenceNbrList(), response); repaymentService.exportRepaymentExcel(repaymentBatchDto.getSequenceNbrList(), response);
return ResponseHelper.buildResponse(null); return ResponseHelper.buildResponse(null);
......
...@@ -371,6 +371,7 @@ public class AcceptanceCheckServiceImpl extends BaseService<AcceptanceCheckDto,A ...@@ -371,6 +371,7 @@ public class AcceptanceCheckServiceImpl extends BaseService<AcceptanceCheckDto,A
up.set(AcceptanceCheck::getBasicGridNode,"all"); up.set(AcceptanceCheck::getBasicGridNode,"all");
up.set(AcceptanceCheck::getAcceptanceTime,new Date()); up.set(AcceptanceCheck::getAcceptanceTime,new Date());
up.set(AcceptanceCheck::getAcceptanceCheckStatus,GridStatusEnum.YWC.getCode()); up.set(AcceptanceCheck::getAcceptanceCheckStatus,GridStatusEnum.YWC.getCode());
up.set(AcceptanceCheck::getYsEndTime,new Date());
//验收完成后需对投融数据进行处理。 //验收完成后需对投融数据进行处理。
LambdaUpdateWrapper<FinancingInfo> wrapper = new LambdaUpdateWrapper<>(); LambdaUpdateWrapper<FinancingInfo> wrapper = new LambdaUpdateWrapper<>();
wrapper.eq(FinancingInfo::getPeasantHouseholdId,basicGridRecord.getPeasantHouseholdId()); wrapper.eq(FinancingInfo::getPeasantHouseholdId,basicGridRecord.getPeasantHouseholdId());
......
...@@ -6,6 +6,7 @@ import cn.hutool.core.collection.CollectionUtil; ...@@ -6,6 +6,7 @@ import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
...@@ -571,6 +572,7 @@ public class BasicGridAcceptanceServiceImpl extends BaseService<BasicGridAccepta ...@@ -571,6 +572,7 @@ public class BasicGridAcceptanceServiceImpl extends BaseService<BasicGridAccepta
da.setOperationContent("并网验收-设计审核-" + (approvalStatus.equals("0") ? "通过" : "驳回")); da.setOperationContent("并网验收-设计审核-" + (approvalStatus.equals("0") ? "通过" : "驳回"));
if (basicGridRecord.getPowerStationEngineeringStatus() != null if (basicGridRecord.getPowerStationEngineeringStatus() != null
&& basicGridRecord.getPowerStationEngineeringStatus().equals("通过") && approvalStatus.equals("0")) { && basicGridRecord.getPowerStationEngineeringStatus().equals("通过") && approvalStatus.equals("0")) {
up.set(BasicGridRecord::getBwEndTime,new Date());
up.set(BasicGridRecord::getGridStatus, GridStatusEnum.YWC.getCode()); up.set(BasicGridRecord::getGridStatus, GridStatusEnum.YWC.getCode());
this.wofkflowExcute(instanceId, approvalStatus, comment, BusinessWorkflowKey.设计审核.getCode()); this.wofkflowExcute(instanceId, approvalStatus, comment, BusinessWorkflowKey.设计审核.getCode());
up.set(BasicGridRecord::getBasicGridNode, "all"); up.set(BasicGridRecord::getBasicGridNode, "all");
...@@ -587,6 +589,7 @@ public class BasicGridAcceptanceServiceImpl extends BaseService<BasicGridAccepta ...@@ -587,6 +589,7 @@ public class BasicGridAcceptanceServiceImpl extends BaseService<BasicGridAccepta
acceptanceCheck.setInstanceId(null); acceptanceCheck.setInstanceId(null);
acceptanceCheck.setPowerStationAreaStatus(null); acceptanceCheck.setPowerStationAreaStatus(null);
acceptanceCheck.setAcceptanceCheckStatus(GridStatusEnum.DTJYS.getCode()); acceptanceCheck.setAcceptanceCheckStatus(GridStatusEnum.DTJYS.getCode());
acceptanceCheck.setYsCreateTime(new Date());
acceptanceCheckService.saveOrUpdate(acceptanceCheck); acceptanceCheckService.saveOrUpdate(acceptanceCheck);
} else if (null == basicGridRecord.getPowerStationEngineeringStatus() && approvalStatus.equals("0") } else if (null == basicGridRecord.getPowerStationEngineeringStatus() && approvalStatus.equals("0")
...@@ -622,6 +625,7 @@ public class BasicGridAcceptanceServiceImpl extends BaseService<BasicGridAccepta ...@@ -622,6 +625,7 @@ public class BasicGridAcceptanceServiceImpl extends BaseService<BasicGridAccepta
da.setOperationContent("并网验收-工程审核-" + (approvalStatus.equals("0") ? "通过" : "驳回")); da.setOperationContent("并网验收-工程审核-" + (approvalStatus.equals("0") ? "通过" : "驳回"));
if (basicGridRecord.getPowerStationDesignStatus() != null if (basicGridRecord.getPowerStationDesignStatus() != null
&& basicGridRecord.getPowerStationDesignStatus().equals("通过") && approvalStatus.equals("0")) { && basicGridRecord.getPowerStationDesignStatus().equals("通过") && approvalStatus.equals("0")) {
up.set(BasicGridRecord::getBwEndTime,new Date());
up.set(BasicGridRecord::getGridStatus, GridStatusEnum.YWC.getCode()); up.set(BasicGridRecord::getGridStatus, GridStatusEnum.YWC.getCode());
this.wofkflowExcute(instanceId, approvalStatus, comment, BusinessWorkflowKey.工程审核.getCode()); this.wofkflowExcute(instanceId, approvalStatus, comment, BusinessWorkflowKey.工程审核.getCode());
up.set(BasicGridRecord::getBasicGridNode, "all"); up.set(BasicGridRecord::getBasicGridNode, "all");
...@@ -639,6 +643,7 @@ public class BasicGridAcceptanceServiceImpl extends BaseService<BasicGridAccepta ...@@ -639,6 +643,7 @@ public class BasicGridAcceptanceServiceImpl extends BaseService<BasicGridAccepta
acceptanceCheck.setPowerStationAreaStatus(null); acceptanceCheck.setPowerStationAreaStatus(null);
acceptanceCheck.setInstanceId(null); acceptanceCheck.setInstanceId(null);
acceptanceCheck.setAcceptanceCheckStatus(GridStatusEnum.DTJYS.getCode()); acceptanceCheck.setAcceptanceCheckStatus(GridStatusEnum.DTJYS.getCode());
acceptanceCheck.setYsCreateTime(new Date());
acceptanceCheckService.saveOrUpdate(acceptanceCheck); acceptanceCheckService.saveOrUpdate(acceptanceCheck);
} else if (null == basicGridRecord.getPowerStationDesignStatus() && approvalStatus.equals("0") } else if (null == basicGridRecord.getPowerStationDesignStatus() && approvalStatus.equals("0")
......
...@@ -236,6 +236,7 @@ public class HouseholdContractServiceImpl extends BaseService<HouseholdContractD ...@@ -236,6 +236,7 @@ public class HouseholdContractServiceImpl extends BaseService<HouseholdContractD
Long contractLockId = qiyuesuoServiceImpl.addContract(contractDataDto, templateParam,operatorUsers); Long contractLockId = qiyuesuoServiceImpl.addContract(contractDataDto, templateParam,operatorUsers);
householdContract.setContractLockId(contractLockId); householdContract.setContractLockId(contractLockId);
householdContract.setInitiateStatus(HouseholdContractEnum.发起状态_已发起.getCode()); householdContract.setInitiateStatus(HouseholdContractEnum.发起状态_已发起.getCode());
householdContract.setDzhtqyCreateTime(new Date());
householdContractMapper.updateById(householdContract); householdContractMapper.updateById(householdContract);
//创建农户待办 //创建农户待办
......
...@@ -305,6 +305,7 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS ...@@ -305,6 +305,7 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS
powerStation.setProcessStatus(PowerStationProcessStateEnum.进行中.getName()); powerStation.setProcessStatus(PowerStationProcessStateEnum.进行中.getName());
powerStation.setDrawingReview(""); powerStation.setDrawingReview("");
powerStation.setSjCreateTime(new Date());
this.updateSeve(nodeCode, powerStation.getPeasantHouseholdId(), kv); this.updateSeve(nodeCode, powerStation.getPeasantHouseholdId(), kv);
} else { } else {
...@@ -328,6 +329,7 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS ...@@ -328,6 +329,7 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS
lambdaUw.eq(HouseholdContract::getPeasantHouseholdId, powerStation.getPeasantHouseholdId()); lambdaUw.eq(HouseholdContract::getPeasantHouseholdId, powerStation.getPeasantHouseholdId());
lambdaUw.set(HouseholdContract::getSurveyStatus, HouseholdContractEnum.勘察状态_已勘察.getCode()); lambdaUw.set(HouseholdContract::getSurveyStatus, HouseholdContractEnum.勘察状态_已勘察.getCode());
householdContractServiceImpl.update(lambdaUw); householdContractServiceImpl.update(lambdaUw);
powerStation.setKcEndTime(new Date());
} }
break; break;
...@@ -335,6 +337,7 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS ...@@ -335,6 +337,7 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS
if (VERIFY_RESULT_YES.equals(result)) { if (VERIFY_RESULT_YES.equals(result)) {
flag = false; flag = false;
powerStation.setProcessStatus(PowerStationProcessStateEnum.完成.getName()); powerStation.setProcessStatus(PowerStationProcessStateEnum.完成.getName());
powerStation.setSjEndTime(new Date());
} }
powerStation.setDrawingReview(resultObj.getName()); powerStation.setDrawingReview(resultObj.getName());
break; break;
......
...@@ -528,7 +528,6 @@ public class PreparationMoneyServiceImpl extends BaseService<PreparationMoneyDto ...@@ -528,7 +528,6 @@ public class PreparationMoneyServiceImpl extends BaseService<PreparationMoneyDto
} else { } else {
model.setDeliveryState(DeliveryStateeEnum.待发货.getCode()); model.setDeliveryState(DeliveryStateeEnum.待发货.getCode());
model.setArrivalState(DeliveryStateeEnum.待发货.getCode()); model.setArrivalState(DeliveryStateeEnum.待发货.getCode());
//历史电站 //历史电站
LambdaQueryWrapper<DocumentStation> up = new LambdaQueryWrapper(); LambdaQueryWrapper<DocumentStation> up = new LambdaQueryWrapper();
up.eq(DocumentStation::getPreparationMoneyId, model.getSequenceNbr()); up.eq(DocumentStation::getPreparationMoneyId, model.getSequenceNbr());
......
...@@ -449,6 +449,7 @@ public class SurveyInformationServiceImpl ...@@ -449,6 +449,7 @@ public class SurveyInformationServiceImpl
powerStation.setTechnologyStatus(""); powerStation.setTechnologyStatus("");
powerStation.setDesignStatus(""); powerStation.setDesignStatus("");
powerStation.setBusinessStatus(""); powerStation.setBusinessStatus("");
powerStation.setKcCreateTime(new Date());
powerStationService.savePowerStation(powerStation, true, powerStation.getOwnersName(), ""); powerStationService.savePowerStation(powerStation, true, powerStation.getOwnersName(), "");
// //
......
...@@ -18,6 +18,7 @@ import com.yeejoin.amos.boot.module.hygf.api.entity.UserMessage; ...@@ -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.ToDoTasksMapper;
import com.yeejoin.amos.boot.module.hygf.api.mapper.UserMessageMapper; 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.service.IToDoTasksService;
import com.yeejoin.amos.boot.module.hygf.api.util.ListUtils;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
...@@ -127,7 +128,7 @@ public class ToDoTasksServiceImpl extends BaseService<ToDoTasksDto,ToDoTasks,ToD ...@@ -127,7 +128,7 @@ public class ToDoTasksServiceImpl extends BaseService<ToDoTasksDto,ToDoTasks,ToD
wrapper.in(ToDoTasks::getBusinessId,businessIds); wrapper.in(ToDoTasks::getBusinessId,businessIds);
remove(wrapper); remove(wrapper);
}else { }else {
List<List<String>> lists = splitList(businessIds, 1000); List<List<String>> lists = ListUtils.splitList(businessIds, 1000);
for (List<String> list : lists) { for (List<String> list : lists) {
LambdaQueryWrapper<ToDoTasks> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<ToDoTasks> wrapper = new LambdaQueryWrapper<>();
wrapper.in(ToDoTasks::getBusinessId,list); wrapper.in(ToDoTasks::getBusinessId,list);
...@@ -143,21 +144,6 @@ public class ToDoTasksServiceImpl extends BaseService<ToDoTasksDto,ToDoTasks,ToD ...@@ -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 @Transactional
public void addToDoTasksByUserIds(List<String> userIds, ToDoTasks toDoTasks) { public void addToDoTasksByUserIds(List<String> userIds, ToDoTasks toDoTasks) {
try { try {
......
...@@ -200,6 +200,7 @@ public class WorkOrderServiceImpl extends BaseService<WorkOrderDto, WorkOrder, W ...@@ -200,6 +200,7 @@ public class WorkOrderServiceImpl extends BaseService<WorkOrderDto, WorkOrder, W
workOrderPowerStation.setPeasantHouseholdId(peasantHousehold.getSequenceNbr()); workOrderPowerStation.setPeasantHouseholdId(peasantHousehold.getSequenceNbr());
workOrderPowerStation.setWorkOrderId(model.getSequenceNbr()); workOrderPowerStation.setWorkOrderId(model.getSequenceNbr());
workOrderPowerStation.setPowerStationConstructionStatus(WorkOrderEnum.待施工.getCode()); workOrderPowerStation.setPowerStationConstructionStatus(WorkOrderEnum.待施工.getCode());
workOrderPowerStation.setSgCreateTime(new Date());
li.add(workOrderPowerStation); li.add(workOrderPowerStation);
} }
...@@ -249,6 +250,7 @@ public class WorkOrderServiceImpl extends BaseService<WorkOrderDto, WorkOrder, W ...@@ -249,6 +250,7 @@ public class WorkOrderServiceImpl extends BaseService<WorkOrderDto, WorkOrder, W
workOrderPowerStation.setPeasantHouseholdId(peasantHousehold.getSequenceNbr()); workOrderPowerStation.setPeasantHouseholdId(peasantHousehold.getSequenceNbr());
workOrderPowerStation.setWorkOrderId(model.getSequenceNbr()); workOrderPowerStation.setWorkOrderId(model.getSequenceNbr());
workOrderPowerStation.setPowerStationConstructionStatus(WorkOrderEnum.待施工.getCode()); workOrderPowerStation.setPowerStationConstructionStatus(WorkOrderEnum.待施工.getCode());
workOrderPowerStation.setSgCreateTime(new Date());
li.add(workOrderPowerStation); li.add(workOrderPowerStation);
} }
workOrderPowerStationServiceImpl.saveBatch(li); workOrderPowerStationServiceImpl.saveBatch(li);
...@@ -1311,6 +1313,7 @@ public class WorkOrderServiceImpl extends BaseService<WorkOrderDto, WorkOrder, W ...@@ -1311,6 +1313,7 @@ public class WorkOrderServiceImpl extends BaseService<WorkOrderDto, WorkOrder, W
workOrderPowerStation.setPowerStationDesignStatus(approvalStatus.equals("0")?"通过":"驳回"); workOrderPowerStation.setPowerStationDesignStatus(approvalStatus.equals("0")?"通过":"驳回");
constructionRecords.setOperationContent("施工验收-设计审核-" + workOrderPowerStation.getPowerStationDesignStatus()); constructionRecords.setOperationContent("施工验收-设计审核-" + workOrderPowerStation.getPowerStationDesignStatus());
workOrderPowerStation.setPowerStationConstructionStatus(WorkOrderEnum.已完工.getCode()); workOrderPowerStation.setPowerStationConstructionStatus(WorkOrderEnum.已完工.getCode());
workOrderPowerStation.setSgEndTime(new Date());
workOrderPowerStation.setWorkOrderPowerStationNode(WorkOrderEnum.全部节点.getCode()); workOrderPowerStation.setWorkOrderPowerStationNode(WorkOrderEnum.全部节点.getCode());
taskKey = BusinessWorkflowKey.设计审核.getCode(); taskKey = BusinessWorkflowKey.设计审核.getCode();
break; break;
...@@ -1366,6 +1369,7 @@ public class WorkOrderServiceImpl extends BaseService<WorkOrderDto, WorkOrder, W ...@@ -1366,6 +1369,7 @@ public class WorkOrderServiceImpl extends BaseService<WorkOrderDto, WorkOrder, W
dat.setWorkOrderPowerStationId(workOrderPowerStation.getSequenceNbr()); dat.setWorkOrderPowerStationId(workOrderPowerStation.getSequenceNbr());
dat.setPeasantHouseholdId(workOrderPowerStation.getPeasantHouseholdId()); dat.setPeasantHouseholdId(workOrderPowerStation.getPeasantHouseholdId());
dat.setGridStatus("1"); dat.setGridStatus("1");
dat.setBwCreateTime(new Date());
// // 新增并网记录 // // 新增并网记录
// LambdaQueryWrapper<BasicGridAcceptance> bga = new LambdaQueryWrapper<>(); // 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;
}
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