Преглед изворни кода

1.机器设备测算表模板结构调整、新增字段等
2.相关表调整

GouGengquan пре 7 месеци
родитељ
комит
9cd358f54a

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

@@ -68,7 +68,7 @@ file-net:
   # 基础配置
   base-dir: E:\productivity-platform-files\
   max-file-size: 102400
-  domain: http://127.0.0.1:8080/pp/res
+  domain: http://127.0.0.1:8080/pp/dfs
   # 图片
   image: images\
   # 资产业务配置

+ 43 - 14
dao/src/main/resources/mapper/AssetsCalculateEqptDataMapper.xml

@@ -21,7 +21,6 @@
         <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>
 
     <!-- 通用查询结果列 -->
@@ -48,7 +47,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 / 100) AS taxRate, economic_service_life,
         (direct_observation_depreciation_rate / 100) AS directObservationDepreciationRate, valuation_method, inquiry_basis, inquiry_location, price,
-        (freight_and_miscellaneous_fee_rate / 100) AS freightAndMiscellaneousFeeRate, (base_rate / 100) AS baseRate, (installation_rate / 100) AS installationRate
+        (freight_and_miscellaneous_fee_rate / 100) AS freightAndMiscellaneousFeeRate, (base_rate / 100) AS baseRate, (installation_rate / 100) AS installationRate,
+        usage_situation
         FROM assets_calculate_eqpt_data
         WHERE delete_status = 0
         AND assets_calculate_id = #{calculateId}
@@ -64,7 +64,7 @@
         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
+        freight_and_miscellaneous_fee_rate, base_rate, installation_rate, usage_situation
         FROM assets_calculate_eqpt_data
         WHERE delete_status = 0
         AND assets_calculate_id = #{dto.calculateId}
@@ -129,6 +129,7 @@
                impData.pricing_basis,
                impData.central_parity_rate,
                impData.tariff_rate,
+               impData.tariff_rate_picture,
                impData.import_vat_rate,
                impData.bank_charges_rate,
                impData.foreign_transaction_rate,
@@ -194,10 +195,11 @@
                impData.ppi,
                impData.pricing_basis,
                impData.central_parity_rate,
-               impData.tariff_rate,
-               impData.import_vat_rate,
-               impData.bank_charges_rate,
-               impData.foreign_transaction_rate,
+               (impData.tariff_rate / 100) AS tariffRate,
+               impData.tariff_rate_picture,
+               (impData.import_vat_rate / 100) AS importVatRate,
+               (impData.bank_charges_rate / 100) AS bankChargesRate,
+               (impData.foreign_transaction_rate / 100) AS foreignTransactionRate,
                impData.product_code,
                impData.currency,
                impData.address,
@@ -229,6 +231,7 @@
             pricing_basis = #{data.pricingBasis},
             central_parity_rate = #{data.centralParityRate},
             tariff_rate = #{data.tariffRate},
+            tariff_rate_picture = #{data.tariffRatePicture},
             import_VAT_rate = #{data.importVATRate},
             bank_charges_rate = #{data.bankChargesRate},
             foreign_transaction_rate = #{data.foreignTransactionRate},
@@ -247,8 +250,8 @@
 
     <!--新增机器设备进口设备数据-->
     <insert id="addImpData">
-        INSERT INTO assets_calculate_eqpt_imp_data(id, eqpt_data_id, ppi, pricing_basis, central_parity_rate, tariff_rate, import_VAT_rate, bank_charges_rate, foreign_transaction_rate, product_code, currency, address, transaction_method, contract_amount, contract_signing_date, destination_port, original_price)
-        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 INTO assets_calculate_eqpt_imp_data(id, eqpt_data_id, ppi, pricing_basis, central_parity_rate, tariff_rate, import_VAT_rate, bank_charges_rate, foreign_transaction_rate, product_code, currency, address, transaction_method, contract_amount, contract_signing_date, destination_port, original_price, tariff_rate_picture)
+        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}, #{data.tariffRatePicture})
     </insert>
 
     <!--分页查询非标设备信息-->
@@ -274,7 +277,15 @@
                nonsData.sales_tax_rate,
                nonsData.design_fee_rate,
                nonsData.VAT_rate,
-               nonsData.nons_eqpt_value
+               nonsData.nons_eqpt_value,
+               nonsData.material_1,
+               nonsData.material_2,
+               nonsData.material_1_quantity,
+               nonsData.material_2_quantity,
+               nonsData.material_1_use_ratio,
+               nonsData.material_2_use_ratio,
+               nonsData.material_1_price,
+               nonsData.material_2_price
         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
@@ -336,7 +347,15 @@
                (nonsData.sales_tax_rate / 100) AS salesTaxRate,
                (nonsData.design_fee_rate / 100) AS designFeeRate,
                (nonsData.VAT_rate / 100) AS VATRate,
-               nonsData.nons_eqpt_value
+               nonsData.nons_eqpt_value,
+               nonsData.material_1,
+               nonsData.material_2,
+               nonsData.material_1_quantity,
+               nonsData.material_2_quantity,
+               (nonsData.material_1_use_ratio / 100) AS material1UseRatio,
+               (nonsData.material_2_use_ratio / 100) AS material2UseRatio,
+               nonsData.material_1_price,
+               nonsData.material_2_price
         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
@@ -358,7 +377,15 @@
             sales_tax_rate = #{data.salesTaxRate},
             design_fee_rate = #{data.designFeeRate},
             VAT_rate = #{data.VATRate},
-            nons_eqpt_value = #{data.nonsEqptValue}
+            nons_eqpt_value = #{data.nonsEqptValue},
+            material_1 = #{data.material1},
+            material_2 = #{data.material2},
+            material_1_quantity = #{data.material1Quantity},
+            material_2_quantity = #{data.material2Quantity},
+            material_1_use_ratio = #{data.material1UseRatio},
+            material_2_use_ratio = #{data.material2UseRatio},
+            material_1_price = #{data.material1Price},
+            material_2_price = #{data.material2Price}
         WHERE delete_status = 0
           AND id = #{data.id}
           AND eqpt_data_id = #{data.eqptDataId}
@@ -367,9 +394,11 @@
     <!--新增机器设备非标设备数据-->
     <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)
+                                                     cost_profit_ratio, sales_tax_rate, design_fee_rate, VAT_rate, nons_eqpt_value, material_1, material_2, material_1_quantity, material_2_quantity,
+                                                     material_1_use_ratio, material_2_use_ratio, material_1_price, material_2_price)
         VALUE (NULL, #{data.eqptDataId}, #{data.eqptCode}, #{data.affiliatedSystem}, #{data.mainMaterialCost}, #{data.mainMaterialCostRate}, #{data.mainPurchasedPartsCost},
-               #{data.costProfitRatio}, #{data.salesTaxRate}, #{data.designFeeRate}, #{data.VATRate}, #{data.nonsEqptValue})
+               #{data.costProfitRatio}, #{data.salesTaxRate}, #{data.designFeeRate}, #{data.VATRate}, #{data.nonsEqptValue},
+              #{data.material1},#{data.material2},#{data.material1Quantity},#{data.material2Quantity},#{data.material1UseRatio},#{data.material2UseRatio},#{data.material1Price},#{data.material2Price})
     </insert>
 
     <!--获取机器设备作价table设备名称的筛选条件-->

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

@@ -25,23 +25,23 @@ public class CalculateFormula {
      * 机器设备主模板公式
      */
     public enum EquipmentMainFormula {
-        不含税单价("L{0}/(1+M{0})",14),
-        原值("AQ{0}",16),
-        成新率("Z{0}",17),
-        净值("ROUND(P{0}*Q{0},0)",18),
-        增值率("ROUND((R{0}-K{0})/K{0},2)", 19),
-        已使用年数("ROUND(($V$2-F{0})/365,2)",21),
-        年限成新率("IF((T{0}-U{0})/T{0}<15%,15%,ROUND((T{0}-U{0})/T{0},2))",22),
-        综合成新率("ROUND(V{0}*W{0}+X{0}*Y{0},2)",26),
-        报价("AE{0}*H{0}",32),
-        运杂费("ROUND(AF{0}*AG{0},0)",34),
-        基础费("ROUND(AF{0}*AI{0},0)",36),
-        安装费("AF{0}*AK{0}",38),
-        设备工程费("ROUND(AF{0}+AH{0}+AJ{0}+AL{0},0)",39),
-        前期费("ROUND(AM{0}*AT3,0)",40),
-        资金成本("ROUND((AN{0}*((1+$AT$3)^($AT$1)-1)+AM{0}*((1+$AT$3)^($AT$1/2)-1)),0)",41),
-        可抵扣增值税("ROUND(AF{0}/(1+13%)*13%+(AH{0}+AJ{0}+AL{0})/(1+9%)*9%+AM{0}*($AT$3-$AT$4)/1.06*0.06,0)",42),
-        重置全价("ROUND(AM{0}+AN{0}+AO{0}-AP{0},0)",43);
+        不含税单价("ROUND(M{0}/(1+N{0}),2)",15),
+        原值("AR{0}",17),
+        成新率("AA{0}",18),
+        净值("ROUND(Q{0}*R{0},0)",19),
+        增值率("ROUND((L{0}-S{0})/S{0},2)", 20),
+        已使用年数("ROUND(($W$2-F{0})/365,2)",22),
+        年限成新率("IF((U{0}-V{0})/U{0}<15%,15%,ROUND((U{0}-V{0})/U{0},2))",23),
+        综合成新率("ROUND(W{0}*X{0}+Y{0}*Z{0},2)",27),
+        报价("AF{0}*I{0}",33),
+        运杂费("ROUND(AG{0}*AH{0},0)",35),
+        基础费("ROUND(AG{0}*AJ{0},0)",37),
+        安装费("AG{0}*AL{0}",39),
+        设备工程费("ROUND(AG{0}+AI{0}+AK{0}+AM{0},0)",40),
+        前期费("ROUND(AN{0}*$AU$3,0)",41),
+        资金成本("ROUND((AO{0}*((1+$AU$3)^($AU$1)-1)+AN{0}*((1+$AU$3)^($AU$1/2)-1)),0)",42),
+        可抵扣增值税("ROUND(AG{0}/(1+13%)*13%+(AI{0}+AK{0}+AM{0})/(1+9%)*9%+AN{0}*($AU$3-$AU$4)/1.06*0.06,0)",43),
+        重置全价("ROUND(AN{0}+AO{0}+AP{0}-AQ{0},0)",44);
 
         /**
          * 公式
@@ -78,15 +78,15 @@ public class CalculateFormula {
      * 机器设备进口设备模板公式
      */
     public enum EquipmentImportedFormula {
-        购置价CIF到岸价("J{0}*AD{0}",12),
-        CIF到岸价折人民币("ROUND(M{0}*L{0},0)",14),
-        关税("N{0}*O{0}",16),
-        进口增值税("(N{0}+P{0})*Q{0}",18),
-        设备价格("SUM(N{0},P{0},R{0})",19),
-        银行财务费("N{0}*T{0}",21),
-        外贸手续费("N{0}*V{0}",23),
-        费用小计("SUM(U{0},W{0})",24),
-        设备原价("S{0}+X{0}",25);
+        购置价CIF到岸价("Q{0}*N{0}",19),
+        CIF到岸价折人民币("ROUND(T{0}*S{0},0)",21),
+        关税("U{0}*V{0}",24),
+        进口增值税("(U{0}+X{0})*Y{0}",26),
+        设备价格("SUM(U{0},X{0},Z{0})",27),
+        银行财务费("U{0}*AB{0}",29),
+        外贸手续费("U{0}*AD{0}",31),
+        费用小计("SUM(AC{0},AE{0})",32),
+        设备原价("AA{0}+AF{0}",33);
 
         /**
          * 公式
@@ -122,7 +122,8 @@ public class CalculateFormula {
      * 机器设备非标设备模板公式
      */
     public enum EquipmentNonStandardFormula {
-        非标设备估值("ROUND((P{0}/Q{0}+R{0})*(1+S{0})*(1+T{0})*(1+U{0})/(1+V{0}),0)",23);
+        主材费设备报价含税不含运费不含安装调试费("ROUND(O{0}/P{0}*Q{0}+S{0}/T{0}*U{0},0)", 22),
+        非标设备估值("ROUND((V{0}/W{0}+X{0})*(1+Y{0})*(1+Z{0})*(1+AA{0})/(1+AB{0}),0)",29);
 
         /**
          * 公式

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

@@ -191,6 +191,11 @@ public class AssetsCalculateEqptData extends BaseEntity implements Serializable
     private BigDecimal installationRate;
 
     /**
+     * 使用情况
+     */
+    private String usageSituation;
+
+    /**
      * 空单元格占位(对应模板上的设置)
      * 不设置占位的话,导入数据时空单元格不会创建单元格会导致模板样式丢失
      */

+ 7 - 2
domain/src/main/java/com/dayou/entity/AssetsCalculateEqptImpData.java

@@ -48,6 +48,11 @@ public class AssetsCalculateEqptImpData extends BaseEntity implements Serializab
     private Float tariffRate;
 
     /**
+     * 关税税率截图
+     */
+    private String tariffRatePicture;
+
+    /**
      * 进口增值税率
      */
     private Float importVATRate;
@@ -68,12 +73,12 @@ public class AssetsCalculateEqptImpData extends BaseEntity implements Serializab
     private String productCode;
 
     /**
-     * 币种
+     * 合同结算币种
      */
     private String currency;
 
     /**
-     * 地址
+     * 生产国/进口国
      */
     private String address;
 

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

@@ -77,5 +77,44 @@ public class AssetsCalculateEqptNonsData extends BaseEntity implements Serializa
      */
     private BigDecimal nonsEqptValue;
 
+    /**
+     * 主材1
+     */
+    private String material1;
+
+    /**
+     * 主材2
+     */
+    private String material2;
+
+    /**
+     * 主材1用量
+     */
+    private Float material1Quantity;
+
+    /**
+     * 主材2用量
+     */
+    private Float material2Quantity;
+
+    /**
+     * 主材1利用率%
+     */
+    private Float material1UseRatio;
+
+    /**
+     * 主材2利用率%
+     */
+    private Float material2UseRatio;
+
+    /**
+     * 主材1单价(元/吨)
+     */
+    private BigDecimal material1Price;
+
+    /**
+     * 主材2单价(元/吨)
+     */
+    private BigDecimal material2Price;
 
 }

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

@@ -14,7 +14,12 @@ import java.math.BigDecimal;
 public class AssetsCalculateEqptDataVO extends AssetsCalculateEqptData {
 
     /**
-     * 不含税单价
+     * 使用情况
+     */
+    private String usageSituation;
+
+    /**
+     * 不含税单价(发票价)
      */
     private BigDecimal unTaxedUnitPrice;
 

+ 7 - 2
domain/src/main/java/com/dayou/vo/AssetsCalculateEqptImpDataVO.java

@@ -85,6 +85,11 @@ public class AssetsCalculateEqptImpDataVO {
     private Float tariffRate;
 
     /**
+     * 关税税率截图
+     */
+    private String tariffRatePicture;
+
+    /**
      * 进口增值税率
      */
     private Float importVATRate;
@@ -105,12 +110,12 @@ public class AssetsCalculateEqptImpDataVO {
     private String productCode;
 
     /**
-     * 币种
+     * 合同结算币种
      */
     private String currency;
 
     /**
-     * 地址
+     * 生产国/进口国
      */
     private String address;
 

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

@@ -137,6 +137,46 @@ public class AssetsCalculateEqptNonsDataVO {
     private BigDecimal nonsEqptValue;
 
     /**
+     * 主材1
+     */
+    private String material1;
+
+    /**
+     * 主材2
+     */
+    private String material2;
+
+    /**
+     * 主材1用量
+     */
+    private Float material1Quantity;
+
+    /**
+     * 主材2用量
+     */
+    private Float material2Quantity;
+
+    /**
+     * 主材1利用率%
+     */
+    private Float material1UseRatio;
+
+    /**
+     * 主材2利用率%
+     */
+    private Float material2UseRatio;
+
+    /**
+     * 主材1单价(元/吨)
+     */
+    private BigDecimal material1Price;
+
+    /**
+     * 主材2单价(元/吨)
+     */
+    private BigDecimal material2Price;
+
+    /**
      * 空单元格占位(对应模板上的设置)
      * 不设置占位的话,导入数据时空单元格不会创建单元格会导致模板样式丢失
      */

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

@@ -268,9 +268,9 @@ public class AssetsCalculateServiceImpl extends ServiceImpl<AssetsCalculateMappe
 
             // 将主表sheet中进口设备数据的单价改为引用对应的进口设备表的设备原价
             for (Row row : sheet) {
-                Cell cell = row.getCell(26); // AA列(设备类型)的索引是26(从0开始计数)
+                Cell cell = row.getCell(27); // AB列(设备类型)的索引是27(从0开始计数)
                 if (cell != null && cell.getStringCellValue().equals("进口设备")) {
-                    Cell priceCell = row.getCell(30); // 单价单元格
+                    Cell priceCell = row.getCell(31); // 单价单元格
                     int importedRowNum;
                     // 循环进口设备sheet
                     for (int i = 2; i <= importedSheet.getLastRowNum(); i++) { // 跳过前两行
@@ -278,7 +278,7 @@ public class AssetsCalculateServiceImpl extends ServiceImpl<AssetsCalculateMappe
                         // 判断主表的序号和进口设备的序号是否相等
                         if (importedCell != null && row.getCell(0).getNumericCellValue() == importedCell.getNumericCellValue()) {
                             importedRowNum = importedCell.getRowIndex() + 1; // +1是因为代码中下标从0开始,但是excel是从1开始
-                            priceCell.setCellFormula(MessageFormat.format("进口设备!Y{0}", importedRowNum));
+                            priceCell.setCellFormula(MessageFormat.format("进口设备!AG{0}", importedRowNum));
                             break;
                         }
                     }
@@ -322,11 +322,11 @@ public class AssetsCalculateServiceImpl extends ServiceImpl<AssetsCalculateMappe
                 }
             }
 
-            // 将主表sheet中进口设备数据的单价改为引用对应的进口设备表的设备原价
+            // 将主表sheet中非标设备数据的单价改为引用对应的非标设备表的设备原价
             for (Row row : sheet) {
-                Cell cell = row.getCell(26); // AA列(设备类型)的索引是26(从0开始计数)
+                Cell cell = row.getCell(27); // AB列(设备类型)的索引是27(从0开始计数)
                 if (cell != null && cell.getStringCellValue().equals("非标设备")) {
-                    Cell priceCell = row.getCell(30); // 单价单元格
+                    Cell priceCell = row.getCell(31); // 单价单元格
                     int importedRowNum;
                     // 循环进口设备sheet
                     for (int i = 2; i <= nonstandardSheet.getLastRowNum(); i++) { // 跳过前两行
@@ -334,7 +334,7 @@ public class AssetsCalculateServiceImpl extends ServiceImpl<AssetsCalculateMappe
                         // 判断主表的序号和进口设备的序号是否相等
                         if (importedCell != null && row.getCell(0).getNumericCellValue() == importedCell.getNumericCellValue()) {
                             importedRowNum = importedCell.getRowIndex() + 1; // +1是因为代码中下标从0开始,但是excel是从1开始
-                            priceCell.setCellFormula(MessageFormat.format("非标设备!W{0}", importedRowNum));
+                            priceCell.setCellFormula(MessageFormat.format("非标设备!AC{0}", importedRowNum));
                             break;
                         }
                     }

+ 17 - 0
sql/update_sql.sql

@@ -686,3 +686,20 @@ CREATE TABLE `house_target_entity`  (
 ALTER TABLE assets_calculate_eqpt_data MODIFY COLUMN purchase_date date NOT NULL COMMENT '购买日期';
 ALTER TABLE assets_calculate_eqpt_data MODIFY COLUMN activation_date date NOT NULL COMMENT '启用日期';
 
+/**
+  日期:2024-12-18
+  修改人:苟耕铨
+  未更新到test-env
+ */
+ALTER TABLE assets_calculate_eqpt_imp_data ADD COLUMN tariff_rate_picture VARCHAR(500) NULL COMMENT '关税税率查询截图';
+
+ALTER TABLE assets_calculate_eqpt_nons_data ADD COLUMN material_1 VARCHAR(200) NULL COMMENT '主材1';
+ALTER TABLE assets_calculate_eqpt_nons_data ADD COLUMN material_2 VARCHAR(200) NULL COMMENT '主材2';
+ALTER TABLE assets_calculate_eqpt_nons_data ADD COLUMN material_1_quantity FLOAT(11,2) NULL COMMENT '主材1用量';
+ALTER TABLE assets_calculate_eqpt_nons_data ADD COLUMN material_2_quantity FLOAT(11,2) NULL COMMENT '主材2用量';
+ALTER TABLE assets_calculate_eqpt_nons_data ADD COLUMN material_1_use_ratio FLOAT(11,2) NULL COMMENT '主材1利用率%';
+ALTER TABLE assets_calculate_eqpt_nons_data ADD COLUMN material_2_use_ratio FLOAT(11,2) NULL COMMENT '主材2利用率%';
+ALTER TABLE assets_calculate_eqpt_nons_data ADD COLUMN material_1_price DECIMAL(11,2) NULL COMMENT '主材1单价(元/吨)';
+ALTER TABLE assets_calculate_eqpt_nons_data ADD COLUMN material_2_price DECIMAL(11,2) NULL COMMENT '主材2单价(元/吨)';
+
+ALTER TABLE assets_calculate_eqpt_data ADD COLUMN usage_situation VARCHAR(100) NULL COMMENT '使用情况';