kongdeqiang
2025-03-28 dc0dc216eec524e67ce19f820d2501a3798fcfe0
fix: 年度投资计划
3个文件已修改
12个文件已添加
524 ■■■■■ 已修改文件
platformx-device-api/src/main/java/com/by4cloud/platformx/device/constant/MaxSizeContant.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/InvestmentPlan.java 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/InvestmentPlanItem.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceDemandPlanController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/InvestmentPlanController.java 132 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/InvestmentPlanItemController.java 119 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/InvestmentPlanItemMapper.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/InvestmentPlanMapper.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/InvestmentPlanItemService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/InvestmentPlanService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InvestmentPlanItemServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InvestmentPlanServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/JcMaxSizeServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/resources/mapper/InvestmentPlanItemMapper.xml 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/resources/mapper/InvestmentPlanMapper.xml 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-api/src/main/java/com/by4cloud/platformx/device/constant/MaxSizeContant.java
@@ -15,6 +15,10 @@
     */
    String PLAN_NUM = "PLAN_NUM";
    /**
     * 年度投资计划编号
     */
    String TZPLAN_NUM = "TZPLAN_NUM";
    /**
     * 合同编号
     */
    String CONTRACT_NUM = "CONTRACT_NUM";
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/InvestmentPlan.java
New file
@@ -0,0 +1,77 @@
package com.by4cloud.platformx.device.entity;
import com.by4cloud.platformx.common.data.mybatis.BaseModel;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.annotations.Table;
import org.springframework.format.annotation.DateTimeFormat;
import javax.persistence.Column;
import javax.persistence.Entity;
import java.util.Date;
/**
 * @author kdq
 * @version 1.0.0
 * @ClassName InvestmentPlan.java
 * @Description TODO
 * @createTime 2025年03月28日 09:17:00
 */
@Data
@Entity
@Table(appliesTo = "investment_plan", comment = "年度投资计划主表")
public class InvestmentPlan extends BaseModel<InvestmentPlan> {
    @Schema(description = "编号")
    @Column(columnDefinition="VARCHAR(64) comment '编号'")
    private String number;
    @Schema(description = "年度")
    @Column(columnDefinition="int comment '年度'")
    private Integer year;
    @Column(columnDefinition = "double(10,2) comment '计划总额'")
    private Double amount;
    @Schema(description = "联系人")
    @Column(columnDefinition="VARCHAR(64) comment '联系人'")
    private String contacts;
    @Schema(description = "名称")
    @Column(columnDefinition="VARCHAR(64) comment '名称'")
    private String name;
    @Schema(description = "填报公司")
    @Column(columnDefinition="VARCHAR(64) comment '填报公司'")
    private String releaseCompName;
    @Schema(description = "填报人")
    @Column(columnDefinition="VARCHAR(64) comment '填报人'")
    private String releasePerson;
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Schema(description = "填报时间")
    @Column(columnDefinition = "datetime comment '填报时间'")
    private Date releaseDate;
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Schema(description = "上报时间")
    @Column(columnDefinition = "datetime comment '上报时间'")
    private Date sendDate;
    @Schema(description = "申报状态 0申请中,1审批拒绝  2审核通过 ")
    @Column(columnDefinition="int comment '申报状态'")
    private Integer status;
    @Schema(description = "申报类型")
    @Column(columnDefinition="int comment '申报类型'")
    private Integer type;
    @Column(columnDefinition = "double(10,2) comment '调整偏移率'")
    private Double deviation;
    @Schema(description = "投资计划ids")
    @Column(columnDefinition="VARCHAR(64) comment '投资计划ids'")
    private String planIds;
}
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/InvestmentPlanItem.java
New file
@@ -0,0 +1,66 @@
package com.by4cloud.platformx.device.entity;
import com.by4cloud.platformx.common.data.mybatis.BaseModel;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.annotations.Table;
import org.springframework.format.annotation.DateTimeFormat;
import javax.persistence.Column;
import javax.persistence.Entity;
import java.util.Date;
/**
 * @author kdq
 * @version 1.0.0
 * @ClassName InvestmentPlan.java
 * @Description TODO
 * @createTime 2025年03月28日 09:17:00
 */
@Data
@Entity
@Table(appliesTo = "investment_plan_item", comment = "年度投资计划子表")
public class InvestmentPlanItem extends BaseModel<InvestmentPlanItem> {
    @Schema(description = "年度")
    @Column(columnDefinition="int comment '年度'")
    private Integer year;
    @Schema(description = "月份")
    @Column(columnDefinition="int comment '月份'")
    private Integer month;
    @Schema(description = "设备表id")
    @Column(columnDefinition="long comment '设备表id'")
    private Long deviceId;
    @Schema(description = "设备编码")
    @Column(columnDefinition="VARCHAR(64) comment '设备编码'")
    private String number;
    @Column(columnDefinition = "varchar(200) comment '规格型号'")
    private String specification;
    @Column(columnDefinition = "int comment '数量'")
    private Integer num;
    @Column(columnDefinition = "varchar(20) comment '单位'")
    private String unit;
    @Column(columnDefinition = "double(10,2) comment '预估单价'")
    private Double price;
    @Column(columnDefinition = "double(10,2) comment '计划总额'")
    private Double amount;
    @Schema(description = "建议厂家")
    @Column(columnDefinition="VARCHAR(64) comment '建议厂家'")
    private String manu;
    @Schema(description = "投资必要性")
    @Column(columnDefinition="VARCHAR(64) comment '投资必要性'")
    private String necessity;
    @Schema(description = "增减计划")
    @Column(columnDefinition="int comment '增减计划'")
    private Integer flucPlan;
}
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceDemandPlanController.java
@@ -77,6 +77,7 @@
        wrapper.eq(deviceDemandPlan.getDeclareCompId() !=null,DeviceDemandPlan::getDeclareCompId,deviceDemandPlan.getDeclareCompId());
        wrapper.eq(deviceDemandPlan.getReleasePerson() !=null,DeviceDemandPlan::getReleasePerson,deviceDemandPlan.getReleasePerson());
        wrapper.eq(deviceDemandPlan.getYear() !=null,DeviceDemandPlan::getYear,deviceDemandPlan.getYear());
        wrapper.eq(deviceDemandPlan.getStatus() !=null,DeviceDemandPlan::getStatus,deviceDemandPlan.getStatus());
        wrapper.eq(DeviceDemandPlan::getType2,1);
        return R.ok(deviceDemandPlanService.page(page, wrapper));
    }
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/InvestmentPlanController.java
New file
@@ -0,0 +1,132 @@
package com.by4cloud.platformx.device.controller;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.by4cloud.platformx.common.core.util.R;
import com.by4cloud.platformx.common.log.annotation.SysLog;
import com.by4cloud.platformx.device.constant.MaxSizeContant;
import com.by4cloud.platformx.device.entity.DeviceDemandPlan;
import com.by4cloud.platformx.device.entity.InvestmentPlan;
import com.by4cloud.platformx.device.service.DeviceDemandPlanService;
import com.by4cloud.platformx.device.service.InvestmentPlanService;
import com.by4cloud.platformx.device.service.JcMaxSizeService;
import com.by4cloud.platformx.device.util.NumUtils;
import org.springframework.security.access.prepost.PreAuthorize;
import com.by4cloud.platformx.common.excel.annotation.ResponseExcel;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import org.springdoc.api.annotations.ParameterObject;
import org.springframework.http.HttpHeaders;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Operation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Objects;
/**
 * 年度投资计划主表
 *
 * @author kdq
 * @date 2025-03-28 11:06:50
 */
@RestController
@RequiredArgsConstructor
@RequestMapping("/investmentPlan" )
@Tag(description = "investmentPlan" , name = "年度投资计划主表管理" )
@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
public class InvestmentPlanController {
    private final  InvestmentPlanService investmentPlanService;
    private final DeviceDemandPlanService deviceDemandPlanService;
    private final JcMaxSizeService maxSizeService;
    /**
     * 分页查询
     * @param page 分页对象
     * @param investmentPlan 年度投资计划主表
     * @return
     */
    @Operation(summary = "分页查询" , description = "分页查询" )
    @GetMapping("/page" )
    @PreAuthorize("@pms.hasPermission('device_investmentPlan_view')" )
    public R getInvestmentPlanPage(@ParameterObject Page page, @ParameterObject InvestmentPlan investmentPlan) {
        LambdaQueryWrapper<InvestmentPlan> wrapper = Wrappers.lambdaQuery();
        wrapper.eq(investmentPlan.getYear()!=null,InvestmentPlan::getYear,investmentPlan.getYear());
        wrapper.like(StringUtils.isNotBlank(investmentPlan.getName()),InvestmentPlan::getName,investmentPlan.getName());
        return R.ok(investmentPlanService.page(page, wrapper));
    }
    /**
     * 通过id查询年度投资计划主表
     * @param id id
     * @return R
     */
    @Operation(summary = "通过id查询" , description = "通过id查询" )
    @GetMapping("/{id}" )
    @PreAuthorize("@pms.hasPermission('device_investmentPlan_view')" )
    public R getById(@PathVariable("id" ) Long id) {
        return R.ok(investmentPlanService.getById(id));
    }
    /**
     * 新增年度投资计划主表
     * @param investmentPlan 年度投资计划主表
     * @return R
     */
    @Operation(summary = "新增年度投资计划主表" , description = "新增年度投资计划主表" )
    @SysLog("新增年度投资计划主表" )
    @PostMapping
    @PreAuthorize("@pms.hasPermission('device_investmentPlan_add')" )
    public R save(@RequestBody InvestmentPlan investmentPlan) {
        investmentPlan.setNumber(maxSizeService.nextNo(MaxSizeContant.TZPLAN_NUM));
        investmentPlanService.save(investmentPlan);
        return R.ok();
    }
    /**
     * 修改年度投资计划主表
     * @param investmentPlan 年度投资计划主表
     * @return R
     */
    @Operation(summary = "修改年度投资计划主表" , description = "修改年度投资计划主表" )
    @SysLog("修改年度投资计划主表" )
    @PutMapping
    @PreAuthorize("@pms.hasPermission('device_investmentPlan_edit')" )
    public R updateById(@RequestBody InvestmentPlan investmentPlan) {
        return R.ok(investmentPlanService.updateById(investmentPlan));
    }
    /**
     * 通过id删除年度投资计划主表
     * @param ids id列表
     * @return R
     */
    @Operation(summary = "通过id删除年度投资计划主表" , description = "通过id删除年度投资计划主表" )
    @SysLog("通过id删除年度投资计划主表" )
    @DeleteMapping
    @PreAuthorize("@pms.hasPermission('device_investmentPlan_del')" )
    public R removeById(@RequestBody Long[] ids) {
        return R.ok(investmentPlanService.removeBatchByIds(CollUtil.toList(ids)));
    }
    /**
     * 导出excel 表格
     * @param investmentPlan 查询条件
        * @param ids 导出指定ID
     * @return excel 文件流
     */
    @ResponseExcel
    @GetMapping("/export")
    @PreAuthorize("@pms.hasPermission('device_investmentPlan_export')" )
    public List<InvestmentPlan> export(InvestmentPlan investmentPlan,Long[] ids) {
        return investmentPlanService.list(Wrappers.lambdaQuery(investmentPlan).in(ArrayUtil.isNotEmpty(ids), InvestmentPlan::getId, ids));
    }
}
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/InvestmentPlanItemController.java
New file
@@ -0,0 +1,119 @@
package com.by4cloud.platformx.device.controller;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.by4cloud.platformx.common.core.util.R;
import com.by4cloud.platformx.common.log.annotation.SysLog;
import com.by4cloud.platformx.device.entity.InvestmentPlanItem;
import com.by4cloud.platformx.device.service.InvestmentPlanItemService;
import org.springframework.security.access.prepost.PreAuthorize;
import com.by4cloud.platformx.common.excel.annotation.ResponseExcel;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import org.springdoc.api.annotations.ParameterObject;
import org.springframework.http.HttpHeaders;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Operation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Objects;
/**
 * 年度投资计划子表
 *
 * @author kdq
 * @date 2025-03-28 11:08:34
 */
@RestController
@RequiredArgsConstructor
@RequestMapping("/investmentPlanItem" )
@Tag(description = "investmentPlanItem" , name = "年度投资计划子表管理" )
@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
public class InvestmentPlanItemController {
    private final  InvestmentPlanItemService investmentPlanItemService;
    /**
     * 分页查询
     * @param page 分页对象
     * @param investmentPlanItem 年度投资计划子表
     * @return
     */
    @Operation(summary = "分页查询" , description = "分页查询" )
    @GetMapping("/page" )
    @PreAuthorize("@pms.hasPermission('device_investmentPlanItem_view')" )
    public R getInvestmentPlanItemPage(@ParameterObject Page page, @ParameterObject InvestmentPlanItem investmentPlanItem) {
        LambdaQueryWrapper<InvestmentPlanItem> wrapper = Wrappers.lambdaQuery();
        return R.ok(investmentPlanItemService.page(page, wrapper));
    }
    /**
     * 通过id查询年度投资计划子表
     * @param id id
     * @return R
     */
    @Operation(summary = "通过id查询" , description = "通过id查询" )
    @GetMapping("/{id}" )
    @PreAuthorize("@pms.hasPermission('device_investmentPlanItem_view')" )
    public R getById(@PathVariable("id" ) Long id) {
        return R.ok(investmentPlanItemService.getById(id));
    }
    /**
     * 新增年度投资计划子表
     * @param investmentPlanItem 年度投资计划子表
     * @return R
     */
    @Operation(summary = "新增年度投资计划子表" , description = "新增年度投资计划子表" )
    @SysLog("新增年度投资计划子表" )
    @PostMapping
    @PreAuthorize("@pms.hasPermission('device_investmentPlanItem_add')" )
    public R save(@RequestBody InvestmentPlanItem investmentPlanItem) {
        return R.ok(investmentPlanItemService.save(investmentPlanItem));
    }
    /**
     * 修改年度投资计划子表
     * @param investmentPlanItem 年度投资计划子表
     * @return R
     */
    @Operation(summary = "修改年度投资计划子表" , description = "修改年度投资计划子表" )
    @SysLog("修改年度投资计划子表" )
    @PutMapping
    @PreAuthorize("@pms.hasPermission('device_investmentPlanItem_edit')" )
    public R updateById(@RequestBody InvestmentPlanItem investmentPlanItem) {
        return R.ok(investmentPlanItemService.updateById(investmentPlanItem));
    }
    /**
     * 通过id删除年度投资计划子表
     * @param ids id列表
     * @return R
     */
    @Operation(summary = "通过id删除年度投资计划子表" , description = "通过id删除年度投资计划子表" )
    @SysLog("通过id删除年度投资计划子表" )
    @DeleteMapping
    @PreAuthorize("@pms.hasPermission('device_investmentPlanItem_del')" )
    public R removeById(@RequestBody Long[] ids) {
        return R.ok(investmentPlanItemService.removeBatchByIds(CollUtil.toList(ids)));
    }
    /**
     * 导出excel 表格
     * @param investmentPlanItem 查询条件
        * @param ids 导出指定ID
     * @return excel 文件流
     */
    @ResponseExcel
    @GetMapping("/export")
    @PreAuthorize("@pms.hasPermission('device_investmentPlanItem_export')" )
    public List<InvestmentPlanItem> export(InvestmentPlanItem investmentPlanItem,Long[] ids) {
        return investmentPlanItemService.list(Wrappers.lambdaQuery(investmentPlanItem).in(ArrayUtil.isNotEmpty(ids), InvestmentPlanItem::getId, ids));
    }
}
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/InvestmentPlanItemMapper.java
New file
@@ -0,0 +1,11 @@
package com.by4cloud.platformx.device.mapper;
import com.by4cloud.platformx.common.data.datascope.PlatformxBaseMapper;
import com.by4cloud.platformx.device.entity.InvestmentPlanItem;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface InvestmentPlanItemMapper extends PlatformxBaseMapper<InvestmentPlanItem> {
}
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/InvestmentPlanMapper.java
New file
@@ -0,0 +1,11 @@
package com.by4cloud.platformx.device.mapper;
import com.by4cloud.platformx.common.data.datascope.PlatformxBaseMapper;
import com.by4cloud.platformx.device.entity.InvestmentPlan;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface InvestmentPlanMapper extends PlatformxBaseMapper<InvestmentPlan> {
}
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/InvestmentPlanItemService.java
New file
@@ -0,0 +1,8 @@
package com.by4cloud.platformx.device.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.by4cloud.platformx.device.entity.InvestmentPlanItem;
public interface InvestmentPlanItemService extends IService<InvestmentPlanItem> {
}
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/InvestmentPlanService.java
New file
@@ -0,0 +1,8 @@
package com.by4cloud.platformx.device.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.by4cloud.platformx.device.entity.InvestmentPlan;
public interface InvestmentPlanService extends IService<InvestmentPlan> {
}
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InvestmentPlanItemServiceImpl.java
New file
@@ -0,0 +1,16 @@
package com.by4cloud.platformx.device.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.by4cloud.platformx.device.entity.InvestmentPlanItem;
import com.by4cloud.platformx.device.mapper.InvestmentPlanItemMapper;
import com.by4cloud.platformx.device.service.InvestmentPlanItemService;
import org.springframework.stereotype.Service;
/**
 * 年度投资计划子表
 *
 * @author kdq
 * @date 2025-03-28 11:08:34
 */
@Service
public class InvestmentPlanItemServiceImpl extends ServiceImpl<InvestmentPlanItemMapper, InvestmentPlanItem> implements InvestmentPlanItemService {
}
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InvestmentPlanServiceImpl.java
New file
@@ -0,0 +1,16 @@
package com.by4cloud.platformx.device.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.by4cloud.platformx.device.entity.InvestmentPlan;
import com.by4cloud.platformx.device.mapper.InvestmentPlanMapper;
import com.by4cloud.platformx.device.service.InvestmentPlanService;
import org.springframework.stereotype.Service;
/**
 * 年度投资计划主表
 *
 * @author kdq
 * @date 2025-03-28 11:06:50
 */
@Service
public class InvestmentPlanServiceImpl extends ServiceImpl<InvestmentPlanMapper, InvestmentPlan> implements InvestmentPlanService {
}
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/JcMaxSizeServiceImpl.java
@@ -56,7 +56,7 @@
                    String s = pre+format+suf+randomNumber+n;
                    return s;
                }else {
                    Integer currentNumber = dayMax.getCurrentNumber();
                    Integer currentNumber = dayMax.getCurrentNumber()==null?0:dayMax.getCurrentNumber();
                    int current = currentNumber+1;
                    String n = padStart(current, maxSize.getLength());
                    String pre = (maxSize.getUsePrefix() == 0 ? "" : maxSize.getPrefixName());
platformx-device-biz/src/main/resources/mapper/InvestmentPlanItemMapper.xml
New file
@@ -0,0 +1,27 @@
<?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.by4cloud.platformx.device.mapper.InvestmentPlanItemMapper">
  <resultMap id="investmentPlanItemMap" type="com.by4cloud.platformx.device.entity.InvestmentPlanItem">
        <id property="id" column="id"/>
        <result property="compId" column="comp_id"/>
        <result property="year" column="year"/>
        <result property="month" column="month"/>
        <result property="amount" column="amount"/>
        <result property="number" column="number"/>
        <result property="num" column="num"/>
        <result property="price" column="price"/>
        <result property="unit" column="unit"/>
        <result property="manu" column="manu"/>
        <result property="specification" column="specification"/>
        <result property="deviceId" column="device_id"/>
        <result property="flucPlan" column="fluc_plan"/>
        <result property="necessity" column="necessity"/>
        <result property="createBy" column="create_by"/>
        <result property="createTime" column="create_time"/>
        <result property="updateBy" column="update_by"/>
        <result property="updateTime" column="update_time"/>
        <result property="delFlag" column="del_flag"/>
  </resultMap>
</mapper>
platformx-device-biz/src/main/resources/mapper/InvestmentPlanMapper.xml
New file
@@ -0,0 +1,26 @@
<?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.by4cloud.platformx.device.mapper.InvestmentPlanMapper">
  <resultMap id="investmentPlanMap" type="com.by4cloud.platformx.device.entity.InvestmentPlan">
        <id property="id" column="id"/>
        <result property="compId" column="comp_id"/>
        <result property="year" column="year"/>
        <result property="amount" column="amount"/>
        <result property="releasePerson" column="release_person"/>
        <result property="contacts" column="contacts"/>
        <result property="releaseDate" column="release_date"/>
        <result property="sendDate" column="send_date"/>
        <result property="deviation" column="deviation"/>
        <result property="status" column="status"/>
        <result property="planIds" column="plan_ids"/>
        <result property="type" column="type"/>
        <result property="releaseCompName" column="release_comp_name"/>
        <result property="createBy" column="create_by"/>
        <result property="createTime" column="create_time"/>
        <result property="updateBy" column="update_by"/>
        <result property="updateTime" column="update_time"/>
        <result property="delFlag" column="del_flag"/>
  </resultMap>
</mapper>