From faed62f06480f61621eb2a1032e98b25bd1fcd4e Mon Sep 17 00:00:00 2001 From: ajaxfan <909938737@qq.com> Date: Mon, 1 Feb 2021 16:56:43 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deployment-gz.yaml | 6 - .../BizServiceEbtpProjectApplication.java | 12 +- .../project/common/InquiryCommonUtil.java | 26 +- .../project/common/ProjectCommonUtil.java | 57 ++- .../project/common/ProjectExceptionEnum.java | 20 + .../impl/DictChooseProcessServiceImpl.java | 4 + .../ebtp/project/feign/EbtpAuctionApi.java | 27 ++ .../ebtp/project/feign/EbtpMallBidApi.java | 5 +- .../mall/ebtp/project/feign/MallPurpApi.java | 4 +- .../mall/ebtp/project/feign/MallResuApi.java | 25 + .../mall/ebtp/project/feign/WfapApi.java | 4 +- .../ebtp/project/feign/entity/AnnoVO.java | 6 - .../fallback/MallResuClientFallback.java | 22 + .../controller/ProjectAuctionController.java | 108 ----- .../dao/ProjectAuctionMapper.java | 10 - .../dao/mapper/ProjectAuctionMapper.xml | 56 --- .../projectauction/entity/ProjectAuction.java | 223 --------- .../entity/ProjectAuctionVO.java | 40 -- .../service/IProjectAuctionService.java | 47 -- .../impl/ProjectAuctionServiceImpl.java | 289 ------------ .../ProjectAuctionMaterialController.java | 71 --- .../dao/ProjectAuctionMaterialMapper.java | 10 - .../mapper/ProjectAuctionMaterialMapper.xml | 41 -- .../entity/ProjectAuctionMaterial.java | 133 ------ .../IProjectAuctionMaterialService.java | 16 - .../ProjectAuctionMaterialServiceImpl.java | 18 - .../controller/ProjectEntrustController.java | 22 +- .../entity/ebpentity/BaseFileNoPageVO.java | 121 +++++ .../entity/ebpentity/PurpBaseInfoVO.java | 7 +- .../entity/inquiryentity/InquiryGoodsVO.java | 16 +- .../entity/inquiryentity/InquiryNoticeVO.java | 62 +++ .../InquiryResponseFormatVO.java | 7 + .../entity/inquiryentity/InquiryVO.java | 440 +++++++++++++++++- .../IProjectEntrustInquiryService.java | 7 + .../service/IProjectEntrustService.java | 1 + .../ProjectEntrustInquiryServiceImpl.java | 132 +++++- .../impl/ProjectEntrustServiceImpl.java | 51 +- .../dao/mapper/ProjectExceptionMapper.xml | 4 +- .../entity/ProjectException.java | 6 +- .../service/IProjectExceptionService.java | 8 + .../impl/ProjectExceptionServiceImpl.java | 105 +++-- .../projectrecord/entity/ProjectRecord.java | 2 +- .../projectrecord/entity/ProjectRecordVO.java | 3 + .../service/IProjectRecordService.java | 1 - .../impl/ProjectRecordServiceImpl.java | 212 ++++++++- .../impl/ProjectReEvaluationServiceImpl.java | 18 +- .../controller/ProjectSectionController.java | 28 ++ .../dao/mapper/ProjectSectionMapper.xml | 7 +- .../projectsection/entity/ProjectSection.java | 14 +- .../entity/ProjectSectionVO.java | 6 + .../service/IProjectSectionService.java | 8 +- .../impl/ProjectSectionServiceImpl.java | 43 +- .../dao/mapper/SectionMaterialMapper.xml | 1 + .../entity/SectionMaterial.java | 25 +- 54 files changed, 1409 insertions(+), 1228 deletions(-) create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/project/feign/EbtpAuctionApi.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/project/feign/MallResuApi.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/project/feign/fallback/MallResuClientFallback.java delete mode 100644 src/main/java/com/chinaunicom/mall/ebtp/project/projectauction/controller/ProjectAuctionController.java delete mode 100644 src/main/java/com/chinaunicom/mall/ebtp/project/projectauction/dao/ProjectAuctionMapper.java delete mode 100644 src/main/java/com/chinaunicom/mall/ebtp/project/projectauction/dao/mapper/ProjectAuctionMapper.xml delete mode 100644 src/main/java/com/chinaunicom/mall/ebtp/project/projectauction/entity/ProjectAuction.java delete mode 100644 src/main/java/com/chinaunicom/mall/ebtp/project/projectauction/entity/ProjectAuctionVO.java delete mode 100644 src/main/java/com/chinaunicom/mall/ebtp/project/projectauction/service/IProjectAuctionService.java delete mode 100644 src/main/java/com/chinaunicom/mall/ebtp/project/projectauction/service/impl/ProjectAuctionServiceImpl.java delete mode 100644 src/main/java/com/chinaunicom/mall/ebtp/project/projectauctionmaterial/controller/ProjectAuctionMaterialController.java delete mode 100644 src/main/java/com/chinaunicom/mall/ebtp/project/projectauctionmaterial/dao/ProjectAuctionMaterialMapper.java delete mode 100644 src/main/java/com/chinaunicom/mall/ebtp/project/projectauctionmaterial/dao/mapper/ProjectAuctionMaterialMapper.xml delete mode 100644 src/main/java/com/chinaunicom/mall/ebtp/project/projectauctionmaterial/entity/ProjectAuctionMaterial.java delete mode 100644 src/main/java/com/chinaunicom/mall/ebtp/project/projectauctionmaterial/service/IProjectAuctionMaterialService.java delete mode 100644 src/main/java/com/chinaunicom/mall/ebtp/project/projectauctionmaterial/service/impl/ProjectAuctionMaterialServiceImpl.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/ebpentity/BaseFileNoPageVO.java create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/inquiryentity/InquiryNoticeVO.java diff --git a/deployment-gz.yaml b/deployment-gz.yaml index 2d84e2a..aed21ef 100644 --- a/deployment-gz.yaml +++ b/deployment-gz.yaml @@ -41,10 +41,6 @@ spec: persistentVolumeClaim: claimName: log-pvc readOnly: false - - name: storage - persistentVolumeClaim: - claimName: file-pvc - readOnly: false # 必选,Pod中容器列表 containers: @@ -54,8 +50,6 @@ spec: volumeMounts: - name: log mountPath: /log - - name: storage - mountPath: /storage # 需要暴露的端口库号列表 ports: - containerPort: 18012 diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/BizServiceEbtpProjectApplication.java b/src/main/java/com/chinaunicom/mall/ebtp/project/BizServiceEbtpProjectApplication.java index 18d36fa..76f05ab 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/BizServiceEbtpProjectApplication.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/BizServiceEbtpProjectApplication.java @@ -1,19 +1,14 @@ package com.chinaunicom.mall.ebtp.project; +import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; -import org.springframework.boot.actuate.autoconfigure.metrics.MeterRegistryCustomizer; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; import org.springframework.cloud.openfeign.EnableFeignClients; -import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; -import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure; - -import io.micrometer.core.instrument.MeterRegistry; - @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class, DruidDataSourceAutoConfigure.class @@ -27,10 +22,5 @@ public class BizServiceEbtpProjectApplication { public static void main(String[] args) { SpringApplication.run(BizServiceEbtpProjectApplication.class, args); } - - @Bean - public MeterRegistryCustomizer configurer() { - return (registry) -> registry.config().commonTags("application", "biz-service-ebtp-project"); - } } diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/common/InquiryCommonUtil.java b/src/main/java/com/chinaunicom/mall/ebtp/project/common/InquiryCommonUtil.java index abceb61..3fb02e2 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/common/InquiryCommonUtil.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/common/InquiryCommonUtil.java @@ -56,6 +56,23 @@ public class InquiryCommonUtil { */ public static final int IS_DELEGATION_1 = 1; + /** + * 中选方式 0:综合评分法 + */ + public static final int SELECT_TYPE_0 = 0; + + /** + * 中选方式 1:最低价法 + */ + public static final int SELECT_TYPE_1 = 1; + + /** + * 是否唱标 -1 否 + */ + public static final int ANNOUNCEMENT_STATUS = -1; + + + /** * 组织形式转换 MAP */ @@ -64,7 +81,6 @@ public class InquiryCommonUtil { put(IS_DELEGATION_1,ProjectCommonUtil.ORGANIZATION_1); }}; - /** * 采购类型转换 MAP */ @@ -88,4 +104,12 @@ public class InquiryCommonUtil { put(INQUIRY_MODEL_0,ProjectCommonUtil.INQUIRY_METHOD_1); put(INQUIRY_MODEL_1,ProjectCommonUtil.INQUIRY_METHOD_2); }}; + + /** + *中选方式转换 MAP + */ + public static Map SELECT_TYPE_MAP = new HashMap(){{ + put(SELECT_TYPE_0,ProjectCommonUtil.EVAL_METHOD_2); + put(SELECT_TYPE_1,ProjectCommonUtil.EVAL_METHOD_1); + }}; } diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/common/ProjectCommonUtil.java b/src/main/java/com/chinaunicom/mall/ebtp/project/common/ProjectCommonUtil.java index 3abb89f..9ca83e5 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/common/ProjectCommonUtil.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/common/ProjectCommonUtil.java @@ -356,6 +356,11 @@ public class ProjectCommonUtil { */ public static final String EXCEPTION_DESC = "exception_desc"; + /** + * 项目失败描述 4 其它 + */ + public static final String EXCEPTION_DESC_4 = "exception_desc_4"; + /** * 项目异常字典名 */ @@ -387,10 +392,15 @@ public class ProjectCommonUtil { public static final int REVIEW_MARK_0 = 0; /** - * 项目异常处理是否发送失败公告 + * 项目异常处理是否发送失败公告 0 是 */ public static final int IS_SEND_MESSAGE_0 = 0; + /** + * 项目异常处理是否发送失败公告 1 否 + */ + public static final int IS_SEND_MESSAGE_1 = 1; + /** * internal:用户中心人员; partner:合作方人员 */ @@ -435,4 +445,49 @@ public class ProjectCommonUtil { * 询价方式 定向询价 */ public static final String INQUIRY_METHOD_2 = "inquiry_method_2"; + + /** + * 是否唱标 0 否 + */ + public static final int IS_ANNOUNCEMENT_0 = 0; + + /** + * 是否唱标 1 是 + */ + public static final int IS_ANNOUNCEMENT_1 = 1; + + /** + * 询价返回通知状态 0 发布 + */ + public static final int INQUIRY_NOTICE_STATUS_0 = 0; + + /** + * 询价返回通知状态 1 作废 + */ + public static final int INQUIRY_NOTICE_STATUS_1 = 1; + + /** + * 询价返回通知状态 2 推迟 + */ + public static final int INQUIRY_NOTICE_STATUS_2 = 2; + + /** + * 异常处理标段是否被选中 1 否 + */ + public static final int IS_EXCEPTION_CHECK_1 = 1; + + /** + * 是否允许发布,参数值如下: 0否,1是,默认为0 + */ + public static final int IS_ALLOW_PUBLISH_0 = 0; + + /** + * 是否允许发布,参数值如下: 0否,1是,默认为0 + */ + public static final int IS_ALLOW_PUBLISH_1 = 1; + + /** + * 是否使用简化流程 0 否 1 是 + */ + public static final String IS_APPROVAL_1 = "1"; } diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/common/ProjectExceptionEnum.java b/src/main/java/com/chinaunicom/mall/ebtp/project/common/ProjectExceptionEnum.java index a584314..c4ee29b 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/common/ProjectExceptionEnum.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/common/ProjectExceptionEnum.java @@ -115,6 +115,26 @@ public enum ProjectExceptionEnum implements BusinessExceptionAssert { FRAME_EXCEPTION_PROC_IMPL_DEPT_EMPTY(110048, "项目委托方案信息处置实施部门信息为空!"), FRAME_EXCEPTION_PURP_MATERIAL_VO_LIST_EMPTY(110049, "项目委托方案信息采购内容信息为空!"), + + FRAME_EXCEPTION_INQUIRY_ID_EMPTY(110050, "询价单ID不能为空"), + + FRAME_EXCEPTION_INQUIRY_NO_EMPTY(110051, "询价单编号不能为空"), + + FRAME_EXCEPTION_INQUIRY_TITLE_EMPTY(110052, "询价单名称不能为空"), + + FRAME_EXCEPTION_INQUIRY_BUY_WAY_EMPTY(110053, "询价单采购方式不能为空"), + + FRAME_EXCEPTION_INQUIRY_SELECT_TYPE_EMPTY(110054, "询价单中中选方式不能为空"), + + FRAME_EXCEPTION_INQUIRY_ANNOUNCEMENT_STATUS_EMPTY(110055, "询价单唱标状态不能为空"), + + FRAME_EXCEPTION_INQUIRY_INQUIRY_GOODS_EMPTY(110056, "询价商品列表不能为空"), + + FRAME_EXCEPTION_CHOOSE_PROCESS_NOT_FIND(110057, "询价评审流程没有进行配置,请联系管理员"), + + FRAME_EXCEPTION_PROJECT_EXCEPTION_CHECK_STATUS_ERROR(110058, "采购系统子项目信息版本已升级不可以发起重新评审"), + + FRAME_EXCEPTION_PROJECT_EXCEPTION_SECTION_BUSINESS_MODULE_ERROR(110059, "异常的标段中含有已归档标段,不可以进行异常处理!"), ; /** diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/dictchooseprocess/service/impl/DictChooseProcessServiceImpl.java b/src/main/java/com/chinaunicom/mall/ebtp/project/dictchooseprocess/service/impl/DictChooseProcessServiceImpl.java index 741bdbb..1d5de43 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/dictchooseprocess/service/impl/DictChooseProcessServiceImpl.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/dictchooseprocess/service/impl/DictChooseProcessServiceImpl.java @@ -49,6 +49,10 @@ public class DictChooseProcessServiceImpl extends BaseServiceImpl initProjectAuction(@RequestParam("ebpProjectId") String ebpProjectId, @RequestBody PurpImplementSendVO purpImplementSendVO); + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/feign/EbtpMallBidApi.java b/src/main/java/com/chinaunicom/mall/ebtp/project/feign/EbtpMallBidApi.java index b71182c..45da920 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/feign/EbtpMallBidApi.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/feign/EbtpMallBidApi.java @@ -15,14 +15,16 @@ import java.util.List; /** * 标段出始化流程 + * * @author daixc * @date 2020/11/25 */ -@FeignClient(value = ServiceNameConstants.BID_SERVICE,fallbackFactory = EbtpMallBidClientFallback.class) +@FeignClient(value = ServiceNameConstants.BID_SERVICE, fallbackFactory = EbtpMallBidClientFallback.class) public interface EbtpMallBidApi { /** * 标段异常通知项目招标接口 + * * @param sectionIds 标段ID集合 * @return 返回结果 */ @@ -59,5 +61,4 @@ public interface EbtpMallBidApi { BaseResponse> getAnnoStatus(@RequestBody List abnormalIds); - } 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 024fcab..d3a4458 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 @@ -15,8 +15,8 @@ import java.util.List; * @author daixc * @date 2020/11/25 */ -//@FeignClient(value = "${mconfig.service-name-purp}") -@FeignClient(name="mall-purp", url = "http://10.92.119.64:7777/api/mall-purp" ,fallbackFactory = EbtpProjectClientFallback.class) +@FeignClient(value = "${mconfig.service-name-purp}",fallbackFactory = EbtpProjectClientFallback.class) +//@FeignClient(name="mall-purp", url = "http://10.92.119.64:7777/api/mall-purp" ,fallbackFactory = EbtpProjectClientFallback.class) public interface MallPurpApi { /** * 方案招标失败接口 diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/feign/MallResuApi.java b/src/main/java/com/chinaunicom/mall/ebtp/project/feign/MallResuApi.java new file mode 100644 index 0000000..cdcc2e2 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/feign/MallResuApi.java @@ -0,0 +1,25 @@ +package com.chinaunicom.mall.ebtp.project.feign; + +import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; +import com.chinaunicom.mall.ebtp.project.feign.fallback.MallResuClientFallback; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestParam; + +/** + * 重新评审 项目中心查询API + * @author daixc + * @date 2020/12/21 + */ +@FeignClient(value = "${mconfig.service-name-resu}",fallbackFactory = MallResuClientFallback.class) +//@FeignClient(name="mall-resu",url = "http://3g6422829c.wicp.vip:38002/api/mall-resu",fallbackFactory = MallResuClientFallback.class) +public interface MallResuApi { + + /** + * 重新评标申请是否可编制接口查询 + * @param purpId 子项目ID + * @return 返回结果 + */ + @PostMapping("/v1/resultBaseInfo/findStatusByPurpIdForEval") + BaseResponse findStatusByPurpIdForEval(@RequestParam("purpId") Long purpId); +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/feign/WfapApi.java b/src/main/java/com/chinaunicom/mall/ebtp/project/feign/WfapApi.java index b4f74f7..58c1cf4 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/feign/WfapApi.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/feign/WfapApi.java @@ -11,8 +11,8 @@ import org.springframework.web.bind.annotation.RequestBody; * @author daixc * @date 2020/12/21 */ -//@FeignClient(value = "${mconfig.service-name-wfap}") -@FeignClient(name="mall-wfap",url = "http://353u66p423.wicp.vip:48187/api/wfap/") +@FeignClient(value = "${mconfig.service-name-wfap}") +//@FeignClient(name="mall-wfap",url = "http://353u66p423.wicp.vip:48187/api/wfap/") public interface WfapApi { diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/feign/entity/AnnoVO.java b/src/main/java/com/chinaunicom/mall/ebtp/project/feign/entity/AnnoVO.java index 024eba2..f7200fa 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/feign/entity/AnnoVO.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/feign/entity/AnnoVO.java @@ -1,12 +1,10 @@ package com.chinaunicom.mall.ebtp.project.feign.entity; -import com.fasterxml.jackson.annotation.JsonInclude; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors; -import javax.validation.constraints.NotEmpty; import java.io.Serializable; /** @@ -20,14 +18,12 @@ import java.io.Serializable; public class AnnoVO implements Serializable { @ApiModelProperty(value = "主键id") - @JsonInclude(JsonInclude.Include.NON_NULL) private String id; /** * 异常ID */ @ApiModelProperty(value = "异常ID") - @JsonInclude(JsonInclude.Include.NON_NULL) private String csAnnoId; @@ -35,7 +31,6 @@ public class AnnoVO implements Serializable { * 附件集id */ @ApiModelProperty(value = "附件集id") - @JsonInclude(JsonInclude.Include.NON_NULL) private String attDatasetId; @@ -43,7 +38,6 @@ public class AnnoVO implements Serializable { * 标题 */ @ApiModelProperty(value = "标题") - @NotEmpty(message = "标题不能为空") private String annoTitle; diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/feign/fallback/MallResuClientFallback.java b/src/main/java/com/chinaunicom/mall/ebtp/project/feign/fallback/MallResuClientFallback.java new file mode 100644 index 0000000..8e970d6 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/feign/fallback/MallResuClientFallback.java @@ -0,0 +1,22 @@ +package com.chinaunicom.mall.ebtp.project.feign.fallback; + +import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; +import com.chinaunicom.mall.ebtp.project.feign.MallResuApi; +import feign.hystrix.FallbackFactory; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +@Slf4j +@Component +public class MallResuClientFallback implements FallbackFactory { + @Override + public MallResuApi create(Throwable throwable) { + throwable.printStackTrace(); + return new MallResuApi() { + @Override + public BaseResponse findStatusByPurpIdForEval(Long purpId) { + return null; + } + }; + } +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectauction/controller/ProjectAuctionController.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectauction/controller/ProjectAuctionController.java deleted file mode 100644 index 247ee3e..0000000 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectauction/controller/ProjectAuctionController.java +++ /dev/null @@ -1,108 +0,0 @@ -package com.chinaunicom.mall.ebtp.project.projectauction.controller; - - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; -import com.chinaunicom.mall.ebtp.project.projectauction.entity.ProjectAuction; -import com.chinaunicom.mall.ebtp.project.projectauction.entity.ProjectAuctionVO; -import com.chinaunicom.mall.ebtp.project.projectauction.service.IProjectAuctionService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.validation.Valid; - -/** - * 竞拍项目建档controller - * @author daixc - * @date 2020/12/01 - */ - -@RestController -@Api(tags = "竞拍项目建档信息") -@RequestMapping("/v1/projectAuction") -public class ProjectAuctionController{ - - @Resource - private IProjectAuctionService projectAuctionService; - - /** - * 插入新数据 - * - * @param projectAuction 查询条件 - * - * @return 返回结果 - */ - @ApiOperation("插入新数据") - @PostMapping("") - public BaseResponse insert(@ApiParam(value = "对象数据", required = true) @RequestBody @Valid ProjectAuction projectAuction){ - - boolean save = projectAuctionService.save(projectAuction); - - return BaseResponse.success(save); - } - - /** - * 修改数据 - * - * @param projectAuction 查询条件 - * - * @return 返回结果 - */ - @ApiOperation("修改数据") - @PutMapping("") - public BaseResponse update(@ApiParam(value = "对象数据", required = true) @RequestBody ProjectAuction projectAuction){ - - return BaseResponse.success(projectAuctionService.updateById(projectAuction)); - } - - /** - * 查询数据 - * - * @param id 主键ID - * - * @return 返回结果 - */ - @ApiOperation("查询数据") - @GetMapping("/{id}") - public BaseResponse get(@ApiParam(value = "主键id", required = true) @PathVariable String id){ - - ProjectAuction projectAuction = projectAuctionService.getById(id); - - return BaseResponse.success(projectAuction); - } - - /** - * 查询分页数据 - * - * @param projectAuctionVO 分页数据 - * - * @return 返回结果 - */ - @ApiOperation("查询分页数据") - @PostMapping("/getPage") - public BaseResponse> getPage(@ApiParam(value = "对象数据", required = true) @RequestBody ProjectAuctionVO projectAuctionVO){ - - return BaseResponse.success(projectAuctionService.getPage(projectAuctionVO)); - } - - /** - * 查询数据(包括竞拍物资信息) - * - * @param id 主键ID - * - * @return 返回结果 - */ - @ApiOperation("查询数据(包括竞拍物资信息)") - @GetMapping("/getAllById/{id}") - public BaseResponse getAllById(@ApiParam(value = "主键id", required = true) @PathVariable String id){ - - ProjectAuction projectAuction = projectAuctionService.getAllById(id); - - return BaseResponse.success(projectAuction); - } - - -} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectauction/dao/ProjectAuctionMapper.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectauction/dao/ProjectAuctionMapper.java deleted file mode 100644 index 798c14c..0000000 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectauction/dao/ProjectAuctionMapper.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.chinaunicom.mall.ebtp.project.projectauction.dao; - - -import com.chinaunicom.mall.ebtp.common.base.dao.IBaseMapper; -import com.chinaunicom.mall.ebtp.project.projectauction.entity.ProjectAuction; - -public interface ProjectAuctionMapper extends IBaseMapper { - - -} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectauction/dao/mapper/ProjectAuctionMapper.xml b/src/main/java/com/chinaunicom/mall/ebtp/project/projectauction/dao/mapper/ProjectAuctionMapper.xml deleted file mode 100644 index 6fe2f54..0000000 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectauction/dao/mapper/ProjectAuctionMapper.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - update biz_project_auction - set - delete_flag="deleted" - where ID=#{id} - - \ No newline at end of file diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectauction/entity/ProjectAuction.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectauction/entity/ProjectAuction.java deleted file mode 100644 index 49eec4b..0000000 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectauction/entity/ProjectAuction.java +++ /dev/null @@ -1,223 +0,0 @@ -package com.chinaunicom.mall.ebtp.project.projectauction.entity; - -import com.baomidou.mybatisplus.annotation.TableName; -import com.chinaunicom.mall.ebtp.common.base.entity.BaseEntity; -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; -import lombok.experimental.Accessors; - -import java.io.Serializable; -import java.math.BigDecimal; - -/** - * 实体类 ProjectAuction - * - * @author daixc - * @date 2020/11/30 - */ -@Data -@Accessors(chain = true) -@ApiModel("竞拍项目建档信息") -@TableName(value = "biz_project_auction", autoResultMap = true) -public class ProjectAuction extends BaseEntity implements Serializable { - - private static final long serialVersionUID = 1L; - - /** - * 编号 - */ - @ApiModelProperty(value = "编号") - @JsonSerialize(using = ToStringSerializer.class) - private String id; - - /** - * 处置名称(项目名称) - */ - @ApiModelProperty(value = "处置名称(项目名称)") - private String projectName; - - /** - * 项目流水号 - */ - @ApiModelProperty(value = "项目流水号") - private String projectBizNum; - - /** - * 父项目编号 - */ - @ApiModelProperty(value = "父项目编号") - private String ebpParentProjectNumber; - - /** - * 父项目名称 - */ - @ApiModelProperty(value = "父项目名称") - private String ebpParentProjectName; - - /** - * 父项目ID - */ - @ApiModelProperty(value = "父项目ID") - private String ebpParentProjectId; - - /** - * 业务类型 - */ - @ApiModelProperty(value = "业务类型") - private String businessType; - - /** - * 拍卖类型 - */ - @ApiModelProperty(value = "拍卖类型") - private String auctionType; - - /** - * 处置实施项目编号 - */ - @ApiModelProperty(value = "处置实施项目编号") - private String ebpProjectNumber; - - /** - * 处置实施项目名称 - */ - @ApiModelProperty(value = "处置实施项目名称") - private String ebpProjectName; - - /** - * 处置实施项目ID - */ - @ApiModelProperty(value = "处置实施项目ID") - private String ebpProjectId; - - /** - * 处置编号 - */ - @ApiModelProperty(value = "处置编号") - private String disposalNum; - - /** - * 项目ID - */ - @ApiModelProperty(value = "项目ID") - private String disposalProjectId; - - /** - * 处置经理 - */ - @ApiModelProperty(value = "处置经理") - private String disposalManager; - - /** - * 处置经理名称 - */ - @ApiModelProperty(value = "处置经理名称") - private String disposalManagerName; - - /** - * 处置经理电话 - */ - @ApiModelProperty(value = "处置经理电话") - private String disposalManagerTel; - - /** - * 处置实施部门 - */ - @ApiModelProperty(value = "处置实施部门") - private String disposalDepartment; - - /** - * 处置实施部门名称 - */ - @ApiModelProperty(value = "处置实施部门名称") - private String disposalDepartmentName; - - /** - * 需求归属部门 - */ - @ApiModelProperty(value = "需求归属部门") - private String demandDepartment; - - /** - * 需求归属部门名称 - */ - @ApiModelProperty(value = "需求归属部门名称") - private String demandDepartmentName; - - /** - * 处置类型 - */ - @ApiModelProperty(value = "处置类型") - private String disposalType; - - /** - * 方案ID - */ - @ApiModelProperty(value = "方案ID") - private String planId; - - /** - * 报价方式(竞价拍卖) - */ - @ApiModelProperty(value = "报价方式(竞价拍卖)") - private String quotationMethod; - - /** - * 起拍总价(元) - */ - @ApiModelProperty(value = "起拍总价(元)") - private BigDecimal startingPrice; - - /** - * 资产类型 - */ - @ApiModelProperty(value = "资产类型") - private String assetType; - - /** - * 资产价值 - */ - @ApiModelProperty(value = "资产价值") - private BigDecimal assetValue; - - /** - * 数量 - */ - @ApiModelProperty(value = "数量") - private BigDecimal amount; - - /** - * 计量单位 - */ - @ApiModelProperty(value = "计量单位") - private String materialUnit; - - /** - * 序号 - */ - @ApiModelProperty(value = "序号") - private String serialNumber; - - /** - * 项目模块 - */ - @ApiModelProperty(value = "项目模块") - private String businessMoudle; - - /** - * 状态 - */ - @ApiModelProperty(value = "状态") - private Integer status; - - /** - * 附件组ID - */ - @ApiModelProperty(value = "附件组ID") - @JsonSerialize(using = ToStringSerializer.class) - private String fileUploadId; - -} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectauction/entity/ProjectAuctionVO.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectauction/entity/ProjectAuctionVO.java deleted file mode 100644 index 139c6be..0000000 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectauction/entity/ProjectAuctionVO.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.chinaunicom.mall.ebtp.project.projectauction.entity; - -import com.baomidou.mybatisplus.annotation.TableName; -import com.chinaunicom.mall.ebtp.common.base.entity.BaseEntity; -import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest; -import com.chinaunicom.mall.ebtp.project.projectauctionmaterial.entity.ProjectAuctionMaterial; -import com.fasterxml.jackson.annotation.JsonInclude; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import lombok.experimental.Accessors; - -import java.io.Serializable; -import java.util.List; - -/** - * 实体类 ProjectAuction - * - * @author daixc - * @date 2020/11/30 - */ -@Data -@Accessors(chain = true) -@ApiModel("竞拍项目建档信息VO类") -@TableName(autoResultMap = true) -public class ProjectAuctionVO extends ProjectAuction implements Serializable { - - /** - * 分页数据 - */ - @ApiModelProperty(value = "分页对象信息") - private BasePageRequest basePageRequest; - - /** - * 项目建档信息 - */ - @ApiModelProperty(value = "项目建档信息") - @JsonInclude(JsonInclude.Include.NON_EMPTY) - private List materialList; -} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectauction/service/IProjectAuctionService.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectauction/service/IProjectAuctionService.java deleted file mode 100644 index 4520807..0000000 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectauction/service/IProjectAuctionService.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.chinaunicom.mall.ebtp.project.projectauction.service; - - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.chinaunicom.mall.ebtp.common.base.service.IBaseService; -import com.chinaunicom.mall.ebtp.project.projectauction.entity.ProjectAuction; -import com.chinaunicom.mall.ebtp.project.projectauction.entity.ProjectAuctionVO; -import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ebpentity.PurpImplementSendVO; - -/** - * 对数据表 biz_project_auction 操作的 service - * @author daixc - * - */ -public interface IProjectAuctionService extends IBaseService{ - - - /** - * 竞拍项目列表分页查询 - * @param projectAuctionVO 项目分页信息 - * @return 返回结果 - */ - IPage getPage(ProjectAuctionVO projectAuctionVO); - - /** - * 查询详情 - * @param id 项目ID - * @return 返回结果 - */ - ProjectAuctionVO getAllById(String id); - - /** - * 出始化竞拍项目信息 - * @param purpImplementSendVO 竞拍 - * @return 返回结果 - */ - boolean initProjectAuction(PurpImplementSendVO purpImplementSendVO); - - /** - * 出始化竞拍项目信息 - * @param ebpProjectId 实施项目ID - * @param purpImplementSendVO 竞拍 - * @return 返回结果 - */ - boolean initProjectAuction(String ebpProjectId,PurpImplementSendVO purpImplementSendVO); - -} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectauction/service/impl/ProjectAuctionServiceImpl.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectauction/service/impl/ProjectAuctionServiceImpl.java deleted file mode 100644 index 502baa7..0000000 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectauction/service/impl/ProjectAuctionServiceImpl.java +++ /dev/null @@ -1,289 +0,0 @@ -package com.chinaunicom.mall.ebtp.project.projectauction.service.impl; - - -import cn.hutool.core.bean.BeanUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest; -import com.chinaunicom.mall.ebtp.common.base.service.impl.BaseServiceImpl; -import com.chinaunicom.mall.ebtp.common.util.PropertyUtils; -import com.chinaunicom.mall.ebtp.project.common.ProjectCommonUtil; -import com.chinaunicom.mall.ebtp.project.common.ProjectExceptionEnum; -import com.chinaunicom.mall.ebtp.project.projectauction.dao.ProjectAuctionMapper; -import com.chinaunicom.mall.ebtp.project.projectauction.entity.ProjectAuction; -import com.chinaunicom.mall.ebtp.project.projectauction.entity.ProjectAuctionVO; -import com.chinaunicom.mall.ebtp.project.projectauction.service.IProjectAuctionService; -import com.chinaunicom.mall.ebtp.project.projectauctionmaterial.entity.ProjectAuctionMaterial; -import com.chinaunicom.mall.ebtp.project.projectauctionmaterial.service.IProjectAuctionMaterialService; -import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ProjectEntrustExpand; -import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ebpentity.PurpBaseInfoVO; -import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ebpentity.PurpImplementSendVO; -import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ebpentity.PurpMaterialVO; -import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ebpentity.PurpSuperVO; -import com.chinaunicom.mall.ebtp.project.projectentrust.service.IProjectEntrustExpandService; -import org.apache.commons.lang.StringUtils; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.List; - -/** - * 对数据表 _project_auction 操作的 serviceImpl - * @author daixc - * - */ -@Service -public class ProjectAuctionServiceImpl extends BaseServiceImpl implements IProjectAuctionService { - - @Resource - private IProjectAuctionMaterialService auctionMaterialService; - - @Resource - private IProjectEntrustExpandService entrustExpandService; - - private QueryWrapper getAuctionQueryWrapper(ProjectAuctionVO ProjectAuctionVO) { - QueryWrapper queryWrapper = new QueryWrapper(); - - queryWrapper.like("project_name",ProjectAuctionVO.getProjectName()); - - return queryWrapper; - } - - - @Override - public IPage getPage(ProjectAuctionVO ProjectAuctionVO) { - - QueryWrapper queryWrapper = getAuctionQueryWrapper(ProjectAuctionVO); - - queryWrapper.orderByDesc("create_date"); - - if(null == ProjectAuctionVO.getBasePageRequest()){ - ProjectAuctionVO.setBasePageRequest(new BasePageRequest()); - } - - //查询 - IPage p = new Page<>(ProjectAuctionVO.getBasePageRequest().getPageNo(), ProjectAuctionVO.getBasePageRequest().getPageSize()); - IPage result = this.page(p, queryWrapper); - - return result; - } - - @Override - public ProjectAuctionVO getAllById(String id) { - - ProjectAuction projectAuction = this.getById(id); - - ProjectAuctionVO result = null; - - if(null != projectAuction){ - result = BeanUtil.toBean(projectAuction,ProjectAuctionVO.class); - - result.setMaterialList(auctionMaterialService.list(new QueryWrapper().eq("auction_id",id))); - } - - return result; - } - - @Override - public boolean initProjectAuction(PurpImplementSendVO purpImplementSendVO) { - - //校验信息 - checkPurpImplementSendVO(purpImplementSendVO); - //子项目信息 - PurpBaseInfoVO purpBaseInfoVO = purpImplementSendVO.getPurpBaseInfoVoList().get(0); - - ProjectAuction projectAuction = getProjectAuction(purpImplementSendVO); - - List materialList = assembleAuctionMaterial(projectAuction.getId(),purpBaseInfoVO.getPurpMaterialVOList()); - - boolean result = this.save(projectAuction); - auctionMaterialService.saveBatch(materialList); - - ProjectEntrustExpand expand = new ProjectEntrustExpand(); - expand.setId(PropertyUtils.getSnowflakeId()); - expand.setPurpImplementSendVO(purpImplementSendVO); - expand.setEntrustId(projectAuction.getId()); - entrustExpandService.save(expand); - - return result; - } - - @Override - public boolean initProjectAuction(String ebpProjectId, PurpImplementSendVO purpImplementSendVO) { - - Integer count = this.count(new QueryWrapper().eq("ebp_project_id",ebpProjectId)); - if(count > 0){ - ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_ENTRUST_ERROR_STATE.throwException(); - } - return initProjectAuction(purpImplementSendVO); - } - - private ProjectAuction getProjectAuction(PurpImplementSendVO purpImplementSendVO) { - - //父项目信息 - PurpSuperVO purpSuperVO = purpImplementSendVO.getPurpSuperVo(); - - //子项目信息 - PurpBaseInfoVO purpBaseInfoVO = purpImplementSendVO.getPurpBaseInfoVoList().get(0); - ProjectAuction projectAuction = new ProjectAuction(); - projectAuction.setId(PropertyUtils.getSnowflakeId()); - projectAuction.setProjectBizNum(PropertyUtils.getSnowflakeId()); - projectAuction.setEbpProjectId(purpImplementSendVO.getId()); - projectAuction.setEbpProjectName(purpImplementSendVO.getPurpImplementName()); - projectAuction.setEbpProjectNumber(purpImplementSendVO.getPurpImplementNo()); - projectAuction.setEbpParentProjectId(purpSuperVO.getId()); - projectAuction.setEbpParentProjectNumber(purpSuperVO.getPurpSuperNo()); - projectAuction.setEbpParentProjectName(purpSuperVO.getPurpSuperName()); - projectAuction.setBusinessType(purpSuperVO.getBusinessType()); - projectAuction.setAuctionType(purpSuperVO.getAuctionType()); - projectAuction.setDisposalNum(purpBaseInfoVO.getPurpNo()); - projectAuction.setDisposalProjectId(purpBaseInfoVO.getId()); - projectAuction.setDisposalManager(purpBaseInfoVO.getUndertakerCode()); - projectAuction.setDisposalManagerName(purpBaseInfoVO.getUndertaker()); - projectAuction.setDisposalManagerTel(purpBaseInfoVO.getTelNo()); - projectAuction.setDisposalDepartment(purpBaseInfoVO.getProcImplDeptCode()); - projectAuction.setDisposalDepartmentName(purpBaseInfoVO.getProcImplDept()); - projectAuction.setDemandDepartment(purpBaseInfoVO.getRequAscriptionDeptCode()); - projectAuction.setDemandDepartmentName(purpBaseInfoVO.getRequAscriptionDept()); - projectAuction.setDisposalType(purpBaseInfoVO.getDisposalType()); - projectAuction.setPlanId(String.valueOf(purpBaseInfoVO.getProjBaseInfoVO().getId())); - projectAuction.setQuotationMethod(purpBaseInfoVO.getDisposalType()); - projectAuction.setStartingPrice(purpBaseInfoVO.getProjBaseInfoVO().getStartPrice()); - projectAuction.setAssetType(purpBaseInfoVO.getProjBaseInfoVO().getAssetType()); - projectAuction.setAssetValue(new BigDecimal(purpBaseInfoVO.getProjBaseInfoVO().getAssetValue())); - projectAuction.setStartingPrice(purpBaseInfoVO.getProjBaseInfoVO().getStartPrice()); - projectAuction.setAmount(new BigDecimal(null == purpBaseInfoVO.getProjBaseInfoVO().getNum()? 0 : purpBaseInfoVO.getProjBaseInfoVO().getNum())); - projectAuction.setMaterialUnit(purpBaseInfoVO.getProjBaseInfoVO().getUnit()); - projectAuction.setStatus(ProjectCommonUtil.PROJECT_STATUS_2); - return projectAuction; - } - - /** - * 拼装竞拍物资数据 - * @param auctionId 竞拍项目ID - * @param purpMaterialVOList 物资信息 - * @return 返回结果 - */ - private List assembleAuctionMaterial(String auctionId,List purpMaterialVOList){ - - List materialList = new ArrayList<>(); - - for(PurpMaterialVO purpMaterialVO:purpMaterialVOList){ - ProjectAuctionMaterial material = new ProjectAuctionMaterial(); - material.setId(PropertyUtils.getSnowflakeId()); - //竞拍项目编号 - material.setAuctionId(auctionId); - //物资行ID - material.setMaterialBankId(purpMaterialVO.getMaterialId()); - //所属OU组织 - material.setOrganizationName(purpMaterialVO.getOrgName()); - //物资名称 - material.setMaterialName(purpMaterialVO.getPurpName()); - //需求单名称 - material.setDemandId(purpMaterialVO.getRequName()); - //物料编码 - material.setMaterialCode(purpMaterialVO.getMaterialCode()); - //物资厂家 - material.setManufacturer(purpMaterialVO.getMaterialManufacturer()); - //规格型号 - material.setSpecification(purpMaterialVO.getSpecModel()); - //库龄 - material.setReservoirAge(purpMaterialVO.getLibraryAge()); - //数量 - material.setAmount(purpMaterialVO.getRequNum()); - //计量单位 - material.setMaterialUnit(purpMaterialVO.getUnit()); - //单价 - material.setUnitPrice(purpMaterialVO.getUnitAmt()); - //资产价值 - material.setAssetValue(purpMaterialVO.getClapUnitPrice()); - //统一目录名称 - material.setDirectoryName(purpMaterialVO.getUniftCatalogName()); - //统一目录编码 - material.setDirectoryCode(purpMaterialVO.getUniftCatalogCode()); - - materialList.add(material); - - } - return materialList; - } - - /** - * 校验推送信息是否符合 - * - * @param implementSendVO 采购委托推送数据 - */ - private void checkPurpImplementSendVO(PurpImplementSendVO implementSendVO) { - - - //实施项目 - if (StringUtils.isEmpty(implementSendVO.getPurpImplementName())) { - ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_ENTRUST_PURP_IMPLEMENT_NAME_EMPTY.throwException(); - } - - //实施项目ID - if(StringUtils.isEmpty(implementSendVO.getId())){ - ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_ENTRUST_PURP_IMPLEMENT_ID_EMPTY.throwException(); - } - - //父项目信息 - PurpSuperVO purpSuperVO = implementSendVO.getPurpSuperVo(); - - if(null == purpSuperVO){ - ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_PURP_SUPER_VO_EMPTY.throwException(); - } - - //业务类型 - if(StringUtils.isEmpty(purpSuperVO.getBusinessType())){ - ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_ENTRUST_BUSINESS_TYPE_EMPTY.throwException(); - } - - - List purpBaseInfoVOList = implementSendVO.getPurpBaseInfoVoList(); - if(null == purpBaseInfoVOList || purpBaseInfoVOList.size() <= 0){ - ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_PURP_BASE_INFO_VO_EMPTY.throwException(); - } - - //子项目信息 - PurpBaseInfoVO purpBaseInfoVO = implementSendVO.getPurpBaseInfoVoList().get(0); - - if(null == purpBaseInfoVO.getProjBaseInfoVO()){ - ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_PROJ_BASE_INFO_VO_EMPTY.throwException(); - } - - //采购内容 - if(null == purpBaseInfoVO.getPurpMaterialVOList() || purpBaseInfoVO.getPurpMaterialVOList().size() == 0){ - ProjectExceptionEnum.FRAME_EXCEPTION_PURP_MATERIAL_VO_LIST_EMPTY.throwException(); - } - - //处置实施部门 - if(StringUtils.isEmpty(purpBaseInfoVO.getProcImplDept())){ - ProjectExceptionEnum.FRAME_EXCEPTION_PROC_IMPL_DEPT_EMPTY.throwException(); - } - - //处置经理code - if(StringUtils.isEmpty(purpBaseInfoVO.getProjBaseInfoVO().getUndertakerCode())){ - ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_UNDERTAKER_CODE_EMPTY.throwException(); - } - - //报价方式(竞价拍卖) - if(null == purpBaseInfoVO.getDisposalType()){ - ProjectExceptionEnum.FRAME_EXCEPTION_DISPOSAL_TYPE_EMPTY.throwException(); - } - - //起拍总价 - if(null == purpBaseInfoVO.getProjBaseInfoVO().getStartPrice()){ - ProjectExceptionEnum.FRAME_EXCEPTION_START_PRICE_EMPTY.throwException(); - } - - //资产价值 - if(StringUtils.isEmpty(purpBaseInfoVO.getProjBaseInfoVO().getAssetValue())){ - ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_ASSET_VALUE_EMPTY.throwException(); - } - - } - -} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectauctionmaterial/controller/ProjectAuctionMaterialController.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectauctionmaterial/controller/ProjectAuctionMaterialController.java deleted file mode 100644 index 8183ca8..0000000 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectauctionmaterial/controller/ProjectAuctionMaterialController.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.chinaunicom.mall.ebtp.project.projectauctionmaterial.controller; - - -import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; -import com.chinaunicom.mall.ebtp.project.projectauctionmaterial.entity.ProjectAuctionMaterial; -import com.chinaunicom.mall.ebtp.project.projectauctionmaterial.service.IProjectAuctionMaterialService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.validation.Valid; - -@RestController -@Api(tags = "竞拍项目物资信息") -@RequestMapping("/v1/bizprojectauctionmaterial") -public class ProjectAuctionMaterialController{ - - @Resource - private IProjectAuctionMaterialService projectAuctionMaterialService; - - /** - * 插入新数据 - * - * @param projectAuctionMaterial - * - * @return - */ - @ApiOperation("插入新数据") - @PostMapping("") - public BaseResponse insert(@ApiParam(value = "对象数据", required = true) @RequestBody @Valid ProjectAuctionMaterial projectAuctionMaterial){ - - boolean save = projectAuctionMaterialService.save(projectAuctionMaterial); - - return BaseResponse.success(save); - } - - /** - * 修改数据 - * - * @param projectAuctionMaterial - * - * @return - */ - @ApiOperation("修改数据") - @PutMapping("") - public BaseResponse update(@ApiParam(value = "对象数据", required = true) @RequestBody ProjectAuctionMaterial projectAuctionMaterial){ - - - return BaseResponse.success(projectAuctionMaterialService.updateById(projectAuctionMaterial)); - } - - /** - * 查询数据 - * - * @param id - * - * @return - */ - @ApiOperation("查询数据") - @GetMapping("/{id}") - public BaseResponse get(@ApiParam(value = "主键id", required = true) @PathVariable String id){ - - ProjectAuctionMaterial projectAuctionMaterial = projectAuctionMaterialService.getById(id); - - return BaseResponse.success(projectAuctionMaterial); - } - - -} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectauctionmaterial/dao/ProjectAuctionMaterialMapper.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectauctionmaterial/dao/ProjectAuctionMaterialMapper.java deleted file mode 100644 index 5d89fae..0000000 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectauctionmaterial/dao/ProjectAuctionMaterialMapper.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.chinaunicom.mall.ebtp.project.projectauctionmaterial.dao; - - -import com.chinaunicom.mall.ebtp.common.base.dao.IBaseMapper; -import com.chinaunicom.mall.ebtp.project.projectauctionmaterial.entity.ProjectAuctionMaterial; - -public interface ProjectAuctionMaterialMapper extends IBaseMapper { - - -} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectauctionmaterial/dao/mapper/ProjectAuctionMaterialMapper.xml b/src/main/java/com/chinaunicom/mall/ebtp/project/projectauctionmaterial/dao/mapper/ProjectAuctionMaterialMapper.xml deleted file mode 100644 index d4317a1..0000000 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectauctionmaterial/dao/mapper/ProjectAuctionMaterialMapper.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - update biz_project_auction_material - set - delete_flag="deleted" - where ID=#{id} - - \ No newline at end of file diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectauctionmaterial/entity/ProjectAuctionMaterial.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectauctionmaterial/entity/ProjectAuctionMaterial.java deleted file mode 100644 index 6ac92a3..0000000 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectauctionmaterial/entity/ProjectAuctionMaterial.java +++ /dev/null @@ -1,133 +0,0 @@ -package com.chinaunicom.mall.ebtp.project.projectauctionmaterial.entity; - -import com.baomidou.mybatisplus.annotation.TableName; -import com.chinaunicom.mall.ebtp.common.base.entity.BaseEntity; -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; -import lombok.experimental.Accessors; - -import java.io.Serializable; -import java.math.BigDecimal; - -/** - * 实体类 ProjectAuctionMaterial - * - * @author daixc - * @date 2020/11/30 - */ -@Data -@Accessors(chain = true) -@ApiModel("竞拍项目物资信息") -@TableName(value = "biz_project_auction_material", autoResultMap = true) -public class ProjectAuctionMaterial extends BaseEntity implements Serializable { - - private static final long serialVersionUID = 1L; - - /** - * 编号 - */ - @ApiModelProperty(value = "编号") - @JsonSerialize(using = ToStringSerializer.class) - private String id; - - /** - * 竞拍项目编号 - */ - @ApiModelProperty(value = "竞拍项目编号") - @JsonSerialize(using = ToStringSerializer.class) - private String auctionId; - - /** - * 物资行ID - */ - @ApiModelProperty(value = "物资行ID") - private String materialBankId; - - /** - * 所属OU组织 - */ - @ApiModelProperty(value = "所属OU组织") - private String organization; - - /** - * 所属OU组织名称 - */ - @ApiModelProperty(value = "所属OU组织名称") - private String organizationName; - - /** - * 物资名称 - */ - @ApiModelProperty(value = "物资名称") - private String materialName; - - /** - * 需求单名称 - */ - @ApiModelProperty(value = "需求单名称") - private String demandId; - - /** - * 物料编码 - */ - @ApiModelProperty(value = "物料编码") - private String materialCode; - - /** - * 物资厂家 - */ - @ApiModelProperty(value = "物资厂家") - private String manufacturer; - - /** - * 规格型号 - */ - @ApiModelProperty(value = "规格型号") - private String specification; - - /** - * 库龄 - */ - @ApiModelProperty(value = "库龄") - private String reservoirAge; - - /** - * 数量 - */ - @ApiModelProperty(value = "数量") - private BigDecimal amount; - - /** - * 计量单位 - */ - @ApiModelProperty(value = "计量单位") - private String materialUnit; - - /** - * 单价 - */ - @ApiModelProperty(value = "单价") - private BigDecimal unitPrice; - - /** - * 资产价值 - */ - @ApiModelProperty(value = "资产价值") - private BigDecimal assetValue; - - /** - * 统一目录名称 - */ - @ApiModelProperty(value = "统一目录名称") - private String directoryName; - - /** - * 统一目录编码 - */ - @ApiModelProperty(value = "统一目录编码") - private String directoryCode; - -} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectauctionmaterial/service/IProjectAuctionMaterialService.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectauctionmaterial/service/IProjectAuctionMaterialService.java deleted file mode 100644 index f12c6e2..0000000 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectauctionmaterial/service/IProjectAuctionMaterialService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.chinaunicom.mall.ebtp.project.projectauctionmaterial.service; - - -import com.chinaunicom.mall.ebtp.common.base.service.IBaseService; -import com.chinaunicom.mall.ebtp.project.projectauctionmaterial.entity.ProjectAuctionMaterial; - -/** - * 对数据表 biz_project_auction_material 操作的 service - * @author Auto create - * - */ -public interface IProjectAuctionMaterialService extends IBaseService{ - - - -} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectauctionmaterial/service/impl/ProjectAuctionMaterialServiceImpl.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectauctionmaterial/service/impl/ProjectAuctionMaterialServiceImpl.java deleted file mode 100644 index cbe2d4a..0000000 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectauctionmaterial/service/impl/ProjectAuctionMaterialServiceImpl.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.chinaunicom.mall.ebtp.project.projectauctionmaterial.service.impl; - - -import com.chinaunicom.mall.ebtp.project.projectauctionmaterial.dao.ProjectAuctionMaterialMapper; -import com.chinaunicom.mall.ebtp.project.projectauctionmaterial.entity.ProjectAuctionMaterial; -import com.chinaunicom.mall.ebtp.project.projectauctionmaterial.service.IProjectAuctionMaterialService; -import org.springframework.stereotype.Service; -import com.chinaunicom.mall.ebtp.common.base.service.impl.BaseServiceImpl; -/** - * 对数据表 biz_project_auction_material 操作的 serviceImpl - * @author Auto create - * - */ -@Service -public class ProjectAuctionMaterialServiceImpl extends BaseServiceImpl implements IProjectAuctionMaterialService { - - -} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/controller/ProjectEntrustController.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/controller/ProjectEntrustController.java index eab8aed..bba5a41 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/controller/ProjectEntrustController.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/controller/ProjectEntrustController.java @@ -8,16 +8,16 @@ import com.chinaunicom.mall.ebtp.project.baseoperlog.aop.OperLog; import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ProjectEntrust; import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ProjectEntrustVO; import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ebpentity.PurpImplementSendVO; +import com.chinaunicom.mall.ebtp.project.projectentrust.service.IProjectEntrustInquiryService; import com.chinaunicom.mall.ebtp.project.projectentrust.service.IProjectEntrustService; +import com.chinaunicom.mall.ebtp.project.projectentrust.entity.inquiryentity.InquiryNoticeVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; -import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.validation.Valid; -import java.util.List; /** * 项目委托信息controller @@ -33,6 +33,9 @@ public class ProjectEntrustController{ @Resource private IProjectEntrustService projectEntrustService; + + @Resource + private IProjectEntrustInquiryService inquiryService; /** * 插入新数据 @@ -213,5 +216,20 @@ public class ProjectEntrustController{ return BaseResponse.success(projectEntrustService.testProjectEntrust(purpImplementSendVO)); } + + /** + * 询价通知返回处理接口 + * + * @param inquiryNoticeVO 询价返回实体 + * + * @return 返回结果 + */ + @OperLog("询价通知返回处理接口") + @ApiOperation("询价通知返回处理接口") + @PostMapping("/inquiryNotice") + public BaseResponse inquiryNotice(@ApiParam(value = "询价通知返回实体", required = true) @RequestBody InquiryNoticeVO inquiryNoticeVO){ + + return BaseResponse.success(inquiryService.inquiryNotice(inquiryNoticeVO)); + } } diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/ebpentity/BaseFileNoPageVO.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/ebpentity/BaseFileNoPageVO.java new file mode 100644 index 0000000..855336f --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/ebpentity/BaseFileNoPageVO.java @@ -0,0 +1,121 @@ +/* + * Copyright (c) 2020, SDCNCSI. All rights reserved. + */ +package com.chinaunicom.mall.ebtp.project.projectentrust.entity.ebpentity; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +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; +import lombok.experimental.Accessors; + +import java.time.LocalDateTime; + +/** + *

+ * 附件表 + *

+ * + * @author weiym + * @date 2020-11-21 + * @version: V1.0 + * @update [序号][日期YYYY-MM-DD] [更改人姓名][变更描述] + */ +@Data +@Accessors(chain = true) +@TableName("base_file") +@ApiModel(value = "BaseFileVO对象", description = "附件表") +public class BaseFileNoPageVO { + + @ApiModelProperty(value = "主键") + @TableId(value = "id") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + @ApiModelProperty(value = "所属中心") + private String app_code; + + @ApiModelProperty(value = "本附件所属的业务表") + private String tableName; + + @ApiModelProperty(value = "所属单据字段") + private String columnName; + + @ApiModelProperty(value = "所属业务主键") + @JsonSerialize(using = ToStringSerializer.class) + private Long billId; + + @ApiModelProperty(value = "所属业务类型一级(同一个表多种业务类型,例如需求单附件和需求单技术规范书)") + private String firstObjectType; + + @ApiModelProperty(value = "所属业务类型二级(例如方案的附件又分为 对内,对外)") + private String secondObjectType; + + @ApiModelProperty(value = "所属业务类型二级(例如方案的附件又分为 对内或对外又分为,N种类型)") + private String thirdObjectType; + + @ApiModelProperty(value = "文档中心附件id") + private String documentCenterFileId; + + @ApiModelProperty(value = "附件原始名称") + private String originalName; + + @ApiModelProperty(value = "生成附件名称") + private String fileName; + + @ApiModelProperty(value = "附件后缀名") + private String fileSuffix; + + @ApiModelProperty(value = "附件大小") + private String fileSize; + + @ApiModelProperty(value = "版本升级标识(业务侧使用)") + private String upgradeFlag; + + @ApiModelProperty(value = "备注说明") + private String remark; + + @ApiModelProperty(value = "系统团体编码") + private String sysPartyCode; + + @ApiModelProperty(value = "排序编码") + private String orderNo; + + @ApiModelProperty(value = "修改原因") + private String modifyReason; + + @ApiModelProperty(value = "编制人") + private String maker; + + @ApiModelProperty(value = "编制人编码") + private String makerCode; + + @ApiModelProperty(value = "修改人") + private String modifyUser; + + @ApiModelProperty(value = "修改人编码") + private String modifyUserCode; + + @ApiModelProperty(value = "最后更新时间戳") + private LocalDateTime lastUpdateTime; + + @ApiModelProperty(value = "备用字段1") + private String attribute1; + + @ApiModelProperty(value = "备用字段2") + private String attribute2; + + @ApiModelProperty(value = "备用字段3") + private String attribute3; + + @ApiModelProperty(value = "备用字段4") + private String attribute4; + + @ApiModelProperty(value = "备用字段5") + private String attribute5; + + +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/ebpentity/PurpBaseInfoVO.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/ebpentity/PurpBaseInfoVO.java index 29dd25c..eb85197 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/ebpentity/PurpBaseInfoVO.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/ebpentity/PurpBaseInfoVO.java @@ -164,6 +164,9 @@ public class PurpBaseInfoVO { @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date auditDate; + @ApiModelProperty(value = "附件列表") + private List baseFileVOList; + @ApiModelProperty(value = "采购内容") private List purpMaterialVOList; @@ -181,5 +184,7 @@ public class PurpBaseInfoVO { @ApiModelProperty(value = "项目背景") private String purpContext; - + + @ApiModelProperty(value = "是否展示按钮") + private String isDeleteShow; } diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/inquiryentity/InquiryGoodsVO.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/inquiryentity/InquiryGoodsVO.java index 0ded4c2..b325b5e 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/inquiryentity/InquiryGoodsVO.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/inquiryentity/InquiryGoodsVO.java @@ -1,14 +1,16 @@ package com.chinaunicom.mall.ebtp.project.projectentrust.entity.inquiryentity; -import java.math.BigDecimal; -import java.io.Serializable; -import java.util.Date; -import java.util.List; - +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; /** * @description:询价商品 @@ -43,7 +45,7 @@ public class InquiryGoodsVO implements Serializable { private String itemDescription; @ApiModelProperty(value = "商品分类") - private String categoryCode; + private String categoryName; @ApiModelProperty(value = "品牌名称") private String brandName; @@ -75,6 +77,8 @@ public class InquiryGoodsVO implements Serializable { @ApiModelProperty(value = "处理人名称") private String managerCn; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date lastUpdateTime; } diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/inquiryentity/InquiryNoticeVO.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/inquiryentity/InquiryNoticeVO.java new file mode 100644 index 0000000..01ce6b6 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/inquiryentity/InquiryNoticeVO.java @@ -0,0 +1,62 @@ +package com.chinaunicom.mall.ebtp.project.projectentrust.entity.inquiryentity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * 询价返回通知实体 + * @author daixc + * @date 2021/01/23 + */ +@Data +@Accessors(chain = true) +@ApiModel("询价返回通知实体") +@TableName(autoResultMap = true) +public class InquiryNoticeVO implements Serializable { + + @ApiModelProperty(value = "询价单id") + private String inquiryId; + + @ApiModelProperty(value = "询价返回通知状态 0 发布 1 作废 2 推迟") + private Integer inquiryNoticeStatus; + + @ApiModelProperty(value = "询价返回通知原因(作废/推迟)") + private String reason; + + @ApiModelProperty(value = "报价截至时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date endTime; + + @ApiModelProperty(value = "评审开始时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date reviewStartTime; + + @ApiModelProperty(value = "附件") + private String uploadFile; + + @ApiModelProperty(value = "创建人名称") + private String createCn; + + @ApiModelProperty(value = "处理人,操作人") + private String managerBy; + + @ApiModelProperty(value = "处理人名称") + private String managerCn; + + @ApiModelProperty(value = "租户名称") + private String tenantName; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date lastUpdateTime; +} diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/inquiryentity/InquiryResponseFormatVO.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/inquiryentity/InquiryResponseFormatVO.java index 495ec41..40ff737 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/inquiryentity/InquiryResponseFormatVO.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/inquiryentity/InquiryResponseFormatVO.java @@ -1,10 +1,12 @@ package com.chinaunicom.mall.ebtp.project.projectentrust.entity.inquiryentity; +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.Date; @@ -34,6 +36,9 @@ public class InquiryResponseFormatVO implements Serializable { @ApiModelProperty(value = "类别名称") private String categoryName; + @ApiModelProperty(value = "类别编码") + private String categoryCode; + @ApiModelProperty(value = "名称") private String name; @@ -52,6 +57,8 @@ public class InquiryResponseFormatVO implements Serializable { @ApiModelProperty(value = "租户名称") private String tenantName; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date lastUpdateTime; } diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/inquiryentity/InquiryVO.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/inquiryentity/InquiryVO.java index a53e838..b51938f 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/inquiryentity/InquiryVO.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/entity/inquiryentity/InquiryVO.java @@ -6,10 +6,14 @@ import java.io.Serializable; import java.util.Date; import java.util.List; +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; import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; /** * @description:询价单 @@ -43,15 +47,74 @@ public class InquiryVO implements Serializable { @ApiModelProperty(value = "询价人省分ou名称") private String orgOuName; + @ApiModelProperty(value = "招募结果市份ou") + private String recruitmentCityOu; + + @ApiModelProperty(value = "招募结果省份ou") + private String recruitmentProvinceOu; + @ApiModelProperty(value = "询价企业名称(中国联合网络通信有限公司)") private String inquiryCompany; @ApiModelProperty(value = "询价单位名称(例如山东省济南市分公司)") private String inquiryOrg; + @ApiModelProperty(value = "企业账号 (联通常量:chinaunicom)") + private String comCode; + + @ApiModelProperty(value = "企业子帐号(eshop_mall_ucai,根据mall_code获取)") + private String comSubCode; + + @ApiModelProperty(value = "状态 0:草稿,1:已发布,2:报价结束,3:筛选结束,4:下单完成,5:无报价,6:终止询价,7:删除,8:已导入采购系统,9:导入采购系统失败,10:失效") + private Integer status; + + @ApiModelProperty(value = "发布前审批状态:0:等待提交审批 1:提交审批成功 2:提交审批失败 3:审批成功 4:审批未通过 5:退回申请人") + private Integer approveStatusFront; + + @ApiModelProperty(value = "发布前,审批申请id") + @JsonSerialize(using = ToStringSerializer.class) + private Long docIdFront; + + @ApiModelProperty(value = "方案审批通过后待办") + private String pendingCodeApproveFront; + + @ApiModelProperty(value = "0:等待提交审批 1:提交审批成功 2:提交审批失败 3:审批成功 4:审批没通过 5:退回申请人") + private Integer approveStatus; + + @ApiModelProperty(value = "审批申请id") + @JsonSerialize(using = ToStringSerializer.class) + private Long docId; + + private String pendingcode; + @ApiModelProperty(value = "报价截至时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date endTime; + @ApiModelProperty(value = "期望收货时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date hopeReceiptTime; + + @ApiModelProperty(value = "是否报含税价 1:是 0:否") + private Integer ifCompanyPricle; + + @ApiModelProperty(value = "是否包含运费价 1:是 0:否 ") + private Integer ifFarePricle; + + @ApiModelProperty(value = "是否允许部分报价 1:是 0:否 ") + private Integer ifPartOffer; + + @ApiModelProperty(value = "交货期(自下单后多少天内交货至指定地点)") + private Integer sendDays; + + @ApiModelProperty(value = "邮编") + private String postcode; + + @ApiModelProperty(value = "国id") + private Integer country; + @ApiModelProperty(value = "省code") private String province; @@ -70,18 +133,75 @@ public class InquiryVO implements Serializable { @ApiModelProperty(value = "区县名称") private String addressAreaName; + @ApiModelProperty(value = "街id") + private String street; + + @ApiModelProperty(value = "街道名称") + private String addressStreetName; + + @ApiModelProperty(value = "拼接地址") + private String regionAddress; + + @ApiModelProperty(value = "详细收货地址") + private String address; + + @ApiModelProperty(value = "发票要求 0:增值税专用发票 1:增值税普通发票 2:不用发票") + private Integer invoiceType; + + @ApiModelProperty(value = "补充说明") + private String notet; + + @ApiModelProperty(value = "询价方式 0:本商店供应商 1:全部供应商 ") + private Integer inquiryType; + + @ApiModelProperty(value = "具备报价权限供应商池子号(inquirytype=0时不能为空)") + private String goodsPools; + + @ApiModelProperty(value = "比价方式 0:非密封比价 (报价过程中可随时查看报价单) 1:密封比价 (报价截止时间到期后才能查看报价单) ") + private Integer offerType; + + @ApiModelProperty(value = "联系方式 0:报价后可见 1:公开") + private Integer telType; + @ApiModelProperty(value = "联系人") private String telName; @ApiModelProperty(value = "联系电话") private String telphone; + @ApiModelProperty(value = "项目段") + private String projectCode; + + @ApiModelProperty(value = "项目段名称") + private String projectName; + + @ApiModelProperty(value = "项目段值") + private String projectValue; + + @ApiModelProperty(value = "工程物资项目真实编号,带.(预算操作时,使用该字段)") + private String projectValueLong; + @ApiModelProperty(value = "询价范围,0:所有,1:1级,2:2级及以上,3:3级及以上,4:4级及以上,5:5级及以上,6:指定供应商,7:按标签筛选供应商,8上一轮中选供应商") private Integer scope; + @ApiModelProperty(value = "按标签筛选供应商时,筛选方法,0:并集,1:交集") + private Integer labelFilterType; + @ApiModelProperty(value = "中选方式,0:综合评分法,1:最低价法") private Integer selectType; + @ApiModelProperty(value = "权重:商务") + private BigDecimal busin; + + @ApiModelProperty(value = "权重:技术") + private BigDecimal tech; + + @ApiModelProperty(value = "权重:服务") + private BigDecimal service; + + @ApiModelProperty(value = "权重:价格") + private BigDecimal price; + @ApiModelProperty(value = "价格公式") private String priceFormula; @@ -94,30 +214,278 @@ public class InquiryVO implements Serializable { @ApiModelProperty(value = "中选原则") private String selectRule; - @ApiModelProperty(value = "询价模式 0:公开询价 1:定向询价") - private Integer inquiryModel; + @ApiModelProperty(value = "技术要求") + private String technicRequire; + + @ApiModelProperty(value = "原厂商授权要求") + private String authRequire; + + @ApiModelProperty(value = "总价限制-最小") + private BigDecimal limitMin; + + @ApiModelProperty(value = "总价限制-最大") + private BigDecimal limitMax; @ApiModelProperty(value = "预算金额") private BigDecimal budgetNum; + @ApiModelProperty(value = "支付要求") + private String payRequire; + + @ApiModelProperty(value = "是否可议价 0:否 1:是 根据商店配置设定") + private Integer inquiryBargaining; + + @ApiModelProperty(value = "终止询价原因") + private String delNotet; + + @ApiModelProperty(value = "询价模式 0:公开询价 1:定向询价") + private Integer inquiryModel; + + @ApiModelProperty(value = "询价单类型 0:单次询价 1:阶段询价 2:定向询价") + private Integer inquiryOrderType; + + @ApiModelProperty(value = "阿里询价单id") + private String aliInquiryId; + + @ApiModelProperty(value = "阶段询价有效开始时间,默认为审批通过时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date priceStartTime; + + @ApiModelProperty(value = "阶段询价有效结束时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date priceEndTime; + + @ApiModelProperty(value = "修改商品池中商品价格0-不修改1-修改(修改时有效期内商品池不能调价)") + private Integer changeGoodsPrice; + + @ApiModelProperty(value = "是否进行展示,0不公示,1公示") + private Integer isShow; + + @ApiModelProperty(value = "公示开始时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date showDateStart; + + @ApiModelProperty(value = "公示结束时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date showDateEnd; + + @ApiModelProperty(value = "公示天数") + private Integer showTime; + + @ApiModelProperty(value = "是否工程物资,0:否 1:是") + private Integer sometype; + + @ApiModelProperty(value = "是否成本费用 0:否 1:是") + private Integer sometypeCost; + + @ApiModelProperty(value = "是否零星购置,0:否,1:是") + private Integer sometypeLg; + + @ApiModelProperty(value = "合同类型:0:公开市场电子合同;1:导入采购系统") + private Integer isInnovate; + @ApiModelProperty(value = "采购方式:0公开询价,1公开直购") private Integer buyWay; + @ApiModelProperty(value = "公开直购筛选方式,0:按物料编码筛选,1:按条形码筛选,2:按照目录+属性筛选") + private Integer filterType; + @ApiModelProperty(value = "唱标时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date announcementTime; @ApiModelProperty(value = "唱标状态 -1:不需要唱标 0 未唱标 1 唱标中 2 唱标结束 ") private Integer announcementStatus; + @ApiModelProperty(value = "询价单生成来源,0:原询价单生成,1:根据招募结果生成") + private Integer inquiryFromType; + + @ApiModelProperty(value = "招募结果id") + private String recruitmentId; + + @ApiModelProperty(value = "招募结果code") + private String recruitmentCode; + + @ApiModelProperty(value = "招募结果版本号") + private String recruitmentVersion; + + @ApiModelProperty(value = "招募结果名称") + private String recruitmentName; + + @ApiModelProperty(value = "招募结果标段id") + private String recruitmentBidId; + + @ApiModelProperty(value = "标段号") + private String recruitmentBidCode; + + @ApiModelProperty(value = "招募结果标段名称") + private String recruitmentBidName; + + @ApiModelProperty(value = "招募结果标段场景id") + private String recruitmentBidSceneId; + + @ApiModelProperty(value = "场景编号") + private String recruitmentBidSceneCode; + + @ApiModelProperty(value = "场景名称") + private String recruitmentBidSceneName; + + @ApiModelProperty(value = "单据类型,0:询价单;1:任务单(广告);2:公开直购询价单") + private Integer documentType; + + @ApiModelProperty(value = "是否二次询价,0否1是") + private Integer isSecondInquiry; + + @ApiModelProperty(value = "老询价单id") + private String oldInquiryId; + + @ApiModelProperty(value = "公开直购订单公示开始时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date orderShowDateStart; + + @ApiModelProperty(value = "公开直购订单公示结束时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date orderShowDateEnd; + + @ApiModelProperty(value = "公开直购订单公示天数") + private Integer orderShowDay; + + @ApiModelProperty(value = "是否最低价入选供应商,0是;1不是") + private Integer isSelectedMinimum; + + @ApiModelProperty(value = "选择供应商原因") + private String selectProviderReason; + @ApiModelProperty(value = "定向询价原因") private String inquiryModel1Reason; + @ApiModelProperty(value = "询价单发布时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date publishDate; + + @ApiModelProperty(value = "询价单中选结果时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date resultDate; + + @ApiModelProperty(value = "询价单结果提交审批时间") + private Date resultSubmitApproveDate; + + @ApiModelProperty(value = "结果审批通过时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date resultApproveDate; + + @ApiModelProperty(value = "是否物流询价:0否1是,默认为0") + private Integer isLogistics; + + @ApiModelProperty(value = "物流路线类型:0所有省份路线,1部分省份路线(需要上传),默认为0") + private Integer logisticsType; + + @ApiModelProperty(value = "终止询价审批单docid") + @JsonSerialize(using = ToStringSerializer.class) + private Long docIdConcal; + + @ApiModelProperty(value = "终止询价单审批0:等待提交审批 1:提交审批成功 2:提交审批失败 3:审批通过 4:审批否决 ") + private Integer statusConcel; + + @ApiModelProperty(value = "是否有上级关联,0没有 1有") + private Integer isBeforeRelated; + + @ApiModelProperty(value = "上级关联询价单id(原询价单id),询价单a关联询价单b,a为新询价单,b为原询价单") + private String beforeRelatedInquiryId; + + @ApiModelProperty(value = "上级关联的原因") + private String beforeRelatedReason; + + @ApiModelProperty(value = "是否有下级关联,0没有 1有") + private Integer isNextRelated; + + @ApiModelProperty(value = "下级关联询价单id(新询价单id),询价单a关联询价单b,a为新询价单,b为原询价单") + private String nextRelatedInquiryId; + + @ApiModelProperty(value = "询价单失效类型,0未失效 1关联失效 2多轮次询价失效") + private Integer invalidType; + + @ApiModelProperty(value = "多伦询价原因,对内") + private String mrReasonIn; + + @ApiModelProperty(value = "多伦询价原因,对外") + private String mrReasonOut; + + @ApiModelProperty(value = "多伦询价是否修改询价方案,0否1是,默认为0 ") + private Integer mrIsChangeInquiry; + + @ApiModelProperty(value = "多伦询价-未修改询价方案,不允许报价高于前一轮次:0否1是,默认为0") + private Integer mrIsNoOfferHigherThanPrevious; + + @ApiModelProperty(value = "多伦询价-未修改询价方案,价格限制说明") + private String mrOfferLimitDesc; + + @ApiModelProperty(value = "多伦询价,第几轮") + private Integer mrNum; + + @ApiModelProperty(value = "多伦询价,首轮询价单id") + private String mrFirstInquiryId; + + @ApiModelProperty(value = "多伦询价,上一轮询价单id") + private String mrPreviousInquiryId; + + @ApiModelProperty(value = "多伦询价-创新业务询价单,是否为标后询价:0否1是,默认为-1") + private Integer mrIsAfterBid; + + @ApiModelProperty(value = "是否在电子招投标平台进行综合评分,1:是 0:否") + private Integer isScore; + @ApiModelProperty(value = "评审开始时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date reviewStartTime; + @ApiModelProperty(value = "多伦询价,前一轮询价单发起继续询价时的状态") + private Integer mrPreviousInquiryStatus; + + @ApiModelProperty(value = "需求专业类别 1:it物资,2:建设物资,3:市场物资4:运维物资 5:综合行政物资 6:创新业务") + private Integer marjor; + + @ApiModelProperty(value = "是否创新业务,0否1是,默认为0。如果询价明细包含创新业务的5个目录,则为1") + private Integer isInnovations; + + @ApiModelProperty(value = "归档状态,0未归档,1归档申请中(归档草稿、审批中),2已归档(归档审批通过),3可归档(询价单已归档,其关联失效、多轮失效的询价单可归档)") + private Integer archiveStatus; + + @ApiModelProperty(value = "评审结果推送状态,0未推送,1推送成功,2推送失败,默认为0") + private Integer statusApproveResultPush; + + @ApiModelProperty(value = "是否允许发布推送状态,0未推送,1推送成功,2推送失败,默认为0。与 status_push_delegation (询价单推送代理机构状态)关联使用") + private Integer statusAllowPublishPush; + + @ApiModelProperty(value = "是否允许发布,参数值如下: 0否,1是,默认为0") + private Integer apIsAllowPublish; + + @ApiModelProperty(value = "是否允许发布:不允许发布原因,is_allow_publish为0时必填") + private String apRefuseReason; + + @ApiModelProperty(value = "是否允许发布,操作人中文名") + private String apOperatorName; + + @ApiModelProperty(value = "权重:主观分") + private BigDecimal subjectivity; + @ApiModelProperty(value = "价格评审办法:0最低价法,1基准价法,2其他") private Integer reviewMethod; + @ApiModelProperty(value = "评委数量") + private Integer judgeAmount; + @ApiModelProperty(value = "是否委托招标代理,0否1是") private Integer isDelegation; @@ -127,20 +495,78 @@ public class InquiryVO implements Serializable { @ApiModelProperty(value = "代理机构名称") private String delegationName; + @ApiModelProperty(value = "询价单推送代理机构状态,0未推送,1推送成功,2推送失败,默认为0") + private Integer statusPushDelegation; + + @ApiModelProperty(value = "推送代理机构失败原因") + private String pushDelegationFailReason; + + @ApiModelProperty(value = "询价单推送供应商平台状态,0未推送,1推送成功,2推送失败,默认为0") + private Integer statusPushPlatform; + + @ApiModelProperty(value = "推送平台失败原因") + private String pushPlatformFailReason; + + @ApiModelProperty(value = "0不需要推送电子招投标,1需要推送电子招投标") + private Integer isPushDelegation; + + @ApiModelProperty(value = "单点登录电子招投标id") + private String delegationLoginSingle; + + @ApiModelProperty(value = "询价单更新作废接口推送状态,0未推送,1推送成功,2推送失败,默认为0") + private Integer statusUpdateInvalidDelegation; + + @ApiModelProperty(value = "询价单更新作废接口推送失败原因") + private String updateInvalidDelegationFailReason; + + @ApiModelProperty(value = "报价截止时间商城和平台对账状态。0-未对账,1-已对账") + private Integer endtimeAccountStatus; + + @ApiModelProperty(value = "询价单信息商城和平台对账状态。0-未对账 ,1-已对账") + private Integer inquiryInfoAccountStatus; + + @ApiModelProperty(value = "询价单有效性保存状态,0未保存完成,1保存完成,默认为0") + private Integer statusSaveValid; + + @ApiModelProperty(value = "是否需要统一折扣:0否1是,默认为-1") + private Integer isUniformDiscount; + + @ApiModelProperty(value = "管控方式 0 预算管控 1总价管控,默认为-1") + private Integer controlModel; + + @ApiModelProperty(value = "最低有效报价数量") + private Integer minValidOffer; + + @ApiModelProperty(value = "是否为折扣报价标段,0否,1是") + private Integer isDiscountOffer; + + @ApiModelProperty(value = "审批驳回原因") + private String approveRejectReason; + + @ApiModelProperty(value = "询价结果强制执行人复核场景。三位数字分别表示以下三个条件是否满足(1满足0不满足),a.询价结果标记无效报价数量大于总报价数量的30%;b.采用最低价中选法,且最低报价者被标记未无效的;c.采用综合评分法,且综合得分最高者被标记为无效的.如111表示都满足,000表示都不满足") + private String executorApproveStatus; + @ApiModelProperty(value = "标的类型:1货物 2服务 3施工服务") private Integer bidType; + @ApiModelProperty(value = "5g创新业务,0不是,1是") + private Integer isFifthGPrefecture; + + @ApiModelProperty(value = "是否启用配置单,0否,1是") + private Integer isConfig; + + @ApiModelProperty(value = "采购系统需求单编号,可多个需求单号,逗号拼接") + private String billNo; + @ApiModelProperty(value = "处理人,操作人") private String managerBy; @ApiModelProperty(value = "处理人名称") private String managerCn; - @ApiModelProperty(value = "委托部门") - private String entrustDepartment; - - @ApiModelProperty(value = "委托部门名称") - private String entrustDepartmentName; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date lastUpdateTime; @ApiModelProperty(value = "询价商品列表") private List inquiryGoodsList; diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/service/IProjectEntrustInquiryService.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/service/IProjectEntrustInquiryService.java index 07f1cbb..f0ce0e7 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/service/IProjectEntrustInquiryService.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/service/IProjectEntrustInquiryService.java @@ -2,6 +2,7 @@ package com.chinaunicom.mall.ebtp.project.projectentrust.service; import com.chinaunicom.mall.ebtp.common.base.service.IBaseService; import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ProjectEntrust; +import com.chinaunicom.mall.ebtp.project.projectentrust.entity.inquiryentity.InquiryNoticeVO; import com.chinaunicom.mall.ebtp.project.projectentrust.entity.inquiryentity.InquiryVO; /** @@ -18,4 +19,10 @@ public interface IProjectEntrustInquiryService extends IBaseService implements IProjectEntrustInquiryService { - @Resource private IProjectEntrustService entrustService; + @Resource + private IProjectRecordService projectRecordService; + + @Resource + private IProjectExceptionService exceptionService; + + @Resource + private IProjectSectionService projectSectionService; + + @Resource + private IProjectEntrustExpandService entrustExpandService; + @Override @Transactional(rollbackFor = Exception.class) public boolean initProjectEntrust(InquiryVO inquiryVO) { boolean result = false; - ProjectEntrust projectEntrust = this.getOne(new QueryWrapper().eq("procurement_plan_id",inquiryVO.getInquiryId())); + ProjectEntrust projectEntrust = this.getOne(new QueryWrapper().eq("procurement_plan_id",inquiryVO.getInquiryId()).ne("status",ProjectCommonUtil.ENTRUS_STATUS_9)); //是否需要请求接口 boolean isRequestClient = false; - //是否调用修改 boolean isUpdate =false; //判断如果为空 或者之前拒绝 重新插入 - if(null == projectEntrust || projectEntrust.getStatus().equals(ProjectCommonUtil.ENTRUS_STATUS_9)){ + if(null == projectEntrust){ isRequestClient = true; }else{ //如果为分派或者未同意 可以进行修改 @@ -55,11 +73,9 @@ public class ProjectEntrustInquiryServiceImpl extends BaseServiceImpl().eq("procurement_plan_id",inquiryNoticeVO.getInquiryId()).ne("status",ProjectCommonUtil.ENTRUS_STATUS_9)); + if(null == projectEntrust){ + ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_ENTRUST_NOT_FIND.throwException(); + }else{ + result = projectRecordService.assent(projectEntrust.getId()); + //初始化后续流程 + ProjectEntrustExpand expand = entrustExpandService.getOne(new QueryWrapper().eq("entrust_id",projectEntrust.getId())); + InquiryVO inquiryVO = expand.getInquiryVO(); + inquiryVO.setEndTime(inquiryNoticeVO.getEndTime()); + inquiryVO.setReviewStartTime(inquiryNoticeVO.getReviewStartTime()); + + ProjectEntrustVO entrustVO = BeanUtil.toBean(projectEntrust,ProjectEntrustVO.class); + entrustVO.setProjectEntrustExpand(expand); + initProcess(entrustVO); + } + return result; + } + + private void initProcess(ProjectEntrustVO projectEntrustVO){ + + //初始化流程 + ProjectRecordVO recordVO = new ProjectRecordVO(); + recordVO.setEbpProjectId(projectEntrustVO.getProcurementPlanId()); + recordVO = projectRecordService.getList(recordVO).get(0); + + Map sectionMaps = projectSectionService.getFlowList(recordVO.getId()); + + projectRecordService.initialize(recordVO.getId(), false, sectionMaps); + + //初始化招标文件 + + //初始化应答文件 + + } + /** * 初始化委托单信息 * @param inquiryVO 询价单信息 - * @return + * @return 返回拼装信息 */ private ProjectEntrustVO assembleProjectEntrust(InquiryVO inquiryVO) { @@ -85,10 +158,7 @@ public class ProjectEntrustInquiryServiceImpl extends BaseServiceImpl().eq("procurement_plan_id",ebpProjectId)); + ProjectEntrust projectEntrust = this.getOne(new QueryWrapper().eq("procurement_plan_id",ebpProjectId).ne("status",ProjectCommonUtil.ENTRUS_STATUS_9)); //是否需要请求接口 boolean isRequestClient = false; @@ -272,9 +291,10 @@ public class ProjectEntrustServiceImpl extends BaseServiceImpl response = ebtpAuctionApi.initProjectAuction(ebpProjectId,purpImplementSendVO); + ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_PURP_SUPER_VO_EMPTY.customValidName(response.getMessage(),!response.isSuccess()); + result = response.isSuccess(); }else{ - //校验数据 checkPurpImplementSendVO(purpImplementSendVO); //初始化委托单信息 @@ -295,7 +315,7 @@ public class ProjectEntrustServiceImpl extends BaseServiceImpl response = ebtpAuctionApi.initProjectAuction(purpImplementSendVO.getId(),purpImplementSendVO); + ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_PURP_SUPER_VO_EMPTY.customValidName(response.getMessage(),!response.isSuccess()); + result = response.isSuccess(); }else{ //校验数据 @@ -494,7 +516,6 @@ public class ProjectEntrustServiceImpl extends BaseServiceImpl - + @@ -36,7 +36,7 @@ t.id AS id, e.bid_sect_name AS sectionName, t.project_id AS projectId, - t.exception_type AS exceptionType, + t.exception_new_title AS exceptionNewTitle, t.exception_desc AS exceptionDesc, t.handle_type AS handleType, t.exception_comments AS exceptionComments, diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectexception/entity/ProjectException.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectexception/entity/ProjectException.java index 3907097..4172777 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectexception/entity/ProjectException.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectexception/entity/ProjectException.java @@ -51,10 +51,10 @@ public class ProjectException extends BaseEntity implements Serializable { private String sectionId; /** - * 项目异常类别 + * 招标项目新名称 */ - @ApiModelProperty(value = "项目异常类别") - private String exceptionType; + @ApiModelProperty(value = "招标项目新名称") + private String exceptionNewTitle; /** * 项目失败描述 diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectexception/service/IProjectExceptionService.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectexception/service/IProjectExceptionService.java index 6c6049a..db8f2c3 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectexception/service/IProjectExceptionService.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectexception/service/IProjectExceptionService.java @@ -3,6 +3,7 @@ package com.chinaunicom.mall.ebtp.project.projectexception.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.chinaunicom.mall.ebtp.common.base.service.IBaseService; +import com.chinaunicom.mall.ebtp.project.projectentrust.entity.inquiryentity.InquiryNoticeVO; import com.chinaunicom.mall.ebtp.project.projectexception.entity.ProjectException; import com.chinaunicom.mall.ebtp.project.projectexception.entity.ProjectExceptionVO; @@ -48,4 +49,11 @@ public interface IProjectExceptionService extends IBaseService * @return 返回结果 */ boolean updateState(String id); + + /** + * 创建询价终止信息 + * @param inquiryNoticeVO 询价项目终止返回信息 + * @return 返回结果 成功 失败 + */ + boolean saveInquiryException(InquiryNoticeVO inquiryNoticeVO); } 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 cee702a..4a3e9f4 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 @@ -19,6 +19,7 @@ import com.chinaunicom.mall.ebtp.project.dict.service.IDictProjectService; import com.chinaunicom.mall.ebtp.project.feign.EbtpMallBidApi; import com.chinaunicom.mall.ebtp.project.feign.MallPurpApi; import com.chinaunicom.mall.ebtp.project.feign.entity.AnnoVO; +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; import com.chinaunicom.mall.ebtp.project.projectexception.entity.ProjectExceptionVO; @@ -182,23 +183,17 @@ public class ProjectExceptionServiceImpl extends BaseServiceImpl sectionList = projectSectionService.getList(projectSectionVO); + /*标段是否全部废止状态*/ + long isAllAbolish = sectionList.stream().filter(n -> n.getStatus() != ProjectCommonUtil.SECTION_STATUS_9).count(); - //修改项目异常信息状态 - ProjectException updateProjectException = new ProjectException(); - updateProjectException.setId(projectException.getId()); - updateProjectException.setStatus(ProjectCommonUtil.SECTION_EXCEPTION_STATE_1); - boolean result = this.updateById(updateProjectException); - - - //修改标段信息状态 + //提取异常标段ID List sectionExceptionIds = sectionExceptionList.stream().map(ProjectSectionException::getSectionId).collect(Collectors.toList()); - UpdateWrapper sectionUpdateWrapper = new UpdateWrapper<>(); - sectionUpdateWrapper.in("id",sectionExceptionIds); - sectionUpdateWrapper.set("status",ProjectCommonUtil.SECTION_STATUS_9); - projectSectionService.update(sectionUpdateWrapper); - /*是否全部废止状态*/ - int isAllAbolish = sectionList.stream().filter(n -> n.getStatus() != ProjectCommonUtil.SECTION_STATUS_9).collect(Collectors.toList()).size(); + //获取异常标段信息 + sectionList = sectionList.stream().filter(n -> sectionExceptionIds.contains(n.getId())).collect(Collectors.toList()); + + //校验是否含有已归档的标段信息 + checkSectionBusinessModule(sectionList); /*如果项目标段全部废止 修改项目建档信息为废止*/ if(isAllAbolish <= 0){ @@ -207,13 +202,25 @@ public class ProjectExceptionServiceImpl extends BaseServiceImpl sectionExceptionIds.contains(n.getId())).collect(Collectors.toList()); + + //修改项目异常信息状态 + ProjectException updateProjectException = new ProjectException(); + updateProjectException.setId(projectException.getId()); + updateProjectException.setStatus(ProjectCommonUtil.SECTION_EXCEPTION_STATE_1); + boolean result = this.updateById(updateProjectException); + + //修改标段信息状态 + UpdateWrapper sectionUpdateWrapper = new UpdateWrapper<>(); + sectionUpdateWrapper.in("id",sectionExceptionIds); + sectionUpdateWrapper.set("status",ProjectCommonUtil.SECTION_STATUS_9); + projectSectionService.update(sectionUpdateWrapper); + /*项目终止 通知采购平台接 */ if(StringUtils.equals(ProjectCommonUtil.SECTION_EXCEPTION_HANDLE_TYPE_1,projectException.getHandleType())){ //发送接口 projInvitationFail(projectException,sectionList); }else{ //项目再次购买 - launchAgainProject(projectException.getProjectId(), sectionList); + launchAgainProject(projectException, sectionList); } //通知招标服务停止 abnormal(sectionExceptionIds); @@ -221,16 +228,51 @@ public class ProjectExceptionServiceImpl extends BaseServiceImpl= ProjectCommonUtil.BUSINESS_MODULE_12); + //2 插入异常信息和异常标段信息 + ProjectExceptionVO exception = new ProjectExceptionVO(); + exception.setProjectId(section.getProjectId()); + exception.setId(PropertyUtils.getSnowflakeId()); + exception.setStatus(ProjectCommonUtil.SECTION_EXCEPTION_STATE_1); + exception.setIsSendMessage(ProjectCommonUtil.IS_SEND_MESSAGE_1); + exception.setExceptionDesc(ProjectCommonUtil.EXCEPTION_DESC_4); + exception.setHandleType(ProjectCommonUtil.SECTION_EXCEPTION_HANDLE_TYPE_1); + exception.setExceptionComments(inquiryNoticeVO.getReason()); + + boolean result = this.save(exception); + ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_EXCEPTION_SAVE.customValid(!result); + String[] sectionArray = {section.getId()}; + exception.setSectionArray(sectionArray); + result = saveSectionList(exception); + + //3 修改项目和标段信息 + ProjectRecord projectRecord = new ProjectRecord(); + projectRecord.setStatus(ProjectCommonUtil.PROJECT_STATUS_9); + projectRecord.setId(exception.getProjectId()); + projectRecordService.updateById(projectRecord); + + section.setStatus(ProjectCommonUtil.SECTION_STATUS_9); + projectSectionService.updateById(section); + return result; + } + /** * 再次发起项目 - * @param projectId 项目ID + * @param projectException 项目ID * @param sectionList 项目标段 */ - private void launchAgainProject(String projectId,List sectionList) { + private void launchAgainProject(ProjectException projectException,List sectionList) { //查询项目信息 - ProjectRecord projectRecord = projectRecordService.getById(projectId); + ProjectRecord projectRecord = projectRecordService.getById(projectException.getProjectId()); //重新给项目赋值 //新项目copy项目ID @@ -241,6 +283,8 @@ public class ProjectExceptionServiceImpl extends BaseServiceImpl sectionIds = sectionList.stream().map(ProjectSection::getId).collect(Collectors.toList()); @@ -271,10 +315,6 @@ public class ProjectExceptionServiceImpl extends BaseServiceImpl sectionList){ + long isContainsErrorBusinessModule = sectionList.stream().filter(n -> n.getBusinessModule() >= ProjectCommonUtil.BUSINESS_MODULE_12).count(); + ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_EXCEPTION_SECTION_BUSINESS_MODULE_ERROR.customValid(isContainsErrorBusinessModule > 0); + } + /** * 批量插入异常标段信息 * @param projectExceptionVO 异常信息 diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/entity/ProjectRecord.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/entity/ProjectRecord.java index 3bc51f1..a45e7b6 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/entity/ProjectRecord.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/entity/ProjectRecord.java @@ -337,7 +337,7 @@ public class ProjectRecord extends BaseEntity implements Serializable { /** * 是否使用简化流程 */ - @ApiModelProperty(value = "是否使用简化流程 0 是 1 否") + @ApiModelProperty(value = "是否使用简化流程 0 否 1 是") private String isApproval; diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/entity/ProjectRecordVO.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/entity/ProjectRecordVO.java index a28cc55..c23d7cc 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/entity/ProjectRecordVO.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/entity/ProjectRecordVO.java @@ -60,4 +60,7 @@ public class ProjectRecordVO extends ProjectRecord implements Serializable { @ApiModelProperty(value = "项目ID集合") private List selectIds; + @ApiModelProperty(value = "采购方式集合") + private List selectBidMethod; + } diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/service/IProjectRecordService.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/service/IProjectRecordService.java index d6117f0..ce7faf4 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/service/IProjectRecordService.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/service/IProjectRecordService.java @@ -4,7 +4,6 @@ package com.chinaunicom.mall.ebtp.project.projectrecord.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.chinaunicom.mall.ebtp.common.base.service.IBaseService; import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ProjectEntrustVO; -import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ebpentity.ProjBaseInfoVO; import com.chinaunicom.mall.ebtp.project.projectrecord.entity.ProjectRecord; import com.chinaunicom.mall.ebtp.project.projectrecord.entity.ProjectRecordVO; diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/service/impl/ProjectRecordServiceImpl.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/service/impl/ProjectRecordServiceImpl.java index 32fa017..c5f7c5b 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/service/impl/ProjectRecordServiceImpl.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/service/impl/ProjectRecordServiceImpl.java @@ -16,14 +16,19 @@ import com.chinaunicom.mall.ebtp.common.exception.common.CommonExceptionEnum; import com.chinaunicom.mall.ebtp.common.util.JsonUtils; import com.chinaunicom.mall.ebtp.common.util.PropertyUtils; import com.chinaunicom.mall.ebtp.project.common.EbpProjectCommonUtil; +import com.chinaunicom.mall.ebtp.project.common.InquiryCommonUtil; import com.chinaunicom.mall.ebtp.project.common.ProjectCommonUtil; import com.chinaunicom.mall.ebtp.project.common.ProjectExceptionEnum; +import com.chinaunicom.mall.ebtp.project.dictchooseprocess.entity.DictChooseProcess; +import com.chinaunicom.mall.ebtp.project.dictchooseprocess.service.IDictChooseProcessService; import com.chinaunicom.mall.ebtp.project.feign.EbtpMallBidApi; import com.chinaunicom.mall.ebtp.project.feign.EbtpMallProcessApi; import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ProjectEntrust; import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ProjectEntrustExpand; import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ProjectEntrustVO; import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ebpentity.*; +import com.chinaunicom.mall.ebtp.project.projectentrust.entity.inquiryentity.InquiryGoodsVO; +import com.chinaunicom.mall.ebtp.project.projectentrust.entity.inquiryentity.InquiryVO; import com.chinaunicom.mall.ebtp.project.projectentrust.service.IProjectEntrustExpandService; import com.chinaunicom.mall.ebtp.project.projectentrust.service.IProjectEntrustService; import com.chinaunicom.mall.ebtp.project.projectrecord.dao.ProjectRecordMapper; @@ -95,6 +100,9 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl 0){ + query.in("bid_method_dict", projectRecordVO.getSelectBidMethod()); + } + return query; } @@ -216,7 +228,10 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl sectionMaps = projectSectionService.getFlowList(id); - initialize(id, isReviewMethod, sectionMaps); + //当项目不是单一来源简化流程 初始化评审流程 + if(!(StringUtils.equals(projectRecord.getBidMethodSubDict(),ProjectCommonUtil.PROCUREMENT_MODE_6) && StringUtils.equals(projectRecord.getIsApproval(),ProjectCommonUtil.IS_APPROVAL_1))){ + initialize(id, isReviewMethod, sectionMaps); + } List sectionIds = new ArrayList<>(); @@ -227,9 +242,7 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl resultMap = assembleProject(projectEntrustVO,projectEntrustVO.getProjectEntrustExpand()); + Map resultMap; + //如果询价项目调用询价拼装信息 + if(StringUtils.equals(projectEntrustVO.getProcurementMode(),ProjectCommonUtil.PROCUREMENT_MODE_7)){ + resultMap = assembleInquiryProject(projectEntrustVO,projectEntrustVO.getProjectEntrustExpand()); + }else{ + resultMap = assembleProject(projectEntrustVO,projectEntrustVO.getProjectEntrustExpand()); + } //2 插入信息 return insertProject(resultMap); } @@ -362,21 +377,21 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl().eq("entrust_id",entrustId)); //2 拼装信息 - Map resultMap = assembleProject(projectEntrust,expand); + Map resultMap; + //如果询价项目调用询价拼装信息 + if(StringUtils.equals(projectEntrust.getProcurementMode(),ProjectCommonUtil.PROCUREMENT_MODE_7)){ + resultMap = assembleInquiryProject(projectEntrust,expand); + }else{ + resultMap = assembleProject(projectEntrust,expand); + } //3 初始化物资和供应商信息 return insertProject(resultMap); } @@ -440,8 +461,6 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl assembleProject(ProjectEntrust projectEntrust,ProjectEntrustExpand expand){ - Map resultMap = new HashMap<>(); - //子项目信息 PurpBaseInfoVO purpBaseInfoVO = expand.getPurpImplementSendVO().getPurpBaseInfoVoList().get(0); @@ -452,7 +471,7 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl sectionList = new ArrayList<>(); - resultMap.put("sectionList",sectionList); List materialList = new ArrayList<>(); - resultMap.put("materialList",materialList); List supplierList = new ArrayList<>(); - resultMap.put("supplierList",supplierList); //项目标段序号 int sectionOrderNumber = 1; @@ -553,7 +568,7 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl assembleInquiryProject(ProjectEntrust projectEntrust,ProjectEntrustExpand expand){ + + InquiryVO inquiryVO = expand.getInquiryVO(); + + ProjectRecord record = new ProjectRecord(); + //项目编号 + record.setId(PropertyUtils.getSnowflakeId()); + //项目流水号 + record.setProjectBizNum(PropertyUtils.getSnowflakeId()); + //项目名称 + record.setProjectName(projectEntrust.getProjectName()); + //项目组织形式 + record.setBidOrgDict(projectEntrust.getOrganization()); + //采购人(采购人组织机构) + record.setTendereeOrgName(projectEntrust.getPurchaser()); + //所属省分 + record.setProvince(inquiryVO.getProvince()); + //采购经理 + record.setOwnerContactId(projectEntrust.getPurchasingManager()); + record.setOwnerContactName(projectEntrust.getPurchasingManagerName()); + //采购经理联系电话 + record.setOwnerContactTel(projectEntrust.getPurchasingManagerPhone()); + //代理机构 + record.setTenderAgencyId(projectEntrust.getAgencyCompany()); + record.setTenderAgencyName(projectEntrust.getAgencyCompanyName()); + //委托单ID + record.setEntrustId(expand.getEntrustId()); + //采购类型 标的类型 + record.setProcurementType(projectEntrust.getProcurementType()); + //采购方式 + record.setBidMethodDict(projectEntrust.getProcurementMode()); + //代理机构项目经理 + record.setAppManagerId(projectEntrust.getProjectManager()); + record.setAppManagerName(projectEntrust.getProjectManagerName()); + record.setAppManagerTel(projectEntrust.getProjectManagerPhone()); + //项目状态 进行中 + record.setStatus(ProjectCommonUtil.PROJECT_STATUS_2); + //询价项目ID + record.setEbpProjectId(inquiryVO.getInquiryId()); + //询价项目编号 + record.setEbpParentProjectNumber(inquiryVO.getInquiryNo()); + + //是否使用客户端工具制作应答文件 + record.setIsClientFile(ProjectCommonUtil.IS_IPASS_YES); + //是否使用IPass制作应答文件 + record.setIsIPassFile(ProjectCommonUtil.IS_IPASS_YES); + + ProjectSection section = new ProjectSection(); + + //项目标段序号 + int sectionOrderNumber = 1; + //编号 + section.setId(PropertyUtils.getSnowflakeId()); + //项目ID + section.setProjectId(record.getId()); + //顺序号 + section.setBidSectCode(sectionOrderNumber); + //标段名称 + section.setBidSectName(record.getProjectName()+ "包件"); + //标段编号 + section.setSectionNumber(record.getEbpProjectNumber()); + //标段流水号 + section.setBidSectBizNum(record.getEbpProjectNumber()+"/"+section.getBidSectCode()); + //方案ID + section.setProjectPlanId(record.getEbpProjectId()); + //评价方法 + section.setEvalMethodDict(InquiryCommonUtil.SELECT_TYPE_MAP.get(inquiryVO.getSelectType())); + //是否唱标 + section.setIsAnnouncement(inquiryVO.getAnnouncementStatus() == InquiryCommonUtil.ANNOUNCEMENT_STATUS ? ProjectCommonUtil.IS_ANNOUNCEMENT_0 : ProjectCommonUtil.IS_ANNOUNCEMENT_1); + //询价方式 + section.setSelectionMethod(InquiryCommonUtil.INQUIRY_MODEL_MAP.get(inquiryVO.getInquiryModel())); + //询价初始化直接到投标 + section.setBusinessModule(ProjectCommonUtil.BUSINESS_MODULE_8); + //标段流程 + DictChooseProcess chooseProcess = new DictChooseProcess(); + chooseProcess.setProcurementMode(record.getBidMethodDict()); + chooseProcess.setLevelOne(section.getEvalMethodDict()); + List chooseProcessList = chooseProcessService.getList(chooseProcess); + if(null == chooseProcessList || chooseProcessList.size() != 1){ + ProjectExceptionEnum.FRAME_EXCEPTION_CHOOSE_PROCESS_NOT_FIND.throwException(); + } + section.setChooseProcess(chooseProcess.getChooseProcess()); + //项目状态 + section.setStatus(ProjectCommonUtil.SECTION_STATUS_2); + + List sectionList = new ArrayList<>(); + List supplierList = new ArrayList<>(); + //物资 + List materialList = new ArrayList<>(assembleInquiryMaterial(record.getId(), section.getId(), inquiryVO.getInquiryGoodsList())); + sectionList.add(section); + + return getStringObjectMap(record, sectionList, materialList, supplierList); + } + + /** + * 保存项目拼装信息 + * @param record 项目信息 + * @param sectionList 标段集合 + * @param materialList 物资集合 + * @param supplierList 供应商集合 + * @return 返回结果 + */ + private Map getStringObjectMap(ProjectRecord record, List sectionList, List materialList, List supplierList) { + Map resultMap = new HashMap<>(); + resultMap.put("projectRecord", record); + resultMap.put("sectionList", sectionList); + resultMap.put("materialList", materialList); + resultMap.put("supplierList", supplierList); + return resultMap; + } + + /** + * 拼装询价物资信息集合 + * @param projectId 项目ID + * @param sectionId 方案ID + * @param inquiryGoodsList 物资集合 + * @return 返回结果 + */ + private List assembleInquiryMaterial(String projectId,String sectionId,List inquiryGoodsList){ + List resultList = new ArrayList<>(); + + if(null != inquiryGoodsList){ + for(InquiryGoodsVO goodsVO:inquiryGoodsList){ + SectionMaterial material = new SectionMaterial(); + material.setId(PropertyUtils.getSnowflakeId()); + material.setProjectId(projectId); + material.setSectionId(sectionId); + material.setDemandId(goodsVO.getInquiryId()); + material.setDemandNo(goodsVO.getInquiryNo()); + material.setDemandName(goodsVO.getItemDescription()); + material.setMaterialExplain(goodsVO.getNote()); + material.setMaterialTypeName(goodsVO.getItemNumber()); + material.setProcurementCount(goodsVO.getNum()); + material.setMaterialUnit(goodsVO.getUnit()); + material.setBasePrice(goodsVO.getStandardPrice()); + material.setCategoryCode(goodsVO.getCategoryName()); + resultList.add(material); + } + } + + return resultList; + } + } diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectreevaluation/service/impl/ProjectReEvaluationServiceImpl.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectreevaluation/service/impl/ProjectReEvaluationServiceImpl.java index ae7f5e8..5f42bbc 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectreevaluation/service/impl/ProjectReEvaluationServiceImpl.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectreevaluation/service/impl/ProjectReEvaluationServiceImpl.java @@ -93,6 +93,9 @@ public class ProjectReEvaluationServiceImpl extends BaseServiceImpl getQueryWrapper(ProjectReEvaluationVO vo){ QueryWrapper queryWrapper = new QueryWrapper<>(); if(StringUtils.isNotBlank(vo.getSectionId())){ @@ -172,10 +175,21 @@ public class ProjectReEvaluationServiceImpl extends BaseServiceImpl baseResponse = mallResuApi.findStatusByPurpIdForEval(Long.parseLong(section.getSubprojectId())); + if(!baseResponse.isSuccess()){ + CommonExceptionEnum.FRAME_EXCEPTION_COMMON_NOT_UPDATE.customValidName(baseResponse.getMessage(),!baseResponse.isSuccess()); + } + if(!baseResponse.getData()){ + ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_EXCEPTION_CHECK_STATUS_ERROR.throwException(); + } + + //修改异常信息进行提交 boolean result = updateStatus(id,ProjectCommonUtil.RE_EVALUATION_STATUS_0,ProjectCommonUtil.RE_EVALUATION_STATUS_1); - CommonExceptionEnum.FRAME_EXCEPTION_COMMON_NOT_UPDATE.customValid(!result); - + //3、调用流程中心 发起重新评审流程 reEvalStart(id); return result; diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectsection/controller/ProjectSectionController.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectsection/controller/ProjectSectionController.java index b2b1d3a..ce08b1c 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectsection/controller/ProjectSectionController.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectsection/controller/ProjectSectionController.java @@ -302,5 +302,33 @@ public class ProjectSectionController{ return BaseResponse.success(projectSectionService.getProjectFlowByPlanId(planId)); } + + /** + * 项目标段信息查询数据(项目标段和项目拼装数据) + * + * @param projectSection 项目标段查询 + * @return 返回结果 + */ + @ApiOperation("项目标段信息详细查询(项目标段和项目拼装数据)") + @PostMapping("/selectById") + public BaseResponse selectById(@ApiParam(value = "对象数据", required = true) @RequestBody ProjectSectionVO projectSection){ + + List result = projectSectionService.selectAllBatchIds(projectSection); + + return BaseResponse.success((null != result && result.size() > 0)?result.get(0):null); + } + + /** + * 根据项目方案ID查询数据 + * + * @param planId 项目方案ID + * @return 返回结果 + */ + @ApiOperation("根据项目方案ID查询数据") + @GetMapping("/selectByPlanId/{planId}") + public BaseResponse selectByPlanId(@ApiParam(value = "主键id", required = true) @PathVariable String planId){ + + return BaseResponse.success(projectSectionService.selectByPlanId(planId)); + } } diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectsection/dao/mapper/ProjectSectionMapper.xml b/src/main/java/com/chinaunicom/mall/ebtp/project/projectsection/dao/mapper/ProjectSectionMapper.xml index 14a055b..1d41cb4 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectsection/dao/mapper/ProjectSectionMapper.xml +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectsection/dao/mapper/ProjectSectionMapper.xml @@ -7,7 +7,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -132,6 +132,9 @@ and p.project_name like + + and t.id = #{section.id} + diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectsection/entity/ProjectSection.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectsection/entity/ProjectSection.java index 218f9a4..10836fc 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectsection/entity/ProjectSection.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectsection/entity/ProjectSection.java @@ -57,7 +57,7 @@ public class ProjectSection extends BaseEntity implements Serializable { * 标包序号 */ @ApiModelProperty(value = "标包序号") - private String bidSectCode; + private Integer bidSectCode; /** * 标段(包)名称 @@ -95,7 +95,7 @@ public class ProjectSection extends BaseEntity implements Serializable { /** * 询价方式 */ - @ApiModelProperty(value = "询价方式") + @ApiModelProperty(value = "询价方式 公开询价 定向询价") private String selectionMethod; /** @@ -134,9 +134,9 @@ public class ProjectSection extends BaseEntity implements Serializable { /** - * 资审入围方式(合格制 | 有限数量制) + * 资格审查方式(合格制 | 有限数量制) */ - @ApiModelProperty(value = "资审入围方式(合格制 | 有限数量制)") + @ApiModelProperty(value = "资格审查方式(合格制 | 有限数量制)") private String ptcpMode; /** @@ -166,7 +166,7 @@ public class ProjectSection extends BaseEntity implements Serializable { /** * 资格审查方法1.资格预审 2.资格后审 */ - @ApiModelProperty(value = "资格审查方法1.资格预审 2.资格后审") + @ApiModelProperty(value = "废弃字段") private String checkMethodDict; /** @@ -184,7 +184,7 @@ public class ProjectSection extends BaseEntity implements Serializable { /** * 标段编号(采购系统方案编号) */ - @ApiModelProperty(value = "标段编号") + @ApiModelProperty(value = "采购系统方案编号") private String sectionNumber; /** @@ -238,4 +238,6 @@ public class ProjectSection extends BaseEntity implements Serializable { @ApiModelProperty(value = "标段子项目ID") private String subprojectId; + @ApiModelProperty(value = "是否唱标 0 否 1 是") + private Integer isAnnouncement; } diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectsection/entity/ProjectSectionVO.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectsection/entity/ProjectSectionVO.java index 82fd715..b993e25 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectsection/entity/ProjectSectionVO.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectsection/entity/ProjectSectionVO.java @@ -73,4 +73,10 @@ public class ProjectSectionVO extends ProjectSection implements Serializable { @ApiModelProperty(value = "候审流程ID") @JsonSerialize(using = ToStringSerializer.class) private String qualFlowId; + + /** + * 需要排除的状态 + */ + @ApiModelProperty(value = "需要排除的状态") + private Integer notStatus; } diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectsection/service/IProjectSectionService.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectsection/service/IProjectSectionService.java index fbf75b9..2574218 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectsection/service/IProjectSectionService.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectsection/service/IProjectSectionService.java @@ -156,8 +156,14 @@ public interface IProjectSectionService extends IBaseService{ /** * 查询标段流程信息 * @param planId 方案ID - * @return + * @return 返回结果 */ SectionFlowVO getProjectFlowByPlanId(String planId); + /** + * 根据方案ID获取项目标段信息 + * @param planId 方案ID + * @return 返回结果 + */ + ProjectSectionVO selectByPlanId(String planId); } diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectsection/service/impl/ProjectSectionServiceImpl.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectsection/service/impl/ProjectSectionServiceImpl.java index 05eed5e..6bfad03 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectsection/service/impl/ProjectSectionServiceImpl.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectsection/service/impl/ProjectSectionServiceImpl.java @@ -1,6 +1,7 @@ package com.chinaunicom.mall.ebtp.project.projectsection.service.impl; +import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -94,6 +95,11 @@ public class ProjectSectionServiceImpl extends BaseServiceImpl updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("id",sectionId); - updateWrapper.eq("business_module", ProjectCommonUtil.BUSINESS_MODULE_9); + //updateWrapper.eq("business_module", ProjectCommonUtil.BUSINESS_MODULE_9); + updateWrapper.and(wrapper ->wrapper.eq("business_module", ProjectCommonUtil.BUSINESS_MODULE_9).or().eq("business_module", ProjectCommonUtil.BUSINESS_MODULE_8)); updateWrapper.set("business_module",ProjectCommonUtil.BUSINESS_MODULE_10); boolean result = this.update(updateWrapper); @@ -378,7 +385,6 @@ public class ProjectSectionServiceImpl extends BaseServiceImpl query = getQueryWrapper(sectionVO); ProjectSection section = this.list(query).get(0); ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_SECTION_NOT_FIND.customValid(null == section); @@ -415,6 +422,15 @@ public class ProjectSectionServiceImpl extends BaseServiceImpl selectEditSectionBySave(String projectId){ - //项目异常新增时查看 - return projectSectionMapper.selectEditSectionBySave(projectId); + private List selectEditSectionBySave(String projectId) { + //获取项目是否预审 + boolean isReviewMethod = recordService.isReviewMethod(recordService.getById(projectId)); + //项目异常新增 + List sectionVOList = projectSectionMapper.selectEditSectionBySave(projectId); + sectionVOList.stream().filter(n -> (n.getStatus() > (isReviewMethod ? ProjectCommonUtil.BUSINESS_MODULE_2 : ProjectCommonUtil.BUSINESS_MODULE_7) + && n.getStatus() < ProjectCommonUtil.BUSINESS_MODULE_12)).collect(Collectors.toList()); + return sectionVOList; } - private List selectEditSectionByUpdate(String projectId,String exceptionId){ - //项目异常修改时查看 - return projectSectionMapper.selectEditSectionByUpdate(projectId,exceptionId); + private List selectEditSectionByUpdate(String projectId, String exceptionId) { + //获取项目是否预审 + boolean isReviewMethod = recordService.isReviewMethod(recordService.getById(projectId)); + //项目异常修改 + List sectionVOList = projectSectionMapper.selectEditSectionByUpdate(projectId, exceptionId); + sectionVOList.stream().filter(n -> !(n.getIsExceptionCheck() == ProjectCommonUtil.IS_EXCEPTION_CHECK_1 + && (n.getStatus() <= (isReviewMethod ? ProjectCommonUtil.BUSINESS_MODULE_2 : ProjectCommonUtil.BUSINESS_MODULE_7) + && n.getStatus() >= ProjectCommonUtil.BUSINESS_MODULE_12))).collect(Collectors.toList()); + return sectionVOList; } private List selectEditSectionBySelect(String projectId,String exceptionId){ diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/sectionmaterial/dao/mapper/SectionMaterialMapper.xml b/src/main/java/com/chinaunicom/mall/ebtp/project/sectionmaterial/dao/mapper/SectionMaterialMapper.xml index 98f2e91..20cc86e 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/sectionmaterial/dao/mapper/SectionMaterialMapper.xml +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/sectionmaterial/dao/mapper/SectionMaterialMapper.xml @@ -18,6 +18,7 @@ + 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 d3ed350..8ab8a87 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 @@ -50,55 +50,55 @@ public class SectionMaterial extends BaseEntity implements Serializable { /** * 需求单名称 */ - @ApiModelProperty(value = "需求单名称") + @ApiModelProperty(value = "需求单名称(物料名称)") private String demandName; /** * 需求单ID */ - @ApiModelProperty(value = "需求单ID") + @ApiModelProperty(value = "需求单ID(询价单id)") private String demandId; /** * 需求单编号 */ - @ApiModelProperty(value = "需求单编号") + @ApiModelProperty(value = "需求单编号(询价单编号)") private String demandNo; /** * 物资说明 */ - @ApiModelProperty(value = "物资说明") + @ApiModelProperty(value = "物资说明(物料描述)") private String materialExplain; /** * 物资类别名称 */ - @ApiModelProperty(value = "物资类别名称") + @ApiModelProperty(value = "物资类别名称(产品物料编码)") private String materialTypeName; /** * 物资品牌 */ - @ApiModelProperty(value = "物资品牌") + @ApiModelProperty(value = "物资品牌(品牌名称)") private String materialBrand; /** * 本次采购数量 */ - @ApiModelProperty(value = "本次采购数量") + @ApiModelProperty(value = "本次采购数量(数量)") private BigDecimal procurementCount; /** * 物资单位 */ - @ApiModelProperty(value = "物资单位") + @ApiModelProperty(value = "物资单位(单位)") private String materialUnit; /** * 商品属性 */ - @ApiModelProperty(value = "商品属性") + @ApiModelProperty(value = "商品属性(商品货号(条形码))") private String commodityAttributes; /** @@ -110,12 +110,15 @@ public class SectionMaterial extends BaseEntity implements Serializable { /** * 权重系数 */ - @ApiModelProperty(value = "权重系数") + @ApiModelProperty(value = "权重系数(权重占比)") private BigDecimal weight; /** * 基准价 */ - @ApiModelProperty(value = "基准价") + @ApiModelProperty(value = "基准价(标准单价)") private BigDecimal basePrice; + + @ApiModelProperty(value = "商品分类") + private String categoryCode; }