不均衡报价分析-项目列表

This commit is contained in:
yss
2024-03-07 17:16:05 +08:00
parent 44096a790d
commit 6204b73d4d
8 changed files with 523 additions and 35 deletions

View File

@ -0,0 +1,60 @@
package com.chinaunicom.mall.ebtp.project.unbalancedQuotation.controller;
import com.chinaunicom.mall.ebtp.common.base.entity.BasePageResponse;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.project.unbalancedQuotation.vo.UnbalancedQuotationProjectVO;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.chinaunicom.mall.ebtp.project.unbalancedQuotation.entity.UnbalancedQuotationProject;
import com.chinaunicom.mall.ebtp.project.unbalancedQuotation.service.IUnbalancedQuotationProjectService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import javax.annotation.Resource;
import javax.validation.Valid;
@RestController
@Api(tags = "不均衡报价分析的项目填报记录")
@RequestMapping("/v1/unbalancedquotationproject")
public class UnbalancedQuotationProjectController{
@Resource
private IUnbalancedQuotationProjectService iunbalancedQuotationProjectService;
/**
* 插入新数据
*
* @param unbalancedQuotationProject
*
* @return
*/
@ApiOperation("插入新数据")
@PostMapping("/save")
public BaseResponse<Boolean> save(@ApiParam(value = "对象数据", required = true) @RequestBody @Valid UnbalancedQuotationProject unbalancedQuotationProject){
boolean save = iunbalancedQuotationProjectService.saveOrUpdate(unbalancedQuotationProject);
return BaseResponse.success(save);
}
/**
* 查询数据
*
* @param queryVo
*
* @return
*/
@ApiOperation("查询数据")
@PostMapping("/list")
public BasePageResponse<UnbalancedQuotationProjectVO> getPage( @RequestBody UnbalancedQuotationProjectVO queryVo){
return BasePageResponse.success(iunbalancedQuotationProjectService.getPage(queryVo));
}
}

View File

@ -0,0 +1,24 @@
package com.chinaunicom.mall.ebtp.project.unbalancedQuotation.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.chinaunicom.mall.ebtp.project.unbalancedQuotation.entity.UnbalancedQuotationProject;
import com.chinaunicom.mall.ebtp.project.unbalancedQuotation.vo.UnbalancedQuotationProjectVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @auto.generated
*/
@Repository
public interface UnbalancedQuotationProjectMapper extends BaseMapper<UnbalancedQuotationProject> {
List<UnbalancedQuotationProjectVO> selectProject(@Param(value = "section") UnbalancedQuotationProjectVO projectSection);
IPage<UnbalancedQuotationProjectVO> selectProject(Page<UnbalancedQuotationProjectVO> page, @Param(value = "section") UnbalancedQuotationProjectVO projectSection);
}

View File

@ -0,0 +1,89 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.chinaunicom.mall.ebtp.project.unbalancedQuotation.dao.UnbalancedQuotationProjectMapper">
<resultMap id="BaseResultMap"
type="com.chinaunicom.mall.ebtp.project.unbalancedQuotation.entity.UnbalancedQuotationProject">
<result column="id" jdbcType="VARCHAR" property="id"/>
<result column="project_id" jdbcType="VARCHAR" property="projectId"/>
<result column="section_id" jdbcType="VARCHAR" property="sectionId"/>
<result column="assess_room_id" jdbcType="VARCHAR" property="assessRoomId"/>
<result column="status" jdbcType="INTEGER" property="status"/>
<result column="create_by" jdbcType="VARCHAR" property="createBy"/>
<result column="create_date" jdbcType="TIMESTAMP" property="createDate"/>
<result column="update_by" jdbcType="VARCHAR" property="updateBy"/>
<result column="update_date" jdbcType="TIMESTAMP" property="updateDate"/>
<result column="tenant_id" jdbcType="VARCHAR" property="tenantId"/>
<result column="tenant_name" jdbcType="VARCHAR" property="tenantName"/>
<result column="delete_flag" jdbcType="VARCHAR" property="deleteFlag"/>
<result column="last_update_time" jdbcType="TIMESTAMP" property="lastUpdateTime"/>
<result column="cutover_status" jdbcType="INTEGER" property="cutoverStatus"/>
</resultMap>
<sql id="Base_Column_List">
a.id id,
a.project_id projectId,
a.section_id sectionId,
a.assess_room_id assessRoomId,
a.status status,
a.create_by createBy,
a.create_date createDate,
a.update_by updateBy,
a.update_date updateDate,
a.tenant_id tenantId,
a.tenant_name tenantName,
a.delete_flag deleteFlag,
a.last_update_time lastUpdateTime,
a.cutover_status cutoverStatus,
</sql>
<select id="selectProject" resultType="com.chinaunicom.mall.ebtp.project.unbalancedQuotation.vo.UnbalancedQuotationProjectVO">
SELECT
distinct
room.id ,
xm.project_name projectName,
bd.bid_sect_name bidSectName,
xm.ebp_project_number ebpProjectNumber,
bd.bid_sect_biz_num bidSectBizNum,
xm.app_manager_name appManagerName,
xm.tenderee_org_name tendereeOrgName,
xm.bid_method_dict bidMethodDict,
xm.create_date createDate,
xm.tender_agency_name tenderAgencyName,
bjhbj.`status`
from biz_assess_room room
LEFT JOIN biz_project_section bd on room.section_id=bd.id
LEFT JOIN biz_project_record xm on room.tp_id=xm.id
LEFT JOIN biz_unbalanced_quotation_project bjhbj on room.id=bjhbj.assess_room_id
where room.`status`>=2 and bd.check_method_dict='1'
<if test="section.projectName!= null and section.projectName!=''" >
and xm.project_name like <![CDATA['%${section.projectName}%']]>
</if>
<if test="section.bidMethodDict!= null and section.bidMethodDict!=''" >
and xm.bid_method_dict= #{section.bidMethodDict}
</if>
<if test="section.tenderAgencyName!= null and section.tenderAgencyName!=''" >
and xm.tender_agency_name like <![CDATA['%${section.tenderAgencyName}%']]>
</if>
<if test="section.appManagerName!= null and section.appManagerName!=''" >
and xm.app_manager_name like <![CDATA['%${section.appManagerName}%']]>
</if>
<if test="section.ownerContactId!= null and section.ownerContactId!=''" >
and (xm.owner_contact_id #{section.ownerContactId} or xm.app_manager_id #{section.ownerContactId})
</if>
<if test="section.status!= null and section.status!=''" >
and bjhbj.`status`= #{section.status}
</if>
<if test="section.year!= null and section.year!=''" >
and year(xm.create_date)= #{section.year}
</if>
ORDER BY bd.create_date DESC
</select>
<!--逻辑删除方法 此方法为代码生成器生成 不允许修改 如有特殊需求 请自行新建SQL语句-->
<update id="deleteOff" parameterType="java.lang.Long">
update biz_unbalanced_quotation_project
set
delete_flag="deleted"
where ID=#{id,jdbcType=BIGINT}
</update>
</mapper>

View File

@ -0,0 +1,64 @@
package com.chinaunicom.mall.ebtp.project.unbalancedQuotation.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* 实体类 UnbalancedQuotationProject
*
* @auto.generated
*/
@Data
@Accessors(chain = true)
@ApiModel
@EqualsAndHashCode(callSuper = false)
@TableName(value = "biz_unbalanced_quotation_project", autoResultMap = true)
public class UnbalancedQuotationProject extends BaseEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
*
*/
@ApiModelProperty(value = "")
private String id;
/**
* 项目ID
*/
@ApiModelProperty(value = "项目ID")
private String projectId;
/**
* 分包标段id
*/
@ApiModelProperty(value = "分包标段id")
private String sectionId;
/**
*
*/
@ApiModelProperty(value = "")
private String assessRoomId;
/**
* 完成状态0-否 1- 是
*/
@ApiModelProperty(value = "完成状态0-否 1- 是")
private Integer status;
/**
* 割接状态0-割接数据1-新数据
*/
@ApiModelProperty(value = "割接状态0-割接数据1-新数据")
private Integer cutoverStatus;
}

View File

@ -0,0 +1,18 @@
package com.chinaunicom.mall.ebtp.project.unbalancedQuotation.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.chinaunicom.mall.ebtp.project.unbalancedQuotation.entity.UnbalancedQuotationProject;
import com.chinaunicom.mall.ebtp.project.unbalancedQuotation.vo.UnbalancedQuotationProjectVO;
/**
* 对数据表 biz_unbalanced_quotation_project 操作的 service
* @author Auto create
*
*/
public interface IUnbalancedQuotationProjectService extends IService<UnbalancedQuotationProject>{
IPage<UnbalancedQuotationProjectVO> getPage(UnbalancedQuotationProjectVO paramProject);
}

View File

@ -0,0 +1,35 @@
package com.chinaunicom.mall.ebtp.project.unbalancedQuotation.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.chinaunicom.mall.ebtp.common.base.service.IBaseCacheUserService;
import com.chinaunicom.mall.ebtp.project.unbalancedQuotation.dao.UnbalancedQuotationProjectMapper;
import com.chinaunicom.mall.ebtp.project.unbalancedQuotation.entity.UnbalancedQuotationProject;
import com.chinaunicom.mall.ebtp.project.unbalancedQuotation.service.IUnbalancedQuotationProjectService;
import com.chinaunicom.mall.ebtp.project.unbalancedQuotation.vo.UnbalancedQuotationProjectVO;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* 对数据表 biz_unbalanced_quotation_project 操作的 serviceImpl
* @auto.generated
*
*/
@Service
public class UnbalancedQuotationProjectServiceImpl extends ServiceImpl<UnbalancedQuotationProjectMapper,UnbalancedQuotationProject> implements IUnbalancedQuotationProjectService {
@Resource
private UnbalancedQuotationProjectMapper projectMapper;
@Resource
private IBaseCacheUserService userService;
@Override
public IPage<UnbalancedQuotationProjectVO> getPage(UnbalancedQuotationProjectVO paramProject) {
paramProject.setOwnerContactId(userService.getCacheUser().getUserId());
IPage<UnbalancedQuotationProjectVO> convert= projectMapper.selectProject(new Page<>(paramProject.getPageNo(), paramProject.getPageSize()),paramProject);
return convert;
}
}

View File

@ -0,0 +1,198 @@
package com.chinaunicom.mall.ebtp.project.unbalancedQuotation.vo;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseEntity;
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.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 项目实体类 BizProjectRecord
*
* @author yss
* @date 2024/03/07
*/
@Data
@Accessors(chain = true)
@ApiModel("不均衡报价项目")
public class UnbalancedQuotationProjectVO extends BaseEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ApiModelProperty(value = "主键")
@JsonSerialize(using = ToStringSerializer.class)
private String id;
/**
* 招标项目名称
*/
@ApiModelProperty(value = "招标项目名称")
private String projectName;
/**
* 标段包业务编号:招标项目业务编号/1
*/
@ApiModelProperty(value = "标段包业务编号:招标项目业务编号/1")
private String bidSectBizNum;
/**
* 标段(包)名称
*/
@ApiModelProperty(value = "标段(包)名称")
private String bidSectName;
/**
* 招标方式字典编号(采购方式)
*/
@ApiModelProperty(value = "招标方式字典编号")
private String bidMethodDict;
/**
* 所属省分
*/
@ApiModelProperty(value = "所属省分")
private String province;
/**
* 招标项目责任人代理机构项目经理id
*/
@ApiModelProperty(value = "招标项目责任人代理机构项目经理id")
private String appManagerId;
/**
* 招标项目责任人(代理机构项目经理,根据当前账号对应人员联系方式自动填入,可修改)
*/
@ApiModelProperty(value = "招标项目责任人(代理机构项目经理,根据当前账号对应人员联系方式自动填入,可修改)")
private String appManagerName;
/**
* 招标项目责任人联系方式(代理机构项目经理联系方式,根据当前账号对应人员联系方式自动填入,可修改)
*/
@ApiModelProperty(value = "招标项目责任人联系方式(代理机构项目经理联系方式,根据当前账号对应人员联系方式自动填入,可修改)")
private String appManagerTel;
/**
* 采购经理id
*/
@ApiModelProperty(value = "采购经理id")
private String ownerContactId;
/**
* 采购经理名称
*/
@ApiModelProperty(value = "采购经理名称")
private String ownerContactName;
/**
* 采购经理联系方式
*/
@ApiModelProperty(value = "采购经理联系方式")
private String ownerContactTel;
/**
* 采购部门ID
*/
@ApiModelProperty(value = "采购部门ID")
private String tendereeId;
/**
* 采购部门名称
*/
@ApiModelProperty(value = "采购部门名称")
private String tendereeName;
/**
* 采购组织机构id
*/
@ApiModelProperty(value = "招标人组织机构id")
private String tendereeOrgId;
/**
* 采购组织机构名称
*/
@ApiModelProperty(value = "采购组织机构名称")
private String tendereeOrgName;
/**
* 招标代理机构id
*/
@ApiModelProperty(value = "招标代理机构id")
private String tenderAgencyId;
/**
* 招标代理机构名称
*/
@ApiModelProperty(value = "招标代理机构名称")
private String tenderAgencyName;
@ApiModelProperty(value = "业务状态")
private Integer status;
/**
* 业务模块
*/
@ApiModelProperty(value = "业务模块")
private Integer businessModule;
/**
* 项目编号采购系统推送项目ID 项目实施编号)
*/
@ApiModelProperty(value = "项目编号采购系统推送项目ID 项目实施编号)")
private String ebpProjectNumber;
/**
* 项目实施ID
*/
@ApiModelProperty(value = "项目实施ID")
private String ebpProjectId;
/**
* 父项目编号
*/
@ApiModelProperty(value = "采购系统父项目编号")
private String ebpParentProjectNumber;
/**
* 父项目ID
*/
@ApiModelProperty(value = "采购系统父项目ID")
private String ebpParentProjectId;
private int year;
@ApiModelProperty("当前页")
@NotNull
@Min(0)
private Integer pageNo;
@ApiModelProperty("每页显示条数")
@NotNull
@Min(0)
private Integer pageSize;
public Integer getPageNo() {
return null == pageNo ? 0 : pageNo;
}
public Integer getPageSize() {
return null == pageSize ? 10 : pageSize;
}
}