Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/master'

lizhenhao 2 gadi atpakaļ
vecāks
revīzija
693d5ded9d
20 mainītis faili ar 648 papildinājumiem un 46 dzēšanām
  1. 43 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/oss/service/OSSClientService.java
  2. 24 1
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/oss/service/OssService.java
  3. 63 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/controller/WorkContractBorrowController.java
  4. 67 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/controller/WorkContractFileController.java
  5. 34 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/domain/WorkContractBorrow.java
  6. 27 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/domain/WorkContractBorrowMessage.java
  7. 29 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/domain/WorkContractFile.java
  8. 6 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/domain/WorkContractInfo.java
  9. 13 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/mapper/WorkContractBorrowMapper.java
  10. 12 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/mapper/WorkContractFileMapper.java
  11. 12 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/mapper/xml/WorkContractBorrowMapper.xml
  12. 12 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/mapper/xml/WorkContractFileMapper.xml
  13. 45 37
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/mapper/xml/WorkContractInfoMapper.xml
  14. 96 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/service/WorkContractFileService.java
  15. 9 7
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/service/WorkContractService.java
  16. 31 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/service/dto/WorkContractBorrowDto.java
  17. 83 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/service/dto/WorkContractBorrowService.java
  18. 27 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/service/dto/WorkContractFileDto.java
  19. 4 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/service/dto/WorkContractInfoDto.java
  20. 11 1
      jeeplus-platform/jeeplus-admin/src/main/java/com/jeeplus/sys/controller/UserController.java

+ 43 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/oss/service/OSSClientService.java

@@ -5,6 +5,7 @@ import com.aliyun.oss.OSSClient;
 import com.aliyun.oss.OSSClientBuilder;
 import com.aliyun.oss.model.OSSObject;
 import com.aliyun.oss.model.PutObjectResult;
+import com.aliyun.oss.model.SimplifiedObjectMeta;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
@@ -21,6 +22,12 @@ import java.util.Date;
 @Service
 public class OSSClientService {
 
+    @Value("${config.accessory.aliyun.aliyunDownloadUrl}")
+    private String aliyunDownloadUrl;
+
+    @Value("${config.accessory.aliyun.aliyunUrl}")
+    private String aliyunUrl;
+
     @Value("${config.accessory.aliyun.bucketName}")
     private String bucketName;
 
@@ -77,6 +84,42 @@ public class OSSClientService {
         return null;
     }
 
+
+
+    /**
+     * 阿里云获取临时文件大小
+     * @param file
+     */
+    public Long getSimplifiedObjectMeta(String file){
+        //初始化OSSClient
+        OSSClient ossClient = new OSSClient(endpoint,accessKeyId,accessKeySecret);
+
+        URL url = null;
+        SimplifiedObjectMeta simplifiedObjectMeta = new SimplifiedObjectMeta();
+        try {
+
+            file = file.replace("amp;","");
+            String aliyunDownload = aliyunDownloadUrl;
+            String aliDownloadUrl = aliyunUrl;
+            String cons = "";
+            if (file.contains(aliyunDownload)){
+                cons = aliyunDownload;
+            }else if (file.contains("http://gangwan-app.oss-cn-hangzhou.aliyuncs.com")){
+                cons = "http://gangwan-app.oss-cn-hangzhou.aliyuncs.com";
+            }else {
+                cons = aliDownloadUrl;
+            }
+            String key = file.split(cons+"/")[1];
+            simplifiedObjectMeta = ossClient.getSimplifiedObjectMeta(bucketName, key);
+
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        }
+        return simplifiedObjectMeta.getSize();
+    }
+
+
     /**
      * 文件下载
      * @param key

+ 24 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/oss/service/OssService.java

@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollectionUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.aliyun.oss.OSSClient;
 import com.aliyun.oss.model.OSSObject;
+import com.aliyun.oss.model.SimplifiedObjectMeta;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -28,6 +29,7 @@ import javax.servlet.http.HttpServletResponse;
 import java.io.BufferedInputStream;
 import java.io.BufferedOutputStream;
 import java.io.IOException;
+import java.net.URL;
 import java.net.URLEncoder;
 import java.util.*;
 
@@ -161,10 +163,31 @@ public class OssService extends ServiceImpl<OssServiceMapper,WorkAttachment> {
      */
     public List<WorkAttachment> temporaryUrl(List<WorkAttachment> list) {
         list.stream().forEach(work -> {
+            String url = null;
             if (StringUtils.isNotEmpty(work.getUrl())) {
-                String url = aliyunUrl + work.getUrl();
+                url = aliyunUrl + work.getUrl();
                 work.setTemporaryUrl(getFileTemporaryLookUrl(url));
             }
+
+            //对文件大小进行处理
+            if(StringUtils.isBlank(work.getFileSize())){
+                work.setFileSize("0");
+            }
+            if(StringUtils.isNotBlank(work.getFileSize())){
+                Long fileSizeBytes = Long.parseLong(work.getFileSize());
+                //如果数据库文件大小小于等于0, 则访问阿里云获取文件大小
+                fileSizeBytes = 0L;
+                if (fileSizeBytes<=0){
+                    fileSizeBytes = ossClientService.getSimplifiedObjectMeta(url);
+                }
+
+                if(null != fileSizeBytes){
+                    Double fileSize = (double)fileSizeBytes/1024/1024;
+                    work.setFileSize(String.format("%.2f", fileSize));
+                }else{
+                    work.setFileSize("0.00");
+                }
+            }
         });
         return list;
     }

+ 63 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/controller/WorkContractBorrowController.java

@@ -0,0 +1,63 @@
+package com.jeeplus.test.workContract.controller;
+
+import com.jeeplus.common.utils.ResponseUtil;
+import com.jeeplus.test.workContract.domain.WorkContractBorrow;
+import com.jeeplus.test.workContract.domain.WorkContractFile;
+import com.jeeplus.test.workContract.service.WorkContractFileService;
+import com.jeeplus.test.workContract.service.dto.WorkContractBorrowDto;
+import com.jeeplus.test.workContract.service.dto.WorkContractBorrowService;
+import com.jeeplus.test.workContract.service.dto.WorkContractFileDto;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+
+@Slf4j
+@Api(tags ="合同登记")
+@RestController
+@RequestMapping(value = "/workContract/workContractBorrow")
+public class WorkContractBorrowController {
+
+    @Resource
+    private WorkContractBorrowService workContractBorrowService;
+
+    /**
+     * 合同登记新增/修改
+     */
+    @ApiOperation(value = "合同登记借用新增/修改")
+    @PostMapping(value = "save")
+    public ResponseEntity<String> save(@RequestBody WorkContractBorrowDto workContractBorrowDto) throws Exception{
+        String id = workContractBorrowService.saveInfo(workContractBorrowDto);
+        return ResponseUtil.newInstance().add("businessTable", "work_contract_borrow").add("businessId", id).ok ("操作成功");
+    }
+
+    /**
+     * 根据id修改状态status
+     */
+    @ApiOperation(value = "根据id修改状态status")
+    @PostMapping(value = "updateStatusById")
+    public void updateStatusById(@RequestBody WorkContractBorrowDto workContractBorrowDto) {
+        workContractBorrowService.updateStatusById(workContractBorrowDto);
+    }
+
+    /**
+     * 根据id查询
+     */
+    @ApiOperation(value = "根据id查询")
+    @GetMapping(value = "findById")
+    public WorkContractBorrow findById(@RequestParam String id) {
+        return workContractBorrowService.findById(id);
+    }
+
+    /**
+     * 根据contractInfoId查询
+     */
+    @ApiOperation(value = "根据contractInfoId查询")
+    @GetMapping(value = "findByContractInfoId")
+    public WorkContractBorrow findByContractInfoId(@RequestParam String id) {
+        return workContractBorrowService.findByContractInfoId(id);
+    }
+}

+ 67 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/controller/WorkContractFileController.java

@@ -0,0 +1,67 @@
+package com.jeeplus.test.workContract.controller;
+
+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.jeeplus.common.utils.ResponseUtil;
+import com.jeeplus.core.query.QueryWrapperGenerator;
+import com.jeeplus.test.workContract.domain.WorkContractFile;
+import com.jeeplus.test.workContract.domain.WorkContractInfo;
+import com.jeeplus.test.workContract.service.WorkContractFileService;
+import com.jeeplus.test.workContract.service.WorkContractService;
+import com.jeeplus.test.workContract.service.dto.WorkContractFileDto;
+import com.jeeplus.test.workContract.service.dto.WorkContractInfoDto;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+
+@Slf4j
+@Api(tags ="合同登记")
+@RestController
+@RequestMapping(value = "/workContract/workContractFile")
+public class WorkContractFileController {
+
+    @Resource
+    private WorkContractFileService workContractFileService;
+
+    /**
+     * 合同登记新增/修改
+     */
+    @ApiOperation(value = "合同登记归档新增/修改")
+    @PostMapping(value = "save")
+    public ResponseEntity<String> save(@RequestBody WorkContractFileDto workContractFileDto) throws Exception{
+        String id = workContractFileService.saveInfo(workContractFileDto);
+        return ResponseUtil.newInstance().add("businessTable", "work_contract_file").add("businessId", id).ok ("操作成功");
+    }
+
+    /**
+     * 根据id修改状态status
+     */
+    @ApiOperation(value = "根据id修改状态status")
+    @PostMapping(value = "updateStatusById")
+    public void updateStatusById(@RequestBody WorkContractFileDto workContractFileDto) {
+        workContractFileService.updateStatusById(workContractFileDto);
+    }
+
+    /**
+     * 根据id查询
+     */
+    @ApiOperation(value = "根据id查询")
+    @GetMapping(value = "findById")
+    public WorkContractFile findById(@RequestParam String id) {
+        return workContractFileService.findById(id);
+    }
+
+    /**
+     * 根据contractInfoId查询
+     */
+    @ApiOperation(value = "根据contractInfoId查询")
+    @GetMapping(value = "findByContractInfoId")
+    public WorkContractFile findByContractInfoId(@RequestParam String id) {
+        return workContractFileService.findByContractInfoId(id);
+    }
+}

+ 34 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/domain/WorkContractBorrow.java

@@ -0,0 +1,34 @@
+package com.jeeplus.test.workContract.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import liquibase.pro.packaged.S;
+import lombok.Data;
+
+@Data
+@TableName("work_contract_borrow")
+public class WorkContractBorrow extends BaseEntity {
+
+    private String contractInfoId;
+
+    private String procInsId;
+
+    private String processDefinitionId;
+
+    private String name;
+
+    private String no;
+
+    private String clientName;
+
+    private String borrowName;
+
+    private String borrowData;
+
+    private String borrowRetureData;
+
+    private String remarks;
+
+    private String borrowType;
+
+}

+ 27 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/domain/WorkContractBorrowMessage.java

@@ -0,0 +1,27 @@
+package com.jeeplus.test.workContract.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import lombok.Data;
+
+@Data
+@TableName("work_contract_borrow_message")
+public class WorkContractBorrowMessage extends BaseEntity {
+
+    private String contractBorrowId;
+
+    private String name;
+
+    private String no;
+
+    private String borrowName;
+
+    private String borrowData;
+
+    private String borrowRetureData;
+
+    private String borrowType;
+
+    private String retureData;
+
+}

+ 29 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/domain/WorkContractFile.java

@@ -0,0 +1,29 @@
+package com.jeeplus.test.workContract.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import com.jeeplus.core.query.Query;
+import lombok.Data;
+
+@Data
+@TableName("work_contract_file")
+public class WorkContractFile extends BaseEntity {
+
+    private String contractInfoId;
+
+    private String procInsId;
+
+    private String processDefinitionId;
+
+    private String fileCreateName;
+
+    private String filedType;
+
+    private String filedData;
+
+    private String filedNo;
+
+    private String confirmFiledNo;
+
+}

+ 6 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/domain/WorkContractInfo.java

@@ -149,5 +149,11 @@ public class WorkContractInfo extends BaseEntity {
     private String taskId;
 
     @TableField(exist = false)
+    private String taskFiledId;
+
+    @TableField(exist = false)
     private String createId;
+
+    @TableField(exist = false)
+    private String contractFileId;
 }

+ 13 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/mapper/WorkContractBorrowMapper.java

@@ -0,0 +1,13 @@
+package com.jeeplus.test.workContract.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jeeplus.test.workContract.domain.WorkContractBorrow;
+import com.jeeplus.test.workContract.domain.WorkContractFile;
+import org.apache.ibatis.annotations.Param;
+
+public interface WorkContractBorrowMapper extends BaseMapper<WorkContractBorrow> {
+
+    void updateStatusById(@Param("id") String id, @Param("borrowType")String borrowType);
+
+    WorkContractBorrow selectFileByContractInfoId (@Param("id") String id);
+}

+ 12 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/mapper/WorkContractFileMapper.java

@@ -0,0 +1,12 @@
+package com.jeeplus.test.workContract.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jeeplus.test.workContract.domain.WorkContractFile;
+import org.apache.ibatis.annotations.Param;
+
+public interface WorkContractFileMapper extends BaseMapper<WorkContractFile> {
+
+    void updateStatusById(@Param("id") String id, @Param("filedType")String filedType);
+
+    WorkContractFile selectFileByContractInfoId (@Param("id") String id);
+}

+ 12 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/mapper/xml/WorkContractBorrowMapper.xml

@@ -0,0 +1,12 @@
+<?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.workContract.mapper.WorkContractBorrowMapper">
+
+	<update id="updateStatusById">
+		UPDATE work_contract_borrow SET borrow_type = #{filedType}, filed_data = NOW() WHERE del_flag = 0 AND contract_info_id = #{id}
+	</update>
+
+	<select id="selectFileByContractInfoId" resultType="com.jeeplus.test.workContract.domain.WorkContractBorrow">
+		SELECT * FROM `work_contract_borrow` WHERE del_flag = 0 AND contract_info_id = #{id}
+	</select>
+</mapper>

+ 12 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/mapper/xml/WorkContractFileMapper.xml

@@ -0,0 +1,12 @@
+<?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.workContract.mapper.WorkContractFileMapper">
+
+	<update id="updateStatusById">
+		UPDATE work_contract_file SET filed_type = #{filedType}, filed_data = NOW() WHERE del_flag = 0 AND contract_info_id = #{id}
+	</update>
+
+	<select id="selectFileByContractInfoId" resultType="com.jeeplus.test.workContract.domain.WorkContractFile">
+		SELECT * FROM `work_contract_file` WHERE del_flag = 0 AND contract_info_id = #{id}
+	</select>
+</mapper>

+ 45 - 37
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/mapper/xml/WorkContractInfoMapper.xml

@@ -29,60 +29,68 @@
 			a.filed_by,
 			a.filed_date,
 			a.filed_no,
-			a.confirm_filed_no,
+			d.confirm_filed_no,
 			a.filed_remarks,
 			a.proc_ins_id,
 			a.process_definition_id,
 			a.status,
-			a.filed_type,
-			a.borrow_type,
+			f.borrow_type,
 			b.ID_ as task_id,
-			a.create_by as create_id
+			a.create_by as create_id,
+			d.filed_type,
+			e.ID_ as task_filed_id,
+			g.ID_ as task_borrow_id
 		FROM
 			work_contract_info a
 			LEFT JOIN sys_user c ON a.create_by = c.id
 			LEFT JOIN act_ru_task b ON a.proc_ins_id = b.PROC_INST_ID_
+			LEFT JOIN work_contract_file d ON a.id = d.contract_info_id
+			LEFT JOIN act_ru_task e ON d.proc_ins_id = e.PROC_INST_ID_
+			LEFT JOIN work_contract_borrow f ON a.id = f.contract_info_id
+			LEFT JOIN act_ru_task g ON f.proc_ins_id = g.PROC_INST_ID_
 		${ew.customSqlSegment}
 		ORDER BY a.update_date DESC
 	</select>
 
 	<select id="findById" resultType="com.jeeplus.test.workContract.domain.WorkContractInfo">
 		SELECT
-			id,
-			client_id,
-			client_name,
-			`no`,
-			`name`,
-			contract_date,
-			effective_date,
-			closing_date,
-			contract_type,
-			contract_amount_type,
-			contract_amount,
-			contract_opposite,
-			contract_fee,
-			fees,
-			describes,
-			contract_special,
-			remarks,
-			filed_by,
-			filed_date,
-			filed_no,
-			confirm_filed_no,
-			filed_remarks,
-			proc_ins_id,
-			filed_type,
-			borrow_type,
-			create_date,
-			create_by,
-			update_date,
-			update_by,
-			del_flag
+			a.id,
+			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,
+			d.confirm_filed_no,
+			a.filed_remarks,
+			a.proc_ins_id,
+			a.borrow_type,
+			a.create_date,
+			a.create_by,
+			a.update_date,
+			a.update_by,
+			a.del_flag,
+			d.id as contract_file_id,
+			d.filed_type
 		FROM
-			work_contract_info
+			work_contract_info a
+			LEFT JOIN work_contract_file d ON a.id = d.contract_info_id
 		WHERE
-			id = #{id}
-			AND del_flag = 0
+			a.id = #{id}
+			AND a.del_flag = 0
 	</select>
 
 	<select id="findIsExit" resultType="java.lang.Integer">

+ 96 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/service/WorkContractFileService.java

@@ -0,0 +1,96 @@
+package com.jeeplus.test.workContract.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.extension.plugins.pagination.Page;
+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.workContract.domain.WorkContractFile;
+import com.jeeplus.test.workContract.domain.WorkContractInfo;
+import com.jeeplus.test.workContract.mapper.WorkContractFileMapper;
+import com.jeeplus.test.workContract.mapper.WorkContractInfoMapper;
+import com.jeeplus.test.workContract.service.dto.WorkAttachmentDto;
+import com.jeeplus.test.workContract.service.dto.WorkContractFileDto;
+import com.jeeplus.test.workContract.service.dto.WorkContractInfoDto;
+import org.flowable.editor.language.json.converter.util.CollectionUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+import java.util.UUID;
+
+@Service
+public class WorkContractFileService {
+
+    @Resource
+    private WorkContractFileMapper workContractFileMapper;
+
+    public String saveInfo(WorkContractFileDto workContractFileDto) throws Exception {
+        if (StringUtils.isNotEmpty(workContractFileDto.getId())) {
+            WorkContractFile info = workContractFileMapper.selectFileByContractInfoId(workContractFileDto.getId());
+            if (info != null) {
+                return update(workContractFileDto, info.getId());
+            }
+        }
+        return add(workContractFileDto);
+    }
+
+    /**
+     * 合同登记新增
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public String add(WorkContractFileDto workContractFileDto) throws Exception{
+        //获取当前登录人信息
+        UserDTO userDTO = UserUtils.getCurrentUserDTO();
+        String id = UUID.randomUUID().toString().replace("-", "");
+        WorkContractFile file = new WorkContractFile();
+        BeanUtils.copyProperties(workContractFileDto, file);
+        file.setId(id);
+        file.setCreateBy(userDTO.getId());
+        file.setCreateDate(new Date());
+        file.setUpdateBy(userDTO.getId());
+        file.setUpdateDate(new Date());
+        workContractFileMapper.insert(file);
+        return id;
+    }
+
+    /**
+     * 合同登记修改
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public String update(WorkContractFileDto workContractFileDto, String id) {
+        //获取当前登录人信息
+        UserDTO userDTO = UserUtils.getCurrentUserDTO();
+        WorkContractFile file = new WorkContractFile();
+        BeanUtils.copyProperties(workContractFileDto, file);
+        file.setId(id);
+        file.setUpdateBy(userDTO.getId());
+        file.setUpdateDate(new Date());
+        workContractFileMapper.updateById(file);
+        return file.getContractInfoId();
+    }
+
+    /**
+     * 根据id修改status
+     */
+    public void updateStatusById(WorkContractFileDto workContractFileDto) {
+        workContractFileMapper.updateStatusById(workContractFileDto.getId(), workContractFileDto.getFiledType());
+    }
+
+    public WorkContractFile findById(String id) {
+        return workContractFileMapper.selectById(id);
+    }
+
+    public WorkContractFile findByContractInfoId(String id) {
+        return workContractFileMapper.selectFileByContractInfoId(id);
+    }
+}

+ 9 - 7
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/service/WorkContractService.java

@@ -142,15 +142,17 @@ public class WorkContractService {
     public WorkContractInfoDto findById(String id) {
         WorkContractInfoDto dto = new WorkContractInfoDto();
         WorkContractInfo info = workContractInfoMapper.findById(id);
-        BeanUtils.copyProperties(info, dto);
-        // 查询附件信息
-        List<WorkAttachmentDto> dtos = workContractInfoMapper.findDtos(id);
-        if (CollectionUtils.isNotEmpty(dtos)) {
-            for (WorkAttachmentDto i : dtos) {
-                i.setCreateBy(UserUtils.get(i.getBy()));
+        if (info != null) {
+            BeanUtils.copyProperties(info, dto);
+            // 查询附件信息
+            List<WorkAttachmentDto> dtos = workContractInfoMapper.findDtos(id);
+            if (CollectionUtils.isNotEmpty(dtos)) {
+                for (WorkAttachmentDto i : dtos) {
+                    i.setCreateBy(UserUtils.get(i.getBy()));
+                }
             }
+            dto.setWorkAttachmentList(dtos);
         }
-        dto.setWorkAttachmentList(dtos);
         return dto;
     }
 

+ 31 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/service/dto/WorkContractBorrowDto.java

@@ -0,0 +1,31 @@
+package com.jeeplus.test.workContract.service.dto;
+
+import com.jeeplus.core.service.dto.BaseDTO;
+import lombok.Data;
+
+@Data
+public class WorkContractBorrowDto extends BaseDTO {
+
+    private String contractInfoId;
+
+    private String procInsId;
+
+    private String processDefinitionId;
+
+    private String name;
+
+    private String no;
+
+    private String clientName;
+
+    private String borrowName;
+
+    private String borrowData;
+
+    private String borrowRetureData;
+
+    private String remarks;
+
+    private String borrowType;
+
+}

+ 83 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/service/dto/WorkContractBorrowService.java

@@ -0,0 +1,83 @@
+package com.jeeplus.test.workContract.service.dto;
+
+import com.jeeplus.sys.service.dto.UserDTO;
+import com.jeeplus.sys.utils.StringUtils;
+import com.jeeplus.sys.utils.UserUtils;
+import com.jeeplus.test.workContract.domain.WorkContractBorrow;
+import com.jeeplus.test.workContract.domain.WorkContractFile;
+import com.jeeplus.test.workContract.mapper.WorkContractBorrowMapper;
+import com.jeeplus.test.workContract.mapper.WorkContractFileMapper;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.UUID;
+
+@Service
+public class WorkContractBorrowService {
+
+    @Resource
+    private WorkContractBorrowMapper workContractBorrowMapper;
+
+    public String saveInfo(WorkContractBorrowDto workContractBorrowDto) throws Exception {
+        if (StringUtils.isNotEmpty(workContractBorrowDto.getId())) {
+            WorkContractBorrow info = workContractBorrowMapper.selectFileByContractInfoId(workContractBorrowDto.getId());
+            if (info != null) {
+                return update(workContractBorrowDto, info.getId());
+            }
+        }
+        return add(workContractBorrowDto);
+    }
+
+    /**
+     * 合同登记新增
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public String add(WorkContractBorrowDto workContractBorrowDto) throws Exception{
+        //获取当前登录人信息
+        UserDTO userDTO = UserUtils.getCurrentUserDTO();
+        String id = UUID.randomUUID().toString().replace("-", "");
+        WorkContractBorrow borrow = new WorkContractBorrow();
+        BeanUtils.copyProperties(workContractBorrowDto, borrow);
+        borrow.setId(id);
+        borrow.setCreateBy(userDTO.getId());
+        borrow.setCreateDate(new Date());
+        borrow.setUpdateBy(userDTO.getId());
+        borrow.setUpdateDate(new Date());
+        workContractBorrowMapper.insert(borrow);
+        return id;
+    }
+
+    /**
+     * 合同登记修改
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public String update(WorkContractBorrowDto workContractBorrowDto, String id) {
+        //获取当前登录人信息
+        UserDTO userDTO = UserUtils.getCurrentUserDTO();
+        WorkContractBorrow borrow = new WorkContractBorrow();
+        BeanUtils.copyProperties(workContractBorrowDto, borrow);
+        borrow.setId(id);
+        borrow.setUpdateBy(userDTO.getId());
+        borrow.setUpdateDate(new Date());
+        workContractBorrowMapper.updateById(borrow);
+        return borrow.getContractInfoId();
+    }
+
+    /**
+     * 根据id修改status
+     */
+    public void updateStatusById(WorkContractBorrowDto workContractBorrowDto) {
+        workContractBorrowMapper.updateStatusById(workContractBorrowDto.getId(), workContractBorrowDto.getBorrowType());
+    }
+
+    public WorkContractBorrow findById(String id) {
+        return workContractBorrowMapper.selectById(id);
+    }
+
+    public WorkContractBorrow findByContractInfoId(String id) {
+        return workContractBorrowMapper.selectFileByContractInfoId(id);
+    }
+}

+ 27 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/service/dto/WorkContractFileDto.java

@@ -0,0 +1,27 @@
+package com.jeeplus.test.workContract.service.dto;
+
+import com.jeeplus.core.service.dto.BaseDTO;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class WorkContractFileDto extends BaseDTO {
+
+    private String contractInfoId;
+
+    private String procInsId;
+
+    private String processDefinitionId;
+
+    private String fileCreateName;
+
+    private String filedType;
+
+    private String filedData;
+
+    private String filedNo;
+
+    private String confirmFiledNo;
+
+}

+ 4 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/service/dto/WorkContractInfoDto.java

@@ -99,4 +99,8 @@ public class WorkContractInfoDto extends BaseDTO {
      */
     private List<WorkAttachmentDto> workAttachmentList;
 
+    private String contractFileId;
+
+    private String filedType;
+
 }

+ 11 - 1
jeeplus-platform/jeeplus-admin/src/main/java/com/jeeplus/sys/controller/UserController.java

@@ -530,5 +530,15 @@ public class UserController {
         return ResponseEntity.ok (rootTree);
     }
 
-
+    /**
+     * 判断当前用户是否是管理员
+     *
+     * @return
+     */
+    @ApiLog("判断当前用户是否是管理员")
+    @GetMapping("isAdmin")
+    @ApiOperation(value = "判断当前用户是否是管理员")
+    public Boolean isAdmin() {
+        return UserUtils.getCurrentUserDTO().isAdmin();
+    }
 }