ソースを参照

1.机器设备测算表新增列尚可使用年限,修改相关Excel公式

GouGengquan 6 ヶ月 前
コミット
64b756ee90

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

@@ -64,7 +64,8 @@
         storage_location, quantity, unit_of_measurement, book_original_value, book_net_value, equipment_type, remark,
         create_time, update_time, delete_status, taxed_unit_price, tax_rate, economic_service_life,
         direct_observation_depreciation_rate, valuation_method, inquiry_basis, inquiry_location, price,
-        freight_and_miscellaneous_fee_rate, base_rate, installation_rate, usage_situation, inquiry_web, evaluate_original_value, evaluate_net_value
+        freight_and_miscellaneous_fee_rate, base_rate, installation_rate, usage_situation, inquiry_web, evaluate_original_value, evaluate_net_value,
+        remaining_useful_life
         FROM assets_calculate_eqpt_data
         WHERE delete_status = 0
         AND assets_calculate_id = #{dto.calculateId}

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

@@ -26,22 +26,22 @@ public class CalculateFormula {
      */
     public enum EquipmentMainFormula {
         不含税单价("ROUND(M{0,number,#}/(1+N{0,number,#}),2)",15),
-        原值("AS{0,number,#}",17),
-        成新率("AA{0,number,#}",18),
+        原值("AT{0,number,#}",17),
+        成新率("AB{0,number,#}",18),
         净值("ROUND(Q{0,number,#}*R{0,number,#},0)",19),
         增值率("ROUND((S{0,number,#}-L{0,number,#})/L{0,number,#},2)", 20),
-        已使用年数("ROUND(($W$2-F{0,number,#})/365,2)",22),
-        年限成新率("IF((U{0,number,#}-V{0,number,#})/U{0,number,#}<15%,15%,ROUND((U{0,number,#}-V{0,number,#})/U{0,number,#},2))",23),
-        综合成新率("ROUND(W{0,number,#}*X{0,number,#}+Y{0,number,#}*Z{0,number,#},2)",27),
-        报价("AG{0,number,#}*I{0,number,#}",34),
-        运杂费("ROUND(AH{0,number,#}*AI{0,number,#},0)",36),
-        基础费("ROUND(AH{0,number,#}*AK{0,number,#},0)",38),
-        安装费("AH{0,number,#}*AM{0,number,#}",40),
-        设备工程费("ROUND(AH{0,number,#}+AJ{0,number,#}+AL{0,number,#}+AN{0,number,#},0)",41),
-        前期费("ROUND(AO{0,number,#}*$AV$3,0)",42),
-        资金成本("ROUND((AP{0,number,#}*((1+$AV$3)^($AV$1)-1)+AO{0,number,#}*((1+$AV$3)^($AV$1/2)-1)),0)",43),
-        可抵扣增值税("ROUND(AH{0,number,#}/(1+13%)*13%+(AJ{0,number,#}+AL{0,number,#}+AN{0,number,#})/(1+9%)*9%+AO{0,number,#}*($AV$3-$AV$4)/1.06*0.06,0)",44),
-        重置全价("ROUND(AO{0,number,#}+AP{0,number,#}+AQ{0,number,#}-AR{0,number,#},0)",45);
+        已使用年数("ROUND(($X$2-F{0,number,#})/365,2)",22),
+        年限成新率("IF((U{0,number,#}-V{0,number,#})/U{0,number,#}<15%,ROUND(W{0,number,#}/(V{0,number,#}+W{0,number,#}),2),ROUND((U{0,number,#}-V{0,number,#})/U{0,number,#},2))",24),
+        综合成新率("ROUND(X{0,number,#}*Y{0,number,#}+Z{0,number,#}*AA{0,number,#},2)",28),
+        报价("AH{0,number,#}*I{0,number,#}",35),
+        运杂费("ROUND(AI{0,number,#}*AJ{0,number,#},0)",37),
+        基础费("ROUND(AI{0,number,#}*AL{0,number,#},0)",39),
+        安装费("AI{0,number,#}*AN{0,number,#}",41),
+        设备工程费("ROUND(AI{0,number,#}+AK{0,number,#}+AM{0,number,#}+AO{0,number,#},0)",42),
+        前期费("ROUND(AP{0,number,#}*$AW$3,0)",43),
+        资金成本("ROUND((AQ{0,number,#}*((1+$AW$3)^($AW$1)-1)+AP{0,number,#}*((1+$AW$3)^($AW$1/2)-1)),0)",44),
+        可抵扣增值税("ROUND(AI{0,number,#}/(1+13%)*13%+(AK{0,number,#}+AM{0,number,#}+AO{0,number,#})/(1+9%)*9%+AP{0,number,#}*($AW$3-$AW$4)/1.06*0.06,0)",45),
+        重置全价("ROUND(AP{0,number,#}+AQ{0,number,#}+AR{0,number,#}-AS{0,number,#},0)",46);
 
         /**
          * 公式

+ 7 - 0
domain/src/main/java/com/dayou/entity/AssetsCalculateEqptData.java

@@ -227,6 +227,13 @@ public class AssetsCalculateEqptData extends BaseEntity implements Serializable
     private String usageSituation;
 
     /**
+     * 尚可使用年限
+     */
+    @ExcelIgnore
+    @TableField(updateStrategy = FieldStrategy.IGNORED)
+    private Integer remainingUsefulLife;
+
+    /**
      * 空单元格占位(对应模板上的设置)
      * 不设置占位的话,导入数据时空单元格不会创建单元格会导致模板样式丢失
      */

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

@@ -288,9 +288,9 @@ public class AssetsCalculateServiceImpl extends ServiceImpl<AssetsCalculateMappe
 
             // 将主表sheet中进口设备数据的单价改为引用对应的进口设备表的设备原价
             for (Row row : sheet) {
-                Cell cell = row.getCell(27); // AB列(设备类型)的索引是27(从0开始计数)
+                Cell cell = row.getCell(28); // AB列(设备类型)的索引是28(从0开始计数)
                 if (cell != null && cell.getStringCellValue().equals("进口设备")) {
-                    Cell priceCell = row.getCell(31); // 单价单元格
+                    Cell priceCell = row.getCell(33); // 单价单元格
                     int importedRowNum;
                     // 循环进口设备sheet
                     for (int i = 2; i <= importedSheet.getLastRowNum(); i++) { // 跳过前两行
@@ -344,9 +344,9 @@ public class AssetsCalculateServiceImpl extends ServiceImpl<AssetsCalculateMappe
 
             // 将主表sheet中非标设备数据的单价改为引用对应的非标设备表的设备原价
             for (Row row : sheet) {
-                Cell cell = row.getCell(27); // AB列(设备类型)的索引是27(从0开始计数)
+                Cell cell = row.getCell(28); // AB列(设备类型)的索引是28(从0开始计数)
                 if (cell != null && cell.getStringCellValue().equals("非标设备")) {
-                    Cell priceCell = row.getCell(31); // 单价单元格
+                    Cell priceCell = row.getCell(33); // 单价单元格
                     int importedRowNum;
                     // 循环进口设备sheet
                     for (int i = 2; i <= nonstandardSheet.getLastRowNum(); i++) { // 跳过前两行

+ 8 - 1
sql/update_sql.sql

@@ -991,4 +991,11 @@ ALTER TABLE assets_calculate_eqpt_data MODIFY COLUMN model VARCHAR(255) NULL COM
   修改人:苟耕铨
   未更新到test-env
  */
-ALTER TABLE assets_calculate_eqpt_data MODIFY COLUMN book_net_value DECIMAL(11,2) NULL COMMENT '账面净值';
+ALTER TABLE assets_calculate_eqpt_data MODIFY COLUMN book_net_value DECIMAL(11,2) NULL COMMENT '账面净值';
+
+/**
+  日期:2025-01-06
+  修改人:苟耕铨
+  未更新到test-env
+ */
+ALTER TABLE assets_calculate_eqpt_data ADD COLUMN remaining_useful_life INT(11) NULL COMMENT '尚可使用年限';