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