From dd0fed20576c3cd83ebe64d8706b19cb90526d2f Mon Sep 17 00:00:00 2001 From: 17602169347 Date: Fri, 17 Feb 2023 20:17:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/jnpf/controller/UtilsController.java | 1 + .../controller/ContractFileController.java | 106 +++++++++++++++++- .../entity/ContractFileEntity.java | 3 + .../service/impl/CustomerVOServiceImpl.java | 10 +- 4 files changed, 114 insertions(+), 6 deletions(-) diff --git a/SC-boot/linkage-file/src/main/java/jnpf/controller/UtilsController.java b/SC-boot/linkage-file/src/main/java/jnpf/controller/UtilsController.java index 5e14cd41..abf07b3f 100644 --- a/SC-boot/linkage-file/src/main/java/jnpf/controller/UtilsController.java +++ b/SC-boot/linkage-file/src/main/java/jnpf/controller/UtilsController.java @@ -113,6 +113,7 @@ public class UtilsController { return ActionResult.fail(MsgCode.FA017.get()); } UploaderVO vo = uploaderVO(file, type); + return ActionResult.success(vo); } diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/contractfile/controller/ContractFileController.java b/SC-boot/linkage-scm/src/main/java/jnpf/contractfile/controller/ContractFileController.java index cf270df1..6a3cd571 100644 --- a/SC-boot/linkage-scm/src/main/java/jnpf/contractfile/controller/ContractFileController.java +++ b/SC-boot/linkage-scm/src/main/java/jnpf/contractfile/controller/ContractFileController.java @@ -6,15 +6,19 @@ import cn.afterturn.easypoi.excel.ExcelExportUtil; import cn.afterturn.easypoi.excel.entity.ExportParams; import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import jnpf.base.ActionResult; +import jnpf.base.NoDataSourceBind; import jnpf.base.UserInfo; +import jnpf.base.util.OptimizeUtil; import jnpf.base.vo.DownloadVO; import jnpf.base.vo.PageListVO; import jnpf.base.vo.PaginationVO; import jnpf.config.ConfigValueUtil; +import jnpf.constant.MsgCode; import jnpf.contractfile.entity.ContractFileEntity; import jnpf.contractfile.entity.Contract_item0Entity; import jnpf.contractfile.entity.Contract_item1Entity; @@ -23,20 +27,26 @@ import jnpf.contractfile.service.ContractFileService; import jnpf.contractfile.service.Contract_item0Service; import jnpf.contractfile.service.Contract_item1Service; import jnpf.exception.DataException; +import jnpf.model.UploaderVO; import jnpf.util.*; import jnpf.util.enums.FileTypeEnum; import jnpf.util.file.UploadUtil; +import jnpf.utils.YozoUtils; import lombok.Cleanup; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Workbook; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.MediaType; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.validation.Valid; import java.io.FileOutputStream; import java.io.IOException; +import java.io.InputStream; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -71,7 +81,8 @@ public class ContractFileController { private Contract_item0Service contract_item0Service; @Autowired private Contract_item1Service contract_item1Service; - + @Autowired + private YozoUtils yozoUtils; @@ -474,12 +485,97 @@ public class ContractFileController { + /** + * 根据客户信息查询合同 + * + * @param contractFileEntity + * @return + */ + @PostMapping("/getListByCustomer") + public ActionResult getListByCustomer(@RequestBody ContractFileEntity contractFileEntity)throws IOException{ + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper(); + queryWrapper.eq(ContractFileEntity::getContractType, "1"); + queryWrapper.eq(ContractFileEntity::getStatus, "1"); + if(StringUtils.isNotEmpty(contractFileEntity.getCode())){ + queryWrapper.eq(ContractFileEntity::getCode, contractFileEntity.getCode()); + } + if(StringUtils.isNotEmpty(contractFileEntity.getName())){ + queryWrapper.eq(ContractFileEntity::getName, contractFileEntity.getName()); + } + queryWrapper.orderByAsc(ContractFileEntity::getBidOpeningDate); + List list = contractFileService.list(queryWrapper); + return ActionResult.success(list); + } + /** + * 上传文件/图片 + * + * @return + */ + @NoDataSourceBind() + @ApiOperation("上传文件/图片") + @PostMapping(value = "/Uploader/{type}", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) + public ActionResult uploader(@RequestPart("file") MultipartFile file, @PathVariable("type") String type) throws IOException { + String fileType = UpUtil.getFileType(file); + //验证类型 + if (!OptimizeUtil.fileType(configValueUtil.getAllowUploadFileType(), fileType)) { + return ActionResult.fail(MsgCode.FA017.get()); + } + UploaderVO vo = uploaderVO(file, type); + return ActionResult.success(vo); + } + /** + * 封装上传附件 + * + * @param file + * @param type + * @return + * @throws IOException + */ + private UploaderVO uploaderVO(MultipartFile file, String type) throws IOException { + String orgFileName = file.getOriginalFilename(); + String fileType = UpUtil.getFileType(file); +// if (OptimizeUtil.fileSize(file.getSize(), 1024000)) { +// return ActionResult.fail("上传失败,文件大小超过1M"); +// } + String fileName = DateUtil.dateNow("yyyyMMdd") + "_" + RandomUtil.uuId() + "." + fileType; + if (type.equals(FileTypeEnum.MAIL)) { + type = FileTypeEnum.TEMPORARY; + } + String filePath = FilePathUtil.getFilePath(type.toLowerCase()); + UploaderVO vo = UploaderVO.builder().name(fileName).build(); + //上传文件 + UploadUtil.uploadFile(configValueUtil.getFileType(), type, fileName, file, filePath); + if (type.equalsIgnoreCase(FileTypeEnum.USERAVATAR)) { + vo.setUrl(UploaderUtil.uploaderImg(fileName)); + } else if (type.equalsIgnoreCase(FileTypeEnum.ANNEX)) { +// UserInfo userInfo = userProvider.get(); +// vo.setUrl(UploaderUtil.uploaderFile(userInfo.getId() + "#" + fileName + "#" + type)); + vo.setUrl(UploaderUtil.uploaderImg("/api/file/Image/annex/", fileName)); + } else if (type.equalsIgnoreCase(FileTypeEnum.ANNEXPIC)) { + vo.setUrl(UploaderUtil.uploaderImg("/api/file/Image/annex/", fileName)); + }else { + vo.setUrl(UploaderUtil.uploaderImg("/api/file/Image/"+type.toLowerCase()+"/", fileName)); + } - - - - + //上传到永中 + if ("yozo".equals(configValueUtil.getAllowPreviewFileType())) { + try { + @Cleanup InputStream inputStream = file.getInputStream(); + String s = yozoUtils.uploadFileInPreview(inputStream, orgFileName); + Map map = JsonUtil.stringToMap(s); + if ("操作成功".equals(map.get("message"))) { + Map dataMap = JsonUtil.stringToMap(String.valueOf(map.get("data"))); + String verId = String.valueOf(dataMap.get("fileVersionId")); + vo.setFileVersionId(verId); + } + } catch (Exception e) { + System.out.println("上传到永中失败"); + e.printStackTrace(); + } + } + return vo; + } } diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/contractfile/entity/ContractFileEntity.java b/SC-boot/linkage-scm/src/main/java/jnpf/contractfile/entity/ContractFileEntity.java index 8111800f..3a9116d6 100644 --- a/SC-boot/linkage-scm/src/main/java/jnpf/contractfile/entity/ContractFileEntity.java +++ b/SC-boot/linkage-scm/src/main/java/jnpf/contractfile/entity/ContractFileEntity.java @@ -135,4 +135,7 @@ public class ContractFileEntity { @TableField("APPROVAL") private String approval; + //客户ID + @TableField(exist = false) + private String customerId; } diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/customer/service/impl/CustomerVOServiceImpl.java b/SC-boot/linkage-scm/src/main/java/jnpf/customer/service/impl/CustomerVOServiceImpl.java index 985cb286..70974b7d 100644 --- a/SC-boot/linkage-scm/src/main/java/jnpf/customer/service/impl/CustomerVOServiceImpl.java +++ b/SC-boot/linkage-scm/src/main/java/jnpf/customer/service/impl/CustomerVOServiceImpl.java @@ -101,7 +101,15 @@ public class CustomerVOServiceImpl extends ServiceImpl { + // 拼接sql + wq.like(CustomerEntity::getSupplierNm,customerPagination.getKeyword()) + .or() + .like(CustomerEntity::getSupplierCd,customerPagination.getKeyword()); + }); + } if(AllIdList.size()>0){ customerQueryWrapper.lambda().in(CustomerEntity::getId, AllIdList); }