瀏覽代碼

1.新增判断是否有进口设备接口、更新测算表基础信息接口
2.表修改

GouGengquan 8 月之前
父節點
當前提交
ae3d2a689f

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

@@ -1,6 +1,7 @@
 package com.dayou.controller;
 
 import cn.dev33.satoken.annotation.SaCheckLogin;
+import com.dayou.dto.calculate.CalculateBaseInfoDTO;
 import com.dayou.result.Result;
 import com.dayou.result.Status;
 import com.dayou.vo.calculate.AssetsCalculateProgressVO;
@@ -97,5 +98,15 @@ public class AssetsCalculateController {
         return Result.build(Status.SUCCESS);
     }
 
+    /**
+     * 更新测算表基础测算信息
+     * @param calculateBaseInfoDTO dto
+     * @return Boolean
+     */
+    @PutMapping("/updateCalculateBaseInfo")
+    public Result<Boolean> updateCalculateBaseInfo(@RequestBody CalculateBaseInfoDTO calculateBaseInfoDTO) {
+        return Result.build(assetsCalculateService.updateCalculateBaseInfo(calculateBaseInfoDTO.getCalculateId(), calculateBaseInfoDTO.getBaseInfo()));
+    }
+
 }
 

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

@@ -0,0 +1,36 @@
+package com.dayou.controller;
+
+import cn.dev33.satoken.annotation.SaCheckLogin;
+import com.dayou.result.Result;
+import com.dayou.service.AssetsCalculateEqptDataService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 资产机器设备测算数据
+ *
+ * @author GouGengquan
+ * @since 2024-11-18
+ */
+@RestController
+@RequestMapping("assetsCalculateEqptData")
+@Slf4j
+@CrossOrigin
+@SaCheckLogin
+public class AssetsCalculateEqptDataController {
+
+    @Autowired
+    private AssetsCalculateEqptDataService dataService;
+
+    /**
+     * 获取是否有进口设备
+     * @param calculateId 测算表id
+     * @return Result<Boolean>
+     */
+    @GetMapping("/hasImportedEquipment/{calculateId}")
+    public Result<Boolean> hasImportedEquipment(@PathVariable Long calculateId) {
+        return Result.build(dataService.hasImportedEquipment(calculateId));
+    }
+
+}

+ 8 - 0
dao/src/main/java/com/dayou/mapper/AssetsCalculateEqptDataMapper.java

@@ -2,6 +2,7 @@ package com.dayou.mapper;
 
 import com.dayou.entity.AssetsCalculateEqptData;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -13,4 +14,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface AssetsCalculateEqptDataMapper extends BaseMapper<AssetsCalculateEqptData> {
 
+    /**
+     * 获取是否有进口设备
+     * @param calculateId 测算表id
+     * @return Integer
+     */
+    Integer hasImportedEquipment(@Param("calculateId") Long calculateId);
+
 }

+ 17 - 0
dao/src/main/java/com/dayou/mapper/AssetsCalculateMapper.java

@@ -1,5 +1,6 @@
 package com.dayou.mapper;
 
+import com.dayou.dto.calculate.equipment.EquipmentBaseInfoDTO;
 import com.dayou.entity.AssetsCalculate;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.dayou.vo.calculate.AssetsCalculateProgressVO;
@@ -21,4 +22,20 @@ public interface AssetsCalculateMapper extends BaseMapper<AssetsCalculate> {
      * @return AssetsCalculateStepBaseVO
      */
     AssetsCalculateProgressVO getCalculateProgress(@Param("projectId") Long projectId);
+
+    /**
+     * 通过id更新测算表进度
+     * @param calculateId id
+     * @param progress 进度
+     * @return Boolean
+     */
+    Boolean updateCalculateProgress(@Param("calculateId") Long calculateId, @Param("progress") String progress);
+
+    /**
+     * 更新测算表基础测算信息
+     * @param calculateId id
+     * @param baseInfo 基础信息json字符串
+     * @return Boolean
+     */
+    Boolean updateCalculateBaseInfo(@Param("calculateId") Long calculateId, @Param("baseInfo") String baseInfo);
 }

+ 9 - 0
dao/src/main/resources/mapper/AssetsCalculateEqptDataMapper.xml

@@ -33,4 +33,13 @@
         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
     </sql>
 
+    <!--获取是否有进口设备-->
+    <select id="hasImportedEquipment" resultType="java.lang.Integer">
+        SELECT COUNT(id)
+        FROM assets_calculate_eqpt_data
+        WHERE assets_calculate_id = #{calculateId}
+        AND equipment_type = '进口设备'
+        AND delete_status = 0
+    </select>
+
 </mapper>

+ 17 - 8
dao/src/main/resources/mapper/AssetsCalculateMapper.xml

@@ -23,14 +23,6 @@
         project_id, calculate_name, valuation_basis_date, create_user_id
     </sql>
 
-    <!--根据项目id获取未完成项目当前进度名称-->
-    <select id="getCalculateProgressName" resultType="java.lang.String">
-        SELECT progress
-        FROM assets_calculate
-        WHERE delete_status = 0
-          AND project_id = #{projectId}
-    </select>
-
     <!--根据项目id和进度名获取测算表基本信息-->
     <select id="getCalculateProgress" resultType="com.dayou.vo.calculate.AssetsCalculateProgressVO">
         SELECT id, project_id, calculate_name, progress
@@ -40,4 +32,21 @@
         AND project_id = #{projectId}
     </select>
 
+    <!--通过id更新测算表进度-->
+    <update id="updateCalculateProgress">
+        UPDATE assets_calculate
+        SET progress = #{progress}
+        WHERE delete_status = 0
+        AND id = #{calculateId}
+    </update>
+
+    <!--更新测算表机器设备基础测算信息-->
+    <update id="updateCalculateBaseInfo">
+        UPDATE assets_calculate
+        SET base_info = #{baseInfo}
+        WHERE delete_status = 0
+        AND id = #{calculateId}
+    </update>
+
+
 </mapper>

+ 21 - 0
domain/src/main/java/com/dayou/dto/calculate/CalculateBaseInfoDTO.java

@@ -0,0 +1,21 @@
+package com.dayou.dto.calculate;
+
+import lombok.Data;
+
+/**
+ * 测算表基础测算信息更新DTO
+ */
+@Data
+public class CalculateBaseInfoDTO {
+
+    /**
+     * 测算表id
+     */
+    private Long calculateId;
+
+    /**
+     * 基础测算信息
+     */
+    private String baseInfo;
+
+}

+ 12 - 4
domain/src/main/java/com/dayou/dto/calculate/equipment/EquipmentBaseDTO.java

@@ -2,13 +2,11 @@ package com.dayou.dto.calculate.equipment;
 
 import lombok.Data;
 
-import java.time.LocalDate;
-
 /**
- * 机器设备-主模板
+ * 机器设备-基础信息
  */
 @Data
-public class EquipmentBaseDTO {
+public class EquipmentBaseInfoDTO {
 
     /**
      * 工期
@@ -30,4 +28,14 @@ public class EquipmentBaseDTO {
      */
     private Double managementExpenseRatio;
 
+    /**
+     * 关税
+     */
+    private Double tariff;
+
+    /**
+     * 进口增值税
+     */
+    private Double importVAT;
+
 }

+ 7 - 0
service/src/main/java/com/dayou/service/AssetsCalculateEqptDataService.java

@@ -13,4 +13,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
  */
 public interface AssetsCalculateEqptDataService extends IService<AssetsCalculateEqptData> {
 
+    /**
+     * 获取是否有进口设备
+     * @param calculateId 测算表id
+     * @return Boolean
+     */
+    Boolean hasImportedEquipment(Long calculateId);
+
 }

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

@@ -41,4 +41,12 @@ public interface AssetsCalculateService extends IService<AssetsCalculate> {
          */
         void importEqptExcelData(MultipartFile multipartFile, Long calculateId) throws IOException;
 
+        /**
+         * 更新测算表基础测算信息
+         * @param calculateId id
+         * @param baseInfo 基础信息json字符串
+         * @return Boolean
+         */
+        Boolean updateCalculateBaseInfo(Long calculateId, String baseInfo);
+
 }

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

@@ -4,6 +4,7 @@ import com.dayou.entity.AssetsCalculateEqptData;
 import com.dayou.mapper.AssetsCalculateEqptDataMapper;
 import com.dayou.service.AssetsCalculateEqptDataService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+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;
@@ -27,4 +28,16 @@ import org.springframework.transaction.annotation.Transactional;
 @Service
 public class AssetsCalculateEqptDataServiceImpl extends ServiceImpl<AssetsCalculateEqptDataMapper, AssetsCalculateEqptData> implements AssetsCalculateEqptDataService {
 
+    @Autowired
+    private AssetsCalculateEqptDataMapper dataMapper;
+
+    /**
+     * 获取是否有进口设备
+     * @param calculateId 测算表id
+     * @return Boolean
+     */
+    @Override
+    public Boolean hasImportedEquipment(Long calculateId) {
+        return dataMapper.hasImportedEquipment(calculateId) > 0;
+    }
 }

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

@@ -3,6 +3,7 @@ package com.dayou.service.impl;
 import cn.dev33.satoken.stp.StpUtil;
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.read.listener.PageReadListener;
+import com.dayou.dto.calculate.equipment.EquipmentBaseInfoDTO;
 import com.dayou.entity.AssetsCalculate;
 import com.dayou.entity.AssetsCalculateEqptData;
 import com.dayou.mapper.AssetsCalculateMapper;
@@ -14,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
@@ -82,6 +84,7 @@ public class AssetsCalculateServiceImpl extends ServiceImpl<AssetsCalculateMappe
      * @return Boolean
      */
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public void importEqptExcelData(MultipartFile multipartFile, Long calculateId) throws IOException {
         // 读取excel内容并批量保存到数据库
         InputStream inputStream = multipartFile.getInputStream();
@@ -91,5 +94,21 @@ public class AssetsCalculateServiceImpl extends ServiceImpl<AssetsCalculateMappe
             // 批量保存
             assetsCalculateEqptDataService.saveBatch(dataList);
         }, 1000)).sheet().doRead();
+        // 更新测算表进度
+        assetsCalculateMapper.updateCalculateProgress(calculateId,"GENERATE");
+    }
+
+    /**
+     * 更新测算表基础测算信息
+     * @param calculateId id
+     * @param baseInfo 基础信息json字符串
+     * @return Boolean
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean updateCalculateBaseInfo(Long calculateId, String baseInfo) {
+        // 更新测算表进度
+        assetsCalculateMapper.updateCalculateProgress(calculateId,"GENERATE");
+        return assetsCalculateMapper.updateCalculateBaseInfo(calculateId, baseInfo);
     }
 }

+ 8 - 2
sql/update_sql.sql

@@ -244,7 +244,6 @@ ALTER TABLE assets_calculate MODIFY COLUMN create_user_id bigint(20) DEFAULT NUL
  */
 ALTER TABLE assets_project ADD COLUMN completion_status BIT(1) DEFAULT b'0' NOT NULL COMMENT '项目完成状态';
 ALTER TABLE assets_calculate CHANGE COLUMN assets_id project_id BIGINT(20) NOT NULL COMMENT '资产项目id';
-ALTER TABLE assets_calculate MODIFY COLUMN create_user_id bigint(20) DEFAULT NULL COMMENT '测算表创建者user_id'
 
 
 
@@ -321,4 +320,11 @@ CREATE TABLE `assets_calculate_eqpt_data`  (
                                                `delete_status` bit(1) NOT NULL DEFAULT b'0' COMMENT '删除状态',
                                                PRIMARY KEY (`id`) USING BTREE,
                                                INDEX `assets_calculate_id`(`assets_calculate_id`, `sort_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '机器设备测算数据表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '机器设备测算数据表' ROW_FORMAT = Dynamic;
+
+/**
+  日期:2024-11-18
+  修改人:苟耕铨
+  未更新到test-env
+ */
+ALTER TABLE assets_calculate CHANGE COLUMN calculate_info base_info JSON NULL COMMENT '基础测算信息';