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;
+ }
+
}