文档库--列表,文件上传
This commit is contained in:
+27
-4
@@ -1,11 +1,14 @@
|
|||||||
package com.jero.modules.oss.entity;
|
package com.jero.modules.oss.entity;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.jero.common.system.base.entity.JeroEntity;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
import com.jero.common.system.base.entity.JeroEntity;
|
|
||||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
import java.util.Date;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@TableName("oss_file")
|
@TableName("oss_file")
|
||||||
@@ -15,10 +18,30 @@ public class OSSFile extends JeroEntity {
|
|||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
@Excel(name = "文件名称")
|
@ApiModelProperty(value = "文件名称")
|
||||||
private String fileName;
|
private String fileName;
|
||||||
|
|
||||||
@Excel(name = "文件地址")
|
@ApiModelProperty(value = "文件路径")
|
||||||
private String url;
|
private String url;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "关联ID")
|
||||||
|
private String connectId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "创建人登录名称")
|
||||||
|
private String createBy;
|
||||||
|
|
||||||
|
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||||
|
@ApiModelProperty(value = "创建日期")
|
||||||
|
private Date createTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "更新人登录名称")
|
||||||
|
private String updateBy;
|
||||||
|
|
||||||
|
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||||
|
@ApiModelProperty(value = "更新日期")
|
||||||
|
private Date updateTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "所属部门")
|
||||||
|
private String sysOrgCode;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+15
@@ -1,6 +1,7 @@
|
|||||||
package com.jero.modules.oss.service;
|
package com.jero.modules.oss.service;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.jero.modules.oss.entity.OSSFile;
|
import com.jero.modules.oss.entity.OSSFile;
|
||||||
@@ -9,7 +10,21 @@ import org.springframework.web.multipart.MultipartFile;
|
|||||||
public interface IOSSFileService extends IService<OSSFile> {
|
public interface IOSSFileService extends IService<OSSFile> {
|
||||||
|
|
||||||
void upload(MultipartFile multipartFile) throws IOException;
|
void upload(MultipartFile multipartFile) throws IOException;
|
||||||
|
/**
|
||||||
|
* 本地文件上传
|
||||||
|
*
|
||||||
|
* @param mf 文件
|
||||||
|
* @param bizPath 自定义路径
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public OSSFile uploadLocal(MultipartFile mf, String bizPath);
|
||||||
|
|
||||||
boolean delete(OSSFile ossFile);
|
boolean delete(OSSFile ossFile);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量修改
|
||||||
|
* @param ossFileList
|
||||||
|
*/
|
||||||
|
void updateFileInfo(List<OSSFile> ossFileList);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+96
@@ -1,19 +1,33 @@
|
|||||||
package com.jero.modules.oss.service.impl;
|
package com.jero.modules.oss.service.impl;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.jero.common.exception.JeroBootException;
|
||||||
|
import com.jero.common.system.vo.LoginUser;
|
||||||
import com.jero.common.util.CommonUtils;
|
import com.jero.common.util.CommonUtils;
|
||||||
|
import com.jero.common.util.oConvertUtils;
|
||||||
import com.jero.common.util.oss.OssBootUtil;
|
import com.jero.common.util.oss.OssBootUtil;
|
||||||
import com.jero.modules.oss.entity.OSSFile;
|
import com.jero.modules.oss.entity.OSSFile;
|
||||||
import com.jero.modules.oss.mapper.OSSFileMapper;
|
import com.jero.modules.oss.mapper.OSSFileMapper;
|
||||||
import com.jero.modules.oss.service.IOSSFileService;
|
import com.jero.modules.oss.service.IOSSFileService;
|
||||||
|
import me.zhyd.oauth.utils.UuidUtils;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.apache.shiro.SecurityUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.util.FileCopyUtils;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Service("ossFileService")
|
@Service("ossFileService")
|
||||||
public class OSSFileServiceImpl extends ServiceImpl<OSSFileMapper, OSSFile> implements IOSSFileService {
|
public class OSSFileServiceImpl extends ServiceImpl<OSSFileMapper, OSSFile> implements IOSSFileService {
|
||||||
|
|
||||||
|
@Value(value = "${jero.path.upload}")
|
||||||
|
private String uploadpath;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void upload(MultipartFile multipartFile) throws IOException {
|
public void upload(MultipartFile multipartFile) throws IOException {
|
||||||
String fileName = multipartFile.getOriginalFilename();
|
String fileName = multipartFile.getOriginalFilename();
|
||||||
@@ -27,6 +41,83 @@ public class OSSFileServiceImpl extends ServiceImpl<OSSFileMapper, OSSFile> impl
|
|||||||
//update-end--Author:scott Date:20201227 for:JT-361【文件预览】阿里云原生域名可以文件预览,自己映射域名kkfileview提示文件下载失败-------------------
|
//update-end--Author:scott Date:20201227 for:JT-361【文件预览】阿里云原生域名可以文件预览,自己映射域名kkfileview提示文件下载失败-------------------
|
||||||
this.save(ossFile);
|
this.save(ossFile);
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* 本地文件上传
|
||||||
|
*
|
||||||
|
* @param mf 文件
|
||||||
|
* @param bizPath 自定义路径
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public OSSFile uploadLocal(MultipartFile mf, String bizPath) {
|
||||||
|
|
||||||
|
//处理文件大小,大于100M抛出异常
|
||||||
|
long fileSize = mf.getSize() / 1024 / 1024;
|
||||||
|
String originalFilename = mf.getOriginalFilename();
|
||||||
|
if (fileSize >= 100) {
|
||||||
|
throw new JeroBootException(originalFilename + "文件大小超出100MB限制, 请压缩或降低文件质量!");
|
||||||
|
}
|
||||||
|
|
||||||
|
OSSFile oSSFile = new OSSFile();
|
||||||
|
try {
|
||||||
|
String ctxPath = uploadpath;
|
||||||
|
String fileName = null;
|
||||||
|
String fileType = null;
|
||||||
|
File file = new File(ctxPath + File.separator + bizPath + File.separator);
|
||||||
|
if (!file.exists()) {
|
||||||
|
file.mkdirs();// 创建文件根目录
|
||||||
|
}
|
||||||
|
String orgName = mf.getOriginalFilename();// 获取文件名
|
||||||
|
orgName = CommonUtils.getFileName(orgName);
|
||||||
|
if (orgName.indexOf(".") != -1) {
|
||||||
|
fileName = orgName.substring(0, orgName.lastIndexOf(".")) + "_" + System.currentTimeMillis() + orgName.substring(orgName.lastIndexOf("."));
|
||||||
|
} else {
|
||||||
|
fileName = orgName + "_" + System.currentTimeMillis();
|
||||||
|
}
|
||||||
|
|
||||||
|
fileType = orgName.substring(orgName.lastIndexOf("."));
|
||||||
|
//判断文件类型
|
||||||
|
if (StringUtils.isNotEmpty(fileType)) {
|
||||||
|
String[] fileTypeArr = {".doc", ".docx", ".xls", ".xlsx", ".pdf", ".png", ".jfif", ".pjpeg", ".jpeg", ".pjp", ".jpg", ".swf", ".bmp",".rar",".zip"};
|
||||||
|
boolean flag = true;
|
||||||
|
for (String fileTypeTemp : fileTypeArr) {
|
||||||
|
if (fileTypeTemp.equalsIgnoreCase(fileType)) {
|
||||||
|
flag = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (flag) {
|
||||||
|
throw new JeroBootException("只能够上传Word、Excel、PDF、静态图片类型的文件。请重新选择文件!");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
String savePath = file.getPath() + File.separator + fileName;
|
||||||
|
File savefile = new File(savePath);
|
||||||
|
FileCopyUtils.copy(mf.getBytes(), savefile);
|
||||||
|
String dbpath = null;
|
||||||
|
if (oConvertUtils.isNotEmpty(bizPath)) {
|
||||||
|
dbpath = bizPath + File.separator + fileName;
|
||||||
|
} else {
|
||||||
|
dbpath = fileName;
|
||||||
|
}
|
||||||
|
if (dbpath.contains("\\")) {
|
||||||
|
dbpath = dbpath.replace("\\", "/");
|
||||||
|
}
|
||||||
|
|
||||||
|
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
|
//存入文件表
|
||||||
|
oSSFile.setFileName(orgName);
|
||||||
|
oSSFile.setId(UuidUtils.getUUID());
|
||||||
|
oSSFile.setUrl(file.getPath());
|
||||||
|
oSSFile.setCreateBy(loginUser.getUsername());
|
||||||
|
oSSFile.setCreateTime(new Date());
|
||||||
|
this.save(oSSFile);
|
||||||
|
return oSSFile;
|
||||||
|
} catch (IOException e) {
|
||||||
|
log.error(e.getMessage(), e);
|
||||||
|
}
|
||||||
|
return oSSFile;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean delete(OSSFile ossFile) {
|
public boolean delete(OSSFile ossFile) {
|
||||||
@@ -40,4 +131,9 @@ public class OSSFileServiceImpl extends ServiceImpl<OSSFileMapper, OSSFile> impl
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateFileInfo(List<OSSFile> ossFileList) {
|
||||||
|
this.updateBatchById(ossFileList);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+63
-31
@@ -72,50 +72,82 @@ public class CommonController {
|
|||||||
return Result.error("没有权限,请联系管理员授权");
|
return Result.error("没有权限,请联系管理员授权");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// /**
|
||||||
|
// * 文件上传统一方法
|
||||||
|
// * @param request
|
||||||
|
// * @param response
|
||||||
|
// * @return
|
||||||
|
// */
|
||||||
|
// @PostMapping(value = "/upload")
|
||||||
|
// public Result<OSSFile> upload(HttpServletRequest request, HttpServletResponse response) {
|
||||||
|
// Result<OSSFile> result = new Result<>();
|
||||||
|
// String savePath = "";
|
||||||
|
// String bizPath = request.getParameter("biz");
|
||||||
|
// MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
|
||||||
|
// // 获取上传文件对象
|
||||||
|
// MultipartFile file = multipartRequest.getFile("file");
|
||||||
|
// // 文件类型是否处于黑名单
|
||||||
|
// if(CommonUtils.limitFileSuffix(file.getOriginalFilename(),fileSuffixLimits)){
|
||||||
|
// result.setMessage("该文件类型不允许上传");
|
||||||
|
// result.setSuccess(false);
|
||||||
|
// result.setCode(0);
|
||||||
|
// return result;
|
||||||
|
// }
|
||||||
|
// if(oConvertUtils.isEmpty(bizPath)){
|
||||||
|
// bizPath = "";
|
||||||
|
// }
|
||||||
|
// if(CommonConstant.UPLOAD_TYPE_LOCAL.equals(uploadType)){
|
||||||
|
// // 本地上传
|
||||||
|
// savePath = CommonUtils.uploadLocal(file,bizPath,uploadpath);
|
||||||
|
// }else{
|
||||||
|
// // minio上传
|
||||||
|
// savePath = CommonUtils.upload(file, bizPath, uploadType);
|
||||||
|
// }
|
||||||
|
// if(oConvertUtils.isNotEmpty(savePath)){
|
||||||
|
// //上传成功 进行数据库存储
|
||||||
|
// OSSFile ossFile = new OSSFile();
|
||||||
|
// // 文件名
|
||||||
|
// String fileName = file.getOriginalFilename();
|
||||||
|
// fileName = CommonUtils.getFileName(fileName);
|
||||||
|
// ossFile.setFileName(fileName);
|
||||||
|
// ossFile.setUrl(savePath);
|
||||||
|
// ossFileService.save(ossFile);
|
||||||
|
// result.setMessage(savePath);
|
||||||
|
// result.setResult(ossFile);
|
||||||
|
// result.setSuccess(true);
|
||||||
|
// }else {
|
||||||
|
// result.setMessage("上传失败!");
|
||||||
|
// result.setSuccess(false);
|
||||||
|
// }
|
||||||
|
// return result;
|
||||||
|
// }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 文件上传统一方法
|
* 文件上传统一方法
|
||||||
|
*
|
||||||
* @param request
|
* @param request
|
||||||
* @param response
|
* @param response
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@PostMapping(value = "/upload")
|
@PostMapping(value = "/upload")
|
||||||
public Result<OSSFile> upload(HttpServletRequest request, HttpServletResponse response) {
|
public Result<?> upload(HttpServletRequest request, HttpServletResponse response) {
|
||||||
Result<OSSFile> result = new Result<>();
|
Result<OSSFile> result = new Result<>();
|
||||||
String savePath = "";
|
|
||||||
String bizPath = request.getParameter("biz");
|
String bizPath = request.getParameter("biz");
|
||||||
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
|
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
|
||||||
// 获取上传文件对象
|
MultipartFile file = multipartRequest.getFile("file");// 获取上传文件对象
|
||||||
MultipartFile file = multipartRequest.getFile("file");
|
if (oConvertUtils.isEmpty(bizPath)) {
|
||||||
// 文件类型是否处于黑名单
|
if (CommonConstant.UPLOAD_TYPE_OSS.equals(uploadType)) {
|
||||||
if(CommonUtils.limitFileSuffix(file.getOriginalFilename(),fileSuffixLimits)){
|
//未指定目录,则用阿里云默认目录 upload
|
||||||
result.setMessage("该文件类型不允许上传");
|
bizPath = "upload";
|
||||||
result.setSuccess(false);
|
} else {
|
||||||
result.setCode(0);
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
if(oConvertUtils.isEmpty(bizPath)){
|
|
||||||
bizPath = "";
|
bizPath = "";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if(CommonConstant.UPLOAD_TYPE_LOCAL.equals(uploadType)){
|
OSSFile oSSFile = ossFileService.uploadLocal(file, bizPath);
|
||||||
// 本地上传
|
if (oConvertUtils.isNotEmpty(oSSFile)) {
|
||||||
savePath = CommonUtils.uploadLocal(file,bizPath,uploadpath);
|
result.setResult(oSSFile);
|
||||||
}else{
|
|
||||||
// minio上传
|
|
||||||
savePath = CommonUtils.upload(file, bizPath, uploadType);
|
|
||||||
}
|
|
||||||
if(oConvertUtils.isNotEmpty(savePath)){
|
|
||||||
//上传成功 进行数据库存储
|
|
||||||
OSSFile ossFile = new OSSFile();
|
|
||||||
// 文件名
|
|
||||||
String fileName = file.getOriginalFilename();
|
|
||||||
fileName = CommonUtils.getFileName(fileName);
|
|
||||||
ossFile.setFileName(fileName);
|
|
||||||
ossFile.setUrl(savePath);
|
|
||||||
ossFileService.save(ossFile);
|
|
||||||
result.setMessage(savePath);
|
|
||||||
result.setResult(ossFile);
|
|
||||||
result.setSuccess(true);
|
result.setSuccess(true);
|
||||||
}else {
|
} else {
|
||||||
result.setMessage("上传失败!");
|
result.setMessage("上传失败!");
|
||||||
result.setSuccess(false);
|
result.setSuccess(false);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -47,6 +47,40 @@
|
|||||||
<artifactId>jero-boot-base-generater</artifactId>
|
<artifactId>jero-boot-base-generater</artifactId>
|
||||||
<version>${jero.version}</version>
|
<version>${jero.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>commons-beanutils</groupId>
|
||||||
|
<artifactId>commons-beanutils</artifactId>
|
||||||
|
<version>1.9.3</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>commons-collections</groupId>
|
||||||
|
<artifactId>commons-collections</artifactId>
|
||||||
|
<version>3.2.1</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>commons-lang</groupId>
|
||||||
|
<artifactId>commons-lang</artifactId>
|
||||||
|
<version>2.6</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>commons-logging</groupId>
|
||||||
|
<artifactId>commons-logging</artifactId>
|
||||||
|
<version>1.1.1</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>net.sf.ezmorph</groupId>
|
||||||
|
<artifactId>ezmorph</artifactId>
|
||||||
|
<version>1.0.6</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>net.sf.json-lib</groupId>
|
||||||
|
<artifactId>json-lib</artifactId>
|
||||||
|
<version>2.2.3</version>
|
||||||
|
<classifier>jdk15</classifier>
|
||||||
|
<!-- jdk版本 -->
|
||||||
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
|
|||||||
+8
-3
@@ -1,5 +1,6 @@
|
|||||||
package com.jero.modules.document.controller;
|
package com.jero.modules.document.controller;
|
||||||
|
|
||||||
|
import cn.hutool.json.JSON;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
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;
|
||||||
@@ -15,6 +16,7 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.servlet.ModelAndView;
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
|
import net.sf.json.JSONObject;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
@@ -67,9 +69,12 @@ public class BussDocumentLibraryEOController extends JeroController<BussDocument
|
|||||||
@AutoLog(value = "分页查询")
|
@AutoLog(value = "分页查询")
|
||||||
@ApiOperation(value="分页查询", notes="分页查询")
|
@ApiOperation(value="分页查询", notes="分页查询")
|
||||||
@GetMapping(value = "/queryPageInfo")
|
@GetMapping(value = "/queryPageInfo")
|
||||||
public Result<?> queryPageInfo(@RequestParam(name="parameter",required=false) Map<String,Object> parameter) {
|
@ResponseBody
|
||||||
bussDocumentLibraryEOService.getInfoPage(parameter);
|
public JSONObject queryPageInfo(@RequestParam(name="parameter",required=false) Map<String,Object> parameter) {
|
||||||
return Result.OK();
|
IPage infoPage = bussDocumentLibraryEOService.getInfoPage(parameter);
|
||||||
|
Result<IPage> ok = Result.OK(infoPage);
|
||||||
|
JSONObject jsonResult = JSONObject.fromObject(ok);
|
||||||
|
return jsonResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
+2
-1
@@ -17,7 +17,8 @@ public interface BussDocumentLibraryEOMapper extends BaseMapper<BussDocumentLibr
|
|||||||
int insertInfo(@Param("insertField") String insertField,
|
int insertInfo(@Param("insertField") String insertField,
|
||||||
@Param("insertValue") String insertValue);
|
@Param("insertValue") String insertValue);
|
||||||
|
|
||||||
IPage getInfoPage(@Param("page") Page page,
|
IPage getInfoPage(@Param("page") IPage page,
|
||||||
|
@Param("field") String field,
|
||||||
@Param("condition") String condition);
|
@Param("condition") String condition);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -40,8 +40,8 @@
|
|||||||
values (${insertValue})
|
values (${insertValue})
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
<select id="getInfoPage" resultType="com.baomidou.mybatisplus.core.metadata.IPage">
|
<select id="getInfoPage" resultType="java.util.LinkedHashMap">
|
||||||
select * from buss_document_library
|
select ${field} from buss_document_library
|
||||||
${condition}
|
${condition}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -1,5 +1,6 @@
|
|||||||
package com.jero.modules.document.service;
|
package com.jero.modules.document.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.jero.modules.document.entity.BussDocumentLibraryEO;
|
import com.jero.modules.document.entity.BussDocumentLibraryEO;
|
||||||
|
|
||||||
@@ -85,7 +86,7 @@ public interface IBussDocumentLibraryEOService extends IService<BussDocumentLibr
|
|||||||
*/
|
*/
|
||||||
void updateInfo(Map<String,Object> map);
|
void updateInfo(Map<String,Object> map);
|
||||||
|
|
||||||
void getInfoPage(Map<String,Object> parameter);
|
IPage getInfoPage(Map<String,Object> parameter);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+331
-355
@@ -13,6 +13,8 @@ import com.jero.modules.document.entity.BussDocumentLibraryEO;
|
|||||||
import com.jero.modules.document.enums.FieldTypeEnum;
|
import com.jero.modules.document.enums.FieldTypeEnum;
|
||||||
import com.jero.modules.document.mapper.BussDocumentLibraryEOMapper;
|
import com.jero.modules.document.mapper.BussDocumentLibraryEOMapper;
|
||||||
import com.jero.modules.document.service.IBussDocumentLibraryEOService;
|
import com.jero.modules.document.service.IBussDocumentLibraryEOService;
|
||||||
|
import com.jero.modules.oss.entity.OSSFile;
|
||||||
|
import com.jero.modules.oss.service.IOSSFileService;
|
||||||
import com.jero.modules.tag.entity.OnlCgformArea;
|
import com.jero.modules.tag.entity.OnlCgformArea;
|
||||||
import com.jero.modules.tag.service.impl.OnlCgformAreaServiceImpl;
|
import com.jero.modules.tag.service.impl.OnlCgformAreaServiceImpl;
|
||||||
import org.apache.commons.lang3.ObjectUtils;
|
import org.apache.commons.lang3.ObjectUtils;
|
||||||
@@ -22,162 +24,173 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.*;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.UUID;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 文档库信息表
|
* @Description: 文档库信息表
|
||||||
* @Author: jero-boot
|
* @Author: jero-boot
|
||||||
* @Date: 2022-01-21
|
* @Date: 2022-01-21
|
||||||
* @Version: V1.0
|
* @Version: V1.0
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLibraryEOMapper, BussDocumentLibraryEO> implements IBussDocumentLibraryEOService {
|
public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLibraryEOMapper, BussDocumentLibraryEO> implements IBussDocumentLibraryEOService {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private OnlCgformFieldServiceImpl onlCgformFieldService;
|
private OnlCgformFieldServiceImpl onlCgformFieldService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private OnlCgformAreaServiceImpl onlCgformAreaServiceImpl;
|
private OnlCgformAreaServiceImpl onlCgformAreaServiceImpl;
|
||||||
@Autowired
|
@Autowired
|
||||||
private BussDocumentLibraryEOMapper bussDocumentLibraryEOMapper;
|
private BussDocumentLibraryEOMapper bussDocumentLibraryEOMapper;
|
||||||
|
@Autowired
|
||||||
|
private IOSSFileService iOSSFileService;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通过id删除
|
* 通过id删除
|
||||||
*
|
*
|
||||||
* @param id
|
* @param id
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void deleteById(String id) {
|
public void deleteById(String id) {
|
||||||
removeById(id);
|
removeById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量删除
|
* 批量删除
|
||||||
*
|
*
|
||||||
* @param ids
|
* @param ids
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void deleteByIds(List<String> ids) {
|
public void deleteByIds(List<String> ids) {
|
||||||
removeByIds(ids);
|
removeByIds(ids);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通过id查询
|
* 通过id查询
|
||||||
*
|
*
|
||||||
* @param id
|
* @param id
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public BussDocumentLibraryEO queryById(String id) {
|
public BussDocumentLibraryEO queryById(String id) {
|
||||||
return getById(id);
|
return getById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 列表查询
|
* 列表查询
|
||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<BussDocumentLibraryEO> queryList() {
|
public List<BussDocumentLibraryEO> queryList() {
|
||||||
return list();
|
return list();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询条件
|
* 查询条件
|
||||||
* @return
|
*
|
||||||
*/
|
* @return
|
||||||
@Override
|
*/
|
||||||
public List<Map<String, Object>> queryCondition(String flag) {
|
@Override
|
||||||
List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList(flag);
|
public List<Map<String, Object>> queryCondition(String flag) {
|
||||||
if(fieldList.size() != 0){
|
List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList(flag);
|
||||||
//过滤出搜索条件()
|
if (fieldList.size() != 0) {
|
||||||
fieldList = fieldList.stream().filter(e-> YesOrNoEnum.YES.getValue().equals(String.valueOf(e.getIsQuery()))).collect(Collectors.toList());
|
//过滤出搜索条件()
|
||||||
}
|
fieldList = fieldList.stream().filter(e -> YesOrNoEnum.YES.getValue().equals(String.valueOf(e.getIsQuery()))).collect(Collectors.toList());
|
||||||
List<Map<String,Object>> list = new ArrayList<>();
|
}
|
||||||
for (OnlCgformField onlCgformField : fieldList) {
|
List<Map<String, Object>> list = new ArrayList<>();
|
||||||
Map<String,Object> map = new HashMap<>();
|
for (OnlCgformField onlCgformField : fieldList) {
|
||||||
map.put("field_show_type",onlCgformField.getFieldShowType());//类型(判断是下拉还是输入框,等等)
|
Map<String, Object> map = new HashMap<>();
|
||||||
map.put("dict_field",onlCgformField.getDictField());
|
map.put("field_show_type", onlCgformField.getFieldShowType());//类型(判断是下拉还是输入框,等等)
|
||||||
map.put("db_field_name",onlCgformField.getDbFieldName());//字段
|
map.put("dict_field", onlCgformField.getDictField());
|
||||||
map.put("db_field_txt",onlCgformField.getDbFieldTxt());//字段中文名
|
map.put("db_field_name", onlCgformField.getDbFieldName());//字段
|
||||||
map.put("db_field_en_name",onlCgformField.getDbFieldEnName());//字段英文名
|
map.put("db_field_txt", onlCgformField.getDbFieldTxt());//字段中文名
|
||||||
list.add(map);
|
map.put("db_field_en_name", onlCgformField.getDbFieldEnName());//字段英文名
|
||||||
}
|
list.add(map);
|
||||||
return list;
|
}
|
||||||
}
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 列表表头
|
* 列表表头
|
||||||
* @return
|
*
|
||||||
*/
|
* @return
|
||||||
@Override
|
*/
|
||||||
public List<Map<String, Object>> getHeader(String flag) {
|
@Override
|
||||||
List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList(flag);
|
public List<Map<String, Object>> getHeader(String flag) {
|
||||||
if(fieldList.size() != 0){
|
List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList(flag);
|
||||||
//过滤列表字段(is_show_list-->列表是否显示0否 1是)
|
if (fieldList.size() != 0) {
|
||||||
fieldList = fieldList.stream().filter(e-> YesOrNoEnum.YES.getValue().equals(String.valueOf(e.getIsShowList()))).collect(Collectors.toList());
|
//过滤列表字段(is_show_list-->列表是否显示0否 1是)
|
||||||
}
|
fieldList = fieldList.stream().filter(e -> YesOrNoEnum.YES.getValue().equals(String.valueOf(e.getIsShowList()))).collect(Collectors.toList());
|
||||||
List<Map<String,Object>> list = new ArrayList<>();
|
}
|
||||||
for (OnlCgformField onlCgformField : fieldList) {
|
List<Map<String, Object>> list = new ArrayList<>();
|
||||||
Map<String,Object> map = new HashMap<>();
|
for (OnlCgformField onlCgformField : fieldList) {
|
||||||
map.put("db_field_name",onlCgformField.getDbFieldName());//字段
|
Map<String, Object> map = new HashMap<>();
|
||||||
map.put("db_field_txt",onlCgformField.getDbFieldTxt());//字段中文名
|
map.put("db_field_name", onlCgformField.getDbFieldName());//字段
|
||||||
map.put("db_field_en_name",onlCgformField.getDbFieldEnName());//字段英文名
|
map.put("db_field_txt", onlCgformField.getDbFieldTxt());//字段中文名
|
||||||
list.add(map);
|
map.put("db_field_en_name", onlCgformField.getDbFieldEnName());//字段英文名
|
||||||
}
|
list.add(map);
|
||||||
return list;
|
}
|
||||||
}
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增表单
|
* 新增表单
|
||||||
* @return
|
*
|
||||||
*/
|
* @return
|
||||||
@Override
|
*/
|
||||||
public List<Map<String,Object>> getAddForm(String flag) {
|
@Override
|
||||||
OnlCgformArea onlCgformArea = new OnlCgformArea();
|
public List<Map<String, Object>> getAddForm(String flag) {
|
||||||
onlCgformArea.setIsModel(ModuleEnum.DOCUMENT_LIBRARY.getValue());
|
OnlCgformArea onlCgformArea = new OnlCgformArea();
|
||||||
//区域管理
|
onlCgformArea.setIsModel(ModuleEnum.DOCUMENT_LIBRARY.getValue());
|
||||||
List<OnlCgformArea> areaList = onlCgformAreaServiceImpl.queryList(onlCgformArea);
|
//区域管理
|
||||||
//字段属性
|
List<OnlCgformArea> areaList = onlCgformAreaServiceImpl.queryList(onlCgformArea);
|
||||||
List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList(flag);
|
//字段属性
|
||||||
|
List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList(flag);
|
||||||
|
|
||||||
if(fieldList.size() != 0){
|
if (fieldList.size() != 0) {
|
||||||
//过滤出表单字段(is_show_form-->表单是否显示0否 1是)
|
//过滤出表单字段(is_show_form-->表单是否显示0否 1是)
|
||||||
fieldList = fieldList.stream().filter(e-> YesOrNoEnum.YES.getValue().equals(String.valueOf(e.getIsShowForm()))).collect(Collectors.toList());
|
fieldList = fieldList.stream().filter(e -> YesOrNoEnum.YES.getValue().equals(String.valueOf(e.getIsShowForm()))).collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
List<Map<String,Object>> result = new ArrayList<>();
|
List<Map<String, Object>> result = new ArrayList<>();
|
||||||
for (OnlCgformArea onlCgformAreaTemp : areaList) {
|
for (OnlCgformArea onlCgformAreaTemp : areaList) {
|
||||||
List<OnlCgformField> fieldListTemp = fieldList.stream().filter(e->onlCgformAreaTemp.getSort().toString().equals(e.getShowArea())).collect(Collectors.toList());
|
List<OnlCgformField> fieldListTemp = fieldList.stream().filter(e -> onlCgformAreaTemp.getSort().toString().equals(e.getShowArea())).collect(Collectors.toList());
|
||||||
for (OnlCgformField onlCgformField : fieldListTemp) {
|
for (OnlCgformField onlCgformField : fieldListTemp) {
|
||||||
Map<String,Object> map = new HashMap<>();
|
Map<String, Object> map = new HashMap<>();
|
||||||
map.put("field_show_type",onlCgformField.getFieldShowType());//类型(判断是下拉还是输入框,等等)
|
map.put("field_show_type", onlCgformField.getFieldShowType());//类型(判断是下拉还是输入框,等等)
|
||||||
map.put("dict_field",onlCgformField.getDictField());
|
map.put("dict_field", onlCgformField.getDictField());
|
||||||
map.put("db_field_name",onlCgformField.getDbFieldName());//字段
|
map.put("db_field_name", onlCgformField.getDbFieldName());//字段
|
||||||
map.put("db_field_txt",onlCgformField.getDbFieldTxt());//字段中文名
|
map.put("db_field_txt", onlCgformField.getDbFieldTxt());//字段中文名
|
||||||
map.put("db_field_en_name",onlCgformField.getDbFieldEnName());//字段英文名
|
map.put("db_field_en_name", onlCgformField.getDbFieldEnName());//字段英文名
|
||||||
map.put("area",onlCgformAreaTemp.getShowArea());//区域
|
map.put("area", onlCgformAreaTemp.getShowArea());//区域
|
||||||
map.put("field_must_input",onlCgformField.getFieldMustInput());//区域
|
map.put("field_must_input", onlCgformField.getFieldMustInput());//区域
|
||||||
result.add(map);
|
result.add(map);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 详情,编辑数据查询
|
* 详情,编辑数据查询
|
||||||
* @param id
|
*
|
||||||
* @return
|
* @param id
|
||||||
*/
|
* @return
|
||||||
@Override
|
*/
|
||||||
public List<Map<String,Object>> getDocumentInfoById(String id) {
|
@Override
|
||||||
LambdaQueryWrapper<BussDocumentLibraryEO> queryWrapper = new LambdaQueryWrapper<>();
|
public List<Map<String, Object>> getDocumentInfoById(String id) {
|
||||||
queryWrapper.eq(BussDocumentLibraryEO::getId,id);
|
LambdaQueryWrapper<BussDocumentLibraryEO> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
//通过id查询数据
|
queryWrapper.eq(BussDocumentLibraryEO::getId, id);
|
||||||
List<Map<String, Object>> dateList = bussDocumentLibraryEOMapper.selectMaps(queryWrapper);
|
//通过id查询数据
|
||||||
return dateList;
|
List<Map<String, Object>> dateList = bussDocumentLibraryEOMapper.selectMaps(queryWrapper);
|
||||||
|
return dateList;
|
||||||
// //区域管理
|
// //区域管理
|
||||||
// List<OnlCgformArea> areaList = onlCgformAreaServiceImpl.queryList();
|
// List<OnlCgformArea> areaList = onlCgformAreaServiceImpl.queryList();
|
||||||
// //字段属性
|
// //字段属性
|
||||||
@@ -208,275 +221,238 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
// result.add(map);
|
// result.add(map);
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增数据
|
* 新增数据
|
||||||
* @param map
|
*
|
||||||
*/
|
* @param map
|
||||||
public void addInfo(Map<String,Object> map){
|
*/
|
||||||
//字段属性
|
public void addInfo(Map<String, Object> map) {
|
||||||
List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList(ModuleEnum.DOCUMENT_LIBRARY.getValue());
|
//字段属性
|
||||||
//时间类型字段
|
List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList(ModuleEnum.DOCUMENT_LIBRARY.getValue());
|
||||||
List<OnlCgformField> fieldDateList = fieldList.stream().filter(e->"Date".equals(e.getDbType())).collect(Collectors.toList());
|
//时间类型字段
|
||||||
//文件类型字段
|
List<OnlCgformField> fieldDateList = fieldList.stream().filter(e -> "Date".equals(e.getDbType())).collect(Collectors.toList());
|
||||||
List<OnlCgformField> fieldFileList = fieldList.stream().filter(e->"file".equals(e.getFieldShowType())).collect(Collectors.toList());
|
//文件类型字段
|
||||||
//以下3行代码为测试数据(暂时保留)
|
List<OnlCgformField> fieldFileList = fieldList.stream().filter(e -> "file".equals(e.getFieldShowType())).collect(Collectors.toList());
|
||||||
|
//以下3行代码为测试数据(暂时保留)
|
||||||
// LambdaQueryWrapper<BussDocumentLibraryEO> queryWrapper = new LambdaQueryWrapper<>();
|
// LambdaQueryWrapper<BussDocumentLibraryEO> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
// queryWrapper.eq(BussDocumentLibraryEO::getId,"1");
|
// queryWrapper.eq(BussDocumentLibraryEO::getId,"1");
|
||||||
// List<Map<String, Object>> dateList = bussDocumentLibraryEOMapper.selectMaps(queryWrapper);
|
// List<Map<String, Object>> dateList = bussDocumentLibraryEOMapper.selectMaps(queryWrapper);
|
||||||
String mustFields = "id,create_by,create_time,update_by,update_time,sys_org_code";
|
String mustFields = "id,create_by,create_time,update_by,update_time,sys_org_code";
|
||||||
String mustValues = getMustValues();
|
String mustValues = getMustValues();
|
||||||
//字段
|
//字段
|
||||||
StringBuilder fieldsBuilder = new StringBuilder();
|
StringBuilder fieldsBuilder = new StringBuilder();
|
||||||
//数据值
|
//数据值
|
||||||
StringBuilder valuesBuilder = new StringBuilder();
|
StringBuilder valuesBuilder = new StringBuilder();
|
||||||
// for (Map.Entry<String, Object> entry : dateList.get(0).entrySet()) {
|
// for (Map.Entry<String, Object> entry : dateList.get(0).entrySet()) {
|
||||||
for (Map.Entry<String, Object> entry : map.entrySet()) {
|
for (Map.Entry<String, Object> entry : map.entrySet()) {
|
||||||
String key = entry.getKey();
|
String key = entry.getKey();
|
||||||
Object value = entry.getValue();
|
Object value = entry.getValue();
|
||||||
List<OnlCgformField> fieldDate = fieldDateList.stream().filter(e -> entry.getKey().equals(e.getDbFieldName())).collect(Collectors.toList());
|
List<OnlCgformField> fieldDate = fieldDateList.stream().filter(e -> entry.getKey().equals(e.getDbFieldName())).collect(Collectors.toList());
|
||||||
//处理发布日期,标准实施日期
|
//处理发布日期,标准实施日期
|
||||||
//以下注释代码为测试数据(暂时保留)
|
//以下注释代码为测试数据(暂时保留)
|
||||||
// if(!"id".equals(key)
|
// if(!"id".equals(key)
|
||||||
// &&!"create_by".equals(key)
|
// &&!"create_by".equals(key)
|
||||||
// &&!"create_time".equals(key)
|
// &&!"create_time".equals(key)
|
||||||
// &&!"update_by".equals(key)
|
// &&!"update_by".equals(key)
|
||||||
// &&!"update_time".equals(key)
|
// &&!"update_time".equals(key)
|
||||||
// &&!"sys_org_code".equals(key)){
|
// &&!"sys_org_code".equals(key)){
|
||||||
if("issue_time".equals(key) || "implement_time".equals(key)){
|
if ("issue_time".equals(key) || "implement_time".equals(key)) {
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
if(ObjectUtils.isNotEmpty(value)){
|
if (ObjectUtils.isNotEmpty(value)) {
|
||||||
value = "str_to_date('" + sdf.format(value) + "','%Y-%m-%d %H:%i:%s')";
|
value = "str_to_date('" + sdf.format(value) + "','%Y-%m-%d %H:%i:%s')";
|
||||||
}
|
}
|
||||||
valuesBuilder.append("," + value);
|
valuesBuilder.append("," + value);
|
||||||
}else{
|
} else {
|
||||||
valuesBuilder.append("," + "'" + value + "'");
|
//处理文件类型
|
||||||
}
|
List<OnlCgformField> fieldFile = fieldFileList.stream().filter(e -> entry.getKey().equals(e.getDbFieldName())).collect(Collectors.toList());
|
||||||
fieldsBuilder.append("," + key);
|
if (fieldFile.size() != 0 && ObjectUtils.isNotEmpty(value)) {
|
||||||
|
|
||||||
|
String valueTemp = UUID.randomUUID().toString().replace("-", "");
|
||||||
|
value = valueTemp;
|
||||||
|
//修改文件表关联信息connect_id
|
||||||
|
List<OSSFile> oSSFileList = new ArrayList<>();
|
||||||
|
for (String fileId : value.toString().split(",")) {
|
||||||
|
OSSFile ossFile = new OSSFile();
|
||||||
|
ossFile.setId(fileId);
|
||||||
|
ossFile.setConnectId(valueTemp);
|
||||||
|
oSSFileList.add(ossFile);
|
||||||
|
}
|
||||||
|
iOSSFileService.updateFileInfo(oSSFileList);
|
||||||
|
}
|
||||||
|
valuesBuilder.append("," + "'" + value + "'");
|
||||||
|
}
|
||||||
|
fieldsBuilder.append("," + key);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
String insertField = mustFields + fieldsBuilder.toString();
|
||||||
|
String insertValue = mustValues + valuesBuilder.toString();
|
||||||
|
bussDocumentLibraryEOMapper.insertInfo(insertField, insertValue);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
//处理文件类型
|
/**
|
||||||
List<OnlCgformField> fieldFile = fieldFileList.stream().filter(e->entry.getKey().equals(e.getDbFieldName())).collect(Collectors.toList());
|
* 编辑数据
|
||||||
if(fieldFile.size() != 0 && ObjectUtils.isNotEmpty(value)){
|
*
|
||||||
|
* @param map
|
||||||
String valueTemp = UUID.randomUUID().toString().replace("-", "");
|
*/
|
||||||
//修改文件表关联信息connect_id
|
public void updateInfo(Map<String, Object> map) {
|
||||||
|
//字段属性
|
||||||
}
|
List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList(ModuleEnum.DOCUMENT_LIBRARY.getValue());
|
||||||
}
|
//时间类型字段
|
||||||
|
List<OnlCgformField> fieldDateList = fieldList.stream().filter(e -> "Date".equals(e.getDbType())).collect(Collectors.toList());
|
||||||
|
//文件类型字段
|
||||||
String insertField = mustFields + fieldsBuilder.toString();
|
List<OnlCgformField> fieldFileList = fieldList.stream().filter(e -> "file".equals(e.getFieldShowType())).collect(Collectors.toList());
|
||||||
String insertValue = mustValues + valuesBuilder.toString();
|
//一下3行代码为测试数据(暂时保留)
|
||||||
bussDocumentLibraryEOMapper.insertInfo(insertField,insertValue);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 编辑数据
|
|
||||||
* @param map
|
|
||||||
*/
|
|
||||||
public void updateInfo(Map<String,Object> map){
|
|
||||||
//字段属性
|
|
||||||
List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList(ModuleEnum.DOCUMENT_LIBRARY.getValue());
|
|
||||||
//时间类型字段
|
|
||||||
List<OnlCgformField> fieldDateList = fieldList.stream().filter(e->"Date".equals(e.getDbType())).collect(Collectors.toList());
|
|
||||||
//文件类型字段
|
|
||||||
List<OnlCgformField> fieldFileList = fieldList.stream().filter(e->"file".equals(e.getFieldShowType())).collect(Collectors.toList());
|
|
||||||
//一下3行代码为测试数据(暂时保留)
|
|
||||||
// LambdaQueryWrapper<BussDocumentLibraryEO> queryWrapper = new LambdaQueryWrapper<>();
|
// LambdaQueryWrapper<BussDocumentLibraryEO> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
// queryWrapper.eq(BussDocumentLibraryEO::getId,"1");
|
// queryWrapper.eq(BussDocumentLibraryEO::getId,"1");
|
||||||
// List<Map<String, Object>> dateList = bussDocumentLibraryEOMapper.selectMaps(queryWrapper);
|
// List<Map<String, Object>> dateList = bussDocumentLibraryEOMapper.selectMaps(queryWrapper);
|
||||||
//字段
|
//字段
|
||||||
StringBuilder fieldsBuilder = new StringBuilder();
|
StringBuilder fieldsBuilder = new StringBuilder();
|
||||||
//数据值
|
//数据值
|
||||||
StringBuilder valuesBuilder = new StringBuilder();
|
StringBuilder valuesBuilder = new StringBuilder();
|
||||||
// for (Map.Entry<String, Object> entry : dateList.get(0).entrySet()) {
|
// for (Map.Entry<String, Object> entry : dateList.get(0).entrySet()) {
|
||||||
for (Map.Entry<String, Object> entry : map.entrySet()) {
|
for (Map.Entry<String, Object> entry : map.entrySet()) {
|
||||||
String key = entry.getKey();
|
String key = entry.getKey();
|
||||||
Object value = entry.getValue();
|
Object value = entry.getValue();
|
||||||
//处理修改人和修改时间
|
//处理修改人和修改时间
|
||||||
if("update_by".equals(key)){
|
if ("update_by".equals(key)) {
|
||||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
value = sysUser.getUsername();
|
value = sysUser.getUsername();
|
||||||
}
|
}
|
||||||
if( "update_time".equals(key)){
|
if ("update_time".equals(key)) {
|
||||||
value = new Date();
|
value = new Date();
|
||||||
}
|
}
|
||||||
List<OnlCgformField> fieldDate = fieldDateList.stream().filter(e -> entry.getKey().equals(e.getDbFieldName())).collect(Collectors.toList());
|
List<OnlCgformField> fieldDate = fieldDateList.stream().filter(e -> entry.getKey().equals(e.getDbFieldName())).collect(Collectors.toList());
|
||||||
//处理时间类型
|
//处理时间类型
|
||||||
if(fieldDate.size() != 0){
|
if (fieldDate.size() != 0) {
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
if(ObjectUtils.isNotEmpty(value)){
|
if (ObjectUtils.isNotEmpty(value)) {
|
||||||
value = "str_to_date('" + sdf.format(value) + "','%Y-%m-%d %H:%i:%s')";
|
value = "str_to_date('" + sdf.format(value) + "','%Y-%m-%d %H:%i:%s')";
|
||||||
}
|
}
|
||||||
valuesBuilder.append(value + ",");
|
valuesBuilder.append(value + ",");
|
||||||
}else{
|
} else {
|
||||||
valuesBuilder.append("'" + value + "'" + ",");
|
valuesBuilder.append("'" + value + "'" + ",");
|
||||||
}
|
}
|
||||||
fieldsBuilder.append(key + ",");
|
fieldsBuilder.append(key + ",");
|
||||||
|
|
||||||
//处理文件类型
|
//处理文件类型
|
||||||
List<OnlCgformField> fieldFile = fieldFileList.stream().filter(e->entry.getKey().equals(e.getDbFieldName())).collect(Collectors.toList());
|
List<OnlCgformField> fieldFile = fieldFileList.stream().filter(e -> entry.getKey().equals(e.getDbFieldName())).collect(Collectors.toList());
|
||||||
if(fieldFile.size() != 0 && ObjectUtils.isNotEmpty(value)){
|
if (fieldFile.size() != 0 && ObjectUtils.isNotEmpty(value)) {
|
||||||
|
|
||||||
String valueTemp = UUID.randomUUID().toString().replace("-", "");
|
String valueTemp = UUID.randomUUID().toString().replace("-", "");
|
||||||
//修改文件表关联信息connect_id
|
//修改文件表关联信息connect_id
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
String insertField = fieldsBuilder.substring(0, fieldsBuilder.length() - 1);
|
String insertField = fieldsBuilder.substring(0, fieldsBuilder.length() - 1);
|
||||||
String insertValue = valuesBuilder.substring(0, valuesBuilder.length() - 1);
|
String insertValue = valuesBuilder.substring(0, valuesBuilder.length() - 1);
|
||||||
//先删除在新增.
|
//先删除在新增.
|
||||||
// bussDocumentLibraryEOMapper.deleteById((String)dateList.get(0).get("id"));
|
// bussDocumentLibraryEOMapper.deleteById((String)dateList.get(0).get("id"));
|
||||||
bussDocumentLibraryEOMapper.deleteById((String)map.get("id"));
|
bussDocumentLibraryEOMapper.deleteById((String) map.get("id"));
|
||||||
bussDocumentLibraryEOMapper.insertInfo(insertField,insertValue);
|
bussDocumentLibraryEOMapper.insertInfo(insertField, insertValue);
|
||||||
|
|
||||||
}
|
}
|
||||||
private String getMustValues(){
|
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
||||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
|
||||||
String mustValue = "'"+ UUID.randomUUID().toString().replace("-", "") + "','" + sysUser.getUsername() + "',"
|
|
||||||
+"str_to_date('" + sdf.format(new Date()) + "','%Y-%m-%d %H:%i:%s')"+ ",'"+sysUser.getUsername() + "',"
|
|
||||||
+"str_to_date('" + sdf.format(new Date()) + "','%Y-%m-%d %H:%i:%s')"+ ",'"+sysUser.getOrgCode()+ "'";
|
|
||||||
return mustValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void getInfoPage(Map<String,Object> parameter){
|
private String getMustValues() {
|
||||||
//过滤查询条件字段类型使用
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
List<Map<String, Object>> mapList = queryCondition("1");
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
|
String mustValue = "'" + UUID.randomUUID().toString().replace("-", "") + "','" + sysUser.getUsername() + "',"
|
||||||
|
+ "str_to_date('" + sdf.format(new Date()) + "','%Y-%m-%d %H:%i:%s')" + ",'" + sysUser.getUsername() + "',"
|
||||||
|
+ "str_to_date('" + sdf.format(new Date()) + "','%Y-%m-%d %H:%i:%s')" + ",'" + sysUser.getOrgCode() + "'";
|
||||||
|
return mustValue;
|
||||||
|
}
|
||||||
|
|
||||||
//测试数据(查询条件, 暂时使用mapTemp, 提交代码的时候使用parameter)
|
public IPage getInfoPage(Map<String, Object> parameter) {
|
||||||
Map<String,Object> mapTemp = new HashMap<>();
|
//过滤查询条件字段类型使用
|
||||||
// mapTemp.put("orderByField","issue_time");//测试数据
|
List<Map<String, Object>> mapList = queryCondition("1");
|
||||||
// mapTemp.put("orderBy","1");//测试数据
|
|
||||||
|
|
||||||
for (Map<String, Object> map : mapList) {
|
|
||||||
for (Map.Entry<String, Object> entry : map.entrySet()) {
|
|
||||||
String key = entry.getKey();
|
|
||||||
String value = (String) entry.getValue();
|
|
||||||
int a= 0;
|
|
||||||
if("db_field_name".equals(key)){
|
|
||||||
mapTemp.put(value,"aaa");//测试数据
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//查询条件
|
//需要查询的字段
|
||||||
StringBuilder conditionSb = new StringBuilder("where 1 = 1");
|
List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList("1");
|
||||||
|
if (fieldList.size() != 0) {
|
||||||
|
//过滤列表字段(is_show_list-->列表是否显示0否 1是)
|
||||||
|
fieldList = fieldList.stream().filter(e -> YesOrNoEnum.YES.getValue().equals(String.valueOf(e.getIsShowList()))).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
List<String> fieldListTemp = fieldList.stream().map(OnlCgformField::getDbFieldName).collect(Collectors.toList());
|
||||||
|
List<String> fieldListNew = new ArrayList<>();
|
||||||
|
fieldListNew.add("id");
|
||||||
|
//转时间格式
|
||||||
|
for (String field : fieldListTemp) {
|
||||||
|
if ("issue_time".equals(field) || "implement_time".equals(field)) {
|
||||||
|
fieldListNew.add("date_format(" + field + ", '%Y-%m-%d %H:%i:%s')");
|
||||||
|
} else {
|
||||||
|
fieldListNew.add(field);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
for (Map.Entry<String, Object> entry : mapTemp.entrySet()) {
|
//查询条件
|
||||||
String key = entry.getKey();
|
StringBuilder conditionSb = new StringBuilder("where 1 = 1");
|
||||||
String value = (String) entry.getValue();
|
|
||||||
if(StringUtils.isNotBlank(value)){
|
|
||||||
for (Map<String, Object> map : mapList) {
|
|
||||||
String fieldName = (String)map.get("db_field_name");//字段
|
|
||||||
if(key.equals(fieldName)){
|
|
||||||
//字段类型(判断是输入框还是下拉,等等)
|
|
||||||
String fieldType = (String) map.get("field_show_type");//字段类型
|
|
||||||
|
|
||||||
if(FieldTypeEnum.TEXT.getValue().equals(fieldType)){
|
if (ObjectUtils.isNotEmpty(parameter)) {
|
||||||
//输入框
|
for (Map.Entry<String, Object> entry : parameter.entrySet()) {
|
||||||
conditionSb.append(" and " + key + " like concat(concat('%','" + value + "'),'%')");
|
String key = entry.getKey();
|
||||||
|
String value = (String) entry.getValue();
|
||||||
|
if (StringUtils.isNotBlank(value)) {
|
||||||
|
for (Map<String, Object> map : mapList) {
|
||||||
|
String fieldName = (String) map.get("db_field_name");//字段
|
||||||
|
if (key.equals(fieldName)) {
|
||||||
|
//字段类型(判断是输入框还是下拉,等等)
|
||||||
|
String fieldType = (String) map.get("field_show_type");//字段类型
|
||||||
|
|
||||||
}else if(FieldTypeEnum.LIST.getValue().equals(fieldType)
|
if (FieldTypeEnum.TEXT.getValue().equals(fieldType)) {
|
||||||
|| FieldTypeEnum.LIST_MULTI.getValue().equals(fieldType)){
|
//输入框
|
||||||
StringBuilder valueSb = new StringBuilder();
|
conditionSb.append(" and " + key + " like concat(concat('%','" + value + "'),'%')");
|
||||||
for (String valueTemp : value.split(",")) {
|
|
||||||
valueSb.append("'" + valueTemp + "',");
|
|
||||||
}
|
|
||||||
String substring = valueSb.substring(0, valueSb.length() - 1);
|
|
||||||
//下拉单选或下拉多选
|
|
||||||
conditionSb.append(" and " + key + " in("+substring+")");
|
|
||||||
|
|
||||||
}else if(FieldTypeEnum.DATE.getValue().equals(fieldType)){
|
} else if (FieldTypeEnum.LIST.getValue().equals(fieldType)
|
||||||
value = "2022-01-24";
|
|| FieldTypeEnum.LIST_MULTI.getValue().equals(fieldType)) {
|
||||||
//日期(区分单日期还时间范围)
|
StringBuilder valueSb = new StringBuilder();
|
||||||
if(value.contains(",")){
|
for (String valueTemp : value.split(",")) {
|
||||||
conditionSb.append(" and " +"date_format("+ key + ",'%Y-%m-%d') >= '" + value.split(",")[0] + "'"
|
valueSb.append("'" + valueTemp + "',");
|
||||||
+ " and " +"date_format("+ key + ",'%Y-%m-%d') <= '" + value.split(",")[1] + "'");
|
}
|
||||||
}else{
|
String substring = valueSb.substring(0, valueSb.length() - 1);
|
||||||
conditionSb.append(" and " +"date_format("+ key + ",'%Y-%m-%d') = '" + value + "'");
|
//下拉单选或下拉多选
|
||||||
}
|
conditionSb.append(" and " + key + " in(" + substring + ")");
|
||||||
}
|
|
||||||
}
|
} else if (FieldTypeEnum.DATE.getValue().equals(fieldType)) {
|
||||||
}
|
value = "2022-01-24";
|
||||||
}
|
//日期(区分单日期还时间范围)
|
||||||
}
|
if (value.contains(",")) {
|
||||||
//处理列表表头排序
|
conditionSb.append(" and " + "date_format(" + key + ",'%Y-%m-%d') >= '" + value.split(",")[0] + "'"
|
||||||
if(StringUtils.isNotBlank((String) mapTemp.get("orderByField"))){
|
+ " and " + "date_format(" + key + ",'%Y-%m-%d') <= '" + value.split(",")[1] + "'");
|
||||||
conditionSb.append(" order by " + (String) mapTemp.get("orderByField"));
|
} else {
|
||||||
if("1".equals((String) mapTemp.get("orderBy"))){
|
conditionSb.append(" and " + "date_format(" + key + ",'%Y-%m-%d') = '" + value + "'");
|
||||||
conditionSb.append(" asc");//正序
|
}
|
||||||
}else if("2".equals((String) mapTemp.get("orderBy"))){
|
}
|
||||||
conditionSb.append(" desc");//倒序
|
}
|
||||||
}
|
}
|
||||||
}else{
|
}
|
||||||
conditionSb.append(" order by create_time desc");
|
}
|
||||||
}
|
//处理列表表头排序
|
||||||
int pageNo = 1;
|
if (StringUtils.isNotBlank((String) parameter.get("orderByField"))) {
|
||||||
int pageSize = 10;
|
conditionSb.append(" order by " + (String) parameter.get("orderByField"));
|
||||||
|
if ("1".equals((String) parameter.get("orderBy"))) {
|
||||||
|
conditionSb.append(" asc");//正序
|
||||||
|
} else if ("2".equals((String) parameter.get("orderBy"))) {
|
||||||
|
conditionSb.append(" desc");//倒序
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
conditionSb.append(" order by create_time desc");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
int pageNo = 1;
|
||||||
|
int pageSize = 10;
|
||||||
// int pageNo = Integer.parseInt(mapTemp.get("pageNo").toString());
|
// int pageNo = Integer.parseInt(mapTemp.get("pageNo").toString());
|
||||||
// int pageSize = Integer.parseInt(mapTemp.get("pageSize").toString());
|
// int pageSize = Integer.parseInt(mapTemp.get("pageSize").toString());
|
||||||
Page page = new Page(pageNo, pageSize);
|
IPage page = new Page(pageNo, pageSize);
|
||||||
|
|
||||||
IPage infoPage = bussDocumentLibraryEOMapper.getInfoPage(page, conditionSb.toString());
|
|
||||||
int a = 0;
|
|
||||||
|
|
||||||
// for (Map<String, Object> map : mapList) {
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// String key = (String) map.get("db_field_name");//字段名
|
|
||||||
//// String value = (String) map.get("value");//字段值
|
|
||||||
// String value = "qqqqqq,wwww";//字段值
|
|
||||||
// String fieldType = (String) map.get("field_show_type");//字段类型
|
|
||||||
//
|
|
||||||
// if(StringUtils.isNotBlank(value)){
|
|
||||||
// if(FieldTypeEnum.TEXT.getValue().equals(fieldType)){
|
|
||||||
// //输入框
|
|
||||||
// conditionSb.append(" and " + key + " like concat(concat('%','" + value + "'),'%')");
|
|
||||||
//// conditionSb.append(" and " + key +"='"+value+"' ");
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// }else if(FieldTypeEnum.LIST.getValue().equals(fieldType)
|
|
||||||
// || FieldTypeEnum.LIST_MULTI.getValue().equals(fieldType)){
|
|
||||||
// StringBuilder valueSb = new StringBuilder();
|
|
||||||
// for (String valueTemp : value.split(",")) {
|
|
||||||
// valueSb.append("'" + valueTemp + "',");
|
|
||||||
// }
|
|
||||||
// String substring = valueSb.substring(0, valueSb.length() - 1);
|
|
||||||
// //下拉单选或下拉多选
|
|
||||||
// conditionSb.append(" and " + key + " in("+substring+")");
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// }else if(FieldTypeEnum.DATE.getValue().equals(fieldType)){
|
|
||||||
// value = "2022-01-24,2022-01-24";
|
|
||||||
// //日期
|
|
||||||
// if(value.contains(",")){
|
|
||||||
// conditionSb.append(" and " +"date_format("+ key + ",'%Y-%m-%d') >= '" + value.split(",")[0] + "'"
|
|
||||||
// + " and " +"date_format("+ key + ",'%Y-%m-%d') >= '" + value.split(",")[1] + "'");
|
|
||||||
// }else{
|
|
||||||
// conditionSb.append(" and " +"date_format("+ key + ",'%Y-%m-%d') >= '" + value + "'");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
|
IPage infoPage = bussDocumentLibraryEOMapper.getInfoPage(page, " " + StringUtils.join(fieldListNew, ","), conditionSb.toString());
|
||||||
|
return infoPage;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
// bussDocumentLibraryEOMapper.getInfoPage();
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -135,7 +135,8 @@ spring:
|
|||||||
# username: root
|
# username: root
|
||||||
# password: 123456
|
# password: 123456
|
||||||
# driver-class-name: com.mysql.cj.jdbc.Driver
|
# driver-class-name: com.mysql.cj.jdbc.Driver
|
||||||
url: jdbc:mysql://121.36.69.172:3307/laws_weilai?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
|
url: jdbc:mysql://121.36.69.172:3307/laws_weilai?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false
|
||||||
|
# url: jdbc:mysql://121.36.69.172:3307/laws_weilai?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
|
||||||
username: root
|
username: root
|
||||||
password: hzwlsoft.com
|
password: hzwlsoft.com
|
||||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||||
@@ -180,7 +181,7 @@ jero :
|
|||||||
uploadType: local
|
uploadType: local
|
||||||
path :
|
path :
|
||||||
#文件上传根目录 设置
|
#文件上传根目录 设置
|
||||||
upload: D://opt//upFiles
|
upload: E://opt//upFiles
|
||||||
#webapp文件路径
|
#webapp文件路径
|
||||||
webapp: D://opt//webapp
|
webapp: D://opt//webapp
|
||||||
shiro:
|
shiro:
|
||||||
|
|||||||
@@ -124,7 +124,7 @@
|
|||||||
}
|
}
|
||||||
getAction(this.url.tableList, params).then((res) => {
|
getAction(this.url.tableList, params).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.jsonBody = res.result || []
|
this.jsonBody = res.result.records
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user