Commit 68552e14 authored by chenyuefang's avatar chenyuefang

咨询机构合作记录

parent 8e59dbdf
......@@ -5,15 +5,20 @@ import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.domain.R;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.utils.poi.ExcelUtil;
import com.dsk.cscec.domain.DCustomer;
import com.dsk.cscec.domain.bo.AdvisoryBodyBo;
import com.dsk.cscec.domain.bo.CustomerInfoBo;
import com.dsk.cscec.domain.vo.AdvisoryBodyVo;
import com.dsk.cscec.domain.vo.CustomerInfoVo;
import com.dsk.cscec.service.ICustomerInfoService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotEmpty;
import java.util.List;
/**
* 供应商相关
......@@ -35,10 +40,27 @@ public class CustomerInfoController extends BaseController {
* 供应商分类列表
*/
@PostMapping("/list")
public TableDataInfo<CustomerInfoVo> list(@Validated @RequestBody CustomerInfoBo bo,@RequestBody PageQuery query) {
public TableDataInfo<CustomerInfoVo> list(@Validated @RequestBody CustomerInfoBo bo, @RequestBody PageQuery query) {
return iCustomerInfoService.queryPageList(bo, query);
}
/**
* 内部合作-咨询机构合作记录
*/
@GetMapping("/advisoryList")
public TableDataInfo<AdvisoryBodyVo> advisoryList(@Validated AdvisoryBodyBo bo, PageQuery query) {
return iCustomerInfoService.queryAdvisoryList(bo, query);
}
/**
* 内部合作-咨询机构合作记录导出
*/
@GetMapping("/advisoryExport")
public void advisoryExport(@Validated AdvisoryBodyBo bo, PageQuery query, HttpServletResponse response) {
List<AdvisoryBodyVo> listVo = iCustomerInfoService.queryAdvisoryList(bo, query).getRows();
ExcelUtil.exportExcel(listVo, "咨询机构合作记录", AdvisoryBodyVo.class, response);
}
/**
* 合作记录-供应商准入情况
*/
......
package com.dsk.cscec.domain.bo;
import com.dsk.common.core.domain.BaseEntity;
import lombok.Data;
import java.util.List;
/**
* 咨询机构合作记录查询
*
* @author
* @since 2023-12-14
*/
@Data
public class AdvisoryBodyBo extends BaseEntity {
/**
* 咨询机构ID
*/
private Long advisoryBodyId;
/**
* 咨询机构cid(用于查询建设库数据)
*/
private Integer advisoryBodyCid;
/**
* 项目主键(用作关联d_project)
*/
private Long projectKey;
/**
* 咨询机构名称
*/
private String advisoryBodyName;
/**
* 项目承接单位id
*/
private String contractOrgId;
/**
* 项目承接单位
*/
private String contractOrgName;
/**
* 省份
*/
private List<String> province;
/**
* 城市
*/
private List<String> city;
/**
* 项目承接类型
*/
/**
* 工程类别明细
*/
}
package com.dsk.cscec.domain.bo;
import com.dsk.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
......@@ -72,12 +73,12 @@ public class CustomerInfoBo extends BaseEntity {
/**
* 准入时间开始
*/
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date approveDate2Start;
/**
* 准入时间结束
*/
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date approveDate2End;
/**
* 队长名称
......
package com.dsk.cscec.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* 咨询机构合作记录
*
* @author
* @since 2023-12-14
*/
@Data
@ExcelIgnoreUnannotated
public class AdvisoryBodyVo {
/**
* 项目主键
*/
private Long projectKey;
/**
* 项目名称
*/
@ExcelProperty(value = "项目名称", index = 0)
private String projectName;
/**
* 项目编码
*/
@ExcelProperty(value = "项目编码", index = 1)
private String projectCode;
/**
* 省
*/
@ExcelProperty(value = "省", index = 2)
private String provinceName;
/**
* 市
*/
@ExcelProperty(value = "市", index = 3)
private String cityName;
/**
* 项目承接类型
*/
@ExcelProperty(value = "项目承接类型", index = 4)
private String isinvestproject;
/**
* 工程基础大类
*/
@ExcelProperty(value = "工程基础大类", index = 5)
private String projectType1;
/**
* 工程类别明细
*/
@ExcelProperty(value = "工程类别明细", index = 6)
private String projectType;
/**
* 咨询机构ID
*/
private Long advisoryBodyId;
/**
* 咨询机构cid(用于查询建设库数据)
*/
private Integer advisoryBodyCid;
/**
* 咨询机构名称
*/
private String advisoryBodyName;
/**
* 项目负责人
*/
@ExcelProperty(value = "项目负责人姓名", index = 7)
private String projectLeader;
/**
* 项目负责人专业
*/
@ExcelProperty(value = "项目负责人专业", index = 8)
private String projectLeaderMajor;
/**
* 项目负责人联系电话
*/
@ExcelProperty(value = "项目负责人联系电话", index = 9)
private String projectLeaderPhone;
/**
* 合同金额
*/
@ExcelProperty(value = "合同金额", index = 10)
private BigDecimal contractOrigValue;
/**
* 业主单位
*/
@ExcelProperty(value = "业主单位", index = 11)
private String ownerName;
/**
* 项目承接单位
*/
@ExcelProperty(value = "项目承接单位", index = 12)
private String contractOrgName;
/**
* 创建时间
*/
@ExcelProperty(value = "创建时间", index = 13)
private Date loadTime;
}
......@@ -2,10 +2,13 @@ package com.dsk.cscec.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dsk.cscec.domain.AdvisoryBody;
import com.dsk.cscec.domain.bo.AdvisoryBodyBo;
import com.dsk.cscec.domain.vo.AdvisoryBodySearchVo;
import com.dsk.cscec.domain.vo.AdvisoryBodyVo;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
......@@ -26,5 +29,13 @@ public interface AdvisoryBodyMapper extends BaseMapper<AdvisoryBody> {
* 获取所有企业列表(咨询机构)数据
*/
Page<AdvisoryBodySearchVo> selectPageAdvisoryBodyList(@Param("page") Page<AdvisoryBodySearchVo> page, @Param(Constants.WRAPPER) Wrapper<AdvisoryBody> queryWrapper);
/**
* 咨询机构合作记录
* @param build
* @param bo
* @return
*/
Page<AdvisoryBodyVo> queryListByBo(IPage<AdvisoryBodyBo> build, @Param("bo") AdvisoryBodyBo bo);
}
......@@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.cscec.domain.DCustomer;
import com.dsk.cscec.domain.bo.AdvisoryBodyBo;
import com.dsk.cscec.domain.bo.CustomerInfoBo;
import com.dsk.cscec.domain.vo.AdvisoryBodyVo;
import com.dsk.cscec.domain.vo.CustomerInfoVo;
/**
......@@ -18,4 +20,6 @@ public interface ICustomerInfoService extends IService<DCustomer> {
TableDataInfo<CustomerInfoVo> queryPageList(CustomerInfoBo bo, PageQuery query);
DCustomer queryByName(String name);
TableDataInfo<AdvisoryBodyVo> queryAdvisoryList(AdvisoryBodyBo bo, PageQuery query);
}
......@@ -9,9 +9,13 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.cscec.constant.QueryConstants;
import com.dsk.cscec.domain.DCustomer;
import com.dsk.cscec.domain.bo.AdvisoryBodyBo;
import com.dsk.cscec.domain.bo.CustomerInfoBo;
import com.dsk.cscec.domain.vo.AdvisoryBodyVo;
import com.dsk.cscec.domain.vo.CustomerInfoVo;
import com.dsk.cscec.mapper.AdvisoryBodyMapper;
import com.dsk.cscec.mapper.DCustomerMapper;
import com.dsk.cscec.mapper.DSubcontractMapper;
import com.dsk.cscec.service.ICustomerInfoService;
......@@ -37,6 +41,9 @@ public class CustomerInfoServiceImpl extends ServiceImpl<DCustomerMapper, DCusto
@Autowired
private BusinessOpportunityRadarService opportunityRadarService;
@Autowired
private AdvisoryBodyMapper advisoryBodyMapper;
@Override
public TableDataInfo<CustomerInfoVo> queryPageList(CustomerInfoBo bo, PageQuery query) {
if("劳务分包".equals(bo.getCustomerClass())){
......@@ -76,4 +83,11 @@ public class CustomerInfoServiceImpl extends ServiceImpl<DCustomerMapper, DCusto
lqw.last("limit 1");
return baseMapper.selectOne(lqw);
}
@Override
public TableDataInfo<AdvisoryBodyVo> queryAdvisoryList(AdvisoryBodyBo bo, PageQuery query) {
bo.setContractOrgId(QueryConstants.LEVEL1_COMPANY_ID);
Page<AdvisoryBodyVo> page = advisoryBodyMapper.queryListByBo(query.build(),bo);
return TableDataInfo.build(page);
}
}
......@@ -24,4 +24,57 @@
is_final_judge_unit
from advisory_body ${ew.getCustomSqlSegment}
</select>
<select id="queryListByBo" resultType="com.dsk.cscec.domain.vo.AdvisoryBodyVo">
select ab.advisory_body_id,ab.advisory_body_cid,ab.project_key,ab.advisory_body_name,ab.legal_person,
ab.legal_person_phone,ab.reg_address,ab.project_leader,ab.project_leader_major,ab.project_leader_phone,
ab.settle_start_time,ab.settle_finish_time,ab.is_final_judge_unit,
dp.project_name,dp.project_code,dp.province_name,dp.city_name,dp.isinvestproject,dp.project_type1,
dp.project_type,dp.contract_orig_value,dp.owner_name,dp.contract_org_name,dp.load_time
from advisory_body ab
left join d_project dp on dp.project_key = ab.project_key
<where>
<if test="bo.advisoryBodyId != null and bo.advisoryBodyId != ''">
and ab.advisory_body_id = #{bo.advisoryBodyId}
</if>
<if test="bo.advisoryBodyCid != null and bo.advisoryBodyCid != ''">
and ab.advisory_body_cid = #{bo.advisoryBodyCid}
</if>
<if test="bo.advisoryBodyName != null and bo.advisoryBodyName != ''">
and ab.advisory_body_name = #{bo.advisoryBodyName}
</if>
<if test="bo.contractOrgId != null and bo.contractOrgId != ''">
and dp.contract_org_id = #{bo.contractOrgId}
</if>
<if test="bo.contractOrgName != null and bo.contractOrgName != ''">
and dp.contract_org_name = #{bo.contractOrgName}
</if>
<if test="bo.province != null and bo.city == null">
and province_name in
<foreach collection="bo.province" item="province" separator="," open="(" close=")">
#{province}
</foreach>
</if>
<if test="bo.province == null and bo.city != null ">
and city_name in
<foreach collection="bo.city" item="city" separator="," open="(" close=")">
#{city}
</foreach>
</if>
<if test="bo.province != null and bo.city != null ">
and (
province_name in
<foreach collection="bo.province" item="province" separator="," open="(" close=")">
#{province}
</foreach>
or city_name in
<foreach collection="bo.city" item="city" separator="," open="(" close=")">
#{city}
</foreach>
)
</if>
</where>
order by dp.load_time desc
</select>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment