Commit d50433f3 authored by danfuman's avatar danfuman

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

parents 12c742b0 3c18fc55
...@@ -48,6 +48,14 @@ public class BusinessOverviewController extends BaseController { ...@@ -48,6 +48,14 @@ public class BusinessOverviewController extends BaseController {
return AjaxResult.success(baseService.typeAnalyze(new BusinessSearchDto(SecurityUtils.getUserId(), status))); return AjaxResult.success(baseService.typeAnalyze(new BusinessSearchDto(SecurityUtils.getUserId(), status)));
} }
/**
* 项目类别分析
*/
@GetMapping("/category/analyze/{status}")
public AjaxResult categoryAnalyze(@PathVariable Integer status) {
return AjaxResult.success(baseService.categoryAnalyze(new BusinessSearchDto(SecurityUtils.getUserId(), status)));
}
/** /**
* 公招项目地区统计 * 公招项目地区统计
* *
......
...@@ -26,6 +26,12 @@ public class EnterpriseBussinessClientProjectPageBody extends BasePage { ...@@ -26,6 +26,12 @@ public class EnterpriseBussinessClientProjectPageBody extends BasePage {
@NotNull(message = "企业id不能为空") @NotNull(message = "企业id不能为空")
private Integer companyId; private Integer companyId;
/**
* 客户企业
*/
@NotNull(message = "企业不能为空")
private String companyName;
/** /**
* 查询关键字 * 查询关键字
*/ */
...@@ -33,7 +39,7 @@ public class EnterpriseBussinessClientProjectPageBody extends BasePage { ...@@ -33,7 +39,7 @@ public class EnterpriseBussinessClientProjectPageBody extends BasePage {
public boolean isVaildCid() { public boolean isVaildCid() {
return 0 == cid || 0 == companyId; return 0 == cid;
} }
/** /**
......
...@@ -26,6 +26,12 @@ public class EnterpriseBussinessSupplierProjectPageBody extends BasePage { ...@@ -26,6 +26,12 @@ public class EnterpriseBussinessSupplierProjectPageBody extends BasePage {
@NotNull(message = "企业id不能为空") @NotNull(message = "企业id不能为空")
private Integer companyId; private Integer companyId;
/**
* 供应商企业
*/
@NotNull(message = "企业不能为空")
private Integer companyName;
/** /**
* 查询关键字 * 查询关键字
*/ */
...@@ -33,7 +39,7 @@ public class EnterpriseBussinessSupplierProjectPageBody extends BasePage { ...@@ -33,7 +39,7 @@ public class EnterpriseBussinessSupplierProjectPageBody extends BasePage {
public boolean isVaildCid() { public boolean isVaildCid() {
return 0 == cid || 0 == companyId; return 0 == cid;
} }
......
...@@ -88,3 +88,11 @@ export function getSelect(data) { ...@@ -88,3 +88,11 @@ export function getSelect(data) {
data: data data: data
}) })
} }
// 数据来源链接
export function bidWinMergeDetail(data) {
return request({
url: '/enterpriseBussiness/bidWinMergeDetail',
method: 'post',
data: data
})
}
...@@ -231,7 +231,7 @@ export function getStatistics(param) { ...@@ -231,7 +231,7 @@ export function getStatistics(param) {
//储备项目统计 //储备项目统计
export function getCount(param) { export function getCount(param) {
return request({ return request({
url: '/business/overview/type/analyze/'+param, url: '/business/overview/category/analyze/'+param,
method: 'get', method: 'get',
params:param, params:param,
}) })
......
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
<!-- 输入框 --> <!-- 输入框 -->
<template v-if="form.type==3"> <template v-if="form.type==3">
<div class="cooperate-name" :id="'detailFocus'+i"> <div class="cooperate-name" :id="'detailFocus'+i">
<el-input clearable @focus="clickFocus('detailFocus'+i)" @blur="clickFocus('detailFocus'+i)" v-model="form.value" :placeholder="form.placeholder" :style="form.width?'width:'+form.width+'px':'width:180px'"></el-input> <el-input clearable @clear="changeSelect" @focus="clickFocus('detailFocus'+i)" @blur="clickFocus('detailFocus'+i)" v-model="form.value" :placeholder="form.placeholder" :style="form.width?'width:'+form.width+'px':'width:180px'"></el-input>
<span @click="changeSelect">搜索</span> <span @click="changeSelect">搜索</span>
</div> </div>
</template> </template>
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
</template> </template>
<script> <script>
import { financial } from '@/api/detail/party-a/financial'
export default { export default {
name: 'Sidebar', name: 'Sidebar',
props: { props: {
...@@ -146,7 +146,7 @@ export default { ...@@ -146,7 +146,7 @@ export default {
} }
}, },
created() { created() {
this.defaultRoute = JSON.parse(JSON.stringify(this.sideRoute)) this.defaultRoute = JSON.parse(JSON.stringify(this.sideRoute))
}, },
watch:{ watch:{
statisticObj:{ statisticObj:{
...@@ -284,14 +284,18 @@ export default { ...@@ -284,14 +284,18 @@ export default {
} }
}, },
methods: { methods: {
financial(id){
financial({cid:String(id)}).then(res=>{
if(res.code==200&&!res.data){
this.sideRoute[1].disabled = true
}
})
},
handleOpen(key, keyPath) { handleOpen(key, keyPath) {
}, },
handleItem(item){ handleItem(item){
if(item.title=='企业速览'){ this.sideRoute = this.defaultRoute
item.pathName = 'overview'
}
console.log(item)
this.$emit("currentPath", item) this.$emit("currentPath", item)
}, },
handleSearch(flag){ handleSearch(flag){
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
:min-width="item.minWidth" :min-width="item.minWidth"
:align="item.align?item.align:'left'" :align="item.align?item.align:'left'"
:fixed="item.fixed" :fixed="item.fixed"
:sortable="item.sortable ? 'custom' : false" :sortable="item.sortable ?item.sortable=='custom'? 'custom':true : false"
:resizable="false"> :resizable="false">
<template v-if="item.children&&item.children.length"> <template v-if="item.children&&item.children.length">
<el-table-column <el-table-column
......
...@@ -26,7 +26,8 @@ ...@@ -26,7 +26,8 @@
<template slot="sourceType" slot-scope="scope"> <template slot="sourceType" slot-scope="scope">
<div class="flex-box"> <div class="flex-box">
<div class="a-link" @click="linkTo(scope)" v-if="scope.row.sourceId&&scope.row.sourceType=='中标业绩'" v-html="scope.row.sourceType" style="cursor: pointer"></div> <div class="a-link" @click="linkTo(scope)" v-if="scope.row.sourceId&&scope.row.sourceType=='中标业绩'" v-html="scope.row.sourceType" style="cursor: pointer"></div>
<span v-else v-html="scope.row.sourceType || '--'"></span> <span v-else-if="scope.row.sourceId" @click="linkTo1(scope)" class="a-link" style="cursor: pointer" v-html="scope.row.sourceType"></span>
<span v-else v-html="scope.row.sourceType || '--'"></span>
</div> </div>
</template> </template>
</tables> </tables>
...@@ -36,7 +37,7 @@ ...@@ -36,7 +37,7 @@
<script> <script>
import mixin from '../../mixins/mixin' import mixin from '../../mixins/mixin'
import {clientProjectPage,getSelect} from '@/api/detail/party-a/dealings' import {clientProjectPage,getSelect,bidWinMergeDetail} from '@/api/detail/party-a/dealings'
import HeadDetailForm from "../../component/HeadDetailForm" import HeadDetailForm from "../../component/HeadDetailForm"
export default { export default {
...@@ -55,19 +56,20 @@ export default { ...@@ -55,19 +56,20 @@ export default {
queryParams: { queryParams: {
cid: this.companyId, cid: this.companyId,
companyId: this.data.companyId, companyId: this.data.companyId,
companyName: this.data.companyName,
pageNum: 1, pageNum: 1,
pageSize: 20 pageSize: 20
}, },
formData: [ formData: [
{ type: 4, fieldName: 'projects', value: '', placeholder: '合作项目类型', options: []}, { type: 4, fieldName: 'projects', value: '', placeholder: '合作项目类型', options: []},
{ type: 4, fieldName: 'sources', value: '', placeholder: '数据来源', options: []}, { type: 4, fieldName: 'sources', value: '', placeholder: '数据来源', options: []},
{ type: 6, fieldName: 'money', value: '', placeholder: '合同金额', startMoney: 'amountMin', endMoney: 'amountMax' }, { type: 6, fieldName: 'money', value: '', placeholder: '合同金额', startMoney: 'amountStart', endMoney: 'amountEnd' },
{ type: 3, fieldName: 'keys', value: '', placeholder: '输入项目/工程名称查询', options: []}, { type: 3, fieldName: 'keys', value: '', placeholder: '输入项目/工程名称查询', options: []},
], ],
forData: [ forData: [
{label: '项目名称', prop: 'projectName', fixed: true}, {label: '项目名称', prop: 'projectName', fixed: true},
{label: '公布时间', prop: 'time', width: '100'}, {label: '公布时间', prop: 'time', width: '120',sortable:true},
{label: '本次合同金额(万元)', prop: 'amount', width: '160'}, {label: '本次合同金额(万元)', prop: 'amount', width: '180',sortable:true},
{label: '项目类型', prop: 'projectTtype', width: '130'}, {label: '项目类型', prop: 'projectTtype', width: '130'},
{label: '数据来源', prop: 'sourceType', width: '90', slot: true} {label: '数据来源', prop: 'sourceType', width: '90', slot: true}
], ],
...@@ -124,6 +126,13 @@ export default { ...@@ -124,6 +126,13 @@ export default {
this.drawer = false this.drawer = false
this.$router.push(`/biddetail/${scope.row.sourceId}`) this.$router.push(`/biddetail/${scope.row.sourceId}`)
}, },
linkTo1(scope){
bidWinMergeDetail({sourceId:scope.row.sourceId}).then(res=>{
if(res.data&&res.data.sourceUrl){
window.open(res.data.sourceUrl, "_blank")
}
})
},
cancel() { cancel() {
this.$emit('cancel') this.$emit('cancel')
} }
......
...@@ -26,7 +26,8 @@ ...@@ -26,7 +26,8 @@
<template slot="sourceType" slot-scope="scope"> <template slot="sourceType" slot-scope="scope">
<div class="flex-box"> <div class="flex-box">
<div class="a-link" @click="linkTo(scope)" v-if="scope.row.sourceId&&scope.row.sourceType=='中标业绩'" v-html="scope.row.sourceType" style="cursor: pointer"></div> <div class="a-link" @click="linkTo(scope)" v-if="scope.row.sourceId&&scope.row.sourceType=='中标业绩'" v-html="scope.row.sourceType" style="cursor: pointer"></div>
<span v-else v-html="scope.row.sourceType || '--'"></span> <span v-else-if="scope.row.sourceId" @click="linkTo1(scope)" class="a-link" style="cursor: pointer" v-html="scope.row.sourceType"></span>
<span v-else v-html="scope.row.sourceType || '--'"></span>
</div> </div>
</template> </template>
</tables> </tables>
...@@ -36,7 +37,7 @@ ...@@ -36,7 +37,7 @@
<script> <script>
import mixin from '../../mixins/mixin' import mixin from '../../mixins/mixin'
import { supplierProjectPage,getSelect } from '@/api/detail/party-a/dealings' import { supplierProjectPage,getSelect,bidWinMergeDetail } from '@/api/detail/party-a/dealings'
import HeadDetailForm from "../../component/HeadDetailForm" import HeadDetailForm from "../../component/HeadDetailForm"
export default { export default {
...@@ -54,6 +55,7 @@ export default { ...@@ -54,6 +55,7 @@ export default {
drawer: false, drawer: false,
queryParams: { queryParams: {
companyId: this.data.companyId, companyId: this.data.companyId,
companyName: this.data.companyName,
cid: this.companyId, cid: this.companyId,
pageNum: 1, pageNum: 1,
pageSize: 20 pageSize: 20
...@@ -61,13 +63,13 @@ export default { ...@@ -61,13 +63,13 @@ export default {
formData: [ formData: [
{ type: 4, fieldName: 'projects', value: '', placeholder: '合作项目类型', options: []}, { type: 4, fieldName: 'projects', value: '', placeholder: '合作项目类型', options: []},
{ type: 4, fieldName: 'sources', value: '', placeholder: '数据来源', options: []}, { type: 4, fieldName: 'sources', value: '', placeholder: '数据来源', options: []},
{ type: 6, fieldName: 'money', value: '', placeholder: '合同金额', startMoney: 'amountMin', endMoney: 'amountMax' }, { type: 6, fieldName: 'money', value: '', placeholder: '合同金额', startMoney: 'amountStart', endMoney: 'amountEnd' },
{ type: 3, fieldName: 'keys', value: '', placeholder: '输入合作项目/工程名称查询', options: [], width: 260}, { type: 3, fieldName: 'keys', value: '', placeholder: '输入合作项目/工程名称查询', options: [], width: 260},
], ],
forData: [ forData: [
{label: '项目名称', prop: 'projectName', fixed: true}, {label: '项目名称', prop: 'projectName', fixed: true},
{label: '公布时间', prop: 'time', width: '100'}, {label: '公布时间', prop: 'time', width: '120',sortable:true},
{label: '本次合同金额(万元)', prop: 'amount', width: '160'}, {label: '本次合同金额(万元)', prop: 'amount', width: '180',sortable:true},
{label: '项目类型', prop: 'projectType', width: '130'}, {label: '项目类型', prop: 'projectType', width: '130'},
{label: '数据来源', prop: 'sourceType', width: '90', slot: true} {label: '数据来源', prop: 'sourceType', width: '90', slot: true}
], ],
...@@ -124,6 +126,13 @@ export default { ...@@ -124,6 +126,13 @@ export default {
this.drawer = false this.drawer = false
this.$router.push(`/biddetail/${scope.row.sourceId}`) this.$router.push(`/biddetail/${scope.row.sourceId}`)
}, },
linkTo1(scope){
bidWinMergeDetail({sourceId:scope.row.sourceId}).then(res=>{
if(res.data&&res.data.sourceUrl){
window.open(res.data.sourceUrl, "_blank")
}
})
},
cancel() { cancel() {
this.$emit('cancel') this.$emit('cancel')
} }
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
@sort-change="sortChange" @sort-change="sortChange"
> >
<template slot="companyName" slot-scope="scope"> <template slot="companyName" slot-scope="scope">
<router-link :to="scope.row.uipId?`/enterprise/${encodeStr(scope.row.projectUnitId)}`:`/company/${encodeStr(scope.row.projectUnitId)}`" tag="a" class="a-link" v-if="scope.row.projectUnitId&&scope.row.companyName" v-html="scope.row.companyName"></router-link> <router-link :to="scope.row.uipId?`/enterprise/${encodeStr(scope.row.companyId)}`:`/company/${encodeStr(scope.row.companyId)}`" tag="a" class="a-link" v-if="scope.row.companyId&&scope.row.companyName" v-html="scope.row.companyName"></router-link>
<div v-else v-html="scope.row.companyName || '--'"></div> <div v-else v-html="scope.row.companyName || '--'"></div>
</template> </template>
<!-- <template slot="projectAllName" slot-scope="scope"> <!-- <template slot="projectAllName" slot-scope="scope">
......
...@@ -242,6 +242,7 @@ export default { ...@@ -242,6 +242,7 @@ export default {
this.getStatistic(); this.getStatistic();
this.handleQuery(); this.handleQuery();
this.association(this.$route.query.customerId) this.association(this.$route.query.customerId)
this.$refs.sidebar.financial(data);
} }
}, },
async getStatistic(){ async getStatistic(){
......
...@@ -59,7 +59,11 @@ ...@@ -59,7 +59,11 @@
</el-table-column> </el-table-column>
<el-table-column prop="investStartDate" label="成立日期"></el-table-column> <el-table-column prop="investStartDate" label="成立日期"></el-table-column>
<el-table-column prop="stockPercentage" label="股权占比"></el-table-column> <el-table-column prop="stockPercentage" label="股权占比"></el-table-column>
<el-table-column prop="shouldCapi" label="认缴出资额(万元)"></el-table-column> <el-table-column prop="shouldCapi" label="认缴出资额(万元)">
<template slot-scope="scope">
<span>{{scope.row.shouldCapi>0?scope.row.shouldCapi:'--'}}</span>
</template>
</el-table-column>
</el-table> </el-table>
<no-data v-if="activeName=='second'&&shipData.length<1"/> <no-data v-if="activeName=='second'&&shipData.length<1"/>
<el-table :data="affiliatesData" border style="width: 100%" v-show="activeName=='third'"> <el-table :data="affiliatesData" border style="width: 100%" v-show="activeName=='third'">
......
...@@ -809,6 +809,10 @@ ...@@ -809,6 +809,10 @@
label: '不限' label: '不限'
}, },
{
value: '2022',
label: '2022A级纳税人'
},
{ {
value: '2021', value: '2021',
label: '2021A级纳税人' label: '2021A级纳税人'
......
...@@ -129,7 +129,7 @@ ...@@ -129,7 +129,7 @@
style="width: 100%" style="width: 100%"
> >
<el-table-column <el-table-column
prop="projectType" prop="projectCategory"
label="项目类型"></el-table-column> label="项目类型"></el-table-column>
<el-table-column <el-table-column
prop="businessCount" prop="businessCount"
...@@ -183,7 +183,7 @@ ...@@ -183,7 +183,7 @@
style="width: 100%" style="width: 100%"
> >
<el-table-column <el-table-column
prop="projectType" prop="projectCategory"
label="项目类型"></el-table-column> label="项目类型"></el-table-column>
<el-table-column <el-table-column
prop="businessCount" prop="businessCount"
...@@ -517,7 +517,7 @@ export default { ...@@ -517,7 +517,7 @@ export default {
let barData1 = [],xAxisData1 = [],lineData1=[]; let barData1 = [],xAxisData1 = [],lineData1=[];
this.viewData1.length>0&&this.viewData1.map(item=>{ this.viewData1.length>0&&this.viewData1.map(item=>{
barData1.push(item.businessCount) barData1.push(item.businessCount)
xAxisData1.push(item.projectType) xAxisData1.push(item.projectCategory)
lineData1.push(item.totalAmount) lineData1.push(item.totalAmount)
}) })
let option1 = { let option1 = {
...@@ -642,7 +642,7 @@ export default { ...@@ -642,7 +642,7 @@ export default {
let barData1 = [],xAxisData1 = [],lineData1=[]; let barData1 = [],xAxisData1 = [],lineData1=[];
this.viewData3.length>0&&this.viewData3.map(item=>{ this.viewData3.length>0&&this.viewData3.map(item=>{
barData1.push(item.businessCount) barData1.push(item.businessCount)
xAxisData1.push(item.projectType) xAxisData1.push(item.projectCategory)
lineData1.push(item.totalAmount) lineData1.push(item.totalAmount)
}) })
let option3 = { let option3 = {
......
...@@ -97,7 +97,7 @@ ...@@ -97,7 +97,7 @@
<label class="label">土地级别</label> <label class="label">土地级别</label>
<span>{{textList.landLevel||"--"}}</span> <span>{{textList.landLevel||"--"}}</span>
<label class="label">成交价格(万元)</label> <label class="label">成交价格(万元)</label>
<span>{{textList.transactionPrice||"--"}}</span> <span>{{textList.transactionPrice>0?textList.transactionPrice:'--'}}</span>
</p> </p>
<p> <p>
<label class="label">土地使用权人</label> <label class="label">土地使用权人</label>
......
...@@ -16,6 +16,10 @@ public class BusinessAnalyzeVo implements Serializable { ...@@ -16,6 +16,10 @@ public class BusinessAnalyzeVo implements Serializable {
* 项目类型 * 项目类型
*/ */
private String projectType; private String projectType;
/**
* 项目类别
*/
private String projectCategory;
/** /**
* 资金来源 * 资金来源
*/ */
......
...@@ -84,12 +84,22 @@ public class EnterpriseBussinessService { ...@@ -84,12 +84,22 @@ public class EnterpriseBussinessService {
dataMap.put("sourceList", null); dataMap.put("sourceList", null);
String source = MapUtils.getString(dataMap, "source"); String source = MapUtils.getString(dataMap, "source");
if (ObjectUtil.isNotEmpty(source)) { if (ObjectUtil.isNotEmpty(source)) {
List<EnterpriseBussinessVo> enterpriseSource = new ArrayList<>();
List<EnterpriseBussinessVo> enterpriseBussinessVoList = JSONUtil.toList(source, EnterpriseBussinessVo.class); List<EnterpriseBussinessVo> enterpriseBussinessVoList = JSONUtil.toList(source, EnterpriseBussinessVo.class);
if (ObjectUtil.isNotEmpty(enterpriseBussinessVoList.get(0))) { if (ObjectUtil.isNotEmpty(enterpriseBussinessVoList.get(0))) {
EnterpriseBussinessVo vo = enterpriseBussinessVoList.get(0); EnterpriseBussinessVo vo = enterpriseBussinessVoList.get(0);
dataMap.put("sourceId", vo.getSource_id()); dataMap.put("sourceId", vo.getSource_id());
dataMap.put("sourceType", vo.getSource_type()); dataMap.put("sourceType", vo.getSource_type());
dataMap.put("sourceList", enterpriseBussinessVoList); dataMap.put("sourceList", enterpriseBussinessVoList);
if (ObjectUtil.isNotEmpty(body.getSources())) {
for (EnterpriseBussinessVo bussinessVo : enterpriseBussinessVoList) {
String source_type = bussinessVo.getSource_type();
if (body.getSources().contains(source_type)) {
enterpriseSource.add(bussinessVo);
}
}
dataMap.put("sourceList", enterpriseSource);
}
} }
} }
} }
...@@ -173,12 +183,22 @@ public class EnterpriseBussinessService { ...@@ -173,12 +183,22 @@ public class EnterpriseBussinessService {
dataMap.put("sourceType", null); dataMap.put("sourceType", null);
String source = MapUtils.getString(dataMap, "source"); String source = MapUtils.getString(dataMap, "source");
if (ObjectUtil.isNotEmpty(source)) { if (ObjectUtil.isNotEmpty(source)) {
List<EnterpriseBussinessVo> enterpriseSource = new ArrayList<>();
List<EnterpriseBussinessVo> enterpriseBussinessVoList = JSONUtil.toList(source, EnterpriseBussinessVo.class); List<EnterpriseBussinessVo> enterpriseBussinessVoList = JSONUtil.toList(source, EnterpriseBussinessVo.class);
if (ObjectUtil.isNotEmpty(enterpriseBussinessVoList.get(0))) { if (ObjectUtil.isNotEmpty(enterpriseBussinessVoList.get(0))) {
EnterpriseBussinessVo vo = enterpriseBussinessVoList.get(0); EnterpriseBussinessVo vo = enterpriseBussinessVoList.get(0);
dataMap.put("sourceId", vo.getSource_id()); dataMap.put("sourceId", vo.getSource_id());
dataMap.put("sourceType", vo.getSource_type()); dataMap.put("sourceType", vo.getSource_type());
dataMap.put("sourceList", enterpriseBussinessVoList); dataMap.put("sourceList", enterpriseBussinessVoList);
if (ObjectUtil.isNotEmpty(body.getSources())) {
for (EnterpriseBussinessVo bussinessVo : enterpriseBussinessVoList) {
String source_type = bussinessVo.getSource_type();
if (body.getSources().contains(source_type)) {
enterpriseSource.add(bussinessVo);
}
}
dataMap.put("sourceList", enterpriseSource);
}
} }
} }
} }
......
...@@ -116,4 +116,6 @@ public interface BusinessInfoMapper extends BaseMapper<BusinessInfo> { ...@@ -116,4 +116,6 @@ public interface BusinessInfoMapper extends BaseMapper<BusinessInfo> {
List<BusinessAnalyzeVo> selectTypeAnalyze(BusinessSearchDto dto); List<BusinessAnalyzeVo> selectTypeAnalyze(BusinessSearchDto dto);
List<BusinessAnalyzeVo> selectCategoryAnalyze(BusinessSearchDto dto);
} }
...@@ -20,6 +20,8 @@ public interface IBusinessOverviewService { ...@@ -20,6 +20,8 @@ public interface IBusinessOverviewService {
List<BusinessAnalyzeVo> typeAnalyze(BusinessSearchDto dto); List<BusinessAnalyzeVo> typeAnalyze(BusinessSearchDto dto);
List<BusinessAnalyzeVo> categoryAnalyze(BusinessSearchDto dto);
AjaxResult countGroupByProvince(JSONObject object); AjaxResult countGroupByProvince(JSONObject object);
AjaxResult rangByMoney(JSONObject object); AjaxResult rangByMoney(JSONObject object);
......
...@@ -60,6 +60,12 @@ public class BusinessOverviewServiceImpl implements IBusinessOverviewService { ...@@ -60,6 +60,12 @@ public class BusinessOverviewServiceImpl implements IBusinessOverviewService {
return businessInfoMapper.selectTypeAnalyze(dto); return businessInfoMapper.selectTypeAnalyze(dto);
} }
@Override
@DataScope(userAlias = "u",deptAlias = "d")
public List<BusinessAnalyzeVo> categoryAnalyze(BusinessSearchDto dto) {
return businessInfoMapper.selectCategoryAnalyze(dto);
}
@Override @Override
public AjaxResult countGroupByProvince(JSONObject object) { public AjaxResult countGroupByProvince(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/project/countGroupByProvince", object); Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/project/countGroupByProvince", object);
......
...@@ -401,6 +401,17 @@ ...@@ -401,6 +401,17 @@
bi.project_type,count(bi.id) businessCount, ROUND(sum(bi.investment_amount), 4) totalAmount bi.project_type,count(bi.id) businessCount, ROUND(sum(bi.investment_amount), 4) totalAmount
<include refid="businessSearchSql"/> <include refid="businessSearchSql"/>
group by bi.project_type group by bi.project_type
<if test="status != null and status == 0 "> order by businessCount desc </if>
<if test="status != null and status == 2 "> order by totalAmount desc </if>
</select>
<select id="selectCategoryAnalyze" resultType="com.dsk.system.domain.business.vo.BusinessAnalyzeVo">
select
bi.project_category,count(bi.id) businessCount, ROUND(sum(bi.investment_amount), 4) totalAmount
<include refid="businessSearchSql"/>
group by bi.project_category
<if test="status != null and status == 0 "> order by businessCount desc </if>
<if test="status != null and status == 2 "> order by totalAmount desc </if>
</select> </select>
</mapper> </mapper>
...@@ -123,13 +123,16 @@ ...@@ -123,13 +123,16 @@
</select> </select>
<select id="selectCreditLevelGroup" resultType="java.util.Map"> <select id="selectCreditLevelGroup" resultType="java.util.Map">
select select ct.* from (
ct.credit_level creditLevel, count(ct.credit_level) customerCount select
from customer ct ct.credit_level creditLevel, count(ct.customer_id) customerCount
join customer_user ctu on ct.customer_id = ctu.customer_id from customer ct
where ctu.user_id = #{userId} join customer_user ctu on ct.customer_id = ctu.customer_id
group by ct.credit_level where ctu.user_id = #{userId} and ct.credit_level is not null
order by ct.credit_level desc group by ct.credit_level
) ct
left join sys_dict_data sdd on (sdd.dict_label = ct.creditLevel and sdd.dict_type = 'credit_level_type')
order by sdd.dict_sort asc
</select> </select>
</mapper> </mapper>
......
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