Prechádzať zdrojové kódy

1.新增资产业务列表条件查询接口

GouGengquan 1 rok pred
rodič
commit
c17c7df4ee

+ 10 - 6
biz-base/src/main/java/com/dayou/controller/AssetsController.java

@@ -1,6 +1,8 @@
 package com.dayou.controller;
 
+import com.dayou.dto.AssetsSelectDTO;
 import com.dayou.dto.WorkNodeCommit;
+import com.dayou.vo.AssetsVO;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -36,12 +38,14 @@ public class AssetsController extends BaseController {
     private IAssetsService assetsService;
 
     /**
-    * 资产业务订单表列表
-    */
-    @GetMapping("")
-    public RestResponse<Page<Assets>> page(Assets assets, Page page){
-        Page<Assets> pages=assetsService.selectPage(page,assets);
-        return RestResponse.data(pages);
+     * 条件查询资产任务列表
+     * @param page 分页条件
+     * @param assetsSelectDTO 查询条件
+     * @return RestResponse<Page<AssetsVO>>
+     */
+    @GetMapping("/selectPage")
+    public RestResponse<Page<AssetsVO>> selectPage(AssetsSelectDTO assetsSelectDTO, Page page){
+        return RestResponse.data(assetsService.selectPage(page,assetsSelectDTO));
     }
 
     /**

+ 11 - 0
dao/src/main/java/com/dayou/mapper/AssetsMapper.java

@@ -1,7 +1,11 @@
 package com.dayou.mapper;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.dayou.dto.AssetsSelectDTO;
 import com.dayou.entity.Assets;
 import com.dayou.dao.CustomBaseMapper;
+import com.dayou.vo.AssetsVO;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -13,4 +17,11 @@ import com.dayou.dao.CustomBaseMapper;
  */
 public interface AssetsMapper extends CustomBaseMapper<Assets> {
 
+    /**
+     * 条件查询资产任务列表
+     * @param page 分页条件
+     * @param assetsSelectDTO 查询条件
+     * @return Page<AssetsVO>
+     */
+    Page<AssetsVO> selectPage(@Param("page") Page page, @Param("assetsSelectDTO") AssetsSelectDTO assetsSelectDTO);
 }

+ 105 - 31
dao/src/main/resources/mapper/AssetsMapper.xml

@@ -4,37 +4,37 @@
 
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="com.dayou.entity.Assets">
-        <result column="id" property="id" />
-        <result column="deleted" property="deleted" />
-        <result column="created" property="created" />
-        <result column="modified" property="modified" />
-        <result column="name" property="name" />
-        <result column="order_id" property="orderId" />
-        <result column="financial" property="financial" />
-        <result column="allot_type" property="allotType" />
-        <result column="client_manager_id" property="clientManagerId" />
-        <result column="principal_id" property="principalId" />
-        <result column="department_id" property="departmentId" />
-        <result column="assets_business_gener" property="assetsBusinessGener" />
-        <result column="entrust_again" property="entrustAgain" />
-        <result column="clientele_type" property="clienteleType" />
-        <result column="clientele_id" property="clienteleId" />
-        <result column="clientele_sub_id" property="clienteleSubId" />
-        <result column="clientele_contact_id" property="clienteleContactId" />
-        <result column="security" property="security" />
-        <result column="significant_assets_reorganization" property="significantAssetsReorganization" />
-        <result column="state_assets" property="stateAssets" />
-        <result column="foreign_assets_involved" property="foreignAssetsInvolved" />
-        <result column="dispense_benefit" property="dispenseBenefit" />
-        <result column="bailor" property="bailor" />
-        <result column="bailor_address" property="bailorAddress" />
-        <result column="bailor_contact_name" property="bailorContactName" />
-        <result column="bailor_contact_tel" property="bailorContactTel" />
-        <result column="terminal_clientele_id" property="terminalClienteleId" />
-        <result column="terminal_clientele_type" property="terminalClienteleType" />
-        <result column="terminal_clientele_contact_id" property="terminalClienteleContactId" />
-        <result column="members" property="members" />
-        <result column="remark" property="remark" />
+        <result column="id" property="id"/>
+        <result column="deleted" property="deleted"/>
+        <result column="created" property="created"/>
+        <result column="modified" property="modified"/>
+        <result column="name" property="name"/>
+        <result column="order_id" property="orderId"/>
+        <result column="financial" property="financial"/>
+        <result column="allot_type" property="allotType"/>
+        <result column="client_manager_id" property="clientManagerId"/>
+        <result column="principal_id" property="principalId"/>
+        <result column="department_id" property="departmentId"/>
+        <result column="assets_business_gener" property="assetsBusinessGener"/>
+        <result column="entrust_again" property="entrustAgain"/>
+        <result column="clientele_type" property="clienteleType"/>
+        <result column="clientele_id" property="clienteleId"/>
+        <result column="clientele_sub_id" property="clienteleSubId"/>
+        <result column="clientele_contact_id" property="clienteleContactId"/>
+        <result column="security" property="security"/>
+        <result column="significant_assets_reorganization" property="significantAssetsReorganization"/>
+        <result column="state_assets" property="stateAssets"/>
+        <result column="foreign_assets_involved" property="foreignAssetsInvolved"/>
+        <result column="dispense_benefit" property="dispenseBenefit"/>
+        <result column="bailor" property="bailor"/>
+        <result column="bailor_address" property="bailorAddress"/>
+        <result column="bailor_contact_name" property="bailorContactName"/>
+        <result column="bailor_contact_tel" property="bailorContactTel"/>
+        <result column="terminal_clientele_id" property="terminalClienteleId"/>
+        <result column="terminal_clientele_type" property="terminalClienteleType"/>
+        <result column="terminal_clientele_contact_id" property="terminalClienteleContactId"/>
+        <result column="members" property="members"/>
+        <result column="remark" property="remark"/>
     </resultMap>
 
     <!-- 通用查询结果列 -->
@@ -46,4 +46,78 @@
         name, order_id, financial, allot_type, client_manager_id, principal_id, department_id, assets_business_gener, entrust_again, clientele_type, clientele_id, clientele_sub_id, clientele_contact_id, security, significant_assets_reorganization, state_assets, foreign_assets_involved, dispense_benefit, bailor, bailor_address, bailor_contact_name, bailor_contact_tel, terminal_clientele_id, terminal_clientele_type, terminal_clientele_contact_id, members, remark
     </sql>
 
+    <!--条件查询资产任务列表-->
+    <select id="selectPage" resultType="com.dayou.vo.AssetsVO">
+        SELECT assets.id,
+        assets.name,
+        order_id,
+        allot_type,
+        production_no,
+        production_type,
+        clientele_id,
+        customer.name AS customerName,
+        bailor,
+        bailor_contact_tel,
+        assets.created,
+        #查询客户经理
+        (SELECT name FROM user WHERE id = assets.client_manager_id) AS clientManagerName,
+        #查询项目负责人
+        (SELECT name FROM user WHERE id = assets.principal_id) AS principalName,
+        #查询业务来源(即子级客户)
+        (SELECT customer_company.name
+        FROM customer_company
+        WHERE customer_company.parent_id = clientele_id) AS customerSubName
+        FROM assets,
+        assets_production AS production,
+        user,
+        customer_company AS customer,
+        #查询当前进行的节点信息
+        (SELECT nodeInstance.id AS currentNodeId,
+        user.name AS handlerName,
+        node.name AS currentNodeName,
+        node.code AS currentNodeCode,
+        nodeInstance.business_id AS businessId
+        FROM work_flow_node_instance AS nodeInstance,
+        work_task_record AS record,
+        user,
+        work_node AS node
+        WHERE state = 'PENDING'
+        AND nodeInstance.node_id = node.id
+        AND record.handler_id = user.id
+        AND nodeInstance.deleted = 0
+        AND record.instance_id = nodeInstance.id
+        # 根据处理节点查询(节点code)
+        <if test="assetsSelectDTO != null and assetsSelectDTO.nodeCode != null and assetsSelectDTO.nodeCode != '' ">
+            AND node.`code` = #{assetsSelectDTO.nodeCode}
+        </if>
+        ) AS nodeInfo
+        WHERE assets.deleted = 0
+        AND nodeInfo.businessId = assets.id
+        AND production.business_id = assets.id
+        AND user.id = assets.principal_id
+        AND customer.id = assets.clientele_id
+        #评估业务类别(业务类型)查询
+        <if test="assetsSelectDTO != null and assetsSelectDTO.assetsBusinessGener != null and assetsSelectDTO.assetsBusinessGener != '' ">
+            AND assets.assets_business_gener = #{assetsSelectDTO.assetsBusinessGener}
+        </if>
+        #项目负责人查询
+        <if test="assetsSelectDTO != null and assetsSelectDTO.principalId != null">
+            AND assets.principal_id = #{assetsSelectDTO.principalId}
+        </if>
+        #客户经理查询
+        <if test="assetsSelectDTO != null and assetsSelectDTO.clientManagerId != null">
+            AND assets.client_manager_id = #{assetsSelectDTO.clientManagerId}
+        </if>
+        #关键字模糊查询
+        <if test="assetsSelectDTO != null and assetsSelectDTO.keyWord != null and assetsSelectDTO.keyWord != '' ">
+            AND (
+            assets.order_id LIKE CONCAT('%',#{assetsSelectDTO.keyWord},'%') OR
+            assets.name LIKE CONCAT('%',#{assetsSelectDTO.keyWord},'%') OR
+            production.production_no LIKE CONCAT('%',#{assetsSelectDTO.keyWord},'%') OR
+            customer.name LIKE CONCAT('%',#{assetsSelectDTO.keyWord},'%')
+            )
+        </if>
+        ORDER BY assets.created DESC
+    </select>
+
 </mapper>

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

@@ -0,0 +1,37 @@
+package com.dayou.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class AssetsSelectDTO {
+
+    /**
+     * 业务节点实例code
+     */
+    private String nodeCode;
+
+    /**
+     * 关键字信息
+     */
+    private String keyWord;
+
+    /**
+     * 客户经理id(user_id)
+     */
+    private Long clientManagerId;
+
+    /**
+     * 项目负责人id(user_id)
+     */
+    private Long principalId;
+
+    /**
+     * 资产业务类型
+     */
+    private String assetsBusinessGener;
+
+}

+ 51 - 1
domain/src/main/java/com/dayou/vo/AssetsVO.java

@@ -6,5 +6,55 @@ import lombok.Data;
 @Data
 public class AssetsVO extends Assets {
 
-    
+    /**
+     * 产品号
+     */
+    private String productionNo;
+
+    /**
+     * 产品类型(意见书,报告)
+     */
+    private String productionType;
+
+    /**
+     *  当前实例节点id
+     */
+    private Long currentNodeId;
+    /**
+     * 当前实例节点名称
+     */
+    private String currentNodeName;
+    /**
+     * 当前实例节点编码
+     */
+    private String currentNodeCode;
+    /**
+     * 当前节点处理人id
+     */
+    private Long handlerId;
+    /**
+     * 当前节点处理人
+     */
+    private String handlerName;
+
+    /**
+     * 客户经理名
+     */
+    private String clientManagerName;
+
+    /**
+     * 项目负责人名
+     */
+    private String principalName;
+
+    /**
+     * 客户名称
+     */
+    private String customerName;
+
+    /**
+     * 业务来源(客户子级名称)
+     */
+    private String customerSubName;
+
 }

+ 2 - 2
gen/src/main/java/com/dayou/CodeGenerator.java

@@ -46,7 +46,7 @@ public class CodeGenerator {
         //如果需要额外生成一个备份,则设置输出路径,否则直接设为null,因为下面每个模块已经单独设置了输出目录
         //gc.setOutputDir(projectPath+"/gen");
         gc.setOutputDir(null);
-        gc.setAuthor("wucl");
+        gc.setAuthor("GouGengquan");
         gc.setOpen(false);
         gc.setBaseResultMap(true);
         gc.setBaseColumnList(true);
@@ -56,7 +56,7 @@ public class CodeGenerator {
         // 数据源配置
         DataSourceConfig dsc = new DataSourceConfig();
         dsc.setUrl("jdbc:mysql://localhost:3306/item-management?useUnicode=true&characterEncoding=utf8" +
-                "&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8");
+                "&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8");
         // dsc.setSchemaName("public");
         dsc.setDriverName("com.mysql.jdbc.Driver");
         dsc.setUsername("root");

+ 9 - 1
service/src/main/java/com/dayou/service/IAssetsService.java

@@ -1,9 +1,11 @@
 package com.dayou.service;
+import com.dayou.dto.AssetsSelectDTO;
 import com.dayou.dto.WorkNodeCommit;
 import com.dayou.entity.Assets;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.dayou.vo.AssetsVO;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.web.multipart.MultipartFile;
 /**
@@ -16,7 +18,13 @@ import org.springframework.web.multipart.MultipartFile;
  */
 public interface IAssetsService extends IService<Assets> {
 
-        Page<Assets> selectPage(Page page,Assets assets);
+        /**
+         * 条件查询资产任务列表
+         * @param page 分页条件
+         * @param assetsSelectDTO 查询条件
+         * @return Page<AssetsVO>
+         */
+        Page<AssetsVO> selectPage(Page page, AssetsSelectDTO assetsSelectDTO);
 
         Assets detail(Long id);
 

+ 13 - 3
service/src/main/java/com/dayou/service/impl/AssetsServiceImpl.java

@@ -1,5 +1,6 @@
 package com.dayou.service.impl;
 
+import com.dayou.dto.AssetsSelectDTO;
 import com.dayou.dto.WorkNodeCommit;
 import com.dayou.entity.Assets;
 import com.dayou.enums.MainBusinessEnum;
@@ -8,6 +9,7 @@ import com.dayou.service.IAssetsService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.dayou.service.IBusinessNumberService;
 import com.dayou.service.workflow.IWorkFlowService;
+import com.dayou.vo.AssetsVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -46,10 +48,18 @@ public class AssetsServiceImpl extends ServiceImpl<AssetsMapper, Assets> impleme
     @Autowired
     private IWorkFlowService workFlowService;
 
+    @Autowired
+    private AssetsMapper assetsMapper;
+
+    /**
+     * 条件查询资产任务列表
+     * @param page 分页条件
+     * @param assetsSelectDTO 查询条件
+     * @return Page<AssetsVO>
+     */
     @Override
-    @SuppressWarnings("unchecked")
-    public Page<Assets> selectPage(Page page,Assets assets){
-        return this.page(page, new QueryWrapper<Assets>(assets));
+    public Page<AssetsVO> selectPage(Page page, AssetsSelectDTO assetsSelectDTO){
+        return assetsMapper.selectPage(page, assetsSelectDTO);
     }