瀏覽代碼

Merge remote-tracking branch 'origin/master'

lizhenhao 2 年之前
父節點
當前提交
f61bb8a181
共有 18 個文件被更改,包括 980 次插入9 次删除
  1. 5 3
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/oss/service/OssService.java
  2. 100 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/controller/ProjectListController.java
  3. 184 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/domain/ProgramProjectListInfo.java
  4. 25 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/domain/ProgramProjectListLink.java
  5. 21 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/domain/ProgramProjectListMember.java
  6. 11 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/mapper/ProjectLinkMapper.java
  7. 21 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/mapper/ProjectListMapper.java
  8. 12 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/mapper/ProjectMemberMapper.java
  9. 9 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/mapper/xml/ProjectLinkMapper.xml
  10. 118 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/mapper/xml/ProjectListMapper.xml
  11. 9 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/mapper/xml/ProjectMemberMapper.xml
  12. 257 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/service/ProjectListService.java
  13. 14 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/service/dto/ContractDto.java
  14. 131 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/service/dto/ProjectListDto.java
  15. 10 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workClientInfo/controller/WorkClientController.java
  16. 3 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workClientInfo/domain/WorkClientInfo.java
  17. 10 3
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workClientInfo/service/WorkClientService.java
  18. 40 3
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/domain/WorkContractInfo.java

+ 5 - 3
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/oss/service/OssService.java

@@ -95,13 +95,15 @@ public class OssService extends ServiceImpl<OssServiceMapper,WorkAttachment> {
                 //排序赋值
                 //排序赋值
                 workAttachment.setSort(i);
                 workAttachment.setSort(i);
                 //基础信息赋值
                 //基础信息赋值
-                workAttachment.getCreateBy().setId(id);
+                //workAttachment.getCreateBy().setId(id);
                 workAttachment.setCreateDate(new Date());
                 workAttachment.setCreateDate(new Date());
-                workAttachment.getUpdateBy().setId(id);
+                //workAttachment.getUpdateBy().setId(id);
                 workAttachment.setUpdateDate(new Date());
                 workAttachment.setUpdateDate(new Date());
                 workAttachment.setDelFlag(0);
                 workAttachment.setDelFlag(0);
                 i++;
                 i++;
-                ossServiceMapper.insert(workAttachment);
+
+                UserDTO userDTO = UserUtils.getCurrentUserDTO();
+                ossServiceMapper.insertWorkAttachment(workAttachment, userDTO);
             }
             }
             log.info("保存操作执行完成");
             log.info("保存操作执行完成");
         }
         }

+ 100 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/controller/ProjectListController.java

@@ -0,0 +1,100 @@
+package com.jeeplus.test.program.configuration.projectList.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.jeeplus.common.utils.ResponseUtil;
+import com.jeeplus.test.program.configuration.projectList.domain.ProgramProjectListInfo;
+import com.jeeplus.test.program.configuration.projectList.service.ProjectListService;
+import com.jeeplus.test.program.configuration.projectList.service.dto.ContractDto;
+import com.jeeplus.test.program.configuration.projectList.service.dto.ProjectListDto;
+import com.jeeplus.test.workContract.domain.WorkContractInfo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+
+@Api(tags ="项目列表管理")
+@RestController
+@RequestMapping(value = "/program/projectList")
+public class ProjectListController {
+
+    @Resource
+    private ProjectListService projectListService;
+
+    /**
+     * 新增/修改
+     */
+    @ApiOperation(value = "新增/修改")
+    @PostMapping(value = "/save")
+    public ResponseEntity<String> save(@RequestBody ProjectListDto projectListDto) throws Exception{
+        String id = projectListService.save(projectListDto);
+        return ResponseUtil.newInstance().add("businessTable", "program_project_list_info").add("businessId", id).ok ("操作成功");
+    }
+
+    /**
+     * 根据id查询
+     * @param id
+     * @return
+     */
+    @ApiOperation(value = "根据id查询")
+    @GetMapping(value = "/findById")
+    public ResponseEntity<ProjectListDto> save(@RequestParam String id){
+        ProjectListDto dto = projectListService.findById(id);
+        return ResponseEntity.ok(dto);
+    }
+
+    /**
+     * 根据id删除
+     * @param id
+     * @return
+     */
+    @ApiOperation(value = "根据id删除")
+    @GetMapping(value = "/deleteById")
+    public ResponseEntity<String> deleteById(@RequestParam String id){
+        String s = projectListService.deleteById(id);
+        return ResponseEntity.ok(s);
+    }
+
+    /**
+     * 合同信息列表查询
+     * @param dto
+     * @param page
+     * @return
+     */
+    @ApiOperation(value = "合同信息列表查询")
+    @GetMapping(value = "/findContractPageList")
+    public ResponseEntity<IPage<WorkContractInfo>> findContractPageList(ContractDto dto, Page<WorkContractInfo> page) {
+        IPage<WorkContractInfo> pageList = projectListService.findContractPageList(dto, page);
+        return ResponseEntity.ok(pageList);
+    }
+
+    /**
+     * 根据id修改状态值status
+     * @param dto
+     * @return
+     */
+    @ApiOperation(value = "根据id修改状态值status")
+    @PostMapping(value = "/updateStatusById")
+    public ResponseEntity<String> updateStatusById(@RequestBody ProjectListDto dto) {
+        String s = projectListService.updateStatusById(dto);
+        return ResponseEntity.ok(s);
+    }
+
+    /**
+     * 合同登记列表
+     * @param info
+     * @param page
+     * @return
+     * @throws Exception
+     */
+    @ApiOperation(value = "合同登记列表")
+    @GetMapping(value = "/list")
+    public ResponseEntity<IPage<ProgramProjectListInfo>> list(ProgramProjectListInfo info, Page<ProgramProjectListInfo> page) throws Exception {
+        IPage<ProgramProjectListInfo> list = projectListService.list(page, info);
+        return ResponseEntity.ok (list);
+    }
+
+
+}

+ 184 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/domain/ProgramProjectListInfo.java

@@ -0,0 +1,184 @@
+package com.jeeplus.test.program.configuration.projectList.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.jeeplus.core.domain.BaseEntity;
+import com.jeeplus.core.query.Query;
+import lombok.Data;
+import org.apache.poi.hpsf.Decimal;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@TableName(value = "program_project_list_info")
+public class ProgramProjectListInfo {
+
+    /**
+     * 实体主键
+     */
+    @TableId
+    private String id;
+
+    /**
+     * 创建日期
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private Date createDate;
+
+    /**
+     * 创建人
+     */
+    @Query(tableColumn = "a.create_by")
+    @TableField(fill = FieldFill.INSERT)
+    private String createBy;
+
+    /**
+     * 更新日期
+     */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Date updateDate;
+
+    /**
+     * 更新人
+     */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    /**
+     * 逻辑删除标记
+     */
+    @TableLogic
+    @TableField(fill = FieldFill.INSERT)
+    private Integer delFlag;
+
+    private String contractId;
+
+    /**
+     * 合同名称
+     */
+    @Query(tableColumn = "a.contract_name")
+    private String contractName;
+
+    /**
+     * 委托方
+     */
+    @Query(tableColumn = "a.client")
+    private String client;
+
+    private String amount;
+
+    private String contractType;
+
+    /**
+     * 项目名称
+     */
+    @Query(tableColumn = "a.name")
+    private String name;
+
+    /**
+     * 项目编号
+     */
+    @Query(tableColumn = "a.no")
+    private String no;
+
+    private String projectType;
+
+    private String company;
+
+    private String propertyHolder;
+
+    private String location;
+
+    private String isFirst;
+
+    private String yearNum;
+
+    private String checkYear;
+
+    /**
+     * 项目经理(项目责任人)
+     */
+    private String projectManager;
+
+    private String reportType;
+
+    private String industry;
+
+    private String enterpriseType;
+
+    private String riskLevel;
+
+    private String projectSource;
+
+    private BigDecimal estimate;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+    private Date planEndTime;
+
+    private Integer useNum;
+
+    private Integer appointment;
+
+    private Double workHours;
+
+    private String remarks;
+
+    private String assessmentEnterprise;
+
+    private String linkNum;
+
+    private String relationship;
+
+    private String assessmentWay;
+
+    private String assessmentObjective;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+    private Date assessmentDate;
+
+    private BigDecimal num;
+
+    private String projectDevelopment;
+
+    private String delegateProjectType;
+
+    private String assessmentObject;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+    private Date workBeginDate;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+    private Date workEndDate;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+    private Date reportingDate;
+
+    private String isHave;
+
+    private String isInfluence;
+
+    private String mode;
+
+    /**
+     * 状态
+     */
+    @Query(tableColumn = "a.status")
+    private String status;
+
+    private String procInsId;
+
+    private String processDefinitionId;
+
+    /**
+     * 创建时间
+     */
+    @TableField(exist = false)
+    private String[] createDates;
+}

+ 25 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/domain/ProgramProjectListLink.java

@@ -0,0 +1,25 @@
+package com.jeeplus.test.program.configuration.projectList.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import lombok.Data;
+
+@Data
+@TableName(value = "program_project_list_link")
+public class ProgramProjectListLink extends BaseEntity {
+
+    private String type;
+
+    private String infoId;
+
+    private String contacts;
+
+    private String linkMobilePhoneFirst;
+
+    private String linkMobilePhoneSecoed;
+
+    private String job;
+
+    private String remarks;
+
+}

+ 21 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/domain/ProgramProjectListMember.java

@@ -0,0 +1,21 @@
+package com.jeeplus.test.program.configuration.projectList.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import lombok.Data;
+
+@Data
+@TableName(value = "program_project_list_member")
+public class ProgramProjectListMember extends BaseEntity {
+
+    private String infoId;
+
+    private String name;
+
+    private String workHours;
+
+    private String type;
+
+    private String job;
+
+}

+ 11 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/mapper/ProjectLinkMapper.java

@@ -0,0 +1,11 @@
+package com.jeeplus.test.program.configuration.projectList.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jeeplus.test.program.configuration.projectList.domain.ProgramProjectListLink;
+import org.apache.ibatis.annotations.Param;
+
+public interface ProjectLinkMapper extends BaseMapper<ProgramProjectListLink> {
+
+    void deleteByInfoId(@Param("id") String id);
+
+}

+ 21 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/mapper/ProjectListMapper.java

@@ -0,0 +1,21 @@
+package com.jeeplus.test.program.configuration.projectList.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.oss.domain.WorkAttachment;
+import com.jeeplus.test.program.configuration.projectList.domain.ProgramProjectListInfo;
+import com.jeeplus.test.program.configuration.projectList.service.dto.ContractDto;
+import com.jeeplus.test.workContract.domain.WorkContractInfo;
+import org.apache.ibatis.annotations.Param;
+
+public interface ProjectListMapper extends BaseMapper<ProgramProjectListInfo> {
+
+    IPage<WorkContractInfo> findContractPageList(Page<WorkContractInfo> page, @Param("dto") ContractDto dto);
+
+    void updateStatusById(@Param("id")String id, @Param("status")String status);
+
+    IPage<ProgramProjectListInfo> findPageList(Page<ProgramProjectListInfo> page, @Param(Constants.WRAPPER) QueryWrapper<ProgramProjectListInfo> wrapper);
+}

+ 12 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/mapper/ProjectMemberMapper.java

@@ -0,0 +1,12 @@
+package com.jeeplus.test.program.configuration.projectList.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jeeplus.test.program.configuration.projectList.domain.ProgramProjectListInfo;
+import com.jeeplus.test.program.configuration.projectList.domain.ProgramProjectListMember;
+import org.apache.ibatis.annotations.Param;
+
+public interface ProjectMemberMapper extends BaseMapper<ProgramProjectListMember> {
+
+    void deleteByInfoId(@Param("id") String id);
+
+}

+ 9 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/mapper/xml/ProjectLinkMapper.xml

@@ -0,0 +1,9 @@
+<?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.program.configuration.projectList.mapper.ProjectLinkMapper">
+
+   <delete id="deleteByInfoId">
+       UPDATE program_project_list_link SET del_flag = 1 WHERE del_flag = 0 AND info_id = #{id}
+   </delete>
+
+</mapper>

+ 118 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/mapper/xml/ProjectListMapper.xml

@@ -0,0 +1,118 @@
+<?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.program.configuration.projectList.mapper.ProjectListMapper">
+
+   <select id="findContractPageList" resultType="com.jeeplus.test.workContract.domain.WorkContractInfo">
+       SELECT
+            a.id,
+            a.create_date,
+            a.update_by,
+            a.update_date,
+            a.del_flag,
+            a.client_id,
+            a.client_name,
+            a.no,
+            a.name,
+            a.contract_date,
+            a.effective_date,
+            a.closing_date,
+            a.contract_type,
+            a.contract_amount_type,
+            a.contract_amount,
+            a.contract_opposite,
+            a.contract_fee,
+            a.fees,
+            a.describes,
+            a.contract_special,
+            a.remarks,
+            a.filed_by,
+            a.filed_date,
+            a.filed_no,
+            a.confirm_filed_no,
+            a.filed_remarks,
+            a.proc_ins_id,
+            a.process_definition_id,
+            a.status,
+            a.filed_type,
+            a.borrow_type,
+            b.NAME AS create_by
+        FROM
+            work_contract_info a
+            LEFT JOIN sys_user b ON a.create_by = b.id
+        WHERE
+            a.del_flag = 0
+            <if test="dto.createBy != null and dto.createBy != ''">
+                AND b.id = #{dto.createBy}
+            </if>
+           <if test="dto.name != null and dto.name != ''">
+               AND a.name LIKE CONCAT ('%', #{dto.name}, '%')
+           </if>
+           <if test="dto.clientName != null and dto.clientName != ''">
+               AND a.client_name LIKE CONCAT ('%', #{dto.clientName}, '%')
+           </if>
+            ORDER BY a.create_by DESC
+   </select>
+
+    <update id="updateStatusById">
+        UPDATE program_project_list_info SET `status` = #{status} WHERE id = #{id}
+    </update>
+
+    <select id="findPageList" resultType="com.jeeplus.test.program.configuration.projectList.domain.ProgramProjectListInfo">
+        SELECT
+            a.id,
+            b.name AS create_by,
+            a.create_date,
+            a.update_by,
+            a.update_date,
+            a.del_flag,
+            a.contract_id,
+            a.contract_name,
+            a.client,
+            a.amount,
+            a.contract_type,
+            a.name,
+            a.no,
+            a.project_type,
+            a.company,
+            a.property_holder,
+            a.location,
+            a.is_first,
+            a.year_num,
+            a.check_year,
+            a.project_manager,
+            a.report_type,
+            a.industry,
+            a.enterprise_type,
+            a.risk_level,
+            a.project_source,
+            a.estimate,
+            a.plan_end_time,
+            a.use_num,
+            a.appointment,
+            a.work_hours,
+            a.remarks,
+            a.assessment_enterprise,
+            a.link_num,
+            a.relationship,
+            a.assessment_way,
+            a.assessment_objective,
+            a.assessment_date,
+            a.num,
+            a.project_development,
+            a.delegate_project_type,
+            a.assessment_object,
+            a.work_begin_date,
+            a.work_end_date,
+            a.reporting_date,
+            a.is_have,
+            a.is_influence,
+            a.mode,
+            a.status
+        FROM
+            program_project_list_info a
+            LEFT JOIN sys_user b ON a.create_by = b.id
+            ${ew.customSqlSegment}
+            ORDER BY a.update_date DESC
+    </select>
+
+</mapper>

+ 9 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/mapper/xml/ProjectMemberMapper.xml

@@ -0,0 +1,9 @@
+<?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.program.configuration.projectList.mapper.ProjectMemberMapper">
+
+   <delete id="deleteByInfoId">
+       UPDATE program_project_list_member SET del_flag = 1 WHERE del_flag = 0 AND info_id = #{id}
+   </delete>
+
+</mapper>

+ 257 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/service/ProjectListService.java

@@ -0,0 +1,257 @@
+package com.jeeplus.test.program.configuration.projectList.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.jeeplus.core.query.QueryWrapperGenerator;
+import com.jeeplus.sys.service.dto.UserDTO;
+import com.jeeplus.sys.utils.StringUtils;
+import com.jeeplus.sys.utils.UserUtils;
+import com.jeeplus.test.mould.service.SerialnumTplService;
+import com.jeeplus.test.oss.domain.WorkAttachment;
+import com.jeeplus.test.oss.mapper.OssServiceMapper;
+import com.jeeplus.test.program.configuration.projectList.domain.ProgramProjectListInfo;
+import com.jeeplus.test.program.configuration.projectList.domain.ProgramProjectListLink;
+import com.jeeplus.test.program.configuration.projectList.domain.ProgramProjectListMember;
+import com.jeeplus.test.program.configuration.projectList.mapper.ProjectLinkMapper;
+import com.jeeplus.test.program.configuration.projectList.mapper.ProjectListMapper;
+import com.jeeplus.test.program.configuration.projectList.mapper.ProjectMemberMapper;
+import com.jeeplus.test.program.configuration.projectList.service.dto.ContractDto;
+import com.jeeplus.test.program.configuration.projectList.service.dto.ProjectListDto;
+import com.jeeplus.test.workContract.domain.WorkContractInfo;
+import com.jeeplus.test.workContract.mapper.WorkContractInfoMapper;
+import com.jeeplus.test.workContract.service.WorkContractService;
+import com.jeeplus.test.workContract.service.dto.WorkAttachmentDto;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
+import java.util.UUID;
+
+@Service
+public class ProjectListService {
+
+    @Resource
+    private ProjectListMapper projectListMapper;
+    @Resource
+    private ProjectLinkMapper projectLinkMapper;
+    @Resource
+    private ProjectMemberMapper projectMemberMapper;
+    @Resource
+    private WorkContractInfoMapper workContractInfoMapper;
+    @Resource
+    private OssServiceMapper ossServiceMapper;
+
+    @Resource
+    private SerialnumTplService serialnumTplService;
+    @Resource
+    private WorkContractService workContractService;
+
+    public String save(ProjectListDto dto) throws Exception{
+        if (StringUtils.isNotEmpty(dto.getId())) {
+            return update(dto);
+        }
+        return add(dto);
+    }
+
+    public String add(ProjectListDto dto) throws Exception{
+        ProgramProjectListInfo info = new ProgramProjectListInfo();
+        //获取当前登录人信息
+        UserDTO userDTO = UserUtils.getCurrentUserDTO();
+        // 保存项目管理列表主表信息
+        BeanUtils.copyProperties(dto, info);
+        String id = UUID.randomUUID().toString().replace("-", "");
+        //合同编号生成
+        String no = serialnumTplService.genSerialNum(userDTO.getCompanyDTO().getId(), ProjectListDto.BIZ_CODE);
+        info.setId(id);
+        info.setNo(no);
+        info.setCreateBy(userDTO.getId());
+        info.setCreateDate(new Date());
+        info.setUpdateBy(userDTO.getId());
+        info.setUpdateDate(new Date());
+        info.setDelFlag(0);
+        projectListMapper.insert(info);
+        // 保存项目直接对接人信息
+        if (CollectionUtils.isNotEmpty(dto.getLinks())) {
+            for (ProgramProjectListLink link : dto.getLinks()) {
+                link.setId(UUID.randomUUID().toString().replace("-", ""));
+                link.setType("1");
+                link.setInfoId(id);
+                link.setCreateBy(userDTO.getId());
+                link.setCreateDate(new Date());
+                link.setUpdateBy(userDTO.getId());
+                link.setUpdateDate(new Date());
+                link.setDelFlag(0);
+                projectLinkMapper.insert(link);
+            }
+        }
+        // 保存项目直接对接人信息
+        if (CollectionUtils.isNotEmpty(dto.getLinkInfos())) {
+            for (ProgramProjectListLink link : dto.getLinkInfos()) {
+                link.setId(UUID.randomUUID().toString().replace("-", ""));
+                link.setType("2");
+                link.setInfoId(id);
+                link.setCreateBy(userDTO.getId());
+                link.setCreateDate(new Date());
+                link.setUpdateBy(userDTO.getId());
+                link.setUpdateDate(new Date());
+                link.setDelFlag(0);
+                projectLinkMapper.insert(link);
+            }
+        }
+        // 保存项目管理列表成员信息
+        if (CollectionUtils.isNotEmpty(dto.getMembers())) {
+            for (ProgramProjectListMember member : dto.getMembers()) {
+                member.setId(UUID.randomUUID().toString().replace("-", ""));
+                member.setInfoId(id);
+                member.setCreateBy(userDTO.getId());
+                member.setCreateDate(new Date());
+                member.setUpdateBy(userDTO.getId());
+                member.setUpdateDate(new Date());
+                member.setDelFlag(0);
+                projectMemberMapper.insert(member);
+            }
+        }
+        // 保存附件信息
+        if (CollectionUtils.isNotEmpty(dto.getFiles())) {
+            workContractService.saveFiles(dto.getFiles(), userDTO, id);
+        }
+        return id;
+    }
+
+    public String update(ProjectListDto dto) {
+        //获取当前登录人信息
+        UserDTO userDTO = UserUtils.getCurrentUserDTO();
+        // 修改项目管理列表主表信息
+        ProgramProjectListInfo info = new ProgramProjectListInfo();
+        BeanUtils.copyProperties(dto, info);
+        info.setUpdateBy(userDTO.getId());
+        info.setUpdateDate(new Date());
+        info.setDelFlag(0);
+        projectListMapper.updateById(info);
+        // 修改项目直接对接人信息(先删除原有数据,再保存)
+        projectLinkMapper.deleteByInfoId(dto.getId());
+        if (CollectionUtils.isNotEmpty(dto.getLinks())) {
+            for (ProgramProjectListLink link : dto.getLinks()) {
+                link.setId(UUID.randomUUID().toString().replace("-", ""));
+                link.setType("1");
+                link.setInfoId(dto.getId());
+                link.setCreateBy(userDTO.getId());
+                link.setCreateDate(new Date());
+                link.setUpdateBy(userDTO.getId());
+                link.setUpdateDate(new Date());
+                link.setDelFlag(0);
+                projectLinkMapper.insert(link);
+            }
+        }
+        // 修改项目直接对接人信息
+        if (CollectionUtils.isNotEmpty(dto.getLinkInfos())) {
+            for (ProgramProjectListLink link : dto.getLinkInfos()) {
+                link.setId(UUID.randomUUID().toString().replace("-", ""));
+                link.setType("2");
+                link.setInfoId(dto.getId());
+                link.setCreateBy(userDTO.getId());
+                link.setCreateDate(new Date());
+                link.setUpdateBy(userDTO.getId());
+                link.setUpdateDate(new Date());
+                link.setDelFlag(0);
+                projectLinkMapper.insert(link);
+            }
+        }
+        // 修改项目管理列表成员信息(先删除原有数据,再保存)
+        if (CollectionUtils.isNotEmpty(dto.getMembers())) {
+            projectMemberMapper.deleteByInfoId(dto.getId());
+            for (ProgramProjectListMember member : dto.getMembers()) {
+                member.setId(UUID.randomUUID().toString().replace("-", ""));
+                member.setInfoId(dto.getId());
+                member.setCreateBy(userDTO.getId());
+                member.setCreateDate(new Date());
+                member.setUpdateBy(userDTO.getId());
+                member.setUpdateDate(new Date());
+                member.setDelFlag(0);
+                projectMemberMapper.insert(member);
+            }
+        }
+        // 修改附件信息
+        if (CollectionUtils.isNotEmpty(dto.getFiles())) {
+            workContractService.updateFiles(dto.getFiles(), userDTO, dto.getId());
+        }
+        return dto.getId();
+    }
+
+    public ProjectListDto findById(String id) {
+        ProjectListDto dto = new ProjectListDto();
+        // 查询主表信息
+        ProgramProjectListInfo info = projectListMapper.selectById(id);
+        BeanUtils.copyProperties(info, dto);
+        // 查询项目直接对接人列表
+        LambdaQueryWrapper<ProgramProjectListLink> linkWrapper = new LambdaQueryWrapper<>();
+        linkWrapper.eq(ProgramProjectListLink::getInfoId, id);
+        linkWrapper.eq(ProgramProjectListLink::getType, "1");
+        linkWrapper.eq(ProgramProjectListLink::getDelFlag, 0);
+        List<ProgramProjectListLink> links = projectLinkMapper.selectList(linkWrapper);
+        if (CollectionUtils.isNotEmpty(links)) {
+            dto.setLinks(links);
+        }
+        // 查询项目直接对接人列表
+        LambdaQueryWrapper<ProgramProjectListLink> linkInfoWrapper = new LambdaQueryWrapper<>();
+        linkInfoWrapper.eq(ProgramProjectListLink::getInfoId, id);
+        linkInfoWrapper.eq(ProgramProjectListLink::getType, "2");
+        linkInfoWrapper.eq(ProgramProjectListLink::getDelFlag, 0);
+        List<ProgramProjectListLink> linkInfos = projectLinkMapper.selectList(linkInfoWrapper);
+        if (CollectionUtils.isNotEmpty(linkInfos)) {
+            dto.setLinkInfos(linkInfos);
+        }
+        // 查询成员列表
+        LambdaQueryWrapper<ProgramProjectListMember> memberWrapper = new LambdaQueryWrapper<>();
+        memberWrapper.eq(ProgramProjectListMember::getInfoId, id);
+        memberWrapper.eq(ProgramProjectListMember::getDelFlag, 0);
+        List<ProgramProjectListMember> members = projectMemberMapper.selectList(memberWrapper);
+        if (CollectionUtils.isNotEmpty(members)) {
+            dto.setMembers(members);
+        }
+        // 查询附件信息
+        List<WorkAttachmentDto> files = workContractInfoMapper.findDtos(id);
+        if (CollectionUtils.isNotEmpty(files)) {
+            for (WorkAttachmentDto i : files) {
+                i.setCreateBy(UserUtils.get(i.getBy()));
+            }
+            dto.setFiles(files);
+        }
+        return dto;
+    }
+
+    public String deleteById(String id) {
+        projectListMapper.deleteById(id);
+        projectLinkMapper.deleteByInfoId(id);
+        projectMemberMapper.deleteByInfoId(id);
+        // 附件删除
+        LambdaQueryWrapper<WorkAttachment> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(WorkAttachment::getAttachmentId, id);
+        ossServiceMapper.delete(wrapper);
+        return "操作成功";
+    }
+
+    public IPage<WorkContractInfo> findContractPageList(ContractDto dto, Page<WorkContractInfo> page) {
+        return projectListMapper.findContractPageList(page, dto);
+    }
+
+    public String updateStatusById(ProjectListDto dto) {
+        projectListMapper.updateStatusById(dto.getId(), dto.getStatus());
+        return "操作成功";
+    }
+
+    public IPage<ProgramProjectListInfo> list(Page<ProgramProjectListInfo> page, ProgramProjectListInfo info) throws Exception{
+        QueryWrapper<ProgramProjectListInfo> wrapper = QueryWrapperGenerator.buildQueryCondition(info, ProgramProjectListInfo.class);
+        wrapper.eq("a.del_flag", "0");
+        if (info.getCreateDates() != null) {
+            wrapper.between("a.create_date", info.getCreateDates()[0], info.getCreateDates()[1]);
+        }
+        IPage<ProgramProjectListInfo> pageList = projectListMapper.findPageList(page, wrapper);
+        return pageList;
+    }
+}

+ 14 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/service/dto/ContractDto.java

@@ -0,0 +1,14 @@
+package com.jeeplus.test.program.configuration.projectList.service.dto;
+
+import lombok.Data;
+
+@Data
+public class ContractDto {
+
+    private String createBy;
+
+    private String name;
+
+    private String clientName;
+
+}

+ 131 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/service/dto/ProjectListDto.java

@@ -0,0 +1,131 @@
+package com.jeeplus.test.program.configuration.projectList.service.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.jeeplus.core.domain.BaseEntity;
+import com.jeeplus.test.oss.domain.WorkAttachment;
+import com.jeeplus.test.program.configuration.projectList.domain.ProgramProjectListLink;
+import com.jeeplus.test.program.configuration.projectList.domain.ProgramProjectListMember;
+import com.jeeplus.test.workContract.service.dto.WorkAttachmentDto;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+@Data
+public class ProjectListDto extends BaseEntity {
+
+    public static final String BIZ_CODE = "xmlb";
+
+    private String contractId;
+
+    private String contractName;
+
+    private String client;
+
+    private String amount;
+
+    private String contractType;
+
+    private String name;
+
+    private String no;
+
+    private String projectType;
+
+    private String company;
+
+    private String propertyHolder;
+
+    private String location;
+
+    private String isFirst;
+
+    private String yearNum;
+
+    private String checkYear;
+
+    private String projectManager;
+
+    private String reportType;
+
+    private String industry;
+
+    private String enterpriseType;
+
+    private String riskLevel;
+
+    private String projectSource;
+
+    private BigDecimal estimate;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+    private Date planEndTime;
+
+    private Integer useNum;
+
+    private Integer appointment;
+
+    private Double workHours;
+
+    private String remarks;
+
+    private String assessmentEnterprise;
+
+    private String linkNum;
+
+    private String relationship;
+
+    private String assessmentWay;
+
+    private String assessmentObjective;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+    private Date assessmentDate;
+
+    private BigDecimal num;
+
+    private String projectDevelopment;
+
+    private String delegateProjectType;
+
+    private String assessmentObject;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+    private Date workBeginDate;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+    private Date workEndDate;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+    private Date reportingDate;
+
+    private String isHave;
+
+    private String isInfluence;
+
+    private String mode;
+
+    private String status;
+
+    /**
+     * 项目直接对接人
+     */
+    private List<ProgramProjectListLink> links;
+
+    /**
+     * 产权持有人联系人
+     */
+    private List<ProgramProjectListLink> linkInfos;
+
+    private List<ProgramProjectListMember> members;
+
+    private List<WorkAttachmentDto> files;
+
+}

+ 10 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workClientInfo/controller/WorkClientController.java

@@ -6,8 +6,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jeeplus.core.query.QueryWrapperGenerator;
 import com.jeeplus.core.query.QueryWrapperGenerator;
+import com.jeeplus.sys.service.dto.UserDTO;
 import com.jeeplus.sys.utils.StringUtils;
 import com.jeeplus.sys.utils.StringUtils;
 import com.jeeplus.sys.utils.TicketQueryUtils;
 import com.jeeplus.sys.utils.TicketQueryUtils;
+import com.jeeplus.sys.utils.UserUtils;
 import com.jeeplus.test.projectRecords.domain.Project;
 import com.jeeplus.test.projectRecords.domain.Project;
 import com.jeeplus.test.workClientInfo.domain.WorkClientInfo;
 import com.jeeplus.test.workClientInfo.domain.WorkClientInfo;
 import com.jeeplus.test.workClientInfo.domain.dto.PageInfoDto;
 import com.jeeplus.test.workClientInfo.domain.dto.PageInfoDto;
@@ -40,6 +42,14 @@ public class WorkClientController {
         String[] dates = workClientInfo.getCreateDates();
         String[] dates = workClientInfo.getCreateDates();
         QueryWrapper<WorkClientInfo> workClientInfoQueryWrapper = QueryWrapperGenerator.buildQueryCondition(workClientInfo, WorkClientInfo.class);
         QueryWrapper<WorkClientInfo> workClientInfoQueryWrapper = QueryWrapperGenerator.buildQueryCondition(workClientInfo, WorkClientInfo.class);
         IPage<WorkClientInfo> list = workClientService.list(page,workClientInfoQueryWrapper,dates);
         IPage<WorkClientInfo> list = workClientService.list(page,workClientInfoQueryWrapper,dates);
+        UserDTO userDTO = UserUtils.getCurrentUserDTO();
+        for (WorkClientInfo info: list.getRecords()) {
+            if(userDTO.getName().equals(info.getCreateBy()) || userDTO.isAdmin()){
+                info.setCreateFlag("1");
+            }else{
+                info.setCreateFlag("0");
+            }
+        }
         return ResponseEntity.ok (list);
         return ResponseEntity.ok (list);
     }
     }
 
 

+ 3 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workClientInfo/domain/WorkClientInfo.java

@@ -155,4 +155,7 @@ public class WorkClientInfo extends BaseEntity {
 
 
     @TableField(exist = false)
     @TableField(exist = false)
     private String[] createDates;
     private String[] createDates;
+
+    @TableField(exist = false)
+    private String createFlag;  //创建状态
 }
 }

+ 10 - 3
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workClientInfo/service/WorkClientService.java

@@ -134,13 +134,20 @@ public class WorkClientService {
             int j = 1;
             int j = 1;
             for (WorkAttachment i : workAttachments) {
             for (WorkAttachment i : workAttachments) {
                 i.setId(UUID.randomUUID().toString().replace("-", ""));
                 i.setId(UUID.randomUUID().toString().replace("-", ""));
-                i.getCreateBy().setId(dto.getId());
+
+                //文件类型处理
+                List<String> strings = Arrays.asList(dto.getName().split("\\."));
+                if (CollectionUtils.isNotEmpty(strings)) {
+                    i.setType(strings.get(1));
+                }
+                i.setDelFlag(0);
+
+                UserDTO userDTO = UserUtils.getCurrentUserDTO();
                 i.setCreateDate(new Date());
                 i.setCreateDate(new Date());
-                i.getUpdateBy().setId(dto.getId());
                 i.setUpdateDate(new Date());
                 i.setUpdateDate(new Date());
                 i.setAttachmentId(id);
                 i.setAttachmentId(id);
                 i.setSort(j);
                 i.setSort(j);
-                ossServiceMapper.insert(i);
+                ossServiceMapper.insertWorkAttachment(i, userDTO);
                 j++;
                 j++;
             }
             }
         }
         }

+ 40 - 3
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/domain/WorkContractInfo.java

@@ -1,7 +1,6 @@
 package com.jeeplus.test.workContract.domain;
 package com.jeeplus.test.workContract.domain;
 
 
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.*;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.jeeplus.core.domain.BaseEntity;
 import com.jeeplus.core.domain.BaseEntity;
 import com.jeeplus.core.query.Query;
 import com.jeeplus.core.query.Query;
@@ -11,7 +10,45 @@ import java.util.Date;
 
 
 @Data
 @Data
 @TableName("work_contract_info")
 @TableName("work_contract_info")
-public class WorkContractInfo extends BaseEntity {
+public class WorkContractInfo {
+
+    /**
+     * 实体主键
+     */
+    @TableId
+    private String id;
+
+    /**
+     * 创建日期
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private Date createDate;
+
+    /**
+     * 创建人
+     */
+    @Query(tableColumn = "a.create_by")
+    @TableField(fill = FieldFill.INSERT)
+    private String createBy;
+
+    /**
+     * 更新日期
+     */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Date updateDate;
+
+    /**
+     * 更新人
+     */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    /**
+     * 逻辑删除标记
+     */
+    @TableLogic
+    @TableField(fill = FieldFill.INSERT)
+    private Integer delFlag;
 
 
     /**
     /**
      * 客户id
      * 客户id