Просмотр исходного кода

1.资产统计报表-台账功能完善
2.新增资产统计报表-台账导出

GouGengquan 11 месяцев назад
Родитель
Сommit
1eff675411

+ 15 - 1
biz-base/src/main/java/com/dayou/controller/AssetsStatisticalStatementController.java

@@ -11,10 +11,14 @@ import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
 @RestController
 @RequestMapping("assets/statisticalStatement")
 @Slf4j
-public class AssetsStatisticalStatementController {
+public class AssetsStatisticalStatementController extends BaseController{
 
     @Autowired
     private IAssetsStatisticalStatementService assetsStatisticalStatementService;
@@ -29,4 +33,14 @@ public class AssetsStatisticalStatementController {
         return RestResponse.data(assetsStatisticalStatementService.getAssetsLedgerVO(dto,page));
     }
 
+    /**
+     * 资产台账导出
+     * @param dto 查询dto
+     */
+    @GetMapping("/getAssetsLedgerVO/export")
+    public void assetsLedgerVOExport(AssetsStatisticalSelectDTO dto, HttpServletResponse response) throws IOException {
+        List<AssetsLedgerVO> result = assetsStatisticalStatementService.assetsLedgerVOExport(dto);
+        exportPlus(response,"资产台账列表",result, AssetsLedgerVO.class);
+    }
+
 }

+ 9 - 0
dao/src/main/java/com/dayou/mapper/AssetsStatisticalStatementMapper.java

@@ -5,6 +5,8 @@ import com.dayou.dto.AssetsStatisticalSelectDTO;
 import com.dayou.vo.AssetsLedgerVO;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 public interface AssetsStatisticalStatementMapper {
 
     /**
@@ -13,4 +15,11 @@ public interface AssetsStatisticalStatementMapper {
      * @return Page<AssetsLedgerVO>
      */
     Page<AssetsLedgerVO> getAssetsLedgerVO(@Param("page") Page page, @Param("dto") AssetsStatisticalSelectDTO dto);
+
+    /**
+     * 获取资产台账
+     * @param dto 查询dto
+     * @return List<AssetsLedgerVO>
+     */
+    List<AssetsLedgerVO> assetsLedgerVOExport(@Param("dto") AssetsStatisticalSelectDTO dto);
 }

+ 74 - 64
dao/src/main/resources/mapper/AssetsStatisticalStatementMapper.xml

@@ -2,14 +2,14 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.dayou.mapper.AssetsStatisticalStatementMapper">
 
-    <!--获取资产台账-->
-    <select id="getAssetsLedgerVO" resultType="com.dayou.vo.AssetsLedgerVO">
+    <!--资产太差查询SQL-->
+    <sql id="assetsLedgerQuery">
         SELECT (@i :=  @i + 1) AS id,
                assets.id                                                             AS assetsId,
-               assets.order_id                                                              AS orderId,
+               assets.order_id                                                       AS orderId,
                statement.production_no                                               AS statementNo,
                report.production_no                                                  AS reportNo,
-               report.production_type                                                AS productionType,
+               CASE report.production_type WHEN 'LETTER' THEN '意见函' WHEN 'CONSULT' THEN '咨询报告' WHEN 'REPORT' THEN '评估报告' ELSE '-' END AS productionType,
                report.valuation_basis_date                                           AS valuationBasisDate,
                report.create_production_date                                         AS createReportDate,
                COALESCE(report.assets_name, statement.assets_name, assets.name)      AS projectName,
@@ -38,39 +38,39 @@
                (SELECT customer_company.name FROM customer_company WHERE customer_company.id = clientele_sub_id) AS customerSubName,
                assets.bailor AS bailor,
                assets.bailor_contact_tel AS bailorContactTel,
-               GROUP_CONCAT(target.id SEPARATOR ', ')                                AS targetId,
-               GROUP_CONCAT(target.purpose_name SEPARATOR ', ')                     AS purposeName,
-               GROUP_CONCAT(target.type_name SEPARATOR ', ') AS valueTypeName,
-               GROUP_CONCAT(target.targetTypename SEPARATOR ', ') AS targetTypename,
-               GROUP_CONCAT(target.secTargetTypaName SEPARATOR ', ') AS secTargetTypaName,
-               GROUP_CONCAT(target.evaluation_method_id SEPARATOR ', ') AS evaluationMethodId,
-               GROUP_CONCAT(target.defined_evaluation_method SEPARATOR ', ') AS definedEvaluationMethod,
-               GROUP_CONCAT(target.choice_evaluation_method_id SEPARATOR ', ') AS choiceEvaluationMethodId,
-               GROUP_CONCAT(target.choice_defined_evaluation_method SEPARATOR ', ') AS choiceDefinedEvaluationMethod,
-               GROUP_CONCAT(target.estimated_value  SEPARATOR ', ') AS estimatedValue,
-               fund.should_amount AS shouldAmount,
-               fund.real_amount AS realAmount,
-               report.signatory AS signatory,
-               report.repertory_out_time AS repertoryOutTime,
+               GROUP_CONCAT(target.id SEPARATOR '; ')                                AS targetId,
+               GROUP_CONCAT(target.purpose_name SEPARATOR '; ')                      AS purposeName,
+               GROUP_CONCAT(target.type_name SEPARATOR '; ')                         AS valueTypeName,
+               GROUP_CONCAT(target.targetTypename SEPARATOR '; ')                    AS targetTypename,
+               GROUP_CONCAT(target.secTargetTypaName SEPARATOR '; ')                 AS secTargetTypaName,
+               GROUP_CONCAT(target.evaluation_method_id SEPARATOR ', ')              AS evaluationMethods,
+               GROUP_CONCAT(target.defined_evaluation_method SEPARATOR '; ')         AS definedEvaluationMethod,
+               GROUP_CONCAT(target.choice_evaluation_method_id SEPARATOR ', ')       AS choiceEvaluationMethods,
+               GROUP_CONCAT(target.choice_defined_evaluation_method SEPARATOR '; ')  AS choiceDefinedEvaluationMethod,
+               GROUP_CONCAT(target.estimated_value  SEPARATOR '; ')                  AS estimatedValue,
+               fund.should_amount                                                    AS shouldAmount,
+               fund.real_amount                                                      AS realAmount,
+               report.signatory                                                      AS signatory,
+               report.repertory_out_time                                             AS repertoryOutTime,
                (
-               SELECT user.name
-               FROM work_flow_node_instance AS instance,
-                    work_task_record AS record,
-                    work_node AS node,
-                    user
-               WHERE instance.id = record.instance_id
-                 AND record.handler_id = user.id
-                 AND node.id = instance.node_id
-                 AND instance.business_id = assets.id
-                 AND instance.business_sub_id = statement.production_no
-                 AND node.code = 'REVIEW_STATEMENT'
-               AND instance.deleted = 0
+                   SELECT user.name
+                   FROM work_flow_node_instance AS instance,
+                        work_task_record        AS record,
+                        work_node               AS node,
+                        user
+                   WHERE instance.id = record.instance_id
+                     AND record.handler_id = user.id
+                     AND node.id = instance.node_id
+                     AND instance.business_id = assets.id
+                     AND instance.business_sub_id = statement.production_no
+                     AND node.code = 'REVIEW_STATEMENT'
+                     AND instance.deleted = 0
                ) AS statementCheckerName,
                (
                    SELECT user.name
                    FROM work_flow_node_instance AS instance,
-                        work_task_record AS record,
-                        work_node AS node,
+                        work_task_record        AS record,
+                        work_node               AS node,
                         user
                    WHERE instance.id = record.instance_id
                      AND record.handler_id = user.id
@@ -83,8 +83,8 @@
                (
                    SELECT user.name
                    FROM work_flow_node_instance AS instance,
-                        work_task_record AS record,
-                        work_node AS node,
+                        work_task_record        AS record,
+                        work_node               AS node,
                         user
                    WHERE instance.id = record.instance_id
                      AND record.handler_id = user.id
@@ -97,8 +97,8 @@
                (
                    SELECT user.name
                    FROM work_flow_node_instance AS instance,
-                        work_task_record AS record,
-                        work_node AS node,
+                        work_task_record        AS record,
+                        work_node               AS node,
                         user
                    WHERE instance.id = record.instance_id
                      AND record.handler_id = user.id
@@ -111,8 +111,8 @@
                (
                    SELECT user.name
                    FROM work_flow_node_instance AS instance,
-                        work_task_record AS record,
-                        work_node AS node,
+                        work_task_record        AS record,
+                        work_node               AS node,
                         user
                    WHERE instance.id = record.instance_id
                      AND record.handler_id = user.id
@@ -122,31 +122,31 @@
                      AND node.code = 'FOURTH_CHECK_REPORT'
                ) AS reportFourthCheckerName
         FROM (SELECT @i := 0) AS sort,assets
-        LEFT JOIN (
-             SELECT target.id,
-                    target.assets_id,
-                    purpose_name,
-                    vType.type_name,
-                    evaluation_method_id,
-                    defined_evaluation_method,
-                    choice_evaluation_method_id,
-                    choice_defined_evaluation_method,
-                    type.type_name AS targetTypename,
-                    secType.type_name AS secTargetTypaName,
-                    estimated_value,
-                    statement_no,
-                    report_no
-             FROM assets_evaluation_target AS target
-             LEFT JOIN assets_evaluation_target_purpose AS purpose ON evaluation_purpose_id = purpose.id
-             LEFT JOIN assets_evaluation_target_type AS type ON evaluation_type_id = type.id
-             LEFT JOIN assets_evaluation_target_type AS secType ON evaluation_type_sec_id = type.id
-             LEFT JOIN assets_value_type AS vType ON assets_value_id = vType.id
-             ) AS target ON assets.id = target.assets_id
-        LEFT JOIN assets_production AS report ON report_no = report.production_no
-        LEFT JOIN assets_production AS statement ON statement_no = statement.production_no
-        LEFT JOIN user AS manager ON manager.id = assets.client_manager_id
-        LEFT JOIN user AS principal ON principal.id = assets.principal_id
-        LEFT JOIN order_fund AS fund ON fund.business_id = assets.id AND fund.business_type = 'ASSET_BUSINESS'
+                                          LEFT JOIN (
+            SELECT target.id,
+                   target.assets_id,
+                   purpose_name,
+                   vType.type_name,
+                   evaluation_method_id,
+                   defined_evaluation_method,
+                   choice_evaluation_method_id,
+                   choice_defined_evaluation_method,
+                   type.type_name AS targetTypename,
+                   secType.type_name AS secTargetTypaName,
+                   estimated_value,
+                   statement_no,
+                   report_no
+            FROM assets_evaluation_target AS target
+                     LEFT JOIN assets_evaluation_target_purpose AS purpose ON evaluation_purpose_id = purpose.id
+                     LEFT JOIN assets_evaluation_target_type AS type ON evaluation_type_id = type.id
+                     LEFT JOIN assets_evaluation_target_type AS secType ON evaluation_type_sec_id = type.id
+                     LEFT JOIN assets_value_type AS vType ON assets_value_id = vType.id
+        ) AS target ON assets.id = target.assets_id
+                                          LEFT JOIN assets_production AS report ON report_no = report.production_no
+                                          LEFT JOIN assets_production AS statement ON statement_no = statement.production_no
+                                          LEFT JOIN user AS manager ON manager.id = assets.client_manager_id
+                                          LEFT JOIN user AS principal ON principal.id = assets.principal_id
+                                          LEFT JOIN order_fund AS fund ON fund.business_id = assets.id AND fund.business_type = 'ASSET_BUSINESS'
         WHERE assets.deleted = 0
         <if test="dto != null and dto.keyWord != null and dto.keyWord != '' ">
             AND (
@@ -171,6 +171,16 @@
             AND assets.assets_business_gener = #{dto.assetsBusinessGener}
         </if>
         GROUP BY statementNo,
-                 reportNo
+        reportNo
+    </sql>
+
+    <!--获取资产台账-->
+    <select id="getAssetsLedgerVO" resultType="com.dayou.vo.AssetsLedgerVO">
+        <include refid="assetsLedgerQuery" />
      </select>
+
+    <!--资产台账导出-->
+    <select id="assetsLedgerVOExport" resultType="com.dayou.vo.AssetsLedgerVO">
+        <include refid="assetsLedgerQuery" />
+    </select>
 </mapper>

+ 40 - 2
domain/src/main/java/com/dayou/vo/AssetsLedgerVO.java

@@ -1,5 +1,6 @@
 package com.dayou.vo;
 
+import com.dayou.annotation.Excel;
 import lombok.Data;
 
 import java.math.BigDecimal;
@@ -19,186 +20,223 @@ public class AssetsLedgerVO {
     /**
      * 项目编号
      */
+    @Excel(name = "项目编号")
     private String orderId;
 
     /**
      * 意见书号
      */
+    @Excel(name = "意见书号")
     private String statementNo;
 
     /**
      * 报告号
      */
+    @Excel(name = "报告号")
     private String reportNo;
 
     /**
      * 报告类型
      */
+    @Excel(name = "报告类型")
     private String productionType;
 
     /**
      * 评估基准日
      */
+    @Excel(name = "评估基准日")
     private LocalDate valuationBasisDate;
 
     /**
      * 报告出具日期
      */
+    @Excel(name = "报告出具日期")
     private LocalDate createReportDate;
 
     /**
      * 项目名称
      */
+    @Excel(name = "项目名称")
     private String projectName;
 
     /**
      * 当前实例节点名称
      */
+    @Excel(name = "当前实例节点名称")
     private String currentNodeName;
 
     /**
      * 是否证券项目(0:Y 1:N)
      */
+    @Excel(name = "是否证券项目", readConverterExp = "true=是,false=否")
     private Boolean security;
 
     /**
      * 是否资产重组项目(0:Y 1:N)
      */
+    @Excel(name = "是否资产重组项目", readConverterExp = "true=是,false=否")
     private Boolean significantAssetsReorganization;
 
     /**
      * 是否国资项目(0:Y 1:N)
      */
+    @Excel(name = "是否国资项目", readConverterExp = "true=是,false=否")
     private Boolean stateAssets;
 
     /**
      * 是否涉及境外资产(0:Y 1:N)
      */
+    @Excel(name = "是否涉及境外资产", readConverterExp = "true=是,false=否")
     private Boolean foreignAssetsInvolved;
 
     /**
      * 是否分配产值
      */
+    @Excel(name = "是否分配产值", readConverterExp = "true=是,false=否")
     private Boolean dispenseBenefit;
 
     /**
      * 客户经理名
      */
+    @Excel(name = "客户经理名")
     private String clientManagerName;
 
     /**
      * 项目负责人名
      */
+    @Excel(name = "项目负责人名")
     private String principalName;
 
     /**
      * 客户名称
      */
+    @Excel(name = "客户名称")
     private String customerName;
 
     /**
      * 业务来源(客户子级名称)
      */
+    @Excel(name = "业务来源")
     private String customerSubName;
 
     /**
      * 委托方
      */
+    @Excel(name = "委托方")
     private String bailor;
 
     /**
      * 委托方电话
      */
+    @Excel(name = "委托方电话")
     private String bailorContactTel;
 
     /**
      * 评估对象评估目的
      */
+    @Excel(name = "评估对象评估目的")
     private String purposeName;
 
     /**
      * 评估对象价值类型
      */
+    @Excel(name = "评估对象价值类型")
     private String valueTypeName;
 
     /**
      * 一级评估对象
      */
+    @Excel(name = "一级评估对象")
     private String targetTypename;
 
     /**
      * 二级评估对象
      */
+    @Excel(name = "二级评估对象")
     private String secTargetTypaName;
 
     /**
      * 评估方法id
      */
-    private String evaluationMethodId;
+    @Excel(name = "评估方法id")
+    private String evaluationMethods;
 
     /**
      * 自定义其他评估方法
      */
+    @Excel(name = "自定义其他评估方法")
     private String definedEvaluationMethod;
 
     /**
      * 最终选择的评估方法id
      */
-    private String choiceEvaluationMethodId;
+    @Excel(name = "最终选择的评估方法id")
+    private String choiceEvaluationMethods;
 
     /**
      * 最终选择的自定义其他评估方法
      */
+    @Excel(name = "最终选择的自定义其他评估方法")
     private String choiceDefinedEvaluationMethod;
 
     /**
      * 评估结论对应的评估值(万)
      */
+    @Excel(name = "评估结论对应的评估值(万)")
     private String estimatedValue;
 
     /**
      * 订单应收款(元)
      */
+    @Excel(name = "订单应收款(元)")
     private Double shouldAmount;
 
     /**
      * 订单实收款(元)
      */
+    @Excel(name = "订单实收款(元)")
     private Double realAmount;
 
     /**
      * 签字人(产品类型为报告时,签字人必填)
      */
+    @Excel(name = "签字人")
     private String signatory;
 
     /**
      * 出库时间
      */
+    @Excel(name = "出库时间")
     private LocalDateTime repertoryOutTime;
 
     /**
      * 意见书审核人(二审)
      */
+    @Excel(name = "意见书审核人")
     private String statementCheckerName;
 
     /**
      * 意见书复审人(三审)
      */
+    @Excel(name = "意见书复审人")
     private String statementReCheckerName;
 
     /**
      * 报告审核人(二审)
      */
+    @Excel(name = "报告审核人")
     private String reportCheckerName;
 
     /**
      * 报告复审人(三审)
      */
+    @Excel(name = "报告复审人")
     private String reportReCheckerName;
 
     /**
      * 报告四审人(四审)
      */
+    @Excel(name = "报告四审人")
     private String reportFourthCheckerName;
 
 }

+ 1 - 1
service/src/main/java/com/dayou/dyoa/DyoaHistoryServiceImpl.java

@@ -54,7 +54,7 @@ public class DyoaHistoryServiceImpl implements IDyoaHistoryService{
     private static String COOKIE ;
 
 
-    private static final String HISTORY_LOGIN_URL = "http://noa.scdayou.com/login?loginName=admin&password=ABC666000";
+    private static final String HISTORY_LOGIN_URL = "http://noa.scdayou.com/login?loginName=admin&password=root1234";
 
     private static final String HISTORY_MAJOR_ORDER_URL = "http://noa.scdayou.com/dyoa/order/pageQuery";
 

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

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.dayou.dto.AssetsStatisticalSelectDTO;
 import com.dayou.vo.AssetsLedgerVO;
 
+import java.util.List;
+
 /**
  * <p>
  * 资产业务统计报表 服务类
@@ -20,4 +22,11 @@ public interface IAssetsStatisticalStatementService {
      * @return Page<AssetsLedgerVO>
      */
     Page<AssetsLedgerVO> getAssetsLedgerVO(AssetsStatisticalSelectDTO dto,Page page);
+
+    /**
+     * 资产台账导出
+     * @param dto 查询dto
+     * @return Page<AssetsLedgerVO>
+     */
+    List<AssetsLedgerVO> assetsLedgerVOExport(AssetsStatisticalSelectDTO dto);
 }

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

@@ -1,26 +1,193 @@
 package com.dayou.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.fastjson.JSONArray;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.dayou.dto.AssetsStatisticalSelectDTO;
+import com.dayou.entity.AssetsEvaluationMethod;
+import com.dayou.entity.User;
+import com.dayou.mapper.AssetsEvaluationMethodMapper;
 import com.dayou.mapper.AssetsStatisticalStatementMapper;
 import com.dayou.service.IAssetsStatisticalStatementService;
+import com.dayou.service.IUserService;
 import com.dayou.vo.AssetsLedgerVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
 @Service
 public class AssetsStatisticalStatementServiceImpl implements IAssetsStatisticalStatementService {
 
     @Autowired
     private AssetsStatisticalStatementMapper assetsStatisticalStatementMapper;
 
+    @Autowired
+    private AssetsEvaluationMethodMapper assetsEvaluationMethodMapper;
+
+    @Autowired
+    private IUserService userService;
+
     /**
      * 获取资产台账
+     *
+     * @param dto 查询dto
+     * @return Page<AssetsLedgerVO>
+     */
+    @Override
+    public Page<AssetsLedgerVO> getAssetsLedgerVO(AssetsStatisticalSelectDTO dto, Page page) {
+        Page<AssetsLedgerVO> assetsLedgerVOPage = assetsStatisticalStatementMapper.getAssetsLedgerVO(page, dto);
+        // 获取评估方法信息
+        List<AssetsEvaluationMethod> evaluationMethodList = assetsEvaluationMethodMapper.getAssetsEvaluationMethod();
+        // 获取用户信息
+        LambdaQueryWrapper<User> lambdaQueryWrapper = new LambdaQueryWrapper<User>()
+                .select(User::getId,User::getName)
+                .eq(User::getDeleted,false);
+        List<User> userList= userService.list(lambdaQueryWrapper);
+        // 设置评估方法与签字人等信息
+        for (AssetsLedgerVO assetsLedgerVO : assetsLedgerVOPage.getRecords()) {
+            assetsLedgerVO = setVOJSONInfo(assetsLedgerVO, evaluationMethodList, userList);
+        }
+        return assetsLedgerVOPage;
+    }
+
+    /**
+     * 资产台账导出
      * @param dto 查询dto
      * @return Page<AssetsLedgerVO>
      */
     @Override
-    public Page<AssetsLedgerVO> getAssetsLedgerVO(AssetsStatisticalSelectDTO dto,Page page) {
-        return assetsStatisticalStatementMapper.getAssetsLedgerVO(page,dto);
+    public List<AssetsLedgerVO> assetsLedgerVOExport(AssetsStatisticalSelectDTO dto) {
+        List<AssetsLedgerVO> assetsLedgerVOList = assetsStatisticalStatementMapper.assetsLedgerVOExport(dto);
+        // 获取评估方法信息
+        List<AssetsEvaluationMethod> evaluationMethodList = assetsEvaluationMethodMapper.getAssetsEvaluationMethod();
+        // 获取用户信息
+        LambdaQueryWrapper<User> lambdaQueryWrapper = new LambdaQueryWrapper<User>()
+                .select(User::getId,User::getName)
+                .eq(User::getDeleted,false);
+        List<User> userList= userService.list(lambdaQueryWrapper);
+        // 设置评估方法与签字人等信息
+        for (AssetsLedgerVO assetsLedgerVO : assetsLedgerVOList) {
+            assetsLedgerVO = setVOJSONInfo(assetsLedgerVO, evaluationMethodList, userList);
+        }
+        return assetsLedgerVOList;
+    }
+
+    /**
+     * 设置评估方法与签字人等信息
+     * @param assetsLedgerVO 查询出来的VO信息
+     * @param evaluationMethodList 评估方法信息
+     * @param userList 用户信息
+     * @return AssetsLedgerVO
+     */
+    public AssetsLedgerVO setVOJSONInfo(AssetsLedgerVO assetsLedgerVO, List<AssetsEvaluationMethod> evaluationMethodList, List<User> userList){
+        // 正则表达式匹配任何在[]内的值
+        Pattern pattern = Pattern.compile("\\[(.*?)\\]");
+
+        // 获取评估方法
+        if (ObjectUtil.isNotNull(assetsLedgerVO.getEvaluationMethods())){
+            Matcher matcher = pattern.matcher(assetsLedgerVO.getEvaluationMethods());
+            List<String> methodIdsList = new ArrayList<>();
+            while (matcher.find()) {
+                // 将匹配的整个字符串添加到列表中
+                methodIdsList.add(matcher.group(0));
+            }
+            // 新建字符串用来装处理后的方法名
+            String evaluationMethodNames = null;
+            // 获取方法id
+            for (String methodIds : methodIdsList) {
+                // 将JSON格式的id数组转成集合
+                JSONArray jsonArray = JSONArray.parseArray(methodIds);
+                List<Long> idList = jsonArray.toJavaList(Long.class);
+                // 通过id进行匹配并返回方法名
+                int index = 0;
+                for (AssetsEvaluationMethod evaluationMethod : evaluationMethodList) {
+                    if (idList.contains(evaluationMethod.getId())){
+                        if (ObjectUtil.isNotNull(evaluationMethodNames)){
+                            evaluationMethodNames += evaluationMethod.getMethodName();
+                            index++;
+                        }else {
+                            evaluationMethodNames = evaluationMethod.getMethodName();
+                            index++;
+                        }
+                        if (index < idList.size()){
+                            evaluationMethodNames += ',';
+                        }else {
+                            evaluationMethodNames += ';';
+                        }
+                    }
+                }
+            }
+            assetsLedgerVO.setEvaluationMethods(evaluationMethodNames.toString());
+        }
+
+        // 获取最终选择的评估方法
+        if (ObjectUtil.isNotNull(assetsLedgerVO.getChoiceEvaluationMethods())){
+            Matcher choiceMatcher = pattern.matcher(assetsLedgerVO.getChoiceEvaluationMethods());
+            List<String> choiceMethodIdsList = new ArrayList<>();
+            while (choiceMatcher.find()) {
+                // 将匹配的整个字符串添加到列表中
+                choiceMethodIdsList.add(choiceMatcher.group(0));
+            }
+            // 新建字符串用来装处理后的方法名
+            String choiceEvaluationMethodNames = null;
+            // 获取方法id
+            for (String methodIds : choiceMethodIdsList) {
+                // 将JSON格式的id数组转成集合
+                JSONArray jsonArray = JSONArray.parseArray(methodIds);
+                List<Long> idList = jsonArray.toJavaList(Long.class);
+                // 通过id进行匹配并返回方法名
+                int index = 0;
+                for (AssetsEvaluationMethod evaluationMethod : evaluationMethodList) {
+                    if (idList.contains(evaluationMethod.getId())){
+                        if (ObjectUtil.isNotNull(choiceEvaluationMethodNames)){
+                            choiceEvaluationMethodNames += evaluationMethod.getMethodName();
+                            index++;
+                        }else {
+                            choiceEvaluationMethodNames = evaluationMethod.getMethodName();
+                            index++;
+                        }
+                        if (index < idList.size()){
+                            choiceEvaluationMethodNames += ',';
+                        }else {
+                            choiceEvaluationMethodNames += ';';
+                        }
+                    }
+                }
+            }
+            assetsLedgerVO.setChoiceEvaluationMethods(choiceEvaluationMethodNames.toString());
+        }
+
+        // 获取签字人
+        if (ObjectUtil.isNotNull(assetsLedgerVO.getSignatory())){
+            String signatoryNames = null;
+            JSONArray jsonArray = JSONArray.parseArray(assetsLedgerVO.getSignatory());
+            List<Long> signatoryIdList = jsonArray.toJavaList(Long.class);
+            int index = 0;
+            for (User user : userList){
+                if (signatoryIdList.contains(user.getId())){
+                    if (ObjectUtil.isNotNull(signatoryNames)){
+                        signatoryNames += user.getName();
+                        index++;
+                    }else {
+                        signatoryNames = user.getName();
+                        index++;
+                    }
+                    if (index < signatoryIdList.size()){
+                        signatoryNames += ',';
+                    }else {
+                        signatoryNames += ';';
+                    }
+                }
+            }
+            assetsLedgerVO.setSignatory(signatoryNames);
+        }
+
+        return assetsLedgerVO;
     }
 }