diff --git a/process-api/src/main/java/com/njcn/process/pojo/param/LoadTypeUserAUploadParam.java b/process-api/src/main/java/com/njcn/process/pojo/param/LoadTypeUserAUploadParam.java index cfecd31ee..a0446a2d4 100644 --- a/process-api/src/main/java/com/njcn/process/pojo/param/LoadTypeUserAUploadParam.java +++ b/process-api/src/main/java/com/njcn/process/pojo/param/LoadTypeUserAUploadParam.java @@ -23,7 +23,6 @@ public class LoadTypeUserAUploadParam { private String id; @ApiModelProperty(name = "file",value = "实测报告文件",required = true) - @NotNull(message = "实测报告文件不可为空") private MultipartFile file; @ApiModelProperty(name = "status",value = "数据状态(1:提交 2:保存)",required = true) diff --git a/process-api/src/main/java/com/njcn/process/pojo/param/LoadTypeUserAssociateParam.java b/process-api/src/main/java/com/njcn/process/pojo/param/LoadTypeUserAssociateParam.java index 3a7c91a19..5f68720b8 100644 --- a/process-api/src/main/java/com/njcn/process/pojo/param/LoadTypeUserAssociateParam.java +++ b/process-api/src/main/java/com/njcn/process/pojo/param/LoadTypeUserAssociateParam.java @@ -6,7 +6,6 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; /** * 未建档干扰源用户关联营销Param @@ -28,7 +27,11 @@ public class LoadTypeUserAssociateParam { private String userLoadType; @ApiModelProperty("关联干扰源用户编号") - @NotNull(message = "关联干扰源用户编号不可为空") + @NotBlank(message = "关联干扰源用户编号不可为空") private String relationUserId; + @ApiModelProperty("关联干扰源用户名称") + @NotBlank(message = "关联干扰源用户名称不可为空") + private String relationUserName; + } diff --git a/process-api/src/main/java/com/njcn/process/pojo/param/LoadTypeUserIUploadParam.java b/process-api/src/main/java/com/njcn/process/pojo/param/LoadTypeUserIUploadParam.java index d0b9a5c53..b930bbf5b 100644 --- a/process-api/src/main/java/com/njcn/process/pojo/param/LoadTypeUserIUploadParam.java +++ b/process-api/src/main/java/com/njcn/process/pojo/param/LoadTypeUserIUploadParam.java @@ -23,7 +23,6 @@ public class LoadTypeUserIUploadParam { private String id; @ApiModelProperty(name = "file",value = "入网报告文件",required = true) - @NotNull(message = "入网报告文件不可为空") private MultipartFile file; @ApiModelProperty(name = "status",value = "数据状态(1:提交 2:保存)",required = true) diff --git a/process-api/src/main/java/com/njcn/process/pojo/param/LoadTypeUserSearchParam.java b/process-api/src/main/java/com/njcn/process/pojo/param/LoadTypeUserSearchParam.java index 1bb18fbc8..882c514b6 100644 --- a/process-api/src/main/java/com/njcn/process/pojo/param/LoadTypeUserSearchParam.java +++ b/process-api/src/main/java/com/njcn/process/pojo/param/LoadTypeUserSearchParam.java @@ -30,7 +30,10 @@ public class LoadTypeUserSearchParam { @ApiModelProperty("关联干扰源用户名称") private String relationUserName; - @ApiModelProperty("是否上传报告(0:否 1:是)") + @ApiModelProperty("是否上传入网报告(0:否 1:是)") + private Integer iIsFileUpload; + + @ApiModelProperty("是否上传实测报告(0:否 1:是)") private Integer aIsFileUpload; @ApiModelProperty("页码") diff --git a/process-api/src/main/java/com/njcn/process/pojo/po/RLoadTypeUserManage.java b/process-api/src/main/java/com/njcn/process/pojo/po/RLoadTypeUserManage.java index 1ca54efae..5c62670a2 100644 --- a/process-api/src/main/java/com/njcn/process/pojo/po/RLoadTypeUserManage.java +++ b/process-api/src/main/java/com/njcn/process/pojo/po/RLoadTypeUserManage.java @@ -56,6 +56,10 @@ public class RLoadTypeUserManage implements Serializable { * 用户类型,字典表 */ private String userLoadType; + /** + * 入网报告是否上传(0:否 1:是) + */ + private Integer iIsFileUpload; /** * 入网报告状态,字典ID */ diff --git a/process-api/src/main/java/com/njcn/process/pojo/vo/LoadTypeRelationExcel.java b/process-api/src/main/java/com/njcn/process/pojo/vo/LoadTypeRelationExcel.java new file mode 100644 index 000000000..9ebb6a012 --- /dev/null +++ b/process-api/src/main/java/com/njcn/process/pojo/vo/LoadTypeRelationExcel.java @@ -0,0 +1,32 @@ +package com.njcn.process.pojo.vo; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +import java.io.Serializable; + +/** + * @author qijian + * @version 1.0.0 + * @createTime 2022/12/07 9:21 + */ +@Data +public class LoadTypeRelationExcel implements Serializable { + + @Excel(name = "单位名称", width = 15) + private String orgName; + + @Excel(name = "干扰源类型", width = 15) + private String loadTypeName; + + @Excel(name = "干扰源用户名称", width = 15) + private String userName; + + @Excel(name = "关联干扰源用户名称", width = 15) + private String relationUserName; + + @Excel(name = "实测报告状态", width = 15) + private String aStatusName; + + +} diff --git a/process-api/src/main/java/com/njcn/process/pojo/vo/LoadTypeUserExcel.java b/process-api/src/main/java/com/njcn/process/pojo/vo/LoadTypeUserExcel.java new file mode 100644 index 000000000..5174a201d --- /dev/null +++ b/process-api/src/main/java/com/njcn/process/pojo/vo/LoadTypeUserExcel.java @@ -0,0 +1,38 @@ +package com.njcn.process.pojo.vo; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * @author qijian + * @version 1.0.0 + * @createTime 2022/12/06 9:21 + */ +@Data +public class LoadTypeUserExcel implements Serializable { + + @Excel(name = "单位名称", width = 15) + private String orgName; + + @Excel(name = "干扰源类型", width = 15) + private String loadTypeName; + + @Excel(name = "干扰源用户名称", width = 15) + private String userName; + + @Excel(name = "建档时间", format = "yyyy-MM-dd HH:mm:ss", width = 15) + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + private Date recordTime; + + @Excel(name = "报告是否上传", width = 15) + private String iIsFileUpload; + + @Excel(name = "入网报告状态", width = 15) + private String iStatusName; + + +} diff --git a/process-api/src/main/java/com/njcn/process/pojo/vo/RLoadTypeUserManageVO.java b/process-api/src/main/java/com/njcn/process/pojo/vo/RLoadTypeUserManageVO.java index 5fcf88a62..bdbf6b784 100644 --- a/process-api/src/main/java/com/njcn/process/pojo/vo/RLoadTypeUserManageVO.java +++ b/process-api/src/main/java/com/njcn/process/pojo/vo/RLoadTypeUserManageVO.java @@ -1,5 +1,6 @@ package com.njcn.process.pojo.vo; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; @@ -17,103 +18,142 @@ public class RLoadTypeUserManageVO implements Serializable { /** * 主键 */ + @ApiModelProperty("主键") private String id; /** * 单位ID */ + @ApiModelProperty("单位ID") private String orgNo; /** * 干扰源类型ID */ + @ApiModelProperty("干扰源类型ID") private String loadType; /** * 干扰源用户名称 */ + @ApiModelProperty("干扰源用户名称") private String userName; /** * 关联干扰源用户编号ID */ + @ApiModelProperty("关联干扰源用户编号ID") private String relationUserId; /** * 关联干扰源用户名称 */ + @ApiModelProperty("关联干扰源用户名称") private String relationUserName; /** * 建档时间 */ + @ApiModelProperty("建档时间") private Date recordTime; /** * 送电日期(并网日期) */ + @ApiModelProperty("送电日期(并网日期)") private Date powerTransmissionDate; /** * 合同容量(总装机容量) */ + @ApiModelProperty("合同容量(总装机容量)") private Float userArgeementCapacity; /** * 用户类型,字典表 */ + @ApiModelProperty("用户类型,字典表") private String userLoadType; + /** + * 入网报告是否上传(0:否 1:是) + */ + @ApiModelProperty("入网报告是否上传(0:否 1:是)") + private Integer iIsFileUpload; /** * 入网报告状态,字典ID */ + @ApiModelProperty("入网报告状态,字典ID") private String iStatus; /** * 入网报告路径 */ + @ApiModelProperty("入网报告路径") private String iFilePath; /** * 入网报告上传时间 */ + @ApiModelProperty("入网报告上传时间") private Date iUploadTime; /** * 入网是否超标(0:否 1:是) */ + @ApiModelProperty("入网是否超标(0:否 1:是)") private Integer iIsOverLimit; /** * 入网超标指标 */ + @ApiModelProperty("入网超标指标") private String iOverLimitTarget; /** * 入网计划采取措施,字典ID */ + @ApiModelProperty("入网计划采取措施,字典ID") private String iPlanStep; /** * 入网详情 */ + @ApiModelProperty("入网详情") private String iDescription; /** * 实测报告是否上传(0:否 1:是) */ + @ApiModelProperty("实测报告是否上传(0:否 1:是)") private Integer aIsFileUpload; /** * 实测报告状态,字典ID */ + @ApiModelProperty("实测报告状态,字典ID") private String aStatus; /** * 实测报告路径 */ + @ApiModelProperty("实测报告路径") private String aFilePath; /** * 实测报告上传时间 */ + @ApiModelProperty("实测报告上传时间") private Date aUploadTime; /** * 实测是否超标(0:否 1:是) */ + @ApiModelProperty("实测是否超标(0:否 1:是)") private Integer aIsOverLimit; /** * 实测超标指标 */ + @ApiModelProperty("实测超标指标") private String aOverLimitTarget; /** * 实测计划采取措施,字典ID */ + @ApiModelProperty("实测计划采取措施,字典ID") private String aPlanStep; /** * 实测详情 */ + @ApiModelProperty("实测详情") private String aDescription; + @ApiModelProperty("单位名称") + private String orgName; + + @ApiModelProperty("入网报告文件地址") + private String iFile; + + @ApiModelProperty("实测报告文件地址") + private String aFile; + } diff --git a/process-boot/src/main/java/com/njcn/process/controller/LoadTypeUserManageController.java b/process-boot/src/main/java/com/njcn/process/controller/LoadTypeUserManageController.java index 594292178..e208c591a 100644 --- a/process-boot/src/main/java/com/njcn/process/controller/LoadTypeUserManageController.java +++ b/process-boot/src/main/java/com/njcn/process/controller/LoadTypeUserManageController.java @@ -1,5 +1,7 @@ package com.njcn.process.controller; +import cn.afterturn.easypoi.excel.ExcelExportUtil; +import cn.afterturn.easypoi.excel.entity.ExportParams; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.constant.OperateType; @@ -7,8 +9,10 @@ import com.njcn.common.pojo.enums.common.LogEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; +import com.njcn.poi.util.PoiUtil; import com.njcn.process.pojo.param.*; -import com.njcn.process.pojo.po.RLoadTypeUserManage; +import com.njcn.process.pojo.vo.LoadTypeRelationExcel; +import com.njcn.process.pojo.vo.LoadTypeUserExcel; import com.njcn.process.pojo.vo.RLoadTypeUserManageVO; import com.njcn.process.service.LoadTypeUserManageService; import com.njcn.web.controller.BaseController; @@ -17,9 +21,13 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.poi.ss.usermodel.Workbook; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + /** * 干扰源用户管理 * @@ -43,7 +51,7 @@ public class LoadTypeUserManageController extends BaseController { */ @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/getLoadTypeUserList") - @ApiOperation("查询所有干扰源用户") + @ApiOperation("查询所有干扰源用户(未建档干扰源用户管理)") @ApiImplicitParam(name = "loadTypeUserSearchParam", value = "干扰源用户入参", required = true) public HttpResult> getLoadTypeUserList(@RequestBody @Validated LoadTypeUserSearchParam loadTypeUserSearchParam){ String methodDescribe = getMethodDescribe("getLoadTypeUserList"); @@ -58,12 +66,12 @@ public class LoadTypeUserManageController extends BaseController { */ @OperateInfo(info = LogEnum.BUSINESS_COMMON) @GetMapping("/getLoadTypeUserById") - @ApiOperation("根据id查询干扰源用户") + @ApiOperation("根据id查询干扰源用户(通用)") @ApiImplicitParam(name = "id", value = "id", required = true) - public HttpResult getLoadTypeUserById(@RequestParam("id") String id){ + public HttpResult getLoadTypeUserById(@RequestParam("id") String id){ String methodDescribe = getMethodDescribe("getLoadTypeUserById"); - RLoadTypeUserManage rLoadTypeUserManage = loadTypeUserManageService.getLoadTypeUserById(id); - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rLoadTypeUserManage, methodDescribe); + RLoadTypeUserManageVO rLoadTypeUserManageVO = loadTypeUserManageService.getLoadTypeUserById(id); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rLoadTypeUserManageVO, methodDescribe); } /** @@ -73,7 +81,7 @@ public class LoadTypeUserManageController extends BaseController { */ @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType= OperateType.ADD) @PostMapping("/addLoadTypeUser") - @ApiOperation("新增干扰源用户") + @ApiOperation("新增干扰源用户(未建档干扰源用户管理)") @ApiImplicitParam(name = "loadTypeUserParam", value = "实体参数", required = true) public HttpResult addLoadTypeUser(@RequestBody @Validated LoadTypeUserParam loadTypeUserParam){ String methodDescribe = getMethodDescribe("addLoadTypeUser"); @@ -92,7 +100,7 @@ public class LoadTypeUserManageController extends BaseController { */ @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType= OperateType.UPDATE) @PostMapping("/uploadLoadTypeUserI") - @ApiOperation("上传干扰源用户入网报告") + @ApiOperation("上传干扰源用户入网报告(未建档干扰源用户管理)") // @ApiImplicitParam(name = "loadTypeUserIUploadParam", value = "实体参数", required = true) public HttpResult uploadLoadTypeUserI(@Validated LoadTypeUserIUploadParam loadTypeUserIUploadParam){ String methodDescribe = getMethodDescribe("uploadLoadTypeUserI"); @@ -112,7 +120,7 @@ public class LoadTypeUserManageController extends BaseController { */ @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType= OperateType.UPDATE) @PostMapping("/linkUser") - @ApiOperation("关联营销用户") + @ApiOperation("关联营销用户(未建档干扰源用户管理)") @ApiImplicitParam(name = "loadTypeUserAssociateParam", value = "实体参数", required = true) public HttpResult linkUser(@RequestBody @Validated LoadTypeUserAssociateParam loadTypeUserAssociateParam){ String methodDescribe = getMethodDescribe("linkUser"); @@ -124,6 +132,32 @@ public class LoadTypeUserManageController extends BaseController { } } + /** + * 导出未建档干扰源用户管理信息 + * @author qijian + * @date 2022/12/06 + */ + @ResponseBody + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType= OperateType.DOWNLOAD) + @ApiOperation("导出未建档干扰源用户管理信息") + @PostMapping(value = "exportLoadTypeUserList") + @ApiImplicitParam(name = "list", value = "导出勾选主键参数", required = true) + public HttpResult exportLoadTypeUserList(HttpServletResponse response, @RequestBody List list) { + String methodDescribe = getMethodDescribe("exportLoadTypeUserList"); + String fileName = "未建档干扰源用户管理信息.xls"; + List excelList = null; + try { + excelList = loadTypeUserManageService.exportLoadTypeUserList(list); + } catch (Exception e) { + e.printStackTrace(); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe); + } + ExportParams exportExcel = new ExportParams("未建档干扰源用户管理信息", "未建档干扰源用户"); + Workbook workbook = ExcelExportUtil.exportExcel(exportExcel, LoadTypeUserExcel.class, excelList); + PoiUtil.exportFileByWorkbook(workbook, fileName, response); + return null; + } + /** * 查询所有干扰源用户(与营销系统关联) * @author qijian @@ -131,7 +165,7 @@ public class LoadTypeUserManageController extends BaseController { */ @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/getLoadTypeRelationList") - @ApiOperation("查询所有干扰源用户(与营销系统关联)") + @ApiOperation("查询所有干扰源用户(干扰源用户常态化管理)") @ApiImplicitParam(name = "loadTypeUserSearchParam", value = "干扰源用户入参", required = true) public HttpResult> getLoadTypeRelationList(@RequestBody @Validated LoadTypeUserSearchParam loadTypeUserSearchParam){ String methodDescribe = getMethodDescribe("getLoadTypeRelationList"); @@ -146,7 +180,7 @@ public class LoadTypeUserManageController extends BaseController { */ @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType= OperateType.UPDATE) @PostMapping("/uploadLoadTypeUserA") - @ApiOperation("上传干扰源用户实测报告") + @ApiOperation("上传干扰源用户实测报告(干扰源用户常态化管理)") // @ApiImplicitParam(name = "loadTypeUserAUploadParam", value = "实体参数", required = true) public HttpResult uploadLoadTypeUserA(@Validated LoadTypeUserAUploadParam loadTypeUserAUploadParam){ String methodDescribe = getMethodDescribe("uploadLoadTypeUserA"); @@ -157,4 +191,30 @@ public class LoadTypeUserManageController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe); } } + + /** + * 导出干扰源用户常态化管理信息 + * @author qijian + * @date 2022/12/07 + */ + @ResponseBody + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType= OperateType.DOWNLOAD) + @ApiOperation("导出干扰源用户常态化管理信息") + @PostMapping(value = "exportLoadTypeRelationList") + @ApiImplicitParam(name = "list", value = "导出勾选主键参数", required = true) + public HttpResult exportLoadTypeRelationList(HttpServletResponse response, @RequestBody List list) { + String methodDescribe = getMethodDescribe("exportLoadTypeRelationList"); + String fileName = "导出干扰源用户常态化管理信息.xls"; + List excelList = null; + try { + excelList = loadTypeUserManageService.exportLoadTypeRelationList(list); + } catch (Exception e) { + e.printStackTrace(); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe); + } + ExportParams exportExcel = new ExportParams("干扰源用户常态化管理信息", "干扰源用户常态化管理"); + Workbook workbook = ExcelExportUtil.exportExcel(exportExcel, LoadTypeRelationExcel.class, excelList); + PoiUtil.exportFileByWorkbook(workbook, fileName, response); + return null; + } } diff --git a/process-boot/src/main/java/com/njcn/process/mapper/mapping/LoadTypeUserManageMapper.xml b/process-boot/src/main/java/com/njcn/process/mapper/mapping/LoadTypeUserManageMapper.xml index 39aae0b45..2677ffd5d 100644 --- a/process-boot/src/main/java/com/njcn/process/mapper/mapping/LoadTypeUserManageMapper.xml +++ b/process-boot/src/main/java/com/njcn/process/mapper/mapping/LoadTypeUserManageMapper.xml @@ -18,7 +18,7 @@ and r.user_name like CONCAT('%', #{loadTypeUserSearchParam.userName}, '%') - and r.a_is_file_upload = #{loadTypeUserSearchParam.aIsFileUpload} + and r.i_is_file_upload = #{loadTypeUserSearchParam.iIsFileUpload} @@ -38,7 +38,7 @@ and r.load_type = #{loadTypeUserSearchParam.loadType} - and r.user_name like CONCAT('%', #{loadTypeUserSearchParam.relationUserName}, '%') + and r.user_name like CONCAT('%', #{loadTypeUserSearchParam.userName}, '%') and r.relation_user_name like CONCAT('%', #{loadTypeUserSearchParam.relationUserName}, '%') diff --git a/process-boot/src/main/java/com/njcn/process/service/LoadTypeUserManageService.java b/process-boot/src/main/java/com/njcn/process/service/LoadTypeUserManageService.java index 1da156998..d9c398024 100644 --- a/process-boot/src/main/java/com/njcn/process/service/LoadTypeUserManageService.java +++ b/process-boot/src/main/java/com/njcn/process/service/LoadTypeUserManageService.java @@ -2,9 +2,12 @@ package com.njcn.process.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.process.pojo.param.*; -import com.njcn.process.pojo.po.RLoadTypeUserManage; +import com.njcn.process.pojo.vo.LoadTypeRelationExcel; +import com.njcn.process.pojo.vo.LoadTypeUserExcel; import com.njcn.process.pojo.vo.RLoadTypeUserManageVO; +import java.util.List; + /** * 干扰源用户管理 * @@ -26,7 +29,7 @@ public interface LoadTypeUserManageService { * @param id * @return */ - RLoadTypeUserManage getLoadTypeUserById(String id); + RLoadTypeUserManageVO getLoadTypeUserById(String id); /** * 新增干扰源用户 @@ -62,4 +65,18 @@ public interface LoadTypeUserManageService { * @return */ boolean uploadLoadTypeUserA(LoadTypeUserAUploadParam loadTypeUserAUploadParam); + + /** + * 导出未建档干扰源用户管理信息 + * @param list + * @return + */ + List exportLoadTypeUserList(List list); + + /** + * 导出干扰源用户常态化管理信息 + * @param list + * @return + */ + List exportLoadTypeRelationList(List list); } diff --git a/process-boot/src/main/java/com/njcn/process/service/impl/LoadTypeUserManageServiceImpl.java b/process-boot/src/main/java/com/njcn/process/service/impl/LoadTypeUserManageServiceImpl.java index 954e23921..70b1d97b0 100644 --- a/process-boot/src/main/java/com/njcn/process/service/impl/LoadTypeUserManageServiceImpl.java +++ b/process-boot/src/main/java/com/njcn/process/service/impl/LoadTypeUserManageServiceImpl.java @@ -1,6 +1,7 @@ package com.njcn.process.service.impl; import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.common.pojo.exception.BusinessException; import com.njcn.device.pms.api.DistributionMonitorClient; @@ -12,10 +13,16 @@ import com.njcn.process.enums.ProcessResponseEnum; import com.njcn.process.mapper.LoadTypeUserManageMapper; import com.njcn.process.pojo.param.*; import com.njcn.process.pojo.po.RLoadTypeUserManage; +import com.njcn.process.pojo.vo.LoadTypeRelationExcel; +import com.njcn.process.pojo.vo.LoadTypeUserExcel; import com.njcn.process.pojo.vo.RLoadTypeUserManageVO; import com.njcn.process.service.LoadTypeUserManageService; import com.njcn.system.api.DicDataFeignClient; import com.njcn.system.enums.DicDataEnum; +import com.njcn.system.enums.DicDataTypeEnum; +import com.njcn.system.pojo.po.DictData; +import com.njcn.user.api.DeptFeignClient; +import com.njcn.user.pojo.vo.PvTerminalTreeVO; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; @@ -24,7 +31,10 @@ import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import java.util.Date; +import java.util.List; +import java.util.Map; import java.util.Objects; +import java.util.stream.Collectors; /** * 干扰源用户管理 @@ -44,6 +54,8 @@ public class LoadTypeUserManageServiceImpl implements LoadTypeUserManageService private final DistributionMonitorClient distributionMonitorClient; + private final DeptFeignClient deptFeignClient; + @Resource private MinIoUtils minIoUtils; @@ -58,7 +70,21 @@ public class LoadTypeUserManageServiceImpl implements LoadTypeUserManageService @Override public Page getLoadTypeUserList(LoadTypeUserSearchParam loadTypeUserSearchParam){ Page page = new Page<>(loadTypeUserSearchParam.getPageNum(), loadTypeUserSearchParam.getPageSize()); - return loadTypeUserManageMapper.getLoadTypeUserPage(page,loadTypeUserSearchParam); + Page loadTypeUserPage = loadTypeUserManageMapper.getLoadTypeUserPage(page, loadTypeUserSearchParam); + + //部门处理:根据部门code取名称 + List list = loadTypeUserPage.getRecords(); + List dept = deptFeignClient.allDeptList().getData(); + Map pvTerminalTreeVOMap = dept.stream().collect(Collectors.toMap(PvTerminalTreeVO::getId, pvTerminalTreeVO -> pvTerminalTreeVO)); + List resultList = list.stream().map(item -> { + RLoadTypeUserManageVO rLoadTypeUserManageVO = new RLoadTypeUserManageVO(); + BeanUtils.copyProperties(item, rLoadTypeUserManageVO); + rLoadTypeUserManageVO.setOrgName(pvTerminalTreeVOMap.get(item.getOrgNo()).getName()); //单位名称 + return rLoadTypeUserManageVO; + }).collect(Collectors.toList()); + + //返回新的数据组 + return loadTypeUserPage.setRecords(resultList); } /** @@ -67,9 +93,20 @@ public class LoadTypeUserManageServiceImpl implements LoadTypeUserManageService * @return */ @Override - public RLoadTypeUserManage getLoadTypeUserById(String id) { + public RLoadTypeUserManageVO getLoadTypeUserById(String id) { RLoadTypeUserManage rLoadTypeUserManage = loadTypeUserManageMapper.selectById(id); - return rLoadTypeUserManage; + RLoadTypeUserManageVO rLoadTypeUserManageVO = new RLoadTypeUserManageVO(); + BeanUtils.copyProperties(rLoadTypeUserManage, rLoadTypeUserManageVO); + //文件 + if (rLoadTypeUserManageVO.getIFilePath() != null){ + String iFile = minIoUtils.getObjectUrl(minIoProperties.getBucket(), rLoadTypeUserManageVO.getIFilePath(), 7 * 24 * 60 * 60); + rLoadTypeUserManageVO.setIFile(iFile); + } + if (rLoadTypeUserManageVO.getAFilePath() != null){ + String aFile = minIoUtils.getObjectUrl(minIoProperties.getBucket(), rLoadTypeUserManageVO.getAFilePath(), 7 * 24 * 60 * 60); + rLoadTypeUserManageVO.setIFile(aFile); + } + return rLoadTypeUserManageVO; } /** @@ -82,7 +119,6 @@ public class LoadTypeUserManageServiceImpl implements LoadTypeUserManageService //参数转换 RLoadTypeUserManage rLoadTypeUserManage = new RLoadTypeUserManage(); BeanUtils.copyProperties(loadTypeUserParam, rLoadTypeUserManage); - System.out.println(rLoadTypeUserManage); //塞入建档时间 Date date = DateUtil.parse(loadTypeUserParam.getRecordTime(), "yyyy-MM-dd HH:mm:ss"); @@ -100,21 +136,24 @@ public class LoadTypeUserManageServiceImpl implements LoadTypeUserManageService public boolean uploadLoadTypeUserI(LoadTypeUserIUploadParam loadTypeUserIUploadParam) { RLoadTypeUserManage rLoadTypeUserManage = new RLoadTypeUserManage(); - - //文件上传到Minio服务器,存入文件名 - MinIoUploadResDTO minIoUploadResDTO = fileToMinio(loadTypeUserIUploadParam.getFile()); - rLoadTypeUserManage.setIFilePath(minIoUploadResDTO.getMinFileName()); - rLoadTypeUserManage.setIUploadTime(new Date()); - - //填入数据 BeanUtils.copyProperties(loadTypeUserIUploadParam, rLoadTypeUserManage); - //提交:待审核/保存:新建 - if(Objects.equals(Param.LOAD_TYPE_USER_SUBMIT,loadTypeUserIUploadParam.getStatus())){ - rLoadTypeUserManage.setIStatus(DicDataEnum.AUDIT.getCode()); - }else{ - rLoadTypeUserManage.setIStatus(DicDataEnum.NEWLY.getCode()); + //文件上传到Minio服务器,存入文件名 + if(loadTypeUserIUploadParam.getFile() != null){ + MinIoUploadResDTO minIoUploadResDTO = fileToMinio(loadTypeUserIUploadParam.getFile()); + rLoadTypeUserManage.setIFilePath(minIoUploadResDTO.getMinFileName()); + rLoadTypeUserManage.setIUploadTime(new Date()); } + + //提交:待审核/保存:新建 + DictData dictData; + if(Objects.equals(Param.LOAD_TYPE_USER_SUBMIT,loadTypeUserIUploadParam.getStatus())){ + dictData = dicDataFeignClient.getDicDataByCode(DicDataEnum.AUDIT.getCode()).getData(); + }else{ + dictData = dicDataFeignClient.getDicDataByCode(DicDataEnum.NEWLY.getCode()).getData(); + } + rLoadTypeUserManage.setIStatus(dictData.getId()); + rLoadTypeUserManage.setIIsFileUpload(1); loadTypeUserManageMapper.updateById(rLoadTypeUserManage); return true; @@ -142,7 +181,21 @@ public class LoadTypeUserManageServiceImpl implements LoadTypeUserManageService @Override public Page getLoadTypeRelationList(LoadTypeUserSearchParam loadTypeUserSearchParam) { Page page = new Page<>(loadTypeUserSearchParam.getPageNum(), loadTypeUserSearchParam.getPageSize()); - return loadTypeUserManageMapper.getLoadTypeRelationPage(page,loadTypeUserSearchParam); + Page loadTypeUserPage = loadTypeUserManageMapper.getLoadTypeRelationPage(page,loadTypeUserSearchParam); + + //部门处理:根据部门code取名称 + List list = loadTypeUserPage.getRecords(); + List dept = deptFeignClient.allDeptList().getData(); + Map pvTerminalTreeVOMap = dept.stream().collect(Collectors.toMap(PvTerminalTreeVO::getId, pvTerminalTreeVO -> pvTerminalTreeVO)); + List resultList = list.stream().map(item -> { + RLoadTypeUserManageVO rLoadTypeUserManageVO = new RLoadTypeUserManageVO(); + BeanUtils.copyProperties(item, rLoadTypeUserManageVO); + rLoadTypeUserManageVO.setOrgName(pvTerminalTreeVOMap.get(item.getOrgNo()).getName()); //单位名称 + return rLoadTypeUserManageVO; + }).collect(Collectors.toList()); + + //返回新的数据组 + return loadTypeUserPage.setRecords(resultList); } /** @@ -170,24 +223,123 @@ public class LoadTypeUserManageServiceImpl implements LoadTypeUserManageService public boolean uploadLoadTypeUserA(LoadTypeUserAUploadParam loadTypeUserAUploadParam) { RLoadTypeUserManage rLoadTypeUserManage = new RLoadTypeUserManage(); - - //文件上传到Minio服务器,存入文件名 - MinIoUploadResDTO minIoUploadResDTO = fileToMinio(loadTypeUserAUploadParam.getFile()); - rLoadTypeUserManage.setAFilePath(minIoUploadResDTO.getMinFileName()); - rLoadTypeUserManage.setAUploadTime(new Date()); - - //填入数据 BeanUtils.copyProperties(loadTypeUserAUploadParam, rLoadTypeUserManage); - //提交:待审核/保存:新建 - if(Objects.equals(Param.LOAD_TYPE_USER_SUBMIT,loadTypeUserAUploadParam.getStatus())){ - rLoadTypeUserManage.setAStatus(DicDataEnum.AUDIT.getCode()); - }else{ - rLoadTypeUserManage.setAStatus(DicDataEnum.NEWLY.getCode()); + //文件上传到Minio服务器,存入文件名 + if(loadTypeUserAUploadParam.getFile() != null){ + MinIoUploadResDTO minIoUploadResDTO = fileToMinio(loadTypeUserAUploadParam.getFile()); + rLoadTypeUserManage.setAFilePath(minIoUploadResDTO.getMinFileName()); + rLoadTypeUserManage.setAUploadTime(new Date()); } + //提交:待审核/保存:新建 + DictData dictData; + if(Objects.equals(Param.LOAD_TYPE_USER_SUBMIT,loadTypeUserAUploadParam.getStatus())){ + dictData = dicDataFeignClient.getDicDataByCode(DicDataEnum.AUDIT.getCode()).getData(); + }else{ + dictData = dicDataFeignClient.getDicDataByCode(DicDataEnum.NEWLY.getCode()).getData(); + } + rLoadTypeUserManage.setAStatus(dictData.getId()); loadTypeUserManageMapper.updateById(rLoadTypeUserManage); return true; } + + /** + * 导出未建档干扰源用户管理信息 + * @param list + * @return + */ + @Override + public List exportLoadTypeUserList(List list) { + //数据处理 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<> (); + queryWrapper.in(RLoadTypeUserManage::getId, list); + List rLoadTypeUserManages = loadTypeUserManageMapper.selectList(queryWrapper); + //1、部门数据 + List dept = deptFeignClient.allDeptList().getData(); + Map pvTerminalTreeVOMap = dept.stream().collect(Collectors.toMap(PvTerminalTreeVO::getId, pvTerminalTreeVO -> pvTerminalTreeVO)); + + //2、取干扰源类型 + List loadTypeList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.INTERFERENCE_SOURCE.getCode()).getData(); + Map loadTypeMap = loadTypeList.stream().collect(Collectors.toMap(DictData::getId, dictData -> dictData)); + + //3、取入网报告状态 + List iStatusList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.ON_NETWORK_STATUS.getCode()).getData(); + Map iStatusMap = iStatusList.stream().collect(Collectors.toMap(DictData::getId, dictData -> dictData)); + + List resultList = rLoadTypeUserManages.stream().map(item -> { + LoadTypeUserExcel loadTypeUserExcel = new LoadTypeUserExcel(); + if (item.getUserName() != null){ + loadTypeUserExcel.setUserName(item.getUserName()); + } + if (item.getRecordTime() != null){ + loadTypeUserExcel.setRecordTime(item.getRecordTime()); + } + if (item.getAIsFileUpload() != null){ + loadTypeUserExcel.setIIsFileUpload(item.getIIsFileUpload() == 0 ? "否" : "是"); //实测报告是否上传 + } + if (item.getOrgNo() != null){ + loadTypeUserExcel.setOrgName(pvTerminalTreeVOMap.get(item.getOrgNo()).getName()); //单位 + } + if (item.getLoadType() != null){ + loadTypeUserExcel.setLoadTypeName(loadTypeMap.get(item.getLoadType()).getName()); //入网报告状态 + } + if (item.getIStatus() != null){ + loadTypeUserExcel.setIStatusName(iStatusMap.get(item.getIStatus()).getName()); //入网报告状态 + } + if (item.getAIsFileUpload() != null){ + loadTypeUserExcel.setIIsFileUpload(item.getIIsFileUpload() == 0 ? "否" : "是"); //实测报告是否上传 + } + return loadTypeUserExcel; + }).collect(Collectors.toList()); + + return resultList; + } + + /** + * 导出干扰源用户常态化管理信息 + * @param list + * @return + */ + @Override + public List exportLoadTypeRelationList(List list) { + //数据处理 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<> (); + queryWrapper.in(RLoadTypeUserManage::getId, list); + List rLoadTypeUserManages = loadTypeUserManageMapper.selectList(queryWrapper); + //1、部门数据 + List dept = deptFeignClient.allDeptList().getData(); + Map pvTerminalTreeVOMap = dept.stream().collect(Collectors.toMap(PvTerminalTreeVO::getId, pvTerminalTreeVO -> pvTerminalTreeVO)); + + //2、取干扰源类型 + List loadTypeList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.INTERFERENCE_SOURCE.getCode()).getData(); + Map loadTypeMap = loadTypeList.stream().collect(Collectors.toMap(DictData::getId, dictData -> dictData)); + + //3、取实测报告状态 + List aStatusList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.ON_NETWORK_STATUS.getCode()).getData(); + Map aStatusMap = aStatusList.stream().collect(Collectors.toMap(DictData::getId, dictData -> dictData)); + + List resultList = rLoadTypeUserManages.stream().map(item -> { + LoadTypeRelationExcel loadTypeRelationExcel = new LoadTypeRelationExcel(); + if (item.getOrgNo() != null){ + loadTypeRelationExcel.setOrgName(pvTerminalTreeVOMap.get(item.getOrgNo()).getName()); + } + if (item.getLoadType() != null){ + loadTypeRelationExcel.setLoadTypeName(loadTypeMap.get(item.getLoadType()).getName()); + } + if (item.getUserName() != null){ + loadTypeRelationExcel.setUserName(item.getUserName()); + } + if (item.getRelationUserName() != null){ + loadTypeRelationExcel.setRelationUserName(item.getRelationUserName()); + } + if (item.getAStatus() != null){ + loadTypeRelationExcel.setAStatusName(aStatusMap.get(item.getIStatus()).getName()); + } + return loadTypeRelationExcel; + }).collect(Collectors.toList()); + + return resultList; + } }