Browse Source

1.机器设备作价功能相关接口开发

GouGengquan 8 months ago
parent
commit
bc35b998fc

+ 22 - 0
biz-base/src/main/java/com/dayou/controller/AssetsCalculateController.java

@@ -18,6 +18,7 @@ import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
+import java.time.LocalDate;
 import java.util.List;
 
 /**
@@ -123,5 +124,26 @@ public class AssetsCalculateController {
         return Result.build(assetsCalculateService.generateEquipmentCalculate(calculateId));
     }
 
+    /**
+     * 根据测算表id获取基础测算信息
+     * @param calculateId 测算表id
+     * @return String
+     */
+    @GetMapping("/getCalculateBaseInfo/{calculateId}")
+    public Result<String> getCalculateBaseInfo(@PathVariable Long calculateId) {
+        return Result.build(assetsCalculateService.getCalculateBaseInfo(calculateId));
+    }
+
+    /**
+     * 根据测算表id获取评估基准日
+     * @param calculateId 测算表id
+     * @return String
+     */
+    @GetMapping("/getValuationBasisDate/{calculateId}")
+    public Result<LocalDate> getValuationBasisDate(@PathVariable Long calculateId) {
+        return Result.build(assetsCalculateService.getValuationBasisDate(calculateId));
+    }
+
+
 }
 

+ 39 - 0
biz-base/src/main/java/com/dayou/controller/EqptLifeIfrRefsController.java

@@ -0,0 +1,39 @@
+package com.dayou.controller;
+
+import com.dayou.result.Result;
+import com.dayou.vo.EqptLifeIfrRefsVO;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.dayou.service.EqptLifeIfrRefsService;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 设备年限、安装费率参考信息表
+ *
+ * @author mybatis-plus-generator
+ * @since 2024-11-25
+ */
+@RestController
+@RequestMapping("eqptLifeIfrRefs")
+@Slf4j
+@CrossOrigin
+public class EqptLifeIfrRefsController {
+
+    @Autowired
+    private EqptLifeIfrRefsService eqptLifeIfrRefsService;
+
+    /**
+     * 获取设备参考年限、安装费率
+     * @return List<EqptLifeIfrRefsVO>
+     */
+    @GetMapping("/listAll")
+    public Result<List<EqptLifeIfrRefsVO>> listAll() {
+        return Result.build(eqptLifeIfrRefsService.listAll());
+    }
+
+}
+

+ 2 - 2
biz-base/src/main/resources/application-local.yaml

@@ -66,7 +66,7 @@ oa-api-url: localhost:8088/api/
 
 file-net:
   # 基础配置
-  base-dir: /Users/wuwei/opt/temp/
+  base-dir: E:\productivity-platform-files\
   max-file-size: 102400
   # 资产业务配置
   asset-template-report-path: assets\templates\report\
@@ -76,4 +76,4 @@ file-net:
   house-guaranty-path: house/guaranty
   house-guaranty-template-path: house/guaranty/temp/
 
-posyspath:  /Users/wuwei/pageoffice
+posyspath: D:\pageoffice

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

@@ -0,0 +1,25 @@
+package com.dayou.mapper;
+
+import com.dayou.entity.EqptLifeIfrRefs;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.dayou.vo.EqptLifeIfrRefsVO;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 设备年限、安装费率参考信息表 Mapper 接口
+ * </p>
+ *
+ * @author mybatis-plus-generator
+ * @since 2024-11-25
+ */
+public interface EqptLifeIfrRefsMapper extends BaseMapper<EqptLifeIfrRefs> {
+
+    /**
+     * 获取设备参考年限、安装费率
+     * @return List<EqptLifeIfrRefsVO>
+     */
+    List<EqptLifeIfrRefsVO> listAll();
+
+}

+ 3 - 3
dao/src/main/resources/mapper/AssetsCalculateEqptDataMapper.xml

@@ -18,8 +18,8 @@
         <result column="storage_location" property="storageLocation" />
         <result column="quantity" property="quantity" />
         <result column="unit_of_measurement" property="unitOfMeasurement" />
-        <result column="original_value" property="originalValue" />
-        <result column="net_value" property="netValue" />
+        <result column="book_original_value" property="bookOriginalValue" />
+        <result column="book_net_value" property="bookNetValue" />
         <result column="equipment_type" property="equipmentType" />
         <result column="equipment_type_detail" property="equipmentTypeDetail" />
     </resultMap>
@@ -55,7 +55,7 @@
 
     <!--分页查询导入的机器设备测算数据-->
     <select id="getDataPage" resultType="com.dayou.entity.AssetsCalculateEqptData">
-        SELECT id, assets_calculate_id, sort_id, equipment_name, manufacturer, model, purchase_date, activation_date, storage_location, quantity, unit_of_measurement, original_value, net_value, equipment_type, equipment_type_detail, remark, create_time, update_time, delete_status
+        SELECT id, assets_calculate_id, sort_id, equipment_name, manufacturer, model, purchase_date, activation_date, storage_location, quantity, unit_of_measurement, book_original_value, book_net_value, equipment_type, remark
         FROM assets_calculate_eqpt_data
         WHERE delete_status = 0
         AND assets_calculate_id = #{dto.calculateId}

+ 37 - 0
dao/src/main/resources/mapper/EqptLifeIfrRefsMapper.xml

@@ -0,0 +1,37 @@
+<?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.EqptLifeIfrRefsMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.dayou.entity.EqptLifeIfrRefs">
+        <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="type" property="type" />
+        <result column="life_low_limit" property="lifeLowLimit" />
+        <result column="life_up_limit" property="lifeUpLimit" />
+        <result column="life_recommended_value" property="lifeRecommendedValue" />
+        <result column="ifr_up_limit" property="ifrUpLimit" />
+        <result column="ifr_low_limit" property="ifrLowLimit" />
+        <result column="ifr_recommended_value" property="ifrRecommendedValue" />
+        <result column="remark" property="remark" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id,
+        create_time,
+        update_time,
+        delete_status,
+        type, life_low_limit, life_up_limit, life_recommended_value, ifr_up_limit, ifr_low_limit, ifr_recommended_value, remark
+    </sql>
+
+    <!--获取设备参考年限、安装费率-->
+    <select id="listAll" resultType="com.dayou.vo.EqptLifeIfrRefsVO">
+        SELECT id,type, life_low_limit, life_up_limit, life_recommended_value, ifr_up_limit, ifr_low_limit, ifr_recommended_value
+        FROM eqpt_life_ifr_refs
+        WHERE delete_status = 0
+    </select>
+
+</mapper>

+ 0 - 5
domain/src/main/java/com/dayou/dto/calculate/equipment/EquipmentInfoDTO.java

@@ -91,11 +91,6 @@ public class EquipmentInfoDTO {
     private String equipmentType;
 
     /**
-     * 设备详细类型
-     */
-    private String equipmentTypeDetail;
-
-    /**
      * 作价方法
      */
     private String valuationMethod;

+ 70 - 8
domain/src/main/java/com/dayou/entity/AssetsCalculateEqptData.java

@@ -1,9 +1,11 @@
 package com.dayou.entity;
 
+import com.alibaba.excel.annotation.ExcelIgnore;
 import com.alibaba.excel.annotation.ExcelProperty;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.dayou.common.BaseEntity;
 
+import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 
@@ -89,25 +91,25 @@ public class AssetsCalculateEqptData extends BaseEntity implements Serializable
      * 账面原值
      */
     @ExcelProperty("账面原值")
-    private Float originalValue;
+    private Float bookOriginalValue;
 
     /**
      * 账面净值
      */
     @ExcelProperty("账面净值")
-    private Float netValue;
+    private Float bookNetValue;
 
     /**
-     * 设备类型
+     * 含税单价
      */
-    @ExcelProperty("设备类型")
-    private String equipmentType;
+    @ExcelIgnore
+    private BigDecimal taxedUnitPrice;
 
     /**
-     * 设备详细类型
+     * 税率
      */
-    @ExcelProperty("设备详细类型")
-    private String equipmentTypeDetail;
+    @ExcelIgnore
+    private BigDecimal taxRate;
 
     /**
      * 备注
@@ -116,6 +118,66 @@ public class AssetsCalculateEqptData extends BaseEntity implements Serializable
     private String remark;
 
     /**
+     * 经济使用年数
+     */
+    @ExcelIgnore
+    private Integer economicServiceLife;
+
+    /**
+     * 直接观察成新率
+     */
+    @ExcelIgnore
+    private BigDecimal directObservationDepreciationRate;
+
+    /**
+     * 设备类型
+     */
+    @ExcelProperty("设备类型")
+    private String equipmentType;
+
+    /**
+     * 作价方法
+     */
+    @ExcelIgnore
+    private String valuationMethod;
+
+    /**
+     * 询价依据
+     */
+    @ExcelIgnore
+    private String inquiryBasis;
+
+    /**
+     * 询价地点
+     */
+    @ExcelIgnore
+    private String inquiryLocation;
+
+    /**
+     * 单价
+     */
+    @ExcelIgnore
+    private BigDecimal price;
+
+    /**
+     * 运杂费率
+     */
+    @ExcelIgnore
+    private BigDecimal freightAndMiscellaneousFeeRate;
+
+    /**
+     * 基础费率
+     */
+    @ExcelIgnore
+    private BigDecimal baseRate;
+
+    /**
+     * 安装费率
+     */
+    @ExcelIgnore
+    private BigDecimal installationRate;
+
+    /**
      * 空单元格占位(对应模板上的设置)
      * 不设置占位的话,导入数据时空单元格不会创建单元格会导致模板样式丢失
      */

+ 63 - 0
domain/src/main/java/com/dayou/entity/EqptLifeIfrRefs.java

@@ -0,0 +1,63 @@
+package com.dayou.entity;
+import com.dayou.common.BaseEntity;
+
+import java.io.Serializable;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+/**
+ * <p>
+ * 设备年限、安装费率参考信息表
+ * </p>
+ *
+ * @author mybatis-plus-generator
+ * @since 2024-11-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class EqptLifeIfrRefs extends BaseEntity implements Serializable {
+
+    private static final long serialVersionUID=1L;
+
+    /**
+     * 类型
+     */
+    private String type;
+
+    /**
+     * 使用年限下限
+     */
+    private Integer lifeLowLimit;
+
+    /**
+     * 使用年限上限
+     */
+    private Integer lifeUpLimit;
+
+    /**
+     * 推荐使用年限
+     */
+    private Integer lifeRecommendedValue;
+
+    /**
+     * 安装费率%上限
+     */
+    private Integer ifrUpLimit;
+
+    /**
+     * 安装费率%下限
+     */
+    private Integer ifrLowLimit;
+
+    /**
+     * 推荐安装费率%
+     */
+    private Integer ifrRecommendedValue;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 96 - 0
domain/src/main/java/com/dayou/vo/AssetsCalculateEqptDataVO.java

@@ -0,0 +1,96 @@
+package com.dayou.vo;
+
+import com.dayou.entity.AssetsCalculateEqptData;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.math.BigDecimal;
+
+/**
+ * 返回给前端用来在table中进行计算的,实际上后端不会设置值
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class AssetsCalculateEqptDataVO extends AssetsCalculateEqptData {
+
+    /**
+     * 不含税单价
+     */
+    private BigDecimal unTaxedUnitPrice;
+
+    /**
+     * 原值
+     */
+    private BigDecimal originalValue;
+
+    /**
+     * 净值
+     */
+    private BigDecimal netValue;
+
+    /**
+     * 成新率%
+     */
+    private Double depreciationRate;
+
+    /**
+     * 已使用年数
+     */
+    private Integer yearsInUse;
+
+    /**
+     * 年限成新率
+     */
+    private Double depreciationRateByAge;
+
+    /**
+     * 综合成新率
+     */
+    private Double comprehensiveDepreciationRate;
+
+    /**
+     * 报价(含税不含运费不含安装调试费)
+     */
+    private BigDecimal quotation;
+
+    /**
+     * 运杂费
+     */
+    private BigDecimal freightAndMiscellaneousFee;
+
+    /**
+     * 安装费
+     */
+    private BigDecimal installationFee;
+
+    /**
+     * 基础费
+     */
+    private Double baseFee;
+
+    /**
+     * 设备工程费
+     */
+    private BigDecimal equipmentEngineeringCosts;
+
+    /**
+     * 前期费
+     */
+    private BigDecimal initialFee;
+
+    /**
+     * 资金成本
+     */
+    private BigDecimal costOfCapital;
+
+    /**
+     * 可抵扣增值税
+     */
+    private BigDecimal deductibleVAT;
+
+    /**
+     * 重置全价(不含税)
+     */
+    private BigDecimal excludeTaxPrice;
+
+}

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

@@ -0,0 +1,53 @@
+package com.dayou.vo;
+
+import lombok.Data;
+
+@Data
+public class EqptLifeIfrRefsVO {
+
+    /**
+     * id
+     */
+    private Long id;
+
+    /**
+     * 类型
+     */
+    private String type;
+
+    /**
+     * 使用年限下限
+     */
+    private Integer lifeLowLimit;
+
+    /**
+     * 使用年限上限
+     */
+    private Integer lifeUpLimit;
+
+    /**
+     * 推荐使用年限
+     */
+    private Integer lifeRecommendedValue;
+
+    /**
+     * 安装费率%上限
+     */
+    private Integer ifrUpLimit;
+
+    /**
+     * 安装费率%下限
+     */
+    private Integer ifrLowLimit;
+
+    /**
+     * 推荐安装费率%
+     */
+    private Integer ifrRecommendedValue;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+}

+ 8 - 0
service/src/main/java/com/dayou/service/AssetsCalculateService.java

@@ -8,6 +8,7 @@ import com.fasterxml.jackson.core.JsonProcessingException;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
+import java.time.LocalDate;
 import java.util.List;
 
 /**
@@ -71,4 +72,11 @@ public interface AssetsCalculateService extends IService<AssetsCalculate> {
          */
         String getCalculateBaseInfo(Long calculateId);
 
+        /**
+         * 根据测算表id获取评估基准日
+         * @param calculateId 测算表id
+         * @return String
+         */
+        LocalDate getValuationBasisDate(Long calculateId);
+
 }

+ 27 - 0
service/src/main/java/com/dayou/service/EqptLifeIfrRefsService.java

@@ -0,0 +1,27 @@
+package com.dayou.service;
+
+import com.dayou.entity.EqptLifeIfrRefs;
+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.vo.EqptLifeIfrRefsVO;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 设备年限、安装费率参考信息表 服务类
+ * </p>
+ *
+ * @author mybatis-plus-generator
+ * @since 2024-11-25
+ */
+public interface EqptLifeIfrRefsService extends IService<EqptLifeIfrRefs> {
+
+    /**
+     * 获取设备参考年限、安装费率
+     * @return List<EqptLifeIfrRefsVO>
+     */
+    List<EqptLifeIfrRefsVO> listAll();
+
+}

+ 1 - 0
service/src/main/java/com/dayou/service/impl/AssetsCalculateServiceImpl.java

@@ -251,6 +251,7 @@ public class AssetsCalculateServiceImpl extends ServiceImpl<AssetsCalculateMappe
      * @param calculateId 测算表id
      * @return String
      */
+    @Override
     public LocalDate getValuationBasisDate(Long calculateId) {
         return assetsCalculateMapper.selectOne(new LambdaQueryWrapper<AssetsCalculate>()
                 .select(AssetsCalculate::getValuationBasisDate)

+ 43 - 0
service/src/main/java/com/dayou/service/impl/EqptLifeIfrRefsServiceImpl.java

@@ -0,0 +1,43 @@
+package com.dayou.service.impl;
+
+import com.dayou.entity.EqptLifeIfrRefs;
+import com.dayou.mapper.EqptLifeIfrRefsMapper;
+import com.dayou.service.EqptLifeIfrRefsService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dayou.vo.EqptLifeIfrRefsVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import java.util.List;
+import java.util.ArrayList;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * <p>
+ * 设备年限、安装费率参考信息表 服务实现类
+ * </p>
+ *
+ * @author mybatis-plus-generator
+ * @since 2024-11-25
+ */
+@Service
+public class EqptLifeIfrRefsServiceImpl extends ServiceImpl<EqptLifeIfrRefsMapper, EqptLifeIfrRefs> implements EqptLifeIfrRefsService {
+
+    @Autowired
+    EqptLifeIfrRefsMapper eqptLifeIfrRefsMapper;
+
+    /**
+     * 获取设备参考年限、安装费率
+     * @return List<EqptLifeIfrRefsVO>
+     */
+    @Override
+    public List<EqptLifeIfrRefsVO> listAll() {
+        return eqptLifeIfrRefsMapper.listAll();
+    }
+}

+ 38 - 1
sql/update_sql.sql

@@ -327,4 +327,41 @@ CREATE TABLE `assets_calculate_eqpt_data`  (
   修改人:苟耕铨
   未更新到test-env
  */
-ALTER TABLE assets_calculate CHANGE COLUMN calculate_info base_info JSON NULL COMMENT '基础测算信息';
+ALTER TABLE assets_calculate CHANGE COLUMN calculate_info base_info JSON NULL COMMENT '基础测算信息';
+
+/**
+  日期:2024-11-22
+  修改人:苟耕铨
+  未更新到test-env
+ */
+ALTER TABLE assets_calculate_eqpt_data ADD COLUMN taxedUnitPrice DECIMAL(11, 2) NULL COMMENT '含税单价';
+ALTER TABLE assets_calculate_eqpt_data ADD COLUMN taxRate DECIMAL(11, 2) NULL COMMENT '税率';
+ALTER TABLE assets_calculate_eqpt_data ADD COLUMN economicServiceLife INT(11) NULL COMMENT '经济使用年数';
+ALTER TABLE assets_calculate_eqpt_data ADD COLUMN directObservationDepreciationRate DECIMAL(11, 2) NULL COMMENT '直接观察成新率';
+ALTER TABLE assets_calculate_eqpt_data ADD COLUMN valuationMethod VARCHAR(100) NULL COMMENT '作价方法';
+ALTER TABLE assets_calculate_eqpt_data ADD COLUMN inquiryBasis VARCHAR(500) NULL COMMENT '询价依据';
+ALTER TABLE assets_calculate_eqpt_data ADD COLUMN inquiryLocation VARCHAR(500) NULL COMMENT '询价地点';
+ALTER TABLE assets_calculate_eqpt_data ADD COLUMN price DECIMAL(11, 2) NULL COMMENT '单价';
+ALTER TABLE assets_calculate_eqpt_data ADD COLUMN freightAndMiscellaneousFeeRate DECIMAL(11, 2) NULL COMMENT '运杂费率';
+ALTER TABLE assets_calculate_eqpt_data ADD COLUMN baseRate DECIMAL(11, 2) NULL COMMENT '基础费率';
+ALTER TABLE assets_calculate_eqpt_data ADD COLUMN installationRate DECIMAL(11, 2) NULL COMMENT '安装费率';
+
+ALTER TABLE assets_calculate_eqpt_data CHANGE COLUMN original_value book_original_value DECIMAL(11,2) NOT NULL COMMENT '账面原值';
+ALTER TABLE assets_calculate_eqpt_data CHANGE COLUMN net_value book_net_value DECIMAL(11,2) NOT NULL COMMENT '账面净值';
+
+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) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '类型',
+                                       `life_low_limit` int(11) NULL DEFAULT NULL COMMENT '使用年限下限',
+                                       `life_up_limit` int(11) NULL DEFAULT NULL COMMENT '使用年限上限',
+                                       `life_recommended_value` int(11) NULL DEFAULT NULL COMMENT '推荐使用年限',
+                                       `ifr_up_limit` int(11) NULL DEFAULT NULL COMMENT '安装费率%上限',
+                                       `ifr_low_limit` int(11) NULL DEFAULT NULL COMMENT '安装费率%下限',
+                                       `ifr_recommended_value` int(11) NULL DEFAULT NULL COMMENT '推荐安装费率%',
+                                       `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
+                                       `create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
+                                       `update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '修改时间',
+                                       `delete_status` bit(1) NOT NULL DEFAULT b'0' COMMENT '删除状态',
+                                       PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1155 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '设备年限、安装费率参考信息表' ROW_FORMAT = Dynamic;