Browse Source

1.机器设备-非标设备测算表生成并合并到主模板开发
2.通用非标准设备估价参数相关接口开发
3.新增表eqpt_gn_evp与eqpt_life_ifr_refs、修改表assets_calculate_eqpt_imp_data

GouGengquan 7 months ago
parent
commit
3e43eef94b
22 changed files with 953 additions and 18 deletions
  1. 23 0
      biz-base/src/main/java/com/dayou/controller/AssetsCalculateEqptDataController.java
  2. 41 0
      biz-base/src/main/java/com/dayou/controller/EqptGnEvpController.java
  3. 32 1
      dao/src/main/java/com/dayou/mapper/AssetsCalculateEqptDataMapper.java
  4. 25 0
      dao/src/main/java/com/dayou/mapper/EqptGnEvpMapper.java
  5. 98 1
      dao/src/main/resources/mapper/AssetsCalculateEqptDataMapper.xml
  6. 41 0
      dao/src/main/resources/mapper/EqptGnEvpMapper.xml
  7. 4 0
      domain/pom.xml
  8. 40 0
      domain/src/main/java/com/dayou/common/CalculateFormula.java
  9. 81 0
      domain/src/main/java/com/dayou/entity/AssetsCalculateEqptNonsData.java
  10. 83 0
      domain/src/main/java/com/dayou/entity/EqptGnEvp.java
  11. 2 4
      domain/src/main/java/com/dayou/enums/EquipmentTmplCode.java
  12. 1 0
      domain/src/main/java/com/dayou/vo/AssetsCalculateEqptImpDataVO.java
  13. 145 0
      domain/src/main/java/com/dayou/vo/AssetsCalculateEqptNonsDataVO.java
  14. 73 0
      domain/src/main/java/com/dayou/vo/EqptGnEvpVO.java
  15. 6 6
      domain/src/main/java/com/dayou/vo/EqptLifeIfrRefsVO.java
  16. 6 0
      pom.xml
  17. 24 1
      service/src/main/java/com/dayou/service/AssetsCalculateEqptDataService.java
  18. 25 0
      service/src/main/java/com/dayou/service/EqptGnEvpService.java
  19. 40 0
      service/src/main/java/com/dayou/service/impl/AssetsCalculateEqptDataServiceImpl.java
  20. 59 5
      service/src/main/java/com/dayou/service/impl/AssetsCalculateServiceImpl.java
  21. 35 0
      service/src/main/java/com/dayou/service/impl/EqptGnEvpServiceImpl.java
  22. 69 0
      sql/update_sql.sql

+ 23 - 0
biz-base/src/main/java/com/dayou/controller/AssetsCalculateEqptDataController.java

@@ -6,9 +6,11 @@ import com.dayou.dto.calculate.equipment.EqptQueryDTO;
 import com.dayou.entity.AssetsCalculate;
 import com.dayou.entity.AssetsCalculateEqptData;
 import com.dayou.entity.AssetsCalculateEqptImpData;
+import com.dayou.entity.AssetsCalculateEqptNonsData;
 import com.dayou.result.Result;
 import com.dayou.service.AssetsCalculateEqptDataService;
 import com.dayou.vo.AssetsCalculateEqptImpDataVO;
+import com.dayou.vo.AssetsCalculateEqptNonsDataVO;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -81,4 +83,25 @@ public class AssetsCalculateEqptDataController {
        return Result.build(dataService.updateImpData(assetsCalculateEqptImpData));
     }
 
+    /**
+     * 分页查询非标设备信息
+     * @param page 分页
+     * @param dto 查询dto
+     * @return Page<AssetsCalculateEqptNonsDataVO>
+     */
+    @GetMapping("/getNonSDataPage")
+    public Result<Page<AssetsCalculateEqptNonsDataVO>> getNonSDataPage(Page page, EqptQueryDTO dto) {
+        return Result.build(dataService.getNonSDataPage(page, dto));
+    }
+
+    /**
+     * 更新机器设备非标设备数据
+     * @param assetsCalculateEqptNonsData 非标设备信息
+     * @return Boolean
+     */
+    @PutMapping("/updateNonSData")
+    public Result<Boolean> updateNonSData(@RequestBody AssetsCalculateEqptNonsData assetsCalculateEqptNonsData) {
+        return Result.build(dataService.updateNonSData(assetsCalculateEqptNonsData));
+    }
+
 }

+ 41 - 0
biz-base/src/main/java/com/dayou/controller/EqptGnEvpController.java

@@ -0,0 +1,41 @@
+package com.dayou.controller;
+
+import com.dayou.result.Result;
+import com.dayou.vo.EqptGnEvpVO;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springframework.web.bind.annotation.RestController;
+import com.dayou.service.EqptGnEvpService;
+import com.dayou.entity.EqptGnEvp;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 通用非标准设备估价参数表 General Non-Standard Equipment Valuation Parameters
+ *
+ * @author mybatis-plus-generator
+ * @since 2024-12-02
+ */
+@RestController
+@RequestMapping("eqptGnEvp")
+@Slf4j
+@CrossOrigin
+public class EqptGnEvpController {
+
+    @Autowired
+    private EqptGnEvpService eqptGnEvpService;
+
+    /**
+     * 获取通用非标准设备估价参数表
+     * @return List<EqptGnEvp>
+     */
+    @GetMapping("/listAll")
+    public Result<List<EqptGnEvpVO>> listAll() {
+        return Result.build(eqptGnEvpService.listAll());
+    }
+
+}
+

+ 32 - 1
dao/src/main/java/com/dayou/mapper/AssetsCalculateEqptDataMapper.java

@@ -5,7 +5,9 @@ import com.dayou.dto.calculate.equipment.EqptQueryDTO;
 import com.dayou.entity.AssetsCalculateEqptData;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.dayou.entity.AssetsCalculateEqptImpData;
+import com.dayou.entity.AssetsCalculateEqptNonsData;
 import com.dayou.vo.AssetsCalculateEqptImpDataVO;
+import com.dayou.vo.AssetsCalculateEqptNonsDataVO;
 import org.apache.ibatis.annotations.Param;
 
 import java.math.BigDecimal;
@@ -62,7 +64,7 @@ public interface AssetsCalculateEqptDataMapper extends BaseMapper<AssetsCalculat
     /**
      * 查询进口设备信息集合
      * @param calculateId 测算表id
-     * @return Page<AssetsCalculateEqptImpData>
+     * @return List<AssetsCalculateEqptImpData>
      */
     List<AssetsCalculateEqptImpDataVO> getImpDataList(@Param("calculateId") Long calculateId);
 
@@ -87,4 +89,33 @@ public interface AssetsCalculateEqptDataMapper extends BaseMapper<AssetsCalculat
      */
     Boolean addImpData(@Param("data") AssetsCalculateEqptImpData assetsCalculateEqptImpData);
 
+    /**
+     * 分页查询非标设备信息
+     * @param page 分页
+     * @param dto 查询dto
+     * @return Page<AssetsCalculateEqptNonsDataVO>
+     */
+    Page<AssetsCalculateEqptNonsDataVO> getNonSDataPage(@Param("page") Page page, @Param("dto") EqptQueryDTO dto);
+
+    /**
+     * 查询非标设备信息集合
+     * @param calculateId 测算表id
+     * @return Page<AssetsCalculateEqptNonsDataVO>
+     */
+    List<AssetsCalculateEqptNonsDataVO> getNonSDataList(@Param("calculateId") Long calculateId);
+
+    /**
+     * 更新机器设备非标设备数据
+     * @param data 非标设备信息
+     * @return Boolean
+     */
+    Boolean updateNonSData(@Param("data") AssetsCalculateEqptNonsData data);
+
+    /**
+     * 新增机器设备非标设备数据
+     * @param data 非标设备信息
+     * @return Boolean
+     */
+    Boolean addNonSData(@Param("data") AssetsCalculateEqptNonsData data);
+
 }

+ 25 - 0
dao/src/main/java/com/dayou/mapper/EqptGnEvpMapper.java

@@ -0,0 +1,25 @@
+package com.dayou.mapper;
+
+import com.dayou.entity.EqptGnEvp;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.dayou.vo.EqptGnEvpVO;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 通用非标准设备估价参数表 General Non-Standard Equipment Valuation Parameters Mapper 接口
+ * </p>
+ *
+ * @author mybatis-plus-generator
+ * @since 2024-12-02
+ */
+public interface EqptGnEvpMapper extends BaseMapper<EqptGnEvp> {
+
+    /**
+     * 获取通用非标准设备估价参数表
+     * @return List<EqptGnEvp>
+     */
+    List<EqptGnEvpVO> listAll();
+
+}

+ 98 - 1
dao/src/main/resources/mapper/AssetsCalculateEqptDataMapper.xml

@@ -159,7 +159,7 @@
                impData.destination_port,
                impData.original_price
         FROM assets_calculate_eqpt_data AS data
-                 LEFT JOIN assets_calculate_eqpt_imp_data AS impData ON impData.eqpt_data_id = data.id AND impData.delete_status = 0
+        LEFT JOIN assets_calculate_eqpt_imp_data AS impData ON impData.eqpt_data_id = data.id AND impData.delete_status = 0
         WHERE data.delete_status = 0
           AND data.equipment_type = '进口设备'
           AND assets_calculate_id = #{calculateId}
@@ -203,4 +203,101 @@
         VALUE (NULL,#{data.eqptDataId},#{data.ppi},#{data.pricingBasis},#{data.centralParityRate},#{data.tariffRate},#{data.importVATRate},#{data.bankChargesRate},#{data.foreignTransactionRate},#{data.productCode},#{data.currency},#{data.address},#{data.transactionMethod},#{data.contractAmount},#{data.contractSigningDate},#{data.destinationPort},#{data.originalPrice})
     </insert>
 
+    <!--分页查询非标设备信息-->
+    <select id="getNonSDataPage" resultType="com.dayou.vo.AssetsCalculateEqptNonsDataVO">
+        SELECT data.sort_id,
+               data.equipment_name,
+               data.model,
+               data.purchase_date,
+               data.activation_date,
+               data.quantity,
+               data.unit_of_measurement,
+               data.book_original_value,
+               data.book_net_value,
+               data.manufacturer,
+               nonsData.id,
+               data.id AS eqptDataId,
+               nonsData.eqpt_code,
+               nonsData.affiliated_system,
+               nonsData.main_material_Cost,
+               nonsData.main_material_cost_rate,
+               nonsData.main_purchased_parts_cost,
+               nonsData.cost_profit_ratio,
+               nonsData.sales_tax_rate,
+               nonsData.design_fee_rate,
+               nonsData.VAT_rate,
+               nonsData.nons_eqpt_value
+        FROM assets_calculate_eqpt_data AS data
+        LEFT JOIN assets_calculate_eqpt_nons_data AS nonsData ON nonsData.delete_status = 0 AND nonsData.eqpt_data_id = data.id
+        WHERE data.delete_status = 0
+          AND data.equipment_type = #{dto.equipmentType}
+          AND assets_calculate_id = #{dto.calculateId}
+        <if test="dto != null and dto.sortId != null">
+            AND sort_id = #{dto.sortId}
+        </if>
+        <if test="dto != null and dto.equipmentName">
+            AND equipment_name LIKE CONCAT('%', #{dto.equipmentName}, '%')
+        </if>
+        ORDER BY data.sort_id
+    </select>
+
+    <!--查询非标设备信息集合-->
+    <select id="getNonSDataList" resultType="com.dayou.vo.AssetsCalculateEqptNonsDataVO">
+        SELECT data.sort_id,
+               data.equipment_name,
+               data.model,
+               data.purchase_date,
+               data.activation_date,
+               data.quantity,
+               data.unit_of_measurement,
+               data.book_original_value,
+               data.book_net_value,
+               data.manufacturer,
+               nonsData.id,
+               data.id AS eqptDataId,
+               nonsData.eqpt_code,
+               nonsData.affiliated_system,
+               nonsData.main_material_Cost,
+               (nonsData.main_material_cost_rate / 100) AS mainMaterialCostRate,
+               nonsData.main_purchased_parts_cost,
+               (nonsData.cost_profit_ratio / 100) AS costProfitRatio,
+               (nonsData.sales_tax_rate / 100) AS salesTaxRate,
+               (nonsData.design_fee_rate / 100) AS designFeeRate,
+               (nonsData.VAT_rate / 100) AS VATRate,
+               nonsData.nons_eqpt_value
+        FROM assets_calculate_eqpt_data AS data
+                 LEFT JOIN assets_calculate_eqpt_nons_data AS nonsData ON nonsData.delete_status = 0 AND nonsData.eqpt_data_id = data.id
+        WHERE data.delete_status = 0
+          AND data.equipment_type = '非标设备'
+          AND assets_calculate_id = #{calculateId}
+        ORDER BY data.sort_id
+    </select>
+
+    <!--更新机器设备非标设备数据-->
+    <update id="updateNonSData">
+        UPDATE assets_calculate_eqpt_nons_data
+        SET eqpt_data_id = #{data.eqptDataId},
+            eqpt_code = #{data.eqptCode},
+            affiliated_system = #{data.affiliatedSystem},
+            main_material_Cost = #{data.mainMaterialCost},
+            main_material_cost_rate = #{data.mainMaterialCostRate},
+            main_purchased_parts_cost = #{data.mainPurchasedPartsCost},
+            cost_profit_ratio = #{data.costProfitRatio},
+            sales_tax_rate = #{data.salesTaxRate},
+            design_fee_rate = #{data.designFeeRate},
+            VAT_rate = #{data.VATRate},
+            nons_eqpt_value = #{data.nonsEqptValue}
+        WHERE delete_status = 0
+          AND id = #{data.id}
+          AND eqpt_data_id = #{data.eqptDataId}
+    </update>
+
+    <!--新增机器设备非标设备数据-->
+    <insert id="addNonSData">
+        INSERT INTO assets_calculate_eqpt_nons_data (id, eqpt_data_id, eqpt_code, affiliated_system, main_material_Cost, main_material_cost_rate, main_purchased_parts_cost,
+                                                     cost_profit_ratio, sales_tax_rate, design_fee_rate, VAT_rate, nons_eqpt_value)
+        VALUE (NULL, #{data.eqptDataId}, #{data.eqptCode}, #{data.affiliatedSystem}, #{data.mainMaterialCost}, #{data.mainMaterialCostRate}, #{data.mainPurchasedPartsCost},
+               #{data.costProfitRatio}, #{data.salesTaxRate}, #{data.designFeeRate}, #{data.VATRate}, #{data.nonsEqptValue})
+    </insert>
+
 </mapper>

+ 41 - 0
dao/src/main/resources/mapper/EqptGnEvpMapper.xml

@@ -0,0 +1,41 @@
+<?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.dayou.mapper.EqptGnEvpMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.dayou.entity.EqptGnEvp">
+        <result column="id" property="id" />
+        <result column="create_time" property="createTime" />
+        <result column="update_time" property="updateTime" />
+        <result column="delete_status" property="deleteStatus" />
+        <result column="name" property="name" />
+        <result column="mmcr_up_limit" property="mmcrUpLimit" />
+        <result column="mmcr_low_limit" property="mmcrLowLimit" />
+        <result column="mmcr_recommended_value" property="mmcrRecommendedValue" />
+        <result column="cpr_up_limit" property="cprUpLimit" />
+        <result column="cpr_low_limit" property="cprLowLimit" />
+        <result column="cpr_recommended_value" property="cprRecommendedValue" />
+        <result column="str_recommended_value" property="strRecommendedValue" />
+        <result column="dfr_up_limit" property="dfrUpLimit" />
+        <result column="dfr_low_limit" property="dfrLowLimit" />
+        <result column="drf_recommended_value" property="drfRecommendedValue" />
+        <result column="remark" property="remark" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id,
+        create_time,
+        update_time,
+        delete_status,
+        name, mmcr_up_limit, mmcr_low_limit, mmcr_recommended_value, cpr_up_limit, cpr_low_limit, cpr_recommended_value, str_recommended_value, dfr_up_limit, dfr_low_limit, drf_recommended_value, remark
+    </sql>
+
+    <!--获取通用非标准设备估价参数表-->
+    <select id="listAll" resultType="com.dayou.vo.EqptGnEvpVO">
+        SELECT id, name, mmcr_up_limit, mmcr_low_limit, mmcr_recommended_value, cpr_up_limit, cpr_low_limit, cpr_recommended_value, str_recommended_value, dfr_up_limit, dfr_low_limit, drf_recommended_value, remark
+        FROM eqpt_gn_evp
+        WHERE delete_status = 0
+    </select>
+
+</mapper>

+ 4 - 0
domain/pom.xml

@@ -37,6 +37,10 @@
             <groupId>com.alibaba</groupId>
             <artifactId>easyexcel</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-annotations</artifactId>
+        </dependency>
 
     </dependencies>
     <dependencyManagement>

+ 40 - 0
domain/src/main/java/com/dayou/common/CalculateFormula.java

@@ -17,6 +17,11 @@ public class CalculateFormula {
     public static final EquipmentImportedFormula[] EQUIPMENT_IMPORTED_FORMULA = EquipmentImportedFormula.values();
 
     /**
+     * 机器设备非标设备模板公式,占位符{0}是行号
+     */
+    public static final EquipmentNonStandardFormula[] EQUIPMENT_NONSTANDARD_FORMULA = EquipmentNonStandardFormula.values();
+
+    /**
      * 机器设备主模板公式
      */
     public enum EquipmentMainFormula {
@@ -110,6 +115,41 @@ public class CalculateFormula {
             return column + ":" + formula;
         }
 
+    }
+
+    /**
+     * 机器设备非标设备模板公式
+     */
+    public enum EquipmentNonStandardFormula {
+        非标设备估值("ROUND((P{0}/Q{0}+R{0})*(1+S{0})*(1+T{0})*(1+U{0})/(1+V{0}),0)",23);
+
+        /**
+         * 公式
+         */
+        private String formula;
+
+        /**
+         * 列下标
+         */
+        private Integer column;
+
+        EquipmentNonStandardFormula(String formula, Integer column) {
+            this.formula = formula;
+            this.column = column;
+        }
+
+        public String getFormula() {
+            return formula;
+        }
+
+        public Integer getColumn() {
+            return column;
+        }
+
+        @Override
+        public String toString() {
+            return column + ":" + formula;
+        }
 
     }
 

+ 81 - 0
domain/src/main/java/com/dayou/entity/AssetsCalculateEqptNonsData.java

@@ -0,0 +1,81 @@
+package com.dayou.entity;
+import java.math.BigDecimal;
+import com.dayou.common.BaseEntity;
+
+import java.io.Serializable;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author mybatis-plus-generator
+ * @since 2024-12-02
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class AssetsCalculateEqptNonsData extends BaseEntity implements Serializable {
+
+    private static final long serialVersionUID=1L;
+
+    /**
+     * 测算数据主表id
+     */
+    private Long eqptDataId;
+
+    /**
+     * 设备编号
+     */
+    private String eqptCode;
+
+    /**
+     * 所属系统/生产线名称
+     */
+    private String affiliatedSystem;
+
+    /**
+     * 主材费/设备报价(含税不含运费不含安装调试费)
+     */
+    private BigDecimal mainMaterialCost;
+
+    /**
+     * 不含主要外购件费的成本主材费率
+     */
+    private Float mainMaterialCostRate;
+
+    /**
+     * 主要外购件费
+     */
+    private BigDecimal mainPurchasedPartsCost;
+
+    /**
+     * 成本利润率
+     */
+    private Float costProfitRatio;
+
+    /**
+     * 销售税金率
+     */
+    private Float salesTaxRate;
+
+    /**
+     * 非标准设备设计费率
+     */
+    private Float designFeeRate;
+
+    /**
+     * 增值税率
+     */
+    @JsonProperty("VATRate")
+    private Float VATRate;
+
+    /**
+     * 非标设备估值
+     */
+    private BigDecimal nonsEqptValue;
+
+
+}

+ 83 - 0
domain/src/main/java/com/dayou/entity/EqptGnEvp.java

@@ -0,0 +1,83 @@
+package com.dayou.entity;
+import com.dayou.common.BaseEntity;
+
+import java.io.Serializable;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+/**
+ * <p>
+ * 通用非标准设备估价参数表 General Non-Standard Equipment Valuation Parameters
+ * </p>
+ *
+ * @author mybatis-plus-generator
+ * @since 2024-12-02
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class EqptGnEvp extends BaseEntity implements Serializable {
+
+    private static final long serialVersionUID=1L;
+
+    /**
+     * 设备名称
+     */
+    private String name;
+
+    /**
+     * 成本主材费率上限
+     */
+    private Double mmcrUpLimit;
+
+    /**
+     * 成本主材费率下限
+     */
+    private Double mmcrLowLimit;
+
+    /**
+     * 推荐成本主材费率
+     */
+    private Double mmcrRecommendedValue;
+
+    /**
+     * 成本利润率上限
+     */
+    private Double cprUpLimit;
+
+    /**
+     * 成泵利润率下限
+     */
+    private Double cprLowLimit;
+
+    /**
+     * 推荐成本利润率
+     */
+    private Double cprRecommendedValue;
+
+    /**
+     * 推荐销售税金率
+     */
+    private Double strRecommendedValue;
+
+    /**
+     * 设计费率上限
+     */
+    private Double dfrUpLimit;
+
+    /**
+     * 设计费率下限
+     */
+    private Double dfrLowLimit;
+
+    /**
+     * 推荐设计费率
+     */
+    private Double drfRecommendedValue;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 2 - 4
domain/src/main/java/com/dayou/enums/EquipmentTmplCode.java

@@ -4,10 +4,8 @@ public enum EquipmentTmplCode {
 
     MAIN("MAIN", "机器设备-主模板"),
     MAIN_DETAIL("MAIN_DETAIL", "机器设备-主模板-设备信息-段落模板"),
-    IMPORTED_CALCULATE("IMPORTED", "机器设备-进口设备-段落模板"),
-//    IMPORTED_CALCULATE_DETAIL("IMPORTED_CALCULATE_DETAIL", "机器设备-进口设备-设备信息-段落模板"),
-    NONSTANDARD_CALCULATE("NONSTANDARD_CALCULATE", "机器设备-非标设备-段落模板"),
-    NONSTANDARD_CALCULATE_DETAIL("NONSTANDARD_CALCULATE_DETAIL", "机器设备-非标设备测算-设备信息-段落模板");
+    IMPORTED("IMPORTED", "机器设备-进口设备-段落模板"),
+    NONSTANDARD("NONSTANDARD", "机器设备-非标设备-段落模板");
 
     private String code;
 

+ 1 - 0
domain/src/main/java/com/dayou/vo/AssetsCalculateEqptImpDataVO.java

@@ -137,6 +137,7 @@ public class AssetsCalculateEqptImpDataVO {
     /**
      * 设备原价
      */
+    @ExcelIgnore
     private BigDecimal originalPrice;
 
 

+ 145 - 0
domain/src/main/java/com/dayou/vo/AssetsCalculateEqptNonsDataVO.java

@@ -0,0 +1,145 @@
+package com.dayou.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+
+@Data
+public class AssetsCalculateEqptNonsDataVO {
+
+    /**
+     * 主键id
+     */
+    private Long id;
+
+    /**
+     * 序号
+     */
+    private Integer sortId;
+
+    /**
+     * 设备名称
+     */
+    private String equipmentName;
+
+    /**
+     * 生产厂家
+     */
+    private String manufacturer;
+
+    /**
+     * 型号规格
+     */
+    private String model;
+
+    /**
+     * 购买日期
+     */
+    private LocalDate purchaseDate;
+
+    /**
+     * 启用日期
+     */
+    private LocalDate activationDate;
+
+    /**
+     * 数量
+     */
+    private String quantity;
+
+    /**
+     * 计量单位
+     */
+    private String unitOfMeasurement;
+    /**
+     * 账面原值
+     */
+    private Float bookOriginalValue;
+
+    /**
+     * 账面净值
+     */
+    private Float bookNetValue;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 询价依据
+     */
+    private String inquiryBasis;
+
+    /**
+     * 询价地点
+     */
+    private String inquiryLocation;
+
+    /**
+     * 测算数据主表id
+     */
+    private Long eqptDataId;
+
+    /**
+     * 设备编号
+     */
+    private String eqptCode;
+
+    /**
+     * 所属系统/生产线名称
+     */
+    private String affiliatedSystem;
+
+    /**
+     * 主材费/设备报价(含税不含运费不含安装调试费)
+     */
+    private BigDecimal mainMaterialCost;
+
+    /**
+     * 不含主要外购件费的成本主材费率
+     */
+    private Float mainMaterialCostRate;
+
+    /**
+     * 主要外购件费
+     */
+    private BigDecimal mainPurchasedPartsCost;
+
+    /**
+     * 成本利润率
+     */
+    private Float costProfitRatio;
+
+    /**
+     * 销售税金率
+     */
+    private Float salesTaxRate;
+
+    /**
+     * 非标准设备设计费率
+     */
+    private Float designFeeRate;
+
+    /**
+     * 增值税率
+     */
+    @JsonProperty("VATRate")
+    private Float VATRate;
+
+    /**
+     * 非标设备估值
+     */
+    @ExcelIgnore
+    private BigDecimal nonsEqptValue;
+
+    /**
+     * 空单元格占位(对应模板上的设置)
+     * 不设置占位的话,导入数据时空单元格不会创建单元格会导致模板样式丢失
+     */
+    private Integer placeholder;
+
+}

+ 73 - 0
domain/src/main/java/com/dayou/vo/EqptGnEvpVO.java

@@ -0,0 +1,73 @@
+package com.dayou.vo;
+
+import lombok.Data;
+
+@Data
+public class EqptGnEvpVO {
+
+    /**
+     * 通用非标准设备估价参数id
+     */
+    private Long id;
+
+    /**
+     * 设备名称
+     */
+    private String name;
+
+    /**
+     * 成本主材费率上限
+     */
+    private Double mmcrUpLimit;
+
+    /**
+     * 成本主材费率下限
+     */
+    private Double mmcrLowLimit;
+
+    /**
+     * 推荐成本主材费率
+     */
+    private Double mmcrRecommendedValue;
+
+    /**
+     * 成本利润率上限
+     */
+    private Double cprUpLimit;
+
+    /**
+     * 成泵利润率下限
+     */
+    private Double cprLowLimit;
+
+    /**
+     * 推荐成本利润率
+     */
+    private Double cprRecommendedValue;
+
+    /**
+     * 推荐销售税金率
+     */
+    private Double strRecommendedValue;
+
+    /**
+     * 设计费率上限
+     */
+    private Double dfrUpLimit;
+
+    /**
+     * 设计费率下限
+     */
+    private Double dfrLowLimit;
+
+    /**
+     * 推荐设计费率
+     */
+    private Double drfRecommendedValue;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+}

+ 6 - 6
domain/src/main/java/com/dayou/vo/EqptLifeIfrRefsVO.java

@@ -18,32 +18,32 @@ public class EqptLifeIfrRefsVO {
     /**
      * 使用年限下限
      */
-    private Integer lifeLowLimit;
+    private Double lifeLowLimit;
 
     /**
      * 使用年限上限
      */
-    private Integer lifeUpLimit;
+    private Double lifeUpLimit;
 
     /**
      * 推荐使用年限
      */
-    private Integer lifeRecommendedValue;
+    private Double lifeRecommendedValue;
 
     /**
      * 安装费率%上限
      */
-    private Integer ifrUpLimit;
+    private Double ifrUpLimit;
 
     /**
      * 安装费率%下限
      */
-    private Integer ifrLowLimit;
+    private Double ifrLowLimit;
 
     /**
      * 推荐安装费率%
      */
-    private Integer ifrRecommendedValue;
+    private Double ifrRecommendedValue;
 
     /**
      * 备注

+ 6 - 0
pom.xml

@@ -43,6 +43,7 @@
         <commons-lang3.version>3.7</commons-lang3.version>
         <jsqlparser.version>2.1</jsqlparser.version>
         <pageOffice.version>6.3.2.1-javax</pageOffice.version>
+        <jackson-annotations.version>2.13.4</jackson-annotations.version>
     </properties>
 
     <dependencyManagement>
@@ -196,6 +197,11 @@
                 <artifactId>pageoffice</artifactId>
                 <version>${pageOffice.version}</version>
             </dependency>
+            <dependency>
+                <groupId>com.fasterxml.jackson.core</groupId>
+                <artifactId>jackson-annotations</artifactId>
+                <version>${jackson-annotations.version}</version>
+            </dependency>
         </dependencies>
     </dependencyManagement>
 

+ 24 - 1
service/src/main/java/com/dayou/service/AssetsCalculateEqptDataService.java

@@ -3,9 +3,10 @@ import com.dayou.dto.calculate.equipment.EqptQueryDTO;
 import com.dayou.entity.AssetsCalculateEqptData;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.dayou.entity.AssetsCalculateEqptImpData;
+import com.dayou.entity.AssetsCalculateEqptNonsData;
 import com.dayou.vo.AssetsCalculateEqptImpDataVO;
+import com.dayou.vo.AssetsCalculateEqptNonsDataVO;
 
 import java.util.List;
 
@@ -78,4 +79,26 @@ public interface AssetsCalculateEqptDataService extends IService<AssetsCalculate
      */
     Boolean updateImpData(AssetsCalculateEqptImpData assetsCalculateEqptImpData);
 
+    /**
+     * 分页查询非标设备信息
+     * @param page 分页
+     * @param dto 查询dto
+     * @return Page<AssetsCalculateEqptNonsDataVO>
+     */
+    Page<AssetsCalculateEqptNonsDataVO> getNonSDataPage(Page page, EqptQueryDTO dto);
+
+    /**
+     * 查询非标设备信息集合
+     * @param calculateId 测算表id
+     * @return Page<AssetsCalculateEqptNonsDataVO>
+     */
+    List<AssetsCalculateEqptNonsDataVO> getNonSDataList(Long calculateId);
+
+    /**
+     * 更新机器设备非标设备数据
+     * @param assetsCalculateEqptNonsData 非标设备信息
+     * @return Boolean
+     */
+    Boolean updateNonSData(AssetsCalculateEqptNonsData assetsCalculateEqptNonsData);
+
 }

+ 25 - 0
service/src/main/java/com/dayou/service/EqptGnEvpService.java

@@ -0,0 +1,25 @@
+package com.dayou.service;
+
+import com.dayou.entity.EqptGnEvp;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.dayou.vo.EqptGnEvpVO;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 通用非标准设备估价参数表 General Non-Standard Equipment Valuation Parameters 服务类
+ * </p>
+ *
+ * @author mybatis-plus-generator
+ * @since 2024-12-02
+ */
+public interface EqptGnEvpService extends IService<EqptGnEvp> {
+
+    /**
+     * 获取通用非标准设备估价参数表
+     * @return List<EqptGnEvp>
+     */
+    List<EqptGnEvpVO> listAll();
+
+}

+ 40 - 0
service/src/main/java/com/dayou/service/impl/AssetsCalculateEqptDataServiceImpl.java

@@ -4,10 +4,12 @@ import cn.hutool.core.util.ObjectUtil;
 import com.dayou.dto.calculate.equipment.EqptQueryDTO;
 import com.dayou.entity.AssetsCalculateEqptData;
 import com.dayou.entity.AssetsCalculateEqptImpData;
+import com.dayou.entity.AssetsCalculateEqptNonsData;
 import com.dayou.mapper.AssetsCalculateEqptDataMapper;
 import com.dayou.service.AssetsCalculateEqptDataService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.dayou.vo.AssetsCalculateEqptImpDataVO;
+import com.dayou.vo.AssetsCalculateEqptNonsDataVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -120,4 +122,42 @@ public class AssetsCalculateEqptDataServiceImpl extends ServiceImpl<AssetsCalcul
         }
 
     }
+
+    /**
+     * 分页查询非标设备信息
+     * @param page 分页
+     * @param dto 查询dto
+     * @return Page<AssetsCalculateEqptNonsDataVO>
+     */
+    @Override
+    public Page<AssetsCalculateEqptNonsDataVO> getNonSDataPage(Page page, EqptQueryDTO dto) {
+        return dataMapper.getNonSDataPage(page, dto);
+    }
+
+    /**
+     * 查询非标设备信息集合
+     * @param calculateId 测算表id
+     * @return Page<AssetsCalculateEqptNonsDataVO>
+     */
+    @Override
+    public List<AssetsCalculateEqptNonsDataVO> getNonSDataList(Long calculateId) {
+        return dataMapper.getNonSDataList(calculateId);
+    }
+
+    /**
+     * 更新机器设备非标设备数据
+     * @param assetsCalculateEqptNonsData 非标设备信息
+     * @return Boolean
+     */
+    @Override
+    public Boolean updateNonSData(AssetsCalculateEqptNonsData assetsCalculateEqptNonsData) {
+        // 判断是修改还是新增
+        if (ObjectUtil.isNotNull(assetsCalculateEqptNonsData.getId())) {
+            dataMapper.updateDataPrice(assetsCalculateEqptNonsData.getEqptDataId(), assetsCalculateEqptNonsData.getNonsEqptValue());
+            return dataMapper.updateNonSData(assetsCalculateEqptNonsData);
+        }else {
+            dataMapper.updateDataPrice(assetsCalculateEqptNonsData.getEqptDataId(), assetsCalculateEqptNonsData.getNonsEqptValue());
+            return dataMapper.addNonSData(assetsCalculateEqptNonsData);
+        }
+    }
 }

+ 59 - 5
service/src/main/java/com/dayou/service/impl/AssetsCalculateServiceImpl.java

@@ -21,6 +21,7 @@ import com.dayou.service.AssetsCalculateService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.dayou.utils.EasyExcelUtil;
 import com.dayou.vo.AssetsCalculateEqptImpDataVO;
+import com.dayou.vo.AssetsCalculateEqptNonsDataVO;
 import com.dayou.vo.AssetsCalculateVO;
 import com.dayou.vo.calculate.AssetsCalculateProgressVO;
 import com.fasterxml.jackson.core.JsonProcessingException;
@@ -43,8 +44,8 @@ import java.time.LocalDate;
 import java.util.ArrayList;
 import java.util.List;
 
-import static com.dayou.common.CalculateFormula.EQUIPMENT_IMPORTED_FORMULA;
-import static com.dayou.common.CalculateFormula.EQUIPMENT_MAIN_FORMULA;
+import static com.dayou.common.CalculateFormula.*;
+import static com.dayou.enums.EquipmentTmplCode.*;
 
 /**
  * <p>
@@ -159,7 +160,7 @@ public class AssetsCalculateServiceImpl extends ServiceImpl<AssetsCalculateMappe
 
         // 第一步:写入数据到 机器设备-主模板-设备信息-段落模板
         // 获取模板
-        TmplAssetCalculateSection mainDetail = calculateSectionMapper.getByTmplCode("MAIN_DETAIL");
+        TmplAssetCalculateSection mainDetail = calculateSectionMapper.getByTmplCode(MAIN_DETAIL.getCode());
         // 生成后文件的位置
         String mainDetailPath = fileNetConfig.getBaseDir() + fileNetConfig.getAssetOutputCalculatePath() + System.currentTimeMillis() + "_MAIN_DETAIL.xlsx";
         // 模板文件的位置
@@ -172,7 +173,7 @@ public class AssetsCalculateServiceImpl extends ServiceImpl<AssetsCalculateMappe
 
         // 第二步:写入数据到 机器设备-主模板
         // 获取模板
-        TmplAssetCalculate main = tmplAssetCalculateMapper.getCalculateTmplByCode("MAIN");
+        TmplAssetCalculate main = tmplAssetCalculateMapper.getCalculateTmplByCode(MAIN.getCode());
         // 生成后文件的位置
         String mainPath = fileNetConfig.getBaseDir() + fileNetConfig.getAssetOutputCalculatePath() + System.currentTimeMillis() + "_MAIN.xlsx";
         // 模板文件的位置
@@ -218,7 +219,7 @@ public class AssetsCalculateServiceImpl extends ServiceImpl<AssetsCalculateMappe
         List<AssetsCalculateEqptImpDataVO> impEqptData = dataService.getImpDataList(calculateId);
         if (ObjectUtil.isNotNull(impEqptData)) {
             // 获取模板
-            TmplAssetCalculateSection imported = calculateSectionMapper.getByTmplCode("IMPORTED");
+            TmplAssetCalculateSection imported = calculateSectionMapper.getByTmplCode(IMPORTED.getCode());
             // 生成后文件的位置
             String importedPath = fileNetConfig.getBaseDir() + fileNetConfig.getAssetOutputCalculatePath() + System.currentTimeMillis() + "_IMPORTED.xlsx";
             // 模板文件的位置
@@ -267,6 +268,59 @@ public class AssetsCalculateServiceImpl extends ServiceImpl<AssetsCalculateMappe
             }
         }
 
+        // 第五步:设置进口设备的测算表
+        List<AssetsCalculateEqptNonsDataVO> nonsEqptData = dataService.getNonSDataList(calculateId);
+        if (ObjectUtil.isNotNull(nonsEqptData)) {
+            // 获取模板
+            TmplAssetCalculateSection nonstandard = calculateSectionMapper.getByTmplCode(NONSTANDARD.getCode());
+            // 生成后文件的位置
+            String nonstandardPath = fileNetConfig.getBaseDir() + fileNetConfig.getAssetOutputCalculatePath() + System.currentTimeMillis() + "_NONSTANDARD.xlsx";
+            // 模板文件的位置
+            String nonstandardTmplPath = fileNetConfig.getBaseDir() + nonstandard.getSectionFileUrl() + nonstandard.getSectionFileName();
+            // 写入
+            EasyExcel.write(nonstandardPath)
+                    .withTemplate(nonstandardTmplPath)
+                    .sheet()
+                    .doFill(nonsEqptData);
+            // 将进口设备excel合并到主excel
+            workbook.createSheet("非标设备");
+            EasyExcelUtil.mergeExcel(nonstandardPath, workbook, workbook.getSheetIndex("非标设备"), 0, 0);
+            // 设置公式
+            Sheet nonstandardSheet = workbook.getSheet("非标设备");
+            for (int i = 2; i <= nonstandardSheet.getLastRowNum(); i++) { // 跳过前两行
+                Row row = nonstandardSheet.getRow(i);
+                // 循环设置公式
+                for (CalculateFormula.EquipmentNonStandardFormula formula: EQUIPMENT_NONSTANDARD_FORMULA) {
+                    Cell cell = row.getCell(formula.getColumn() - 1);
+                    // 如果该单元格不存在,则创建一个
+                    if (cell == null) {
+                        cell = row.createCell(formula.getColumn() - 1);
+                    }
+                    // 设置公式
+                    cell.setCellFormula(MessageFormat.format(formula.getFormula(),(row.getRowNum() + 1)));
+                }
+            }
+
+            // 将主表sheet中进口设备数据的单价改为引用对应的进口设备表的设备原价
+            for (Row row : sheet) {
+                Cell cell = row.getCell(25); // Z列(设备类型)的索引是25(从0开始计数)
+                if (cell != null && cell.getStringCellValue().equals("非标设备")) {
+                    Cell priceCell = row.getCell(29); // 单价单元格
+                    int importedRowNum;
+                    // 循环进口设备sheet
+                    for (int i = 2; i <= nonstandardSheet.getLastRowNum(); i++) { // 跳过前两行
+                        Cell importedCell = nonstandardSheet.getRow(i).getCell(0); // 获取进口设备的序号
+                        // 判断主表的序号和进口设备的序号是否相等
+                        if (importedCell != null && row.getCell(0).getNumericCellValue() == importedCell.getNumericCellValue()) {
+                            importedRowNum = importedCell.getRowIndex() + 1; // +1是因为代码中下标从0开始,但是excel是从1开始
+                            priceCell.setCellFormula(MessageFormat.format("非标设备!W{0}",importedRowNum));
+                            break;
+                        }
+                    }
+                }
+            }
+        }
+
         // 强制计算公式
         workbook.getCreationHelper().createFormulaEvaluator().evaluateAll();
 

+ 35 - 0
service/src/main/java/com/dayou/service/impl/EqptGnEvpServiceImpl.java

@@ -0,0 +1,35 @@
+package com.dayou.service.impl;
+
+import com.dayou.entity.EqptGnEvp;
+import com.dayou.mapper.EqptGnEvpMapper;
+import com.dayou.service.EqptGnEvpService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dayou.vo.EqptGnEvpVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 通用非标准设备估价参数表 General Non-Standard Equipment Valuation Parameters 服务实现类
+ * </p>
+ *
+ * @author mybatis-plus-generator
+ * @since 2024-12-02
+ */
+@Service
+public class EqptGnEvpServiceImpl extends ServiceImpl<EqptGnEvpMapper, EqptGnEvp> implements EqptGnEvpService {
+
+    @Autowired
+    private EqptGnEvpMapper eqptGnEvpMapper;
+
+    /**
+     * 获取通用非标准设备估价参数表
+     * @return List<EqptGnEvp>
+     */
+    @Override
+    public List<EqptGnEvpVO> listAll() {
+        return eqptGnEvpMapper.listAll();
+    }
+}

+ 69 - 0
sql/update_sql.sql

@@ -491,4 +491,73 @@ ALTER TABLE house_guaranty_target ADD COLUMN land_year_lower_house_year bit(1) N
 ALTER TABLE house_guaranty_target ADD COLUMN is_promise_file bit(1) NULL COMMENT '《承诺书》承诺相关的法律文件复印件与原件一致';
 ALTER TABLE house_guaranty_target ADD COLUMN is_in_cheng_du bit(1) NULL COMMENT '估价对象是否属于大成都范围内';
 
+/**
+  日期:2024-12-02
+  修改人:苟耕铨
+  未更新到test-env
+ */
+# 新建表assets_calculate_eqpt_nons_data
+DROP TABLE IF EXISTS `assets_calculate_eqpt_nons_data`;
+CREATE TABLE `assets_calculate_eqpt_nons_data` (
+                                                   `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '非标设备测算数据id',
+                                                   `eqpt_data_id` bigint(20) DEFAULT NULL COMMENT '测算数据主表id',
+                                                   `eqpt_code` varchar(255) DEFAULT NULL COMMENT '设备编号',
+                                                   `affiliated_system` varchar(255) DEFAULT NULL COMMENT '所属系统/生产线名称',
+                                                   `main_material_Cost` decimal(11,2) DEFAULT NULL COMMENT '主材费/设备报价(含税不含运费不含安装调试费)',
+                                                   `main_material_cost_rate` float(11,2) DEFAULT NULL COMMENT '不含主要外购件费的成本主材费率',
+                                                   `main_purchased_parts_cost` decimal(11,2) DEFAULT NULL COMMENT '主要外购件费',
+                                                   `cost_profit_ratio` float(11,2) DEFAULT NULL COMMENT '成本利润率',
+                                                   `sales_tax_rate` float(11,2) DEFAULT NULL COMMENT '销售税金率',
+                                                   `design_fee_rate` float(11,2) DEFAULT NULL COMMENT '非标准设备设计费率',
+                                                   `VAT_rate` float(11,2) DEFAULT NULL COMMENT '增值税率',
+                                                   `nons_eqpt_value` decimal(12,2) DEFAULT NULL COMMENT '非标设备估值',
+                                                   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+                                                   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
+                                                   `delete_status` bit(1) NOT NULL DEFAULT b'0' COMMENT '删除状态',
+                                                   PRIMARY KEY (`id`),
+                                                   KEY `eqpt_data_id` (`eqpt_data_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='机器设备-非标设备测算数据表';;
+
+# 新建表eqpt_gn_evp
+DROP TABLE IF EXISTS `eqpt_gn_evp`;
+CREATE TABLE `eqpt_gn_evp` (
+                               `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '通用非标准设备估价参数id',
+                               `name` varchar(255) DEFAULT NULL COMMENT '设备名称',
+                               `mmcr_up_limit` double(11,2) DEFAULT NULL COMMENT '成本主材费率上限',
+                               `mmcr_low_limit` double(11,2) DEFAULT NULL COMMENT '成本主材费率下限',
+                               `mmcr_recommended_value` double(11,2) DEFAULT NULL COMMENT '推荐成本主材费率',
+                               `cpr_up_limit` double(11,2) DEFAULT NULL COMMENT '成本利润率上限',
+                               `cpr_low_limit` double(11,2) DEFAULT NULL COMMENT '成泵利润率下限',
+                               `cpr_recommended_value` double(11,2) DEFAULT NULL COMMENT '推荐成本利润率',
+                               `str_recommended_value` double(11,2) DEFAULT NULL COMMENT '推荐销售税金率',
+                               `dfr_up_limit` double(11,2) DEFAULT NULL COMMENT '设计费率上限',
+                               `dfr_low_limit` double(11,2) DEFAULT NULL COMMENT '设计费率下限',
+                               `drf_recommended_value` double(11,2) DEFAULT NULL COMMENT '推荐设计费率',
+                               `remark` varchar(500) DEFAULT NULL COMMENT '备注',
+                               `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+                               `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
+                               `delete_status` bit(1) NOT NULL DEFAULT b'0' COMMENT '删除状态',
+                               PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='通用非标准设备估价参数表 General Non-Standard Equipment Valuation Parameters';
+
+# 新建表eqpt_gn_evp
+DROP TABLE IF EXISTS `eqpt_life_ifr_refs`;
+CREATE TABLE `eqpt_life_ifr_refs` (
+                                      `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '设备参考年限、安装费率id',
+                                      `type` varchar(255) NOT NULL COMMENT '类型',
+                                      `life_low_limit` double(11,2) DEFAULT NULL COMMENT '使用年限下限',
+                                      `life_up_limit` double(11,2) DEFAULT NULL COMMENT '使用年限上限',
+                                      `life_recommended_value` double(11,2) DEFAULT NULL COMMENT '推荐使用年限',
+                                      `ifr_up_limit` double(11,2) DEFAULT NULL COMMENT '安装费率%上限',
+                                      `ifr_low_limit` double(11,2) DEFAULT NULL COMMENT '安装费率%下限',
+                                      `ifr_recommended_value` double(11,2) DEFAULT NULL COMMENT '推荐安装费率%',
+                                      `remark` varchar(500) DEFAULT NULL COMMENT '备注',
+                                      `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+                                      `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
+                                      `delete_status` bit(1) NOT NULL DEFAULT b'0' COMMENT '删除状态',
+                                      PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1155 DEFAULT CHARSET=utf8mb4 COMMENT='设备年限、安装费率参考信息表';
+
+# 修改表assets_calculate_eqpt_imp_data
+ALTER TABLE assets_calculate_eqpt_imp_data MODIFY COLUMN id bigint(20) NOT NULL AUTO_INCREMENT COMMENT '进口设备测算数据id'