Parcourir la source

数据转换与批次管理

chenhongyan1989 il y a 1 an
Parent
commit
00d804d32f
37 fichiers modifiés avec 1875 ajouts et 12 suppressions
  1. 2 1
      energy-manage-common/src/main/java/com/energy/manage/common/enums/IdPrefixEnum.java
  2. 69 0
      energy-manage-common/src/main/java/com/energy/manage/common/po/datatransfer/DataTransferHistoryPo.java
  3. 86 0
      energy-manage-common/src/main/java/com/energy/manage/common/po/datatransfer/DataTransferPo.java
  4. 38 0
      energy-manage-common/src/main/java/com/energy/manage/common/po/datatransfer/DataTransferTypePo.java
  5. 72 0
      energy-manage-common/src/main/java/com/energy/manage/common/po/windfieldbatch/WindFieldBatchPo.java
  6. 3 0
      energy-manage-common/src/main/java/com/energy/manage/common/reponse/ConstVar.java
  7. 5 0
      energy-manage-common/src/main/java/com/energy/manage/common/reponse/ResultResp.java
  8. 101 0
      energy-manage-service/src/main/java/com/energy/manage/service/controller/base/BaseServiceController.java
  9. 68 0
      energy-manage-service/src/main/java/com/energy/manage/service/controller/datatransfer/DataTransferController.java
  10. 33 0
      energy-manage-service/src/main/java/com/energy/manage/service/controller/system/SysOrganizationAuthController.java
  11. 0 2
      energy-manage-service/src/main/java/com/energy/manage/service/controller/system/SysUserInfoController.java
  12. 72 0
      energy-manage-service/src/main/java/com/energy/manage/service/controller/windfieldbatch/WindFieldBatchController.java
  13. 0 1
      energy-manage-service/src/main/java/com/energy/manage/service/domain/dto/anemometertower/AnemometerTowerCreateDto.java
  14. 45 0
      energy-manage-service/src/main/java/com/energy/manage/service/domain/dto/datatransfer/DataTransferDto.java
  15. 22 0
      energy-manage-service/src/main/java/com/energy/manage/service/domain/dto/datatransfer/DataTransferTypePathDto.java
  16. 72 0
      energy-manage-service/src/main/java/com/energy/manage/service/domain/dto/windfieldbatch/WindFieldBatchDto.java
  17. 25 0
      energy-manage-service/src/main/java/com/energy/manage/service/domain/vo/datatransfer/DataTransferQueryAndAddVo.java
  18. 22 0
      energy-manage-service/src/main/java/com/energy/manage/service/domain/vo/datatransfer/DataTransferTypeVo.java
  19. 65 0
      energy-manage-service/src/main/java/com/energy/manage/service/domain/vo/datatransfer/DataTransferVo.java
  20. 41 0
      energy-manage-service/src/main/java/com/energy/manage/service/domain/vo/windfieldbatch/WindFieldBatchVo.java
  21. 64 0
      energy-manage-service/src/main/java/com/energy/manage/service/mappers/datatransfer/DataTransferMapper.java
  22. 17 0
      energy-manage-service/src/main/java/com/energy/manage/service/mappers/datatransferhistory/DataTransferHistoryMapper.java
  23. 23 0
      energy-manage-service/src/main/java/com/energy/manage/service/mappers/datatransfertype/DataTransferTypeMapper.java
  24. 4 6
      energy-manage-service/src/main/java/com/energy/manage/service/mappers/system/SysOrganizationAuthMapper.java
  25. 43 0
      energy-manage-service/src/main/java/com/energy/manage/service/mappers/windfieldbatch/WindFieldBatchMapper.java
  26. 49 0
      energy-manage-service/src/main/java/com/energy/manage/service/service/datatransfer/DataTransferService.java
  27. 240 0
      energy-manage-service/src/main/java/com/energy/manage/service/service/datatransfer/impl/DataTransferServiceImpl.java
  28. 23 0
      energy-manage-service/src/main/java/com/energy/manage/service/service/system/SysOrganizationAuthService.java
  29. 45 0
      energy-manage-service/src/main/java/com/energy/manage/service/service/system/impl/SysOrganizationAuthServiceImpl.java
  30. 47 0
      energy-manage-service/src/main/java/com/energy/manage/service/service/windfieldbatch/WindFieldBatchService.java
  31. 92 0
      energy-manage-service/src/main/java/com/energy/manage/service/service/windfieldbatch/impl/WindFieldBatchServiceImpl.java
  32. 0 2
      energy-manage-service/src/main/java/com/energy/manage/service/util/JwtUtil.java
  33. 149 0
      energy-manage-service/src/main/resources/mybatis/datatransfer/DataTransferMapper.xml
  34. 65 0
      energy-manage-service/src/main/resources/mybatis/datatransferhistory/DataTransferHistoryMapper.xml
  35. 20 0
      energy-manage-service/src/main/resources/mybatis/datatransfertype/DataTransferTypeMapper.xml
  36. 23 0
      energy-manage-service/src/main/resources/mybatis/system/OrganizationAuthMapper.xml
  37. 130 0
      energy-manage-service/src/main/resources/mybatis/windenginebatch/WindFieldBatchMapper.xml

+ 2 - 1
energy-manage-common/src/main/java/com/energy/manage/common/enums/IdPrefixEnum.java

@@ -9,7 +9,8 @@ public enum IdPrefixEnum {
     COMPANY_NUMBER("COM", "企业信息编号"),
     WIND_FIELD_NUMBER("WOF", "风场信息编号"),
     WIND_GROUP_NUMBER("WOG", "风机信息编号"),
-    WIND_TOWER_NUMBER("WOT", "测风塔信息编号");
+    WIND_TOWER_NUMBER("WOT", "测风塔信息编号"),
+    WIND_ENGINE_BATCH_NUMBER("WOB","风机批次编号");
 
     IdPrefixEnum(String code, String name) {
         this.code = code;

+ 69 - 0
energy-manage-common/src/main/java/com/energy/manage/common/po/datatransfer/DataTransferHistoryPo.java

@@ -0,0 +1,69 @@
+package com.energy.manage.common.po.datatransfer;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.experimental.Builder;
+
+import javax.persistence.Table;
+import java.util.Date;
+
+/**
+ * 数据转换历史表
+ * @author chy
+ * @date 2024/5/20 14:21
+ * @desc
+ */
+
+@Table(name = "data_transfer_history")
+@Data
+public class DataTransferHistoryPo {
+
+    /**
+     *  主键
+     */
+    private Long id ;
+
+    /**
+     * 批次编号
+     */
+    private String batchCode ;
+
+
+    /**
+     * 转换类型
+     */
+    private String transferType ;
+
+    /**
+     * 机组数量
+     */
+    private Integer enginCount ;
+
+    /**
+     * 转换地址
+     */
+    private String transferFileAddr ;
+
+
+    /**
+     * 异常信息
+     */
+    private String errInfo ;
+
+    /**
+     * 转换异常时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date transferFinishTime ;
+
+    /**
+     * 转换操作人
+     */
+    private Integer optionBy ;
+
+    /**
+     * 创建时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createTime ;
+}

+ 86 - 0
energy-manage-common/src/main/java/com/energy/manage/common/po/datatransfer/DataTransferPo.java

@@ -0,0 +1,86 @@
+package com.energy.manage.common.po.datatransfer;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import javax.persistence.Table;
+import java.util.Date;
+
+/**
+ * 数据转换基本类
+ * @author chy
+ * @date 2024/5/20 14:13
+ * @desc
+ */
+@Table(name = "date_tansfer")
+@Data
+public class DataTransferPo {
+
+    /**
+     * 主键
+     */
+    private Long id ;
+
+    /**
+     * 风场编号
+     */
+    private String fieldCode ;
+
+    /**
+     * 批次编号
+     */
+    private String batchCode ;
+
+    /**
+     * 机组数量
+     */
+    private Integer engineCount ;
+
+    /**
+     * 转换类型
+     */
+    private String transferType ;
+
+    /**
+     * 转换路径
+     */
+    private String transferFileAddr ;
+
+    /**
+     * 异常信息
+     */
+    private String errInfo ;
+
+    /**
+     * 转换时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date transferFinishTime ;
+
+    /**
+     * 转换状态
+     */
+    private int transferState ;
+
+    /**
+     * 创建人
+     */
+    private Integer createBy ;
+
+    /**
+     * 创建时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createTime ;
+
+    /**
+     * 更新人
+     */
+    private Integer updateBy ;
+
+    /**
+     * 更新时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updateTime ;
+}

+ 38 - 0
energy-manage-common/src/main/java/com/energy/manage/common/po/datatransfer/DataTransferTypePo.java

@@ -0,0 +1,38 @@
+package com.energy.manage.common.po.datatransfer;
+
+import lombok.Data;
+
+import javax.persistence.Table;
+import java.util.Date;
+
+/**
+ * 数据转换类型表
+ * @author chy
+ * @date 2024/5/20 14:57
+ * @desc
+ */
+@Table(name= "data_transfer_type")
+@Data
+public class DataTransferTypePo {
+
+    /**
+     * 主键
+     */
+    private Long id ;
+
+    /**
+     * 转换类型
+     */
+    private String transferType ;
+
+    /**
+     * 类型名称
+     */
+    private String transferTypeName ;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime ;
+
+}

+ 72 - 0
energy-manage-common/src/main/java/com/energy/manage/common/po/windfieldbatch/WindFieldBatchPo.java

@@ -0,0 +1,72 @@
+package com.energy.manage.common.po.windfieldbatch;
+
+import lombok.Data;
+
+import javax.persistence.Table;
+import java.util.Date;
+
+/**
+ * 批次信息
+ * @author chy
+ * @date 2024/5/21 10:53
+ * @desc
+ */
+@Table(name = "wind_engine_batch")
+@Data
+public class WindFieldBatchPo {
+
+    /**
+     *  主键
+     */
+    private Integer id ;
+
+    /**
+     * 批次编号
+     */
+    private String batchCode ;
+
+    /**
+     * 批次名称
+     */
+    private String batchName ;
+
+    /**
+     * 风场编号
+     */
+    private String fieldCode ;
+
+    /**
+     * 风场名称
+     */
+    private String fieldName;
+
+    /**
+     * 批次状态 1:启用 0:停用
+     */
+    private Integer batchState ;
+
+    /**
+     * 是否删除 0:否  1:是
+     */
+    private Integer isDelete;
+
+    /**
+     * 创建人
+     */
+    private String createBy ;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime ;
+
+    /**
+     * 更新人
+     */
+    private String updateBy ;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime ;
+}

+ 3 - 0
energy-manage-common/src/main/java/com/energy/manage/common/reponse/ConstVar.java

@@ -77,6 +77,9 @@ public enum ConstVar {
   TOOLS_PHONE_REGEXP(510002, "手机号码格式不正确"),
   TOOLS_HAS_WHITE(510003, "该用户已在白名单"),
 
+  DATA_TRANSFER_TYPE_EMPTY(610001, "数据转换类型初始化数据不能为空"),
+  DATA_TRANSFERING(610002, "系统中存在正在转换的数据,请稍后操作数据转换"),
+
 
   //测评小程序
   PAPER_USER_UNBELONG_TO(3000,"哎呀,该测评已经被其他用户绑定过了,您无法进行查看~"),

+ 5 - 0
energy-manage-common/src/main/java/com/energy/manage/common/reponse/ResultResp.java

@@ -88,6 +88,10 @@ public class ResultResp<T> {
     return ResultResp.buildResponse(code, msg, null, false);
   }
 
+  public static ResultResp FAIL(ConstVar constVar) {
+    return ResultResp.buildResponse(constVar.getCode(), constVar.getMsg(), null, false);
+  }
+
 
   /**
    * 密码错误
@@ -170,4 +174,5 @@ public class ResultResp<T> {
   public static ResultResp FAILException() {
     return ResultResp.buildResponse(ConstVar.FAIL.getCode(), "系统错误,请联系管理员", null, false);
   }
+
 }

+ 101 - 0
energy-manage-service/src/main/java/com/energy/manage/service/controller/base/BaseServiceController.java

@@ -0,0 +1,101 @@
+package com.energy.manage.service.controller.base;
+
+import com.energy.manage.common.base.BaseController;
+import com.energy.manage.common.base.Page;
+import com.energy.manage.common.reponse.ResultResp;
+import com.energy.manage.service.domain.dto.BaseDto;
+import com.energy.manage.service.util.JwtUtil;
+import com.github.pagehelper.PageInfo;
+import org.springframework.web.context.request.RequestAttributes;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author chy
+ * @date 2024/5/21 10:37
+ * @desc
+ */
+public class BaseServiceController extends BaseController {
+
+    /**
+     * token 在请求头中的key
+     */
+    private final static String TOKE_KEY = "token";
+
+    /**
+     * roleId
+     */
+    private final static String ROLE_ID = "roleId";
+
+    /**
+     * roleId
+     */
+    private final static String USER_ID = "userId";
+
+
+    /**
+     * 无返回数据成功函数
+     * @param
+     * @return
+     */
+    public ResultResp success() {
+        return ResultResp.SUCCESS(null);
+    }
+
+    /**
+     * 有返回数据成功函数
+     * @param data
+     * @return
+     */
+    public ResultResp success(Object data) {
+        return ResultResp.SUCCESS(data);
+    }
+
+    /**
+     * 分页结果集
+     * @param data
+     * @return
+     */
+    public <T> ResultResp<Page<T>> pageResult(List<T> data, BaseDto baseDto) {
+        long total = new PageInfo(data).getTotal();
+        return ResultResp.SUCCESS(Page.build(baseDto.getPageNum(),baseDto.getPageSize(),total,data));
+    }
+
+    /**
+     * 获取登录用户信息  后来在改造
+     * @return
+     */
+    public Map<String,String> getLoginUser(){
+        return JwtUtil.getJwtMap(getToken());
+    }
+
+    /**
+     * 获取登录用户角色id
+     * @return
+     */
+    public Integer getRoleId(){
+        return Integer.valueOf(getLoginUser().get(ROLE_ID));
+    }
+
+    /**
+     * 获取登录用户角色id
+     * @return
+     */
+    public Integer getUserId(){
+        return Integer.valueOf(getLoginUser().get(USER_ID));
+    }
+
+    /**
+     * 获取token
+     * @return
+     */
+    private String getToken(){
+        RequestAttributes attributes = RequestContextHolder.getRequestAttributes();
+        ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) attributes;
+        return servletRequestAttributes.getRequest().getHeader(TOKE_KEY);
+    }
+
+}

+ 68 - 0
energy-manage-service/src/main/java/com/energy/manage/service/controller/datatransfer/DataTransferController.java

@@ -0,0 +1,68 @@
+package com.energy.manage.service.controller.datatransfer;
+
+import com.energy.manage.common.base.Page;
+import com.energy.manage.common.reponse.ResultResp;
+import com.energy.manage.service.config.annotations.UserLoginToken;
+import com.energy.manage.service.controller.base.BaseServiceController;
+import com.energy.manage.service.domain.dto.datatransfer.DataTransferDto;
+import com.energy.manage.service.domain.vo.datatransfer.DataTransferVo;
+import com.energy.manage.service.service.datatransfer.DataTransferService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 数据转换模块儿
+ * @author chy
+ * @date 2024/5/20 10:17
+ * @desc
+ */
+@Slf4j
+@Api(value = "DataTransferController",tags = "数据转换")
+@RestController
+@RequestMapping("/dataTransfer")
+public class DataTransferController extends BaseServiceController {
+
+    @Autowired
+    private DataTransferService dataTransferService;
+
+
+    @UserLoginToken
+    @ApiOperation(value = "查询可以数据转换批次")
+    @GetMapping("/fieldBatchListForDataTransfer")
+    public ResultResp fieldBatchListForDataTransfer(){
+        return success(dataTransferService.fieldBatchListForDataTransfer(getRoleId()));
+    }
+
+    @UserLoginToken
+    @ApiOperation("数据转换列表")
+    @GetMapping("/queryDataTransferList")
+    public ResultResp<Page<DataTransferVo>> queryDataTransferList(DataTransferDto dataTransferDto){
+        dataTransferDto.setRoleId(getRoleId());
+        return pageResult(dataTransferService.queryDataTransferList(dataTransferDto),dataTransferDto);
+    }
+
+
+    @UserLoginToken
+    @ApiOperation("新增数据转换数据")
+    @PostMapping("/addDataTransferList")
+    public ResultResp addDataTransferList(@RequestBody DataTransferDto dataTransferDto){
+        dataTransferDto.setRoleId(getRoleId());
+        dataTransferDto.setUserId(getUserId());
+        return dataTransferService.addDataTransfer(dataTransferDto);
+    }
+
+    @UserLoginToken
+    @ApiOperation("转换/重新转换")
+    @PostMapping("/dataTransfer")
+    public ResultResp dataTransfer(@RequestParam String batchCode,
+                                   @RequestParam String dataTransferType,
+                                   @RequestParam String dataTransferTypePath){
+        return dataTransferService.dataTransfer(batchCode,
+                                                dataTransferType,
+                                                dataTransferTypePath,
+                                                getUserId());
+    }
+}

+ 33 - 0
energy-manage-service/src/main/java/com/energy/manage/service/controller/system/SysOrganizationAuthController.java

@@ -0,0 +1,33 @@
+package com.energy.manage.service.controller.system;
+
+import com.energy.manage.common.reponse.ResultResp;
+import com.energy.manage.service.controller.base.BaseServiceController;
+import com.energy.manage.service.service.system.SysOrganizationAuthService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author chy
+ * @date 2024/5/21 09:33
+ * @desc
+ */
+@Slf4j
+@Api(value = "SysOrganizationAuthController", tags = "组织机构权限管理")
+@RestController
+@RequestMapping("/sysOrganizationAuth")
+public class SysOrganizationAuthController extends BaseServiceController {
+
+    @Autowired
+    private SysOrganizationAuthService sysOrganizationAuthService;
+
+    @ApiOperation(value = "根据角色查询风场列表")
+    @GetMapping("/queryCodeNum")
+    public ResultResp queryCodeNunByRoleId() {
+        return success(sysOrganizationAuthService.queryCodeNunByRoleId(getRoleId()));
+    }
+}

+ 0 - 2
energy-manage-service/src/main/java/com/energy/manage/service/controller/system/SysUserInfoController.java

@@ -1,12 +1,10 @@
 package com.energy.manage.service.controller.system;
 
-import com.alibaba.fastjson.JSONObject;
 import com.energy.manage.common.base.Page;
 import com.energy.manage.common.constant.Constants;
 import com.energy.manage.common.constant.redis.ManagerRedisKeyConstant;
 import com.energy.manage.common.po.system.SysRolePO;
 import com.energy.manage.common.po.system.SysUserInfoPO;
-import com.energy.manage.common.reponse.RespMsg;
 import com.energy.manage.common.reponse.ResultResp;
 import com.energy.manage.common.util.BCryptTools;
 import com.energy.manage.service.config.annotations.PassToken;

+ 72 - 0
energy-manage-service/src/main/java/com/energy/manage/service/controller/windfieldbatch/WindFieldBatchController.java

@@ -0,0 +1,72 @@
+package com.energy.manage.service.controller.windfieldbatch;
+
+import com.energy.manage.common.base.Page;
+import com.energy.manage.common.reponse.ResultResp;
+import com.energy.manage.service.config.annotations.UserLoginToken;
+import com.energy.manage.service.controller.base.BaseServiceController;
+import com.energy.manage.service.domain.dto.windfieldbatch.WindFieldBatchDto;
+import com.energy.manage.service.domain.vo.windfieldbatch.WindFieldBatchVo;
+import com.energy.manage.service.service.windfieldbatch.WindFieldBatchService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @author chy
+ * @date 2024/5/20 17:32
+ * @desc
+ */
+@Slf4j
+@Api(value = "WindFieldBatchController", tags = "风场批次管理")
+@RestController
+@RequestMapping("/windEnginBatch")
+public class WindFieldBatchController extends BaseServiceController {
+
+    @Autowired
+    private WindFieldBatchService windFieldBatchService;
+
+    @UserLoginToken
+    @ApiOperation(value = "风场批次信息列表")
+    @GetMapping("/batchList")
+    public ResultResp<Page<WindFieldBatchVo>> batchList(WindFieldBatchDto windFieldBatchDto){
+        return pageResult(windFieldBatchService.queryWindFieldBatch(windFieldBatchDto), windFieldBatchDto);
+    }
+
+    @UserLoginToken
+    @ApiOperation(value = "添加风场批次")
+    @PostMapping("/addFieldBatch")
+    public ResultResp addFieldBatch(@RequestBody WindFieldBatchDto windFieldBatchDto){
+        Integer loginUserId = getUserId();
+        windFieldBatchDto.setCreateBy(loginUserId);
+        windFieldBatchDto.setUpdateBy(loginUserId);
+        return success(windFieldBatchService.addWindFieldBatch(windFieldBatchDto));
+    }
+
+    @UserLoginToken
+    @ApiOperation(value = "编辑风场批次")
+    @PostMapping("/updateFieldBatch")
+    public ResultResp updateFieldBatch(@RequestBody WindFieldBatchDto windFieldBatchDto){
+        windFieldBatchDto.setUpdateBy(getUserId());
+        return success(windFieldBatchService.updateWindFieldBatch(windFieldBatchDto));
+    }
+
+    @UserLoginToken
+    @ApiOperation(value = "启用/停用风场批次")
+    @PostMapping("/onOrOffFieldBatch")
+    public ResultResp onOrOffFieldBatch(@RequestBody WindFieldBatchDto windFieldBatchDto){
+        windFieldBatchDto.setUpdateBy(getUserId());
+        return success(windFieldBatchService.onOrOffFieldBatch(windFieldBatchDto));
+    }
+
+    @UserLoginToken
+    @ApiOperation(value = "删除风场批次")
+    @PostMapping("/deleteFieldBatch")
+    public ResultResp deleteFieldBatch(@RequestBody WindFieldBatchDto windFieldBatchDto){
+        windFieldBatchDto.setUpdateBy(getUserId());
+        return success(windFieldBatchService.deleteWindFieldBatch(windFieldBatchDto));
+    }
+
+
+}

+ 0 - 1
energy-manage-service/src/main/java/com/energy/manage/service/domain/dto/anemometertower/AnemometerTowerCreateDto.java

@@ -1,6 +1,5 @@
 package com.energy.manage.service.domain.dto.anemometertower;
 
-import lombok.Data;
 import lombok.Getter;
 import lombok.Setter;
 

+ 45 - 0
energy-manage-service/src/main/java/com/energy/manage/service/domain/dto/datatransfer/DataTransferDto.java

@@ -0,0 +1,45 @@
+package com.energy.manage.service.domain.dto.datatransfer;
+
+import com.energy.manage.service.domain.dto.BaseDto;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author chy
+ * @date 2024/5/21 18:10
+ * @desc
+ */
+@Data
+public class DataTransferDto extends BaseDto {
+
+    /**
+     * 批次编号
+     */
+    private String batchCode;
+
+    /**
+     * 转换状态
+     */
+    private Integer transferState;
+
+    /**
+     * 登录用户的角色id
+     */
+    private Integer roleId;
+
+    /**
+     * 用户id
+     */
+    private Integer userId;
+
+    /**
+     * 风场编号
+     */
+    private String fieldCode;
+
+    /**
+     * 路径地址集合
+     */
+    List<DataTransferTypePathDto> dataTransferTypePathDtoList;
+}

+ 22 - 0
energy-manage-service/src/main/java/com/energy/manage/service/domain/dto/datatransfer/DataTransferTypePathDto.java

@@ -0,0 +1,22 @@
+package com.energy.manage.service.domain.dto.datatransfer;
+
+import lombok.Data;
+
+/**
+ * @author chy
+ * @date 2024/5/22 13:37
+ * @desc
+ */
+@Data
+public class DataTransferTypePathDto {
+
+    /**
+     * 转换类型
+     */
+    private String transferType;
+
+    /**
+     * 转换类型地址
+     */
+    private String transferFileAddr;
+}

+ 72 - 0
energy-manage-service/src/main/java/com/energy/manage/service/domain/dto/windfieldbatch/WindFieldBatchDto.java

@@ -0,0 +1,72 @@
+package com.energy.manage.service.domain.dto.windfieldbatch;
+
+import com.energy.manage.service.domain.dto.BaseDto;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.util.Date;
+
+/**
+ * @author chy
+ * @date 2024/5/21 12:49
+ * @desc
+ */
+@Data
+@Accessors(chain = true)
+public class WindFieldBatchDto extends BaseDto {
+
+    /**
+     * 风场名称
+     */
+    private String fieldName;
+
+    /**
+     * 风场编号
+     */
+    private String fieldCode;
+
+    /**
+     * 批次名称
+     */
+    private String batchName;
+
+    /**
+     * 批次编号
+     */
+    private String batchCode;
+
+    /**
+     * 批次状态 0:启用 1:停用
+     */
+    private Integer batchState;
+
+    /**
+     * 删除状态 0:未删除 1:删除
+     */
+    private Integer isDelete;
+
+    /**
+     * 登录用角色id (由代码设置,前端不用传)
+     */
+    private Integer roleId;
+
+    /**
+     * 创建人id
+     */
+    private Integer createBy;
+
+    /**
+     * 更新人id
+     */
+    private Integer updateBy;
+
+    /**
+     * 创建开始时间
+     */
+    private Date startTime;
+
+    /**
+     * 创建结束时间
+     */
+    private Date endTime;
+}

+ 25 - 0
energy-manage-service/src/main/java/com/energy/manage/service/domain/vo/datatransfer/DataTransferQueryAndAddVo.java

@@ -0,0 +1,25 @@
+package com.energy.manage.service.domain.vo.datatransfer;
+
+import com.energy.manage.common.po.datatransfer.DataTransferTypePo;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author chy
+ * @date 2024/5/22 10:50
+ * @desc
+ */
+@Data
+public class DataTransferQueryAndAddVo {
+
+    /**
+     * 批次列表
+     */
+    private List<String> batchCodeList;
+
+    /**
+     * 转换类型列表
+     */
+    private List<DataTransferTypeVo> dataTransferTypeVoList;
+}

+ 22 - 0
energy-manage-service/src/main/java/com/energy/manage/service/domain/vo/datatransfer/DataTransferTypeVo.java

@@ -0,0 +1,22 @@
+package com.energy.manage.service.domain.vo.datatransfer;
+
+import lombok.Data;
+
+/**
+ * @author chy
+ * @date 2024/5/22 10:58
+ * @desc
+ */
+@Data
+public class DataTransferTypeVo {
+
+    /**
+     * 转换类型
+     */
+    private String transferType;
+
+    /**
+     * 转换类型名称
+     */
+    private String transferTypeName;
+}

+ 65 - 0
energy-manage-service/src/main/java/com/energy/manage/service/domain/vo/datatransfer/DataTransferVo.java

@@ -0,0 +1,65 @@
+package com.energy.manage.service.domain.vo.datatransfer;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 数据转换结果展示
+ * @author chy
+ * @date 2024/5/21 18:09
+ * @desc
+ */
+@Data
+public class DataTransferVo {
+
+    /**
+     * 风场编号
+     */
+    private String fieldCode;
+
+    /**
+     * 批次编号
+     */
+    private String batchCode;
+
+    /**
+     * 风机数量
+     */
+    private Integer engineCount;
+
+    /**
+     * 转换状态 1:初始化状态 0-转换中 1-转换成功 2-转换失败
+     */
+    private Integer transferState;
+
+    /**
+     * 异常信息
+     */
+    private String errInfo;
+
+    /**
+     * 转换完成时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date transferFinishTime;
+
+    /**
+     * 转换类型
+     */
+    private Integer transferType;
+
+    /**
+     * 转换类型名称
+     */
+    private String transferTypeName;
+
+    /**
+     * 转换文件地址
+     */
+    private String transferFileAddr;
+
+
+
+}

+ 41 - 0
energy-manage-service/src/main/java/com/energy/manage/service/domain/vo/windfieldbatch/WindFieldBatchVo.java

@@ -0,0 +1,41 @@
+package com.energy.manage.service.domain.vo.windfieldbatch;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author chy
+ * @date 2024/5/21 17:39
+ * @desc
+ */
+@Data
+public class WindFieldBatchVo {
+
+    /**
+     * 批次编号
+     */
+    private String batchCode;
+
+    /**
+     * 风场名称
+     */
+    private String fieldName;
+
+    /**
+     * 风场编号
+     */
+    private String fieldCode;
+
+    /**
+     * 批次状态
+     */
+    private Integer batchState;
+
+    /**
+     * 创建时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createTime;
+}

+ 64 - 0
energy-manage-service/src/main/java/com/energy/manage/service/mappers/datatransfer/DataTransferMapper.java

@@ -0,0 +1,64 @@
+package com.energy.manage.service.mappers.datatransfer;
+
+import com.energy.manage.common.po.datatransfer.DataTransferPo;
+import com.energy.manage.service.domain.dto.datatransfer.DataTransferDto;
+import com.energy.manage.service.domain.vo.datatransfer.DataTransferVo;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * 数据转换持久层
+ * @author chy
+ * @date 2024/5/20 15:04
+ * @desc
+ */
+@Repository
+public interface DataTransferMapper {
+
+    /**
+     * 获取当前角色所有进行过数据转的风场批次号
+     * @param roleId
+     * @return
+     */
+    List<String> selectAllWindFieldBtach(Integer roleId);
+
+    /**
+     * 查询数据转换列表
+     * @param dataTransferDto
+     * @return
+     */
+    List<DataTransferVo> selectDataTransferListByCondition(DataTransferDto dataTransferDto);
+
+
+    /**
+     * 批量添加
+     * @param poList
+     * @return
+     */
+    int addDataTransferBatch(List<DataTransferPo> poList);
+
+    /**
+     * 查询批次号下的数据转换列表
+     * @param batchCode
+     * @param dataTransferType
+     * @return
+     */
+    DataTransferPo selectByBatchCodeAndDataTransferType(String batchCode,String dataTransferType);
+
+
+    /**
+     * 更新数据转换
+     * @param dataTransferPo
+     * @return
+     */
+    int updateDataTransfer(DataTransferPo dataTransferPo);
+
+    /**
+     * 查询某种状态下的数据量
+     * @param transferState
+     * @return
+     */
+    int selectCountByTransferState(Integer transferState);
+
+}

+ 17 - 0
energy-manage-service/src/main/java/com/energy/manage/service/mappers/datatransferhistory/DataTransferHistoryMapper.java

@@ -0,0 +1,17 @@
+package com.energy.manage.service.mappers.datatransferhistory;
+
+import com.energy.manage.common.mapper.MyMapper;
+import com.energy.manage.common.po.datatransfer.DataTransferHistoryPo;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 数据转换历史记录
+ * @author chy
+ * @date 2024/5/20 15:04
+ * @desc
+ */
+@Repository
+public interface DataTransferHistoryMapper {
+
+    int addDataTransferHistory(DataTransferHistoryPo po);
+}

+ 23 - 0
energy-manage-service/src/main/java/com/energy/manage/service/mappers/datatransfertype/DataTransferTypeMapper.java

@@ -0,0 +1,23 @@
+package com.energy.manage.service.mappers.datatransfertype;
+
+import com.energy.manage.common.po.datatransfer.DataTransferTypePo;
+import com.energy.manage.service.domain.vo.datatransfer.DataTransferTypeVo;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * 数据转换类型持久层
+ * @author chy
+ * @date 2024/5/20 15:06
+ * @desc
+ */
+@Repository
+public interface DataTransferTypeMapper {
+
+    /**
+     * 查询所有转换类型信息
+     * @return
+     */
+    List<DataTransferTypeVo> selectAllInfo();
+}

+ 4 - 6
energy-manage-service/src/main/java/com/energy/manage/service/mappers/system/SysOrganizationAuthMapper.java

@@ -1,18 +1,16 @@
 package com.energy.manage.service.mappers.system;
 
 
-import com.energy.manage.common.base.NewBaseDomain;
 import com.energy.manage.common.mapper.MyMapper;
 import com.energy.manage.common.po.system.SysOrganizationAuthPO;
-import com.energy.manage.common.po.system.SysPermissionPO;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
+
 @Repository
 public interface SysOrganizationAuthMapper extends MyMapper<SysOrganizationAuthPO> {
 
 
-
+    List<SysOrganizationAuthPO> selectByRoleId(@Param("roleId") Integer roleId);
 }

+ 43 - 0
energy-manage-service/src/main/java/com/energy/manage/service/mappers/windfieldbatch/WindFieldBatchMapper.java

@@ -0,0 +1,43 @@
+package com.energy.manage.service.mappers.windfieldbatch;
+
+import com.energy.manage.service.domain.dto.windfieldbatch.WindFieldBatchDto;
+import com.energy.manage.service.domain.vo.windfieldbatch.WindFieldBatchVo;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * @author chy
+ * @date 2024/5/21 10:55
+ * @desc
+ */
+@Repository
+public interface WindFieldBatchMapper {
+
+    /**
+     * 新增
+     * @param windEgineBatchDto
+     */
+    int addWindFieldBatch(WindFieldBatchDto windEgineBatchDto);
+
+    /**
+     * 更新/启用/删除
+     * @param windFieldBatchDto
+     */
+    int updateWindFieldBatch(WindFieldBatchDto windFieldBatchDto);
+
+
+    /**
+     * 查询批次列表
+     * @return
+     */
+    List<WindFieldBatchVo> selectWindFieldBatch(WindFieldBatchDto windFieldBatchDto);
+
+    /**
+     * 根据批次号查询批次信息
+     * @param batchNo
+     * @return
+     */
+    WindFieldBatchVo selectByBatchCode(String batchNo);
+
+}

+ 49 - 0
energy-manage-service/src/main/java/com/energy/manage/service/service/datatransfer/DataTransferService.java

@@ -0,0 +1,49 @@
+package com.energy.manage.service.service.datatransfer;
+
+import com.energy.manage.common.reponse.ResultResp;
+import com.energy.manage.service.domain.dto.datatransfer.DataTransferDto;
+import com.energy.manage.service.domain.vo.datatransfer.DataTransferQueryAndAddVo;
+import com.energy.manage.service.domain.vo.datatransfer.DataTransferVo;
+
+import java.util.List;
+
+/**
+ * @author chy
+ * @date 2024/5/20 10:18
+ * @desc
+ */
+public interface DataTransferService {
+
+
+    /**
+     * 获取没有进行数据转换的风场批次列表
+     * @param roleId
+     * @return
+     */
+    DataTransferQueryAndAddVo fieldBatchListForDataTransfer(Integer roleId);
+
+
+    /**
+     * 查询数据转换列表
+     * @return
+     */
+    List<DataTransferVo> queryDataTransferList(DataTransferDto dataTransferDto);
+
+    /**
+     * 新增数据转换
+     * @return
+     */
+    ResultResp addDataTransfer(DataTransferDto dataTransferDto);
+
+
+    /**
+     * 数据转换(转换/重新转换)
+     * @param batchCode
+     */
+    ResultResp dataTransfer(String batchCode,
+                            String dataTransferType,
+                            String dataTransferTypePath,
+                            Integer updateBy);
+
+
+}

+ 240 - 0
energy-manage-service/src/main/java/com/energy/manage/service/service/datatransfer/impl/DataTransferServiceImpl.java

@@ -0,0 +1,240 @@
+package com.energy.manage.service.service.datatransfer.impl;
+
+import com.energy.manage.common.po.datatransfer.DataTransferHistoryPo;
+import com.energy.manage.common.po.datatransfer.DataTransferPo;
+import com.energy.manage.common.reponse.ConstVar;
+import com.energy.manage.common.reponse.ResultResp;
+import com.energy.manage.service.domain.dto.datatransfer.DataTransferDto;
+import com.energy.manage.service.domain.dto.datatransfer.DataTransferTypePathDto;
+import com.energy.manage.service.domain.dto.windfieldbatch.WindFieldBatchDto;
+import com.energy.manage.service.domain.vo.datatransfer.DataTransferQueryAndAddVo;
+import com.energy.manage.service.domain.vo.datatransfer.DataTransferTypeVo;
+import com.energy.manage.service.domain.vo.datatransfer.DataTransferVo;
+import com.energy.manage.service.domain.vo.windfieldbatch.WindFieldBatchVo;
+import com.energy.manage.service.mappers.datatransfer.DataTransferMapper;
+import com.energy.manage.service.mappers.datatransferhistory.DataTransferHistoryMapper;
+import com.energy.manage.service.mappers.datatransfertype.DataTransferTypeMapper;
+import com.energy.manage.service.mappers.windfieldbatch.WindFieldBatchMapper;
+import com.energy.manage.service.service.datatransfer.DataTransferService;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Optional;
+import java.util.stream.Collectors;
+
+/**
+ * 数据转换服务
+ * @author chy
+ * @date 2024/5/20 10:19
+ * @desc
+ */
+@Slf4j
+@Service
+public class DataTransferServiceImpl implements DataTransferService {
+
+    @Autowired
+    private DataTransferMapper dataTransferMapper;
+
+    @Autowired
+    private DataTransferTypeMapper dataTransferTypeMapper;
+
+    @Autowired
+    private WindFieldBatchMapper windFieldBatchMapper;
+
+    @Autowired
+    private DataTransferHistoryMapper historyMapper;
+
+    @Autowired
+    private DataTransferTypeMapper typeMapper;
+
+    /**
+     * 转换中状态
+     */
+    private final static Integer DATA_TRANSFERING_STATE = 0;
+
+    /**
+     * 获取没有进行数据转换的风场批次列表
+     * @param roleId
+     * @return
+     */
+    @Override
+    public DataTransferQueryAndAddVo fieldBatchListForDataTransfer(Integer roleId) {
+        DataTransferQueryAndAddVo queryAndAddVo = new DataTransferQueryAndAddVo();
+        List<String> batchCodeList = getDataTransferBatchList(roleId);
+        if(CollectionUtils.isEmpty(batchCodeList)){
+            return queryAndAddVo;
+        }
+        queryAndAddVo.setBatchCodeList(batchCodeList);
+        queryAndAddVo.setDataTransferTypeVoList(typeMapper.selectAllInfo());
+        return queryAndAddVo;
+    }
+
+    /**
+     * 查询数据转换列表
+     * @return
+     */
+    @Override
+    public List<DataTransferVo> queryDataTransferList(DataTransferDto dataTransferDto) {
+        List<DataTransferVo> dataTransferVos = dataTransferMapper.selectDataTransferListByCondition(dataTransferDto);
+        if(CollectionUtils.isNotEmpty(dataTransferVos)){
+            //获取所有转换类型
+            List<DataTransferTypeVo> typeVos = dataTransferTypeMapper.selectAllInfo();
+            if(CollectionUtils.isNotEmpty(typeVos)){
+                //设置转换类型名称
+                dataTransferVos.parallelStream().forEach(item -> item.setTransferTypeName(getDataTransferTypeName(typeVos,item.getTransferType())));
+            }
+        }
+        return dataTransferVos;
+    }
+
+    /**
+     * 新增数据转
+     * @param dataTransferDto
+     * @return
+     */
+    @Override
+    public ResultResp addDataTransfer(DataTransferDto dataTransferDto) {
+        List<DataTransferTypeVo> typeList = dataTransferTypeMapper.selectAllInfo();
+        if(CollectionUtils.isEmpty(typeList)){
+            log.error("风场批次batchCode = {} 新增转换失败,转换类型初始化数据是空导致!!",dataTransferDto.getBatchCode());
+            return ResultResp.FAIL(ConstVar.DATA_TRANSFER_TYPE_EMPTY);
+        }
+        //设置风场编号
+        dataTransferDto.setFieldCode(getFieldCode(dataTransferDto.getBatchCode()));
+        List<DataTransferPo> dataTransferPos = new ArrayList<>();
+        typeList.parallelStream().forEach(item -> dataTransferPos.add(getDataTransferPo(dataTransferDto,item.getTransferType())));
+        return ResultResp.SUCCESS(dataTransferMapper.addDataTransferBatch(dataTransferPos));
+    }
+
+
+    /**
+     * 数据转换(转换/重新转换)
+     * @param batchCode
+     */
+    @Override
+    public ResultResp dataTransfer(String batchCode,
+                                   String dataTransferType,
+                                   String dataTransferTypePath,
+                                   Integer updateBy) {
+        //检查转换状态是否有正在转换的数据 有的话 不转换
+        if(checkTransferState()){
+            return ResultResp.FAIL(ConstVar.DATA_TRANSFERING);
+        }
+        DataTransferPo po = dataTransferMapper.selectByBatchCodeAndDataTransferType(batchCode,dataTransferType);
+        //如果数据库中存在的数据路径地址不为空的话 说明已经转换过了 需要重新转换 备份数据
+        if(StringUtils.isNotBlank(po.getTransferFileAddr())){
+            saveHistory(po);
+            //状态重新置换为未转换
+            po.setTransferState(-1);
+        }
+        po.setTransferFileAddr(dataTransferTypePath);
+        po.setUpdateBy(updateBy);
+        return ResultResp.SUCCESS(dataTransferMapper.updateDataTransfer(po));
+    }
+
+
+    /**
+     * 根据角色获取批次编号
+     * @param roleId
+     * @return
+     */
+    private List<String> getDataTransferBatchList(Integer roleId) {
+        //获取角色可以看到的风场批次信息
+        List<WindFieldBatchVo>  batchVoList = windFieldBatchMapper.selectWindFieldBatch(new WindFieldBatchDto().setRoleId(roleId));
+        //获取批次号
+        List<String> batchCodeList = batchVoList.parallelStream().map(WindFieldBatchVo::getBatchCode).collect(Collectors.toList());
+        //获取已经进行过数据转换的批次号
+        List<String> dataTransferBatchList = dataTransferMapper.selectAllWindFieldBtach(roleId);
+        return batchCodeList.parallelStream().filter(batchCode -> !dataTransferBatchList.contains(batchCode)).collect(Collectors.toList());
+    }
+
+    /**
+     * 根据类型获取类型名称
+     * @param typeVos
+     * @param dataTransferType
+     * @return
+     */
+    private String getDataTransferTypeName(List<DataTransferTypeVo> typeVos,Integer dataTransferType){
+        return typeVos.parallelStream().filter(typeVo -> typeVo.getTransferType().equals(dataTransferType))
+                .map(DataTransferTypeVo::getTransferTypeName)
+                .findFirst()
+                .get();
+    }
+
+
+    /**
+     * 获取数据转换po
+     * @param dataTransferDto
+     * @param dataTransferType
+     * @return
+     */
+    private DataTransferPo getDataTransferPo(DataTransferDto dataTransferDto,String dataTransferType){
+        DataTransferPo dataTransferPo = new DataTransferPo();
+        dataTransferPo.setFieldCode(dataTransferDto.getFieldCode());
+        dataTransferPo.setBatchCode(dataTransferDto.getBatchCode());
+        dataTransferPo.setTransferType(dataTransferType);
+        Integer userId = dataTransferDto.getUserId();
+        dataTransferPo.setCreateBy(userId);
+        dataTransferPo.setUpdateBy(userId);
+        String path = getTransferFileAddr(dataTransferDto,dataTransferType);
+        if(StringUtils.isNotBlank(path)){
+            dataTransferPo.setTransferFileAddr(path);
+        }
+        return dataTransferPo;
+    }
+
+    /**
+     * 根据类型获取转换文件地址
+     * @param dataTransferDto
+     * @param dataTransferType
+     * @return
+     */
+    private String getTransferFileAddr(DataTransferDto dataTransferDto,String dataTransferType){
+        List<DataTransferTypePathDto>  pathDtoList = dataTransferDto.getDataTransferTypePathDtoList();
+        if(CollectionUtils.isNotEmpty(pathDtoList)){
+            Optional optional = pathDtoList.parallelStream().filter(item -> item.getTransferType().equals(dataTransferType)).map(DataTransferTypePathDto::getTransferFileAddr).findFirst();
+            return optional.isPresent() ? optional.get().toString() : null;
+        }
+        return null;
+    }
+
+
+    /**
+     * 获取风场编号
+     * @param batchCode
+     * @return
+     */
+    private String getFieldCode(String batchCode){
+        WindFieldBatchVo vo = windFieldBatchMapper.selectByBatchCode(batchCode);
+        return vo.getFieldCode();
+    }
+
+    /**
+     * 检查转换状态系统中是否有正在转换的数据
+     * @return
+     */
+    private boolean checkTransferState(){
+        return dataTransferMapper.selectCountByTransferState(DATA_TRANSFERING_STATE) > 0;
+    }
+
+    /**
+     * 备份转换数据
+     * @param po
+     */
+    private void saveHistory(DataTransferPo po){
+        DataTransferHistoryPo historyPo = new DataTransferHistoryPo();
+        historyPo.setBatchCode(po.getBatchCode());
+        historyPo.setEnginCount(po.getEngineCount());
+        historyPo.setTransferFileAddr(po.getTransferFileAddr());
+        historyPo.setTransferType(po.getTransferType());
+        historyPo.setErrInfo(po.getErrInfo());
+        historyPo.setTransferFinishTime(po.getTransferFinishTime());
+        historyPo.setOptionBy(po.getUpdateBy());
+        historyMapper.addDataTransferHistory(historyPo);
+    }
+}

+ 23 - 0
energy-manage-service/src/main/java/com/energy/manage/service/service/system/SysOrganizationAuthService.java

@@ -0,0 +1,23 @@
+package com.energy.manage.service.service.system;
+
+import com.energy.manage.common.po.system.SysOrganizationAuthPO;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 风场/企业角色关系
+ * @author chy
+ * @date 2024/5/21 09:35
+ * @desc
+ */
+public interface SysOrganizationAuthService {
+
+
+    /**
+     * 根据角色id查询风场编号列表
+     * @param roleId
+     * @return
+     */
+    Map<String, List<SysOrganizationAuthPO>> queryCodeNunByRoleId(Integer roleId);
+}

+ 45 - 0
energy-manage-service/src/main/java/com/energy/manage/service/service/system/impl/SysOrganizationAuthServiceImpl.java

@@ -0,0 +1,45 @@
+package com.energy.manage.service.service.system.impl;
+
+import com.energy.manage.common.enums.TypeRelationEnum;
+import com.energy.manage.common.po.system.SysOrganizationAuthPO;
+import com.energy.manage.service.mappers.system.SysOrganizationAuthMapper;
+import com.energy.manage.service.service.system.SysOrganizationAuthService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * 企业风场关系
+ * @author chy
+ * @date 2024/5/21 09:36
+ * @desc
+ */
+@Service
+public class SysOrganizationAuthServiceImpl implements SysOrganizationAuthService {
+
+    /**
+     * 根据角色查询风场编号列表返回key
+     */
+    private final static String FILE_CODE_LIST_KEY = "fieldCodeList";
+
+    @Autowired
+    private SysOrganizationAuthMapper sysOrganizationAuthMapper;
+
+    /**
+     * 根据角色id获取风场编号列表
+     * @return
+     */
+    @Override
+    public Map<String, List<SysOrganizationAuthPO>> queryCodeNunByRoleId(Integer roleId){
+        Map<String,List<SysOrganizationAuthPO>> returnMap = new HashMap<>();
+        List<SysOrganizationAuthPO> authPoList = sysOrganizationAuthMapper.selectByRoleId(roleId);
+        authPoList.parallelStream().filter(po -> po.getCodeType().equals(TypeRelationEnum.WIND_FIELD_NUMBER.getCode()))
+                                                          .collect(Collectors.toList());
+        returnMap.put(FILE_CODE_LIST_KEY,authPoList);
+        return returnMap;
+    }
+}

+ 47 - 0
energy-manage-service/src/main/java/com/energy/manage/service/service/windfieldbatch/WindFieldBatchService.java

@@ -0,0 +1,47 @@
+package com.energy.manage.service.service.windfieldbatch;
+
+import com.energy.manage.service.domain.dto.windfieldbatch.WindFieldBatchDto;
+import com.energy.manage.service.domain.vo.windfieldbatch.WindFieldBatchVo;
+
+import java.util.List;
+
+/**
+ * 风场批次操作
+ * @author chy
+ * @date 2024/5/21 10:50
+ * @desc
+ */
+public interface WindFieldBatchService {
+
+    /**
+     * 批次号新增
+     * @param windEgineBatchDto
+     */
+    int addWindFieldBatch(WindFieldBatchDto windEgineBatchDto);
+
+    /**
+     * 批次更新
+     * @param windEgineBatchDto
+     */
+    int updateWindFieldBatch(WindFieldBatchDto windEgineBatchDto);
+
+    /**
+     * 批次启用或停用
+     * @param windEgineBatchDto
+     */
+    int onOrOffFieldBatch(WindFieldBatchDto windEgineBatchDto);
+
+    /**
+     * 批次号新增
+     * @param windEgineBatchDto
+     */
+    int deleteWindFieldBatch(WindFieldBatchDto windEgineBatchDto);
+
+    /**
+     * 查询批次列表
+     * @param windFieldBatchDto
+     * @return
+     */
+    List<WindFieldBatchVo> queryWindFieldBatch(WindFieldBatchDto windFieldBatchDto);
+
+}

+ 92 - 0
energy-manage-service/src/main/java/com/energy/manage/service/service/windfieldbatch/impl/WindFieldBatchServiceImpl.java

@@ -0,0 +1,92 @@
+package com.energy.manage.service.service.windfieldbatch.impl;
+
+import com.energy.manage.common.constant.redis.ManagerRedisKeyConstant;
+import com.energy.manage.common.enums.IdPrefixEnum;
+import com.energy.manage.common.util.IdGeneratorUtil;
+import com.energy.manage.service.domain.dto.windfieldbatch.WindFieldBatchDto;
+import com.energy.manage.service.domain.vo.windfieldbatch.WindFieldBatchVo;
+import com.energy.manage.service.mappers.datatransfer.DataTransferMapper;
+import com.energy.manage.service.mappers.windfieldbatch.WindFieldBatchMapper;
+import com.energy.manage.service.service.cache.CacheService;
+import com.energy.manage.service.service.windfieldbatch.WindFieldBatchService;
+import com.github.pagehelper.PageHelper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @author chy
+ * @date 2024/5/21 10:51
+ * @desc
+ */
+@Service
+public class WindFieldBatchServiceImpl implements WindFieldBatchService {
+
+    private final static String SEPARATOR = "-";
+
+     @Autowired
+     private WindFieldBatchMapper windFieldBatchMapper;
+
+     @Autowired
+     private CacheService cacheService;
+
+    /**
+     * 批次号新增
+     * @param windEgineBatchDto
+     */
+    @Override
+    public int addWindFieldBatch(WindFieldBatchDto windEgineBatchDto) {
+        windEgineBatchDto.setBatchCode(createWindFieldBatchCode(windEgineBatchDto.getFieldCode()));
+        return windFieldBatchMapper.addWindFieldBatch(windEgineBatchDto);
+    }
+
+    /**
+     * 批次号更新
+     * @param windEgineBatchDto
+     */
+    @Override
+    public int updateWindFieldBatch(WindFieldBatchDto windEgineBatchDto) {
+        return windFieldBatchMapper.updateWindFieldBatch(windEgineBatchDto);
+    }
+
+    /**
+     * 批次启用或停用
+     * @param windEgineBatchDto
+     */
+    @Override
+    public int onOrOffFieldBatch(WindFieldBatchDto windEgineBatchDto) {
+        return windFieldBatchMapper.updateWindFieldBatch(windEgineBatchDto);
+    }
+
+    /**
+     * 批次号删除
+     * @param windFieldBatchDto
+     */
+    @Override
+    public int deleteWindFieldBatch(WindFieldBatchDto windFieldBatchDto) {
+        windFieldBatchDto.setIsDelete(1);
+        return windFieldBatchMapper.updateWindFieldBatch(windFieldBatchDto);
+    }
+
+    /**
+     * 查询批次列表
+     * @param windFieldBatchDto
+     * @return
+     */
+    @Override
+    public List<WindFieldBatchVo> queryWindFieldBatch(WindFieldBatchDto windFieldBatchDto) {
+        PageHelper.startPage(windFieldBatchDto);
+        return windFieldBatchMapper.selectWindFieldBatch(windFieldBatchDto);
+    }
+
+    /**
+     * 生成风场批次号
+     * @param fieldCode
+     * @return
+     */
+    public String createWindFieldBatchCode(String fieldCode){
+        String sequece = IdPrefixEnum.WIND_ENGINE_BATCH_NUMBER.getCode().concat(IdGeneratorUtil.zeroFillUtil(cacheService.incr(ManagerRedisKeyConstant.build(ManagerRedisKeyConstant.IDGENERATOR_CONSTANTS_KEY, IdPrefixEnum.WIND_ENGINE_BATCH_NUMBER.getCode()))));
+        return fieldCode + SEPARATOR + sequece;
+    }
+}

+ 0 - 2
energy-manage-service/src/main/java/com/energy/manage/service/util/JwtUtil.java

@@ -1,7 +1,5 @@
 package com.energy.manage.service.util;
 
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
 import com.auth0.jwt.JWT;
 import com.auth0.jwt.algorithms.Algorithm;
 import com.auth0.jwt.exceptions.JWTDecodeException;

+ 149 - 0
energy-manage-service/src/main/resources/mybatis/datatransfer/DataTransferMapper.xml

@@ -0,0 +1,149 @@
+<?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.energy.manage.service.mappers.datatransfer.DataTransferMapper">
+    <resultMap id="resultMap" type="com.energy.manage.common.po.datatransfer.DataTransferPo">
+        <id property="id" column="id" jdbcType="BIGINT"/>
+        <result property="batchCode" column="batch_code" jdbcType="VARCHAR"/>
+        <result property="fieldCode" column="field_code" jdbcType="VARCHAR"/>
+        <result property="engineCount" column="engine_count" jdbcType="VARCHAR"/>
+        <result property="transferType" column="transfer_type" jdbcType="VARCHAR"/>
+        <result property="transferFileAddr" column="transfer_file_addr" jdbcType="VARCHAR"/>
+        <result property="transferState" column="transfer_state" jdbcType="INTEGER"/>
+        <result property="errInfo" column="err_info" jdbcType="VARCHAR"/>
+        <result property="transferFinishTime" column="transfer_finish_time" jdbcType="TIMESTAMP"/>
+        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+        <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
+        <result property="createBy" column="create_by" jdbcType="INTEGER"/>
+        <result property="updateBy" column="update_by" jdbcType="INTEGER"/>
+    </resultMap>
+    <sql id="BASE_SQL">
+        id,
+        batch_code,
+        field_code,
+        transfer_file_addr,
+        engine_count,
+        transfer_type,
+        transfer_state,
+        err_info,
+        transfer_finish_time,
+        create_time,
+        update_time,
+        create_by,
+        update_by
+    </sql>
+
+    <select id="selectAllWindFieldBtach"  parameterType ="java.lang.Integer" resultType="java.lang.String">
+        SELECT distinct transfer.batch_code
+        FROM data_transfer transfer
+        left join sys_organization_auth auth
+        on transfer.field_code = auth.code_number
+        WHERE auth.role_id = #{roleId,jdbcType=INTEGER}
+    </select>
+
+    <select id="selectDataTransferListByCondition" parameterType="com.energy.manage.service.domain.dto.datatransfer.DataTransferDto" resultType="com.energy.manage.service.domain.vo.datatransfer.DataTransferVo">
+        select
+            transfer.batch_code,
+            transfer.field_code,
+            transfer.engine_count,
+            transfer.transfer_type,
+            transfer.transfer_state,
+            transfer.err_info,
+            transfer.transfer_file_addr,
+            transfer.transfer_finish_time
+        from data_transfer transfer
+        left join sys_organization_auth auth
+        on transfer.field_code = auth.code_number
+        WHERE auth.role_id = #{roleId,jdbcType=INTEGER}
+        <if test="batchCode != null and batchCode != ''">
+            and transfer.batch_code = #{batchCode,jdbcType=VARCHAR}
+        </if>
+        <if test="transferState != null">
+            and transfer.transfer_state = #{transferState,jdbcType=INTEGER}
+        </if>
+    </select>
+
+    <select id="selectByBatchCodeAndDataTransferType" parameterType="java.lang.String" resultType="com.energy.manage.common.po.datatransfer.DataTransferPo">
+        select
+            batch_code,
+            field_code,
+            engine_count,
+            transfer_type,
+            transfer_state,
+            err_info,
+            transfer_file_addr,
+            transfer_finish_time,
+            update_by
+        from data_transfer
+        where batch_code = #{batchCode,jdbcType=VARCHAR}
+        and transfer_type = #{transferType,jdbcType=VARCHAR}
+    </select>
+
+    <select id="selectCountByTransferState" parameterType="java.lang.Integer" resultType="java.lang.Integer">
+        select count(*) from data_transfer where transfer_state = #{transferState,jdbcType=INTEGER}
+    </select>
+
+    <insert id="addDataTransferBatch" parameterType="com.energy.manage.common.po.datatransfer.DataTransferPo">
+        insert into data_transfer
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="batchCode != null">
+                batch_code,
+            </if>
+            <if test="fieldCode != null">
+                field_code,
+            </if>
+            <if test="transferType != null">
+                transfer_type,
+            </if>
+            <if test="transferFileAddr != null">
+                transfer_file_addr,
+            </if>
+            <if test="createBy != null">
+                create_by,
+            </if>
+            <if test="updateBy != null">
+                update_by
+            </if>
+        </trim>
+        <trim prefix="values">
+            <foreach collection="poList" item="po" separator="," open="(" close=")">
+                <if test="po.batchCode != null">
+                    #{po.batchCode,jdbcType=VARCHAR},
+                </if>
+                <if test="po.fieldCode != null">
+                    #{po.fieldCode,jdbcType=VARCHAR},
+                </if>
+                <if test="po.transferType != null">
+                    #{po.transferType,jdbcType=VARCHAR},
+                </if>
+                <if test="po.transferFileAddr != null">
+                    #{po.transferFileAddr,jdbcType=VARCHAR},
+                </if>
+                <if test="po.createBy != null">
+                    #{po.createBy,jdbcType=INTEGER},
+                </if>
+                <if test="po.updateBy != null">
+                    #{po.updateBy,jdbcType=INTEGER}
+                </if>
+            </foreach>
+        </trim>
+    </insert>
+
+    <update id="updateDataTransfer" parameterType="com.energy.manage.common.po.datatransfer.DataTransferPo">
+        update data_transfer
+        <set>
+            <if test="transferState != null">
+                transfer_state = 0,
+            </if>
+            <if test="transferFileAddr != null and transferFileAddr != ''">
+                transfer_file_addr = #{transferFileAddr},
+            </if>
+            <if test="updateBy != null">
+                update_by = #{updateBy}
+            </if>
+        </set>
+        where batch_code = #{batchCode,jdbcType=VARCHAR}
+        and transfer_type = #{transferType,jdbcType=VARCHAR}
+    </update>
+
+</mapper>

+ 65 - 0
energy-manage-service/src/main/resources/mybatis/datatransferhistory/DataTransferHistoryMapper.xml

@@ -0,0 +1,65 @@
+<?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.energy.manage.service.mappers.datatransferhistory.DataTransferHistoryMapper">
+    <resultMap id="resultMap" type="com.energy.manage.common.po.datatransfer.DataTransferHistoryPo">
+        <id property="id" column="id" jdbcType="BIGINT"/>
+        <result property="batchCode" column="batch_code" jdbcType="VARCHAR"/>
+        <result property="transferFileAddr" column="transfer_file_addr" jdbcType="VARCHAR"/>
+        <result property="errInfo" column="err_info" jdbcType="VARCHAR"/>
+        <result property="transferType" column="transfer_type" jdbcType="VARCHAR"/>
+        <result property="transferFinishTime" column="transfer_finish_time" jdbcType="TIMESTAMP"/>
+        <result property="optionBy" column="option_by" jdbcType="VARCHAR"/>
+        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+    </resultMap>
+
+
+    <insert id="insertSelective" parameterType="com.energy.manage.common.po.datatransfer.DataTransferHistoryPo">
+        insert into data_transfer_history
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="batchCode != null">
+                batch_code,
+            </if>
+            <if test="engineCount != null">
+                engine_count,
+            </if>
+            <if test="errInfo != null">
+                err_info,
+            </if>
+            <if test="transferFileAddr != null">
+                transfer_file_addr,
+            </if>
+            <if test="transferType != null">
+                transfer_type,
+            </if>
+            <if test="transferFinishTime != null">
+                transfer_finish_time,
+            </if>
+            <if test="optionBy != null">
+                option_by
+            </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="batchCode != null">
+                #{batchCode,jdbcType=VARCHAR},
+            </if>
+            <if test="engineCount != null">
+                #{engineCount,jdbcType=VARCHAR},
+            </if>
+            <if test="errInfo != null">
+                #{errInfo,jdbcType=VARCHAR},
+            </if>
+            <if test="transferFileAddr != null">
+                #{transferFileAddr,jdbcType=VARCHAR},
+            </if>
+            <if test="transferType != null">
+                #{transferType,jdbcType=VARCHAR},
+            </if>
+            <if test="transferFinishTime != null">
+                #{transferFinishTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="optionBy != null">
+                #{optionBy,jdbcType=VARCHAR}
+            </if>
+    </insert>
+</mapper>

+ 20 - 0
energy-manage-service/src/main/resources/mybatis/datatransfertype/DataTransferTypeMapper.xml

@@ -0,0 +1,20 @@
+<?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.energy.manage.service.mappers.datatransfertype.DataTransferTypeMapper">
+    <resultMap id="resultMap" type="com.energy.manage.common.po.datatransfer.DataTransferTypePo">
+        <id property="id" column="id" jdbcType="BIGINT"/>
+        <result property="transferType" column="transfer_type" jdbcType="VARCHAR"/>
+        <result property="transferTypeName" column="transfer_type_name" jdbcType="VARCHAR"/>
+        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+    </resultMap>
+    <sql id="BASE_SQL">
+        transfer_type,
+        transfer_type_name
+    </sql>
+    <select id="selectAllInfo" resultType="com.energy.manage.service.domain.vo.datatransfer.DataTransferTypeVo">
+        SELECT
+        <include refid="BASE_SQL"/>
+        FROM data_transfer_type
+    </select>
+</mapper>

+ 23 - 0
energy-manage-service/src/main/resources/mybatis/system/OrganizationAuthMapper.xml

@@ -0,0 +1,23 @@
+<?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.energy.manage.service.mappers.system.SysOrganizationAuthMapper">
+    <resultMap id="resultMap" type="com.energy.manage.common.po.system.SysOrganizationAuthPO">
+        <id property="id" column="id" jdbcType="BIGINT"/>
+        <result property="roleId" column="role_id" jdbcType="VARCHAR"/>
+        <result property="codeNumber" column="code_number" jdbcType="VARCHAR"/>
+        <result property="codeType" column="code_type" jdbcType="VARCHAR"/>
+        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+        <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
+        <result property="createBy" column="create_by" jdbcType="INTEGER"/>
+        <result property="updateBy" column="update_by" jdbcType="INTEGER"/>
+    </resultMap>
+    <sql id="Base_Sql">
+        id,role_id,code_number,code_type,create_by,create_time,update_by,update_time
+    </sql>
+    <select id="selectByRoleId" parameterType="java.lang.Integer" resultMap="resultMap">
+        select
+        <include refid="Base_Sql"/>
+        from sys_organization_auth
+        where role_id = #{roleId}
+    </select>
+</mapper>

+ 130 - 0
energy-manage-service/src/main/resources/mybatis/windenginebatch/WindFieldBatchMapper.xml

@@ -0,0 +1,130 @@
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.energy.manage.service.mappers.windfieldbatch.WindFieldBatchMapper">
+    <resultMap id="resultMap" type="com.energy.manage.common.po.windfieldbatch.WindFieldBatchPo">
+        <id property="id" column="id" jdbcType="INTEGER"/>
+        <result property="batchCode" column="batch_code" jdbcType="VARCHAR"/>
+        <result property="batchName" column="batch_name" jdbcType="VARCHAR"/>
+        <result property="fieldCode" column="field_code" jdbcType="VARCHAR"/>
+        <result property="fieldName" column="field_name" jdbcType="VARCHAR"/>
+        <result property="batchState" column="batch_state" jdbcType="INTEGER"/>
+        <result property="isDelete" column="is_delete" jdbcType="INTEGER"/>
+        <result property="createBy" column="create_by" jdbcType="VARCHAR"/>
+        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+        <result property="updateBy" column="update_by" jdbcType="VARCHAR"/>
+        <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
+    </resultMap>
+
+    <insert id="addWindFieldBatch" parameterType="com.energy.manage.service.domain.dto.windfieldbatch.WindFieldBatchDto">
+        insert into wind_field_batch
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="batchCode != null">
+                batch_code,
+            </if>
+            <if test="batchName != null">
+                batch_name,
+            </if>
+            <if test="fieldCode != null">
+                field_code,
+            </if>
+            <if test="fieldName != null">
+                field_name,
+            </if>
+            <if test="createBy != null">
+                create_by,
+            </if>
+            <if test="updateBy != null">
+                update_by
+            </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="batchCode != null">
+                #{batchCode,jdbcType=VARCHAR},
+            </if>
+            <if test="batchName != null">
+                #{batchName,jdbcType=VARCHAR},
+            </if>
+            <if test="fieldCode != null">
+                #{fieldCode,jdbcType=VARCHAR},
+            </if>
+            <if test="fieldName != null">
+                #{fieldName,jdbcType=VARCHAR},
+            </if>
+            <if test="createBy != null">
+                #{createBy,jdbcType=VARCHAR},
+            </if>
+            <if test="updateBy != null">
+                #{updateBy,jdbcType=VARCHAR},
+            </if>
+        </trim>
+    </insert>
+    <update id="updateWindFieldBatch" parameterType="com.energy.manage.service.domain.dto.windfieldbatch.WindFieldBatchDto">
+        update wind_field_batch
+        <set>
+            <if test="batchName != null">
+                batch_name = #{batchName,jdbcType=VARCHAR},
+            </if>
+            <if test="fieldCode != null">
+                field_code = #{fieldCode,jdbcType=VARCHAR},
+            </if>
+            <if test="fieldName != null">
+                field_name = #{fieldName,jdbcType=VARCHAR},
+            </if>
+            <if test="batchState != null">
+                batch_state = #{batchState,jdbcType=VARCHAR},
+            </if>
+            <if test="isDelete != null">
+                is_delete = #{isDelete,jdbcType=INTEGER},
+            </if>
+            <if test="updateBy != null">
+                update_by = #{updateBy,jdbcType=VARCHAR}
+            </if>
+        </set>
+        where batch_code = #{batchCode,jdbcType=VARCHAR}
+    </update>
+
+    <select id="selectWindFieldBatch" parameterType="com.energy.manage.service.domain.dto.windfieldbatch.WindFieldBatchDto" resultType="com.energy.manage.service.domain.vo.windfieldbatch.WindFieldBatchVo">
+        select batch.batch_code,
+               batch.batch_name,
+               batch.field_name,
+               batch.field_code,
+               batch.batch_state,
+               batch.is_delete,
+               batch.create_time
+        from wind_field_batch batch
+        left join sys_organization_auth auth
+        on batch.field_code = auth.code_number
+        where batch.is_delete = 0
+        and auth.role_id = #{roleId}
+        <if test="batchName != null">
+            and batch.batch_name like concat('%',#{batchName},'%')
+        </if>
+        <if test="batchCode != null">
+            and batch.batch_code = #{batchCode};
+        </if>
+        <if test="fieldName != null and fileName != ''">
+            and batch.field_name like concat('%',#{fieldName},'%')
+        </if>
+        <if test="batchState != null">
+            and batch.batch_state = #{batchState}
+        </if>
+        <if test="startTime != null">
+            and batch.create_time &gt;= #{startTime}
+        </if>
+        <if test="endTime != null">
+            and batch.create_time &lt;= #{endTime}
+        </if>
+    </select>
+
+    <select id="selectByBatchCode" parameterType="java.lang.String" resultType="com.energy.manage.service.domain.vo.windfieldbatch.WindFieldBatchVo">
+        select batch.batch_code,
+        batch.batch_name,
+        batch.field_name,
+        batch.field_code,
+        batch.batch_state,
+        batch.is_delete,
+        batch.create_time
+        from wind_field_batch batch
+        where batch_code = #{batchCode}
+    </select>
+
+</mapper>