Ver código fonte

1.新增查询机器设备作价表格过滤条件接口
2.分页查询机器设备信息新增设备名IN过滤

GouGengquan 7 meses atrás
pai
commit
8426c3884c

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

@@ -3,6 +3,7 @@ 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.dto.calculate.equipment.EqptTableFilterQueryDTO;
 import com.dayou.entity.AssetsCalculate;
 import com.dayou.entity.AssetsCalculateEqptData;
 import com.dayou.entity.AssetsCalculateEqptImpData;
@@ -11,6 +12,7 @@ import com.dayou.result.Result;
 import com.dayou.service.AssetsCalculateEqptDataService;
 import com.dayou.vo.AssetsCalculateEqptImpDataVO;
 import com.dayou.vo.AssetsCalculateEqptNonsDataVO;
+import com.dayou.vo.EqptTableFilterVO;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -104,4 +106,14 @@ public class AssetsCalculateEqptDataController {
         return Result.build(dataService.updateNonSData(assetsCalculateEqptNonsData));
     }
 
+    /**
+     * 获取机器设备作价table的筛选条件
+     * @param eqptTableFilterQueryDTO 查询dto
+     * @return EqptTableFilterVO
+     */
+    @GetMapping("/getEqptTableFilterVO")
+    public Result<EqptTableFilterVO> getEqptTableFilterVO(EqptTableFilterQueryDTO eqptTableFilterQueryDTO) {
+        return Result.build(dataService.getEqptTableFilterVO(eqptTableFilterQueryDTO));
+    }
+
 }

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

@@ -118,4 +118,36 @@ public interface AssetsCalculateEqptDataMapper extends BaseMapper<AssetsCalculat
      */
     Boolean addNonSData(@Param("data") AssetsCalculateEqptNonsData data);
 
+    /**
+     * 获取机器设备作价table设备名称的筛选条件
+     * @param calculateId 测算表id
+     * @param equipmentName 设备名称
+     * @return EqptTableFilterVO
+     */
+    List<String> getEqptTableNameFilter(@Param("calculateId") Long calculateId,@Param("equipmentName") String equipmentName);
+
+    /**
+     * 获取机器设备作价table型号的筛选条件
+     * @param calculateId 测算表id
+     * @param model 设备型号
+     * @return EqptTableFilterVO
+     */
+    List<String> getEqptTableModelFilter(@Param("calculateId") Long calculateId,@Param("model") String model);
+
+    /**
+     * 获取机器设备作价table购买日期的筛选条件
+     * @param calculateId 测算表id
+     * @param purchaseDate 购买日期
+     * @return EqptTableFilterVO
+     */
+    List<String> getEqptTablePurchaseDateFilter(@Param("calculateId") Long calculateId,@Param("purchaseDate") String purchaseDate);
+
+    /**
+     * 获取机器设备作价table启用日期的筛选条件
+     * @param calculateId 测算表id
+     * @param activationDate 启用日期
+     * @return EqptTableFilterVO
+     */
+    List<String> getEqptTableActivationDateFilter(@Param("calculateId") Long calculateId,@Param("activationDate") String activationDate);
+
 }

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

@@ -71,12 +71,18 @@
         <if test="dto != null and dto.sortId != null">
             AND sort_id = #{dto.sortId}
         </if>
-        <if test="dto != null and dto.equipmentType">
+        <if test="dto != null and dto.equipmentType != null">
             AND equipment_type = #{dto.equipmentType}
         </if>
-        <if test="dto != null and dto.equipmentName">
+        <if test="dto != null and dto.equipmentName != null">
             AND equipment_name LIKE CONCAT('%', #{dto.equipmentName}, '%')
         </if>
+        <if test="dto != null and dto.eqptNameFilter.size() > 0">
+            AND equipment_name IN
+            <foreach item="item" collection="dto.eqptNameFilter" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
         ORDER BY sort_id
     </select>
 
@@ -300,4 +306,48 @@
                #{data.costProfitRatio}, #{data.salesTaxRate}, #{data.designFeeRate}, #{data.VATRate}, #{data.nonsEqptValue})
     </insert>
 
+    <!--获取机器设备作价table设备名称的筛选条件-->
+    <select id="getEqptTableNameFilter" resultType="java.lang.String">
+        SELECT DISTINCT equipment_name AS equipmentNameFilters
+        FROM assets_calculate_eqpt_data
+        WHERE delete_status = 0
+        AND assets_calculate_id = #{calculateId}
+        <if test="equipmentName != null and equipmentName != ''">
+            AND equipment_name LIKE CONCAT('%', #{equipmentName}, '%')
+        </if>
+    </select>
+
+    <!--获取机器设备作价table型号的筛选条件-->
+    <select id="getEqptTableModelFilter" resultType="java.lang.String">
+        SELECT DISTINCT model AS modelFilters
+        FROM assets_calculate_eqpt_data
+        WHERE delete_status = 0
+          AND assets_calculate_id = #{calculateId}
+        <if test="model != null and model != ''">
+            AND equipment_name LIKE CONCAT('%', #{model}, '%')
+        </if>
+    </select>
+
+    <!--获取机器设备作价table购买日期的筛选条件-->
+    <select id="getEqptTablePurchaseDateFilter" resultType="java.lang.String">
+        SELECT DISTINCT model AS purchaseDateFilters
+        FROM assets_calculate_eqpt_data
+        WHERE delete_status = 0
+          AND assets_calculate_id = #{calculateId}
+        <if test="purchaseDate != null and purchaseDate != ''">
+            AND equipment_name = #{purchaseDate}
+        </if>
+    </select>
+
+    <!--获取机器设备作价table启用日期的筛选条件-->
+    <select id="getEqptTableActivationDateFilter" resultType="java.lang.String">
+        SELECT DISTINCT model AS activationDateFilters
+        FROM assets_calculate_eqpt_data
+        WHERE delete_status = 0
+          AND assets_calculate_id = #{calculateId}
+        <if test="activationDate != null and activationDate != ''">
+            AND equipment_name = #{activationDate}
+        </if>
+    </select>
+
 </mapper>

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

@@ -2,6 +2,8 @@ package com.dayou.dto.calculate.equipment;
 
 import lombok.Data;
 
+import java.util.List;
+
 @Data
 public class EqptQueryDTO {
 
@@ -25,5 +27,10 @@ public class EqptQueryDTO {
      */
     private String equipmentType;
 
+    /**
+     * 设备名称过滤条件
+     */
+    private List<String> eqptNameFilter;
+
 
 }

+ 38 - 0
domain/src/main/java/com/dayou/dto/calculate/equipment/EqptTableFilterQueryDTO.java

@@ -0,0 +1,38 @@
+package com.dayou.dto.calculate.equipment;
+
+import lombok.Data;
+
+@Data
+public class EqptTableFilterQueryDTO {
+
+    /**
+     * 测算表id
+     */
+    private Long calculateId;
+
+    /**
+     * 设备名
+     */
+    private String equipmentName;
+
+    /**
+     * 型号
+     */
+    private String model;
+
+    /**
+     * 购买日期
+     */
+    private String purchaseDate;
+
+    /**
+     * 启用日期
+     */
+    private String activationDate;
+
+    /**
+     * 查询类型(all、equipmentName、model、purchaseDate、activationDate)
+     */
+    private String queryType;
+
+}

+ 33 - 0
domain/src/main/java/com/dayou/vo/EqptTableFilterVO.java

@@ -0,0 +1,33 @@
+package com.dayou.vo;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 机器设备作价页面列筛选条件
+ */
+@Data
+public class EqptTableFilterVO {
+
+    /**
+     * 机器设备名称筛选条件
+     */
+    private List<String> equipmentNameFilters;
+
+    /**
+     * 机器设备型号筛选条件
+     */
+    private List<String> modelFilters;
+
+    /**
+     * 机器设备购买日期筛选条件
+     */
+    private List<String> purchaseDateFilters;
+
+    /**
+     * 机器设备启用日期筛选条件
+     */
+    private List<String> activationDateFilters;
+
+}

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

@@ -1,5 +1,6 @@
 package com.dayou.service;
 import com.dayou.dto.calculate.equipment.EqptQueryDTO;
+import com.dayou.dto.calculate.equipment.EqptTableFilterQueryDTO;
 import com.dayou.entity.AssetsCalculateEqptData;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -7,6 +8,7 @@ import com.dayou.entity.AssetsCalculateEqptImpData;
 import com.dayou.entity.AssetsCalculateEqptNonsData;
 import com.dayou.vo.AssetsCalculateEqptImpDataVO;
 import com.dayou.vo.AssetsCalculateEqptNonsDataVO;
+import com.dayou.vo.EqptTableFilterVO;
 
 import java.util.List;
 
@@ -101,4 +103,11 @@ public interface AssetsCalculateEqptDataService extends IService<AssetsCalculate
      */
     Boolean updateNonSData(AssetsCalculateEqptNonsData assetsCalculateEqptNonsData);
 
+    /**
+     * 获取机器设备作价table的筛选条件
+     * @param eqptTableFilterQueryDTO 查询dto
+     * @return EqptTableFilterVO
+     */
+    EqptTableFilterVO getEqptTableFilterVO(EqptTableFilterQueryDTO eqptTableFilterQueryDTO);
+
 }

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

@@ -2,6 +2,7 @@ package com.dayou.service.impl;
 
 import cn.hutool.core.util.ObjectUtil;
 import com.dayou.dto.calculate.equipment.EqptQueryDTO;
+import com.dayou.dto.calculate.equipment.EqptTableFilterQueryDTO;
 import com.dayou.entity.AssetsCalculateEqptData;
 import com.dayou.entity.AssetsCalculateEqptImpData;
 import com.dayou.entity.AssetsCalculateEqptNonsData;
@@ -10,6 +11,7 @@ import com.dayou.service.AssetsCalculateEqptDataService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.dayou.vo.AssetsCalculateEqptImpDataVO;
 import com.dayou.vo.AssetsCalculateEqptNonsDataVO;
+import com.dayou.vo.EqptTableFilterVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -160,4 +162,27 @@ public class AssetsCalculateEqptDataServiceImpl extends ServiceImpl<AssetsCalcul
             return dataMapper.addNonSData(assetsCalculateEqptNonsData);
         }
     }
+
+    /**
+     * 获取机器设备作价table的筛选条件
+     * @param eqptTableFilterQueryDTO 查询dto
+     * @return EqptTableFilterVO
+     */
+    @Override
+    public EqptTableFilterVO getEqptTableFilterVO(EqptTableFilterQueryDTO eqptTableFilterQueryDTO) {
+        EqptTableFilterVO eqptTableFilterVO = new EqptTableFilterVO();
+        if (eqptTableFilterQueryDTO.getQueryType().equals("all") || eqptTableFilterQueryDTO.getQueryType().equals("equipmentName")) {
+            eqptTableFilterVO.setEquipmentNameFilters(dataMapper.getEqptTableNameFilter(eqptTableFilterQueryDTO.getCalculateId(), eqptTableFilterQueryDTO.getEquipmentName()));
+        }
+        if (eqptTableFilterQueryDTO.getQueryType().equals("all") || eqptTableFilterQueryDTO.getQueryType().equals("model")) {
+            eqptTableFilterVO.setModelFilters(dataMapper.getEqptTableModelFilter(eqptTableFilterQueryDTO.getCalculateId(), eqptTableFilterQueryDTO.getModel()));
+        }
+        if (eqptTableFilterQueryDTO.getQueryType().equals("all") || eqptTableFilterQueryDTO.getQueryType().equals("purchaseDate")) {
+            eqptTableFilterVO.setPurchaseDateFilters(dataMapper.getEqptTablePurchaseDateFilter(eqptTableFilterQueryDTO.getCalculateId(), eqptTableFilterQueryDTO.getPurchaseDate()));
+        }
+        if (eqptTableFilterQueryDTO.getQueryType().equals("all") || eqptTableFilterQueryDTO.getQueryType().equals("activationDate")) {
+            eqptTableFilterVO.setActivationDateFilters(dataMapper.getEqptTableActivationDateFilter(eqptTableFilterQueryDTO.getCalculateId(), eqptTableFilterQueryDTO.getActivationDate()));
+        }
+        return eqptTableFilterVO;
+    }
 }