Commit b2a75784 authored by 吴江's avatar 吴江

Merge branch 'fb_jxiop_V1.1.0_230316' into 'developer'

Fb jxiop v1.1.0 230316 See merge request !20
parents 2c7573dd a71002f4
# 机场消防监管_特种设备监管V1.0.0
\ No newline at end of file
fb_jxiop_V1.1.0_230316
江西电建智慧能源一体化 V1.1.0版本分支
1 户用光伏管理功能开发
\ No newline at end of file
This diff is collapsed.
<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.amosframework.boot</groupId>
<artifactId>amos-boot-system-jxiop</artifactId>
<version>1.0.0</version>
</parent>
<artifactId>amos-boot-module-jxiop-api</artifactId>
<name>amos-boot-module-jxiop-api</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.amosframework.boot</groupId>
<artifactId>amos-boot-module-common-api</artifactId>
<version>${amos-biz-boot.version}</version>
</dependency>
</dependencies>
</project>
package com.yeejoin.amos.boot.module.jxiop.api.Enum;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum EquipType {
INVERTER("", "逆变器"),
SUBASSEMBLY("", "组件"),
DISTRIBUTION_BOX("", "配电箱"),
COMBINER_BOX("", "汇流箱"),
AMMETER("", "电表"),
OTHER("", "其他");
String code;
String name;
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.jxiop.api.Enum;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum LevelType {
NORMAL("", "正常"),
ALARM("", "告警");
String code;
String name;
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.jxiop.api.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.Ordered;
import org.springframework.core.annotation.Order;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* @program: api
* @description:
* @author: duanwei
* @create: 2019-12-13 11:16
**/
@Order(Ordered.HIGHEST_PRECEDENCE)
@Configuration
public class CORSFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) servletRequest;
HttpServletResponse response = (HttpServletResponse) servletResponse;
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "POST,GET,OPTIONS,PUT,DELETE,PATCH,HEAD");
response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("Access-Control-Allow-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers",
"Origin, X-Requested-With, X-Access-Token, X-Api-Key, Content-Type, Accept, Cache-Control,appkey,token,product");
// response.setHeader("Access-Control-Allow-Headers","*");
if ("OPTIONS".equalsIgnoreCase(request.getMethod())) {
response.setStatus(HttpServletResponse.SC_OK);
} else {
filterChain.doFilter(servletRequest, servletResponse);
}
}
@Override
public void destroy() {
}
}
package com.yeejoin.amos.boot.module.jxiop.api.dto;
import com.yeejoin.amos.feign.privilege.model.UserOrgTreeModel;
import lombok.Data;
import java.util.List;
@Data
public class CompanyTreeDto {
private String id;
private String name;
private String parentId;
private String type;
private String level;
private List<CompanyTreeDto> children;
}
package com.yeejoin.amos.boot.module.jxiop.api.dto;
import java.util.Date;
import java.util.List;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import com.yeejoin.amos.boot.module.jxiop.api.entity.CommonFile;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 户用光伏合同表
*
* @author system_generator
* @date 2023-03-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="HouseholdPvContactDto", description="户用光伏合同表")
public class HouseholdPvContactDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "户用光伏id")
private Long householdPvId;
@ApiModelProperty(value = "备案证号")
private String number;
@ApiModelProperty(value = "合同期限")
@TableField(typeHandler = FastjsonTypeHandler.class)
private List<String> period;
@ApiModelProperty(value = "合同描述")
private String description;
@ApiModelProperty(value = "屋顶租赁及使用协议")
@TableField(typeHandler = FastjsonTypeHandler.class)
private List<CommonFile> useAgreement;
@ApiModelProperty(value = "签约视频")
@TableField(typeHandler = FastjsonTypeHandler.class)
private List<CommonFile> signingVideo;
@ApiModelProperty(value = "备案证明")
@TableField(typeHandler = FastjsonTypeHandler.class)
private List<CommonFile> filingCertificate;
@ApiModelProperty(value = "创建时间")
private Date createTime;
}
package com.yeejoin.amos.boot.module.jxiop.api.dto;
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;
/**
* 户用光伏设备表
*
* @author system_generator
* @date 2023-03-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="HouseholdPvDeviceDto", description="户用光伏设备表")
public class HouseholdPvDeviceDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "户用光伏id")
private Long householdPvId;
@ApiModelProperty(value = "设备名称")
private String name;
@ApiModelProperty(value = "品牌")
private String brand;
@ApiModelProperty(value = "SN编码")
private String SNCode;
@ApiModelProperty(value = "型号")
private String model;
@ApiModelProperty(value = "功率")
private String power;
@ApiModelProperty(value = "序列号")
private String serialNumber;
@ApiModelProperty(value = "类型")
private String type;
@ApiModelProperty(value = "描述")
private String description;
@ApiModelProperty(value = "创建时间")
private Date createTime;
}
package com.yeejoin.amos.boot.module.jxiop.api.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.Data;
@Data
public class HouseholdPvDeviceImport {
@ColumnWidth(15)
@ExcelProperty(value = "设备类型", index = 0)
private String type;
@ColumnWidth(15)
@ExcelProperty(value = "设备名称", index = 1)
private String name;
@ColumnWidth(15)
@ExcelProperty(value = "品牌", index = 2)
private String brand;
@ColumnWidth(15)
@ExcelProperty(value = "SN编码", index = 3)
private String SNCode;
@ColumnWidth(15)
@ExcelProperty(value = "型号", index = 4)
private String model;
@ColumnWidth(15)
@ExcelProperty(value = "功率", index = 5)
private String power;
@ColumnWidth(15)
@ExcelProperty(value = "序列号", index = 6)
private String serialNumber;
@ColumnWidth(15)
@ExcelProperty(value = "描述", index = 7)
private String description;
}
package com.yeejoin.amos.boot.module.jxiop.api.dto;
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;
/**
*
*
* @author system_generator
* @date 2023-03-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="HouseholdPvDistrictDto", description="")
public class HouseholdPvDistrictDto extends BaseDto {
private static final long serialVersionUID = 1L;
private String name;
private Long parentId;
@ApiModelProperty(value = "创建时间")
private Date createTime;
private String parentType;
}
package com.yeejoin.amos.boot.module.jxiop.api.dto;
import java.util.Date;
import java.util.List;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import com.yeejoin.amos.boot.module.jxiop.api.entity.CommonFile;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 户用光伏表
*
* @author system_generator
* @date 2023-03-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "HouseholdPvDto", description = "户用光伏表")
public class HouseholdPvDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "户主姓名")
private String name;
@ApiModelProperty(value = "户号")
private String number;
@ApiModelProperty(value = "厂商")
private Long platformCompanyId;
@ApiModelProperty(value = "厂站名称")
private String platformCompanyName;
@ApiModelProperty(value = "性别")
private String sex;
@ApiModelProperty(value = "身份证号")
private String idNumber;
@ApiModelProperty(value = "证件过期时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date expiryTime;
@ApiModelProperty(value = "签发机关")
private String issuingAuthority;
@ApiModelProperty(value = "户籍地址")
private String residenceAddress;
@ApiModelProperty(value = "手机号码")
private String phone;
@ApiModelProperty(value = "居住地")
private String address;
@ApiModelProperty(value = "邮编")
private String postcode;
@ApiModelProperty(value = "身份证正面")
@TableField(typeHandler = FastjsonTypeHandler.class)
private List<CommonFile> idFrontPhoto;
@ApiModelProperty(value = "身份证背面")
@TableField(typeHandler = FastjsonTypeHandler.class)
private List<CommonFile> idBackPhoto;
@ApiModelProperty(value = "房屋产权证")
@TableField(typeHandler = FastjsonTypeHandler.class)
private List<CommonFile> housePropertyCertificate;
@ApiModelProperty(value = "农户首页照片")
@TableField(typeHandler = FastjsonTypeHandler.class)
private List<CommonFile> homepagePhoto;
@ApiModelProperty(value = "送达地址")
private String serviceAddress;
@ApiModelProperty(value = "组织机构code")
private String bizOrgCode;
@ApiModelProperty(value = "告警等级")
private String level;
@ApiModelProperty(value = "区域id")
private Long districtId;
@ApiModelProperty(value = "创建时间")
private Date createTime;
/** 合同信息 */
private HouseholdPvContactDto contactInfo;
/** 租赁物信息 */
private HouseholdPvLeaseDto leaseInfo;
/** 安装信息 */
private HouseholdPvInstallDto installInfo;
/** 设备信息 */
private List<HouseholdPvDeviceDto> devices;
private List<Long> ids;
/**
* 安装地址
*/
private String installAddress;
/**
* 图片
*/
private String img;
}
package com.yeejoin.amos.boot.module.jxiop.api.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.Data;
import java.util.List;
@Data
public class HouseholdPvExport {
private Long id;
/**
* 基础信息
*/
private String platformCompanyId;
private String districtId;
private String number;
private String name;
private String sex;
private String idNumber;
private String expiryTime;
private String issuingAuthority;
private String residenceAddress;
private String phone;
private String address;
private String postcode;
private String serviceAddress;
/**
* 合同信息
*/
private String contactNumber;
private String period;
private String description;
/**
* 设备信息
*/
private String equipmentMessage;
/**
* 租赁物信息
*/
private String installAddress;
private String installDate;
private String estimatedPower;
private String monolithicPower;
private String installCount;
private String actualCapacity;
private String stationType;
private String moduleType;
/**
* 安装信息
*/
private String installDescription;
private String installStation;
}
package com.yeejoin.amos.boot.module.jxiop.api.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.Data;
@Data
public class HouseholdPvImport {
@ColumnWidth(15)
@ExcelProperty(value = "所属场站", index = 0)
private String platformCompanyId;
@ColumnWidth(15)
@ExcelProperty(value = "乡镇", index = 1)
private String districtId;
@ColumnWidth(15)
@ExcelProperty(value = "户号", index = 2)
private String number;
@ColumnWidth(15)
@ExcelProperty(value = "户主姓名", index = 3)
private String name;
@ColumnWidth(15)
@ExcelProperty(value = "性别", index = 4)
private String sex;
@ColumnWidth(15)
@ExcelProperty(value = "身份证号", index = 5)
private String idNumber;
@ColumnWidth(20)
@ExcelProperty(value = "证件过期时间", index = 6)
private String expiryTime;
@ColumnWidth(15)
@ExcelProperty(value = "签发机关", index = 7)
private String issuingAuthority;
@ColumnWidth(15)
@ExcelProperty(value = "户籍地址", index = 8)
private String residenceAddress;
@ColumnWidth(15)
@ExcelProperty(value = "手机号码", index = 9)
private String phone;
@ColumnWidth(15)
@ExcelProperty(value = "居住地", index = 10)
private String address;
@ColumnWidth(15)
@ExcelProperty(value = "居住地邮编", index = 11)
private String postcode;
@ColumnWidth(15)
@ExcelProperty(value = "送达地址", index = 12)
private String serviceAddress;
}
package com.yeejoin.amos.boot.module.jxiop.api.dto;
import java.util.Date;
import java.util.List;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import com.yeejoin.amos.boot.module.jxiop.api.entity.CommonFile;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 户用光伏合同表
*
* @author system_generator
* @date 2023-03-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="HouseholdPvInstallDto", description="户用光伏合同表")
public class HouseholdPvInstallDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "户用光伏id")
private Long householdPvId;
@ApiModelProperty(value = "所属厂站")
private String platformCompanyId;
@ApiModelProperty(value = "安装信息描述")
private String description;
@ApiModelProperty(value = "基础框架整体安装照片")
@TableField(typeHandler = FastjsonTypeHandler.class)
private List<CommonFile> foundationFramePhoto;
@ApiModelProperty(value = "组件铭牌安装照片")
@TableField(typeHandler = FastjsonTypeHandler.class)
private List<CommonFile> nameplatePhoto;
@ApiModelProperty(value = "配电箱、逆变器案场安装照片")
@TableField(typeHandler = FastjsonTypeHandler.class)
private List<CommonFile> distributionBoxInverterPhoto;
@ApiModelProperty(value = "电表照片")
@TableField(typeHandler = FastjsonTypeHandler.class)
private List<CommonFile> electricityMeterPhoto;
@ApiModelProperty(value = "其他照片")
@TableField(typeHandler = FastjsonTypeHandler.class)
private List<CommonFile> otherPhoto;
@ApiModelProperty(value = "创建时间")
private Date createTime;
}
package com.yeejoin.amos.boot.module.jxiop.api.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 户用光伏合同表
*
* @author system_generator
* @date 2023-03-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="HouseholdPvLeaseDto", description="户用光伏合同表")
public class HouseholdPvLeaseDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "户用光伏id")
private Long householdPvId;
@ApiModelProperty(value = "安装地址")
private String installAddress;
@ApiModelProperty(value = "安装日期")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date installDate;
@ApiModelProperty(value = "预计功率(w)")
private Integer estimatedPower;
@ApiModelProperty(value = "组件单片功率(w)")
private Integer monolithicPower;
@ApiModelProperty(value = "共计安装数量(块)")
private Integer installCount;
@ApiModelProperty(value = "实际容量(w)")
private Integer actualCapacity;
@ApiModelProperty(value = "电站类型")
private String stationType;
@ApiModelProperty(value = "组件规格")
private String moduleType;
@ApiModelProperty(value = "创建时间")
private Date createTime;
}
package com.yeejoin.amos.boot.module.jxiop.api.entity;
import lombok.Data;
@Data
public class CommonFile {
private static final long serialVersionUID = 1L;
private String url;
private String name;
private String uid;
private String status;
}
package com.yeejoin.amos.boot.module.jxiop.api.entity;
import java.util.Date;
import java.util.List;
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;
/**
* 户用光伏表
*
* @author system_generator
* @date 2023-03-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName(value = "household_pv", autoResultMap = true)
public class HouseholdPv extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 户主姓名
*/
@TableField("name")
private String name;
/**
* 户号
*/
@TableField("number")
private String number;
/**
* 厂商
*/
@TableField("platform_company_id")
private Long platformCompanyId;
/**
* 性别
*/
@TableField("sex")
private String sex;
/**
* 身份证号
*/
@TableField("ID_number")
private String idNumber;
/**
* 证件过期时间
*/
@TableField("expiry_time")
private Date expiryTime;
/**
* 签发机关
*/
@TableField("issuing_authority")
private String issuingAuthority;
/**
* 户籍地址
*/
@TableField("residence_address")
private String residenceAddress;
/**
* 手机号码
*/
@TableField("phone")
private String phone;
/**
* 居住地
*/
@TableField("address")
private String address;
/**
* 邮编
*/
@TableField("postcode")
private String postcode;
/**
* 身份证正面
*/
@TableField(value = "ID_front_photo", typeHandler = FastjsonTypeHandler.class)
private List<CommonFile> idFrontPhoto;
/**
* 身份证背面
*/
@TableField(value = "ID_back_photo", typeHandler = FastjsonTypeHandler.class)
private List<CommonFile> idBackPhoto;
/**
* 房屋产权证
*/
@TableField(value = "house_property_certificate", typeHandler = FastjsonTypeHandler.class)
private List<CommonFile> housePropertyCertificate;
/**
* 农户首页照片
*/
@TableField(value = "homepage_photo", typeHandler = FastjsonTypeHandler.class)
private List<CommonFile> homepagePhoto;
/**
* 送达地址
*/
@TableField("service_address")
private String serviceAddress;
/**
* 组织机构code
*/
@TableField("biz_org_code")
private String bizOrgCode;
/**
* 告警等级
*/
@TableField("level")
private String level;
/**
* 区域id
*/
@TableField("district_id")
private Long districtId;
/**
* 创建时间
*/
@TableField("create_time")
private Date createTime;
}
package com.yeejoin.amos.boot.module.jxiop.api.entity;
import java.util.Date;
import java.util.List;
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;
/**
* 户用光伏合同表
*
* @author system_generator
* @date 2023-03-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName(value = "household_pv_contact", autoResultMap = true)
public class HouseholdPvContact extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 户用光伏id
*/
@TableField("household_pv_id")
private Long householdPvId;
/**
* 备案证号
*/
@TableField("number")
private String number;
/**
* 合同期限
*/
@TableField(value = "period", typeHandler = FastjsonTypeHandler.class)
private List<String> period;
/**
* 合同描述
*/
@TableField("description")
private String description;
/**
* 屋顶租赁及使用协议
*/
@TableField(value = "use_agreement", typeHandler = FastjsonTypeHandler.class)
private List<CommonFile> useAgreement;
/**
* 签约视频
*/
@TableField(value = "signing_video", typeHandler = FastjsonTypeHandler.class)
private List<CommonFile> signingVideo;
/**
* 备案证明
*/
@TableField(value = "filing_certificate", typeHandler = FastjsonTypeHandler.class)
private List<CommonFile> filingCertificate;
/**
* 创建时间
*/
@TableField("create_time")
private Date createTime;
}
package com.yeejoin.amos.boot.module.jxiop.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 2023-03-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("household_pv_device")
public class HouseholdPvDevice extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 户用光伏id
*/
@TableField("household_pv_id")
private Long householdPvId;
/**
* 设备名称
*/
@TableField("name")
private String name;
/**
* 品牌
*/
@TableField("brand")
private String brand;
/**
* SN编码
*/
@TableField("SN_code")
private String SNCode;
/**
* 型号
*/
@TableField("model")
private String model;
/**
* 功率
*/
@TableField("power")
private String power;
/**
* 序列号
*/
@TableField("serial_number")
private String serialNumber;
/**
* 类型
*/
@TableField("type")
private String type;
/**
* 描述
*/
@TableField("description")
private String description;
/**
* 创建时间
*/
@TableField("create_time")
private Date createTime;
}
package com.yeejoin.amos.boot.module.jxiop.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 2023-03-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("household_pv_district")
public class HouseholdPvDistrict extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
*
*/
@TableField("name")
private String name;
/**
*
*/
@TableField("parent_id")
private Long parentId;
/**
* 创建时间
*/
@TableField("create_time")
private Date createTime;
/**
*
*/
@TableField("parent_type")
private String parentType;
@TableField("biz_org_code")
private String bizOrgCode;
}
package com.yeejoin.amos.boot.module.jxiop.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 2023-03-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName(value = "household_pv_install", autoResultMap = true)
public class HouseholdPvInstall extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 户用光伏id
*/
@TableField("household_pv_id")
private Long householdPvId;
/**
* 所属厂站
*/
@TableField("platform_company_id")
private String platformCompanyId;
/**
* 安装信息描述
*/
@TableField("description")
private String description;
/**
* 基础框架整体安装照片
*/
@TableField(value = "foundation_frame_photo", typeHandler = FastjsonTypeHandler.class)
private List<CommonFile> foundationFramePhoto;
/**
* 组件铭牌安装照片
*/
@TableField(value = "nameplate_photo", typeHandler = FastjsonTypeHandler.class)
private List<CommonFile> nameplatePhoto;
/**
* 配电箱、逆变器案场安装照片
*/
@TableField(value = "distribution_box_inverter_photo", typeHandler = FastjsonTypeHandler.class)
private List<CommonFile> distributionBoxInverterPhoto;
/**
* 电表照片
*/
@TableField(value = "electricity_meter_photo", typeHandler = FastjsonTypeHandler.class)
private List<CommonFile> electricityMeterPhoto;
/**
* 其他照片
*/
@TableField(value = "other_photo", typeHandler = FastjsonTypeHandler.class)
private List<CommonFile> otherPhoto;
/**
* 创建时间
*/
@TableField("create_time")
private Date createTime;
}
package com.yeejoin.amos.boot.module.jxiop.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 2023-03-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("household_pv_lease")
public class HouseholdPvLease extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 户用光伏id
*/
@TableField("household_pv_id")
private Long householdPvId;
/**
* 安装地址
*/
@TableField("install_address")
private String installAddress;
/**
* 安装日期
*/
@TableField("install_date")
private Date installDate;
/**
* 预计功率(w)
*/
@TableField("estimated_power")
private Integer estimatedPower;
/**
* 组件单片功率(w)
*/
@TableField("monolithic_power")
private Integer monolithicPower;
/**
* 共计安装数量(块)
*/
@TableField("install_count")
private Integer installCount;
/**
* 实际容量(w)
*/
@TableField("actual_capacity")
private Integer actualCapacity;
/**
* 电站类型
*/
@TableField("station_type")
private String stationType;
/**
* 组件规格
*/
@TableField("module_type")
private String moduleType;
/**
* 创建时间
*/
@TableField("create_time")
private Date createTime;
}
package com.yeejoin.amos.boot.module.jxiop.api.mapper;
import com.yeejoin.amos.boot.module.jxiop.api.entity.HouseholdPvContact;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* 户用光伏合同表 Mapper 接口
*
* @author system_generator
* @date 2023-03-17
*/
public interface HouseholdPvContactMapper extends BaseMapper<HouseholdPvContact> {
}
package com.yeejoin.amos.boot.module.jxiop.api.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.jxiop.api.entity.HouseholdPvDevice;
/**
* 户用光伏设备表 Mapper 接口
*
* @author system_generator
* @date 2023-03-17
*/
@Mapper
public interface HouseholdPvDeviceMapper extends BaseMapper<HouseholdPvDevice> {
void insertAndUpdate(List<HouseholdPvDevice> list);
}
package com.yeejoin.amos.boot.module.jxiop.api.mapper;
import com.yeejoin.amos.boot.module.jxiop.api.dto.CompanyTreeDto;
import com.yeejoin.amos.boot.module.jxiop.api.entity.HouseholdPvDistrict;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* Mapper 接口
*
* @author system_generator
* @date 2023-03-17
*/
public interface HouseholdPvDistrictMapper extends BaseMapper<HouseholdPvDistrict> {
List<CompanyTreeDto> getList();
List<CompanyTreeDto> getListByParentId(@Param("bizOrgCode") String bizOrgCode ,@Param("parentId") Long parentId);
Integer countTreeNodesById(@Param("id") Long id);
Integer countHouseholdById(@Param("id") Long id);
List<Long> selectIds(@Param("bizOrgCode")String bizOrgCode );
}
package com.yeejoin.amos.boot.module.jxiop.api.mapper;
import com.yeejoin.amos.boot.module.jxiop.api.entity.HouseholdPvInstall;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* 户用光伏合同表 Mapper 接口
*
* @author system_generator
* @date 2023-03-17
*/
public interface HouseholdPvInstallMapper extends BaseMapper<HouseholdPvInstall> {
}
package com.yeejoin.amos.boot.module.jxiop.api.mapper;
import com.yeejoin.amos.boot.module.jxiop.api.entity.HouseholdPvLease;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* 户用光伏合同表 Mapper 接口
*
* @author system_generator
* @date 2023-03-17
*/
public interface HouseholdPvLeaseMapper extends BaseMapper<HouseholdPvLease> {
}
package com.yeejoin.amos.boot.module.jxiop.api.mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvDeviceDto;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvDto;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvExport;
import com.yeejoin.amos.boot.module.jxiop.api.entity.CommonFile;
import com.yeejoin.amos.boot.module.jxiop.api.entity.HouseholdPv;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 户用光伏表 Mapper 接口
*
* @author system_generator
* @date 2023-03-17
*/
public interface HouseholdPvMapper extends BaseMapper<HouseholdPv> {
List<HouseholdPvExport> selectExportList(@Param("dto")HouseholdPvDto dto, @Param("ids") List<Long> ids);
List<HouseholdPvDeviceDto> selectEquipList(@Param("id")Long id );
Page<HouseholdPvDto> selectPageMessage(@Param("page")Page<HouseholdPvDto> page, @Param("dto") HouseholdPvDto dto);
String selectImg(@Param("id") Long id);
}
package com.yeejoin.amos.boot.module.jxiop.api.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.amos.boot.module.jxiop.api.entity.HouseholdPvContact;
/**
* 户用光伏合同表接口类
*
* @author system_generator
* @date 2023-03-17
*/
public interface IHouseholdPvContactService extends IService<HouseholdPvContact>{
}
package com.yeejoin.amos.boot.module.jxiop.api.service;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvDeviceImport;
import com.yeejoin.amos.boot.module.jxiop.api.entity.HouseholdPvDevice;
/**
* 户用光伏设备表接口类
*
* @author system_generator
* @date 2023-03-17
*/
public interface IHouseholdPvDeviceService extends IService<HouseholdPvDevice> {
void exportTemplates(HttpServletResponse response);
void importData(List<HouseholdPvDeviceImport> list, long householdPvId);
}
package com.yeejoin.amos.boot.module.jxiop.api.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.amos.boot.module.jxiop.api.dto.CompanyTreeDto;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvDto;
import com.yeejoin.amos.boot.module.jxiop.api.entity.HouseholdPvDistrict;
import java.util.List;
/**
* 接口类
*
* @author system_generator
* @date 2023-03-17
*/
public interface IHouseholdPvDistrictService extends IService<HouseholdPvDistrict>{
List<CompanyTreeDto> getTree();
List<CompanyTreeDto> getBusinessTree(Long parentId);
List<CompanyTreeDto> stationTree();
HouseholdPvDistrict treeAdd(Long parentId, String name);
HouseholdPvDistrict treeUpdate(Long id, String name);
String treeNodesRemove(Long id);
}
package com.yeejoin.amos.boot.module.jxiop.api.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.amos.boot.module.jxiop.api.entity.HouseholdPvInstall;
/**
* 户用光伏合同表接口类
*
* @author system_generator
* @date 2023-03-17
*/
public interface IHouseholdPvInstallService extends IService<HouseholdPvInstall>{
}
package com.yeejoin.amos.boot.module.jxiop.api.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.amos.boot.module.jxiop.api.entity.HouseholdPvLease;
/**
* 户用光伏合同表接口类
*
* @author system_generator
* @date 2023-03-17
*/
public interface IHouseholdPvLeaseService extends IService<HouseholdPvLease>{
}
package com.yeejoin.amos.boot.module.jxiop.api.service;
import java.util.List;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.amos.boot.module.jxiop.api.dto.CompanyTreeDto;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvDto;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvExport;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvImport;
import com.yeejoin.amos.boot.module.jxiop.api.entity.HouseholdPv;
import com.yeejoin.amos.boot.module.jxiop.api.util.CommonResponse;
import com.yeejoin.amos.feign.privilege.model.UserOrgTreeModel;
/**
* 户用光伏表接口类
*
* @author system_generator
* @date 2023-03-17
*/
public interface IHouseholdPvService extends IService<HouseholdPv>{
CommonResponse importData(List<HouseholdPvImport> list);
List<HouseholdPvExport> selectExportList(HouseholdPvDto dto, List<Long> ids);
void deleteBatch(List<Long> ids);
HouseholdPvDto save(HouseholdPvDto householdPvDto);
HouseholdPvDto update(HouseholdPvDto householdPvDto);
HouseholdPvDto getBySeq(Long id);
Integer countRepeat(HouseholdPvDto householdPvDto, String type);
}
package com.yeejoin.amos.boot.module.jxiop.api.util;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
/**
* <pre>
* 返回封装对象
* </pre>
*
* @author mincx
* @version CommonReponse.java v0.1
* @time 2017-9-19 15:43:32
*/
public class CommonResponse implements Serializable {
private static final long serialVersionUID = -8737351878134480646L;
/**
* 操作状态
*/
@ApiModelProperty(required=true,value="操作状态")
private String result;
/**
* 操作状态
*/
@ApiModelProperty(required=true,value="状态码")
private int status;
/**
* 数据
*/
@ApiModelProperty(required=false,value="数据")
private Object dataList;
/**
* 操作详细信息
*/
@ApiModelProperty(required=false,value="操作详细信息")
private String message;
public CommonResponse(){
}
public CommonResponse(String result) {
this.result = result;
}
public CommonResponse(Object dataList) {
this.dataList = dataList;
this.result = "";
}
public CommonResponse(String result, Object dataList) {
this.dataList = dataList;
this.result = result;
}
public CommonResponse(String result, String message) {
this.result = result;
this.message = message;
}
public CommonResponse(String result, Object dataList, String message) {
this.dataList = dataList;
this.result = result;
this.message = message;
}
public CommonResponse(String result, Object dataList, int status) {
this.dataList = dataList;
this.result = result;
this.status = status;
}
public CommonResponse(String result, String message, int status) {
this.result = result;
this.message = message;
this.status = status;
}
public CommonResponse(String result, Object dataList, String message, int status) {
this.dataList = dataList;
this.result = result;
this.message = message;
this.status = status;
}
public Boolean isSuccess(){
return "SUCCESS".equals(getResult());
}
public String getResult() {
return result;
}
public void setResult(String result) {
this.result = result;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public Object getDataList() {
return dataList;
}
public void setDataList(Object dataList) {
this.dataList = dataList;
}
public void setStatus(int status) {
this.status = status;
}
public int getStatus() {
return status;
}
public String toJsonStr() throws Exception {
return JSON.toJSONString(this,SerializerFeature.WriteMapNullValue,SerializerFeature.DisableCircularReferenceDetect,SerializerFeature.SkipTransientField);
}
}
package com.yeejoin.amos.boot.module.jxiop.api.util;
import org.springframework.http.HttpStatus;
public class CommonResponseUtil
{
public static CommonResponse success()
{
CommonResponse response = new CommonResponse();
response.setResult(Constants.RESULT_SUCCESS);
response.setStatus(HttpStatus.OK.value());
return response;
}
public static CommonResponse success(Object obj)
{
CommonResponse response = new CommonResponse();
response.setResult(Constants.RESULT_SUCCESS);
response.setStatus(HttpStatus.OK.value());
response.setDataList(obj);
return response;
}
public static CommonResponse success(Object obj, String message)
{
CommonResponse response = new CommonResponse();
response.setResult(Constants.RESULT_SUCCESS);
response.setStatus(HttpStatus.OK.value());
response.setDataList(obj);
response.setMessage(message);
return response;
}
public static CommonResponse failure()
{
CommonResponse response = new CommonResponse();
response.setResult(Constants.RESULT_FAILURE);
response.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value());
return response;
}
public static CommonResponse failure(String message)
{
CommonResponse response = new CommonResponse();
response.setResult(Constants.RESULT_FAILURE);
response.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value());
response.setMessage(message);
return response;
}
public static CommonResponse failure(Object obj, String message)
{
CommonResponse response = new CommonResponse();
response.setResult(Constants.RESULT_FAILURE);
response.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value());
response.setDataList(obj);
response.setMessage(message);
return response;
}
}
package com.yeejoin.amos.boot.module.jxiop.api.util;
/**
* <pre>
* 系统常量
* </pre>
*
* @author mincx
* @version Constants.java v0.1
* @time 2017-9-19 15:43:32
*/
public class Constants {
public static final String ERROR_MESSAGE = "系统异常";
public static final String RESULT_SUCCESS = "SUCCESS";
public static final String RESULT_FAILURE = "FAILURE";
public static final String RULE_FACT_PREFIX = "rule_";
public static final String RULE_COMPILATION_ERROR = "规则编译异常";
public static final String NEW_LINE= "\r\n";
public static final String POSITION_LATITUDE = "latitude";
public static final String POSITION_LONGITUDE = "longitude";
public static final double PI = 3.1415;
public static final double EARTH_RADIUS = 6370.996;
public static final String RULE_CONDITION_AND = "&&";
public static final String RULE_CONDITION_OR = "||";
/**
* DES加密解密默认key
*/
public static final String XSS_KEY = "qaz";
/**
* 灾情状态
*/
public static final String FireHappenStateID = "90db70b7-49a4-4a72-b54b-0fabbed9bec7";//发生
public static final String FireDevelopStateID = "1f7fe7d7-b30c-4518-8c95-6e3bc506ca86";//猛烈
/**
* 车辆状态
*/
public static final String CarArrivedStateID = "ad55748a-1206-4507-8831-95b7f2ad804f";//到达
public static final String CarDispatchingStateID = "43a23576-3d0f-4c3d-a46b-555391a4d870";//待出动
public static final String CarOnDutyStateID = "21cc717f-60b4-46ae-942e-9efd63d13415";//执勤
public static final String CarOnSiteStateID = "d7eddc16-4c55-4de0-b726-3547c7b0b980";//在位
public static final String CarOnTheWayStateID = "5e1b6e98-d1dc-4c49-a7ad-b959d2278dba";//在途
public static final String CarRepairStateID = "e86d455b-e9fd-4938-9826-38ca46623287";//维修
/**
* 战斗力量编队状态
*/
public static final String RescuePowerArrivedStateID = "0951f770-7f75-43d8-bcec-47d7559be727";//到达
public static final String RescuePowerDispatchedStateID = "ec4afc56-6cec-41a3-95f5-20c735f052d4";//已调派
public static final String RescuePowerEnhanceStateID = "3d6cf113-b69d-47c3-a3a8-ded448cc4636";//增援
public static final String RescuePowerFightingStateID = "4bacd4b4-b07d-454e-b737-431e7c997cde";//战斗
public static final String RescuePowerStandByStateID = "4fc6e4d6-c6a8-453c-b554-ce7de0b828b2";//待命
/**
* sql注入关键字
*/
public static String badStr = "'|and|exec|execute|insert|select|delete|update|count|drop|%|chr|mid|master|truncate|" +
"char|declare|sitename|net user|xp_cmdshell|;|or|-|+|,|like'|and|exec|execute|insert|create|drop|" +
"table|from|grant|use|group_concat|column_name|" +
"information_schema.columns|table_schema|union|where|select|delete|update|order|by|count|" +
"chr|mid|master|truncate|char|declare|or|;|-|--|,|like|//|/|%|#";
}
package com.yeejoin.amos.boot.module.jxiop.api.util;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URLEncoder;
import javax.servlet.http.HttpServletResponse;
import org.springframework.core.io.ClassPathResource;
public class FileUtil {
public static void downloadResource(String fileName, String resourceName, HttpServletResponse response) {
DataInputStream in = null;
OutputStream out = null;
InputStream fileInputStream = null;
try {
response.reset();
response.setCharacterEncoding("UTF-8");
response.setHeader("content-Type", "application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
ClassPathResource classPathResource = new ClassPathResource(resourceName);
fileInputStream = classPathResource.getInputStream();
in = new DataInputStream(fileInputStream);
out = response.getOutputStream();
int bytes = 0;
byte[] bufferOut = new byte[1024];
while ((bytes = in.read(bufferOut)) != -1) {
out.write(bufferOut, 0, bytes);
}
} catch (Exception e) {
e.printStackTrace();
response.reset();
} finally {
try {
if (out != null) {
out.close();
}
} catch (IOException e) {
e.printStackTrace();
}
try {
if (in != null) {
in.close();
}
} catch (IOException e) {
e.printStackTrace();
}
try {
if (fileInputStream != null) {
fileInputStream.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
<?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.jxiop.api.mapper.HouseholdPvContactMapper">
</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.jxiop.api.mapper.HouseholdPvDeviceMapper">
<insert id="insertAndUpdate">
INSERT INTO household_pv_device
(
sequence_nbr, household_pv_id, name, brand,SN_code, model, power, serial_number,type,description,create_time,rec_date,rec_user_id,rec_user_name,is_delete) VALUES
<foreach item="item" index="index" collection="list" separator=",">
(
#{item.sequenceNbr}, #{item.householdPvId}, #{item.name}, #{item.brand}, #{item.SNCode}, #{item.model},
#{item.power}, #{item.serialNumber}, #{item.type}, #{item.description}, #{item.createTime}, #{item.recDate}, #{item.recUserId}, #{item.recUserName}, #{item.isDelete}
)
</foreach>
ON DUPLICATE KEY UPDATE name = VALUES(name),brand = VALUES(brand),SN_code = VALUES(SN_code),model = VALUES(model),power = VALUES(power),serial_number = VALUES(serial_number)
,type = VALUES(type),description = VALUES(description),create_time = VALUES(create_time),rec_date = VALUES(rec_date),rec_user_id = VALUES(rec_user_id),rec_user_name = VALUES(rec_user_name)
</insert>
</mapper>
\ No newline at end of file
<?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.jxiop.api.mapper.HouseholdPvDistrictMapper">
<select id="getList" resultType="com.yeejoin.amos.boot.module.jxiop.api.dto.CompanyTreeDto">
select hpd.sequence_nbr as id, hpd.name, hpd.parent_id as parentId, hpd.parent_type as type
from household_pv_district hpd
where is_delete = 0
</select>
<select id="countTreeNodesById" resultType="java.lang.Integer">
SELECT
COUNT( 1 )
FROM
household_pv_district hpd
WHERE
hpd.parent_id = #{id}
</select>
<select id="countHouseholdById" resultType="java.lang.Integer">
SELECT
COUNT( 1 )
FROM
household_pv hp
LEFT JOIN household_pv_install hpi ON hp.sequence_nbr = hpi.household_pv_id
WHERE
hp.district_id = #{id}
</select>
<select id="selectIds" resultType="java.lang.Long">
select hp.sequence_nbr from household_pv_district hp where hp.biz_org_code like concat(#{bizOrgCode}, '%')
</select>
<select id="getListByParentId" resultType="com.yeejoin.amos.boot.module.jxiop.api.dto.CompanyTreeDto">
SELECT
hpd.sequence_nbr AS id,
hpd.NAME,
hpd.parent_id AS parentId,
hpd.parent_type AS type
FROM
household_pv_district hpd
WHERE
hpd.is_delete = 0
<if test="parentId != null and parentId != ''">
AND hpd.sequence_nbr != #{parentId}
</if>
<if test="bizOrgCode != null and bizOrgCode != ''">
AND hpd.biz_org_code LIKE CONCAT(#{bizOrgCode}, '%' )
</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.jxiop.api.mapper.HouseholdPvInstallMapper">
</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.jxiop.api.mapper.HouseholdPvLeaseMapper">
</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.jxiop.api.mapper.HouseholdPvMapper">
<select id="selectExportList" resultType="com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvExport">
SELECT
hp.sequence_nbr as id,
hp.platform_company_id AS platformCompanyId,
hp.number,
hp.`name`,
hp.sex,
hp.ID_number AS idNumber,
hp.expiry_time AS expiryTime,
hp.issuing_authority AS issuingAuthority,
hp.residence_address AS residenceAddress,
hp.phone,
hp.address,
hp.postcode,
hp.service_address AS serviceAddress,
hp.district_id AS districtId,
hpc.number AS contactNumber,
hpc.period,
hpc.description ,
hpl.install_address as installAddress,
hpl.install_date as installDate,
hpl.estimated_power as estimatedPower,
hpl.monolithic_power as monolithicPower,
hpl.actual_capacity as actualCapacity,
hpl.station_type as stationType,
hpl.module_type as moduleType,
hpl.install_count as installCount,
hpi.description as installDescription,
hpi.platform_company_id AS installStation
FROM
household_pv hp
LEFT JOIN household_pv_contact hpc on hp.sequence_nbr = hpc.household_pv_id
LEFT JOIN household_pv_lease hpl on hp.sequence_nbr = hpl.household_pv_id
LEFT JOIN household_pv_install hpi on hp.sequence_nbr = hpi.household_pv_id
<where>
<if test="dto.name != null and dto.name != ''">
and hp.name like concat('%',#{dto.name},'%')
</if>
<if test="dto.bizOrgCode != null and dto.bizOrgCode != ''">
and hp.biz_org_code like concat('%',#{dto.bizOrgCode},'%')
</if>
<if test="dto.level != null and dto.level != ''">
and hp.level = #{dto.level}
</if>
<if test="dto.residenceAddress != null and dto.residenceAddress != ''">
and hp.residence_address like concat('%',#{residenceAddress},'%')
</if>
<if test="dto.number != null and dto.number != ''">
and hp.number like concat('%',#{dto.number},'%')
</if>
<if test="ids != null and ids.size > 0">
and hp.sequence_nbr in
<foreach collection="ids" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</where>
</select>
<select id="selectEquipList" resultType="com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvDeviceDto">
SELECT * from household_pv_device hpd WHERE hpd.household_pv_id = #{id}
</select>
<select id="selectPageMessage" resultType="com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvDto">
select hp.*,hpl.install_address as installAddress from household_pv hp
LEFT JOIN household_pv_lease hpl on hp.sequence_nbr = hpl.household_pv_id
<where>
<if test="dto.name != null and dto.name != ''">
and hp.name like concat('%',#{dto.name},'%')
</if>
<if test="dto.installAddress != null and dto.installAddress != ''">
and hpl.install_address like concat('%',#{dto.installAddress},'%')
</if>
<if test="dto.number != null and dto.number != ''">
and hp.number like concat('%',#{dto.number},'%')
</if>
<if test="dto.level != null and dto.level != ''">
and hp.level = #{dto.level}
</if>
<if test="dto.bizOrgCode != null and dto.bizOrgCode != ''">
and hp.biz_org_code like concat('%',#{dto.bizOrgCode},'%')
</if>
</where>
order by hp.rec_date desc
</select>
<select id="selectImg" resultType="java.lang.String">
SELECT
homepage_photo AS img
FROM
household_pv
WHERE
sequence_nbr = #{id}
</select>
</mapper>
This diff is collapsed.
<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.amosframework.boot</groupId>
<artifactId>amos-boot-system-jxiop</artifactId>
<version>1.0.0</version>
</parent>
<artifactId>amos-boot-module-jxiop-biz</artifactId>
<version>1.0.0</version>
<name>amos-boot-module-jxiop-biz</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.amosframework.boot</groupId>
<artifactId>amos-boot-module-ugp-api</artifactId>
<version>${amos-biz-boot.version}</version>
</dependency>
<dependency>
<groupId>com.amosframework.boot</groupId>
<artifactId>amos-boot-module-common-biz</artifactId>
<version>${amos-biz-boot.version}</version>
</dependency>
<dependency>
<groupId>com.amosframework.boot</groupId>
<artifactId>amos-boot-biz-common</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.amosframework.boot</groupId>
<artifactId>amos-boot-module-jxiop-api</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
package com.yeejoin.amos;
import com.yeejoin.amos.boot.biz.common.utils.oConvertUtils;
import org.mybatis.spring.annotation.MapperScan;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.core.env.Environment;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import java.net.InetAddress;
/**
* <pre>
* 智信能源科技服务启动类
* </pre>
*
* @author DELL
*/
@SpringBootApplication
@EnableTransactionManagement
@EnableConfigurationProperties
@ServletComponentScan
@EnableDiscoveryClient
@EnableFeignClients
@EnableAsync
@EnableEurekaClient
@EnableScheduling
@MapperScan({ "org.typroject.tyboot.demo.face.orm.dao*", "org.typroject.tyboot.face.*.orm.dao*",
"org.typroject.tyboot.core.auth.face.orm.dao*", "org.typroject.tyboot.component.*.face.orm.dao*",
"com.yeejoin.amos.boot.module.**.api.mapper", "com.yeejoin.amos.boot.biz.common.dao.mapper","com.yeejoin.amos.boot.module.common.biz.*" })
@ComponentScan(basePackages = { "org.typroject", "com.yeejoin.amos" })
public class AmosJxiopApplication {
private static final Logger logger = LoggerFactory.getLogger(AmosJxiopApplication.class);
public static void main(String[] args) throws Exception {
ConfigurableApplicationContext context = SpringApplication.run(AmosJxiopApplication.class, args);
Environment env = context.getEnvironment();
String ip = InetAddress.getLocalHost().getHostAddress();
String port = env.getProperty("server.port");
String path = oConvertUtils.getString(env.getProperty("server.servlet.context-path"));
logger.info("\n----------------------------------------------------------\n\t"
+ "Application Amos-Biz-Boot is running! Access URLs:\n\t" + "Swagger文档: \thttp://" + ip + ":" + port
+ path + "/doc.html\n" + "----------------------------------------------------------");
}
}
package com.yeejoin.amos.boot.module.jxiop.biz.controller;
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.List;
import com.yeejoin.amos.boot.module.jxiop.biz.service.impl.HouseholdPvContactServiceImpl;
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.jxiop.api.dto.HouseholdPvContactDto;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
/**
* 户用光伏合同表
*
* @author system_generator
* @date 2023-03-17
*/
@RestController
@Api(tags = "户用光伏合同表Api")
@RequestMapping(value = "/household-pv-contact")
public class HouseholdPvContactController extends BaseController {
@Autowired
HouseholdPvContactServiceImpl householdPvContactServiceImpl;
/**
* 新增户用光伏合同表
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增户用光伏合同表", notes = "新增户用光伏合同表")
public ResponseModel<HouseholdPvContactDto> save(@RequestBody HouseholdPvContactDto model) {
model = householdPvContactServiceImpl.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<HouseholdPvContactDto> updateBySequenceNbrHouseholdPvContact(@RequestBody HouseholdPvContactDto model,@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(householdPvContactServiceImpl.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(householdPvContactServiceImpl.removeById(sequenceNbr));
}
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET",value = "根据sequenceNbr查询单个户用光伏合同表", notes = "根据sequenceNbr查询单个户用光伏合同表")
public ResponseModel<HouseholdPvContactDto> selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(householdPvContactServiceImpl.queryBySeq(sequenceNbr));
}
/**
* 列表分页查询
*
* @param current 当前页
* @param current 每页大小
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET",value = "户用光伏合同表分页查询", notes = "户用光伏合同表分页查询")
public ResponseModel<Page<HouseholdPvContactDto>> queryForPage(@RequestParam(value = "current") int current,@RequestParam
(value = "size") int size) {
Page<HouseholdPvContactDto> page = new Page<>();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(householdPvContactServiceImpl.queryForHouseholdPvContactPage(page));
}
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "户用光伏合同表列表全部数据查询", notes = "户用光伏合同表列表全部数据查询")
@GetMapping(value = "/list")
public ResponseModel<List<HouseholdPvContactDto>> selectForList() {
return ResponseHelper.buildResponse(householdPvContactServiceImpl.queryForHouseholdPvContactList());
}
}
package com.yeejoin.amos.boot.module.jxiop.biz.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.biz.common.excel.ExcelUtil;
import com.yeejoin.amos.boot.module.jxiop.api.Enum.EquipType;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvDeviceDto;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvDeviceImport;
import com.yeejoin.amos.boot.module.jxiop.api.entity.HouseholdPvDevice;
import com.yeejoin.amos.boot.module.jxiop.api.util.CommonResponse;
import com.yeejoin.amos.boot.module.jxiop.api.util.CommonResponseUtil;
import com.yeejoin.amos.boot.module.jxiop.biz.service.impl.HouseholdPvDeviceServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
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;
import java.util.List;
/**
* 户用光伏设备表
*
* @author system_generator
* @date 2023-03-17
*/
@RestController
@Api(tags = "户用光伏设备表Api")
@RequestMapping(value = "/household-pv-device")
public class HouseholdPvDeviceController extends BaseController {
@Autowired
HouseholdPvDeviceServiceImpl householdPvDeviceServiceImpl;
/**
* 新增户用光伏设备表
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增户用光伏设备表", notes = "新增户用光伏设备表")
public ResponseModel<HouseholdPvDeviceDto> save(@RequestBody HouseholdPvDeviceDto model) {
model = householdPvDeviceServiceImpl.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<HouseholdPvDeviceDto> updateBySequenceNbrHouseholdPvDevice(
@RequestBody HouseholdPvDeviceDto model, @PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(householdPvDeviceServiceImpl.updateWithModel(model));
}
/**
* 根据sequenceNbr删除
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "/removeMessage")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除户用光伏设备表", notes = "根据sequenceNbr删除户用光伏设备表")
public ResponseModel<Boolean> deleteBySequenceNbr(@RequestParam(value = "sequenceNbr") Long sequenceNbr) {
return ResponseHelper.buildResponse(householdPvDeviceServiceImpl.removeById(sequenceNbr));
}
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个户用光伏设备表", notes = "根据sequenceNbr查询单个户用光伏设备表")
public ResponseModel<HouseholdPvDeviceDto> selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(householdPvDeviceServiceImpl.queryBySeq(sequenceNbr));
}
/**
* 列表分页查询
*
* @param current 当前页
* @param current 每页大小
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET", value = "户用光伏设备表分页查询", notes = "户用光伏设备表分页查询")
public ResponseModel<IPage<HouseholdPvDevice>> queryForPage(@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size, @RequestParam("objId") Long objId) {
Page<HouseholdPvDevice> page = new Page<>();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(householdPvDeviceServiceImpl.queryForHouseholdPvDevicePage(page, objId));
}
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "户用光伏设备表列表全部数据查询", notes = "户用光伏设备表列表全部数据查询")
@GetMapping(value = "/list")
public ResponseModel<List<HouseholdPvDeviceDto>> selectForList() {
return ResponseHelper.buildResponse(householdPvDeviceServiceImpl.queryForHouseholdPvDeviceList());
}
@GetMapping(value = "/exportTemplates")
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "模板下载", notes = "模板下载")
public void exportTemplates(HttpServletResponse response) {
householdPvDeviceServiceImpl.exportTemplates(response);
}
@PostMapping(value = "/import")
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "POST", value = "导入", notes = "导入")
public CommonResponse importData(@RequestPart("file") MultipartFile multipartFile,
@RequestParam(value = "householdPvId", required = true) String householdPvId) {
List<HouseholdPvDeviceImport> list;
try {
list = ExcelUtil.readFirstSheetExcel(multipartFile, HouseholdPvDeviceImport.class, 2);
String checkData = checkData(list);
if (!"ok".equals(checkData)){
return CommonResponseUtil.failure(checkData);
}
householdPvDeviceServiceImpl.importData(list, Long.parseLong(householdPvId));
} catch (Exception e) {
e.printStackTrace();
}
return CommonResponseUtil.success("success");
}
private String checkData(List<HouseholdPvDeviceImport> list) {
int line = 3;
if (!ObjectUtils.isEmpty(line)) {
for (HouseholdPvDeviceImport dto : list) {
if (ObjectUtils.isEmpty(dto.getType())) {
return "第" + line + "行" + "设备类型不能为空!";
}
if (ObjectUtils.isEmpty(dto.getName())) {
return "第" + line + "行" + "设备名称不能为空!";
}
if (!EquipType.OTHER.getName().equals(dto.getType()) && ObjectUtils.isEmpty(dto.getBrand())) {
return "第" + line + "行" + "品牌不能为空!";
}
if (!EquipType.OTHER.getName().equals(dto.getType()) && ObjectUtils.isEmpty(dto.getSNCode())) {
return "第" + line + "行" + "SN编码不能为空!";
}
if (!EquipType.OTHER.getName().equals(dto.getType()) && ObjectUtils.isEmpty(dto.getModel())) {
return "第" + line + "行" + "型号不能为空!";
}
if (EquipType.INVERTER.getName().equals(dto.getType()) && ObjectUtils.isEmpty(dto.getSerialNumber())) {
return "第" + line + "行" + "序列号不能为空!";
}
if (EquipType.INVERTER.getName().equals(dto.getType()) && ObjectUtils.isEmpty(dto.getPower())) {
return "第" + line + "行" + "功率不能为空!";
}
if (EquipType.OTHER.getName().equals(dto.getType()) && !EquipType.OTHER.getName().equals(dto.getName())) {
return "第" + line + "行" + "其他类型下设备名称为:其他!";
}
if (EquipType.OTHER.getName().equals(dto.getType()) && ObjectUtils.isEmpty(dto.getDescription())) {
return "第" + line + "行" + "描述不能为空!";
}
if (EquipType.OTHER.getName().equals(dto.getType()) && dto.getDescription().length() > 1000){
return "第" + line + "行" + "描述最多输入1000个字符!";
}
line = line + 1;
}
}
return "ok";
}
}
package com.yeejoin.amos.boot.module.jxiop.biz.controller;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvDistrictDto;
import com.yeejoin.amos.boot.module.jxiop.api.entity.HouseholdPvDistrict;
import com.yeejoin.amos.boot.module.jxiop.api.service.IHouseholdPvDistrictService;
import com.yeejoin.amos.boot.module.jxiop.api.util.CommonResponse;
import com.yeejoin.amos.boot.module.jxiop.api.util.CommonResponseUtil;
import com.yeejoin.amos.boot.module.jxiop.biz.service.impl.HouseholdPvDistrictServiceImpl;
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.HttpServletRequest;
import java.util.List;
import java.util.Map;
/**
* @author system_generator
* @date 2023-03-17
*/
@RestController
@Api(tags = "Api")
@RequestMapping(value = "/household-pv-district")
public class HouseholdPvDistrictController extends BaseController {
@Autowired
HouseholdPvDistrictServiceImpl householdPvDistrictServiceImpl;
@Autowired
IHouseholdPvDistrictService householdPvDistrictService;
/**
* 新增
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增", notes = "新增")
public ResponseModel<HouseholdPvDistrictDto> save(@RequestBody HouseholdPvDistrictDto model) {
model = householdPvDistrictServiceImpl.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<HouseholdPvDistrictDto> updateBySequenceNbrHouseholdPvDistrict(@RequestBody HouseholdPvDistrictDto model, @PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(householdPvDistrictServiceImpl.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(householdPvDistrictServiceImpl.removeById(sequenceNbr));
}
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个", notes = "根据sequenceNbr查询单个")
public ResponseModel<HouseholdPvDistrictDto> selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(householdPvDistrictServiceImpl.queryBySeq(sequenceNbr));
}
/**
* 列表分页查询
*
* @param current 当前页
* @param current 每页大小
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET", value = "分页查询", notes = "分页查询")
public ResponseModel<Page<HouseholdPvDistrictDto>> queryForPage(@RequestParam(value = "current") int current, @RequestParam
(value = "size") int size) {
Page<HouseholdPvDistrictDto> page = new Page<>();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(householdPvDistrictServiceImpl.queryForHouseholdPvDistrictPage(page));
}
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "列表全部数据查询", notes = "列表全部数据查询")
@GetMapping(value = "/list")
public ResponseModel<List<HouseholdPvDistrictDto>> selectForList() {
return ResponseHelper.buildResponse(householdPvDistrictServiceImpl.queryForHouseholdPvDistrictList());
}
@GetMapping(value = "/getTree")
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "全量厂站树", notes = "全量厂站树")
public ResponseModel<Object> getTree() {
return ResponseHelper.buildResponse(householdPvDistrictService.getTree());
}
@GetMapping(value = "/getBusinessTree")
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "厂站树", notes = "厂站树")
public ResponseModel<Object> getBusinessTree(@RequestParam("platformCompanyId") Long parentId) {
return ResponseHelper.buildResponse(householdPvDistrictService.getBusinessTree(parentId));
}
@GetMapping(value = "/stationTree")
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "厂站树", notes = "厂站树")
public ResponseModel<Object> stationTree() {
return ResponseHelper.buildResponse(householdPvDistrictService.stationTree());
}
/**
* 树节点新增
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/treeAdd")
@ApiOperation(httpMethod = "POST", value = "树节点新增", notes = "树节点新增")
public CommonResponse treeAdd(@RequestBody JSONObject model) {
Map<String, Object> dto = (Map<String, Object>)model.get("dto");
String id = dto.get("id").toString();
String name = dto.get("name").toString();
LambdaQueryWrapper<HouseholdPvDistrict> lambda = new QueryWrapper<HouseholdPvDistrict>().lambda();
lambda.eq(HouseholdPvDistrict :: getName, name);
// lambda.eq(HouseholdPvDistrict::getParentId, id);
Integer integer = householdPvDistrictService.getBaseMapper().selectCount(lambda);
if (integer > 0){
return CommonResponseUtil.failure("节点已存在!");
}
return CommonResponseUtil.success(householdPvDistrictService.treeAdd(Long.parseLong(id), name));
}
/**
* 树节点新增
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/treeUpdate")
@ApiOperation(httpMethod = "POST", value = "树节点新增", notes = "树节点新增")
public CommonResponse treeUpdate(@RequestBody JSONObject model) {
Map<String, Object> dto = (Map<String, Object>)model.get("dto");
String id = dto.get("id").toString();
String name = dto.get("name").toString();
// HouseholdPvDistrict householdPvDistrict = householdPvDistrictService.getBaseMapper().selectById(id);
LambdaQueryWrapper<HouseholdPvDistrict> lambda = new QueryWrapper<HouseholdPvDistrict>().lambda();
lambda.eq(HouseholdPvDistrict :: getName, name);
// lambda.eq(HouseholdPvDistrict::getParentId, householdPvDistrict.getParentId());
lambda.ne(HouseholdPvDistrict :: getSequenceNbr, id);
Integer integer = householdPvDistrictService.getBaseMapper().selectCount(lambda);
if (integer > 0){
return CommonResponseUtil.failure("节点已存在!");
}
return CommonResponseUtil.success(householdPvDistrictService.treeUpdate(Long.parseLong(id), name));
}
/**
* 树节点删除
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "/treeNodesRemove")
@ApiOperation(httpMethod = "DELETE", value = "树节点删除", notes = "树节点删除")
public CommonResponse treeNodesRemove(@RequestParam("id") String id) {
String result = householdPvDistrictService.treeNodesRemove(Long.parseLong(id));
if (!"ok".equals(result)) {
return CommonResponseUtil.failure(result);
}
return CommonResponseUtil.success(result);
}
}
package com.yeejoin.amos.boot.module.jxiop.biz.controller;
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.List;
import com.yeejoin.amos.boot.module.jxiop.biz.service.impl.HouseholdPvInstallServiceImpl;
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.jxiop.api.dto.HouseholdPvInstallDto;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
/**
* 户用光伏合同表
*
* @author system_generator
* @date 2023-03-17
*/
@RestController
@Api(tags = "户用光伏合同表Api")
@RequestMapping(value = "/household-pv-install")
public class HouseholdPvInstallController extends BaseController {
@Autowired
HouseholdPvInstallServiceImpl householdPvInstallServiceImpl;
/**
* 新增户用光伏合同表
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增户用光伏合同表", notes = "新增户用光伏合同表")
public ResponseModel<HouseholdPvInstallDto> save(@RequestBody HouseholdPvInstallDto model) {
model = householdPvInstallServiceImpl.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<HouseholdPvInstallDto> updateBySequenceNbrHouseholdPvInstall(@RequestBody HouseholdPvInstallDto model,@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(householdPvInstallServiceImpl.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(householdPvInstallServiceImpl.removeById(sequenceNbr));
}
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET",value = "根据sequenceNbr查询单个户用光伏合同表", notes = "根据sequenceNbr查询单个户用光伏合同表")
public ResponseModel<HouseholdPvInstallDto> selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(householdPvInstallServiceImpl.queryBySeq(sequenceNbr));
}
/**
* 列表分页查询
*
* @param current 当前页
* @param current 每页大小
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET",value = "户用光伏合同表分页查询", notes = "户用光伏合同表分页查询")
public ResponseModel<Page<HouseholdPvInstallDto>> queryForPage(@RequestParam(value = "current") int current,@RequestParam
(value = "size") int size) {
Page<HouseholdPvInstallDto> page = new Page<>();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(householdPvInstallServiceImpl.queryForHouseholdPvInstallPage(page));
}
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "户用光伏合同表列表全部数据查询", notes = "户用光伏合同表列表全部数据查询")
@GetMapping(value = "/list")
public ResponseModel<List<HouseholdPvInstallDto>> selectForList() {
return ResponseHelper.buildResponse(householdPvInstallServiceImpl.queryForHouseholdPvInstallList());
}
}
package com.yeejoin.amos.boot.module.jxiop.biz.controller;
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.List;
import com.yeejoin.amos.boot.module.jxiop.biz.service.impl.HouseholdPvLeaseServiceImpl;
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.jxiop.api.dto.HouseholdPvLeaseDto;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
/**
* 户用光伏合同表
*
* @author system_generator
* @date 2023-03-17
*/
@RestController
@Api(tags = "户用光伏合同表Api")
@RequestMapping(value = "/household-pv-lease")
public class HouseholdPvLeaseController extends BaseController {
@Autowired
HouseholdPvLeaseServiceImpl householdPvLeaseServiceImpl;
/**
* 新增户用光伏合同表
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增户用光伏合同表", notes = "新增户用光伏合同表")
public ResponseModel<HouseholdPvLeaseDto> save(@RequestBody HouseholdPvLeaseDto model) {
model = householdPvLeaseServiceImpl.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<HouseholdPvLeaseDto> updateBySequenceNbrHouseholdPvLease(@RequestBody HouseholdPvLeaseDto model,@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(householdPvLeaseServiceImpl.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(householdPvLeaseServiceImpl.removeById(sequenceNbr));
}
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET",value = "根据sequenceNbr查询单个户用光伏合同表", notes = "根据sequenceNbr查询单个户用光伏合同表")
public ResponseModel<HouseholdPvLeaseDto> selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(householdPvLeaseServiceImpl.queryBySeq(sequenceNbr));
}
/**
* 列表分页查询
*
* @param current 当前页
* @param current 每页大小
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET",value = "户用光伏合同表分页查询", notes = "户用光伏合同表分页查询")
public ResponseModel<Page<HouseholdPvLeaseDto>> queryForPage(@RequestParam(value = "current") int current,@RequestParam
(value = "size") int size) {
Page<HouseholdPvLeaseDto> page = new Page<>();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(householdPvLeaseServiceImpl.queryForHouseholdPvLeasePage(page));
}
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "户用光伏合同表列表全部数据查询", notes = "户用光伏合同表列表全部数据查询")
@GetMapping(value = "/list")
public ResponseModel<List<HouseholdPvLeaseDto>> selectForList() {
return ResponseHelper.buildResponse(householdPvLeaseServiceImpl.queryForHouseholdPvLeaseList());
}
}
package com.yeejoin.amos.boot.module.jxiop.biz.service.impl;
import com.yeejoin.amos.boot.module.jxiop.api.entity.HouseholdPvContact;
import com.yeejoin.amos.boot.module.jxiop.api.mapper.HouseholdPvContactMapper;
import com.yeejoin.amos.boot.module.jxiop.api.service.IHouseholdPvContactService;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvContactDto;
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;
/**
* 户用光伏合同表服务实现类
*
* @author system_generator
* @date 2023-03-17
*/
@Service
public class HouseholdPvContactServiceImpl extends BaseService<HouseholdPvContactDto,HouseholdPvContact,HouseholdPvContactMapper> implements IHouseholdPvContactService {
/**
* 分页查询
*/
public Page<HouseholdPvContactDto> queryForHouseholdPvContactPage(Page<HouseholdPvContactDto> page) {
return this.queryForPage(page, null, false);
}
/**
* 列表查询 示例
*/
public List<HouseholdPvContactDto> queryForHouseholdPvContactList() {
return this.queryForList("" , false);
}
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.jxiop.biz.service.impl;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yeejoin.amos.boot.module.jxiop.api.Enum.EquipType;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jxiop.api.util.FileUtil;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvDeviceDto;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvDeviceImport;
import com.yeejoin.amos.boot.module.jxiop.api.entity.HouseholdPvDevice;
import com.yeejoin.amos.boot.module.jxiop.api.mapper.HouseholdPvDeviceMapper;
import com.yeejoin.amos.boot.module.jxiop.api.service.IHouseholdPvDeviceService;
/**
* 户用光伏设备表服务实现类
*
* @author system_generator
* @date 2023-03-17
*/
@Service
public class HouseholdPvDeviceServiceImpl
extends BaseService<HouseholdPvDeviceDto, HouseholdPvDevice, HouseholdPvDeviceMapper>
implements IHouseholdPvDeviceService {
@Autowired
HouseholdPvDeviceMapper householdPvDeviceMapper;
/**
* 分页查询
*/
public IPage<HouseholdPvDevice> queryForHouseholdPvDevicePage(Page<HouseholdPvDevice> page, Long objId) {
LambdaQueryWrapper<HouseholdPvDevice> lambda = new QueryWrapper<HouseholdPvDevice>().lambda();
lambda.eq(HouseholdPvDevice :: getHouseholdPvId, objId);
lambda.orderByDesc(HouseholdPvDevice::getRecDate);
return householdPvDeviceMapper.selectPage(page, lambda);
}
/**
* 列表查询 示例
*/
public List<HouseholdPvDeviceDto> queryForHouseholdPvDeviceList() {
return this.queryForList("", false);
}
@Override
public void exportTemplates(HttpServletResponse response) {
FileUtil.downloadResource("equipTemplates.xls", "templates/equipTemplates.xls", response);
}
@Override
public void importData(List<HouseholdPvDeviceImport> list, long householdPvId) {
List<HouseholdPvDevice> dataList = new ArrayList<>();
for (HouseholdPvDeviceImport householdPvDeviceImport : list) {
HouseholdPvDevice householdPvDevice = new HouseholdPvDevice();
BeanUtils.copyProperties(householdPvDeviceImport, householdPvDevice);
householdPvDevice.setHouseholdPvId(householdPvId);
// 其他类型特殊处理
if (EquipType.OTHER.getName().equals(householdPvDeviceImport.getType())){
householdPvDevice.setName(null);
householdPvDevice.setBrand(null);
householdPvDevice.setSNCode(null);
}
dataList.add(householdPvDevice);
}
this.baseMapper.insertAndUpdate(dataList);
LambdaQueryWrapper<HouseholdPvDevice> lambda = new QueryWrapper<HouseholdPvDevice>().lambda();
lambda.eq(HouseholdPvDevice::getType, EquipType.OTHER.getName());
HouseholdPvDevice householdPvDevice = new HouseholdPvDevice();
householdPvDevice.setName("其他");
baseMapper.update(householdPvDevice, lambda);
}
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.jxiop.biz.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.jxiop.api.dto.CompanyTreeDto;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvDistrictDto;
import com.yeejoin.amos.boot.module.jxiop.api.entity.HouseholdPvDistrict;
import com.yeejoin.amos.boot.module.jxiop.api.mapper.HouseholdPvDistrictMapper;
import com.yeejoin.amos.boot.module.jxiop.api.service.IHouseholdPvDistrictService;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import com.yeejoin.amos.feign.privilege.model.UserOrgTreeModel;
import org.apache.commons.lang3.ObjectUtils;
import org.joda.time.LocalDateTime;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 服务实现类
*
* @author system_generator
* @date 2023-03-17
*/
@Service
public class HouseholdPvDistrictServiceImpl extends BaseService<HouseholdPvDistrictDto, HouseholdPvDistrict, HouseholdPvDistrictMapper> implements IHouseholdPvDistrictService {
@Autowired
RedisUtils redisUtils;
@Autowired
HouseholdPvDistrictMapper householdPvDistrictMapper;
/**
* 分页查询
*/
public Page<HouseholdPvDistrictDto> queryForHouseholdPvDistrictPage(Page<HouseholdPvDistrictDto> page) {
return this.queryForPage(page, null, false);
}
/**
* 列表查询 示例
*/
public List<HouseholdPvDistrictDto> queryForHouseholdPvDistrictList() {
Privilege.companyClient.queryOrgTree(null);
return this.queryForList("", false);
}
@Override
public HouseholdPvDistrict treeAdd(Long parentId, String name) {
String random = "" + Math.random();
String substring = random.substring(random.length() - 4);
HouseholdPvDistrict householdPvDistrict = new HouseholdPvDistrict();
householdPvDistrict.setName(name);
householdPvDistrict.setParentId(parentId);
householdPvDistrict.setCreateTime(LocalDateTime.now().toDate());
HouseholdPvDistrict parentDetail = householdPvDistrictMapper.selectById(parentId);
if (ObjectUtils.isEmpty(parentDetail)) {
FeignClientResult<CompanyModel> companyModelFeignClientResult = Privilege.companyClient.seleteOne(parentId);
CompanyModel result = companyModelFeignClientResult.getResult();
if (!ObjectUtils.isEmpty(result)) {
householdPvDistrict.setBizOrgCode(result.getOrgCode() + "*" + substring);
}
} else {
householdPvDistrict.setBizOrgCode(parentDetail.getBizOrgCode() + "*" + substring);
}
householdPvDistrictMapper.insert(householdPvDistrict);
return householdPvDistrict;
}
@Override
public HouseholdPvDistrict treeUpdate(Long id, String name) {
HouseholdPvDistrict householdPvDistrict = new HouseholdPvDistrict();
householdPvDistrict.setSequenceNbr(id);
householdPvDistrict.setName(name);
this.updateById(householdPvDistrict);
return householdPvDistrict;
}
@Override
public String treeNodesRemove(Long id) {
String result = "ok";
Integer treeNodes = householdPvDistrictMapper.countTreeNodesById(id);
Integer integer = householdPvDistrictMapper.countHouseholdById(id);
if (treeNodes > 0) {
return "该节点存在子节点";
} else if (integer > 0) {
return "该节点已绑定户用光伏信息";
}
this.removeById(id);
return result;
}
@Override
public List<CompanyTreeDto> getTree() {
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
Long sequenceNbr = reginParams.getCompany().getSequenceNbr();
FeignClientResult<Collection<UserOrgTreeModel>> collectionFeignClientResult = Privilege.companyClient.queryOrgTree(sequenceNbr);
List<CompanyTreeDto> list = householdPvDistrictMapper.getListByParentId(reginParams.getCompany().getOrgCode(), null);
if (collectionFeignClientResult != null) {
Collection<UserOrgTreeModel> result = collectionFeignClientResult.getResult();
change(result, list);
}
return list.stream().filter(a -> list.stream().noneMatch(c -> c.getId().equals(a.getParentId()))).peek(b -> b.setChildren(getCompanyBuildingChildrenTree(b.getId(), list))).collect(Collectors.toList());
}
@Override
public List<CompanyTreeDto> getBusinessTree(Long parentId) {
String orgCode = getOrgCode(parentId);
if (ObjectUtils.isEmpty(orgCode)){
return new ArrayList<>();
}
List<CompanyTreeDto> list = householdPvDistrictMapper.getListByParentId(orgCode, parentId);
return list.stream().filter(a -> list.stream().noneMatch(c -> c.getId().equals(a.getParentId()))).peek(b -> b.setChildren(getCompanyBuildingChildrenTree(b.getId(), list))).collect(Collectors.toList());
}
@Override
public List<CompanyTreeDto> stationTree() {
ArrayList<CompanyTreeDto> list = new ArrayList<>();
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
Long sequenceNbr = reginParams.getCompany().getSequenceNbr();
FeignClientResult<Collection<UserOrgTreeModel>> collectionFeignClientResult = Privilege.companyClient.queryOrgTree(sequenceNbr);
if (collectionFeignClientResult != null) {
Collection<UserOrgTreeModel> result = collectionFeignClientResult.getResult();
change(result, list);
}
return list.stream().filter(a -> list.stream().noneMatch(c -> c.getId().equals(a.getParentId()))).peek(b -> b.setChildren(getCompanyBuildingChildrenTree(b.getId(), list))).collect(Collectors.toList());
}
private String getOrgCode(Long platformCompanyId) {
String bizOrgCode = null;
HouseholdPvDistrict parentDetail = householdPvDistrictMapper.selectById(platformCompanyId);
if (ObjectUtils.isEmpty(parentDetail)) {
FeignClientResult<CompanyModel> companyModelFeignClientResult = Privilege.companyClient.seleteOne(platformCompanyId);
CompanyModel result = companyModelFeignClientResult.getResult();
if (!ObjectUtils.isEmpty(result) && !ObjectUtils.isEmpty(result.getLevel()) && "station".equals(result.getLevel())) {
bizOrgCode = result.getOrgCode();
}
} else {
bizOrgCode = parentDetail.getBizOrgCode();
}
return bizOrgCode;
}
private void change(Collection<UserOrgTreeModel> data, List<CompanyTreeDto> result) {
data.forEach(item -> {
CompanyTreeDto dto = new CompanyTreeDto();
BeanUtils.copyProperties(item, dto, "children");
Map<String, Object> detail = (Map<String, Object>) item.getObject();
if (!ObjectUtils.isEmpty(detail)) {
dto.setLevel(detail.getOrDefault("level", "").toString());
}
result.add(dto);
if (!ObjectUtils.isEmpty(item.getChildren())) {
change(item.getChildren(), result);
}
});
}
private List<CompanyTreeDto> getCompanyBuildingChildrenTree(String parentId, List<CompanyTreeDto> all) {
return all.stream().filter(a -> parentId.equals(a.getParentId())).peek(a -> {
a.setChildren(getCompanyBuildingChildrenTree(a.getId(), all));
}).collect(Collectors.toList());
}
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.jxiop.biz.service.impl;
import com.yeejoin.amos.boot.module.jxiop.api.entity.HouseholdPvInstall;
import com.yeejoin.amos.boot.module.jxiop.api.mapper.HouseholdPvInstallMapper;
import com.yeejoin.amos.boot.module.jxiop.api.service.IHouseholdPvInstallService;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvInstallDto;
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;
/**
* 户用光伏合同表服务实现类
*
* @author system_generator
* @date 2023-03-17
*/
@Service
public class HouseholdPvInstallServiceImpl extends BaseService<HouseholdPvInstallDto,HouseholdPvInstall,HouseholdPvInstallMapper> implements IHouseholdPvInstallService {
/**
* 分页查询
*/
public Page<HouseholdPvInstallDto> queryForHouseholdPvInstallPage(Page<HouseholdPvInstallDto> page) {
return this.queryForPage(page, null, false);
}
/**
* 列表查询 示例
*/
public List<HouseholdPvInstallDto> queryForHouseholdPvInstallList() {
return this.queryForList("" , false);
}
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.jxiop.biz.service.impl;
import com.yeejoin.amos.boot.module.jxiop.api.entity.HouseholdPvLease;
import com.yeejoin.amos.boot.module.jxiop.api.mapper.HouseholdPvLeaseMapper;
import com.yeejoin.amos.boot.module.jxiop.api.service.IHouseholdPvLeaseService;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvLeaseDto;
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;
/**
* 户用光伏合同表服务实现类
*
* @author system_generator
* @date 2023-03-17
*/
@Service
public class HouseholdPvLeaseServiceImpl extends BaseService<HouseholdPvLeaseDto,HouseholdPvLease,HouseholdPvLeaseMapper> implements IHouseholdPvLeaseService {
/**
* 分页查询
*/
public Page<HouseholdPvLeaseDto> queryForHouseholdPvLeasePage(Page<HouseholdPvLeaseDto> page) {
return this.queryForPage(page, null, false);
}
/**
* 列表查询 示例
*/
public List<HouseholdPvLeaseDto> queryForHouseholdPvLeaseList() {
return this.queryForList("" , false);
}
}
\ No newline at end of file
## DB properties:
spring.datasource.url=jdbc:mysql://172.16.10.220:3306/production?allowMultiQueries=true&serverTimezone=GMT%2B8&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=Yeejoin@2020
## eureka properties:
eureka.instance.hostname=172.16.10.220
eureka.client.serviceUrl.defaultZone=http://admin:a1234560@${eureka.instance.hostname}:10001/eureka/
## redis properties:
spring.redis.database=1
spring.redis.host=172.16.10.220
spring.redis.port=6379
spring.redis.password=yeejoin@2020
spring.cache.type=GENERIC
j2cache.open-spring-cache=true
j2cache.cache-clean-mode=passive
j2cache.allow-null-values=true
j2cache.redis-client=lettuce
j2cache.l2-cache-open=true
j2cache.broadcast=net.oschina.j2cache.cache.support.redis.SpringRedisPubSubPolicy
j2cache.L1.provider_class=caffeine
j2cache.L2.provider_class=net.oschina.j2cache.cache.support.redis.SpringRedisProvider
j2cache.L2.config_section=lettuce
j2cache.sync_ttl_to_redis=true
j2cache.default_cache_null_object=false
j2cache.serialization=fst
caffeine.properties=/caffeine.properties
lettuce.mode=single
lettuce.namespace=
lettuce.storage=generic
lettuce.channel=j2cache
lettuce.scheme=redis
lettuce.hosts=${spring.redis.host}:${spring.redis.port}
lettuce.password=${spring.redis.password}
lettuce.database=${spring.redis.database}
lettuce.sentinelMasterId=
lettuce.maxTotal=100
lettuce.maxIdle=10
lettuce.minIdle=10
lettuce.timeout=10000
emqx.clean-session=true
emqx.client-id=${spring.application.name}-${random.int[1024,65536]}
emqx.broker=tcp://172.16.3.18:2883
emqx.user-name=super
emqx.password=a123456
emqx.max-inflight=1000
spring.influx.url=http://39.98.246.31:8086
spring.influx.password=Yeejoin@2020
spring.influx.user=root
spring.influx.database=iot_platform
spring.influx.retention_policy=default
spring.influx.retention_policy_time=30d
spring.influx.actions=10000
spring.influx.bufferLimit=20000
knife4j.production=false
knife4j.enable=true
knife4j.basic.enable=true
knife4j.basic.username=admin
knife4j.basic.password=a1234560
management.security.enabled=true
spring.security.user.name=admin
spring.security.user.password=a1234560
fire-rescue=123
\ No newline at end of file
spring.application.name=AMOS-JXIOP-WJ
server.servlet.context-path=/jxiop
server.port=33100
server.uri-encoding=UTF-8
spring.profiles.active=dev
spring.jackson.time-zone=GMT+8
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
logging.config=classpath:logback-${spring.profiles.active}.xml
## mybatis-plus配置控制台打印完整带参数SQL语句
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
## DB properties:
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
spring.datasource.hikari.minimum-idle=10
spring.datasource.hikari.maximum-pool-size=25
spring.datasource.hikari.auto-commit=true
spring.datasource.hikari.idle-timeout=30000
spring.datasource.hikari.pool-name=DatebookHikariCP
spring.datasource.hikari.max-lifetime=120000
spring.datasource.hikari.connection-timeout=30000
spring.datasource.hikari.connection-test-query=SELECT 1
##liquibase
spring.liquibase.change-log=classpath:/db/changelog/changelog-master.xml
spring.liquibase.enabled=true
## eureka properties:
eureka.client.registry-fetch-interval-seconds=5
eureka.instance.prefer-ip-address=true
eureka.instance.health-check-url-path=/actuator/health
eureka.instance.lease-expiration-duration-in-seconds=10
eureka.instance.lease-renewal-interval-in-seconds=5
eureka.instance.metadata-map.management.context-path=${server.servlet.context-path}/actuator
eureka.instance.status-page-url-path=/actuator/info
eureka.instance.metadata-map.management.api-docs=http://localhost:${server.port}${server.servlet.context-path}/doc.html
## redis properties:
spring.redis.lettuce.pool.max-active=200
spring.redis.lettuce.pool.max-wait=-1
spring.redis.lettuce.pool.max-idle=10
spring.redis.lettuce.pool.min-idle=0
## redis失效时间
redis.cache.failure.time=10800
spring.servlet.multipart.maxFileSize=100MB
spring.servlet.multipart.maxRequestSize=100MB
spring.main.allow-bean-definition-overriding=true
spring.http.encoding.charset=utf-8
spring.http.encoding.enabled=true
spring.http.encoding.force=true
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
<property name="LOG_HOME" value="log" />
<property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %-50.50logger{50} - %msg [%file:%line] %n" />
<!-- 按照每天生成日志文件 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--日志文件输出的文件名-->
<FileNamePattern>${LOG_HOME}/ccs.log.%d{yyyy-MM-dd}.log</FileNamePattern>
<!--日志文件保留天数-->
<MaxHistory>7</MaxHistory>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
<pattern>${LOG_PATTERN}</pattern>
</encoder>
<!--日志文件最大的大小-->
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>30mb</MaxFileSize>
</triggeringPolicy>
</appender>
<!-- 控制台输出 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
<pattern>${LOG_PATTERN}</pattern>
</encoder>
</appender>
<!--myibatis log configure-->
<logger name="com.apache.ibatis" level="DEBUG"/>
<logger name="java.sql.Connection" level="DEBUG"/>
<logger name="java.sql.Statement" level="DEBUG"/>
<logger name="java.sql.PreparedStatement" level="DEBUG"/>
<logger name="com.baomidou.mybatisplus" level="DEBUG"/>
<logger name="org.springframework" level="DEBUG"/>
<logger name="org.typroject" level="DEBUG"/>
<logger name="com.yeejoin" level="DEBUG"/>
<!-- 日志输出级别 -->
<root level="INFO">
<appender-ref ref="FILE" />
<appender-ref ref="STDOUT" />
</root>
</configuration>
<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<artifactId>amos-boot-system-jxiop</artifactId>
<parent>
<artifactId>amos-biz-boot</artifactId>
<groupId>com.amosframework.boot</groupId>
<version>1.0.0</version>
</parent>
<packaging>pom</packaging>
<modules>
<module>amos-boot-module-jxiop-api</module>
<module>amos-boot-module-jxiop-biz</module>
</modules>
<dependencies>
<dependency>
<groupId>com.amosframework.boot</groupId>
<artifactId>amos-boot-biz-common</artifactId>
<version>${amos-biz-boot.version}</version>
<exclusions>
<exclusion>
<artifactId>poi-ooxml</artifactId>
<groupId>org.apache.poi</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
<version>1.9</version>
</dependency>
<dependency>
<groupId>com.yeejoin</groupId>
<artifactId>amos-feign-privilege</artifactId>
<version>1.7.14-SNAPSHOT</version>
</dependency>
<!-- druid -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!-- Vastbase G100 -->
<dependency>
<groupId>cn.com.vastdata</groupId>
<artifactId>vastbase</artifactId>
<version>1.0.0.2</version>
</dependency>
<!-- Logstash -->
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>6.3</version>
</dependency>
</dependencies>
</project>
......@@ -337,5 +337,6 @@
<module>amos-boot-system-tdc</module>
<module>amos-boot-system-kgd</module>
<module>amos-boot-system-file</module>
<module>amos-boot-system-jxiop</module>
</modules>
</project>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment