소스 검색

1.机器设备作价新增筛选条件型号、购置日期、启用日期

GouGengquan 7 달 전
부모
커밋
3872f6f42b

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

@@ -124,7 +124,7 @@ public interface AssetsCalculateEqptDataMapper extends BaseMapper<AssetsCalculat
      * @param equipmentName 设备名称
      * @return EqptTableFilterVO
      */
-    List<String> getEqptTableNameFilter(@Param("calculateId") Long calculateId,@Param("equipmentName") String equipmentName);
+    List<String> getEqptTableNameFilters(@Param("calculateId") Long calculateId,@Param("equipmentName") String equipmentName, @Param("eqptType") String eqptType);
 
     /**
      * 获取机器设备作价table型号的筛选条件
@@ -132,7 +132,7 @@ public interface AssetsCalculateEqptDataMapper extends BaseMapper<AssetsCalculat
      * @param model 设备型号
      * @return EqptTableFilterVO
      */
-    List<String> getEqptTableModelFilter(@Param("calculateId") Long calculateId,@Param("model") String model);
+    List<String> getEqptTableModelFilters(@Param("calculateId") Long calculateId,@Param("model") String model, @Param("eqptType") String eqptType);
 
     /**
      * 获取机器设备作价table购买日期的筛选条件
@@ -140,7 +140,7 @@ public interface AssetsCalculateEqptDataMapper extends BaseMapper<AssetsCalculat
      * @param purchaseDate 购买日期
      * @return EqptTableFilterVO
      */
-    List<String> getEqptTablePurchaseDateFilter(@Param("calculateId") Long calculateId,@Param("purchaseDate") String purchaseDate);
+    List<String> getEqptTablePurchaseDateFilters(@Param("calculateId") Long calculateId,@Param("purchaseDate") String purchaseDate, @Param("eqptType") String eqptType);
 
     /**
      * 获取机器设备作价table启用日期的筛选条件
@@ -148,6 +148,6 @@ public interface AssetsCalculateEqptDataMapper extends BaseMapper<AssetsCalculat
      * @param activationDate 启用日期
      * @return EqptTableFilterVO
      */
-    List<String> getEqptTableActivationDateFilter(@Param("calculateId") Long calculateId,@Param("activationDate") String activationDate);
+    List<String> getEqptTableActivationDateFilters(@Param("calculateId") Long calculateId,@Param("activationDate") String activationDate, @Param("eqptType") String eqptType);
 
 }

+ 89 - 11
dao/src/main/resources/mapper/AssetsCalculateEqptDataMapper.xml

@@ -77,9 +77,27 @@
         <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">
+        <if test="dto != null and dto.eqptNameFilters.size() > 0">
             AND equipment_name IN
-            <foreach item="item" collection="dto.eqptNameFilter" open="(" separator="," close=")">
+            <foreach item="item" collection="dto.eqptNameFilters" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+        <if test="dto != null and dto.modelFilters.size() > 0">
+            AND model IN
+            <foreach item="item" collection="dto.modelFilters" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+        <if test="dto != null and dto.purchaseDateFilters.size() > 0">
+            AND purchase_date IN
+            <foreach item="item" collection="dto.purchaseDateFilters" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+        <if test="dto != null and dto.activationDateFilters.size() > 0">
+            AND activation_date IN
+            <foreach item="item" collection="dto.activationDateFilters" open="(" separator="," close=")">
                 #{item}
             </foreach>
         </if>
@@ -133,6 +151,30 @@
         <if test="dto != null and dto.equipmentName">
             AND equipment_name LIKE CONCAT('%', #{dto.equipmentName}, '%')
         </if>
+        <if test="dto != null and dto.eqptNameFilters.size() > 0">
+            AND equipment_name IN
+            <foreach item="item" collection="dto.eqptNameFilters" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+        <if test="dto != null and dto.modelFilters.size() > 0">
+            AND model IN
+            <foreach item="item" collection="dto.modelFilters" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+        <if test="dto != null and dto.purchaseDateFilters.size() > 0">
+            AND purchase_date IN
+            <foreach item="item" collection="dto.purchaseDateFilters" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+        <if test="dto != null and dto.activationDateFilters.size() > 0">
+            AND activation_date IN
+            <foreach item="item" collection="dto.activationDateFilters" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
         ORDER BY data.sort_id
     </select>
 
@@ -244,6 +286,30 @@
         <if test="dto != null and dto.equipmentName">
             AND equipment_name LIKE CONCAT('%', #{dto.equipmentName}, '%')
         </if>
+        <if test="dto != null and dto.eqptNameFilters.size() > 0">
+            AND equipment_name IN
+            <foreach item="item" collection="dto.eqptNameFilters" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+        <if test="dto != null and dto.modelFilters.size() > 0">
+            AND model IN
+            <foreach item="item" collection="dto.modelFilters" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+        <if test="dto != null and dto.purchaseDateFilters.size() > 0">
+            AND purchase_date IN
+            <foreach item="item" collection="dto.purchaseDateFilters" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+        <if test="dto != null and dto.activationDateFilters.size() > 0">
+            AND activation_date IN
+            <foreach item="item" collection="dto.activationDateFilters" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
         ORDER BY data.sort_id
     </select>
 
@@ -307,46 +373,58 @@
     </insert>
 
     <!--获取机器设备作价table设备名称的筛选条件-->
-    <select id="getEqptTableNameFilter" resultType="java.lang.String">
+    <select id="getEqptTableNameFilters" 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="eqptType != null and eqptType != ''">
+            AND equipment_type = #{eqptType}
+        </if>
         <if test="equipmentName != null and equipmentName != ''">
             AND equipment_name LIKE CONCAT('%', #{equipmentName}, '%')
         </if>
     </select>
 
     <!--获取机器设备作价table型号的筛选条件-->
-    <select id="getEqptTableModelFilter" resultType="java.lang.String">
+    <select id="getEqptTableModelFilters" 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="eqptType != null and eqptType != ''">
+            AND equipment_type = #{eqptType}
+        </if>
         <if test="model != null and model != ''">
-            AND equipment_name LIKE CONCAT('%', #{model}, '%')
+            AND model LIKE CONCAT('%', #{model}, '%')
         </if>
     </select>
 
     <!--获取机器设备作价table购买日期的筛选条件-->
-    <select id="getEqptTablePurchaseDateFilter" resultType="java.lang.String">
-        SELECT DISTINCT model AS purchaseDateFilters
+    <select id="getEqptTablePurchaseDateFilters" resultType="java.lang.String">
+        SELECT DISTINCT purchase_date AS purchaseDateFilters
         FROM assets_calculate_eqpt_data
         WHERE delete_status = 0
           AND assets_calculate_id = #{calculateId}
+        <if test="eqptType != null and eqptType != ''">
+            AND equipment_type = #{eqptType}
+        </if>
         <if test="purchaseDate != null and purchaseDate != ''">
-            AND equipment_name = #{purchaseDate}
+            AND purchase_date = #{purchaseDate}
         </if>
     </select>
 
     <!--获取机器设备作价table启用日期的筛选条件-->
-    <select id="getEqptTableActivationDateFilter" resultType="java.lang.String">
-        SELECT DISTINCT model AS activationDateFilters
+    <select id="getEqptTableActivationDateFilters" resultType="java.lang.String">
+        SELECT DISTINCT activation_date AS activationDateFilters
         FROM assets_calculate_eqpt_data
         WHERE delete_status = 0
           AND assets_calculate_id = #{calculateId}
+        <if test="eqptType != null and eqptType != ''">
+            AND equipment_type = #{eqptType}
+        </if>
         <if test="activationDate != null and activationDate != ''">
-            AND equipment_name = #{activationDate}
+            AND activation_date = #{activationDate}
         </if>
     </select>
 

+ 16 - 1
domain/src/main/java/com/dayou/dto/calculate/equipment/EqptQueryDTO.java

@@ -30,7 +30,22 @@ public class EqptQueryDTO {
     /**
      * 设备名称过滤条件
      */
-    private List<String> eqptNameFilter;
+    private List<String> eqptNameFilters;
+
+    /**
+     * 机器设备型号筛选条件
+     */
+    private List<String> modelFilters;
+
+    /**
+     * 机器设备购买日期筛选条件
+     */
+    private List<String> purchaseDateFilters;
+
+    /**
+     * 机器设备启用日期筛选条件
+     */
+    private List<String> activationDateFilters;
 
 
 }

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

@@ -35,4 +35,9 @@ public class EqptTableFilterQueryDTO {
      */
     private String queryType;
 
+    /**
+     * 设备类型(国产设备、进口设备、非标设备)
+     */
+    private String eqptType;
+
 }

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

@@ -172,16 +172,16 @@ public class AssetsCalculateEqptDataServiceImpl extends ServiceImpl<AssetsCalcul
     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()));
+            eqptTableFilterVO.setEquipmentNameFilters(dataMapper.getEqptTableNameFilters(eqptTableFilterQueryDTO.getCalculateId(), eqptTableFilterQueryDTO.getEquipmentName(), eqptTableFilterQueryDTO.getEqptType()));
         }
         if (eqptTableFilterQueryDTO.getQueryType().equals("all") || eqptTableFilterQueryDTO.getQueryType().equals("model")) {
-            eqptTableFilterVO.setModelFilters(dataMapper.getEqptTableModelFilter(eqptTableFilterQueryDTO.getCalculateId(), eqptTableFilterQueryDTO.getModel()));
+            eqptTableFilterVO.setModelFilters(dataMapper.getEqptTableModelFilters(eqptTableFilterQueryDTO.getCalculateId(), eqptTableFilterQueryDTO.getModel(), eqptTableFilterQueryDTO.getEqptType()));
         }
         if (eqptTableFilterQueryDTO.getQueryType().equals("all") || eqptTableFilterQueryDTO.getQueryType().equals("purchaseDate")) {
-            eqptTableFilterVO.setPurchaseDateFilters(dataMapper.getEqptTablePurchaseDateFilter(eqptTableFilterQueryDTO.getCalculateId(), eqptTableFilterQueryDTO.getPurchaseDate()));
+            eqptTableFilterVO.setPurchaseDateFilters(dataMapper.getEqptTablePurchaseDateFilters(eqptTableFilterQueryDTO.getCalculateId(), eqptTableFilterQueryDTO.getPurchaseDate(), eqptTableFilterQueryDTO.getEqptType()));
         }
         if (eqptTableFilterQueryDTO.getQueryType().equals("all") || eqptTableFilterQueryDTO.getQueryType().equals("activationDate")) {
-            eqptTableFilterVO.setActivationDateFilters(dataMapper.getEqptTableActivationDateFilter(eqptTableFilterQueryDTO.getCalculateId(), eqptTableFilterQueryDTO.getActivationDate()));
+            eqptTableFilterVO.setActivationDateFilters(dataMapper.getEqptTableActivationDateFilters(eqptTableFilterQueryDTO.getCalculateId(), eqptTableFilterQueryDTO.getActivationDate(), eqptTableFilterQueryDTO.getEqptType()));
         }
         return eqptTableFilterVO;
     }

+ 8 - 0
sql/update_sql.sql

@@ -627,3 +627,11 @@ ALTER TABLE house_target_entity ADD COLUMN south_way varchar(255) NULL COMMENT '
 ALTER TABLE house_target_entity ADD COLUMN north_way varchar(255) NULL COMMENT '北至';
 ALTER TABLE house_guaranty_target ADD COLUMN land_use_type varchar(32) NULL COMMENT '土地使用权类型';
 
+/**
+  日期:2024-12-17
+  修改人:苟耕铨
+  未更新到test-env
+ */
+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 '启用日期';
+