diff --git a/op-modules/op-file/src/main/java/com/op/file/controller/SysFileController.java b/op-modules/op-file/src/main/java/com/op/file/controller/SysFileController.java index 51b24acc2..ac8343206 100644 --- a/op-modules/op-file/src/main/java/com/op/file/controller/SysFileController.java +++ b/op-modules/op-file/src/main/java/com/op/file/controller/SysFileController.java @@ -4,6 +4,7 @@ import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.net.URLEncoder; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -93,10 +94,10 @@ public class SysFileController { @GetMapping("/downLoadFile") public void downLoadFile(HttpServletRequest request, HttpServletResponse response) { OutputStream out = null; - response.setHeader("Content-Disposition", "attachment;fileName=1.png"); - byte[] io = sysFileService.imageOnline(request.getParameter("id")); - response.setContentLength(io.length); try { + response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(request.getParameter("fileName"), "UTF-8")); + byte[] io = sysFileService.imageOnline(request.getParameter("id")); + response.setContentLength(io.length); out = response.getOutputStream(); out.write(io); } catch (IOException e) { diff --git a/op-modules/op-file/src/main/java/com/op/file/service/MongoFileImpl.java b/op-modules/op-file/src/main/java/com/op/file/service/MongoFileImpl.java index 3bf73e434..38e78b88e 100644 --- a/op-modules/op-file/src/main/java/com/op/file/service/MongoFileImpl.java +++ b/op-modules/op-file/src/main/java/com/op/file/service/MongoFileImpl.java @@ -90,14 +90,14 @@ public class MongoFileImpl implements ISysFileService { public String uploadFile(MultipartFile file) throws Exception { String fileName = file.getOriginalFilename(); String id = this.mongoService.uploadFile(file, fileName); - String url = domain + "/online?id=" + id; + String url = domain + "/downLoadFile?id=" + id+"&fileName="+fileName; return url; } /** * 图片预览 * - * @param imageid + * @param * @return */ @Override diff --git a/op-modules/op-mes/src/main/java/com/op/mes/domain/ProProcess.java b/op-modules/op-mes/src/main/java/com/op/mes/domain/ProProcess.java index 567c3cbf3..ce0326cf9 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/domain/ProProcess.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/domain/ProProcess.java @@ -1,10 +1,13 @@ package com.op.mes.domain; import com.op.common.core.annotation.Excel; +import com.op.common.core.domain.BaseFileData; import com.op.common.core.web.domain.BaseEntity; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; +import java.util.List; + /** * 生产工序对象 pro_process @@ -48,6 +51,7 @@ public class ProProcess extends BaseEntity private Long attr4; private String fileList; + private List files; //s:拆分 m合并 private String splitMerge; //拆分合并数量 @@ -59,6 +63,14 @@ public class ProProcess extends BaseEntity //工作时长 private Double workTime; + public List getFiles() { + return files; + } + + public void setFiles(List files) { + this.files = files; + } + public String getWorkCenter() { return workCenter; } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/mapper/BaseFileMapper.java b/op-modules/op-mes/src/main/java/com/op/mes/mapper/BaseFileMapper.java index 515567e1b..b0223c4d5 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/mapper/BaseFileMapper.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/mapper/BaseFileMapper.java @@ -64,4 +64,8 @@ public interface BaseFileMapper { public int deleteBaseFileByFileIds(String[] fileIds); Boolean insertBaseFileBatch(@Param("baseFiles") List baseFiles); + + List getBaseFileBatch(String processId); + + void deleteBaseFileBySourceId(String processId); } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/ProProcessServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/ProProcessServiceImpl.java index b10478b01..69d2b5100 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/ProProcessServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/ProProcessServiceImpl.java @@ -6,6 +6,7 @@ import com.op.common.core.utils.DateUtils; import com.op.common.core.utils.StringUtils; import com.op.common.core.utils.uuid.IdUtils; import com.op.common.security.utils.SecurityUtils; +import com.op.mes.domain.BaseFile; import com.op.mes.domain.ProProcess; import com.op.mes.mapper.BaseFileMapper; import com.op.mes.mapper.ProProcessMapper; @@ -14,6 +15,7 @@ import com.op.mes.service.IProProcessService; import com.op.system.api.RemoteUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import java.util.ArrayList; import java.util.Date; @@ -43,7 +45,12 @@ public class ProProcessServiceImpl implements IProProcessService @Override public ProProcess selectProProcessByProcessId(String processId) { - return proProcessMapper.selectProProcessByProcessId(processId); + ProProcess p = proProcessMapper.selectProProcessByProcessId(processId); + List files = baseFileMapper.getBaseFileBatch(processId); + if(!CollectionUtils.isEmpty(files)){ + p.setFiles(files); + } + return p; } /** @@ -108,6 +115,7 @@ public class ProProcessServiceImpl implements IProProcessService for(String id:ids){ file = new BaseFileData(); file.setFileId(IdUtils.fastSimpleUUID()); + file.setFileName(id.split("&fileName=")[1]); file.setFileAddress(id); file.setSourceId(proProcess.getProcessId()); file.setCreateBy(SecurityUtils.getUsername()); @@ -129,6 +137,26 @@ public class ProProcessServiceImpl implements IProProcessService @Override public int updateProProcess(ProProcess proProcess) { + + //上传附件 + if(StringUtils.isNotEmpty(proProcess.getFileList())){ + baseFileMapper.deleteBaseFileBySourceId(proProcess.getProcessId()); + String[] ids = proProcess.getFileList().split(","); + List files = new ArrayList<>(); + BaseFileData file = null; + for(String id:ids){ + file = new BaseFileData(); + file.setFileId(IdUtils.fastSimpleUUID()); + file.setFileAddress(id); + file.setFileName(id.split("&fileName=")[1]); + file.setSourceId(proProcess.getProcessId()); + file.setCreateBy(SecurityUtils.getUsername()); + file.setCreateTime(new Date()); + files.add(file); + } + baseFileMapper.insertBaseFileBatch(files); + } + proProcess.setUpdateTime(DateUtils.getNowDate()); return proProcessMapper.updateProProcess(proProcess); } diff --git a/op-modules/op-mes/src/main/resources/mapper/mes/BaseFileMapper.xml b/op-modules/op-mes/src/main/resources/mapper/mes/BaseFileMapper.xml index 8126ac081..919f43e9e 100644 --- a/op-modules/op-mes/src/main/resources/mapper/mes/BaseFileMapper.xml +++ b/op-modules/op-mes/src/main/resources/mapper/mes/BaseFileMapper.xml @@ -21,7 +21,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select file_id, file_name, file_address, source_id, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from base_file + select file_id, file_name, file_address, source_id, remark, attr1, + attr2, attr3, attr4, create_by, create_time, update_by, + update_time from base_file + - + insert into base_file file_id, @@ -120,4 +126,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{fileId} + + delete from base_file where source_id = #{sourceId} +