Forráskód Böngészése

1.资产-我的订单新增产品类型查询,并返回订单产品类型信息

GouGengquan 1 hónapja
szülő
commit
883e42c677

+ 18 - 2
dao/src/main/resources/mapper/AssetsMapper.xml

@@ -224,8 +224,8 @@
         assets_business_gener,
         allot_type,
         # 2025年1月1日之前下的订单都是老OA系统订单,查询方式不一样
-        (SELECT production_no FROM assets_production WHERE IF(assets.created < '2025-01-01', assets_production.business_id = assets.id AND assets_production.production_type = 'STATEMENT',assets_production.production_no = nodeInfo.business_sub_id)) AS statementNo,
-        (SELECT production_type FROM assets_production WHERE assets_production.production_no = nodeInfo.business_sub_id) AS productionType,
+        statementInfo.production_no AS statementNo,
+        statementInfo.production_type AS productionType,
         reportInfo.production_no AS reportNo,
         reportInfo.repertory_state AS reportRepertoryState,
         reportInfo.delivery AS reportDelivery,
@@ -289,6 +289,7 @@
         AND nodeInstance.business_type = 'ASSET_BUSINESS'
         ) AS nodeInfo ON nodeInfo.businessId = assets.id
         # 2025年1月1日之前下的订单都是老OA系统订单,查询方式不一样
+        LEFT JOIN (SELECT id, business_id, production_no,repertory_state,production_type,delivery,assets_name FROM assets_production) AS statementInfo ON IF(assets.created < '2025-01-01', statementInfo.business_id = assets.id AND statementInfo.production_type = 'STATEMENT',statementInfo.production_no = nodeInfo.business_sub_id)
         LEFT JOIN(SELECT id, business_id, production_no,repertory_state,production_type,delivery,assets_name FROM assets_production) AS reportInfo ON IF(assets.created < '2025-01-01', reportInfo.business_id = assets.id AND reportInfo.production_type != 'STATEMENT',reportInfo.production_no = nodeInfo.business_min_id)
         LEFT JOIN production_fund AS pFund ON pFund.order_fund_id = fund.id AND pFund.production_no = reportInfo.production_no
         WHERE assets.deleted = 0
@@ -317,6 +318,21 @@
         <if test="assetsSelectDTO != null and assetsSelectDTO.departmentId != null ">
             AND assets.department_id = #{assetsSelectDTO.departmentId}
         </if>
+        <if test="assetsSelectDTO != null and assetsSelectDTO.productionType != null ">
+            <if test="assetsSelectDTO.productionType != 'STATEMENT' and assetsSelectDTO.productionType != 'ORDER'">
+                # 筛选产品为报告的项目
+                AND reportInfo.production_type = #{assetsSelectDTO.productionType}
+            </if>
+            <if test="assetsSelectDTO.productionType == 'STATEMENT' ">
+                # 筛选产品为意见书的项目
+                AND statementInfo.production_type = #{assetsSelectDTO.productionType}
+            </if>
+            <if test="assetsSelectDTO.productionType == 'ORDER' ">
+                # 筛选没出产品的项目
+                AND statementInfo.production_type IS NULL
+                AND reportInfo.production_type IS NULL
+            </if>
+        </if>
         ORDER BY assets.created DESC
     </sql>
 

+ 5 - 0
domain/src/main/java/com/dayou/dto/AssetsSelectDTO.java

@@ -129,4 +129,9 @@ public class AssetsSelectDTO {
      * 部门id
      */
     private List<Long> departmentIdList;
+
+    /**
+     * 产品类型(STATEMENT、REPORT、CONSULT、LETTER、ORDER)
+     */
+    private String productionType;
 }