ソースを参照

财务项目登记后端接口代码提交

user5 2 年 前
コミット
7b9c856dc6

+ 110 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectRecords/controller/CwProjectRecordsController.java

@@ -0,0 +1,110 @@
+package com.jeeplus.test.cw.projectRecords.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.jeeplus.aop.logging.annotation.ApiLog;
+import com.jeeplus.common.utils.ResponseUtil;
+import com.jeeplus.sys.constant.enums.LogTypeEnum;
+import com.jeeplus.test.cw.projectRecords.service.CwProjectRecordsService;
+import com.jeeplus.test.cw.projectRecords.service.dto.CwProjectRecordsDTO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+
+/**
+ * 财务项目登记controller
+ * @author: 徐滕
+ * @version: 2022-11-10 14:55
+ */
+@RestController
+@Api("财务项目信息")
+@RequestMapping(value = "/cwProjectRecords")
+public class CwProjectRecordsController {
+
+    @Resource
+    private CwProjectRecordsService cwProjectRecordsService;
+
+    /**
+     * 查询财务项目信息列表
+     * @param cwProjectRecordsDTO
+     * @param page
+     * @return
+     */
+    @ApiLog("查询财务项目信息列表")
+    @PreAuthorize("hasAuthority('cwProjectRecords:list')")
+    @GetMapping("list")
+    public ResponseEntity<IPage<CwProjectRecordsDTO>> data(CwProjectRecordsDTO cwProjectRecordsDTO, Page<CwProjectRecordsDTO> page) throws Exception {
+        IPage<CwProjectRecordsDTO> result = new Page<CwProjectRecordsDTO>();
+        result = cwProjectRecordsService.findList (page,cwProjectRecordsDTO);
+        return ResponseEntity.ok (result);
+    }
+
+    /**
+     * 查询财务项目详情
+     * @param id
+     * @return
+     */
+    @ApiLog("查询财务项目详情")
+    @PreAuthorize ("hasAnyAuthority('cwProjectRecords:view','cwProjectRecords:add','cwProjectRecords:edit')")
+    @GetMapping("queryById")
+    public ResponseEntity queryById(@RequestParam("id") String id) {
+        CwProjectRecordsDTO cwProjectRecordsDTO = cwProjectRecordsService.queryById ( id );
+        return ResponseEntity.ok (cwProjectRecordsDTO);
+    }
+
+    /**
+     * 保存财务项目信息
+     * @param cwProjectRecordsDTO
+     * @return
+     */
+    @ApiLog(value = "修改/新增财务项目信息", type = LogTypeEnum.SAVE)
+    @PreAuthorize("hasAnyAuthority('cwProjectRecords:add','cwProjectRecords:edit')")
+    @PostMapping("save")
+    public ResponseEntity save(@Valid @RequestBody CwProjectRecordsDTO cwProjectRecordsDTO) throws Exception {
+        cwProjectRecordsService.save(cwProjectRecordsDTO);
+        return ResponseEntity.ok ("操作成功");
+    }
+
+    /**
+     * 保存财务项目信息-流程
+     * @param cwProjectRecordsDTO
+     * @return
+     */
+    @ApiLog(value = "保存财务项目信息-流程", type = LogTypeEnum.SAVE)
+    @PreAuthorize("hasAnyAuthority('cwProjectRecords:add','cwProjectRecords:edit')")
+    @PostMapping("saveForm")
+    public ResponseEntity saveForm(@Valid @RequestBody CwProjectRecordsDTO cwProjectRecordsDTO) throws Exception {
+        String id = cwProjectRecordsService.saveForm(cwProjectRecordsDTO);
+        return ResponseUtil.newInstance().add("businessTable", "cw_project_records").add("businessId", id).ok ("操作成功");
+    }
+
+    /**
+     * 删除财务项目信息
+     * @param ids
+     * @return
+     */
+    @ApiLog(value = "删除财务项目信息", type = LogTypeEnum.SAVE)
+    @PreAuthorize ("hasAuthority('cwProjectRecords:del')")
+    @DeleteMapping("delete")
+    public ResponseEntity delete(String ids) {
+        return cwProjectRecordsService.deleteByIds(ids);
+    }
+
+    /**
+     * 根据id修改状态值status
+     * @param dto
+     * @return
+     */
+    @ApiOperation(value = "根据id修改状态值status")
+    @PostMapping(value = "/updateStatusById")
+    public ResponseEntity<String> updateStatusById(@RequestBody CwProjectRecordsDTO dto) {
+        String s = cwProjectRecordsService.updateStatusById(dto);
+        return ResponseEntity.ok(s);
+    }
+
+}

+ 22 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectRecords/domain/CwProjectClientInfo.java

@@ -0,0 +1,22 @@
+package com.jeeplus.test.cw.projectRecords.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import lombok.Data;
+
+/**
+ * 项目被服务单位数据表
+ * @author: 徐滕
+ * @version: 2022-11-10 16:17
+ */
+@Data
+@TableName("cw_project_client_id")
+public class CwProjectClientInfo extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    private String projectId;       //项目id
+    private String clientId;        //客户id
+    private String clientNumber;    //客户编号
+    private String clientName;      //客户名称
+    private String companyLevel;    //客户层级
+}

+ 89 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectRecords/domain/CwProjectRecords.java

@@ -0,0 +1,89 @@
+package com.jeeplus.test.cw.projectRecords.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import com.jeeplus.core.query.Query;
+import com.jeeplus.core.query.QueryType;
+import com.jeeplus.sys.service.dto.OfficeDTO;
+import com.jeeplus.sys.service.dto.UserDTO;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author: 徐滕
+ * @version: 2022-11-10 14:55
+ */
+@Data
+@TableName("cw_project_records")
+public class CwProjectRecords extends BaseEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 备注信息
+     */
+    private String remarks;
+
+    /**
+     * 项目编号
+     */
+    private String projectNumber;
+
+    /**
+     * 项目名称
+     */
+    private String projectName;
+
+    /**
+     * 项目所属部门
+     */
+    @Query(type = QueryType.EQ, tableColumn = "su.office.id", javaField = "officeDTO.id")
+    private OfficeDTO officeDTO;
+
+    /**
+     * 项目金额
+     */
+    private String projectMoney;
+
+    /**
+     * 审计期间
+     */
+    private String auditYear;
+
+    /**
+     * 项目计划开始时间
+     */
+    private Date planStartDate;
+
+    /**
+     * 项目计划结束时间
+     */
+    private Date planEndDate;
+
+    /**
+     * 项目经理
+     */
+    @Query(tableColumn = "a.project_master_id", javaField = "master.id", type = QueryType.EQ)
+    private UserDTO projectMaster;
+
+    /**
+     * 现场负责人
+     */
+    @Query(tableColumn = "a.project_leader_id", javaField = "leader.id", type = QueryType.EQ)
+    private UserDTO projectLeader;
+
+    /**
+     * 流程id
+     */
+    private String procInsId;
+
+    private String processDefinitionId;
+
+    /**
+     * 状态
+     */
+    @Query
+    private String status;
+
+}

+ 51 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectRecords/mapper/CwProjectRecordsMapper.java

@@ -0,0 +1,51 @@
+package com.jeeplus.test.cw.projectRecords.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.jeeplus.test.cw.projectRecords.domain.CwProjectRecords;
+import com.jeeplus.test.cw.projectRecords.service.dto.CwProjectClientInfoDTO;
+import com.jeeplus.test.cw.projectRecords.service.dto.CwProjectRecordsDTO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 财务项目登记mapper
+ * @author: 徐滕
+ * @version: 2022-11-10 14:56
+ */
+@Mapper
+public interface CwProjectRecordsMapper extends BaseMapper<CwProjectRecords> {
+    /**
+     * 查询项目数据集合
+     * @param page
+     * @param queryWrapper
+     * @return
+     */
+    IPage<CwProjectRecordsDTO> findList(Page<CwProjectRecordsDTO> page, @Param(Constants.WRAPPER) QueryWrapper<CwProjectRecords> queryWrapper);
+
+    /**
+     * 根据id查询项目详情
+     * @param id
+     * @return
+     */
+    CwProjectRecordsDTO queryById(@Param("id") String id);
+
+    /**
+     * 根据项目id删除项目相关的所有被服务单位
+     * @param projectId
+     * @return
+     */
+    Integer deleteProjectClientInfoByProjectId(@Param("projectId") String projectId);
+
+    /**
+     * 保存被服务单位信息
+     * @param cwProjectClientInfoList
+     * @return
+     */
+    Integer insertProjectClientInfoList(@Param("cwProjectClientInfoList") List<CwProjectClientInfoDTO> cwProjectClientInfoList);
+}

+ 136 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectRecords/mapper/xml/CwProjectRecordsMapper.xml

@@ -0,0 +1,136 @@
+<?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.test.cw.projectRecords.mapper.CwProjectRecordsMapper">
+
+    <resultMap id="BaseResultMap" type="com.jeeplus.test.cw.projectRecords.service.dto.CwProjectRecordsDTO">
+        <id property="id" column="id" jdbcType="VARCHAR"/>
+        <result property="createBy.id" column="create_by" jdbcType="VARCHAR"/>
+        <result property="createDate" column="create_date" jdbcType="TIMESTAMP"/>
+        <result property="updateBy.id" column="update_by" jdbcType="VARCHAR"/>
+        <result property="updateDate" column="update_date" jdbcType="TIMESTAMP"/>
+        <result property="delFlag" column="del_flag" jdbcType="INTEGER"/>
+        <result property="remarks" column="remarks" jdbcType="VARCHAR"/>
+
+        <result property="projectNumber" column="project_number" jdbcType="VARCHAR"/>
+        <result property="projectName" column="project_name" jdbcType="VARCHAR"/>
+        <result property="officeDTO.id" column="office_id" jdbcType="VARCHAR"/>
+        <result property="projectMoney" column="project_money" jdbcType="VARCHAR"/>
+        <result property="auditYear" column="audit_year" jdbcType="VARCHAR"/>
+        <result property="planStartDate" column="plan_start_date" jdbcType="TIMESTAMP"/>
+        <result property="planEndDate" column="plan_end_date" jdbcType="TIMESTAMP"/>
+        <result property="projectMaster.id" column="project_master_id" jdbcType="VARCHAR"/>
+        <result property="projectLeader.id" column="project_leader_id" jdbcType="VARCHAR"/>
+        <result property="procInsId" column="proc_ins_id" jdbcType="VARCHAR"/>
+        <result property="processDefinitionId" column="process_definition_id" jdbcType="VARCHAR"/>
+        <result property="status" column="status" jdbcType="VARCHAR"/>
+        <collection property="cwProjectClientInfoDTOList" ofType="com.jeeplus.test.cw.projectRecords.service.dto.CwProjectClientInfoDTO" column="id" select="getProjectClient"></collection>
+        <collection property="workAttachmentDtoList" ofType="com.jeeplus.test.workContract.service.dto.WorkAttachmentDto" column="id" select="getFileList"></collection>
+    </resultMap>
+
+    <resultMap id="AttachmentMap" type="com.jeeplus.test.workContract.service.dto.WorkAttachmentDto">
+        <id property="id" column="id" jdbcType="VARCHAR"/>
+        <result property="createBy.id" column="create_by" jdbcType="VARCHAR"/>
+        <result property="createDate" column="create_date" jdbcType="TIMESTAMP"/>
+        <result property="updateBy.id" column="update_by" jdbcType="VARCHAR"/>
+        <result property="createBy.name" column="create_name" jdbcType="VARCHAR"/>
+        <result property="updateDate" column="update_date" jdbcType="TIMESTAMP"/>
+        <result property="delFlag" column="del_flag" jdbcType="VARCHAR"/>
+        <result property="url" column="url" jdbcType="VARCHAR"/>
+        <result property="name" column="attachment_name" jdbcType="VARCHAR"/>
+        <result property="size" column="file_size" jdbcType="VARCHAR"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        a.id,
+        a.create_by,
+        a.create_date,
+        a.update_by,
+        a.update_date,
+        a.del_flag,
+        a.remarks,
+        a.project_number,
+        a.project_name,
+        a.office_id,
+        a.project_money,
+        a.audit_year,
+        a.plan_start_date,
+        a.plan_end_date,
+        a.project_master_id,
+        a.project_leader_id,
+        a.proc_ins_id,
+        a.status,
+        a.process_definition_id
+    </sql>
+    <sql id="File_Column_List">
+        wa.id,
+        wa.create_by,
+        wa.create_date,
+        wa.update_by,
+        wa.update_date,
+        wa.remarks,
+        wa.del_flag,
+        wa.url,
+        wa.type,
+        wa.attachment_id,
+        wa.attachment_name,
+        wa.attachment_flag,
+        wa.module_type,
+        wa.attachment_type,
+        wa.file_size,
+        wa.sort,
+        wa.description
+    </sql>
+
+    <sql id="Project_Client_List">
+        cw_pci.project_id,
+        cw_pci.client_id,
+        cw_wcb.no as "clientNumber",
+        cw_wcb.name as "clientName",
+        cw_wcb.company_level as "companyLevel",
+    </sql>
+
+    <select id="getProjectClient" resultType="com.jeeplus.test.cw.workClientInfo.service.dto.CwWorkClientTypeDTO">
+        select
+        <include refid="Project_Client_List"></include>
+        from cw_project_client_info cw_pci
+        left join cw_work_client_base cw_wcb on cw_wcb.id = cw_pci.client_id
+        where cw_wct.del_flag = '0' and cw_pci.project_id = #{id}
+    </select>
+
+
+
+    <select id="getFileList" resultMap="AttachmentMap">
+        select
+        <include refid="File_Column_List"></include>,
+        su.name as create_name
+        from work_attachment wa
+        left join sys_user su on su.id = wa.create_by and su.del_flag = '0'
+        where wa.del_flag = '0' and wa.attachment_id = #{id}
+    </select>
+
+    <select id="findList" resultMap="BaseResultMap">
+        select
+        <include refid="Base_Column_List"></include>
+        from cw_work_client_base a
+        ${ew.customSqlSegment}
+    </select>
+
+    <select id="queryById" resultMap="BaseResultMap">
+        select
+        <include refid="Base_Column_List"></include>
+        from cw_work_client_base a
+        where a.del_flag = '0' and a.id = ${id}
+    </select>
+
+    <delete id="deleteProjectClientInfoByProjectId">
+        delete from cw_project_client_info from project_id = #{projectId}
+    </delete>
+
+    <insert id="insertProjectClientInfoList">
+        <foreach collection="cwProjectClientInfoList" item="item" separator=";">
+            insert into cw_project_client_info(project_id,client_id) values(#{item.projectId},#{item.clientId})
+        </foreach>
+    </insert>
+</mapper>

+ 123 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectRecords/service/CwProjectRecordsService.java

@@ -0,0 +1,123 @@
+package com.jeeplus.test.cw.projectRecords.service;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.google.common.collect.Lists;
+import com.jeeplus.core.query.QueryWrapperGenerator;
+import com.jeeplus.test.cw.projectRecords.domain.CwProjectRecords;
+import com.jeeplus.test.cw.projectRecords.mapper.CwProjectRecordsMapper;
+import com.jeeplus.test.cw.projectRecords.service.dto.CwProjectClientInfoDTO;
+import com.jeeplus.test.cw.projectRecords.service.dto.CwProjectRecordsDTO;
+import com.jeeplus.test.cw.projectRecords.service.mapstruct.CwProjectRecordsWrapper;
+import com.jeeplus.test.oss.service.OssService;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 财务项目登记service
+ * @author: 徐滕
+ * @version: 2022-11-10 14:56
+ */
+@Service
+@Transactional
+public class CwProjectRecordsService extends ServiceImpl<CwProjectRecordsMapper, CwProjectRecords> {
+
+    @Resource
+    private CwProjectRecordsMapper cwProjectRecordsMapper;
+    @Resource
+    private OssService ossService;
+
+    /**
+     * 差选项目列表信息
+     * @param page
+     * @param cwProjectRecordsDTO
+     * @return
+     * @throws Exception
+     */
+    public IPage<CwProjectRecordsDTO> findList(Page<CwProjectRecordsDTO> page, CwProjectRecordsDTO cwProjectRecordsDTO) throws Exception{
+        QueryWrapper<CwProjectRecords> queryWrapper = QueryWrapperGenerator.buildQueryCondition ( CwProjectRecordsWrapper.INSTANCE.toEntity(cwProjectRecordsDTO), CwProjectRecords.class );
+        queryWrapper.eq("a.del_flag","0");
+        queryWrapper.orderByDesc("a.create_date");
+        IPage<CwProjectRecordsDTO> list = cwProjectRecordsMapper.findList(page, queryWrapper);
+        return list;
+    }
+
+    /**
+     * 根据id查询项目详情
+     * @param id
+     * @return
+     */
+    public CwProjectRecordsDTO queryById(String id) {
+        CwProjectRecordsDTO cwProjectRecordsDTO = cwProjectRecordsMapper.queryById(id);
+        return cwProjectRecordsDTO;
+    }
+
+    /**
+     * 保存项目以及其他相关信息
+     * @param cwProjectRecordsDTO
+     * @return
+     * @throws Exception
+     */
+    public String saveForm(CwProjectRecordsDTO cwProjectRecordsDTO) throws Exception{
+        CwProjectRecords cwWorkClientBase = CwProjectRecordsWrapper.INSTANCE.toEntity(cwProjectRecordsDTO);
+        this.saveOrUpdate(cwWorkClientBase);
+        if (ObjectUtil.isNotEmpty(cwProjectRecordsDTO)) {
+            // 附件
+            ossService.saveOrUpdateFileList(cwProjectRecordsDTO.getWorkAttachmentDtoList(),cwWorkClientBase.getId(),"cw_project_repords");
+            // 被服务单位
+            //根据项目id删除原有的被服务单位数据信息
+            cwProjectRecordsMapper.deleteProjectClientInfoByProjectId(cwProjectRecordsDTO.getId());
+
+            if(null != cwProjectRecordsDTO.getCwProjectClientInfoDTOList() && cwProjectRecordsDTO.getCwProjectClientInfoDTOList().size()>0){
+                //根据项目id添加新的被服务单位信息
+                List<CwProjectClientInfoDTO> cwProjectClientInfoDTOList = cwProjectRecordsDTO.getCwProjectClientInfoDTOList();
+                for (CwProjectClientInfoDTO projectClientInfo : cwProjectClientInfoDTOList) {
+                    projectClientInfo.setProjectId(cwProjectRecordsDTO.getId());
+                }
+                //对数据进行批量插入
+                cwProjectRecordsMapper.insertProjectClientInfoList(cwProjectClientInfoDTOList);
+            }
+        }
+        return cwWorkClientBase.getId();
+    }
+
+    /**
+     * 保存项目信息
+     * @param cwProjectRecordsDTO
+     * @return
+     * @throws Exception
+     */
+    public ResponseEntity save(CwProjectRecordsDTO cwProjectRecordsDTO) throws Exception{
+        this.saveForm(cwProjectRecordsDTO);
+        return ResponseEntity.ok("保存成功");
+    }
+
+    /**
+     * 根据id删除项目信息
+     * @param ids
+     * @return
+     */
+    public ResponseEntity deleteByIds(String ids) {
+        String idArray[] =ids.split(",");
+        this.removeByIds (Lists.newArrayList (idArray));
+        return ResponseEntity.ok ("删除成功");
+    }
+
+    /**
+     * 修改状态
+     * @param cwProjectRecordsDTO
+     * @return
+     */
+    public String updateStatusById(CwProjectRecordsDTO cwProjectRecordsDTO) {
+        CwProjectRecords cwProjectRecords = CwProjectRecordsWrapper.INSTANCE.toEntity(cwProjectRecordsDTO);
+        cwProjectRecordsMapper.update(cwProjectRecords, new QueryWrapper<CwProjectRecords>().lambda().eq(CwProjectRecords::getId, cwProjectRecords.getId()));
+        return "操作成功";
+    }
+}

+ 21 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectRecords/service/dto/CwProjectClientInfoDTO.java

@@ -0,0 +1,21 @@
+package com.jeeplus.test.cw.projectRecords.service.dto;
+
+import com.jeeplus.core.service.dto.BaseDTO;
+import lombok.Data;
+
+/**
+ * 项目被服务单位数据表
+ * @author: 徐滕
+ * @version: 2022-11-10 16:16
+ */
+
+@Data
+public class CwProjectClientInfoDTO extends BaseDTO {
+    private static final long serialVersionUID = 1L;
+
+    private String projectId;       //项目id
+    private String clientId;        //客户id
+    private String clientNumber;    //客户编号
+    private String clientName;      //客户名称
+    private String companyLevel;    //客户层级
+}

+ 98 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectRecords/service/dto/CwProjectRecordsDTO.java

@@ -0,0 +1,98 @@
+package com.jeeplus.test.cw.projectRecords.service.dto;
+
+import com.jeeplus.core.query.Query;
+import com.jeeplus.core.query.QueryType;
+import com.jeeplus.core.service.dto.BaseDTO;
+import com.jeeplus.sys.service.dto.OfficeDTO;
+import com.jeeplus.sys.service.dto.UserDTO;
+import com.jeeplus.test.workContract.service.dto.WorkAttachmentDto;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author: 徐滕
+ * @version: 2022-11-10 15:02
+ */
+@Data
+public class CwProjectRecordsDTO extends BaseDTO {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 备注信息
+     */
+    private String remarks;
+
+    /**
+     * 项目编号
+     */
+    private String projectNumber;
+
+    /**
+     * 项目名称
+     */
+    private String projectName;
+
+    /**
+     * 项目所属部门
+     */
+    @Query(type = QueryType.EQ, tableColumn = "su.office.id", javaField = "officeDTO.id")
+    private OfficeDTO officeDTO;
+
+    /**
+     * 项目金额
+     */
+    private String projectMoney;
+
+    /**
+     * 审计期间
+     */
+    private String auditYear;
+
+    /**
+     * 项目计划开始时间
+     */
+    private Date planStartDate;
+
+    /**
+     * 项目计划结束时间
+     */
+    private Date planEndDate;
+
+    /**
+     * 项目经理
+     */
+    @Query(tableColumn = "a.project_master", javaField = "master.id", type = QueryType.EQ)
+    private UserDTO projectMaster;
+
+    /**
+     * 现场负责人
+     */
+    @Query(tableColumn = "a.project_leader", javaField = "leader.id", type = QueryType.EQ)
+    private UserDTO projectLeader;
+
+    /**
+     * 流程id
+     */
+    private String procInsId;
+
+    private String processDefinitionId;
+
+    /**
+     * 状态
+     */
+    @Query
+    private String status;
+
+
+    /**
+     * 附件
+     */
+    private List<WorkAttachmentDto> workAttachmentDtoList;
+
+    /**
+     * 被服务单位信息
+     */
+    private List<CwProjectClientInfoDTO> cwProjectClientInfoDTOList;
+}

+ 16 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectRecords/service/mapstruct/CwProjectRecordsWrapper.java

@@ -0,0 +1,16 @@
+package com.jeeplus.test.cw.projectRecords.service.mapstruct;
+
+import com.jeeplus.core.mapstruct.EntityWrapper;
+import com.jeeplus.test.cw.projectRecords.domain.CwProjectRecords;
+import com.jeeplus.test.cw.projectRecords.service.dto.CwProjectRecordsDTO;
+import org.mapstruct.Mapper;
+import org.mapstruct.ReportingPolicy;
+import org.mapstruct.factory.Mappers;
+
+
+@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE, uses = {})
+public interface CwProjectRecordsWrapper extends EntityWrapper<CwProjectRecordsDTO, CwProjectRecords> {
+
+    CwProjectRecordsWrapper INSTANCE = Mappers.getMapper(CwProjectRecordsWrapper.class);
+
+}