diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/feign/MallPurpApi.java b/src/main/java/com/chinaunicom/mall/ebtp/project/feign/MallPurpApi.java index 00406fc..dede923 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/feign/MallPurpApi.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/feign/MallPurpApi.java @@ -26,6 +26,7 @@ public interface MallPurpApi { * @return 返回结果 */ @PostMapping("/api/mall-purp/v1/purpImplement/projInvitationFail") + @OperationLogDetail(businessModule = EbtpLogBusinessModule.OTHER,operationType = EbtpLogType.UPDATE,detail = "方案招标失败接口") BaseResponse projInvitationFail(@RequestBody ProjInvitationFailRequest failRequest); @@ -35,7 +36,7 @@ public interface MallPurpApi { * @return 返回结果 */ @PostMapping("/api/mall-purp/v1/purpBaseInfo/findDataByPurpImplmentId") - @OperationLogDetail(businessModule = EbtpLogBusinessModule.PROJECT_ENTRUST_INIT,operationType = EbtpLogType.INSERT,detail = "委托项目信息出始化-委托信息") + @OperationLogDetail(businessModule = EbtpLogBusinessModule.PROJECT_ENTRUST_INIT,operationType = EbtpLogType.SELECT,detail = "委托项目信息出始化-委托信息") BaseResponse findDataByPurpImplmentId(@RequestParam("purpImplmentId") Long purpImplmentId); diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/modelmaterial/controller/QuoteModelMaterialController.java b/src/main/java/com/chinaunicom/mall/ebtp/project/modelmaterial/controller/QuoteModelMaterialController.java new file mode 100644 index 0000000..09d34f7 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/modelmaterial/controller/QuoteModelMaterialController.java @@ -0,0 +1,48 @@ +package com.chinaunicom.mall.ebtp.project.modelmaterial.controller; + + +import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; +import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ebpentity.ProjStructureQuoteModelVO; +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.modelmaterial.entity.QuoteModelMaterial; +import com.chinaunicom.mall.ebtp.project.modelmaterial.service.IQuoteModelMaterialService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; + +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; + +@RestController +@Api(tags = "") +@RequestMapping("/v1/quotemodelmaterial") +public class QuoteModelMaterialController{ + + @Resource + private IQuoteModelMaterialService iquoteModelMaterialService; + + /** + * 查询数据 + * + * @param id 目前主键同包id + * + * @return + */ + @ApiOperation("查询数据") + @PostMapping("/findQuoteModelMaterial/{id}") + public BaseResponse> findQuoteModelMaterial(@PathVariable String id){ + + QuoteModelMaterial quoteModelMaterial = iquoteModelMaterialService.getById(id); + if(quoteModelMaterial!=null){ + return BaseResponse.success(quoteModelMaterial.getModelMaterial()); + } + return BaseResponse.success(null); + } + + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/modelmaterial/dao/QuoteModelMaterialMapper.java b/src/main/java/com/chinaunicom/mall/ebtp/project/modelmaterial/dao/QuoteModelMaterialMapper.java new file mode 100644 index 0000000..3db1c1c --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/modelmaterial/dao/QuoteModelMaterialMapper.java @@ -0,0 +1,15 @@ +package com.chinaunicom.mall.ebtp.project.modelmaterial.dao; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; +import com.chinaunicom.mall.ebtp.project.modelmaterial.entity.QuoteModelMaterial; + +/** +* @auto.generated +*/ +@Repository +public interface QuoteModelMaterialMapper extends BaseMapper { + + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/modelmaterial/dao/mapper/QuoteModelMaterialMapper.xml b/src/main/java/com/chinaunicom/mall/ebtp/project/modelmaterial/dao/mapper/QuoteModelMaterialMapper.xml new file mode 100644 index 0000000..f813cdd --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/modelmaterial/dao/mapper/QuoteModelMaterialMapper.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + a.id id, + a.project_id projectId, + a.section_id sectionId, + a.model_material modelMaterial, + a.project_plan_id projectPlanId, + a.create_by createBy, + a.create_date createDate, + a.update_by updateBy, + a.update_date updateDate, + + + + update biz_proj_quote_model_material + 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/modelmaterial/entity/QuoteModelMaterial.java b/src/main/java/com/chinaunicom/mall/ebtp/project/modelmaterial/entity/QuoteModelMaterial.java new file mode 100644 index 0000000..dc503a2 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/modelmaterial/entity/QuoteModelMaterial.java @@ -0,0 +1,64 @@ +package com.chinaunicom.mall.ebtp.project.modelmaterial.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.chinaunicom.mall.ebtp.common.config.CustomJacksonTypeHandler; +import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ebpentity.ProjStructureQuoteModelVO; +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.util.List; + +import com.chinaunicom.mall.ebtp.common.config.CustomLocalDateTimeTypeHandler; + +/** + * 实体类 QuoteModelMaterial + * + * @auto.generated + */ +@Data +@Accessors(chain = true) +@ApiModel +@EqualsAndHashCode(callSuper = false) +@TableName(value = "biz_proj_quote_model_material", autoResultMap = true) +public class QuoteModelMaterial implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ApiModelProperty(value = "主键") + private String id; + + /** + * 项目ID + */ + @ApiModelProperty(value = "项目ID") + private String projectId; + + /** + * 分包标段id + */ + @ApiModelProperty(value = "分包标段id") + private String sectionId; + + /** + * 模型及模型物资 + */ + @ApiModelProperty("方案报价模型关联关系") + @TableField(typeHandler = CustomJacksonTypeHandler.class) + private List modelMaterial; + + /** + * 方案ID(采购平台推送数据) + */ + @ApiModelProperty(value = "方案ID(采购平台推送数据)") + private String projectPlanId; + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/modelmaterial/service/IQuoteModelMaterialService.java b/src/main/java/com/chinaunicom/mall/ebtp/project/modelmaterial/service/IQuoteModelMaterialService.java new file mode 100644 index 0000000..727b132 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/modelmaterial/service/IQuoteModelMaterialService.java @@ -0,0 +1,16 @@ +package com.chinaunicom.mall.ebtp.project.modelmaterial.service; + + +import com.baomidou.mybatisplus.extension.service.IService; +import com.chinaunicom.mall.ebtp.project.modelmaterial.entity.QuoteModelMaterial; + +/** + * 对数据表 biz_proj_quote_model_material 操作的 service + * @author Auto create + * + */ +public interface IQuoteModelMaterialService extends IService{ + + + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/modelmaterial/service/impl/QuoteModelMaterialServiceImpl.java b/src/main/java/com/chinaunicom/mall/ebtp/project/modelmaterial/service/impl/QuoteModelMaterialServiceImpl.java new file mode 100644 index 0000000..e1c5a5d --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/modelmaterial/service/impl/QuoteModelMaterialServiceImpl.java @@ -0,0 +1,17 @@ +package com.chinaunicom.mall.ebtp.project.modelmaterial.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.chinaunicom.mall.ebtp.project.modelmaterial.dao.QuoteModelMaterialMapper; +import com.chinaunicom.mall.ebtp.project.modelmaterial.entity.QuoteModelMaterial; +import com.chinaunicom.mall.ebtp.project.modelmaterial.service.IQuoteModelMaterialService; +import org.springframework.stereotype.Service; +/** + * 对数据表 biz_proj_quote_model_material 操作的 serviceImpl + * @auto.generated + * + */ +@Service +public class QuoteModelMaterialServiceImpl extends ServiceImpl implements IQuoteModelMaterialService { + + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/ebpentity/ProjBaseInfoVO.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/ebpentity/ProjBaseInfoVO.java index f07a8da..7542330 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/ebpentity/ProjBaseInfoVO.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/ebpentity/ProjBaseInfoVO.java @@ -368,10 +368,10 @@ public class ProjBaseInfoVO{ @ApiModelProperty(value = "是否启用结构化报价 0否;1是") private String isStructureQuote; - @ApiModelProperty(value = "结构化报价模型 001普通报价模型") + @ApiModelProperty(value = "结构化报价模型 001普通报价模型;002联动报价模型;003定额折扣报价模型;004非定额折扣报价模型 ") private String structureQuoteModel; - @ApiModelProperty(value = "结构化报价限价类型 001总价限制;002单价+总价限制") + @ApiModelProperty(value = "结构化报价限价类型 001总价限制;002单价+总价限制;003总价+基准单价限制") private String structureQuoteLimitType; @ApiModelProperty(value = "中标/中选人数量是否明确 0否;1是") @@ -389,9 +389,15 @@ public class ProjBaseInfoVO{ @ApiModelProperty("资格条件项列表") private List templateItemList; + @ApiModelProperty("方案报价模型关联关系") + private List quoteModelVOList; + @ApiModelProperty(value = "中标/中选数量-from") private String winFrom; @ApiModelProperty(value = "中标/中选数量-to") private String winTo; + + @ApiModelProperty(value = "基准价单价限制") + private BigDecimal basePriceUnitLimit; } diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/ebpentity/ProjQuoteModelMaterialRelVO.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/ebpentity/ProjQuoteModelMaterialRelVO.java new file mode 100644 index 0000000..3ddb2a0 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/ebpentity/ProjQuoteModelMaterialRelVO.java @@ -0,0 +1,107 @@ +package com.chinaunicom.mall.ebtp.project.projectentrust.entity.ebpentity; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; + +/** + * @description: caiqq + * @author: caiqq + * @create: 2024-05-10 10:45 + **/ +@Getter +@Setter +@Accessors(chain = true) +@ApiModel(value = "ProjQuoteModelMaterialRelVO对象", description = "报价模型物料关联表") +public class ProjQuoteModelMaterialRelVO { + @ApiModelProperty("id") + private String id; + + @ApiModelProperty("方案id") + private String projId; + + @ApiModelProperty("报价模型id") + private String quoteModelId; + + @ApiModelProperty("建项物料行id") + private String purpMaterialId; + + @ApiModelProperty(value = "需求单id") + private String requId; + + @ApiModelProperty(value = "需求单物料行id") + private String materialId; + + @ApiModelProperty(value = "建项物料是否已删除0否;1是") + private String purpMaterialIsDeleted; + + @ApiModelProperty(value = "统一目录名称") + private String unifDirecName; + + @ApiModelProperty(value = "统一目录编码") + private String unifDirecCode; + + @ApiModelProperty(value = "物料编码") + private String materialCode; + + @ApiModelProperty(value = "物资说明") + private String materialDesc; + + @ApiModelProperty(value = "规格型号") + private String specModel; + + @ApiModelProperty(value = "需求数量") + private BigDecimal inRequNum; + + @ApiModelProperty(value = "计量单位") + private String unit; + + @ApiModelProperty(value = "单项不含税最高限价") + private BigDecimal singlePriceCeiling; + + @ApiModelProperty(value = "基准价单价限制") + private BigDecimal basePriceUnitLimit; + + @ApiModelProperty(value = "单位联动系数类型001固定联动002区间联动") + private String linkageCoefficientType; + + @ApiModelProperty(value = "单位联动系数") + private String linkageCoefficient; + + @ApiModelProperty(value = "折扣系数最高限制") + private BigDecimal maxDiscountFactorLimit; + + @ApiModelProperty(value = "是否基准价项1是0否") + private String basePriceItemFlag; + + @ApiModelProperty(value = "税率") + private BigDecimal taxRate; + + @ApiModelProperty(value = "权重") + private BigDecimal featureWeight; + + @ApiModelProperty("切割状态 0:切割数据 1:新数据") + private Integer cutoverStatus; + + @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/ProjStructureQuoteModelVO.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/ebpentity/ProjStructureQuoteModelVO.java new file mode 100644 index 0000000..501e58a --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/ebpentity/ProjStructureQuoteModelVO.java @@ -0,0 +1,68 @@ +package com.chinaunicom.mall.ebtp.project.projectentrust.entity.ebpentity; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; + +import java.util.List; + +/** + * @description: caiqq + * @author: caiqq + * @create: 2024-05-10 10:42 + **/ +@Getter +@Setter +@Accessors(chain = true) +@ApiModel(value = "ProjStructureQuoteModelVO", description = "方案报价模型关联表") +public class ProjStructureQuoteModelVO { + @ApiModelProperty("id") + private String id; + + @ApiModelProperty("方案id") + private String projId; + + @ApiModelProperty("报价模型 001普通报价模型;002联动报价模型;003定额折扣报价模型;004非定额折扣报价模型") + private String structureQuoteModel; + + @ApiModelProperty("模型名称") + private String structureQuoteModelName; + + @ApiModelProperty("税率是否可偏离项:1是;0否") + private String taxDeviationFlag; + + @ApiModelProperty("规格型号是否可偏离项:1是;0否") + private String specModelFlexibilityFlag; + + @ApiModelProperty("报价小数位数限制") + private Integer decimalScaleLimit; + + @ApiModelProperty("备注") + private String remark; + + @ApiModelProperty("切割状态 0:切割数据 1:新数据") + private Integer cutoverStatus; + + @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; + + @ApiModelProperty("报价模型物料关联关系") + private List modelMaterialRelVOList; +} 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 fd7eb50..03a5e8e 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 @@ -5,6 +5,9 @@ package com.chinaunicom.mall.ebtp.project.projectentrust.entity.ebpentity; import com.baomidou.mybatisplus.annotation.TableId; import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +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; @@ -20,13 +23,13 @@ import java.time.LocalDateTime; *

* * @author liuyx - * @version V1.0 * @date 2020-10-06 + * @version V1.0 */ @Data @Accessors(chain = true) -@ApiModel(value = "PurpMaterial对象", description = "项目物料表") -public class PurpMaterialVO { +@ApiModel(value="PurpMaterial对象", description="项目物料表") +public class PurpMaterialVO { @ApiModelProperty(value = "采购处置内容主键") @@ -51,16 +54,19 @@ public class PurpMaterialVO { @ApiModelProperty(value = "需求单名称") private String requName; + @ApiModelProperty(value = "需求单是否启用结构化报价 0否;1是") + private String isStructureQuote; + @ApiModelProperty(value = "需求部门编号") private String deptCode; @ApiModelProperty(value = "需求部门名称") private String deptName; - @ApiModelProperty(value = "pms项目编号") + @ApiModelProperty(value = "PMS项目编号") private String pmsProjNo; - @ApiModelProperty(value = "pms项目名称") + @ApiModelProperty(value = "PMS项目名称") private String pmsProjName; @ApiModelProperty(value = "批复文号") @@ -72,13 +78,13 @@ public class PurpMaterialVO { @ApiModelProperty(value = "库存地址") private String reservePlace; - @ApiModelProperty(value = "物料编码") + @ApiModelProperty(value = "物资编码") private String materialCode; @ApiModelProperty(value = "物料行id") private String materialId; - @ApiModelProperty(value = "物料说明") + @ApiModelProperty(value = "物资说明") private String materialDesc; @ApiModelProperty(value = "物料厂家") @@ -120,12 +126,15 @@ public class PurpMaterialVO { @ApiModelProperty(value = "需求数量") private BigDecimal requNum; - @ApiModelProperty(value = "单位") + @ApiModelProperty(value = "计量单位") private String unit; - @ApiModelProperty(value = "单价") + @ApiModelProperty(value = "不含税单价") private BigDecimal unitAmt; + @ApiModelProperty(value = "含税单价") + private BigDecimal unitPerAmt; + @ApiModelProperty(value = "采购预算(不含税)") private BigDecimal budgetAmt; @@ -156,12 +165,33 @@ public class PurpMaterialVO { @ApiModelProperty(value = "单项不含税最高限价") private BigDecimal singlePriceCeiling; + @ApiModelProperty(value = "基准价单价限制") + private BigDecimal basePriceUnitLimit; + + @ApiModelProperty(value = "单位联动系数类型001固定联动002区间联动") + private String linkageCoefficientType; + + @ApiModelProperty(value = "单位联动系数") + private String linkageCoefficient; + + @ApiModelProperty(value = "折扣系数最高限制") + private BigDecimal maxDiscountFactorLimit; + + @ApiModelProperty(value = "是否基准价项1是0否") + private String basePriceItemFlag; + + @ApiModelProperty(value = "税率") + private BigDecimal taxRate; + + @ApiModelProperty(value = "权重") + private BigDecimal featureWeight; + @ApiModelProperty(value = "采购方式") private String purcMode; @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") private LocalDateTime lastUpdateTime; @ApiModelProperty(value = "备用字段1") @@ -201,16 +231,16 @@ public class PurpMaterialVO { @ApiModelProperty(value = "剩余数量") private BigDecimal unDealNum; - @ApiModelProperty(value = "剩余金额") + @ApiModelProperty(value = "剩余预算金额(不含税)元") private BigDecimal unBudgetAmt; - @ApiModelProperty(value = "引用金额") + @ApiModelProperty(value = "引用预算金额(不含税)元") private BigDecimal inBudgetAmt; @ApiModelProperty(value = "剩余预计预算金额(含税)元") private BigDecimal supplyBudgetAmt; - @ApiModelProperty(value = "引用预计预算金额(含税)元") + @ApiModelProperty(value = "引用预算金额(含税)元") private BigDecimal inBudgetAmtTax; @ApiModelProperty(value = "库存名称") @@ -234,12 +264,27 @@ public class PurpMaterialVO { @ApiModelProperty(value = "冻结数量") private BigDecimal frozenNum; + @ApiModelProperty(value = "库存产品id") + private String stockProductsId; + @ApiModelProperty(value = "处置价格") private BigDecimal decimalPrice; + @ApiModelProperty(value = "处置单价") + private BigDecimal decimalUnitPrice; + @ApiModelProperty(value = "供应商编号") private String supplierNo; @ApiModelProperty(value = "供应商") private String supplier; + + @ApiModelProperty(value = "闲置物资可使用数量") + private BigDecimal labelAvailabelNum; + + @ApiModelProperty(value = "是否省份 0:不是,1:是") + private String isProvince; + + @ApiModelProperty(value = "被选中的子需求") + private String rowId; } diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectexception/service/impl/ProjectExceptionServiceImpl.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectexception/service/impl/ProjectExceptionServiceImpl.java index 1c87768..20bc337 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectexception/service/impl/ProjectExceptionServiceImpl.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectexception/service/impl/ProjectExceptionServiceImpl.java @@ -32,6 +32,8 @@ import com.chinaunicom.mall.ebtp.project.feign.MallPurpApi; import com.chinaunicom.mall.ebtp.project.feign.entity.AnnoVO; import com.chinaunicom.mall.ebtp.project.feign.entity.BizAssessRoom; import com.chinaunicom.mall.ebtp.project.feign.entity.ProjInvitationFailRequest; +import com.chinaunicom.mall.ebtp.project.modelmaterial.entity.QuoteModelMaterial; +import com.chinaunicom.mall.ebtp.project.modelmaterial.service.IQuoteModelMaterialService; import com.chinaunicom.mall.ebtp.project.projectentrust.entity.inquiryentity.InquiryNoticeVO; import com.chinaunicom.mall.ebtp.project.projectexception.dao.ProjectExceptionMapper; import com.chinaunicom.mall.ebtp.project.projectexception.entity.ProjectException; @@ -114,6 +116,8 @@ public class ProjectExceptionServiceImpl extends BaseServiceImpl getPage(ProjectExceptionVO projectExceptionVO) { @@ -135,6 +139,13 @@ public class ProjectExceptionServiceImpl extends BaseServiceImpl bidRatioList = bidRatioService.list(bidRatioQueryWrapper); //转换成map形式方便处理数据 Map> bidRatioMap = bidRatioList.stream().collect(Collectors.groupingBy(BidRatio::getSectionId)); + //查询结构化报价模型 + QueryWrapper quoteModelMaterialWrapper = new QueryWrapper<>(); + quoteModelMaterialWrapper.in("section_id",sectionIds); + List quoteModelMaterialList = quoteModelMaterialService.list(quoteModelMaterialWrapper); + //转换成map形式方便处理数据 + Map> quoteModelMaterialMap = quoteModelMaterialList.stream().collect(Collectors.groupingBy(QuoteModelMaterial::getSectionId)); //最终要插入的数据结果 List sectionSupplierAddList = new ArrayList<>(); List materialAddList = new ArrayList<>(); List bidRatioAddList = new ArrayList<>(); + List quoteModelMaterialAddList = new ArrayList<>(); //是否资审预审项目 boolean isReviewMethod = projectRecordService.isReviewMethod(projectRecord); @@ -472,6 +490,16 @@ public class ProjectExceptionServiceImpl extends BaseServiceImpl modelMaterialList = quoteModelMaterialMap.get(section.getParentSectionId()); + if (null != modelMaterialList && !modelMaterialList.isEmpty()) { + for (QuoteModelMaterial modelMaterial : modelMaterialList) { + modelMaterial.setSectionId(section.getId()); + modelMaterial.setProjectId(projectRecord.getId()); + modelMaterial.setId(section.getId()); + } + quoteModelMaterialAddList.addAll(modelMaterialList); + } } projectRecord.setCreateDate(null); @@ -494,6 +522,10 @@ public class ProjectExceptionServiceImpl extends BaseServiceImpl{ @@ -905,6 +929,7 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl 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 68acde3..65ecb47 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 @@ -3,6 +3,7 @@ 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.BasePageResponse; 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; @@ -90,4 +91,15 @@ public class SectionMaterialController{ query.in(SectionMaterial::getSectionId,sectionIds); return BaseResponse.success(sectionMaterialService.list(query)); } + @ApiOperation("根据标段查询物资信息") + @PostMapping("/list") + public BaseResponse> list(@ApiParam(value = "对象数据", required = true) @RequestBody SectionMaterialVO sectionMaterial){ + return BaseResponse.success(sectionMaterialService.getList(sectionMaterial)); + } + + @ApiOperation("根据标段查询物资信息") + @PostMapping("/findPage") + public BasePageResponse findPage(@ApiParam(value = "对象数据", required = true) @RequestBody SectionMaterialVO sectionMaterial){ + return BasePageResponse.success(sectionMaterialService.findPage(sectionMaterial)); + } } 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 0322d57..bdf183a 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 @@ -134,4 +134,10 @@ public class SectionMaterial extends BaseEntity implements Serializable { @ApiModelProperty(value = "单项不含税最高限价") private BigDecimal maxPriceCeiling; + @ApiModelProperty(value = "项目中心物料id") + private String purpMaterialId; + @ApiModelProperty(value = "统一目录名称") + private String unifDirecName; + + } diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/sectionmaterial/entity/SectionMaterialVO.java b/src/main/java/com/chinaunicom/mall/ebtp/project/sectionmaterial/entity/SectionMaterialVO.java index 0f18150..47e6e8b 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/sectionmaterial/entity/SectionMaterialVO.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/sectionmaterial/entity/SectionMaterialVO.java @@ -2,10 +2,14 @@ package com.chinaunicom.mall.ebtp.project.sectionmaterial.entity; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors; +import javax.validation.constraints.Min; +import javax.validation.constraints.NotNull; import java.io.Serializable; +import java.util.List; /** * 项目物资信息VO类 SectionMaterial @@ -18,4 +22,23 @@ import java.io.Serializable; @ApiModel("项目物资信息VO类") @TableName(autoResultMap = true) public class SectionMaterialVO extends SectionMaterial implements Serializable { + private List sectionIds; + + @ApiModelProperty("当前页") + @NotNull + @Min(0) + private Integer pageNo; + + @ApiModelProperty("每页显示条数") + @NotNull + @Min(0) + private Integer pageSize; + + public Integer getPageNo() { + return null == pageNo ? 0 : pageNo; + } + + public Integer getPageSize() { + return null == pageSize ? 10 : pageSize; + } } diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/sectionmaterial/service/ISectionMaterialService.java b/src/main/java/com/chinaunicom/mall/ebtp/project/sectionmaterial/service/ISectionMaterialService.java index cca3cd3..6a125d6 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/sectionmaterial/service/ISectionMaterialService.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/sectionmaterial/service/ISectionMaterialService.java @@ -1,6 +1,7 @@ package com.chinaunicom.mall.ebtp.project.sectionmaterial.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.chinaunicom.mall.ebtp.common.base.service.IBaseService; import com.chinaunicom.mall.ebtp.project.sectionmaterial.entity.SectionMaterial; import com.chinaunicom.mall.ebtp.project.sectionmaterial.entity.SectionMaterialVO; @@ -37,4 +38,5 @@ public interface ISectionMaterialService extends IBaseService{ */ List getList(SectionMaterialVO sectionMaterialVO); + IPage findPage(SectionMaterialVO sectionMaterialVO); } diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/sectionmaterial/service/impl/SectionMaterialServiceImpl.java b/src/main/java/com/chinaunicom/mall/ebtp/project/sectionmaterial/service/impl/SectionMaterialServiceImpl.java index 24fa5b6..66441a7 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/sectionmaterial/service/impl/SectionMaterialServiceImpl.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/sectionmaterial/service/impl/SectionMaterialServiceImpl.java @@ -1,7 +1,13 @@ package com.chinaunicom.mall.ebtp.project.sectionmaterial.service.impl; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.chinaunicom.mall.ebtp.common.base.service.impl.BaseServiceImpl; import com.chinaunicom.mall.ebtp.project.sectionmaterial.dao.SectionMaterialMapper; import com.chinaunicom.mall.ebtp.project.sectionmaterial.entity.SectionMaterial; @@ -10,6 +16,7 @@ import com.chinaunicom.mall.ebtp.project.sectionmaterial.service.ISectionMateria import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; /** @@ -35,20 +42,28 @@ public class SectionMaterialServiceImpl extends BaseServiceImpl getList(SectionMaterialVO sectionMaterialVO) { - QueryWrapper query = new QueryWrapper<>(); + LambdaQueryWrapper query = Wrappers.lambdaQuery(); //查询条件拼接 - if(null != sectionMaterialVO.getSectionId()){ - query.eq("section_id",sectionMaterialVO.getSectionId()); - } - - if(null != sectionMaterialVO.getProjectId()){ - query.eq("project_id",sectionMaterialVO.getProjectId()); - } - - if(null != sectionMaterialVO.getSectionId()){ - query.eq("section_id",sectionMaterialVO.getSectionId()); + query.eq(StringUtils.isNotBlank(sectionMaterialVO.getSectionId()),SectionMaterial::getSectionId,sectionMaterialVO.getSectionId()); + query.eq(StringUtils.isNotBlank(sectionMaterialVO.getProjectId()),SectionMaterial::getProjectId,sectionMaterialVO.getProjectId()); + query.in(sectionMaterialVO.getSectionIds()!=null,SectionMaterial::getSectionId, sectionMaterialVO.getSectionIds()); + query.like(StringUtils.isNotBlank(sectionMaterialVO.getMaterialExplain()),SectionMaterial::getMaterialExplain,sectionMaterialVO.getMaterialExplain()); + query.like(StringUtils.isNotBlank(sectionMaterialVO.getMaterialCode()),SectionMaterial::getMaterialCode,sectionMaterialVO.getMaterialCode()); + if(query.isEmptyOfWhere()){ + return new ArrayList<>() ; } return sectionMaterialMapper.selectList(query); } + + @Override + public IPage findPage(SectionMaterialVO sectionMaterialVO) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + query.in(SectionMaterial::getSectionId, sectionMaterialVO.getSectionIds()); + query.like(StringUtils.isNotBlank(sectionMaterialVO.getMaterialExplain()),SectionMaterial::getMaterialExplain,sectionMaterialVO.getMaterialExplain()); + query.like(StringUtils.isNotBlank(sectionMaterialVO.getMaterialCode()),SectionMaterial::getMaterialCode,sectionMaterialVO.getMaterialCode()); + IPage convert= this.page(new Page<>(sectionMaterialVO.getPageNo(), sectionMaterialVO.getPageSize()),query); + return convert; + } + }