Browse Source

1.新增分页查询导入的机器设备测算数据

GouGengquan 8 months ago
parent
commit
c969556aeb

+ 9 - 2
biz-base/src/main/java/com/dayou/controller/AssetsCalculateController.java

@@ -32,14 +32,15 @@ import java.util.List;
 @CrossOrigin
 @SaCheckLogin
 public class AssetsCalculateController {
+
     @Autowired
     private AssetsCalculateService assetsCalculateService;
 
     /**
     * 资产项目测算信息表列表
     */
-    @GetMapping("/listAll/{projectId}")
-    public Result<List<AssetsCalculateVO>> listAll(@PathVariable Long projectId){
+    @GetMapping("/listAllByProjectId/{projectId}")
+    public Result<List<AssetsCalculateVO>> listAllByProjectId(@PathVariable Long projectId){
         List<AssetsCalculateVO> pages = assetsCalculateService.listAllByProjectId(projectId);
         return Result.build(pages);
     }
@@ -111,6 +112,12 @@ public class AssetsCalculateController {
         return Result.build(assetsCalculateService.updateCalculateBaseInfo(calculateBaseInfoDTO.getCalculateId(), calculateBaseInfoDTO.getBaseInfo()));
     }
 
+    /**
+     * 生成测算表
+     * @param calculateId 测算表id
+     * @return Boolean
+     * @throws IOException
+     */
     @GetMapping("/generateEquipmentCalculate/{calculateId}")
     public Result<Boolean> generateEquipmentCalculate(@PathVariable Long calculateId) throws IOException {
         return Result.build(assetsCalculateService.generateEquipmentCalculate(calculateId));

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

@@ -1,6 +1,9 @@
 package com.dayou.controller;
 
 import cn.dev33.satoken.annotation.SaCheckLogin;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.dayou.dto.calculate.equipment.EqptQueryDTO;
+import com.dayou.entity.AssetsCalculateEqptData;
 import com.dayou.result.Result;
 import com.dayou.service.AssetsCalculateEqptDataService;
 import lombok.extern.slf4j.Slf4j;
@@ -33,4 +36,15 @@ public class AssetsCalculateEqptDataController {
         return Result.build(dataService.hasImportedEquipment(calculateId));
     }
 
+    /**
+     * 分页查询导入的机器设备测算数据
+     * @param page 分页
+     * @param dto 查询dto
+     * @return Page<AssetsCalculateEqptData>
+     */
+    @GetMapping("/getDataPage")
+    public Result<Page<AssetsCalculateEqptData>> getDataPage(Page page, EqptQueryDTO dto) {
+        return Result.build(dataService.getDataPage(page, dto));
+    }
+
 }

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

@@ -1,5 +1,7 @@
 package com.dayou.mapper;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.dayou.dto.calculate.equipment.EqptQueryDTO;
 import com.dayou.entity.AssetsCalculateEqptData;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Param;
@@ -31,4 +33,19 @@ public interface AssetsCalculateEqptDataMapper extends BaseMapper<AssetsCalculat
      */
     List<AssetsCalculateEqptData> getAllByAssetsCalculateId(@Param("calculateId") Long calculateId, @Param("equipmentType") String equipmentType);
 
+    /**
+     * 分页查询导入的机器设备测算数据
+     * @param page 分页
+     * @param dto 查询dto
+     * @return Page<AssetsCalculateEqptData>
+     */
+    Page<AssetsCalculateEqptData> getDataPage(@Param("page") Page page, @Param("dto") EqptQueryDTO dto);
+
+    /**
+     * 根据测算表id删除
+     * @param calculateId 测算表id
+     * @return Boolean
+     */
+    Boolean deleteDataByCalculateId(@Param("calculateId") Long calculateId);
+
 }

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

@@ -53,4 +53,29 @@
         </if>
     </select>
 
+    <!--分页查询导入的机器设备测算数据-->
+    <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
+        FROM assets_calculate_eqpt_data
+        WHERE delete_status = 0
+        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.equipmentType">
+            AND equipment_type = #{dto.equipmentType}
+        </if>
+        <if test="dto != null and dto.equipmentName">
+            AND equipment_name LIKE CONCAT('%', #{dto.equipmentName}, '%')
+        </if>
+    </select>
+
+    <!--根据测算表id删除-->
+    <delete id="deleteDataByCalculateId">
+        UPDATE assets_calculate_eqpt_data
+        SET delete_status = 1
+        WHERE delete_status = 0
+        AND assets_calculate_id = #{calculateId}
+    </delete>
+
 </mapper>

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

@@ -55,7 +55,8 @@
                calculate_name,
                valuation_basis_date,
                principal,
-               dict_data.name AS projectTypeName
+               dict_data.name AS projectTypeName,
+               calculate.create_time
         FROM assets_calculate AS calculate
         LEFT JOIN assets_project AS project ON project.id = calculate.project_id AND project.delete_status = 0
         LEFT JOIN sys_dict_data AS dict_data ON dict_data.id = project.project_type_id

+ 29 - 0
domain/src/main/java/com/dayou/dto/calculate/equipment/EqptQueryDTO.java

@@ -0,0 +1,29 @@
+package com.dayou.dto.calculate.equipment;
+
+import lombok.Data;
+
+@Data
+public class EqptQueryDTO {
+
+    /**
+     * 测算id
+     */
+    private Long calculateId;
+
+    /**
+     * 序号
+     */
+    private Integer sortId;
+
+    /**
+     * 设备名称
+     */
+    private String equipmentName;
+
+    /**
+     * 设备类型
+     */
+    private String equipmentType;
+
+
+}

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

@@ -1,6 +1,7 @@
 package com.dayou.entity;
 
 import com.alibaba.excel.annotation.ExcelProperty;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.dayou.common.BaseEntity;
 
 import java.time.LocalDate;
@@ -118,16 +119,19 @@ public class AssetsCalculateEqptData extends BaseEntity implements Serializable
      * 空单元格占位(对应模板上的设置)
      * 不设置占位的话,导入数据时空单元格不会创建单元格会导致模板样式丢失
      */
+    @TableField(exist = false)
     private Integer placeholder;
 
     /**
      * 权重1
      */
+    @TableField(exist = false)
     private Double weight01 = 40.00;
 
     /**
      * 权重2
      */
+    @TableField(exist = false)
     private Double weight02 = 60.00;
 
 

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

@@ -3,6 +3,7 @@ package com.dayou.vo;
 import lombok.Data;
 
 import java.time.LocalDate;
+import java.util.Date;
 
 @Data
 public class AssetsCalculateVO{
@@ -37,4 +38,9 @@ public class AssetsCalculateVO{
      */
     private String projectTypeName;
 
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
 }

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

@@ -1,4 +1,5 @@
 package com.dayou.service;
+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;
@@ -31,4 +32,19 @@ public interface AssetsCalculateEqptDataService extends IService<AssetsCalculate
      */
     List<AssetsCalculateEqptData> getAllByAssetsCalculateId(Long calculateId, String equipmentType);
 
+    /**
+     * 分页查询导入的机器设备测算数据
+     * @param page 分页
+     * @param dto 查询dto
+     * @return Page<AssetsCalculateEqptData>
+     */
+    Page<AssetsCalculateEqptData> getDataPage(Page page, EqptQueryDTO dto);
+
+    /**
+     * 根据测算表id删除
+     * @param calculateId 测算表id
+     * @return Boolean
+     */
+    Boolean deleteDataByCalculateId(Long calculateId);
+
 }

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

@@ -1,5 +1,6 @@
 package com.dayou.service.impl;
 
+import com.dayou.dto.calculate.equipment.EqptQueryDTO;
 import com.dayou.entity.AssetsCalculateEqptData;
 import com.dayou.mapper.AssetsCalculateEqptDataMapper;
 import com.dayou.service.AssetsCalculateEqptDataService;
@@ -45,4 +46,25 @@ public class AssetsCalculateEqptDataServiceImpl extends ServiceImpl<AssetsCalcul
     public List<AssetsCalculateEqptData> getAllByAssetsCalculateId(Long calculateId, String equipmentType) {
         return dataMapper.getAllByAssetsCalculateId(calculateId, equipmentType);
     }
+
+    /**
+     * 分页查询导入的机器设备测算数据
+     * @param page 分页
+     * @param dto 查询dto
+     * @return Page<AssetsCalculateEqptData>
+     */
+    @Override
+    public Page<AssetsCalculateEqptData> getDataPage(Page page, EqptQueryDTO dto) {
+        return dataMapper.getDataPage(page, dto);
+    }
+
+    /**
+     * 根据测算表id删除
+     * @param calculateId 测算表id
+     * @return Boolean
+     */
+    @Override
+    public Boolean deleteDataByCalculateId(Long calculateId) {
+        return dataMapper.deleteDataByCalculateId(calculateId);
+    }
 }

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

@@ -119,6 +119,8 @@ public class AssetsCalculateServiceImpl extends ServiceImpl<AssetsCalculateMappe
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void importEqptExcelData(MultipartFile multipartFile, Long calculateId) throws IOException {
+        // 删除已上传的数据
+        assetsCalculateEqptDataService.deleteDataByCalculateId(calculateId);
         // 读取excel内容并批量保存到数据库
         InputStream inputStream = multipartFile.getInputStream();
         EasyExcel.read(inputStream, AssetsCalculateEqptData.class, new PageReadListener<AssetsCalculateEqptData>(dataList -> {
@@ -127,8 +129,6 @@ public class AssetsCalculateServiceImpl extends ServiceImpl<AssetsCalculateMappe
             // 批量保存
             assetsCalculateEqptDataService.saveBatch(dataList);
         }, 1000)).sheet().doRead();
-        // 更新测算表进度
-        assetsCalculateMapper.updateCalculateProgress(calculateId,"GENERATE");
     }
 
     /**