Commit ad80560a authored by liuChang's avatar liuChang

Merge branch 'dev20230707' of 192.168.60.201:root/dsk-operate-sys into dev20230707

parents 26e0c31e 194d0a29
package com.dsk.web.controller.dsk; package com.dsk.web.controller.dsk;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.dsk.common.core.controller.BaseController; import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.AjaxResult; import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.core.domain.R; import com.dsk.common.core.domain.R;
import com.dsk.common.core.page.TableDataInfo; import com.dsk.common.core.page.TableDataInfo;
import com.dsk.system.domain.dsk.dto.JskCombineBidPageDto;
import com.dsk.common.utils.poi.ExcelUtil;
import com.dsk.system.domain.dsk.dto.JskCombineCertificateDto; import com.dsk.system.domain.dsk.dto.JskCombineCertificateDto;
import com.dsk.system.domain.dsk.dto.JskCombineSearchDto; import com.dsk.system.domain.dsk.dto.JskCombineSearchDto;
import com.dsk.system.domain.dsk.vo.JskCombineBidProjectExportVo;
import com.dsk.system.domain.dsk.vo.JskCombineWinBidProjectExportVo;
import com.dsk.system.dskService.JskCombineInfoService; import com.dsk.system.dskService.JskCombineInfoService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.poi.util.IOUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletResponse;
import java.util.Date;
import java.util.List;
import java.util.Map;
/** /**
* 集团户相关信息 * 集团户相关信息
*
* @author lcl * @author lcl
* @create 2023/8/7 * @create 2023/8/7
*/ */
...@@ -59,6 +69,7 @@ public class JskCombineInfoController extends BaseController { ...@@ -59,6 +69,7 @@ public class JskCombineInfoController extends BaseController {
public TableDataInfo certificateList(@RequestBody JskCombineSearchDto dto) throws Exception { public TableDataInfo certificateList(@RequestBody JskCombineSearchDto dto) throws Exception {
return baseService.certificateList(dto); return baseService.certificateList(dto);
} }
/** /**
* 集团成员资质列表 * 集团成员资质列表
*/ */
...@@ -138,4 +149,37 @@ public class JskCombineInfoController extends BaseController { ...@@ -138,4 +149,37 @@ public class JskCombineInfoController extends BaseController {
public AjaxResult centralEnterprseSocialPage(@RequestBody JSONObject object) { public AjaxResult centralEnterprseSocialPage(@RequestBody JSONObject object) {
return baseService.centralEnterprseSocialPage(object); return baseService.centralEnterprseSocialPage(object);
} }
/**
* 导出中标业绩
*/
@PostMapping("/export/win/bid")
@PreAuthorize("@ss.hasPermi('combine:info:export:win:bid')")
public void exportWinBid(@RequestBody JskCombineSearchDto dto, HttpServletResponse response) {
List<JskCombineWinBidProjectExportVo> list = baseService.exportWinBid(dto);
ExcelUtil<JskCombineWinBidProjectExportVo> util = new ExcelUtil<>(JskCombineWinBidProjectExportVo.class);
util.exportExcel(response, list, "集团中标", dto.getCombineName().concat("中标业绩清单"), true);
// String fileName = util.localInit(list, "集团中标", dto.getCombineName().concat("中标业绩清单"), true);
}
/**
* 导出招标业绩
*/
@PostMapping("/export/bid")
@PreAuthorize("@ss.hasPermi('combine:info:export:bid')")
public void exportBid(@RequestBody JskCombineBidPageDto dto, HttpServletResponse response) {
List<JskCombineBidProjectExportVo> list = baseService.exportBid(dto);
ExcelUtil<JskCombineBidProjectExportVo> util = new ExcelUtil<>(JskCombineBidProjectExportVo.class);
util.exportExcel(response, list, "集团招标", dto.getCombineName().concat("招标公告清单"), true);
}
/**
* 集团招标分页列表
*/
@PostMapping("/bidPage")
public TableDataInfo bidPage(@RequestBody JskCombineBidPageDto dto) throws Exception {
return baseService.bidPage(dto);
}
} }
...@@ -1217,4 +1217,5 @@ select { ...@@ -1217,4 +1217,5 @@ select {
} }
.enterprise_contatiner{ .enterprise_contatiner{
padding: 0; padding: 0;
padding-bottom: 16px;
} }
\ No newline at end of file
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div :class="classObj" class="app-wrapper" :style="{'--current-color': theme}"> <div :class="classObj" class="app-wrapper" :style="{'--current-color': theme}">
<div v-if="device==='mobile'&&sidebar.opened" class="drawer-bg" @click="handleClickOutside"/> <div v-if="device==='mobile'&&sidebar.opened" class="drawer-bg" @click="handleClickOutside"/>
<sidebar v-if="!sidebar.hide" class="sidebar-container" @handleBar="handleSideBar" id="sidebar"/> <sidebar v-if="!sidebar.hide" class="sidebar-container" @handleBar="handleSideBar" id="sidebar"/>
<div :class="{hasTagsView:needTagsView,sidebarHide:sidebar.hide,EnterpriseData:$route.name=='EnterpriseData'}" class="main-container"> <div :class="{hasTagsView:needTagsView,sidebarHide:sidebar.hide,EnterpriseData:$route.name=='Group'}" class="main-container">
<div :class="{'fixed-header':fixedHeader}"> <div :class="{'fixed-header':fixedHeader}">
<navbar :offsetWidth="offsetWidth"/> <navbar :offsetWidth="offsetWidth"/>
</div> </div>
...@@ -129,6 +129,6 @@ export default { ...@@ -129,6 +129,6 @@ export default {
width: 100%; width: 100%;
} }
.EnterpriseData{ .EnterpriseData{
min-width: 1648px; min-width: 1710px;
} }
</style> </style>
...@@ -2,7 +2,8 @@ ...@@ -2,7 +2,8 @@
<div class="no-data"> <div class="no-data">
<div class="no-data-box"> <div class="no-data-box">
<img :src="noData" alt="抱歉,没找到相关数据" /> <img :src="noData" alt="抱歉,没找到相关数据" />
<div>抱歉,没找到相关数据</div> <div v-if="text">抱歉,您还未添加{{text}}项目</div>
<div v-else>抱歉,没找到相关数据</div>
<span v-if="condition">建议调整关键词或筛选条件,重新搜索</span> <span v-if="condition">建议调整关键词或筛选条件,重新搜索</span>
</div> </div>
</div> </div>
...@@ -15,6 +16,10 @@ export default { ...@@ -15,6 +16,10 @@ export default {
condition: { condition: {
type: Boolean, type: Boolean,
default: false default: false
},
text: {
type: String,
default: ''
} }
}, },
data() { data() {
......
...@@ -312,8 +312,8 @@ export default { ...@@ -312,8 +312,8 @@ export default {
anchorClick(i) { anchorClick(i) {
var a = document.getElementById('anchor-'+i) var a = document.getElementById('anchor-'+i)
a.scrollIntoView() a.scrollIntoView()
document.body.scrollTop += -56 // document.body.scrollTop += -40
document.documentElement.scrollTop += -56 // document.documentElement.scrollTop += -40
setTimeout(() => { setTimeout(() => {
this.anchorIndex = i this.anchorIndex = i
}, 1); }, 1);
...@@ -498,7 +498,7 @@ export default { ...@@ -498,7 +498,7 @@ export default {
background: #FFFFFF; background: #FFFFFF;
border-radius: 4px 4px 4px 4px; border-radius: 4px 4px 4px 4px;
padding: 16px; padding: 16px;
max-height: 700px; max-height: 848px;
.anchor{ .anchor{
height: 24px; height: 24px;
} }
......
...@@ -143,7 +143,7 @@ ...@@ -143,7 +143,7 @@
</el-table> </el-table>
</div> </div>
</div> </div>
<no-data v-if="viewData1.length==0"/> <no-data text="储备" v-if="viewData1.length==0"/>
</el-card> </el-card>
<el-card class="box-card noborder pd16"> <el-card class="box-card noborder pd16">
<h3>储备项目资金来源</h3> <h3>储备项目资金来源</h3>
...@@ -171,7 +171,7 @@ ...@@ -171,7 +171,7 @@
</el-table> </el-table>
</div> </div>
</div> </div>
<no-data v-if="viewData2.length==0"/> <no-data text="储备" v-if="viewData2.length==0"/>
</el-card> </el-card>
<el-card class="box-card noborder pd16"> <el-card class="box-card noborder pd16">
<h3>已合作项目统计</h3> <h3>已合作项目统计</h3>
...@@ -199,7 +199,7 @@ ...@@ -199,7 +199,7 @@
</el-table> </el-table>
</div> </div>
</div> </div>
<no-data v-if="viewData3.length==0"/> <no-data text="已合作" v-if="viewData3.length==0"/>
</el-card> </el-card>
<el-card class="box-card noborder pd16"> <el-card class="box-card noborder pd16">
<h3>公招项目地区统计</h3> <h3>公招项目地区统计</h3>
......
<template>
<div class="app-container qyzx-details">
<div class="bottomlist">
<ul class="bottomlist-content">
<li class="bottomlist-list" >
<p class="list-titel">
{{textList.name}}
</p>
<div class="content-label">
<span class="list-label list-label-zb" v-if="textList.province||textList.city||textList.district">
{{textList.province}}
<template v-if="textList.city">
-{{textList.city}}
</template>
<template v-if="textList.district">
-{{textList.district}}
</template>
</span>
</div>
<div class="list-content">
<p class="list-content-text">
<span>发布时间:</span>
<span > {{textList.publishTime||'--'}}</span>
</p>
<p class="list-content-text">
<span>来源网站:</span>
<span>{{textList.source||'--'}}</span>
</p>
</div>
</li>
</ul>
</div>
<div class="content main5">
<div class="common-title">投标人列表</div>
<div class="table-item">
<el-table
:data="tableData"
element-loading-text="Loading"
border
>
<el-table-column label="序号" width="80">
<template slot-scope="scope">
<span>{{(pageNum - 1) *20 + scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="企业名称" >
<template slot-scope="scope">
<router-link v-if="scope.row.uipId||scope.row.companyId" :to="scope.row.uipId?'/enterprise/' + encodeStr(scope.row.companyId) :'/company/' + encodeStr(scope.row.companyId) " tag="a" class="list-titel-a blue" v-html="scope.row.companyName"></router-link>
<span v-else>{{ scope.row.companyName||'--' }}</span>
</template>
</el-table-column>
<el-table-column label="投标报价(万)" width="300" >
<template slot-scope="scope">
{{ scope.row.tenderOffer||'--'}}
</template>
</el-table-column>
<!-- <el-table-column label="工期" width="182" >
<template slot-scope="scope">
{{ scope.row.tenderOffer||'--'}}
</template>
</el-table-column> -->
</el-table>
<!-- <div class="pagination clearfix" v-show="total>10">`
<el-pagination background :page-size="pageSize" :current-page="pageNum"
@current-change="handleCurrentChange" layout="prev, pager, next" :total="total">
</el-pagination>
</div> -->
</div>
</div>
<div class="content main3">
<div class="common-title">原文信息</div>
<div class="list-content-img" @mouseenter="showimg=false" @mouseleave="showimg=true">
<img v-if="showimg" src="@/assets/images/bxpro/original1.png">
<img v-else src="@/assets/images/bxpro/original.png">
<span>
<a :href="textList.url" target="_blank">原文链接</a>
</span>
</div>
<div class="main3-box" v-html="textList.content">
</div>
</div>
</div>
</template>
<script>
import "@/assets/styles/public.css";
import {encodeStr} from "@/assets/js/common.js"
import api from '@/api/radar/radar.js';
export default {
name: 'BidRecordDetails',
data() {
return {
encodeStr,
id: '',
tableData: [],
"pageNum": 1,
"pageSize": 10,
total: 0,
textList: {},
showimg:true
}
},
created() {
this.id = this.$route.params.id;
this.tenderPage();
this.tenderDetail();
},
methods: {
tenderDetail() {
api.tenderDetail({
id: this.id
}).then(res => {
// console.log(res);
this.textList = res.data;
if(this.textList.companys){
this.textList.companys=JSON.parse(this.textList.companys);
this.tableData = this.textList.companys;
}
}).catch(error => {
});
},
handleCurrentChange(pageNum) {
this.pageNum = pageNum;
this.search(pageNum, this.pageSize);
},
tenderPage(pageNum, pageSize) {
if (!pageNum) {
this.pageNum = 1;
}
if (!pageSize) {
this.pageSize = 20;
}
var data = {
cid: this.id,
pageNum: this.pageNum,
pageSize: this.pageSize
}
// api.tenderPage(data).then(res => {
// // console.log(res);
// this.tableData = res.rows;
// this.total = res.total;
// console.log(this.tableData);
// }).catch(error => {
// });
}
}
}
</script>
<style lang="scss" scoped>
.bottomlist {
width: 100%;
background-color: #FFFFFF;
border-radius: 4px 4px 4px 4px;
.bottomlist-title {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 12px;
padding: 16px;
border-bottom: 1px solid #EFEFEF;
.title-right {
display: flex;
align-items: center;
p:first-child {
font-size: 12px;
font-weight: 400;
color: #3D3D3D;
margin-right: 10px;
}
p:last-child {
display: flex;
align-items: center;
font-size: 14px;
font-weight: 400;
color: rgba(35, 35, 35, 0.8);
}
img {
width: 18px;
height: 18px;
}
}
}
.bottomlist-content {
padding-bottom: 0px;
}
.bottomlist-list {
padding: 16px;
font-size: 14px;
border-bottom: 1px solid #EFEFEF;
padding-bottom: 14px;
.list-titel {
font-size: 16px;
font-weight: 700;
color: #3D3D3D;
line-height: 19px;
.list-titel-a {
text-decoration: none;
color: #3D3D3D;
}
a:hover,
a:visited,
a:link,
a:active {
color: #3D3D3D;
}
}
.content-label {
margin-top: 7px;
.list-label {
background: #F3F3FF;
color: #8491E8;
border-radius: 1px 1px 1px 1px;
padding: 3px 7px;
font-size: 12px;
}
}
.list-content {
margin-top: 3px;
display: flex;
justify-content: start;
align-items: center;
.list-content-text {
margin-top: 7px;
display: flex;
justify-content: start;
align-items: center;
margin-right: 27px;
font-size: 14px;
span:first-child {
font-weight: 400;
color: rgba(35, 35, 35, 0.4);
line-height: 15px
}
span:last-child {
font-weight: 400;
color: rgba(35, 35, 35, 0.8);
line-height: 15px
}
.blue {
color: #0081FF !important;
cursor: pointer;
}
}
}
.list-addree {
width: auto;
background: #F3F4F5;
display: inline-flex;
margin-top: 7px;
.list-content-text {
margin-top: 0px;
span {
line-height: 30px !important;
}
}
img {
width: 14px;
margin: 0 8px;
}
}
}
.bottomlist-list:hover {
background: #F6F9FC;
cursor: pointer;
}
.pagination {
padding: 14px;
.el-pagination {
float: right;
}
}
}
.app-container {
padding: 0;
}
.qyzx-details {
.content {
margin-top: 16px;
background: #FFFFFF;
padding: 16px;
border-radius: 4px;
}
.common-title {
margin-bottom: 8px;
}
.main3 {
position: relative;
.main3-box {
margin-top: 22px;
min-height: 400px;
border: 1px solid #D8D8D8;
}
.list-content-img{
position: absolute;
top: 16px;
right:14px ;
color: #0081FF;
display: flex;
align-items: center;
font-size: 14px;
cursor: pointer;
img{
width: 14px;
height: 14px;
margin-right: 4px;
}
}
.list-content-img:hover{
color: #0067CC;
}
}
.main5 {
.table-item {
margin-top: 22px;
.blue {
color: #0081FF !important;
cursor: pointer;
}
}
.pagination {
padding: 14px;
.el-pagination {
float: right;
}
}
}
}
</style>
\ No newline at end of file
...@@ -14,6 +14,8 @@ ...@@ -14,6 +14,8 @@
</div> </div>
<p class="solid"></p> <p class="solid"></p>
</div> </div>
<!-- 重点项目清单 -->
<MajorProject v-if="personnelHerf=='MajorProject'" />
<!-- 政府专项债 --> <!-- 政府专项债 -->
<debtProject v-if="personnelHerf=='debtProject'" /> <debtProject v-if="personnelHerf=='debtProject'" />
<!-- 土地交易 --> <!-- 土地交易 -->
...@@ -41,15 +43,23 @@ ...@@ -41,15 +43,23 @@
import Tender from "./components/Tender/index.vue"; import Tender from "./components/Tender/index.vue";
import BidRecord from "./components/BidRecord/index.vue"; import BidRecord from "./components/BidRecord/index.vue";
import Bidding from "./components/Bidding/index.vue"; import Bidding from "./components/Bidding/index.vue";
import MajorProject from "./components/MajorProject/index.vue";
import "@/assets/styles/public.css"; import "@/assets/styles/public.css";
export default { export default {
name: 'Radar', name: 'Radar',
components: { debtProject,Land,Establishment,bxprozbgg,Tender,BidRecord,Bidding }, components: { MajorProject,debtProject,Land,Establishment,bxprozbgg,Tender,BidRecord,Bidding },
data() { data() {
return { return {
// tablist // tablist
personnelList: [{ personnelList: [
// {
// key: 'MajorProject',
// status: true,
// value: '重点项目清单',
// },
{
key: 'debtProject', key: 'debtProject',
status: true, status: true,
value: '政府专项债项目', value: '政府专项债项目',
......
package com.dsk.system.domain.dsk.dto;
import com.dsk.common.core.domain.model.BasePage;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
/**
* 集团户相关查询条件实体类
*
* @author Dgm
* @create 2023/8/7
*/
@Data
public class JskCombineBidPageDto extends BasePage implements Serializable {
/**
* 集团id
*/
@NotNull(message = "集团id不能为空!")
private String combineId;
/**
* 集团名称
*/
private String combineName;
/**
* 筛选参数
*/
private String keys;
/**
* 集团层级
*/
private List<String> combineMemberLevels;
/**
* 省id
*/
private List<Integer> provinceIds;
/**
* 市id
*/
private List<Integer> cityIds;
/**
* 区id
*/
private List<Integer> areaIds;
/**
* 最大金额
*/
private Integer maxAmount;
/**
* 最小金额
*/
private Integer minAmount;
/**
* 业务类型
*/
private String businessType;
/**
* 科技型企业类型
*/
private List<String> companyTypes;
/**
* 企业类型
*/
private String companyType;
/**
* 最大持股比例
*/
private Double maxStockPercent;
/**
* 最小持股比例
*/
private Double minStockPercent;
/**
* 时间(开始)
*/
private String startTime;
/**
* 时间(结束)
*/
private String endTime;
/**
* 招采类型
*/
private List<String> subjectMatters;
/**
* 项目类型
*/
private List<String> projectTypes;
}
...@@ -20,6 +20,10 @@ public class JskCombineSearchDto implements Serializable { ...@@ -20,6 +20,10 @@ public class JskCombineSearchDto implements Serializable {
*/ */
@NotNull(message = "集团id不能为空!") @NotNull(message = "集团id不能为空!")
private String combineId; private String combineId;
/**
* 集团名称
*/
private String combineName;
/** /**
* 筛选参数 * 筛选参数
*/ */
......
package com.dsk.system.domain.dsk.vo;
import com.dsk.common.annotation.Excel;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 集团中标业绩
* @author lcl
* @create 2023/8/28
*/
@Data
public class JskCombineBidProjectExportVo implements Serializable {
@Excel(name = "序号", width = 6)
private Integer id;
@Excel(name = "招标发布时间", width = 15, dateFormat = "yyyy/MM/dd")
private Date issueTime;
@Excel(name = "招标成员", width = 30)
private String tenderee;
@Excel(name = "持股比例", suffix = "%" , width = 15)
private Double stockPercent;
@Excel(name = "成员等级", width = 15)
private String memberLevel;
@Excel(name = "项目名称", width = 50)
private String projectName;
@Excel(name = "预算金额" , suffix = "万元")
private Double bidAmount;
@Excel(name = "项目地区", width = 20)
private String address;
@Excel(name = "招标采购分类", width = 15)
private String subjectMatter;
@Excel(name = "项目类型", width = 15)
private String projectType;
@Excel(name = "代理单位", width = 30)
private String agency;
}
package com.dsk.system.domain.dsk.vo;
import com.dsk.common.annotation.Excel;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 集团中标业绩
* @author lcl
* @create 2023/8/28
*/
@Data
public class JskCombineWinBidProjectExportVo implements Serializable {
@Excel(name = "序号", width = 6)
private Integer id;
@Excel(name = "中标时间", width = 15, dateFormat = "yyyy/MM/dd")
private Date bidTime;
@Excel(name = "成员名称", width = 30)
private String companyName;
@Excel(name = "持股比例", suffix = "%" , width = 15)
private Double stockPercent;
@Excel(name = "成员等级", width = 15)
private String memberLevel;
@Excel(name = "项目名称", width = 50)
private String projectName;
@Excel(name = "中标金额" , suffix = "万元")
private Double bidAmount;
@Excel(name = "中标地区", width = 20)
private String address;
@Excel(name = "业绩类型", width = 15)
private String boundType;
@Excel(name = "项目类型", width = 15)
private String projectType;
@Excel(name = "业主单位", width = 30)
private String projectUnit;
}
package com.dsk.system.dskService; package com.dsk.system.dskService;
import cn.hutool.core.bean.BeanException;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.dsk.common.core.domain.AjaxResult; import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.core.domain.R; import com.dsk.common.core.domain.R;
import com.dsk.common.core.page.TableDataInfo; import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.exception.ServiceException;
import com.dsk.common.utils.DskOpenApiUtil; import com.dsk.common.utils.DskOpenApiUtil;
import com.dsk.system.domain.dsk.dto.JskCombineBidPageDto;
import com.dsk.system.domain.dsk.dto.JskCombineCertificateDto; import com.dsk.system.domain.dsk.dto.JskCombineCertificateDto;
import com.dsk.system.domain.dsk.dto.JskCombineSearchDto; import com.dsk.system.domain.dsk.dto.JskCombineSearchDto;
import com.dsk.system.domain.dsk.vo.JskCombineBidProjectExportVo;
import com.dsk.system.domain.dsk.vo.JskCombineWinBidProjectExportVo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.MapUtils; import org.apache.commons.collections4.MapUtils;
import org.apache.ibatis.util.MapUtil;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -81,7 +83,7 @@ public class JskCombineInfoService { ...@@ -81,7 +83,7 @@ public class JskCombineInfoService {
return dskOpenApiUtil.responsePage(map); return dskOpenApiUtil.responsePage(map);
} }
public TableDataInfo menberCertificateList(JskCombineCertificateDto dto)throws Exception { public TableDataInfo menberCertificateList(JskCombineCertificateDto dto) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/combine/member/certificateList", BeanUtil.beanToMap(dto, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/combine/member/certificateList", BeanUtil.beanToMap(dto, false, false));
// if (!ObjectUtils.isEmpty(map.get("data"))) { // if (!ObjectUtils.isEmpty(map.get("data"))) {
// Map<String, Object> data = BeanUtil.beanToMap(map.get("data")); // Map<String, Object> data = BeanUtil.beanToMap(map.get("data"));
...@@ -141,4 +143,86 @@ public class JskCombineInfoService { ...@@ -141,4 +143,86 @@ public class JskCombineInfoService {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/enterprice/centralEnterprse/social/page", object); Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/enterprice/centralEnterprse/social/page", object);
return BeanUtil.toBean(map, AjaxResult.class); return BeanUtil.toBean(map, AjaxResult.class);
} }
public List<JskCombineWinBidProjectExportVo> exportWinBid(JskCombineSearchDto dto) {
if (ObjectUtils.isEmpty(dto.getPageSize())) throw new ServiceException("导出条数不能为空!");
if (dto.getPageSize() > 2000) dto.setPageSize(2000);
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/combine/businessList", BeanUtil.beanToMap(dto, false, false));
if (ObjectUtils.isEmpty(map.get("data"))) throw new ServiceException("导出失败,系统错误!");
Map<String, Object> data = BeanUtil.beanToMap(map.get("data"));
if (ObjectUtils.isEmpty(data.get("list"))) throw new ServiceException("导出失败,系统错误!");
List<Map<String, Object>> list = (List<Map<String, Object>>) data.get("list");
if (ObjectUtils.isEmpty(list)) throw new ServiceException("导出失败,无数据导出!");
List<JskCombineWinBidProjectExportVo> result = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
JskCombineWinBidProjectExportVo vo = new JskCombineWinBidProjectExportVo();
vo.setId(i + 1);
vo.setBidTime(MapUtil.getDate(list.get(i),"bidTime"));
vo.setCompanyName(MapUtil.getStr(list.get(i),"companyName"));
vo.setStockPercent(MapUtil.getDouble(list.get(i),"stockPercent"));
vo.setMemberLevel(MapUtil.getStr(list.get(i),"memberLevel"));
vo.setProjectName(MapUtil.getStr(list.get(i),"projectName"));
vo.setBidAmount(MapUtil.getDouble(list.get(i),"bidAmount"));
vo.setAddress(MapUtil.getStr(list.get(i),"address"));
vo.setBoundType(MapUtil.getStr(list.get(i),"boundType"));
vo.setProjectType(MapUtil.getStr(list.get(i),"projectType"));
vo.setProjectUnit(MapUtil.getStr(list.get(i),"projectUnit"));
result.add(vo);
}
return result;
}
public List<JskCombineBidProjectExportVo> exportBid(JskCombineBidPageDto dto) {
if (ObjectUtils.isEmpty(dto.getPageSize())) throw new ServiceException("导出条数不能为空!");
if (dto.getPageSize() > 2000) dto.setPageSize(2000);
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/combine/bidPage", BeanUtil.beanToMap(dto, false, false));
if (ObjectUtils.isEmpty(map.get("data"))) throw new ServiceException("导出失败,系统错误!");
Map<String, Object> data = BeanUtil.beanToMap(map.get("data"));
if (ObjectUtils.isEmpty(data.get("list"))) throw new ServiceException("导出失败,系统错误!");
List<Map<String, Object>> list = (List<Map<String, Object>>) data.get("list");
if (ObjectUtils.isEmpty(list)) throw new ServiceException("导出失败,无数据导出!");
List<JskCombineBidProjectExportVo> result = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
JskCombineBidProjectExportVo vo = new JskCombineBidProjectExportVo();
vo.setId(i + 1);
vo.setIssueTime(MapUtil.getDate(list.get(i),"issueTime"));
vo.setTenderee(MapUtil.getStr(list.get(i),"tenderee"));
vo.setStockPercent(MapUtil.getDouble(list.get(i),"stockPercent"));
vo.setMemberLevel(MapUtil.getStr(list.get(i),"memberLevel"));
vo.setProjectName(MapUtil.getStr(list.get(i),"projectName"));
vo.setBidAmount(MapUtil.getDouble(list.get(i),"bidAmount"));
vo.setAddress(MapUtil.getStr(list.get(i),"address"));
vo.setSubjectMatter(MapUtil.getStr(list.get(i),"subjectMatter"));
vo.setProjectType(MapUtil.getStr(list.get(i),"projectType"));
vo.setAgency(MapUtil.getStr(list.get(i),"agency"));
result.add(vo);
}
return result;
}
public TableDataInfo bidPage(JskCombineBidPageDto dto) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/combine/bidPage", BeanUtil.beanToMap(dto, false, false));
if (ObjectUtil.isNotEmpty(map.get("data"))) {
Map<String, Object> data = BeanUtil.beanToMap(map.get("data"));
if (!ObjectUtils.isEmpty(data.get("list"))) {
List<Map<String, Object>> list = (List<Map<String, Object>>) data.get("list");
list.parallelStream().forEach(res -> {
//招标企业
Integer tendereeId = MapUtils.getInteger(res, "tendereeId");
String tenderee = MapUtils.getString(res, "tenderee");
// 代理机构名称
Integer agencyId = MapUtils.getInteger(res, "agencyId");
String agency = MapUtils.getString(res, "agency");
res.put("tendereeUipId", enterpriseService.getUipIdByCompanyNameOrCompanyId(tenderee, tendereeId));
res.put("agencyUipId", enterpriseService.getUipIdByCompanyNameOrCompanyId(agency, agencyId));
});
}
}
return dskOpenApiUtil.responsePage(map);
}
} }
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