|
|
|
@ -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<ContractFileEntity> queryWrapper = new LambdaQueryWrapper<ContractFileEntity>();
|
|
|
|
|
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<ContractFileEntity> 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<String, Object> map = JsonUtil.stringToMap(s);
|
|
|
|
|
if ("操作成功".equals(map.get("message"))) {
|
|
|
|
|
Map<String, Object> 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;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|