diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/bidratio/controller/BidRatioController.java b/src/main/java/com/chinaunicom/mall/ebtp/project/bidratio/controller/BidRatioController.java new file mode 100644 index 0000000..89bdf2c --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/bidratio/controller/BidRatioController.java @@ -0,0 +1,76 @@ +package com.chinaunicom.mall.ebtp.project.bidratio.controller; + + +import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.chinaunicom.mall.ebtp.project.bidratio.entity.BidRatio; +import com.chinaunicom.mall.ebtp.project.bidratio.service.IBidRatioService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; + +import javax.annotation.Resource; +import javax.validation.Valid; + +@RestController +@Api(tags = "中标/中选分配比例") +@RequestMapping("/v1/expert/bidratio") +public class BidRatioController{ + + @Resource + private IBidRatioService ibidRatioService; + + /** + * 插入新数据 + * + * @param bidRatio + * + * @return + */ + @ApiOperation("插入新数据") + @PostMapping("/insert") + public BaseResponse insert(@ApiParam(value = "对象数据", required = true) @RequestBody @Valid BidRatio bidRatio){ + + boolean save = ibidRatioService.save(bidRatio); + + return BaseResponse.success(save); + } + + /** + * 修改数据 + * + * @param bidRatio + * + * @return + */ + @ApiOperation("修改数据") + @PostMapping("/update") + public BaseResponse update(@ApiParam(value = "对象数据", required = true) @RequestBody BidRatio bidRatio){ + + Boolean i = ibidRatioService.updateById(bidRatio); + + return BaseResponse.success(i); + } + + /** + * 查询数据 + * + * @param id + * + * @return + */ + @ApiOperation("查询数据") + @GetMapping("/{id}") + public BaseResponse get(@ApiParam(value = "主键id", required = true) @PathVariable String id){ + + BidRatio bidRatio = ibidRatioService.getById(id); + + return BaseResponse.success(bidRatio); + } + + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/bidratio/dao/BidRatioMapper.java b/src/main/java/com/chinaunicom/mall/ebtp/project/bidratio/dao/BidRatioMapper.java new file mode 100644 index 0000000..8e37161 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/bidratio/dao/BidRatioMapper.java @@ -0,0 +1,15 @@ +package com.chinaunicom.mall.ebtp.project.bidratio.dao; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; +import com.chinaunicom.mall.ebtp.project.bidratio.entity.BidRatio; + +/** +* @auto.generated +*/ +@Repository +public interface BidRatioMapper extends BaseMapper { + + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/bidratio/dao/mapper/BidRatioMapper.xml b/src/main/java/com/chinaunicom/mall/ebtp/project/bidratio/dao/mapper/BidRatioMapper.xml new file mode 100644 index 0000000..e36d518 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/bidratio/dao/mapper/BidRatioMapper.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + a.id id, + a.intended_bid_rank intendedBidRank, + a.intended_bid_ratio intendedBidRatio, + a.project_id projectId, + a.section_id sectionId, + a.create_by createBy, + a.create_date createDate, + a.update_by updateBy, + a.update_date updateDate, + + + + update biz_project_bid_ratio + set + delete_flag="deleted" + where ID=#{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/bidratio/entity/BidRatio.java b/src/main/java/com/chinaunicom/mall/ebtp/project/bidratio/entity/BidRatio.java new file mode 100644 index 0000000..efd8cab --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/bidratio/entity/BidRatio.java @@ -0,0 +1,92 @@ +package com.chinaunicom.mall.ebtp.project.bidratio.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +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 com.chinaunicom.mall.ebtp.common.config.CustomLocalDateTimeTypeHandler; + +/** + * 实体类 BidRatio + * + * @auto.generated + */ +@Data +@Accessors(chain = true) +@ApiModel +@EqualsAndHashCode(callSuper = false) +@TableName(value = "biz_project_bid_ratio", autoResultMap = true) +public class BidRatio implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * + */ + @ApiModelProperty(value = "") + private String id; + + /** + * 拟中标候选人排名 + */ + @ApiModelProperty(value = "拟中标候选人排名") + private Integer intendedBidRank; + + /** + * 拟分配比例 + */ + @ApiModelProperty(value = "拟分配比例") + private BigDecimal intendedBidRatio; + + /** + * 项目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; + + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/bidratio/service/IBidRatioService.java b/src/main/java/com/chinaunicom/mall/ebtp/project/bidratio/service/IBidRatioService.java new file mode 100644 index 0000000..cc19d1b --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/bidratio/service/IBidRatioService.java @@ -0,0 +1,16 @@ +package com.chinaunicom.mall.ebtp.project.bidratio.service; + + +import com.baomidou.mybatisplus.extension.service.IService; +import com.chinaunicom.mall.ebtp.project.bidratio.entity.BidRatio; + +/** + * 对数据表 biz_project_bid_ratio 操作的 service + * @author Auto create + * + */ +public interface IBidRatioService extends IService{ + + + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/bidratio/service/impl/BidRatioServiceImpl.java b/src/main/java/com/chinaunicom/mall/ebtp/project/bidratio/service/impl/BidRatioServiceImpl.java new file mode 100644 index 0000000..27e07dd --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/bidratio/service/impl/BidRatioServiceImpl.java @@ -0,0 +1,17 @@ +package com.chinaunicom.mall.ebtp.project.bidratio.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.chinaunicom.mall.ebtp.project.bidratio.dao.BidRatioMapper; +import com.chinaunicom.mall.ebtp.project.bidratio.entity.BidRatio; +import com.chinaunicom.mall.ebtp.project.bidratio.service.IBidRatioService; +import org.springframework.stereotype.Service; +/** + * 对数据表 biz_project_bid_ratio 操作的 serviceImpl + * @auto.generated + * + */ +@Service +public class BidRatioServiceImpl extends ServiceImpl implements IBidRatioService { + + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/ebpentity/ProjBidRatioInfoVO.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/ebpentity/ProjBidRatioInfoVO.java new file mode 100644 index 0000000..4c068c8 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/ebpentity/ProjBidRatioInfoVO.java @@ -0,0 +1,40 @@ +package com.chinaunicom.mall.ebtp.project.projectentrust.entity.ebpentity; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class ProjBidRatioInfoVO{ + + @ApiModelProperty("主键") + private Long id; + + @ApiModelProperty("方案id") + private Long projId; + + @ApiModelProperty("拟中标候选人排名") + private Integer intendedBidRank; + + @ApiModelProperty("拟分配比例") + private BigDecimal intendedBidRatio; + + @ApiModelProperty("租户名称") + private String tenantName; + + @ApiModelProperty("备用字段1") + private String attribute1; + + @ApiModelProperty("备用字段2") + private String attribute2; + + @ApiModelProperty("备用字段3") + private String attribute3; + + @ApiModelProperty("备用字段4") + private String attribute4; + + @ApiModelProperty("备用字段5") + private String attribute5; +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/ebpentity/PurpBaseInfoVO.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/ebpentity/PurpBaseInfoVO.java index cf8fa48..974f125 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/ebpentity/PurpBaseInfoVO.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/ebpentity/PurpBaseInfoVO.java @@ -11,6 +11,7 @@ import lombok.Data; import lombok.experimental.Accessors; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -167,6 +168,30 @@ public class PurpBaseInfoVO { @ApiModelProperty(value = "附件列表") private List baseFileVOList; + @ApiModelProperty(value = "最高限价") + private BigDecimal priceCeiling; + + @ApiModelProperty(value = "最高限价说明") + private String priceCeilingExplain; + + @ApiModelProperty(value = "是否启用结构化报价 0否;1是") + private String isStructureQuote; + + @ApiModelProperty(value = "结构化报价模型 001普通报价模型") + private String structureQuoteModel; + + @ApiModelProperty(value = "结构化报价限价类型 001总价限制;002单价+总价限制") + private String structureQuoteLimitType; + + @ApiModelProperty(value = "中标/中选人数量是否明确 0否;1是") + private String bidNumberIsDefinite; + + @ApiModelProperty(value = "中标/中选分配比例") + private List projBidRatioInfoVoList = new ArrayList<>(); + + @ApiModelProperty(value = "中标/中选人数量") + private Integer bidDefiniteNumber; + @ApiModelProperty(value = "采购内容") private List purpMaterialVOList; diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/ebpentity/PurpMaterialVO.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/ebpentity/PurpMaterialVO.java index 5cbb316..fd7eb50 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/ebpentity/PurpMaterialVO.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/ebpentity/PurpMaterialVO.java @@ -153,6 +153,9 @@ public class PurpMaterialVO { @ApiModelProperty(value = "资产价值") private BigDecimal assetVal; + @ApiModelProperty(value = "单项不含税最高限价") + private BigDecimal singlePriceCeiling; + @ApiModelProperty(value = "采购方式") private String purcMode; diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/service/impl/ProjectRecordServiceImpl.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/service/impl/ProjectRecordServiceImpl.java index 3a42cad..2d69dae 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/service/impl/ProjectRecordServiceImpl.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/service/impl/ProjectRecordServiceImpl.java @@ -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.bidratio.entity.BidRatio; +import com.chinaunicom.mall.ebtp.project.bidratio.service.IBidRatioService; import com.chinaunicom.mall.ebtp.project.checkSpecialCharacters.CheckUtil; import com.chinaunicom.mall.ebtp.project.common.EbpProjectCommonUtil; import com.chinaunicom.mall.ebtp.project.common.InquiryCommonUtil; @@ -127,6 +129,9 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl result = ebtpMallProcessApi.initialize(id,sectionMaps,isReviewMethod); ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_SECTION_INIT_ERROR.customValid(!result.isSuccess()); log.info("初始化流程返回 projectID:"+id + " 返回结果:"+JsonUtils.objectToJson(result)); + if(result.isSuccess()&&!isReviewMethod){ + //只有有评审室并且是后审才能初始化应答格式 + + } } @Override @@ -600,6 +609,11 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl sectionList = (List)resultMap.get("sectionList"); projectSectionService.saveBatch(sectionList); + List bidRatioList = (List)resultMap.get("bidRatioList"); + if(null != bidRatioList){ + bidRatioService.saveBatch(bidRatioList); + } + List materialList = (List)resultMap.get("materialList"); if(null != materialList){ sectionMaterialService.saveBatch(materialList); @@ -744,6 +758,7 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl sectionList = new ArrayList<>(); List materialList = new ArrayList<>(); List supplierList = new ArrayList<>(); + List bidRatioList = new ArrayList<>(); //项目标段序号 int sectionOrderNumber = 1; @@ -784,9 +799,26 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl assembleBidRatio(String projectId,String sectionId,List projBidRatioInfoVOList){ + List resultList = new ArrayList<>(); + + if(null != projBidRatioInfoVOList){ + for(ProjBidRatioInfoVO bidRatioInfoVO:projBidRatioInfoVOList){ + BidRatio bidRatio = new BidRatio(); + bidRatio.setId(PropertyUtils.getSnowflakeId()); + bidRatio.setProjectId(projectId); + bidRatio.setSectionId(sectionId); + bidRatio.setIntendedBidRank(bidRatioInfoVO.getIntendedBidRank()); + bidRatio.setIntendedBidRatio(bidRatioInfoVO.getIntendedBidRatio()); + + resultList.add(bidRatio); + } + } + + return resultList; + } + /** * 物理删除信息 @@ -1023,7 +1083,7 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl materialList = new ArrayList<>(assembleInquiryMaterial(record.getId(), section.getId(), inquiryVO.getInquiryGoodsList())); sectionList.add(section); - return getStringObjectMap(record, sectionList, materialList, supplierList); + return getStringObjectMap(record, sectionList, materialList, supplierList,null); } /** @@ -1034,12 +1094,13 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl getStringObjectMap(ProjectRecord record, List sectionList, List materialList, List supplierList) { + private Map getStringObjectMap(ProjectRecord record, List sectionList, List materialList, List supplierList,List bidRatioList) { Map resultMap = new HashMap<>(); resultMap.put("projectRecord", record); resultMap.put("sectionList", sectionList); resultMap.put("materialList", materialList); resultMap.put("supplierList", supplierList); + resultMap.put("bidRatioList", bidRatioList); //zhqbin 校验非法字符,长度 checkUtil.checkInquiryVO(resultMap); return resultMap; diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectsection/entity/ProjectSection.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectsection/entity/ProjectSection.java index b9d1e17..1e09371 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectsection/entity/ProjectSection.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectsection/entity/ProjectSection.java @@ -4,6 +4,8 @@ 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.chinaunicom.mall.ebtp.project.bidratio.entity.BidRatio; +import com.chinaunicom.mall.ebtp.project.sectionmaterial.entity.SectionMaterial; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; @@ -17,6 +19,8 @@ import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; /** * 项目标段信息实体类 BizProjectSection @@ -240,4 +244,31 @@ public class ProjectSection extends BaseEntity implements Serializable { @ApiModelProperty(value = "是否唱标 0 否 1 是") private Integer isAnnouncement; + + @ApiModelProperty(value = "最高限价") + private BigDecimal priceCeiling; + + @ApiModelProperty(value = "最高限价说明") + private String priceCeilingExplain; + + @ApiModelProperty(value = "是否启用结构化报价 0否;1是") + private String isStructureQuote; + + @ApiModelProperty(value = "结构化报价模型 001普通报价模型") + private String structureQuoteModel; + + @ApiModelProperty(value = "结构化报价限价类型 001总价限制;002单价+总价限制") + private String structureQuoteLimitType; + + @ApiModelProperty(value = "中标/中选人数量是否明确 0否;1是") + private String bidNumberIsDefinite; + + @ApiModelProperty(value = "中标/中选分配比例") + private List projBidRatioInfoVoList = new ArrayList<>(); + + @ApiModelProperty(value = "中标/中选人数量") + private Integer bidDefiniteNumber; + + @ApiModelProperty(value = "物料信息") + private List materialList = new ArrayList<>(); } diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/sectionmaterial/controller/SectionMaterialController.java b/src/main/java/com/chinaunicom/mall/ebtp/project/sectionmaterial/controller/SectionMaterialController.java index 5445095..68acde3 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/sectionmaterial/controller/SectionMaterialController.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/sectionmaterial/controller/SectionMaterialController.java @@ -1,6 +1,8 @@ package com.chinaunicom.mall.ebtp.project.sectionmaterial.controller; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; import com.chinaunicom.mall.ebtp.project.sectionmaterial.entity.SectionMaterial; import com.chinaunicom.mall.ebtp.project.sectionmaterial.entity.SectionMaterialVO; @@ -13,6 +15,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.validation.Valid; +import java.util.List; /** * 项目物资信息controller @@ -80,5 +83,11 @@ public class SectionMaterialController{ return BaseResponse.success(sectionMaterial); } - + @ApiOperation("根据标段查询物资信息") + @PostMapping("/getSectionMaterialBySectionIds") + public BaseResponse> getSectionMaterialBySectionIds(@ApiParam(value = "对象数据", required = true) @RequestBody List sectionIds){ + LambdaQueryWrapper query= Wrappers.lambdaQuery(); + query.in(SectionMaterial::getSectionId,sectionIds); + return BaseResponse.success(sectionMaterialService.list(query)); + } } diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/sectionmaterial/entity/SectionMaterial.java b/src/main/java/com/chinaunicom/mall/ebtp/project/sectionmaterial/entity/SectionMaterial.java index 8ab8a87..0322d57 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/sectionmaterial/entity/SectionMaterial.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/sectionmaterial/entity/SectionMaterial.java @@ -78,9 +78,9 @@ public class SectionMaterial extends BaseEntity implements Serializable { private String materialTypeName; /** - * 物资品牌 + * 物资品牌/规格型号 */ - @ApiModelProperty(value = "物资品牌(品牌名称)") + @ApiModelProperty(value = "物资品牌(品牌名称)/规格型号") private String materialBrand; /** @@ -121,4 +121,17 @@ public class SectionMaterial extends BaseEntity implements Serializable { @ApiModelProperty(value = "商品分类") private String categoryCode; + + /** + * 物资编码 + */ + @ApiModelProperty(value = "物资编码") + private String materialCode; + + /** + * 单项不含税最高限价 + */ + @ApiModelProperty(value = "单项不含税最高限价") + private BigDecimal maxPriceCeiling; + }