公告结构化-接收资格条件库数据

This commit is contained in:
yss
2023-12-25 11:00:17 +08:00
parent 2a00d15cf7
commit b1f554b54b
7 changed files with 299 additions and 5 deletions

View File

@ -0,0 +1,15 @@
package com.chinaunicom.mall.ebtp.project.bidqualifyconditionitem.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
import com.chinaunicom.mall.ebtp.project.bidqualifyconditionitem.entity.BizQualifyConditionItem;
/**
* @auto.generated
*/
@Repository
public interface BizQualifyConditionItemMapper extends BaseMapper<BizQualifyConditionItem> {
}

View File

@ -0,0 +1,57 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.chinaunicom.mall.ebtp.project.bidqualifyconditionitem.dao.BizQualifyConditionItemMapper">
<resultMap id="BaseResultMap"
type="com.chinaunicom.mall.ebtp.project.bidqualifyconditionitem.entity.BizQualifyConditionItem">
<result column="id" jdbcType="VARCHAR" property="id"/>
<result column="is_reference" jdbcType="VARCHAR" property="isReference"/>
<result column="template_id" jdbcType="VARCHAR" property="templateId"/>
<result column="template_name" jdbcType="VARCHAR" property="templateName"/>
<result column="template_version_no" jdbcType="VARCHAR" property="templateVersionNo"/>
<result column="procurement_method" jdbcType="VARCHAR" property="procurementMethod"/>
<result column="source_item_id" jdbcType="VARCHAR" property="sourceItemId"/>
<result column="source_item_version_no" jdbcType="VARCHAR" property="sourceItemVersionNo"/>
<result column="category" jdbcType="VARCHAR" property="category"/>
<result column="is_config_item" jdbcType="VARCHAR" property="isConfigItem"/>
<result column="item_description" jdbcType="VARCHAR" property="itemDescription"/>
<result column="m_value_one" jdbcType="DECIMAL" property="mValueOne"/>
<result column="m_value_two" jdbcType="DECIMAL" property="mValueTwo"/>
<result column="item_note" jdbcType="VARCHAR" property="itemNote"/>
<result column="project_id" jdbcType="VARCHAR" property="projectId"/>
<result column="section_id" jdbcType="VARCHAR" property="sectionId"/>
<result column="create_by" jdbcType="VARCHAR" property="createBy"/>
<result column="create_date" jdbcType="TIMESTAMP" property="createDate"/>
<result column="update_by" jdbcType="VARCHAR" property="updateBy"/>
<result column="update_date" jdbcType="TIMESTAMP" property="updateDate"/>
</resultMap>
<sql id="Base_Column_List">
a.id id,
a.is_reference isReference,
a.template_id templateId,
a.template_name templateName,
a.template_version_no templateVersionNo,
a.procurement_method procurementMethod,
a.source_item_id sourceItemId,
a.source_item_version_no sourceItemVersionNo,
a.category category,
a.is_config_item isConfigItem,
a.item_description itemDescription,
a.m_value_one mValueOne,
a.m_value_two mValueTwo,
a.item_note itemNote,
a.project_id projectId,
a.section_id sectionId,
a.create_by createBy,
a.create_date createDate,
a.update_by updateBy,
a.update_date updateDate,
</sql>
<!--逻辑删除方法 此方法为代码生成器生成 不允许修改 如有特殊需求 请自行新建SQL语句-->
<update id="deleteOff" parameterType="java.lang.Long">
update biz_qualify_condition_item
set
delete_flag="deleted"
where ID=#{id,jdbcType=BIGINT}
</update>
</mapper>

View File

@ -0,0 +1,168 @@
package com.chinaunicom.mall.ebtp.project.bidqualifyconditionitem.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
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;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.math.BigDecimal;
import com.chinaunicom.mall.ebtp.common.config.CustomLocalDateTimeTypeHandler;
/**
* 实体类 BizQualifyConditionItem
*
* @auto.generated
*/
@Data
@Accessors(chain = true)
@ApiModel(value = "BizQualifyConditionItem对象", description = "资格条件模板-资格条件项(页面手动新增或来自资格条件库引用)")
@EqualsAndHashCode(callSuper = false)
@TableName(value = "biz_qualify_condition_item", autoResultMap = true)
public class BizQualifyConditionItem implements Serializable {
private static final long serialVersionUID = 1L;
/**
*
*/
@ApiModelProperty(value = "")
private String id;
/**
* 是否来自引用0-否1-是
*/
@ApiModelProperty(value = "是否来自引用0-否1-是")
private String isReference;
/**
* 模板id
*/
@ApiModelProperty(value = "模板id")
private String templateId;
/**
* 模板名称
*/
@ApiModelProperty(value = "模板名称")
private String templateName;
/**
* 模板版本号
*/
@ApiModelProperty(value = "模板版本号")
private String templateVersionNo;
/**
* 采购方式1-公开招标类2-非公开招标类(可多选,采用英文,分隔)\n" +
"引用的条件项存储原始条件项采购方式,手动新增的存储方案的采购方式,\n" +
"采购方式对应:公开招标-公开招标+邀请招标;非公开招标:竞争性谈判、单一来源、询价、公开比选、公开直购
*/
@ApiModelProperty(value = "采购方式1-公开招标类2-非公开招标类(可多选,采用英文,分隔)\n" +
"引用的条件项存储原始条件项采购方式,手动新增的存储方案的采购方式,\n" +
"采购方式对应:公开招标-公开招标+邀请招标;非公开招标:竞争性谈判、单一来源、询价、公开比选、公开直购")
private String procurementMethod;
/**
* 引用条件项原始id(qualify_condition_item中id)
*/
@ApiModelProperty(value = "引用条件项原始id(qualify_condition_item中id)")
private String sourceItemId;
/**
* 引用条件项版本号
*/
@ApiModelProperty(value = "引用条件项版本号")
private String sourceItemVersionNo;
/**
* 资格条件项分类
*/
@ApiModelProperty(value = "资格条件项分类")
private String category;
/**
* 是否需要配置项1-是0-否如果选择是则在资格条件中用M代替配置项具体值可以在资格条件模板和采购方案中引用时修改配置项
*/
@ApiModelProperty(value = "是否需要配置项1-是0-否如果选择是则在资格条件中用M代替配置项具体值可以在资格条件模板和采购方案中引用时修改配置项")
private String isConfigItem;
/**
* 资格条件描述
*/
@ApiModelProperty(value = "资格条件描述")
private String itemDescription;
/**
* m值被乘数固定的值50
*/
@ApiModelProperty(value = "m值被乘数固定的值50")
private BigDecimal mValueOne;
/**
* m值乘数
*/
@ApiModelProperty(value = "m值乘数")
private BigDecimal mValueTwo;
/**
* 资格条件释义
*/
@ApiModelProperty(value = "资格条件释义")
private String itemNote;
/**
* 项目ID
*/
@ApiModelProperty(value = "项目ID")
private String projectId;
/**
* 分包标段id
*/
@ApiModelProperty(value = "分包标段id")
private String sectionId;
/**
* 创建者
*/
@ApiModelProperty(value = "创建者")
private String createBy;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@TableField(typeHandler = CustomLocalDateTimeTypeHandler.class)
private java.time.LocalDateTime createDate;
/**
* 更新者
*/
@ApiModelProperty(value = "更新者")
private String updateBy;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@TableField(typeHandler = CustomLocalDateTimeTypeHandler.class)
private java.time.LocalDateTime updateDate;
@ApiModelProperty("方案主键id,表proj_base_info主键")
@JsonSerialize(using = ToStringSerializer.class)
@TableField(exist = false)
private Long projId;
}

View File

@ -0,0 +1,16 @@
package com.chinaunicom.mall.ebtp.project.bidqualifyconditionitem.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.chinaunicom.mall.ebtp.project.bidqualifyconditionitem.entity.BizQualifyConditionItem;
/**
* 对数据表 biz_qualify_condition_item 操作的 service
* @author Auto create
*
*/
public interface IBizQualifyConditionItemService extends IService<BizQualifyConditionItem>{
}

View File

@ -0,0 +1,17 @@
package com.chinaunicom.mall.ebtp.project.bidqualifyconditionitem.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.chinaunicom.mall.ebtp.project.bidqualifyconditionitem.dao.BizQualifyConditionItemMapper;
import com.chinaunicom.mall.ebtp.project.bidqualifyconditionitem.entity.BizQualifyConditionItem;
import com.chinaunicom.mall.ebtp.project.bidqualifyconditionitem.service.IBizQualifyConditionItemService;
import org.springframework.stereotype.Service;
/**
* 对数据表 biz_qualify_condition_item 操作的 serviceImpl
* @auto.generated
*
*/
@Service
public class BizQualifyConditionItemServiceImpl extends ServiceImpl<BizQualifyConditionItemMapper,BizQualifyConditionItem> implements IBizQualifyConditionItemService {
}

View File

@ -4,6 +4,7 @@
package com.chinaunicom.mall.ebtp.project.projectentrust.entity.ebpentity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.chinaunicom.mall.ebtp.project.bidqualifyconditionitem.entity.BizQualifyConditionItem;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ -385,5 +386,8 @@ public class ProjBaseInfoVO{
@ApiModelProperty(value = "份额分配/(中标/中选分配原则)")
private String shareAllocation;
@ApiModelProperty("资格条件项列表")
private List<BizQualifyConditionItem> templateItemList;
}

View File

@ -17,6 +17,8 @@ import com.chinaunicom.mall.ebtp.common.constant.EbtpRoleEnum;
import com.chinaunicom.mall.ebtp.common.exception.common.CommonExceptionEnum;
import com.chinaunicom.mall.ebtp.common.util.JsonUtils;
import com.chinaunicom.mall.ebtp.common.util.PropertyUtils;
import com.chinaunicom.mall.ebtp.project.bidqualifyconditionitem.entity.BizQualifyConditionItem;
import com.chinaunicom.mall.ebtp.project.bidqualifyconditionitem.service.IBizQualifyConditionItemService;
import com.chinaunicom.mall.ebtp.project.bidratio.entity.BidRatio;
import com.chinaunicom.mall.ebtp.project.bidratio.service.IBidRatioService;
import com.chinaunicom.mall.ebtp.project.checkSpecialCharacters.CheckUtil;
@ -130,6 +132,8 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl<ProjectRecordMappe
@Resource
private IBidRatioService bidRatioService;
@Resource
private IBizQualifyConditionItemService qualifyConditionItemService;
/**
* 查询条件拼接
@ -612,6 +616,10 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl<ProjectRecordMappe
if(null != bidRatioList){
bidRatioService.saveBatch(bidRatioList);
}
List<BizQualifyConditionItem> templateItemList = (List<BizQualifyConditionItem>)resultMap.get("templateItemList");
if(null != templateItemList){
qualifyConditionItemService.saveBatch(templateItemList);
}
List<SectionMaterial> materialList = (List<SectionMaterial>)resultMap.get("materialList");
if(null != materialList){
@ -758,7 +766,7 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl<ProjectRecordMappe
List<SectionMaterial> materialList = new ArrayList<>();
List<SectionSupplier> supplierList = new ArrayList<>();
List<BidRatio> bidRatioList = new ArrayList<>();
List<BizQualifyConditionItem> templateItemList = new ArrayList<>();
//项目标段序号
int sectionOrderNumber = 1;
for(PurpBaseInfoVO purpBaseInfoVo:expand.getPurpImplementSendVO().getPurpBaseInfoVoList()){
@ -821,13 +829,22 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl<ProjectRecordMappe
section.setMaterialList(assembleMaterial(record.getId(),section.getId(),purpBaseInfoVo.getPurpMaterialVOList()));
materialList.addAll(section.getMaterialList());
if(projBaseInfoVO.getTemplateItemList()!=null){
//资格条件模板-资格条件项(页面手动新增或来自资格条件库引用)-结构化公告用
projBaseInfoVO.getTemplateItemList().forEach(v->{
v.setProjectId(section.getProjectId());
v.setSectionId(section.getId());
v.setId(PropertyUtils.getSnowflakeId());
});
templateItemList.addAll(projBaseInfoVO.getTemplateItemList());
}
//供应商
supplierList.addAll(assembleSupplier(record.getId(),section.getId(),projBaseInfoVO.getProjSuppRelVOList()));
sectionList.add(section);
}
return getStringObjectMap(record, sectionList, materialList, supplierList,bidRatioList);
return getStringObjectMap(record, sectionList, materialList, supplierList,bidRatioList,templateItemList);
}
/**
@ -916,7 +933,6 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl<ProjectRecordMappe
return resultList;
}
/**
* 物理删除信息
* @param id 项目建档ID
@ -1084,7 +1100,7 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl<ProjectRecordMappe
List<SectionMaterial> materialList = new ArrayList<>(assembleInquiryMaterial(record.getId(), section.getId(), inquiryVO.getInquiryGoodsList()));
sectionList.add(section);
return getStringObjectMap(record, sectionList, materialList, supplierList,null);
return getStringObjectMap(record, sectionList, materialList, supplierList,null,null);
}
/**
@ -1095,13 +1111,14 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl<ProjectRecordMappe
* @param supplierList 供应商集合
* @return 返回结果
*/
private Map<String, Object> getStringObjectMap(ProjectRecord record, List<ProjectSection> sectionList, List<SectionMaterial> materialList, List<SectionSupplier> supplierList,List<BidRatio> bidRatioList) {
private Map<String, Object> getStringObjectMap(ProjectRecord record, List<ProjectSection> sectionList, List<SectionMaterial> materialList, List<SectionSupplier> supplierList,List<BidRatio> bidRatioList,List<BizQualifyConditionItem> templateItemList) {
Map<String, Object> resultMap = new HashMap<>();
resultMap.put("projectRecord", record);
resultMap.put("sectionList", sectionList);
resultMap.put("materialList", materialList);
resultMap.put("supplierList", supplierList);
resultMap.put("bidRatioList", bidRatioList);
resultMap.put("templateItemList", templateItemList);
//zhqbin 校验非法字符,长度
checkUtil.checkInquiryVO(resultMap);
return resultMap;