소스 검색

Merge remote-tracking branch 'origin/master'

sunruiqi 2 년 전
부모
커밋
90d8f389f4

+ 50 - 0
jeeplus-platform/jeeplus-admin/src/main/java/com/jeeplus/core/excel/utils/EasyPoiUtil.java

@@ -267,5 +267,55 @@ public class EasyPoiUtil {
 
     }
 
+    /**
+     * 功能描述:根据接收的Excel文件来导入Excel,并封装成实体类
+     *
+     * @param file       上传的文件
+     * @param titleRows  表标题的行数
+     * @param headerRows 表头行数
+     * @param sheetNum   sheet页数
+     * @param pojoClass  Excel实体类
+     * @return
+     * @author Steel.D
+     * @Date 2019-7-31 11:30
+     */
+    public static <T> List <T> importSheetExcel(MultipartFile file, Integer titleRows, Integer headerRows, Integer sheetNum, Class <T> pojoClass) {
+
+        if ( file == null ) {
+
+            return null;
+
+        }
+
+        ImportParams params = new ImportParams ( );
+
+        params.setTitleRows ( titleRows );
+
+        params.setHeadRows ( headerRows );
+
+        params.setSheetNum(sheetNum);
+
+
+
+        List <T> list = null;
+
+        try {
+
+            list = ExcelImportUtil.importExcel ( file.getInputStream ( ), pojoClass, params );
+
+        } catch (NoSuchElementException e) {
+
+            throw new RuntimeException ( "excel文件不能为空" );
+
+        } catch (Exception e) {
+            e.printStackTrace ();
+            throw new RuntimeException ( e.getMessage ( ) );
+
+        }
+
+        return list;
+
+    }
+
 
 }

+ 42 - 0
jeeplus-platform/jeeplus-admin/src/main/java/com/jeeplus/sys/constant/enums/ProjectStatusEnum.java

@@ -0,0 +1,42 @@
+package com.jeeplus.sys.constant.enums;
+
+/**
+ * 项目状态
+ */
+public enum ProjectStatusEnum {
+    STAGING ("1", "暂存"),
+    TOTRIAL ("2", "送审"),
+    RETRACT ("3", "撤回"),
+    OVERRULE ("4", "驳回"),
+    FINISH ("5", "完成"),
+    INVALID ("6", "作废"),
+    DELETE ("7", "删除");
+
+    /**
+     *  项目状态值
+     */
+    private String value;
+
+    /**
+     * 项目状态标签
+     */
+    private String label;
+
+    private ProjectStatusEnum(String value, String label) {
+        this.value = value;
+        this.label = label;
+    }
+
+    public String getValue() {
+        return value;
+    }
+
+    public String getLabel() {
+        return label;
+    }
+
+    @Override
+    public String toString() {
+        return this.value;
+    }
+}

+ 196 - 0
jeeplus-platform/jeeplus-admin/src/main/java/com/jeeplus/sys/controller/UserProjectController.java

@@ -0,0 +1,196 @@
+package com.jeeplus.sys.controller;
+
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.google.common.collect.Lists;
+import com.jeeplus.aop.demo.annotation.DemoMode;
+import com.jeeplus.aop.logging.annotation.ApiLog;
+import com.jeeplus.common.beanvalidator.BeanValidators;
+import com.jeeplus.core.excel.utils.EasyPoiUtil;
+import com.jeeplus.core.query.QueryWrapperGenerator;
+import com.jeeplus.security.util.SecurityUtils;
+import com.jeeplus.sys.constant.enums.ProjectStatusEnum;
+import com.jeeplus.sys.domain.UserProject;
+import com.jeeplus.sys.service.UserProjectService;
+import com.jeeplus.sys.service.UserService;
+import com.jeeplus.sys.service.dto.UserDTO;
+import com.jeeplus.sys.service.dto.UserProjectDTO;
+import com.jeeplus.sys.service.mapstruct.UserProjectWrapper;
+import com.jeeplus.sys.service.mapstruct.UserWrapper;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.time.DateUtils;
+import org.dozer.inject.DozerBeanContainer;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.validation.ConstraintViolationException;
+import javax.validation.Valid;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+
+
+/**
+ * 项目Controller
+ *
+ * @author lizhenhao
+ * @version 2022-08-02
+ */
+@Api("项目管理")
+@RestController
+@RequestMapping(value = "/sys/project")
+public class UserProjectController {
+
+    @Autowired
+    private UserProjectService userProjectService;
+
+    @Autowired
+    private UserService userService;
+
+    @ApiLog("查询项目列表")
+    @PreAuthorize("hasAuthority('sys:project:list')")
+    @GetMapping("list")
+    public ResponseEntity<IPage<UserProject>> data(UserProject userProject, Page<UserProject> page) throws Exception {
+        QueryWrapper<UserProject> queryWrapper = QueryWrapperGenerator.buildQueryCondition (userProject, UserProject.class);
+        IPage<UserProject> result = userProjectService.page (page, queryWrapper);
+        return ResponseEntity.ok (result);
+    }
+
+    /**
+     * 查询项目数据
+     * @param id
+     * @return
+     */
+    @ApiLog("查询项目详情")
+    @PreAuthorize ("hasAnyAuthority('sys:project:view','sys:project:add','sys:project:edit')")
+    @GetMapping("queryById")
+    public ResponseEntity queryById(@RequestParam("id") String id) {
+        UserProject userProject = userProjectService.getById ( id );
+        return ResponseEntity.ok (userProject);
+    }
+
+    /**
+     * 保存项目信息
+     * @param projectDTO
+     * @return
+     */
+    @ApiLog("保存项目")
+    @PreAuthorize ("hasAnyAuthority('sys:post:add','sys:post:edit')")
+    @PostMapping("save")
+    public ResponseEntity save(@Valid @RequestBody UserProjectDTO projectDTO){
+        //新增或编辑表单保存
+        UserProject project = UserProjectWrapper.INSTANCE.toEntity (projectDTO);
+        UserProject pro = userProjectService.projectDtoToDate(project,projectDTO);
+        if(StrUtil.isEmpty(projectDTO.getId())){
+            userProjectService.save(pro);//新增
+        }else{
+            LambdaUpdateWrapper<UserProject> wrapper = userProjectService.getLambdaUpdateWrapper(projectDTO);
+            userProjectService.update (pro,wrapper);//修改
+        }
+
+        return ResponseEntity.ok ("保存项目成功");
+    }
+
+    /**
+     * 删除项目
+     * @param ids
+     * @return
+     */
+    @ApiLog("删除项目")
+    @PreAuthorize ("hasAuthority('sys:project:del')")
+    @DeleteMapping("delete")
+    public ResponseEntity delete(String ids) {
+        String idArray[] =ids.split(",");
+        userProjectService.removeByIds (Lists.newArrayList (idArray));
+        return ResponseEntity.ok ("删除项目成功");
+    }
+
+    /**
+     * 导入项目数据
+     *
+     * @return
+     */
+    @DemoMode
+    @PreAuthorize("hasAnyAuthority('sys:project:import')")
+    @PostMapping("import")
+    @ApiOperation(value = "导入项目数据excel")
+    public ResponseEntity importFile(MultipartFile file) throws ParseException {
+        int successNum = 0;
+        List<UserProjectDTO> list = EasyPoiUtil.importSheetExcel(file, 1, 1, 1, UserProjectDTO.class);
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        for (UserProjectDTO project : list) {
+
+            try {
+                if(StrUtil.isNotEmpty(project.getEvaluationReportDateUi())){
+                    String format = sdf.format(DateUtils.parseDate(project.getEvaluationReportDateUi(), new String[]{"yyyy/MM/dd"}));
+                    project.setEvaluationReportDate(sdf.parse(format));
+                }
+            }catch (Exception e){
+                if(StrUtil.isNotEmpty(project.getEvaluationReportDateUi())){
+                    if(project.getEvaluationReportDateUi().contains("报告已作废")){
+                        project.setStatus(ProjectStatusEnum.INVALID.getValue());
+                        project.setAssessReportMessage(project.getEvaluationReportDateUi());
+                    }else{
+                        project.setStatus(ProjectStatusEnum.STAGING.getValue());
+                        project.setAssessReportMessage(project.getEvaluationReportDateUi());
+                    }
+                }else{
+                    project.setStatus(ProjectStatusEnum.STAGING.getValue());
+                }
+            }
+
+            try {
+                if(StrUtil.isNotEmpty(project.getEvaluationBaseDateUi())){
+                    String format = sdf.format(DateUtils.parseDate(project.getEvaluationBaseDateUi(), new String[]{"yyyy/MM/dd"}));
+                    project.setEvaluationBaseDate(sdf.parse(format));
+                }
+            }catch (Exception e){
+                if(StrUtil.isNotEmpty(project.getEvaluationBaseDateUi()))
+                    project.setAssessBaseMessage(project.getEvaluationBaseDateUi());
+            }
+
+            try {
+                if(StrUtil.isNotEmpty(project.getInvoiceDateUi())){
+                    String format = sdf.format(DateUtils.parseDate(project.getInvoiceDateUi(), new String[]{"yyyy/MM/dd"}));
+                    project.setInvoiceDate(sdf.parse(format));
+                }
+            }catch (Exception e){
+                if(StrUtil.isNotEmpty(project.getInvoiceDateUi()))
+                    project.setInvoiceMessage(project.getInvoiceDateUi());
+            }
+
+            //项目负责人、签字评估师1、签字评估师2 关联user表的id
+            if(StrUtil.isNotBlank(project.getProjectHead())){
+                project.setProjectHead(userService.getUserByLoginName(project.getProjectHead()).getId());
+            }else{
+                project.setProjectHead("");
+            }
+
+            if(StrUtil.isNotBlank(project.getEvaluationPersonOne())){
+                project.setEvaluationPersonOne(userService.getUserByLoginName(project.getEvaluationPersonOne()).getId());
+            }else{
+                project.setEvaluationPersonOne("");
+            }
+
+            if(StrUtil.isNotBlank(project.getEvaluationPersonTwo())){
+                project.setEvaluationPersonTwo(userService.getUserByLoginName(project.getEvaluationPersonTwo()).getId());
+            }else{
+                project.setEvaluationPersonTwo("");
+            }
+
+
+            userProjectService.save(UserProjectWrapper.INSTANCE.toEntity(project));
+            successNum++;
+        }
+        return ResponseEntity.ok("已成功导入 " + successNum + " 条数据");
+    }
+}

+ 203 - 0
jeeplus-platform/jeeplus-admin/src/main/java/com/jeeplus/sys/domain/UserProject.java

@@ -0,0 +1,203 @@
+package com.jeeplus.sys.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import com.jeeplus.core.query.Query;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * sys_user_project
+ * @author 
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("sys_user_project")
+public class UserProject extends BaseEntity {
+
+    /**
+     * 备注信息
+     */
+    private String remarks;
+
+    /**
+     * 客户名称
+     */
+    @Query
+    private String customerName;
+
+    /**
+     * 项目名称
+     */
+    @Query
+    private String projectName;
+
+    /**
+     * 评估目的
+     */
+    private String evaluationObjective;
+
+    /**
+     * 项目类型
+     */
+    private String projectType;
+
+    /**
+     * 评估基准日
+     */
+    private Date evaluationBaseDate;
+
+    /**
+     * 评估报告日
+     */
+    private Date evaluationReportDate;
+
+    /**
+     * 协议号
+     */
+    private String protocolNum;
+
+    /**
+     * 文号
+     */
+    private String documentNum;
+
+    /**
+     * 项目负责人
+     */
+    private String projectHead;
+
+    /**
+     * 废旧物资评估(万元)
+     */
+    private String waystEvaluation;
+
+    /**
+     * 固定资产评估(万元)
+     */
+    private String fixedAssetsEvaluation;
+
+    /**
+     * 净资产评估
+     */
+    private String netAssetsEvaluation;
+
+    /**
+     * 租金评估(万/年)
+     */
+    private String rentEvaluation;
+
+    /**
+     * 司法鉴定
+     */
+    private String forensics;
+
+    /**
+     * 报告收费(元)
+     */
+    private String reportCharges;
+
+    /**
+     * 当前处理人
+     */
+    private String currentDisposePerson;
+
+    /**
+     * 是否开票
+     */
+    private String isInvoice;
+
+    /**
+     * 开票日期
+     */
+    private Date invoiceDate;
+
+    /**
+     * 预估/实际收费(元)
+     */
+    private String actualCharges;
+
+    /**
+     * 合同是否存档
+     */
+    private String isContractArchive;
+
+    /**
+     * 底稿是否完好
+     */
+    private String isPapersIntact;
+
+    /**
+     * 底稿是否归档
+     */
+    private String isPapersArchive;
+
+    /**
+     * 报销外勤天数
+     */
+    private String opsAmount;
+
+    /**
+     * 外勤是否已经报销
+     */
+    private String isOpsReimbursement;
+
+    /**
+     * 已报销金额
+     */
+    private String reimbursementAmount;
+
+    /**
+     * 未报销金额
+     */
+    private String unreimbursedAmount;
+
+    /**
+     * 报销单号
+     */
+    private String reimbursementNum;
+
+    /**
+     * 报销日期
+     */
+    private Date reimbursementDate;
+
+    /**
+     * 签字评估师1
+     */
+    private String evaluationPersonOne;
+
+    /**
+     * 签字评估师2
+     */
+    private String evaluationPersonTwo;
+
+    /**
+     * 项目状态
+     */
+    private String status;
+
+    /**
+     * 评估报告日message
+     */
+    private String assessReportMessage;
+
+    /**
+     * 评估基准日message
+     */
+    private String assessBaseMessage;
+
+    /**
+     * 开票日期message
+     */
+    private String invoiceMessage;
+
+    /**
+     * 是否已经报销提成
+     */
+    private String isCommissionReimbursement;
+
+    private static final long serialVersionUID = 1L;
+}

+ 8 - 0
jeeplus-platform/jeeplus-admin/src/main/java/com/jeeplus/sys/mapper/UserProjectMapper.java

@@ -0,0 +1,8 @@
+package com.jeeplus.sys.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jeeplus.sys.domain.UserProject;
+
+public interface UserProjectMapper extends BaseMapper<UserProject> {
+}

+ 57 - 0
jeeplus-platform/jeeplus-admin/src/main/java/com/jeeplus/sys/mapper/xml/UserProjectMapper.xml

@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeeplus.sys.mapper.UserProjectMapper">
+  <resultMap id="BaseResultMap" type="com.jeeplus.sys.domain.UserProject">
+    <id column="id" jdbcType="VARCHAR" property="id" />
+    <result column="create_by" jdbcType="VARCHAR" property="createBy" />
+    <result column="create_date" jdbcType="TIMESTAMP" property="createDate" />
+    <result column="update_by" jdbcType="VARCHAR" property="updateBy" />
+    <result column="update_date" jdbcType="TIMESTAMP" property="updateDate" />
+    <result column="remarks" jdbcType="VARCHAR" property="remarks" />
+    <result column="del_flag" jdbcType="INTEGER" property="delFlag" />
+    <result column="customer_name" jdbcType="VARCHAR" property="customerName" />
+    <result column="project_name" jdbcType="VARCHAR" property="projectName" />
+    <result column="evaluation_objective" jdbcType="VARCHAR" property="evaluationObjective" />
+    <result column="project_type" jdbcType="VARCHAR" property="projectType" />
+    <result column="evaluation_base_date" jdbcType="TIMESTAMP" property="evaluationBaseDate" />
+    <result column="evaluation_report_date" jdbcType="TIMESTAMP" property="evaluationReportDate" />
+    <result column="protocol_num" jdbcType="VARCHAR" property="protocolNum" />
+    <result column="document_num" jdbcType="VARCHAR" property="documentNum" />
+    <result column="project_head" jdbcType="VARCHAR" property="projectHead" />
+    <result column="wayst_evaluation" jdbcType="VARCHAR" property="waystEvaluation" />
+    <result column="fixed_assets_evaluation" jdbcType="VARCHAR" property="fixedAssetsEvaluation" />
+    <result column="net_assets_evaluation" jdbcType="VARCHAR" property="netAssetsEvaluation" />
+    <result column="rent_evaluation" jdbcType="VARCHAR" property="rentEvaluation" />
+    <result column="forensics" jdbcType="VARCHAR" property="forensics" />
+    <result column="report_charges" jdbcType="VARCHAR" property="reportCharges" />
+    <result column="current_dispose_person" jdbcType="VARCHAR" property="currentDisposePerson" />
+    <result column="is_invoice" jdbcType="VARCHAR" property="isInvoice" />
+    <result column="invoice_date" jdbcType="TIMESTAMP" property="invoiceDate" />
+    <result column="actual_charges" jdbcType="VARCHAR" property="actualCharges" />
+    <result column="is_contract_archive" jdbcType="VARCHAR" property="isContractArchive" />
+    <result column="is_papers_intact" jdbcType="VARCHAR" property="isPapersIntact" />
+    <result column="is_papers_archive" jdbcType="VARCHAR" property="isPapersArchive" />
+    <result column="ops_amount" jdbcType="VARCHAR" property="opsAmount" />
+    <result column="is_ops_reimbursement" jdbcType="VARCHAR" property="isOpsReimbursement" />
+    <result column="reimbursement_amount" jdbcType="VARCHAR" property="reimbursementAmount" />
+    <result column="unreimbursed_amount" jdbcType="VARCHAR" property="unreimbursedAmount" />
+    <result column="reimbursement_num" jdbcType="VARCHAR" property="reimbursementNum" />
+    <result column="reimbursement_date" jdbcType="TIMESTAMP" property="reimbursementDate" />
+    <result column="evaluation_person_one" jdbcType="VARCHAR" property="evaluationPersonOne" />
+    <result column="evaluation_person_two" jdbcType="VARCHAR" property="evaluationPersonTwo" />
+    <result column="status" jdbcType="VARCHAR" property="status" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    id, create_by, create_date, update_by, update_date, remarks, del_flag, customer_name, 
+    project_name, evaluation_objective, project_type, evaluation_base_date, evaluation_report_date, 
+    protocol_num, document_num, project_head, wayst_evaluation, fixed_assets_evaluation, 
+    net_assets_evaluation, rent_evaluation, forensics, report_charges, current_dispose_person, 
+    is_invoice, invoice_date, actual_charges, is_contract_archive, is_papers_intact, 
+    is_papers_archive, ops_amount, is_ops_reimbursement, reimbursement_amount, unreimbursed_amount, 
+    reimbursement_num, reimbursement_date, evaluation_person_one, evaluation_person_two, 
+    `status`
+  </sql>
+
+
+
+</mapper>

+ 61 - 0
jeeplus-platform/jeeplus-admin/src/main/java/com/jeeplus/sys/service/UserProjectService.java

@@ -0,0 +1,61 @@
+package com.jeeplus.sys.service;
+
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jeeplus.sys.domain.UserProject;
+import com.jeeplus.sys.mapper.UserProjectMapper;
+import com.jeeplus.sys.service.dto.UserProjectDTO;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.StringUtils;
+
+import java.text.SimpleDateFormat;
+import java.util.UUID;
+
+@Service
+@Transactional
+public class UserProjectService extends ServiceImpl<UserProjectMapper, UserProject> {
+
+    public UserProject projectDtoToDate(UserProject project, UserProjectDTO projectDTO){
+        SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" );
+        try {
+            if(StrUtil.isNotEmpty(projectDTO.getEvaluationBaseDateUi()))
+                project.setEvaluationBaseDate(sdf.parse(projectDTO.getEvaluationBaseDateUi()));
+
+            if(StrUtil.isNotEmpty(projectDTO.getEvaluationReportDateUi()))
+                project.setEvaluationReportDate(sdf.parse(projectDTO.getEvaluationReportDateUi()));
+
+            if(StrUtil.isNotEmpty(projectDTO.getInvoiceDateUi()))
+                project.setInvoiceDate(sdf.parse(projectDTO.getInvoiceDateUi()));
+
+            if(StrUtil.isNotEmpty(projectDTO.getReimbursementDateUi()))
+                project.setReimbursementDate(sdf.parse(projectDTO.getReimbursementDateUi()));
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return project;
+    }
+
+    public LambdaUpdateWrapper getLambdaUpdateWrapper(UserProjectDTO project){
+        LambdaUpdateWrapper<UserProject> wrapper = new LambdaUpdateWrapper<UserProject>();
+
+        if(StrUtil.isNotEmpty(project.getId()))
+            wrapper.eq(UserProject::getId,project.getId());
+
+        if(StrUtil.isEmpty(project.getEvaluationBaseDateUi()))
+            wrapper.set(UserProject::getEvaluationBaseDate, null);
+
+        if(StrUtil.isEmpty(project.getEvaluationReportDateUi()))
+            wrapper.set(UserProject::getEvaluationReportDate, null);
+
+        if(StrUtil.isEmpty(project.getInvoiceDateUi()))
+            wrapper.set(UserProject::getInvoiceDate, null);
+
+        if(StrUtil.isEmpty(project.getReimbursementDateUi()))
+            wrapper.set(UserProject::getReimbursementDate, null);
+
+        return wrapper;
+    }
+}

+ 264 - 0
jeeplus-platform/jeeplus-admin/src/main/java/com/jeeplus/sys/service/dto/UserProjectDTO.java

@@ -0,0 +1,264 @@
+package com.jeeplus.sys.service.dto;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import cn.afterturn.easypoi.excel.annotation.ExcelIgnore;
+import com.jeeplus.core.service.dto.BaseDTO;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import javax.validation.constraints.NotEmpty;
+import java.util.Date;
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class UserProjectDTO extends BaseDTO {
+
+    /**
+     * 备注信息
+     */
+    @ExcelIgnore
+    private String remarks;
+
+    /**
+     * 客户名称
+     */
+    @Excel(name = "客户名称")
+    private String customerName;
+
+    /**
+     * 项目名称
+     */
+    @Excel(name = "项目名称")
+    private String projectName;
+
+    /**
+     * 评估目的
+     */
+    @Excel(name = "评估目的")
+    private String evaluationObjective;
+
+    /**
+     * 项目类型
+     */
+    @Excel(name = "项目类型")
+    private String projectType;
+
+    /**
+     * 评估基准日ui
+     */
+    @Excel(name = "评估基准日")
+    private String evaluationBaseDateUi;
+
+    /**
+     * 评估基准日
+     */
+    private Date evaluationBaseDate;
+
+
+    /**
+     * 评估报告日ui
+     */
+    @Excel(name = "评估报告日")
+    private String evaluationReportDateUi;
+
+    /**
+     * 评估报告日
+     */
+    private Date evaluationReportDate;
+
+
+    /**
+     * 协议号
+     */
+    @Excel(name = "协议号")
+    private String protocolNum;
+
+    /**
+     * 文号
+     */
+    @Excel(name = "文号")
+    private String documentNum;
+
+    /**
+     * 项目负责人
+     */
+    @Excel(name = "项目负责人")
+    private String projectHead;
+
+    /**
+     * 废旧物资评估(万元)
+     */
+    @Excel(name = "废旧物资评估(万元)")
+    private String waystEvaluation;
+
+    /**
+     * 固定资产评估(万元)
+     */
+    @Excel(name = "固定资产评估(万元)")
+    private String fixedAssetsEvaluation;
+
+    /**
+     * 净资产评估
+     */
+    @Excel(name = "净资产评估")
+    private String netAssetsEvaluation;
+
+    /**
+     * 租金评估(万/年)
+     */
+    @Excel(name = "租金评估(万/年)")
+    private String rentEvaluation;
+
+    /**
+     * 司法鉴定
+     */
+    @Excel(name = "司法鉴定")
+    private String forensics;
+
+    /**
+     * 报告收费(元)
+     */
+    @Excel(name = "报告收费(元)")
+    private String reportCharges;
+
+    /**
+     * 当前处理人
+     */
+    @Excel(name = "当前处理人")
+    private String currentDisposePerson;
+
+    /**
+     * 是否开票
+     */
+    @Excel(name = "是否开票")
+    private String isInvoice;
+
+    /**
+     * 开票日期ui
+     */
+    @Excel(name = "开票日期")
+    private String invoiceDateUi;
+
+    /**
+     * 开票日期
+     */
+    private Date invoiceDate;
+
+
+    /**
+     * 预估/实际收费(元)
+     */
+    @Excel(name = "客户名称")
+    private String actualCharges;
+
+    /**
+     * 合同是否存档
+     */
+    @Excel(name = "合同是否存档")
+    private String isContractArchive;
+
+    /**
+     * 底稿是否完好
+     */
+    @Excel(name = "底稿是否完好")
+    private String isPapersIntact;
+
+    /**
+     * 底稿是否归档
+     */
+    @Excel(name = "底稿是否归档")
+    private String isPapersArchive;
+
+    /**
+     * 报销外勤天数
+     */
+    @Excel(name = "报销外勤天数")
+    private String opsAmount;
+
+    /**
+     * 外勤是否已经报销
+     */
+    @Excel(name = "外勤是否已经报销")
+    private String isOpsReimbursement;
+
+    /**
+     * 已报销金额
+     */
+    @Excel(name = "已报销金额")
+    private String reimbursementAmount;
+
+    /**
+     * 未报销金额
+     */
+    @Excel(name = "未报销金额")
+    private String unreimbursedAmount;
+
+    /**
+     * 报销单号
+     */
+    @Excel(name = "报销单号")
+    private String reimbursementNum;
+
+    /**
+     * 报销日期ui
+     */
+    @Excel(name = "报销日期")
+    private String reimbursementDateUi;
+
+    /**
+     * 报销日期
+     */
+    private Date reimbursementDate;
+
+
+    /**
+     * 签字评估师1
+     */
+    @Excel(name = "签字评估师1")
+    private String evaluationPersonOne;
+
+    /**
+     * 签字评估师2
+     */
+    @Excel(name = "签字评估师2")
+    private String evaluationPersonTwo;
+
+    /**
+     * 项目状态
+     */
+    @Excel(name = "项目状态")
+    private String status;
+
+    /**
+     * 评估报告日message
+     */
+    private String assessReportMessage;
+
+    /**
+     * 评估基准日message
+     */
+    private String assessBaseMessage;
+
+    /**
+     * 开票日期message
+     */
+    private String invoiceMessage;
+
+    /**
+     * 是否已经报销提成
+     */
+    @Excel(name = "是否已经报销提成")
+    private String isCommissionReimbursement;
+
+    private static final long serialVersionUID = 1L;
+
+    public UserProjectDTO(){
+        super();
+    }
+
+    public UserProjectDTO(String id){
+        super(id);
+    }
+
+
+}

+ 14 - 0
jeeplus-platform/jeeplus-admin/src/main/java/com/jeeplus/sys/service/mapstruct/UserProjectWrapper.java

@@ -0,0 +1,14 @@
+package com.jeeplus.sys.service.mapstruct;
+
+import com.jeeplus.core.mapstruct.EntityWrapper;
+import com.jeeplus.sys.domain.UserProject;
+import com.jeeplus.sys.service.dto.UserProjectDTO;
+import org.mapstruct.Mapper;
+import org.mapstruct.ReportingPolicy;
+import org.mapstruct.factory.Mappers;
+
+@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE, uses = {})
+public interface UserProjectWrapper extends EntityWrapper<UserProjectDTO, UserProject> {
+
+    UserProjectWrapper INSTANCE = Mappers.getMapper(UserProjectWrapper.class);
+}