From 502f1475bc17068a2d874da2ff0b27526f5b2868 Mon Sep 17 00:00:00 2001
From: yss <17921@qq.com>
Date: Tue, 28 May 2024 09:07:56 +0800
Subject: [PATCH] =?UTF-8?q?=E8=81=94=E5=8A=A8=E6=8A=A5=E4=BB=B7-=E7=AC=AC?=
=?UTF-8?q?=E4=BA=8C=E7=89=88-=E5=8A=A0=E9=A1=B9=E7=9B=AE=E4=B8=AD?=
=?UTF-8?q?=E5=BF=83=E7=89=A9=E8=B5=84id?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../QuoteModelMaterialController.java | 48 ++++++++++
.../dao/QuoteModelMaterialMapper.java | 15 +++
.../dao/mapper/QuoteModelMaterialMapper.xml | 35 +++++++
.../entity/QuoteModelMaterial.java | 95 +++++++++++++++++++
.../service/IQuoteModelMaterialService.java | 16 ++++
.../impl/QuoteModelMaterialServiceImpl.java | 17 ++++
.../ProjQuoteModelMaterialRelVO.java | 6 ++
.../entity/ebpentity/PurpMaterialVO.java | 51 +++++++---
.../impl/ProjectExceptionServiceImpl.java | 27 ++++++
.../impl/ProjectRecordServiceImpl.java | 10 +-
.../projectsection/entity/ProjectSection.java | 2 +-
11 files changed, 306 insertions(+), 16 deletions(-)
create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/project/modelmaterial/controller/QuoteModelMaterialController.java
create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/project/modelmaterial/dao/QuoteModelMaterialMapper.java
create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/project/modelmaterial/dao/mapper/QuoteModelMaterialMapper.xml
create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/project/modelmaterial/entity/QuoteModelMaterial.java
create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/project/modelmaterial/service/IQuoteModelMaterialService.java
create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/project/modelmaterial/service/impl/QuoteModelMaterialServiceImpl.java
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..c0bee4b
--- /dev/null
+++ b/src/main/java/com/chinaunicom/mall/ebtp/project/modelmaterial/entity/QuoteModelMaterial.java
@@ -0,0 +1,95 @@
+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;
+
+ /**
+ * 创建者
+ */
+ @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/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/ProjQuoteModelMaterialRelVO.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/ebpentity/ProjQuoteModelMaterialRelVO.java
index 747cfaa..1caba33 100644
--- 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
@@ -39,6 +39,12 @@ public class ProjQuoteModelMaterialRelVO {
@ApiModelProperty(value = "建项物料是否已删除0否;1是")
private String purpMaterialIsDeleted;
+ @ApiModelProperty(value = "统一目录名称")
+ private String unifDirecName;
+
+ @ApiModelProperty(value = "统一目录编码")
+ private String unifDirecCode;
+
@ApiModelProperty(value = "物料编码")
private String materialCode;
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 4637a33..ec2902e 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,8 @@ 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.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 +22,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 +53,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 +77,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 = "物料厂家")
@@ -97,7 +102,7 @@ public class PurpMaterialVO {
private String inventId;
@ApiModelProperty(value = "商品SKU")
- private String goodsSKU;
+ private String goodsSku;
@ApiModelProperty(value = "库龄")
private String libraryAge;
@@ -120,12 +125,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;
@@ -182,7 +190,7 @@ public class PurpMaterialVO {
@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")
@@ -222,16 +230,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 = "库存名称")
@@ -255,12 +263,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..1195320 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) {
@@ -416,11 +420,18 @@ 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 +483,18 @@ 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.setCreateDate(null);
+ modelMaterial.setUpdateDate(null);
+ modelMaterial.setId(section.getId());
+ }
+ quoteModelMaterialAddList.addAll(modelMaterialList);
+ }
}
projectRecord.setCreateDate(null);
@@ -494,6 +517,10 @@ public class ProjectExceptionServiceImpl extends BaseServiceImpl{
@@ -916,7 +924,7 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl