重构报表打印

This commit is contained in:
付庆吉
2021-04-12 10:54:30 +08:00
parent d3321c162f
commit 90a2d2e351
76 changed files with 2019 additions and 899 deletions

View File

@ -51,9 +51,7 @@ public class BidEvalDetailDTO extends BidEvalDetail implements Serializable {
private List<String> supplierRegisterIds;
public static long getSerialversionuid() {
return serialVersionUID;
}
public String getReviewTurnId() {
return reviewTurnId;

View File

@ -1,11 +1,9 @@
package com.chinaunicom.mall.ebtp.extend.export.bean;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseEntity;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

View File

@ -1,5 +1,6 @@
package com.chinaunicom.mall.ebtp.extend.export.bean;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
@ -52,6 +53,12 @@ public class BizExportDict implements Serializable {
@ApiModelProperty(value = "")
private Integer level;
/**
*
*/
@ApiModelProperty(value = "")
private Integer queryType;
/**
* 使能0、不可用1、可用
*/
@ -64,5 +71,12 @@ public class BizExportDict implements Serializable {
@ApiModelProperty(value = "")
private String methodDict;
/**
*
*/
@TableField(exist = false)
@ApiModelProperty(value = "是否可点击")
private boolean onClick;
}

View File

@ -1,72 +0,0 @@
package com.chinaunicom.mall.ebtp.extend.export.bean;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseEntity;
import com.chinaunicom.mall.ebtp.common.config.CustomLocalDateTimeTypeHandler;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Map;
/**
* 实体类 BizSupplierRegister
*
* @auto.generated
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "BizSupplierRegister对象", description = "供应商报名登记表")
public class BizSupplierRegister extends BaseEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 机构名称
*/
@ApiModelProperty(value = "机构名称")
private String companyName;
/**
* 投标人姓名
*/
@ApiModelProperty(value = "投标人姓名")
private String bidUserName;
/**
* 联系人名称
*/
@ApiModelProperty(value = "联系人名称")
private String contactName;
/**
* 签字确认时间
*/
@ApiModelProperty(value = "签字确认时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime signTime;
private String newPrice;
/**
* 下载状态:[0:未下载标书][1:已下载标书][2:已上传投标文件]
*/
@ApiModelProperty(value = "下载状态:[0:未下载标书][1:已下载标书][2:已上传投标文件]")
private String downloadStatus;
}

View File

@ -11,13 +11,13 @@ import lombok.experimental.Accessors;
@Data
@Accessors(chain = true)
@ApiModel("参数")
public class ExportParame {
public class ExportParam {
private String assessRoomId;
private String reviewTurnId;
private String reviewTurnSort;
private Integer reviewTurnSort;
private String projectId;

View File

@ -1,28 +0,0 @@
package com.chinaunicom.mall.ebtp.extend.export.bean;
import io.swagger.annotations.ApiModelProperty;
public class Tdoc {
@ApiModelProperty(value = "")
private String assessRoomId;
@ApiModelProperty(value = "轮次")
private Integer turnSort;
public String getAssessRoomId() {
return assessRoomId;
}
public void setAssessRoomId(String assessRoomId) {
this.assessRoomId = assessRoomId;
}
public Integer getTurnSort() {
return turnSort;
}
public void setTurnSort(Integer turnSort) {
this.turnSort = turnSort;
}
}

View File

@ -2,9 +2,9 @@ package com.chinaunicom.mall.ebtp.extend.export.controller;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.extend.export.bean.BizExportDict;
import com.chinaunicom.mall.ebtp.extend.export.bean.ExportParame;
import com.chinaunicom.mall.ebtp.extend.export.bean.ExportParam;
import com.chinaunicom.mall.ebtp.extend.export.service.ExportServiceFactory;
import com.chinaunicom.mall.ebtp.extend.export.service.IBizExportDictService;
import com.chinaunicom.mall.ebtp.extend.export.service.dict.IBizExportDictService;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
@ -41,7 +41,7 @@ public class ExportController {
*/
@PreAuthorize("hasAnyAuthority('ebtp-purchase','ebtp-agency-project-manager')")
@GetMapping(value = "/{type}")
public void export(@PathVariable String type, ExportParame param, HttpServletRequest request, HttpServletResponse response) {
public void export(@PathVariable String type, ExportParam param, HttpServletRequest request, HttpServletResponse response) {
exportServiceFactory.getService(type).doExport(param, request, response);
}

View File

@ -25,6 +25,6 @@
SELECT `id`, `dic_name`, `path`, `level`, `url`
FROM `biz_export_dict`
where active = 1 AND (method_dict = #{type} OR method_dict = '0')
ORDER BY id
ORDER BY sort
</select>
</mapper>

View File

@ -0,0 +1,35 @@
package com.chinaunicom.mall.ebtp.extend.export.entity;
import com.deepoove.poi.expression.Name;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 开标记录表导出数据实体
*/
@Data
@Accessors(chain = true)
public class BidOpenRecordExportData implements Serializable {
private static final long serialVersionUID = 1L;
private Integer index;
private String projName;
private String projNum;
private String bidNum;
private String openTime;
@Name("detail_table")
private ExportTableData tableData;
}

View File

@ -0,0 +1,34 @@
package com.chinaunicom.mall.ebtp.extend.export.entity;
import com.deepoove.poi.data.CellRenderData;
import com.deepoove.poi.data.MergeCellRule;
import com.deepoove.poi.data.RowRenderData;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.List;
@Data
@Accessors(chain = true)
public class ExportTableData implements Serializable {
private static final long serialVersionUID = 1L;
//表头的循环数据
private List<CellRenderData> cells;
//行单元格合并
private MergeCellRule cellMerge;
//行的循环
private List<RowRenderData> rows;
//列单元格合并
private MergeCellRule rowMerge;
}

View File

@ -0,0 +1,35 @@
package com.chinaunicom.mall.ebtp.extend.export.entity;
import com.deepoove.poi.expression.Name;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 初步评审导出数据实体
*/
@Data
@Accessors(chain = true)
public class RvwFirstExportData implements Serializable {
private static final long serialVersionUID = 1L;
private Integer index;
private String title;
private String projName;
private String projNum;
private String date;
@Name("detail_table")
private ExportTableData tableData;
}

View File

@ -1,24 +0,0 @@
package com.chinaunicom.mall.ebtp.extend.export.feign;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.extend.export.bean.BizSupplierRegister;
import com.chinaunicom.mall.ebtp.extend.export.bean.Tdoc;
import com.chinaunicom.mall.ebtp.extend.export.feign.factory.ExportServiceRespsFallbakFactory;
import io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
/**
* 调用 RESPS_SERVICE
*/
@FeignClient(value = "${mconfig.feign.name.resps}" , fallbackFactory = ExportServiceRespsFallbakFactory.class)
public interface RespsFeignService {
@PostMapping("/v1/tfile/getTenderQuoteList")
BaseResponse<List<BizSupplierRegister>> getTenderQuoteList(@ApiParam(value = "assessRoomId,turnSort", required = true) @RequestBody Tdoc tdocPara);
}

View File

@ -1,28 +1,54 @@
package com.chinaunicom.mall.ebtp.extend.export.service;
import java.io.File;
import com.chinaunicom.mall.ebtp.extend.export.bean.ExportParam;
import com.deepoove.poi.XWPFTemplate;
import com.deepoove.poi.util.PoitlIOUtils;
import lombok.SneakyThrows;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.chinaunicom.mall.ebtp.extend.export.bean.ExportParame;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.OutputStream;
public interface ExportService {
/**
* 导出
*
* @param param
* @param request
* @param response
*/
public void doExport(ExportParam param, HttpServletRequest request, HttpServletResponse response);
/**
* 导出
*
* @param param
* @param request
* @param response
*/
public void doExport(ExportParame param, HttpServletRequest request, HttpServletResponse response);
default File getExportTemplet(String path) {
File f = new File("C:\\Users\\Administrator\\Desktop\\新建文件夹\\doc\\" + path);
/**
* 执行导出操作
*
* @param template
* @param fileName
* @param response
*/
@SneakyThrows
default void write(XWPFTemplate template, String fileName, HttpServletResponse response) {
return f;
}
response.setContentType("application/octet-stream");
response.setHeader("Content-disposition", "attachment;filename=" + fileName);
// HttpServletResponse response
OutputStream out = response.getOutputStream();
BufferedOutputStream bos = new BufferedOutputStream(out);
template.write(bos);
bos.flush();
out.flush();
PoitlIOUtils.closeQuietlyMulti(template, bos, out);
}
default File getExportTemplet(String path) {
File f = new File("D:\\EasyPoiTemplet\\" + path);
return f;
}
}

View File

@ -11,13 +11,13 @@ import java.util.Map;
public class ExportServiceFactory {
@Autowired
private Map<String, ExportService> map = new LinkedHashMap<>();
private final Map<String, ExportService> EXPORT_MAP = new LinkedHashMap<>();
public ExportService getService(String key) {
if (!map.containsKey(key)) {
if (!EXPORT_MAP.containsKey(key)) {
ExportExceptionEnum.FRAME_EXCEPTION_METHOD_IS_NOT_EXIXT.throwException();
}
return map.get(key);
return EXPORT_MAP.get(key);
}
}

View File

@ -0,0 +1,92 @@
package com.chinaunicom.mall.ebtp.extend.export.service.common;
import com.chinaunicom.mall.ebtp.extend.feign.entity.BizAssessRoom;
import com.chinaunicom.mall.ebtp.extend.export.bean.ExportParam;
import com.chinaunicom.mall.ebtp.extend.feign.entity.JuryPrintVO;
import com.chinaunicom.mall.ebtp.extend.feign.entity.ResultDetailVO;
import com.chinaunicom.mall.ebtp.extend.feign.entity.*;
import java.util.List;
import java.util.Map;
/**
* 报表导出通用feign接口调用类
*/
public interface ExportCommonFeignService {
/**
* 查询用户信息
*/
LoginUserDetailVO userCenterGetLoninUserDetail(String userId);
/**
* 根据包id 查询信息
*
* @param sectionId
* @return
*/
ProjectSectionVO projectGetSectionById(String sectionId);
/**
* 根据包id 查询项目信息
*
* @param projId
* @return
*/
ProjectRecordVO projectGetProjById(String projId);
/**
* 根据评审室id 查询供应商信息
*
* @param roomId
* @return
*/
List<BizSupplierRegister> tenderGetSupplierRegisterByRoomId(String roomId);
/**
* 查询初审汇总数据
*
* @param param
* @return
*/
List<ReviewConfigCategoryDTO> rsmsFindScoreEarlySummary(ExportParam param);
/**
* 通过评审室Id查询评委会成员数据及签到数据
*
* @param roomId
* @return
*/
List<JuryPrintVO> rsmsQueryReportPrintByRoomId(String roomId);
/**
* 通过评审室查询detail表数据
*
* @param roomId
* @return
*/
List<ResultDetailVO> rsmsQueryReviewDetailByRoomId(String roomId);
/**
* 开标唱标页列表
*
* @param tdocPara assessRoomId 评审室id turnSort 轮次序号
* @return title-表格标题dataDecrypt-解密状态id、status dataQuote-报价信息
*/
Map respsGetOpenTenderList(ExportParam param);
/**
* 通过room_id查询评审室信息
*
* @param roomId
* @return
*/
BizAssessRoom processGetRoomInfoById(String roomId);
}

View File

@ -0,0 +1,195 @@
package com.chinaunicom.mall.ebtp.extend.export.service.common.impl;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.extend.export.bean.BidEvalDetailDTO;
import com.chinaunicom.mall.ebtp.extend.feign.entity.BizAssessRoom;
import com.chinaunicom.mall.ebtp.extend.export.bean.ExportParam;
import com.chinaunicom.mall.ebtp.extend.export.service.common.ExportCommonFeignService;
import com.chinaunicom.mall.ebtp.extend.feign.entity.JuryPrintVO;
import com.chinaunicom.mall.ebtp.extend.feign.entity.ResultDetailVO;
import com.chinaunicom.mall.ebtp.extend.feign.client.*;
import com.chinaunicom.mall.ebtp.extend.feign.entity.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 报表导出通用feign接口调用类
*/
@Service
@Slf4j
public class ExportCommonFeignServiceImpl implements ExportCommonFeignService {
@Autowired
private UsercenterFeignService usercenterFeignService;
/**
* 查询用户信息
*
* @param userId
*/
@Override
public LoginUserDetailVO userCenterGetLoninUserDetail(String userId) {
BaseResponse<LoginUserDetailVO> response = usercenterFeignService.getLoninUserDetail(userId);
if (response == null || response.getData() == null) {
return new LoginUserDetailVO();
}
return response.getData();
}
@Autowired
private ProjectFeignService projectFeignService;
/**
* 根据包id 查询信息
*
* @param sectionId
* @return
*/
@Override
public ProjectSectionVO projectGetSectionById(String sectionId) {
//查询项目名称
ProjectSectionVO projectSectionVO = new ProjectSectionVO();
projectSectionVO.setId(sectionId);
BaseResponse<ProjectSectionVO> response = projectFeignService.selectById(projectSectionVO);
if (response == null || response.getData() == null) {
return new ProjectSectionVO();
}
return response.getData();
}
/**
* 根据包id 查询项目信息
*
* @param projId
* @return
*/
@Override
public ProjectRecordVO projectGetProjById(String projId) {
BaseResponse<ProjectRecordVO> response = projectFeignService.getProjById(projId);
if (response == null || response.getData() == null) {
return new ProjectRecordVO();
}
return response.getData();
}
@Autowired
private TenderFeignService tenderFeignService;
/**
* 根据评审室id 查询供应商信息
*
* @param roomId
* @return
*/
@Override
public List<BizSupplierRegister> tenderGetSupplierRegisterByRoomId(String roomId) {
BaseResponse<List<BizSupplierRegister>> response = tenderFeignService.queryRoomTenderCount(roomId);
if (response == null || response.getData() == null) {
return new ArrayList<>();
}
return response.getData();
}
@Autowired
private RsmsFeignService rsmsFeignService;
/**
* 查询初审汇总数据
*
* @param param
* @return
*/
@Override
public List<ReviewConfigCategoryDTO> rsmsFindScoreEarlySummary(ExportParam param) {
BidEvalDetailDTO bidEvalDetailDTO = new BidEvalDetailDTO();
bidEvalDetailDTO.setReviewTurnId(param.getReviewTurnId());
bidEvalDetailDTO.setReviewType(param.getReviewType());
BaseResponse<List<ReviewConfigCategoryDTO>> response = rsmsFeignService.findScoreEarlySummary(bidEvalDetailDTO);
if (response == null || response.getData() == null) {
return new ArrayList<>();
}
return response.getData();
}
/**
* 通过评审室Id查询评委会成员数据及签到数据
*
* @param roomId
* @return
*/
@Override
public List<JuryPrintVO> rsmsQueryReportPrintByRoomId(String roomId) {
BaseResponse<List<JuryPrintVO>> response = rsmsFeignService.queryReportPrintByRoomId(roomId);
if (response == null || response.getData() == null) {
return new ArrayList<>();
}
return response.getData();
}
/**
* 通过评审室查询detail表数据
*
* @param roomId
* @return
*/
@Override
public List<ResultDetailVO> rsmsQueryReviewDetailByRoomId(String roomId) {
BaseResponse<List<ResultDetailVO>> response = rsmsFeignService.get(roomId);
if (response == null || response.getData() == null) {
return new ArrayList<>();
}
return response.getData();
}
@Autowired
private RespsFeignService respsFeignService;
/**
* 开标唱标页列表
*
* @param tdocPara assessRoomId 评审室id turnSort 轮次序号
* @return title-表格标题dataDecrypt-解密状态id、status dataQuote-报价信息
*/
@Override
public Map respsGetOpenTenderList(ExportParam param) {
Tdoc tdoc = new Tdoc();
tdoc.setAssessRoomId(param.getAssessRoomId())
.setTurnSort(param.getReviewTurnSort());
BaseResponse<Map> response = respsFeignService.getOpenTenderList(tdoc);
if (response == null || response.getData() == null) {
return new HashMap();
}
return response.getData();
}
@Autowired
private ProcessFeignService processFeignService;
/**
* 通过room_id查询评审室信息
*
* @param roomId
* @return
*/
@Override
public BizAssessRoom processGetRoomInfoById(String roomId) {
BaseResponse<BizAssessRoom> response = processFeignService.getById(roomId);
if (response == null || response.getData() == null) {
return new BizAssessRoom();
}
return response.getData();
}
}

View File

@ -1,4 +1,4 @@
package com.chinaunicom.mall.ebtp.extend.export.service;
package com.chinaunicom.mall.ebtp.extend.export.service.dict;
import com.chinaunicom.mall.ebtp.common.base.service.IBaseService;

View File

@ -1,15 +1,15 @@
package com.chinaunicom.mall.ebtp.extend.export.service.impl;
package com.chinaunicom.mall.ebtp.extend.export.service.dict.impl;
import com.chinaunicom.mall.ebtp.common.base.service.impl.BaseServiceImpl;
import com.chinaunicom.mall.ebtp.common.constant.CommonConstants;
import com.chinaunicom.mall.ebtp.common.util.JsonUtils;
import com.chinaunicom.mall.ebtp.extend.export.bean.*;
import com.chinaunicom.mall.ebtp.extend.export.dao.BizExportDictMapper;
import com.chinaunicom.mall.ebtp.extend.export.feign.ProcessFeignClient;
import com.chinaunicom.mall.ebtp.extend.export.feign.ProjectFeignService;
import com.chinaunicom.mall.ebtp.extend.export.feign.RsmsFeignService;
import com.chinaunicom.mall.ebtp.extend.export.service.IBizExportDictService;
import com.chinaunicom.mall.ebtp.extend.feign.entity.BizAssessRoom;
import com.chinaunicom.mall.ebtp.extend.feign.entity.ProjectRecordVO;
import com.chinaunicom.mall.ebtp.extend.feign.client.ProcessFeignService;
import com.chinaunicom.mall.ebtp.extend.feign.client.ProjectFeignService;
import com.chinaunicom.mall.ebtp.extend.feign.client.RsmsFeignService;
import com.chinaunicom.mall.ebtp.extend.export.service.dict.IBizExportDictService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -27,7 +27,7 @@ import java.util.stream.Collectors;
public class BizExportDictServiceImpl extends BaseServiceImpl<BizExportDictMapper, BizExportDict> implements IBizExportDictService {
@Autowired
private ProcessFeignClient processFeignClient;
private ProcessFeignService processFeignService;
@Autowired
private ProjectFeignService projectFeignService;
@Autowired
@ -40,13 +40,13 @@ public class BizExportDictServiceImpl extends BaseServiceImpl<BizExportDictMappe
*/
@Override
public Map<String, List<BizExportDict>> getList(String roomId) {
BizAssessRoom room = processFeignClient.getById(roomId).getData();
BizAssessRoom room = processFeignService.getById(roomId).getData();
//查询项目名称
ProjectRecordVO proj = projectFeignService.getProjById(room.getTpId()).getData();
//
ProjectSectionVO projectSectionVO = new ProjectSectionVO();
projectSectionVO.setId(room.getSectionId());
ProjectSectionVO section = projectFeignService.selectById(projectSectionVO).getData();
// ProjectSectionVO projectSectionVO = new ProjectSectionVO();
// projectSectionVO.setId(room.getSectionId());
// ProjectSectionVO section = projectFeignService.selectById(projectSectionVO).getData();
List<BizExportDict> list = baseMapper.selectDictList(proj.getBidMethodDict());
@ -56,7 +56,7 @@ public class BizExportDictServiceImpl extends BaseServiceImpl<BizExportDictMappe
.collect(Collectors.toList());
Map<String, List<BizExportDict>> resultsMap = new HashMap<>();
//是否包含开标阶段
//是否包含开标阶段
boolean toInitialOpenRoom = "procurement_mode_1".equals(proj.getBidMethodDict()) || "procurement_mode_2".equals(proj.getBidMethodDict());
if ("procurement_mode_3".equals(proj.getBidMethodDict())) {
@ -71,50 +71,53 @@ public class BizExportDictServiceImpl extends BaseServiceImpl<BizExportDictMappe
continue;
}
// 评审室未结束 不拼接评审打分等数据表
if (room.getStatus() < 3 && !bizExportDict.getId().equals(100)) {
continue;
}
// if (room.getStatus() < 3 && !bizExportDict.getId().equals(100)) {
// continue;
// }
resultsMap.put(
bizExportDict.getDicName(),
level2.stream()
.filter(f -> f.getPath().equals(String.valueOf(bizExportDict.getId())))
.map(m -> m.setUrl(m.getUrl() + "?projectId=" + proj.getId() + "&sectionId=" + room.getSectionId() + "&assessRoomId=" + roomId)
.setOnClick(true))
.collect(Collectors.toList())
);
}
//初审数据url
String isReviewMethod = room.getRoomType().equals(CommonConstants.ROOM_TYPE_1) ? "1" : "0";
List<ArchiveLink> archiveLinks = getFirstArchiveLinks();
Map<String, List<ArchiveFileReturnVO>> firstRvwMap = rsmsFeignService.findEarlyArchiveList(room.getSectionId(), isReviewMethod, archiveLinks).getData();
//详审数据url
archiveLinks = getDetailArchiveLinks();
Map<String, List<ArchiveFileReturnVO>> detailRvwMap = rsmsFeignService.findDetailArchiveList(room.getSectionId(), isReviewMethod, archiveLinks).getData();
resultsMap.forEach((key, value) -> {
value.forEach(bizExportDict -> {
if ("1".equals(bizExportDict.getUrl())) {
//查询初审报表
Optional<ArchiveFileReturnVO> opt = firstRvwMap.get(bizExportDict.getUrl()).stream().filter(f -> f.getAssessRoomId().equals(roomId)).findFirst();
opt.ifPresent(o -> bizExportDict.setUrl(o.getArchiveFileUrl()));
} else if (bizExportDict.getUrl().length() < 5) {
//查询详审报表
Optional<ArchiveFileReturnVO> opt = detailRvwMap.get(bizExportDict.getUrl()).stream().filter(f -> f.getAssessRoomId().equals(roomId)).findFirst();
opt.ifPresent(o -> bizExportDict.setUrl(o.getArchiveFileUrl()));
} else {
String sbl = bizExportDict.getUrl() +
"?assessRoomId=" + roomId +
// "&reviewTurnId=" + v.getReviewTurnId() +
"&projectId=" + proj.getId() +
"&sectionId=" + section.getId() +
"&reviewTurnSort=1";
bizExportDict.setUrl(sbl);
}
});
//如果没进行初审或详审 则删除相关报表 length < 5 为虚数
value.removeIf(bizExportDict -> bizExportDict.getUrl().length() < 5);
});
//删除value为空的key
resultsMap.values().removeIf(List::isEmpty);
// String isReviewMethod = room.getRoomType().equals(CommonConstants.ROOM_TYPE_1) ? "1" : "0";
// List<ArchiveLink> archiveLinks = getFirstArchiveLinks();
// Map<String, List<ArchiveFileReturnVO>> firstRvwMap = rsmsFeignService.findEarlyArchiveList(room.getSectionId(), isReviewMethod, archiveLinks).getData();
// //详审数据url
// archiveLinks = getDetailArchiveLinks();
// Map<String, List<ArchiveFileReturnVO>> detailRvwMap = rsmsFeignService.findDetailArchiveList(room.getSectionId(), isReviewMethod, archiveLinks).getData();
//
//
// resultsMap.forEach((key, value) -> {
// value.forEach(bizExportDict -> {
// if ("1".equals(bizExportDict.getUrl())) {
// //查询初审报表
// Optional<ArchiveFileReturnVO> opt = firstRvwMap.get(bizExportDict.getUrl()).stream().filter(f -> f.getAssessRoomId().equals(roomId)).findFirst();
// opt.ifPresent(o -> bizExportDict.setUrl(o.getArchiveFileUrl()).setOnClick(true));
// } else if (bizExportDict.getUrl().length() < 5) {
// //查询详审报表
// Optional<ArchiveFileReturnVO> opt = detailRvwMap.get(bizExportDict.getUrl()).stream().filter(f -> f.getAssessRoomId().equals(roomId)).findFirst();
// opt.ifPresent(o -> bizExportDict.setUrl(o.getArchiveFileUrl()).setOnClick(true));
// } else {
// String sbl = bizExportDict.getUrl() +
// "?assessRoomId=" + roomId +
//// "&reviewTurnId=" + v.getReviewTurnId() +
// "&projectId=" + proj.getId() +
// "&sectionId=" + section.getId() +
// "&reviewTurnSort=1";
// bizExportDict.setUrl(sbl).setOnClick(true);
// }
// });
// //如果没进行初审或详审 则删除相关报表 length < 5 为虚数
// value.removeIf(bizExportDict -> bizExportDict.getUrl().length() < 5);
// });
// //删除value为空的key
// resultsMap.values().removeIf(List::isEmpty);
return resultsMap;
}

View File

@ -0,0 +1,147 @@
package com.chinaunicom.mall.ebtp.extend.export.service.impl;
import cn.hutool.core.date.DateUtil;
import com.chinaunicom.mall.ebtp.common.util.JsonUtils;
import com.chinaunicom.mall.ebtp.extend.export.bean.ExportParam;
import com.chinaunicom.mall.ebtp.extend.export.entity.BidOpenRecordExportData;
import com.chinaunicom.mall.ebtp.extend.export.entity.ExportTableData;
import com.chinaunicom.mall.ebtp.extend.export.service.ExportService;
import com.chinaunicom.mall.ebtp.extend.export.service.common.ExportCommonFeignService;
import com.chinaunicom.mall.ebtp.extend.export.service.policy.DetailTablePolicy;
import com.chinaunicom.mall.ebtp.extend.export.service.templateFile.TemplateFileService;
import com.chinaunicom.mall.ebtp.extend.feign.entity.BizSupplierRegister;
import com.chinaunicom.mall.ebtp.extend.feign.entity.ProjectRecordVO;
import com.chinaunicom.mall.ebtp.extend.feign.entity.ProjectSectionVO;
import com.chinaunicom.mall.ebtp.extend.feign.entity.TdocCatalog;
import com.deepoove.poi.XWPFTemplate;
import com.deepoove.poi.config.Configure;
import com.deepoove.poi.data.*;
import lombok.SneakyThrows;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.nio.charset.StandardCharsets;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* 开标记录表导出
*/
@Service("bidOpenRecord")
public class BidOpenRecordImpl implements ExportService {
private static final String DATE_FORMATTER = "yyyy年MM月dd日HH时mm分";
@Autowired
private ExportCommonFeignService commonFeignService;
@Autowired
private TemplateFileService templateFileService;
/**
* 导出
*
* @param param
* @param request
* @param response
*/
@SneakyThrows
@Override
public void doExport(ExportParam param, HttpServletRequest request, HttpServletResponse response) {
//查询包
ProjectSectionVO section = commonFeignService.projectGetSectionById(param.getSectionId());
//查询项目
ProjectRecordVO proj = commonFeignService.projectGetProjById(section.getProjectId());
//供应商信息
List<BizSupplierRegister> suppliers = commonFeignService.tenderGetSupplierRegisterByRoomId(param.getAssessRoomId());
Map openTenderList = commonFeignService.respsGetOpenTenderList(param);
BidOpenRecordExportData data = new BidOpenRecordExportData();
data.setProjName(proj.getProjectName())
.setProjNum(proj.getProjectBizNum())
.setBidNum(section.getBidSectBizNum());
ExportTableData tableData = new ExportTableData();
//应答项
List<CellRenderData> cells = new ArrayList<>();
//应答数据
List<RowRenderData> rows = new ArrayList<>();
if (openTenderList.containsKey("title")) {
//标题
List<TdocCatalog> title = JsonUtils.jsonToList((List) openTenderList.get("title"), TdocCatalog.class);
//去除解密状态列
title.removeIf(t -> t.getCatalogType() != null);
List<String> titleIds = new ArrayList<>();
for (TdocCatalog tdocCatalog : title) {
cells.add(Cells.of(tdocCatalog.getName()).create());
titleIds.add(tdocCatalog.getId());
}
cells.add(Cells.of("是否异议").create());
cells.add(Cells.of("投标人授权代表签字确认时间").create());
if (openTenderList.containsKey("suppliers")) {
//供应商
List<BizSupplierRegister> regs = JsonUtils.jsonToList((List) openTenderList.get("suppliers"), BizSupplierRegister.class);
Map<String, BizSupplierRegister> regMap = regs.stream().collect(Collectors.toMap(BizSupplierRegister::getCompanyId, Function.identity()));
for (int i = 0; i < suppliers.size(); i++) {
BizSupplierRegister supplier = suppliers.get(i);
RowRenderData e = Rows.of(String.valueOf(i + 1), supplier.getCompanyName()).create();
if (regMap.containsKey(supplier.getCompanyId())) {
//应答数据
Map<String, String> dataMap = regMap.get(supplier.getCompanyId()).getDataMap();
for (String titleId : titleIds) {
e.addCell(Cells.of(dataMap.get(titleId)).create());
}
e.addCell(Cells.of("").create());
String s = StringUtils.isBlank(supplier.getSignUserId()) ? "" : commonFeignService.userCenterGetLoninUserDetail(supplier.getSignUserId()).getOuName() + ":" + DateUtil.format(supplier.getSignTime(), DATE_FORMATTER);
e.addCell(Cells.of(s).create());
} else {
cells.forEach(c -> e.addCell(Cells.of("").create()));
}
rows.add(e);
}
}
rows.add(Rows.of("备注信息").center().create());
rows.add(Rows.of("").create());
}
//横向合并
MergeCellRule hangBuild = MergeCellRule.builder().map(MergeCellRule.Grid.of(rows.size(), 0), MergeCellRule.Grid.of(rows.size(), cells.size() + 1))
.map(MergeCellRule.Grid.of(rows.size() - 1, 0), MergeCellRule.Grid.of(rows.size() - 1, cells.size() + 1))
.build();
data.setTableData(tableData.setCells(cells).setRows(rows).setCellMerge(hangBuild))
.setOpenTime(DateUtil.format(LocalDateTime.now(), DATE_FORMATTER));
// InputStream file = templateFileService.getExportTemplet("bidOpenRecord");
File file = getExportTemplet("开标记录表.docx");
Configure config = Configure.builder().bind("detail_table", new DetailTablePolicy()).build();
XWPFTemplate template = XWPFTemplate.compile(file, config).render(data);
String fileName = new String("开标记录表.docx".getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1);
this.write(template, fileName, response);
}
}

View File

@ -2,11 +2,14 @@ package com.chinaunicom.mall.ebtp.extend.export.service.impl;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.extend.export.bean.*;
import com.chinaunicom.mall.ebtp.extend.export.feign.ProjectFeignService;
import com.chinaunicom.mall.ebtp.extend.export.feign.RsmsFeignService;
import com.chinaunicom.mall.ebtp.extend.feign.client.ProjectFeignService;
import com.chinaunicom.mall.ebtp.extend.feign.client.RsmsFeignService;
import com.chinaunicom.mall.ebtp.extend.export.service.ExportService;
import com.chinaunicom.mall.ebtp.extend.export.vo.BidEvalEarlyJudgesSummaryVO;
import com.chinaunicom.mall.ebtp.extend.export.vo.SupplierRegisterVO;
import com.chinaunicom.mall.ebtp.extend.feign.entity.ProjectSectionVO;
import com.chinaunicom.mall.ebtp.extend.feign.entity.ReviewConfigCategoryDTO;
import com.chinaunicom.mall.ebtp.extend.feign.entity.ReviewConfigDetailDTO;
import lombok.SneakyThrows;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.CellRangeAddress;
@ -46,7 +49,7 @@ public class CbpsExportServiceImpl implements ExportService {
*/
@SneakyThrows
@Override
public void doExport(ExportParame param, HttpServletRequest request, HttpServletResponse response) {
public void doExport(ExportParam param, HttpServletRequest request, HttpServletResponse response) {
//查询项目名称
ProjectSectionVO projectSectionVO = new ProjectSectionVO();
projectSectionVO.setId(param.getSectionId());

View File

@ -2,13 +2,14 @@ package com.chinaunicom.mall.ebtp.extend.export.service.impl;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.extend.export.bean.*;
import com.chinaunicom.mall.ebtp.extend.export.feign.ProjectFeignService;
import com.chinaunicom.mall.ebtp.extend.export.feign.RsmsFeignService;
import com.chinaunicom.mall.ebtp.extend.feign.client.ProjectFeignService;
import com.chinaunicom.mall.ebtp.extend.feign.client.RsmsFeignService;
import com.chinaunicom.mall.ebtp.extend.export.service.ExportService;
import com.chinaunicom.mall.ebtp.extend.export.vo.BidEvalDetailJudgesSummaryVO;
import com.chinaunicom.mall.ebtp.extend.export.vo.BidEvalDetailSummaryVO;
import com.chinaunicom.mall.ebtp.extend.export.vo.MemberVO;
import com.chinaunicom.mall.ebtp.extend.export.vo.SupplierRegisterVO;
import com.chinaunicom.mall.ebtp.extend.feign.entity.ProjectSectionVO;
import lombok.SneakyThrows;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.CellRangeAddress;
@ -52,7 +53,7 @@ public class DfhzExportServiceImpl implements ExportService {
*/
@SneakyThrows
@Override
public void doExport(ExportParame param, HttpServletRequest request, HttpServletResponse response) {
public void doExport(ExportParam param, HttpServletRequest request, HttpServletResponse response) {
BidEvalInfoDTO bidEvalInfoDTO = new BidEvalInfoDTO();
bidEvalInfoDTO.setAssessRoomId(param.getAssessRoomId());
bidEvalInfoDTO.setReviewTurnId(param.getReviewTurnId());

View File

@ -0,0 +1,113 @@
package com.chinaunicom.mall.ebtp.extend.export.service.impl;
import cn.hutool.core.date.DateUtil;
import com.chinaunicom.mall.ebtp.extend.export.bean.ExportParam;
import com.chinaunicom.mall.ebtp.extend.feign.entity.ProjectRecordVO;
import com.chinaunicom.mall.ebtp.extend.export.entity.ExportTableData;
import com.chinaunicom.mall.ebtp.extend.export.entity.RvwFirstExportData;
import com.chinaunicom.mall.ebtp.extend.export.service.ExportService;
import com.chinaunicom.mall.ebtp.extend.export.service.common.ExportCommonFeignService;
import com.chinaunicom.mall.ebtp.extend.export.service.policy.DetailTablePolicy;
import com.chinaunicom.mall.ebtp.extend.export.service.templateFile.TemplateFileService;
import com.chinaunicom.mall.ebtp.extend.feign.entity.BizSupplierRegister;
import com.chinaunicom.mall.ebtp.extend.feign.entity.ProjectSectionVO;
import com.chinaunicom.mall.ebtp.extend.feign.entity.ReviewConfigCategoryDTO;
import com.deepoove.poi.XWPFTemplate;
import com.deepoove.poi.config.Configure;
import com.deepoove.poi.data.*;
import lombok.SneakyThrows;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.nio.charset.StandardCharsets;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
/**
* 初步评审表
*
* @author fqj
*/
@Service("firstRvw")
public class FirstRvwImpl implements ExportService {
private static final String DATE_FORMATTER = "yyyy年MM月dd日";
@Autowired
private ExportCommonFeignService commonFeignService;
@Autowired
private TemplateFileService templateFileService;
/**
* 导出
*
* @param param
* @param request
* @param response
*/
@SneakyThrows
@Override
public void doExport(ExportParam param, HttpServletRequest request, HttpServletResponse response) {
//查询包
ProjectSectionVO section = commonFeignService.projectGetSectionById(param.getSectionId());
//查询项目
ProjectRecordVO proj = commonFeignService.projectGetProjById(section.getProjectId());
//供应商信息
List<BizSupplierRegister> suppliers = commonFeignService.tenderGetSupplierRegisterByRoomId(param.getAssessRoomId());
//初审评分信息
List<ReviewConfigCategoryDTO> earlySummary = commonFeignService.rsmsFindScoreEarlySummary(param);
RvwFirstExportData data = new RvwFirstExportData();
data.setProjName(proj.getProjectName())
.setProjNum(proj.getProjectBizNum());
ExportTableData tableData = new ExportTableData();
//供应商
List<CellRenderData> cells = new ArrayList<>();
for (BizSupplierRegister supplier : suppliers) {
cells.add(Cells.of(supplier.getCompanyName()).center().create());
}
//评分项
List<RowRenderData> rows = new ArrayList<>();
int i = 1;
for (ReviewConfigCategoryDTO dto : earlySummary) {
RowRenderData e = Rows.of(String.valueOf(i++), dto.getCategory(), dto.getConfigId()).center().create();
e.addCell(Cells.of("1").create());
e.addCell(Cells.of("2").create());
e.addCell(Cells.of("3").create());
rows.add(e);
}
RowRenderData e = Rows.of("结论", "是否通过初步评审", "").center().create();
for (BizSupplierRegister supplier : suppliers) {
e.addCell(Cells.of("").center().create());
}
//.setCellMerge(MergeCellRule.builder().map(MergeCellRule.Grid.of(1, 3), MergeCellRule.Grid.of(1, 5)).build())
data.setTableData(tableData.setCells(cells).setRows(rows))
.setDate(DateUtil.format(LocalDateTime.now(),DATE_FORMATTER));
//获取模板
// InputStream file = templateFileService.getExportTemplet("firstRvw");
File file = getExportTemplet("初步评审.docx");
Configure config = Configure.builder().bind("detail_table", new DetailTablePolicy()).build();
XWPFTemplate template = XWPFTemplate.compile(file, config).render(data);
String fileName = new String("初步评审表.docx".getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1);
this.write(template, fileName, response);
}
}

View File

@ -2,10 +2,10 @@ package com.chinaunicom.mall.ebtp.extend.export.service.impl;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.extend.export.bean.BidEvalDetailDTO;
import com.chinaunicom.mall.ebtp.extend.export.bean.ExportParame;
import com.chinaunicom.mall.ebtp.extend.export.bean.ProjectSectionVO;
import com.chinaunicom.mall.ebtp.extend.export.feign.ProjectFeignService;
import com.chinaunicom.mall.ebtp.extend.export.feign.RsmsFeignService;
import com.chinaunicom.mall.ebtp.extend.export.bean.ExportParam;
import com.chinaunicom.mall.ebtp.extend.feign.entity.ProjectSectionVO;
import com.chinaunicom.mall.ebtp.extend.feign.client.ProjectFeignService;
import com.chinaunicom.mall.ebtp.extend.feign.client.RsmsFeignService;
import com.chinaunicom.mall.ebtp.extend.export.service.ExportService;
import com.chinaunicom.mall.ebtp.extend.export.vo.SupplierRegisterPriceScoreVO;
import lombok.SneakyThrows;
@ -44,7 +44,7 @@ public class JgdfExportServiceImpl implements ExportService {
*/
@SneakyThrows
@Override
public void doExport(ExportParame param, HttpServletRequest request, HttpServletResponse response) {
public void doExport(ExportParam param, HttpServletRequest request, HttpServletResponse response) {
List<String> titles = new LinkedList<>();
titles.add("序号");

View File

@ -1,96 +0,0 @@
package com.chinaunicom.mall.ebtp.extend.export.service.impl;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.extend.export.bean.ExportParame;
import com.chinaunicom.mall.ebtp.extend.export.bean.ProjectSectionVO;
import com.chinaunicom.mall.ebtp.extend.export.feign.ProjectFeignService;
import com.chinaunicom.mall.ebtp.extend.export.feign.RsmsFeignService;
import com.chinaunicom.mall.ebtp.extend.export.service.ExportService;
import com.chinaunicom.mall.ebtp.extend.export.service.TemplateFileService;
import com.chinaunicom.mall.ebtp.extend.export.vo.JuryPrintVO;
import com.deepoove.poi.XWPFTemplate;
import com.deepoove.poi.config.Configure;
import com.deepoove.poi.policy.HackLoopTableRenderPolicy;
import lombok.SneakyThrows;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 评标委员会签字表
*/
@Service("judges")
public class JudgesExportServiceImpl implements ExportService {
private final RsmsFeignService rsmsFeignService;
private final ProjectFeignService projectFeignService;
private final TemplateFileService templateFileService;
public JudgesExportServiceImpl(RsmsFeignService rsmsFeignService, ProjectFeignService projectFeignService, TemplateFileService templateFileService) {
this.rsmsFeignService = rsmsFeignService;
this.projectFeignService = projectFeignService;
this.templateFileService = templateFileService;
}
/**
* 导出
*
* @param param
* @param request
* @param response
*/
@SneakyThrows
@Override
public void doExport(ExportParame param, HttpServletRequest request, HttpServletResponse response) {
//项目和招标名称数据
ProjectSectionVO projectSectionVO = new ProjectSectionVO();
projectSectionVO.setId(param.getSectionId());
BaseResponse<ProjectSectionVO> list = projectFeignService.selectById(projectSectionVO);
//专家人员数据
BaseResponse<List<JuryPrintVO>> listBaseResponse = rsmsFeignService.queryReportPrintByRoomId(param.getAssessRoomId());
ArrayList<Map<String, Object>> maps = new ArrayList<>();
if (listBaseResponse != null && list != null) {
for (int i = 0; i < listBaseResponse.getData().size(); i++) {
Map<String, Object> data = new HashMap<>();
data.put("name", (listBaseResponse.getData().get(i).getName()));
data.put("phone", listBaseResponse.getData().get(i).getMobile());
maps.add(data);
}
}
//获取模板
InputStream file = templateFileService.getExportTemplet("judges");
Map<String, Object> all = new HashMap<String, Object>() {{
put("Judges", maps);
put("time", "");
if (list != null) {
put("bh", list.getData().getBidSectBizNum());
put("mc", list.getData().getProjectName());
} else {
put("bh", "");
put("mc", "");
}
}};
HackLoopTableRenderPolicy policy = new HackLoopTableRenderPolicy();
Configure config = Configure.builder().bind("Judges", policy).build();
XWPFTemplate template = XWPFTemplate.compile(file, config).render(all);
String fileName = new String("评标委员会签字表.docx".getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1);
OutputStream os = response.getOutputStream();
response.setHeader("Content-disposition", "attachment; filename=" + fileName);
template.write(os);
}
}

View File

@ -1,11 +1,12 @@
package com.chinaunicom.mall.ebtp.extend.export.service.impl;
import com.chinaunicom.mall.ebtp.extend.export.bean.ExportParame;
import com.chinaunicom.mall.ebtp.extend.export.bean.ExportParam;
import com.chinaunicom.mall.ebtp.extend.export.service.ExportService;
import com.chinaunicom.mall.ebtp.extend.export.service.TemplateFileService;
import com.chinaunicom.mall.ebtp.extend.export.service.templateFile.TemplateFileService;
import com.deepoove.poi.XWPFTemplate;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
@ -18,15 +19,13 @@ import java.nio.charset.StandardCharsets;
/**
* 评标专家承诺书
*/
@Service("zjcn")
@Service("promise")
@Slf4j
public class ZjcnExportServiceImpl implements ExportService {
public class JudgesPromiseImpl implements ExportService {
private final TemplateFileService templateFileService;
@Autowired
private TemplateFileService templateFileService;
public ZjcnExportServiceImpl(TemplateFileService templateFileService) {
this.templateFileService = templateFileService;
}
/**
* 导出
@ -37,9 +36,9 @@ public class ZjcnExportServiceImpl implements ExportService {
*/
@SneakyThrows
@Override
public void doExport(ExportParame param, HttpServletRequest request, HttpServletResponse response) {
public void doExport(ExportParam param, HttpServletRequest request, HttpServletResponse response) {
//文件模板从数据库或者项目位置取得
InputStream file = templateFileService.getExportTemplet("zjcn");
InputStream file = templateFileService.getExportTemplet("promise");
XWPFTemplate template = XWPFTemplate.compile(file);
String fileName = new String("评标专家承诺书.docx".getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1);

View File

@ -0,0 +1,78 @@
package com.chinaunicom.mall.ebtp.extend.export.service.impl;
import com.chinaunicom.mall.ebtp.extend.export.bean.ExportParam;
import com.chinaunicom.mall.ebtp.extend.export.service.ExportService;
import com.chinaunicom.mall.ebtp.extend.export.service.common.ExportCommonFeignService;
import com.chinaunicom.mall.ebtp.extend.feign.entity.JuryPrintVO;
import com.chinaunicom.mall.ebtp.extend.feign.entity.ProjectSectionVO;
import com.deepoove.poi.XWPFTemplate;
import com.deepoove.poi.config.Configure;
import com.deepoove.poi.policy.HackLoopTableRenderPolicy;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 评标委员会签字表
*/
@Service("judgesSign")
public class JudgesSignImpl implements ExportService {
@Autowired
private ExportCommonFeignService commonFeignService;
/**
* 导出
*
* @param param
* @param request
* @param response
*/
@Override
public void doExport(ExportParam param, HttpServletRequest request, HttpServletResponse response) {
//项目和招标名称数据
ProjectSectionVO section = commonFeignService.projectGetSectionById(param.getSectionId());
//专家人员数据
List<JuryPrintVO> list = commonFeignService.rsmsQueryReportPrintByRoomId(param.getAssessRoomId());
ArrayList<Map<String, Object>> maps = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
Map<String, Object> data = new HashMap<>();
data.put("name", list.get(i).getName());
data.put("phone", list.get(i).getMobile());
maps.add(data);
}
//获取模板
Map<String, Object> all = new HashMap<String, Object>() {{
put("Judges", maps);
put("time", "");
put("bh", section.getBidSectBizNum());
put("mc", section.getProjectName());
}};
// InputStream file = templateFileService.getExportTemplet("judgesSign");
File file = getExportTemplet("评标委员会签字表.docx");
HackLoopTableRenderPolicy policy = new HackLoopTableRenderPolicy();
Configure config = Configure.builder().bind("Judges", policy).build();
XWPFTemplate template = XWPFTemplate.compile(file, config).render(all);
String fileName = new String("评标委员会签字表.docx".getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1);
this.write(template, fileName, response);
}
}

View File

@ -0,0 +1,76 @@
package com.chinaunicom.mall.ebtp.extend.export.service.impl;
import com.chinaunicom.mall.ebtp.extend.export.bean.ExportParam;
import com.chinaunicom.mall.ebtp.extend.export.service.ExportService;
import com.chinaunicom.mall.ebtp.extend.export.service.common.ExportCommonFeignService;
import com.chinaunicom.mall.ebtp.extend.export.service.templateFile.TemplateFileService;
import com.chinaunicom.mall.ebtp.extend.feign.entity.JuryPrintVO;
import com.deepoove.poi.XWPFTemplate;
import com.deepoove.poi.config.Configure;
import com.deepoove.poi.policy.HackLoopTableRenderPolicy;
import lombok.SneakyThrows;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.charset.StandardCharsets;
import java.time.format.DateTimeFormatter;
import java.util.*;
/**
* 评审专家签到表
*/
@Service("judgesSignIn")
public class JudgesSignInImpl implements ExportService {
@Autowired
private TemplateFileService templateFileService;
@Autowired
private ExportCommonFeignService commonFeignService;
/**
* 导出
*
* @param param
* @param request
* @param response
*/
@SneakyThrows
@Override
public void doExport(ExportParam param, HttpServletRequest request, HttpServletResponse response) {
//专家人员数据
List<JuryPrintVO> list = commonFeignService.rsmsQueryReportPrintByRoomId(param.getAssessRoomId());
ArrayList<Map<String, Object>> maps = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
Map<String, Object> data = new HashMap<>();
JuryPrintVO juryPrintVO = list.get(i);
data.put("name", juryPrintVO.getName());
data.put("phone", juryPrintVO.getMobile());
data.put("idCard", juryPrintVO.getCertificate());
data.put("isTrue", Objects.equals(juryPrintVO.getAttitude(), 1) ? "" : "");
data.put("time", juryPrintVO.getLoginTime() != null ? DateTimeFormatter.ofPattern("yyyy年MM月dd日").format(juryPrintVO.getLoginTime()) : "");
maps.add(data);
}
InputStream file = templateFileService.getExportTemplet("judgesSignIn");
Map<String, Object> all = new HashMap<String, Object>() {{
put("table", maps);
}};
HackLoopTableRenderPolicy policy = new HackLoopTableRenderPolicy();
Configure config = Configure.builder().bind("table", policy).build();
XWPFTemplate template = XWPFTemplate.compile(file, config).render(all);
String fileName = new String("评审专家签到表.docx".getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1);
OutputStream os = response.getOutputStream();
response.setHeader("Content-disposition", "attachment; filename=" + fileName);
template.write(os);
}
}

View File

@ -1,120 +0,0 @@
package com.chinaunicom.mall.ebtp.extend.export.service.impl;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.extend.export.bean.*;
import com.chinaunicom.mall.ebtp.extend.export.feign.OpenFeignService;
import com.chinaunicom.mall.ebtp.extend.export.feign.ProjectFeignService;
import com.chinaunicom.mall.ebtp.extend.export.feign.RespsFeignService;
import com.chinaunicom.mall.ebtp.extend.export.service.ExportService;
import com.chinaunicom.mall.ebtp.extend.export.service.TemplateFileService;
import com.deepoove.poi.XWPFTemplate;
import com.deepoove.poi.config.Configure;
import com.deepoove.poi.policy.HackLoopTableRenderPolicy;
import lombok.SneakyThrows;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.charset.StandardCharsets;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 开标记录表导出
*/
@Service("kbjl")
public class KbjlExportServiceImpl implements ExportService {
private final ProjectFeignService projectFeignService;
private final RespsFeignService respsFeignService;
private final OpenFeignService openFeignService;
private final TemplateFileService templateFileService;
public KbjlExportServiceImpl(ProjectFeignService projectFeignService, RespsFeignService respsFeignService, OpenFeignService openFeignService, TemplateFileService templateFileService) {
this.projectFeignService = projectFeignService;
this.respsFeignService = respsFeignService;
this.openFeignService = openFeignService;
this.templateFileService = templateFileService;
}
/**
* 导出
*
* @param param
* @param request
* @param response
*/
@SneakyThrows
@Override
public void doExport(ExportParame param, HttpServletRequest request, HttpServletResponse response) {
Tdoc tdocPara = new Tdoc();
tdocPara.setAssessRoomId(param.getAssessRoomId());
tdocPara.setTurnSort(Integer.parseInt(param.getReviewTurnSort()));
//开标记录数据
BaseResponse<List<BizSupplierRegister>> listBaseResponse = respsFeignService.getTenderQuoteList(tdocPara);
ArrayList<Map<String, Object>> maps = new ArrayList<>();
if (listBaseResponse != null) {
for (int i = 0; i < listBaseResponse.getData().size(); i++) {
Map<String, Object> data = new HashMap<>();
data.put("num", (i + 1));
data.put("tbr", (listBaseResponse.getData().get(i).getBidUserName()));
data.put("bj", (listBaseResponse.getData().get(i).getNewPrice()));
data.put("yy", "");
LocalDateTime signTime = listBaseResponse.getData().get(i).getSignTime();
data.put("sign", signTime == null ? "" : (listBaseResponse.getData().get(i).getContactName()) + ":" + DateTimeFormatter.ofPattern("yyyy年MM月dd日").format(signTime));
maps.add(data);
}
}
//查询项目名称
ProjectSectionVO projectSectionVO = new ProjectSectionVO();
projectSectionVO.setId(param.getSectionId());
BaseResponse<ProjectSectionVO> project = projectFeignService.selectById(projectSectionVO);
//查询开标时间
BizBidOpenroom bizBidOpenroom = new BizBidOpenroom();
bizBidOpenroom.setAssessRoomId(param.getAssessRoomId());
BaseResponse<List<BizBidOpenroom>> timeList = openFeignService.list(bizBidOpenroom);
InputStream file = templateFileService.getExportTemplet("kbjl");
Map<String, Object> all = new HashMap<String, Object>() {{
put("Record", maps);
if (timeList.getData() != null) {
put("time", timeList.getData().get(0).getOpingTime());
} else {
put("time", "");
}
if (project.getData() != null) {
put("mc", project.getData().getProjectName());
put("bh", project.getData().getBidSectBizNum());
put("bao", project.getData().getBidSectName());
} else {
put("mc", "");
put("bh", "");
put("bao", "");
}
put("yuan", "");
}};
HackLoopTableRenderPolicy policy = new HackLoopTableRenderPolicy();
Configure config = Configure.builder().bind("Record", policy).build();
XWPFTemplate template = XWPFTemplate.compile(file, config).render(all);
String fileName = new String("开标记录表.docx".getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1);
OutputStream os = response.getOutputStream();
response.setHeader("Content-disposition", "attachment; filename=" + fileName);
template.write(os);
}
}

View File

@ -1,264 +0,0 @@
package com.chinaunicom.mall.ebtp.extend.export.service.impl;
import cn.hutool.core.util.StrUtil;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.extend.export.bean.*;
import com.chinaunicom.mall.ebtp.extend.export.enums.ExportExceptionEnum;
import com.chinaunicom.mall.ebtp.extend.export.feign.ProcessFeignClient;
import com.chinaunicom.mall.ebtp.extend.export.feign.ProjectFeignService;
import com.chinaunicom.mall.ebtp.extend.export.feign.RsmsFeignService;
import com.chinaunicom.mall.ebtp.extend.export.feign.TenderFeignService;
import com.chinaunicom.mall.ebtp.extend.export.service.ExportService;
import com.chinaunicom.mall.ebtp.extend.export.service.TemplateFileService;
import com.chinaunicom.mall.ebtp.extend.export.vo.JuryPrintVO;
import com.chinaunicom.mall.ebtp.extend.export.vo.ResultDetailVO;
import com.deepoove.poi.XWPFTemplate;
import com.deepoove.poi.config.Configure;
import com.deepoove.poi.policy.HackLoopTableRenderPolicy;
import lombok.SneakyThrows;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.InputStream;
import java.io.OutputStream;
import java.math.BigDecimal;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 评标报告
*/
@Service("pbbg")
public class PbbgExportServiceImpl implements ExportService {
private final RsmsFeignService rsmsFeignService;
private final TemplateFileService templateFileService;
private final ProcessFeignClient processFeignClient;
private final TenderFeignService tenderFeignService;
private final ProjectFeignService projectFeignClient;
public PbbgExportServiceImpl(RsmsFeignService rsmsFeignService, TemplateFileService templateFileService, ProcessFeignClient processFeignClient, TenderFeignService tenderFeignService, ProjectFeignService projectFeignClient) {
this.rsmsFeignService = rsmsFeignService;
this.templateFileService = templateFileService;
this.processFeignClient = processFeignClient;
this.tenderFeignService = tenderFeignService;
this.projectFeignClient = projectFeignClient;
}
/**
* 导出
*
* @param param
* @param request
* @param response
*/
@SneakyThrows
@Override
public void doExport(ExportParame param, HttpServletRequest request, HttpServletResponse response) {
BaseResponse<BizAssessRoom> processResponse = processFeignClient.getById(param.getAssessRoomId());
ExportExceptionEnum.FRAME_EXCEPTION_GET_ROOM_DETAIL_FAIL.customValid(!processResponse.isSuccess());
ExportExceptionEnum.FRAME_EXCEPTION_GET_ROOM_DETAIL_FAIL.assertNotNull(processResponse.getData());
BaseResponse<ProjectRecordVO> proj = projectFeignClient.getProjById(processResponse.getData().getTpId());
ExportExceptionEnum.FRAME_EXCEPTION_GET_PROJECT_INFO.customValid(!proj.isSuccess());
ExportExceptionEnum.FRAME_EXCEPTION_GET_PROJECT_INFO.assertNotNull(proj.getData());
ProjectRecordVO project = proj.getData();
String zbfs = "";
switch (project.getBidMethodDict()) {
case "procurement_mode_1":
case "procurement_mode_2":
zbfs = "公开招标";
break;
case "procurement_mode_3":
zbfs = "公开比选";
break;
case "procurement_mode_4":
zbfs = "招募";
break;
case "procurement_mode_5":
case "procurement_mode_6":
zbfs = "谈判";
break;
case "procurement_mode_7":
zbfs = "询价";
break;
case "procurement_mode_8":
zbfs = "竞拍";
break;
default:
zbfs = "";
}
BaseResponse<List<BizSupplierRegister>> roomTenderResponse = tenderFeignService.queryRoomTenderCount(param.getAssessRoomId());
ExportExceptionEnum.FRAME_EXCEPTION_GET_TENDERL_FAIL.customValid(!roomTenderResponse.isSuccess());
ExportExceptionEnum.FRAME_EXCEPTION_GET_TENDERL_FAIL.assertNotNull(roomTenderResponse.getData());
List<BizSupplierRegister> registerList = roomTenderResponse.getData();
//表一
List<Map<String, Object>> list1 = new ArrayList<>();
for (int i = 0; i < registerList.size(); i++) {
Map<String, Object> map = new HashMap<>(16);
int num = i + 1;
BizSupplierRegister register = registerList.get(i);
map.put("num", num);
map.put("name", register.getCompanyName());
map.put("type", StrUtil.isBlank(register.getDownloadStatus()) ? "" : "2".equals(register.getDownloadStatus()) ? "已投递" : "1".equals(register.getDownloadStatus()) ? "已下载" : "未下载");
list1.add(map);
}
//表二假数据
List<Map<String, Object>> list2 = new ArrayList<>();
for (int i = 0; i < 3; i++) {
Map<String, Object> map = new HashMap<>();
map.put("time", "2021.3.4");
map.put("nr", "好多内容");
list2.add(map);
}
//表三数据
//专家人员数据
BaseResponse<List<JuryPrintVO>> listBaseResponse = rsmsFeignService.queryReportPrintByRoomId(param.getAssessRoomId());
ArrayList<Map<String, Object>> list3 = new ArrayList<>();
String pbwyhzz = "";
if (listBaseResponse != null && listBaseResponse.getData() != null) {
List<JuryPrintVO> juryPrintVOList = listBaseResponse.getData();
for (int i = 0; i < juryPrintVOList.size(); i++) {
int num = i + 1;
JuryPrintVO juryPrintVO = juryPrintVOList.get(i);
Map<String, Object> data = new HashMap<>();
data.put("num", num);
data.put("work", juryPrintVO.getWorkunit());
data.put("name", juryPrintVO.getName());
data.put("job", juryPrintVO.getJobTitle());
data.put("unit", juryPrintVO.getWorkunit());
list3.add(data);
if ("2".equals(juryPrintVO.getDuty())) {
pbwyhzz = juryPrintVO.getName();
}
}
}
BaseResponse<List<ResultDetailVO>> baseResponse = rsmsFeignService.get(param.getAssessRoomId());
ExportExceptionEnum.FRAME_EXCEPTION_GET_ROOM_DETAIL_FAIL.customValid(!baseResponse.isSuccess());
ExportExceptionEnum.FRAME_EXCEPTION_GET_ROOM_DETAIL_FAIL.assertNotNull(baseResponse.getData());
List<ResultDetailVO> resultDetails = baseResponse.getData();
if (resultDetails.isEmpty()) {
return;
}
int size = resultDetails.size();
List<Map<String, Object>> list4 = new ArrayList<>();
List<Map<String, Object>> list5 = new ArrayList<>();
List<Map<String, Object>> list6 = new ArrayList<>();
List<Map<String, Object>> list7 = new ArrayList<>();
List<Map<String, Object>> list8 = new ArrayList<>();
for (int i = 0; i < size; i++) {
int num = i + 1;
ResultDetailVO detail = resultDetails.get(i);
String tbr = detail.getCompanyName();
Map<String, Object> map = new HashMap<>(16);
//表4初步评审结果 投标人,投标结果
map.put("num", num);
map.put("tbr", tbr);
map.put("jg", detail.getFirstRvwResult() == null ? "" : detail.getFirstRvwResult() == 0 ? "未通过" : "通过");
list4.add(map);
//表六 详细评审数据 投标人,技术分,商务分
map.put("js", StrUtil.isNotBlank(detail.getTechnicalScore()) ? detail.getTechnicalScore() : "");
map.put("sw", StrUtil.isNotBlank(detail.getBusinessScore()) ? detail.getBusinessScore() : "");
list6.add(map);
//表七 价格评审数据 投标人,投标价,评审价格,价格得分
map.put("bj", detail.getPrice() == null ? BigDecimal.ZERO : detail.getPrice());
map.put("psjg", detail.getPriceReview() == null ? BigDecimal.ZERO : detail.getPriceReview());
map.put("jgdf", StrUtil.isNotBlank(detail.getPriceScore()) ? detail.getPriceScore() : "");
list7.add(map);
//表八 评审总结数据
map.put("jgdf2", StrUtil.isNotBlank(detail.getPriceScore()) ? detail.getPriceScore() : "");
map.put("zhdf", StrUtil.isNotBlank(detail.getTotalScore()) ? detail.getTotalScore() : "");
list8.add(map);
}
String finalZbfs = zbfs;
String finalPbwyhzz = pbwyhzz;
Map<String, Object> all = new HashMap<String, Object>() {{
put("table1", list1);
put("table2", list2);
put("table3", list3);
put("table4", list4);
put("table5", list5);
put("table6", list6);
put("table7", list7);
put("table8", list8);
put("zbdljg", project.getTenderAgencyName());
put("zbbh", project.getEbpProjectNumber());
put("zbfs", finalZbfs);
put("pbwyhzz", finalPbwyhzz);
}};
HackLoopTableRenderPolicy policy1 = new HackLoopTableRenderPolicy();
HackLoopTableRenderPolicy policy2 = new HackLoopTableRenderPolicy();
HackLoopTableRenderPolicy policy3 = new HackLoopTableRenderPolicy();
HackLoopTableRenderPolicy policy4 = new HackLoopTableRenderPolicy();
HackLoopTableRenderPolicy policy5 = new HackLoopTableRenderPolicy();
HackLoopTableRenderPolicy policy6 = new HackLoopTableRenderPolicy();
HackLoopTableRenderPolicy policy7 = new HackLoopTableRenderPolicy();
HackLoopTableRenderPolicy policy8 = new HackLoopTableRenderPolicy();
Configure config = Configure.builder().bind("table1", policy1).bind("table2", policy2).bind("table3", policy3)
.bind("table4", policy4).bind("table5", policy5).bind("table6", policy6)
.bind("table7", policy7).bind("table8", policy8).build();
InputStream file = templateFileService.getExportTemplet("pbbg");
// File file = getExportTemplet("评标报告.docx");
XWPFTemplate template = XWPFTemplate.compile(file, config).render(all);
String fileName = new String("评标报告.docx".getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1);
OutputStream os = response.getOutputStream();
response.setHeader("Content-disposition", "attachment; filename=" + fileName);
template.write(os);
}
private List<ArchiveLink> getFirstArchiveLinks() {
List<ArchiveLink> archiveLinks = new ArrayList<>();
//初步评审表URL
archiveLinks.add(new ArchiveLink().setId("1").setArchiveDirectory("1"));
return archiveLinks;
}
private List<ArchiveLink> getDetailArchiveLinks() {
List<ArchiveLink> archiveLinks = new ArrayList<>();
//详细评审表URL
// archiveLinks.add(new ArchiveLink().setId("2").setArchiveDirectory("2"));
//专家打分表URL
archiveLinks.add(new ArchiveLink().setId("3").setArchiveDirectory("3"));
//价格打分表URL
archiveLinks.add(new ArchiveLink().setId("4").setArchiveDirectory("4"));
//打分汇总表URL
archiveLinks.add(new ArchiveLink().setId("5").setArchiveDirectory("5"));
//评审报告URL
// archiveLinks.add(new ArchiveLink().setId("6").setArchiveDirectory("6"));
return archiveLinks;
}
}

View File

@ -1,84 +0,0 @@
package com.chinaunicom.mall.ebtp.extend.export.service.impl;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.extend.export.bean.ExportParame;
import com.chinaunicom.mall.ebtp.extend.export.feign.RsmsFeignService;
import com.chinaunicom.mall.ebtp.extend.export.service.ExportService;
import com.chinaunicom.mall.ebtp.extend.export.service.TemplateFileService;
import com.chinaunicom.mall.ebtp.extend.export.vo.JuryPrintVO;
import com.deepoove.poi.XWPFTemplate;
import com.deepoove.poi.config.Configure;
import com.deepoove.poi.policy.HackLoopTableRenderPolicy;
import lombok.SneakyThrows;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.charset.StandardCharsets;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 评审专家签到表
*/
@Service("pszj")
public class PszjExportServiceImpl implements ExportService {
private final RsmsFeignService rsmsFeignService;
private final TemplateFileService templateFileService;
public PszjExportServiceImpl(RsmsFeignService rsmsFeignService, TemplateFileService templateFileService) {
this.rsmsFeignService = rsmsFeignService;
this.templateFileService = templateFileService;
}
/**
* 导出
*
* @param param
* @param request
* @param response
*/
@SneakyThrows
@Override
public void doExport(ExportParame param, HttpServletRequest request, HttpServletResponse response) {
//专家人员数据
BaseResponse<List<JuryPrintVO>> listBaseResponse = rsmsFeignService.queryReportPrintByRoomId(param.getAssessRoomId());
ArrayList<Map<String, Object>> maps = new ArrayList<>();
if (listBaseResponse != null && listBaseResponse.getData() != null) {
for (int i = 0; i < listBaseResponse.getData().size(); i++) {
Map<String, Object> data = new HashMap<>();
data.put("name", listBaseResponse.getData().get(i).getName());
data.put("phone", listBaseResponse.getData().get(i).getMobile());
data.put("idCard", listBaseResponse.getData().get(i).getCertificate());
data.put("isTrue", listBaseResponse.getData().get(i).getAttitude() == 1 ? "" : "");
data.put("time", DateTimeFormatter.ofPattern("yyyy年MM月dd日").format(listBaseResponse.getData().get(i).getLoginTime()));
maps.add(data);
}
}
InputStream file = templateFileService.getExportTemplet("pszj");
Map<String, Object> all = new HashMap<String, Object>() {{
put("table", maps);
}};
HackLoopTableRenderPolicy policy = new HackLoopTableRenderPolicy();
Configure config = Configure.builder().bind("table", policy).build();
XWPFTemplate template = XWPFTemplate.compile(file, config).render(all);
String fileName = new String("评审专家签到表.docx".getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1);
OutputStream os = response.getOutputStream();
response.setHeader("Content-disposition", "attachment; filename=" + fileName);
template.write(os);
}
}

View File

@ -0,0 +1,194 @@
package com.chinaunicom.mall.ebtp.extend.export.service.impl;
import cn.hutool.core.util.StrUtil;
import com.chinaunicom.mall.ebtp.extend.export.bean.ExportParam;
import com.chinaunicom.mall.ebtp.extend.export.service.ExportService;
import com.chinaunicom.mall.ebtp.extend.export.service.common.ExportCommonFeignService;
import com.chinaunicom.mall.ebtp.extend.export.service.templateFile.TemplateFileService;
import com.chinaunicom.mall.ebtp.extend.feign.entity.JuryPrintVO;
import com.chinaunicom.mall.ebtp.extend.feign.entity.ResultDetailVO;
import com.chinaunicom.mall.ebtp.extend.feign.entity.BizSupplierRegister;
import com.chinaunicom.mall.ebtp.extend.feign.entity.ProjectRecordVO;
import com.deepoove.poi.XWPFTemplate;
import com.deepoove.poi.config.Configure;
import com.deepoove.poi.policy.HackLoopTableRenderPolicy;
import lombok.SneakyThrows;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.math.BigDecimal;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* 评审报告
*/
@Service("reviewReport")
public class ReviewReportImpl implements ExportService {
@Autowired
private ExportCommonFeignService commonFeignService;
@Autowired
private TemplateFileService templateFileService;
/**
* 导出
*
* @param param
* @param request
* @param response
*/
@SneakyThrows
@Override
public void doExport(ExportParam param, HttpServletRequest request, HttpServletResponse response) {
// 项目信息
ProjectRecordVO project = commonFeignService.projectGetProjById(param.getProjectId());
String zbfs = "";
switch (project.getBidMethodDict()) {
case "procurement_mode_1":
case "procurement_mode_2":
zbfs = "公开招标";
break;
case "procurement_mode_3":
zbfs = "公开比选";
break;
case "procurement_mode_4":
zbfs = "招募";
break;
case "procurement_mode_5":
case "procurement_mode_6":
zbfs = "谈判";
break;
case "procurement_mode_7":
zbfs = "询价";
break;
case "procurement_mode_8":
zbfs = "竞拍";
break;
default:
zbfs = "";
}
//供应商信息
List<BizSupplierRegister> registerList = commonFeignService.tenderGetSupplierRegisterByRoomId(param.getAssessRoomId());
//表一
List<Map<String, Object>> list1 = new ArrayList<>();
for (int i = 0; i < registerList.size(); i++) {
Map<String, Object> map = new HashMap<>(16);
int num = i + 1;
BizSupplierRegister register = registerList.get(i);
map.put("num", num);
map.put("name", register.getCompanyName());
map.put("type", StrUtil.isBlank(register.getDownloadStatus()) ? "" : "2".equals(register.getDownloadStatus()) ? "已投递" : "1".equals(register.getDownloadStatus()) ? "已下载" : "未下载");
list1.add(map);
}
//表二 专家人员数据
List<JuryPrintVO> memberList = commonFeignService.rsmsQueryReportPrintByRoomId(param.getAssessRoomId());
ArrayList<Map<String, Object>> list2 = new ArrayList<>();
String pbwyhzz = null;
for (int i = 0; i < memberList.size(); i++) {
JuryPrintVO juryPrintVO = memberList.get(i);
Map<String, Object> data = new HashMap<>();
data.put("num", i + 1);
data.put("work", juryPrintVO.getWorkunit());
data.put("name", juryPrintVO.getName());
data.put("job", juryPrintVO.getJobTitle());
data.put("unit", juryPrintVO.getWorkunit());
list2.add(data);
if ("2".equals(juryPrintVO.getDuty())) {
pbwyhzz = juryPrintVO.getName();
}
}
ArrayList<Map<String, Object>> list3 = new ArrayList<>();
for (int i = 0; i < registerList.size(); i++) {
Map<String, Object> map = new HashMap<>(16);
int num = i + 1;
BizSupplierRegister register = registerList.get(i);
map.put("num", num);
map.put("id", register.getCompanyId());
map.put("tbr", register.getCompanyName());
list3.add(map);
}
//评审结果表数据
List<ResultDetailVO> resultDetails = commonFeignService.rsmsQueryReviewDetailByRoomId(param.getAssessRoomId());
Map<String, ResultDetailVO> detailVOMap = resultDetails.stream().collect(Collectors.toMap(ResultDetailVO::getCompanyId, Function.identity(), (o1, o2) -> o1));
for (int i = 0; i < registerList.size(); i++) {
BizSupplierRegister register = registerList.get(i);
if (detailVOMap.containsKey(register.getCompanyId())) {
ResultDetailVO detail = detailVOMap.get(register.getCompanyId());
Map<String, Object> map = list3.stream().filter(f -> f.get("id").equals(register.getCompanyId())).findAny().orElse(new HashMap<>());
//表三,初步评审结果 投标人,投标结果
map.put("jg", detail.getFirstRvwResult() == null ? "" : detail.getFirstRvwResult() == 0 ? "未通过" : "通过");
//表四 详细评审数据 投标人,技术分,商务分
map.put("js", StrUtil.isNotBlank(detail.getTechnicalScore()) ? detail.getTechnicalScore() : "");
map.put("sw", StrUtil.isNotBlank(detail.getBusinessScore()) ? detail.getBusinessScore() : "");
//表五 价格评审数据 投标人,投标价,评审价格,价格得分
map.put("bj", detail.getPrice() == null ? BigDecimal.ZERO : detail.getPrice());
map.put("psjg", detail.getPriceReview() == null ? BigDecimal.ZERO : detail.getPriceReview());
map.put("jgdf", StrUtil.isNotBlank(detail.getPriceScore()) ? detail.getPriceScore() : "");
//表六 评审总结数据
map.put("jgdf2", StrUtil.isNotBlank(detail.getPriceScore()) ? detail.getPriceScore() : "");
map.put("zhdf", StrUtil.isNotBlank(detail.getTotalScore()) ? detail.getTotalScore() : "");
}
}
String finalZbfs = zbfs;
String finalPbwyhzz = pbwyhzz;
Map<String, Object> all = new HashMap<String, Object>() {{
put("table1", list1);
put("table2", list2);
put("table3", list3);
put("zbdljg", project.getTenderAgencyName());
put("zbbh", project.getEbpProjectNumber());
put("zbfs", finalZbfs);
put("pbwyhzz", finalPbwyhzz == null ? "______" : finalPbwyhzz);
}};
HackLoopTableRenderPolicy policy = new HackLoopTableRenderPolicy();
Configure config = Configure.builder()
.bind("table1", policy)
.bind("table2", policy)
.bind("table3", policy)
.build();
// InputStream file = templateFileService.getExportTemplet("reviewReport");
File file = getExportTemplet("评标报告.docx");
XWPFTemplate template = XWPFTemplate.compile(file, config).render(all);
String fileName = new String("评标报告.docx".getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1);
this.write(template, fileName, response);
}
}

View File

@ -2,12 +2,15 @@ package com.chinaunicom.mall.ebtp.extend.export.service.impl;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.extend.export.bean.*;
import com.chinaunicom.mall.ebtp.extend.export.feign.ProjectFeignService;
import com.chinaunicom.mall.ebtp.extend.export.feign.RsmsFeignService;
import com.chinaunicom.mall.ebtp.extend.feign.client.ProjectFeignService;
import com.chinaunicom.mall.ebtp.extend.feign.client.RsmsFeignService;
import com.chinaunicom.mall.ebtp.extend.export.service.ExportService;
import com.chinaunicom.mall.ebtp.extend.export.vo.BidEvalDetailVO;
import com.chinaunicom.mall.ebtp.extend.export.vo.MemberVO;
import com.chinaunicom.mall.ebtp.extend.export.vo.SupplierRegisterVO;
import com.chinaunicom.mall.ebtp.extend.feign.entity.ProjectSectionVO;
import com.chinaunicom.mall.ebtp.extend.feign.entity.ReviewConfigCategoryDTO;
import com.chinaunicom.mall.ebtp.extend.feign.entity.ReviewConfigDetailDTO;
import lombok.SneakyThrows;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.CellRangeAddress;
@ -48,7 +51,7 @@ public class ZjgrExportServiceImpl implements ExportService {
*/
@SneakyThrows
@Override
public void doExport(ExportParame param, HttpServletRequest request, HttpServletResponse response) {
public void doExport(ExportParam param, HttpServletRequest request, HttpServletResponse response) {
//查询项目名称
ProjectSectionVO projectSectionVO = new ProjectSectionVO();

View File

@ -0,0 +1,78 @@
package com.chinaunicom.mall.ebtp.extend.export.service.policy;
import com.chinaunicom.mall.ebtp.extend.export.entity.ExportTableData;
import com.deepoove.poi.data.CellRenderData;
import com.deepoove.poi.data.RowRenderData;
import com.deepoove.poi.policy.DynamicTableRenderPolicy;
import com.deepoove.poi.policy.TableRenderPolicy;
import com.deepoove.poi.util.TableTools;
import org.apache.poi.xwpf.usermodel.XWPFTable;
import org.apache.poi.xwpf.usermodel.XWPFTableCell;
import org.apache.poi.xwpf.usermodel.XWPFTableRow;
import java.util.List;
public class DetailTablePolicy extends DynamicTableRenderPolicy {
// 横向填充名称所在行
private int horizonalNameIndex = 0;
// 竖向填充数据所在行
private int verticallyStartIndex = 1;
public DetailTablePolicy() {
}
public DetailTablePolicy(int horizonalNameIndex, int verticallyStartIndex) {
this.horizonalNameIndex = horizonalNameIndex;
this.verticallyStartIndex = verticallyStartIndex;
}
@Override
public void render(XWPFTable xwpfTable, Object o) throws Exception {
if (o == null) {
return;
}
ExportTableData data = (ExportTableData) o;
//供应商名称
List<CellRenderData> cols = data.getCells();
if (cols != null) {
XWPFTableRow row = xwpfTable.getRow(horizonalNameIndex);
row.removeCell(row.getTableCells().size() - 1);
//循环添加供应商名称
for (CellRenderData col : cols) {
XWPFTableCell cell = row.createCell();
// 单元格渲染
TableRenderPolicy.Helper.renderCell(cell, col, null);
}
}
//供应商
List<RowRenderData> rows = data.getRows();
if (rows != null && !rows.isEmpty()) {
xwpfTable.removeRow(verticallyStartIndex);
for (int i = 0; i < rows.size(); i++) {
XWPFTableRow insertNewTableRow = xwpfTable.insertNewTableRow(verticallyStartIndex + i);
for (int j = 0; j < rows.get(i).getCells().size(); j++) {
insertNewTableRow.createCell();
}
TableRenderPolicy.Helper.renderRow(xwpfTable.getRow(verticallyStartIndex + i), rows.get(i));
}
}
if (data.getCellMerge() != null) {
// 水平合并
data.getCellMerge().getMapping().forEach((key, value) -> {
TableTools.mergeCellsHorizonal(xwpfTable, key.getI(), key.getJ(), value.getJ());
});
}
if (data.getRowMerge() != null) {
// 垂直合并
data.getCellMerge().getMapping().forEach((key, value) -> {
TableTools.mergeCellsVertically(xwpfTable, key.getI(), key.getJ(), value.getJ());
});
}
}
}

View File

@ -1,4 +1,4 @@
package com.chinaunicom.mall.ebtp.extend.export.service;
package com.chinaunicom.mall.ebtp.extend.export.service.templateFile;
import java.io.InputStream;

View File

@ -1,7 +1,7 @@
package com.chinaunicom.mall.ebtp.extend.export.service.impl;
package com.chinaunicom.mall.ebtp.extend.export.service.templateFile.impl;
import com.chinaunicom.ebtp.mall.cloud.attachment.sdk.api.AttachmentClient;
import com.chinaunicom.mall.ebtp.extend.export.service.TemplateFileService;
import com.chinaunicom.mall.ebtp.extend.export.service.templateFile.TemplateFileService;
import com.chinaunicom.mall.ebtp.extend.templatewarehouse.entity.BizBidTemplateWarehouse;
import com.chinaunicom.mall.ebtp.extend.templatewarehouse.sevice.BizBidTemplateWarehouseService;
import org.springframework.beans.factory.annotation.Autowired;

View File

@ -43,7 +43,7 @@ public class BidEvalDetailSummaryVO implements Serializable {
@ApiModelProperty(value = "专家评分")
@JsonInclude(JsonInclude.Include.NON_EMPTY)
List<BidEvalDetailJudgesSummaryVO> scoreList;
private List<BidEvalDetailJudgesSummaryVO> scoreList;
@ApiModelProperty(value = "详审专家汇总")
@JsonInclude(JsonInclude.Include.NON_EMPTY)

View File

@ -1,7 +1,7 @@
package com.chinaunicom.mall.ebtp.extend.feign.client;
import com.chinaunicom.mall.ebtp.extend.feign.factory.FeignConfiguration;
import com.chinaunicom.mall.ebtp.extend.feign.factory.DocumentCenterServiceFallbackFactory;
import com.chinaunicom.mall.ebtp.extend.feign.config.FeignConfiguration;
import com.chinaunicom.mall.ebtp.extend.feign.client.factory.DocumentCenterServiceFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

View File

@ -1,8 +1,8 @@
package com.chinaunicom.mall.ebtp.extend.export.feign;
package com.chinaunicom.mall.ebtp.extend.feign.client;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.extend.export.bean.BizBidOpenroom;
import com.chinaunicom.mall.ebtp.extend.export.feign.factory.ExportServiceOpenFallbakFactory;
import com.chinaunicom.mall.ebtp.extend.feign.client.factory.ExportServiceOpenFallbakFactory;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient;

View File

@ -1,28 +1,25 @@
package com.chinaunicom.mall.ebtp.extend.export.feign;
package com.chinaunicom.mall.ebtp.extend.feign.client;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.extend.export.bean.BizAssessRoom;
import com.chinaunicom.mall.ebtp.extend.export.feign.factory.ProcessFeignFallbackFactory;
import com.chinaunicom.mall.ebtp.extend.export.vo.ResultDetailVO;
import com.chinaunicom.mall.ebtp.extend.feign.entity.BizAssessRoom;
import com.chinaunicom.mall.ebtp.extend.feign.client.factory.ProcessFeignFallbackFactory;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import java.util.List;
/**
* 评审流程
*/
@FeignClient(value = "${mconfig.feign.name.process}", fallbackFactory = ProcessFeignFallbackFactory.class)
public interface ProcessFeignClient {
public interface ProcessFeignService {
/**
* 查询数据
* 通过room_id查询评审室信息
*
* @param id
*

View File

@ -1,9 +1,9 @@
package com.chinaunicom.mall.ebtp.extend.export.feign;
package com.chinaunicom.mall.ebtp.extend.feign.client;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.extend.export.bean.ProjectRecordVO;
import com.chinaunicom.mall.ebtp.extend.export.bean.ProjectSectionVO;
import com.chinaunicom.mall.ebtp.extend.export.feign.factory.ProjectFeignFallbackFactory;
import com.chinaunicom.mall.ebtp.extend.feign.entity.ProjectRecordVO;
import com.chinaunicom.mall.ebtp.extend.feign.entity.ProjectSectionVO;
import com.chinaunicom.mall.ebtp.extend.feign.client.factory.ProjectFeignFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

View File

@ -0,0 +1,28 @@
package com.chinaunicom.mall.ebtp.extend.feign.client;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.extend.feign.client.factory.ExportServiceRespsFallbakFactory;
import com.chinaunicom.mall.ebtp.extend.feign.entity.Tdoc;
import io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.Map;
/**
* 调用 RESPS_SERVICE
*/
@FeignClient(value = "${mconfig.feign.name.resps}", fallbackFactory = ExportServiceRespsFallbakFactory.class)
public interface RespsFeignService {
/**
* 开标唱标页列表
*
* @param tdocPara assessRoomId 评审室id turnSort 轮次序号
* @return title-表格标题dataDecrypt-解密状态id、status dataQuote-报价信息
*/
@PostMapping("/v1/tfile/getOpenTenderList")
public BaseResponse<Map> getOpenTenderList(@ApiParam(value = "assessRoomId 评审室id turnSort 轮次序号", required = false) @RequestBody Tdoc tdocPara);
}

View File

@ -1,9 +1,12 @@
package com.chinaunicom.mall.ebtp.extend.export.feign;
package com.chinaunicom.mall.ebtp.extend.feign.client;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.extend.export.bean.*;
import com.chinaunicom.mall.ebtp.extend.export.feign.factory.ExportServiceFallback;
import com.chinaunicom.mall.ebtp.extend.feign.client.factory.ExportServiceFallback;
import com.chinaunicom.mall.ebtp.extend.export.vo.*;
import com.chinaunicom.mall.ebtp.extend.feign.entity.JuryPrintVO;
import com.chinaunicom.mall.ebtp.extend.feign.entity.ResultDetailVO;
import com.chinaunicom.mall.ebtp.extend.feign.entity.ReviewConfigCategoryDTO;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient;

View File

@ -1,8 +1,8 @@
package com.chinaunicom.mall.ebtp.extend.export.feign;
package com.chinaunicom.mall.ebtp.extend.feign.client;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.extend.export.bean.BizSupplierRegister;
import com.chinaunicom.mall.ebtp.extend.export.feign.factory.TenderFeignFallbackFactory;
import com.chinaunicom.mall.ebtp.extend.feign.entity.BizSupplierRegister;
import com.chinaunicom.mall.ebtp.extend.feign.client.factory.TenderFeignFallbackFactory;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient;

View File

@ -0,0 +1,23 @@
package com.chinaunicom.mall.ebtp.extend.feign.client;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.extend.feign.client.factory.UsercenterFeignFallbackFactory;
import com.chinaunicom.mall.ebtp.extend.feign.entity.LoginUserDetailVO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
* 用户中心
*/
@FeignClient(value = "${mconfig.feign.name.usercenter}", fallbackFactory = UsercenterFeignFallbackFactory.class)
public interface UsercenterFeignService {
/*
* 查询用户信息
*/
@GetMapping("/v1.0/user/info")
BaseResponse<LoginUserDetailVO> getLoninUserDetail(@RequestParam("uid") String uid);
}

View File

@ -1,7 +1,7 @@
package com.chinaunicom.mall.ebtp.extend.feign.factory;
package com.chinaunicom.mall.ebtp.extend.feign.client.factory;
import com.chinaunicom.mall.ebtp.extend.feign.client.DocumentCenterService;
import com.chinaunicom.mall.ebtp.extend.feign.fallback.DocumentCenterServiceFallbackImpl;
import com.chinaunicom.mall.ebtp.extend.feign.client.fallback.DocumentCenterServiceFallbackImpl;
import feign.hystrix.FallbackFactory;
import org.springframework.stereotype.Component;

View File

@ -1,10 +1,13 @@
package com.chinaunicom.mall.ebtp.extend.export.feign.factory;
package com.chinaunicom.mall.ebtp.extend.feign.client.factory;
import cn.hutool.core.exceptions.ExceptionUtil;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.extend.export.bean.*;
import com.chinaunicom.mall.ebtp.extend.export.feign.RsmsFeignService;
import com.chinaunicom.mall.ebtp.extend.feign.client.RsmsFeignService;
import com.chinaunicom.mall.ebtp.extend.export.vo.*;
import com.chinaunicom.mall.ebtp.extend.feign.entity.JuryPrintVO;
import com.chinaunicom.mall.ebtp.extend.feign.entity.ResultDetailVO;
import com.chinaunicom.mall.ebtp.extend.feign.entity.ReviewConfigCategoryDTO;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

View File

@ -1,9 +1,9 @@
package com.chinaunicom.mall.ebtp.extend.export.feign.factory;
package com.chinaunicom.mall.ebtp.extend.feign.client.factory;
import cn.hutool.core.exceptions.ExceptionUtil;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.extend.export.bean.BizBidOpenroom;
import com.chinaunicom.mall.ebtp.extend.export.feign.OpenFeignService;
import com.chinaunicom.mall.ebtp.extend.feign.client.OpenFeignService;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

View File

@ -1,24 +1,31 @@
package com.chinaunicom.mall.ebtp.extend.export.feign.factory;
package com.chinaunicom.mall.ebtp.extend.feign.client.factory;
import cn.hutool.core.exceptions.ExceptionUtil;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.extend.export.bean.BizSupplierRegister;
import com.chinaunicom.mall.ebtp.extend.export.bean.Tdoc;
import com.chinaunicom.mall.ebtp.extend.export.feign.RespsFeignService;
import com.chinaunicom.mall.ebtp.extend.feign.client.RespsFeignService;
import com.chinaunicom.mall.ebtp.extend.feign.entity.Tdoc;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.HashMap;
import java.util.Map;
@Component
@Slf4j
public class ExportServiceRespsFallbakFactory implements FallbackFactory<RespsFeignService> {
@Override
public RespsFeignService create(Throwable throwable) {
RespsFeignService resps = new RespsFeignService() {
/**
* 开标唱标页列表
*
* @param tdocPara assessRoomId 评审室id turnSort 轮次序号
* @return title-表格标题dataDecrypt-解密状态idstatus dataQuote-报价信息
*/
@Override
public BaseResponse<List<BizSupplierRegister>> getTenderQuoteList(Tdoc tdocPara) {
return null;
public BaseResponse<Map> getOpenTenderList(Tdoc tdocPara) {
return BaseResponse.fail(new HashMap());
}
};
log.error(ExceptionUtil.stacktraceToString(throwable));

View File

@ -1,23 +1,21 @@
package com.chinaunicom.mall.ebtp.extend.export.feign.factory;
package com.chinaunicom.mall.ebtp.extend.feign.client.factory;
import cn.hutool.core.exceptions.ExceptionUtil;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.common.util.JsonUtils;
import com.chinaunicom.mall.ebtp.extend.export.bean.BizAssessRoom;
import com.chinaunicom.mall.ebtp.extend.export.feign.ProcessFeignClient;
import com.chinaunicom.mall.ebtp.extend.export.vo.ReviewFlowVO;
import com.chinaunicom.mall.ebtp.extend.feign.entity.BizAssessRoom;
import com.chinaunicom.mall.ebtp.extend.feign.client.ProcessFeignService;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@Component
@Slf4j
public class ProcessFeignFallbackFactory implements FallbackFactory<ProcessFeignClient> {
public class ProcessFeignFallbackFactory implements FallbackFactory<ProcessFeignService> {
@Override
public ProcessFeignClient create(Throwable throwable) {
ProcessFeignClient back = new ProcessFeignClient() {
public ProcessFeignService create(Throwable throwable) {
ProcessFeignService back = new ProcessFeignService() {
/**

View File

@ -1,10 +1,10 @@
package com.chinaunicom.mall.ebtp.extend.export.feign.factory;
package com.chinaunicom.mall.ebtp.extend.feign.client.factory;
import cn.hutool.core.exceptions.ExceptionUtil;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.extend.export.bean.ProjectRecordVO;
import com.chinaunicom.mall.ebtp.extend.export.bean.ProjectSectionVO;
import com.chinaunicom.mall.ebtp.extend.export.feign.ProjectFeignService;
import com.chinaunicom.mall.ebtp.extend.feign.entity.ProjectRecordVO;
import com.chinaunicom.mall.ebtp.extend.feign.entity.ProjectSectionVO;
import com.chinaunicom.mall.ebtp.extend.feign.client.ProjectFeignService;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

View File

@ -1,9 +1,9 @@
package com.chinaunicom.mall.ebtp.extend.export.feign.factory;
package com.chinaunicom.mall.ebtp.extend.feign.client.factory;
import cn.hutool.core.exceptions.ExceptionUtil;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.extend.export.bean.BizSupplierRegister;
import com.chinaunicom.mall.ebtp.extend.export.feign.TenderFeignService;
import com.chinaunicom.mall.ebtp.extend.feign.entity.BizSupplierRegister;
import com.chinaunicom.mall.ebtp.extend.feign.client.TenderFeignService;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

View File

@ -0,0 +1,19 @@
package com.chinaunicom.mall.ebtp.extend.feign.client.factory;
import cn.hutool.core.exceptions.ExceptionUtil;
import com.chinaunicom.mall.ebtp.extend.feign.client.UsercenterFeignService;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@Component
@Slf4j
public class UsercenterFeignFallbackFactory implements FallbackFactory<UsercenterFeignService> {
@Override
public UsercenterFeignService create(Throwable throwable) {
UsercenterFeignService back = uid -> null;
log.error(ExceptionUtil.stacktraceToString(throwable));
return back;
}
}

View File

@ -1,12 +1,10 @@
package com.chinaunicom.mall.ebtp.extend.feign.fallback;
package com.chinaunicom.mall.ebtp.extend.feign.client.fallback;
import com.chinaunicom.mall.ebtp.extend.feign.client.DocumentCenterService;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* 熔断
*

View File

@ -1,4 +1,4 @@
package com.chinaunicom.mall.ebtp.extend.feign.factory;
package com.chinaunicom.mall.ebtp.extend.feign.config;
import com.alibaba.fastjson.JSONObject;
import com.chinaunicom.mall.ebtp.extend.feign.utils.UrlConstants;

View File

@ -1,4 +1,4 @@
package com.chinaunicom.mall.ebtp.extend.export.bean;
package com.chinaunicom.mall.ebtp.extend.feign.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseEntity;

View File

@ -0,0 +1,288 @@
package com.chinaunicom.mall.ebtp.extend.feign.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseEntity;
import com.chinaunicom.mall.ebtp.common.config.CustomLocalDateTimeTypeHandler;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Map;
/**
* 实体类 BizSupplierRegister
*
* @auto.generated
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName(value = "biz_supplier_register", autoResultMap = true)
@ApiModel(value = "BizSupplierRegister对象", description = "供应商报名登记表")
public class BizSupplierRegister extends BaseEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 供应商报名登记表id
*/
@TableId
@ApiModelProperty(value = "供应商报名登记表id")
private String id;
/**
* 项目表id
*/
@ApiModelProperty(value = "项目表id")
private String projectId;
/**
* 标包id
*/
@ApiModelProperty(value = "标包id")
private String packageId;
/**
* 评审室表id
*/
@ApiModelProperty(value = "评审室表id")
private String assessRoomId;
/**
* 评审室轮次
*/
@ApiModelProperty(value = "评审室轮次")
private Integer assessRoomSort;
/**
* 机构id
*/
@ApiModelProperty(value = "机构id")
private String companyId;
/**
* 机构名称
*/
@ApiModelProperty(value = "机构名称")
private String companyName;
/**
* 投标人id
*/
@ApiModelProperty(value = "投标人id")
private String bidUserId;
/**
* 投标人姓名
*/
@ApiModelProperty(value = "投标人姓名")
private String bidUserName;
/**
* 联系人id
*/
@ApiModelProperty(value = "联系人id")
private String contactId;
/**
* 报名状态[1:已报名提交][2:已报名审核][3:已报名被拒绝][4:已退出][5:已中标][6:未中标][9:重评前的数据]
*/
@ApiModelProperty(value = "报名状态[1:已报名提交][2:已报名审核][3:已报名被拒绝][4:已退出][5:已中标][6:未中标][9:重评前的数据]")
private String registerStatus;
/**
* 报名时间
*/
@ApiModelProperty(value = "报名时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@TableField(typeHandler = CustomLocalDateTimeTypeHandler.class)
private LocalDateTime registerTime;
/**
* 下载状态:[0:未下载标书][1:已下载标书][2:已上传投标文件]
*/
@ApiModelProperty(value = "下载状态:[0:未下载标书][1:已下载标书][2:已上传投标文件]")
private String downloadStatus;
/**
* 下载时间
*/
@ApiModelProperty(value = "下载时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@TableField(typeHandler = CustomLocalDateTimeTypeHandler.class)
private LocalDateTime downloadTime;
/**
* 下载版本
*/
@ApiModelProperty(value = "下载版本")
private String downloadVersion;
/**
* 上传时间
*/
@ApiModelProperty(value = "上传时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@TableField(typeHandler = CustomLocalDateTimeTypeHandler.class)
private LocalDateTime uploadTime;
/**
* 解密状态:[1:未解密][2:解密成功][3:解密失败]
*/
@ApiModelProperty(value = "解密状态:[1:未解密][2:解密成功][3:解密失败]")
private String decryptStatus;
/**
* 解密时间
*/
@ApiModelProperty(value = "解密时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@TableField(typeHandler = CustomLocalDateTimeTypeHandler.class)
private LocalDateTime decryptTime;
/**
* 营业执照id,附件表
*/
@ApiModelProperty(value = "营业执照id,附件表")
private String businessLicenseId;
/**
* 法人代表授权书id附件表
*/
@ApiModelProperty(value = "法人代表授权书id附件表")
private String legalPersionAuthorizationId;
/**
* 退出原因
*/
@ApiModelProperty(value = "退出原因")
private String quitReason;
/**
* 购标时间
*/
@ApiModelProperty(value = "购标时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@TableField(typeHandler = CustomLocalDateTimeTypeHandler.class)
private LocalDateTime payTime;
/**
* 购标状态:[1:未支付][2:已支付][3:支付失败]
*/
@ApiModelProperty(value = "购标状态:[1:未支付][2:已支付][3:支付失败]")
private String payStatus;
/**
* 备注
*/
@ApiModelProperty(value = "备注")
private String remark;
@TableField(fill = FieldFill.INSERT)
@ApiModelProperty(value = "1预审2资审")
private Integer roomType;
/**
* 报价总金额净价 offer_total_price
*/
@ApiModelProperty(value = "报价总金额净价")
private BigDecimal offerTotalPrice;
/**
* 报价总金额含税价 offer_total_tax_price
*/
@ApiModelProperty(value = "报价总金额含税价")
private BigDecimal offerTotalTaxPrice;
/**
* 报价单号
*/
@ApiModelProperty(value = "报价单号")
private String offerOrderNo;
@ApiModelProperty(value = "招募状态0非招募、1招募单轮、2招募多轮")
private String recruitType;
/**
* 联系人名称
*/
@TableField(exist = false)
@ApiModelProperty(value = "联系人名称")
private String contactName;
/**
* 联系电话
*/
@TableField(exist = false)
@ApiModelProperty(value = "联系电话")
private String contactTelephone;
/**
* 联系传真
*/
@TableField(exist = false)
@ApiModelProperty(value = "联系传真")
private String contactFax;
/**
* 签字确认账号id
*/
@TableField(exist = false)
@ApiModelProperty(value = "签字确认账号id")
private String signUserId;
/**
* 轮次id
*/
@TableField(exist = false)
@ApiModelProperty(value = "轮次id")
private String reviewTurnId;
/**
* 轮次序号
*/
@TableField(exist = false)
@ApiModelProperty(value = "轮次序号")
private String reviewTurnSort;
/**
* 签字确认账号名称
*/
@TableField(exist = false)
@ApiModelProperty(value = "签字确认账号名称")
private String signUserName;
/**
* 签字确认时间
*/
@ApiModelProperty(value = "签字确认时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@TableField(exist = false, typeHandler = CustomLocalDateTimeTypeHandler.class)
private LocalDateTime signTime;
/**
* 其他下载状态:[0:未下载标书][1:已下载标书][2:已上传投标文件]
*/
@TableField(exist = false)
@ApiModelProperty(value = "下载状态:[0:未下载标书][1:已下载标书][2:已上传投标文件]")
private String downloadOtherStatus;
private Map<String,String> dataMap;
}

View File

@ -1,11 +1,10 @@
package com.chinaunicom.mall.ebtp.extend.export.vo;
package com.chinaunicom.mall.ebtp.extend.feign.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.chinaunicom.mall.ebtp.common.config.CustomLocalDateTimeTypeHandler;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;
/**
@ -75,7 +74,7 @@ public class JuryPrintVO {
*/
@ApiModelProperty(value = "登录时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@TableField(typeHandler = CustomLocalDateTimeTypeHandler.class)
private java.time.LocalDateTime loginTime;

View File

@ -0,0 +1,118 @@
package com.chinaunicom.mall.ebtp.extend.feign.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.List;
/**
* @author 邵智敬
* @date 2019-04-25
* @version: V1.0
* @update [序号][日期YYYY-MM-DD] [更改人姓名][变更描述]
*/
@Data
@Accessors(chain = true)
@ApiModel(value = "用户名获取用户信息、权限字信息、角色信息")
public class LoginUserDetailVO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "租户ID")
private String tenantId;
@ApiModelProperty(value = "部门编码,根据门户现状位数不规则部分沿用HR原编码")
private String ou;
@ApiModelProperty(value = "部门名称")
private String ouName;
@ApiModelProperty(value = "所属省份ou")
private String province;
@ApiModelProperty(value = "所属城市名称ou")
private String city;
@ApiModelProperty(value = "所属省份名称")
private String provinceName;
@ApiModelProperty(value = "所属城市名称")
private String cityName;
@ApiModelProperty(value = "门户全国目录中的唯一编码 uid")
private String staffId;
@ApiModelProperty(value = "空即可")
private String staffOrgId;
@ApiModelProperty(value = "eshop_portaluser的cn")
private String username;
@ApiModelProperty(value = "用户密码")
private String password;
@ApiModelProperty(value = "公司ID")
private String orgId;
@ApiModelProperty(value = "eshop_portaluser的cn")
private String staffName;
@ApiModelProperty(value = "租户ID")
private String staffType;
@ApiModelProperty(value = "租户ID")
private Boolean enabled;
@ApiModelProperty(value = "权限字列表")
private List<String> authoritiesList;
@ApiModelProperty(value = "用户")
private Long userid;
@ApiModelProperty(value = "机构id")
private String partnerId;
@ApiModelProperty(value = "机构名称")
private String partnerName;
@ApiModelProperty("是否前台综合员Y-是, N-否")
private String isSyntheser;
@ApiModelProperty("是否是资产管理员Y-是, N-否")
private String isAsseter;
@ApiModelProperty("是否采购员Y-是, N-否")
private String isCurement;
@ApiModelProperty("身份证号吗")
private String identityCard;
@ApiModelProperty("联系电话")
private String tel;
@ApiModelProperty("公司名称")
private String orgName;
@ApiModelProperty("当前及所有上级组织ou集合")
private List<String> ouList;
@ApiModelProperty("邮箱")
private String cumail;
@ApiModelProperty("当前用户ou")
private String currentOu;
@ApiModelProperty("当前用户岗位名称")
private String currentOuDisplay;
@ApiModelProperty("省份简称")
private String site;
@ApiModelProperty(value = "HR员工编码非正式用户无该信息")
private String employeenumber;
@ApiModelProperty("手机号")
private String mobile;
}

View File

@ -1,4 +1,4 @@
package com.chinaunicom.mall.ebtp.extend.export.bean;
package com.chinaunicom.mall.ebtp.extend.feign.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;

View File

@ -1,4 +1,4 @@
package com.chinaunicom.mall.ebtp.extend.export.bean;
package com.chinaunicom.mall.ebtp.extend.feign.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;

View File

@ -1,4 +1,4 @@
package com.chinaunicom.mall.ebtp.extend.export.bean;
package com.chinaunicom.mall.ebtp.extend.feign.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest;

View File

@ -1,4 +1,4 @@
package com.chinaunicom.mall.ebtp.extend.export.vo;
package com.chinaunicom.mall.ebtp.extend.feign.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

View File

@ -1,5 +1,6 @@
package com.chinaunicom.mall.ebtp.extend.export.bean;
package com.chinaunicom.mall.ebtp.extend.feign.entity;
import com.chinaunicom.mall.ebtp.extend.export.bean.ReviewConfigCategory;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

View File

@ -1,5 +1,7 @@
package com.chinaunicom.mall.ebtp.extend.export.bean;
package com.chinaunicom.mall.ebtp.extend.feign.entity;
import com.chinaunicom.mall.ebtp.extend.export.bean.ReviewConfigDetail;
import com.chinaunicom.mall.ebtp.extend.export.bean.ReviewConfigStandard;
import com.chinaunicom.mall.ebtp.extend.export.vo.BidEvalDetailVO;
import com.chinaunicom.mall.ebtp.extend.export.vo.BidEvalEarlyJudgesSummaryVO;
import com.fasterxml.jackson.annotation.JsonInclude;

View File

@ -0,0 +1,139 @@
package com.chinaunicom.mall.ebtp.extend.feign.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.chinaunicom.mall.ebtp.common.config.CustomLocalDateTimeTypeHandler;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
/**
* 实体类 Tdoc-目录主表
*
* @author yss
*/
@Data
@Accessors(chain = true)
@TableName(value = "biz_resps_tdoc", autoResultMap = true)
@ApiModel(value = "Tdoc对象", description = "目录主表")
public class Tdoc implements Serializable {
private static final long serialVersionUID = 1L;
@TableId
@ApiModelProperty(value = "")
private String id;
@ApiModelProperty(value = "临时表id")
private String tempId;
@ApiModelProperty(value = "项目id")
private String tpId;
@ApiModelProperty(value = "标段id")
private String sectionId;
@ApiModelProperty(value = "评审室id")
private String assessRoomId;
@ApiModelProperty(value = "评审室轮次")
private Integer assessRoomSort;
@ApiModelProperty(value = "轮次id")
private String turnId;
@ApiModelProperty(value = "轮次")
private Integer turnSort;
@ApiModelProperty(value = "报价或其他0-报价 1-其他 空是全部")
private Integer quoteOrOther;
@TableField(fill = FieldFill.INSERT)
@ApiModelProperty(value = "评审类型 1-预审 2-后审 ")
private Integer roomType;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "应答开始时间")
private LocalDateTime startDate;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "应答截止时间")
private LocalDateTime endDate;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "解密截止时间")
private LocalDateTime decryptEndDate;
@ApiModelProperty(value = "结束状态 0-否 1-是 只有谈判室内的有")
private Integer endStatus;
@ApiModelProperty(value = "版本号")
private Integer version;
@TableField(fill = FieldFill.INSERT)
@ApiModelProperty(value = "创建者")
private String createBy;
@TableField(fill = FieldFill.INSERT,typeHandler = CustomLocalDateTimeTypeHandler.class)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建时间")
private LocalDateTime createDate;
@TableField(fill = FieldFill.UPDATE,typeHandler = CustomLocalDateTimeTypeHandler.class)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新时间")
private LocalDateTime updateDate;
/**
* 标段id
*/
@TableField(exist = false)
private List<String> sectionIdList;
/**
* 目录表
*/
@TableField(exist = false)
private List<TdocCatalog> catalogList;
/**
* 是否重评 false-否true-是
*/
@TableField(exist = false)
private Boolean reAssess;
@ApiModelProperty(value = "文档存储路径")
private String filepath;
@ApiModelProperty(value = "文档名称")
private String filename;
@TableField(exist = false)
@ApiModelProperty(value = "投标人id")
private String tendererId;
@TableField(exist = false)
@ApiModelProperty(value = "投标人id")
private String commpanyId;
@TableField(exist = false)
private List<String> catalogIdList;
@TableField(exist = false)
private Map<String,String> key_key;
@TableField(exist = false)
@ApiModelProperty(value = "解密状态true-全部已解密false-仍有未解密,供应商开标页true-可以解密 false-未设置解密截止时间或已过解密时间")
private boolean decryptStatus;
}

View File

@ -0,0 +1,63 @@
package com.chinaunicom.mall.ebtp.extend.feign.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.List;
/**
* 实体类 TdocCatalog-目录表
*
* @author yss
*/
@Data
@Accessors(chain = true)
@TableName(value = "biz_resps_tdoc_catalog", autoResultMap = true)
public class TdocCatalog implements Serializable {
private static final long serialVersionUID = 1L;
@TableId
@ApiModelProperty(value = "")
private String id;
@ApiModelProperty(value = "目录主表id")
private String tdocId;
@ApiModelProperty(value = "父id")
private String parentId;
@ApiModelProperty(value = "名称")
private String name;
@ApiModelProperty(value = "目录类型0-商务、1-技术、2-服务、3-报价、4-其他、5-引用供应商信息库")
private Integer catalogType;
@ApiModelProperty(value = "文件类型0-普通、1-结构化、2-报价一览表")
private Integer structureType;
@ApiModelProperty(value = "引用的编码")
private String quoteCode;
@ApiModelProperty(value = "排序")
private Integer sort;
/**
*树结构使用
*/
@TableField(exist = false)
private List<TdocCatalog> children;
@TableField(exist = false)
private String path;
@ApiModelProperty(value = "评审室id")
@TableField(exist = false)
private String assessRoomId;
}

View File

@ -3,7 +3,6 @@ package com.chinaunicom.mall.ebtp.extend.templatewarehouse.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseEntity;
import com.chinaunicom.mall.ebtp.common.config.CustomLocalDateTimeTypeHandler;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
@ -26,45 +25,44 @@ import java.time.LocalDateTime;
@TableName(value = "biz_bid_client_version", autoResultMap = true)
public class BizBidClientVersion implements Serializable {
private static final long serialVersionUID = 1L;
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ApiModelProperty(value = "主键")
private String id;
/**
* 主键
*/
@ApiModelProperty(value = "主键")
private String id;
/**
* 文档中心-文档ID
*/
@ApiModelProperty(value = "文档中心-文档ID")
private String documentCenterId;
/**
* 文档中心-文档ID
*/
@ApiModelProperty(value = "文档中心-文档ID")
private String documentCenterId;
/**
* ipass客户端版本号
*/
@ApiModelProperty(value = "ipass客户端版本号")
private String ipassVersion;
/**
* ipass客户端版本号
*/
@ApiModelProperty(value = "ipass客户端版本号")
private String ipassVersion;
@TableField(
fill = FieldFill.INSERT,
typeHandler = CustomLocalDateTimeTypeHandler.class
)
@JsonFormat(
pattern = "yyyy-MM-dd HH:mm:ss"
)
@DateTimeFormat(
pattern = "yyyy-MM-dd HH:mm:ss"
)
@ApiModelProperty("客户端发布时间")
private LocalDateTime publishDate;
/**
* ipass客户端版本号
*/
@ApiModelProperty(value = "备注")
private String remark;
@TableField(
fill = FieldFill.INSERT,
typeHandler = CustomLocalDateTimeTypeHandler.class
)
@JsonFormat(
pattern = "yyyy-MM-dd HH:mm:ss"
)
@DateTimeFormat(
pattern = "yyyy-MM-dd HH:mm:ss"
)
@ApiModelProperty("客户端发布时间")
private LocalDateTime publishDate;
/**
* ipass客户端版本号
*/
@ApiModelProperty(value = "备注")
private String remark;
}

View File

@ -10,13 +10,14 @@ import java.io.IOException;
/**
* 对数据表 biz_bid_client_version 操作的 service
* @author Auto create
*
* @author Auto create
*/
public interface BizBidClientVersionService extends IBaseService<BizBidClientVersion>{
public interface BizBidClientVersionService extends IBaseService<BizBidClientVersion> {
/**
* 通过版本号获得对应客户端文件id
*
* @param version
* @return
*/

View File

@ -163,6 +163,7 @@ mconfig:
rsms: biz-service-ebtp-rsms #评审结构化服务
tender: biz-service-ebtp-tender #投标服务
documentcenter: core-service-document-center #文档中心
usercenter: core-service-usercenter-public #用户中心
document:

View File

@ -166,7 +166,7 @@ mconfig:
rsms: biz-service-ebtp-rsms #评审结构化服务
tender: biz-service-ebtp-tender #投标服务
documentcenter: core-service-document-center #文档中心
usercenter: core-service-usercenter-public #用户中心
document:
clientHttpUrl: http://10.238.25.112:8100/auth/oauth/token?grant_type=client_credentials&client_id=bVS46ElU&client_secret=58ea04ba02475c8da2321cc99849d2a10f15b749

View File

@ -171,7 +171,7 @@ mconfig:
rsms: biz-service-ebtp-rsms #评审结构化服务
tender: biz-service-ebtp-tender #投标服务
documentcenter: core-service-document-center #文档中心
usercenter: core-service-usercenter-public #用户中心
document:
clientHttpUrl: http://10.242.31.158:8100/auth/oauth/token?grant_type=client_credentials&client_id=bVS46ElU&client_secret=58ea04ba02475c8da2321cc99849d2a10f15b749

View File

@ -169,7 +169,7 @@ mconfig:
rsms: biz-service-ebtp-rsms #评审结构化服务
tender: biz-service-ebtp-tender #投标服务
documentcenter: core-service-document-center #文档中心
usercenter: core-service-usercenter-public #用户中心
document:
clientHttpUrl: http://10.242.31.158:8100/auth/oauth/token?grant_type=client_credentials&client_id=bVS46ElU&client_secret=58ea04ba02475c8da2321cc99849d2a10f15b749

View File

@ -1,3 +1,3 @@
spring:
profiles:
active: test
active: uat

Binary file not shown.