Commit 7b2900c3 authored by danfuman's avatar danfuman

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

parents b3759e2e b05f7359
package com.dsk.web.controller.business; package com.dsk.web.controller.business;
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.utils.SecurityUtils; import com.dsk.common.utils.SecurityUtils;
...@@ -8,6 +9,7 @@ import com.dsk.system.service.IBusinessOverviewService; ...@@ -8,6 +9,7 @@ import com.dsk.system.service.IBusinessOverviewService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
...@@ -25,10 +27,43 @@ public class BusinessOverviewController extends BaseController { ...@@ -25,10 +27,43 @@ public class BusinessOverviewController extends BaseController {
private IBusinessOverviewService baseService; private IBusinessOverviewService baseService;
/** /**
* 项目统计 * 项目状态统计
*/ */
@GetMapping("/statistics") @GetMapping("/status/statistics")
public AjaxResult statistics(){ public AjaxResult statusStatistics(){
return AjaxResult.success(baseService.statistics(new BusinessSearchDto(SecurityUtils.getUserId()))); return AjaxResult.success(baseService.statusStatistics(new BusinessSearchDto(SecurityUtils.getUserId())));
}
/**
* 项目资金分析
*/
@GetMapping("/amount/analyze")
public AjaxResult amountAnalyze(){
return AjaxResult.success(baseService.amountAnalyze(new BusinessSearchDto(SecurityUtils.getUserId(),0)));
}
/**
* 项目类型分析
*/
@GetMapping("/type/analyze")
public AjaxResult typeAnalyze(){
return AjaxResult.success(baseService.typeAnalyze(new BusinessSearchDto(SecurityUtils.getUserId(),2)));
}
/**
* 公招项目地区统计
* @return
*/
@GetMapping("/countGroupByProvince")
public AjaxResult countGroupByProvince(@RequestBody JSONObject object){
return baseService.countGroupByProvince(object);
}
/**
* 公招项目投资金额统计
* @return
*/
@GetMapping("/rangByMoney")
public AjaxResult rangByMoney(@RequestBody JSONObject object){
return baseService.rangByMoney(object);
} }
} }
...@@ -43,7 +43,7 @@ public class EnterpriseBussinessController { ...@@ -43,7 +43,7 @@ public class EnterpriseBussinessController {
@ApiOperation(value = "客户项目列表(openApi)") @ApiOperation(value = "客户项目列表(openApi)")
@RequestMapping(value = "/clientProjectPage", method = RequestMethod.POST) @RequestMapping(value = "/clientProjectPage", method = RequestMethod.POST)
public Map<String, Object> clientProjectPage(@RequestBody @Valid EnterpriseBussinessClientProjectPageBody paramMap) throws Exception { public TableDataInfo clientProjectPage(@RequestBody @Valid EnterpriseBussinessClientProjectPageBody paramMap) throws Exception {
return enterpriseBussinessService.clientProjectPage(paramMap); return enterpriseBussinessService.clientProjectPage(paramMap);
} }
...@@ -67,7 +67,7 @@ public class EnterpriseBussinessController { ...@@ -67,7 +67,7 @@ public class EnterpriseBussinessController {
@ApiOperation(value = "供应商项目列表(openApi)") @ApiOperation(value = "供应商项目列表(openApi)")
@RequestMapping(value = "/supplierProjectPage",method = RequestMethod.POST) @RequestMapping(value = "/supplierProjectPage",method = RequestMethod.POST)
public Map<String, Object> supplierProjectPage(@RequestBody @Valid EnterpriseBussinessSupplierProjectPageBody paramMap) throws Exception { public TableDataInfo supplierProjectPage(@RequestBody @Valid EnterpriseBussinessSupplierProjectPageBody paramMap) throws Exception {
return enterpriseBussinessService.supplierProjectPage(paramMap); return enterpriseBussinessService.supplierProjectPage(paramMap);
} }
...@@ -102,4 +102,24 @@ public class EnterpriseBussinessController { ...@@ -102,4 +102,24 @@ public class EnterpriseBussinessController {
} }
@ApiOperation(value = "中标公示详情")
@RequestMapping(value = "/bidWinMergeDetail", method = RequestMethod.POST)
public R bidWinMergeDetail(@RequestBody EnterpriseBusinessBidWinMergeDetailBody paramMap) throws Exception {
return enterpriseBussinessService.bidWinMergeDetail(paramMap);
}
@ApiOperation(value = "四库业绩详情")
@RequestMapping(value = "/skyProjectDetail", method = RequestMethod.POST)
public R skyProjectDetail(@RequestBody EnterpriseBusinessSkyProjectDetailBody paramMap) throws Exception {
return enterpriseBussinessService.skyProjectDetail(paramMap);
}
@ApiOperation(value = "荣誉奖项详情")
@RequestMapping(value = "/awardDetail", method = RequestMethod.POST)
public R awardDetail(@RequestBody EnterpriseBusinessAwardDetailBody paramMap) throws Exception {
return enterpriseBussinessService.awardDetail(paramMap);
}
} }
package com.dsk.common.core.domain.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseBusinessAwardDetailBody {
/**
* id
*/
@NotNull(message = "id不能为空")
private String sourceId;
}
package com.dsk.common.core.domain.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseBusinessAwardDetailVo {
/**
* 来源名称
*/
private String sourceName;
/**
* 来源url
*/
private String sourceUrl;
}
package com.dsk.common.core.domain.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseBusinessBidWinMergeDetailBody {
/**
* 来源id
*/
@NotNull(message = "id不能为空")
private String sourceId;
}
package com.dsk.common.core.domain.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseBusinessSkyProjectDetailBody {
/**
* id
*/
@NotNull(message = "id不能为空")
private Long sourceId;
}
...@@ -36,4 +36,15 @@ public class EnterpriseBussinessClientPageBody extends BasePage { ...@@ -36,4 +36,15 @@ public class EnterpriseBussinessClientPageBody extends BasePage {
return 0 == cid; return 0 == cid;
} }
/**
* 来源
*/
private List<String> sources;
/**
* 项目类型
*/
private List<String> projects;
} }
...@@ -7,6 +7,7 @@ import lombok.ToString; ...@@ -7,6 +7,7 @@ import lombok.ToString;
import javax.validation.constraints.AssertFalse; import javax.validation.constraints.AssertFalse;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.util.List;
@Data @Data
@ToString @ToString
...@@ -20,10 +21,10 @@ public class EnterpriseBussinessClientProjectPageBody extends BasePage { ...@@ -20,10 +21,10 @@ public class EnterpriseBussinessClientProjectPageBody extends BasePage {
private Integer cid; private Integer cid;
/** /**
* 企业id * 客户企业Id
*/ */
@NotNull(message = "企业id不能为空") @NotNull(message = "企业id不能为空")
private Integer unitId; private Integer companyId;
/** /**
* 查询关键字 * 查询关键字
...@@ -32,7 +33,29 @@ public class EnterpriseBussinessClientProjectPageBody extends BasePage { ...@@ -32,7 +33,29 @@ public class EnterpriseBussinessClientProjectPageBody extends BasePage {
public boolean isVaildCid() { public boolean isVaildCid() {
return 0 == cid || 0 == unitId; return 0 == cid || 0 == companyId;
} }
/**
* 来源
*/
private List<String> sources;
/**
* 项目类型
*/
private List<String> projects;
/**
* 金额起
*/
private Double amountStart;
/**
* 金额止
*/
private Double amountEnd;
} }
...@@ -7,6 +7,7 @@ import lombok.ToString; ...@@ -7,6 +7,7 @@ import lombok.ToString;
import javax.validation.constraints.AssertFalse; import javax.validation.constraints.AssertFalse;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.util.List;
@Data @Data
@ToString @ToString
...@@ -34,4 +35,15 @@ public class EnterpriseBussinessSupplierPageBody extends BasePage { ...@@ -34,4 +35,15 @@ public class EnterpriseBussinessSupplierPageBody extends BasePage {
public boolean isVaildCid() { public boolean isVaildCid() {
return 0 == cid; return 0 == cid;
} }
/**
* 来源
*/
private List<String> sources;
/**
* 项目类型
*/
private List<String> projects;
} }
...@@ -7,6 +7,7 @@ import lombok.ToString; ...@@ -7,6 +7,7 @@ import lombok.ToString;
import javax.validation.constraints.AssertFalse; import javax.validation.constraints.AssertFalse;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.util.List;
@Data @Data
@ToString @ToString
...@@ -20,10 +21,10 @@ public class EnterpriseBussinessSupplierProjectPageBody extends BasePage { ...@@ -20,10 +21,10 @@ public class EnterpriseBussinessSupplierProjectPageBody extends BasePage {
private Integer cid; private Integer cid;
/** /**
* 企业id * 供应商企业Id
*/ */
@NotNull(message = "企业id不能为空") @NotNull(message = "企业id不能为空")
private Integer unitId; private Integer companyId;
/** /**
* 查询关键字 * 查询关键字
...@@ -32,8 +33,28 @@ public class EnterpriseBussinessSupplierProjectPageBody extends BasePage { ...@@ -32,8 +33,28 @@ public class EnterpriseBussinessSupplierProjectPageBody extends BasePage {
public boolean isVaildCid() { public boolean isVaildCid() {
return 0 == cid || 0 == unitId; return 0 == cid || 0 == companyId;
} }
/**
* 来源
*/
private List<String> sources;
/**
* 项目类型
*/
private List<String> projects;
/**
* 金额起
*/
private Double amountStart;
/**
* 金额止
*/
private Double amountEnd;
} }
package com.dsk.common.core.domain.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseBussinessVo {
/**
* 来源Id
*/
private String source_id;
/**
* 类型
*/
private String source_type;
}
...@@ -19,9 +19,9 @@ ...@@ -19,9 +19,9 @@
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="招采单位:" class="row" prop="ownerCompany"> <el-form-item label="招采单位:" class="row" prop="ownerCompany">
<el-input type="text" placeholder="请输入" v-model="queryParam.ownerCompany" @input="getCompany" :οnkeyup="queryParam.ownerCompany=queryParam.ownerCompany.replace(/^\s+|\s+$/g,'')"></el-input> <el-input type="text" placeholder="请输入" v-model="queryParam.ownerCompany" @input="getCompany(1)" :οnkeyup="queryParam.ownerCompany=queryParam.ownerCompany.replace(/^\s+|\s+$/g,'')"></el-input>
<div class="resultlist" v-if="showlist" id="box"> <div class="resultlist infinite-list" v-if="showlist" v-infinite-scroll="load" id="box" style="overflow:auto">
<div v-for="(item,index) in companData" @click="selCompany(item)"><span v-html="item.name"></span></div> <div class="infinite-list-item" v-for="(item,index) in companData" @click="selCompany(item)"><span v-html="item.name" :key="companypage"></span></div>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="项目阶段:" class="row"> <el-form-item label="项目阶段:" class="row">
...@@ -96,6 +96,8 @@ ...@@ -96,6 +96,8 @@
projectType:[],//项目类型 projectType:[],//项目类型
projectCategory:[],//项目类别 projectCategory:[],//项目类别
proList:[],//项目列表 proList:[],//项目列表
companypage:1,
isscroll:false,
} }
}, },
mounted(){ mounted(){
...@@ -135,20 +137,41 @@ ...@@ -135,20 +137,41 @@
}, },
//获取建设库客户 //获取建设库客户
getCompany(value){ getCompany(value){
this.queryParam.companyId = '' this.queryParam.companyId = null
if (value.length>=2){ if(value == 1){
this.companData = []
this.companypage = 1
}
if (this.queryParam.ownerCompany.length>=2){
let param = { let param = {
keyword:value, keyword:this.queryParam.ownerCompany,
page:{ page:{
limit:20, limit:20,
page:1 page:this.companypage
} }
} }
getEnterprise(JSON.stringify(param)).then(result=>{ getEnterprise(JSON.stringify(param)).then(result=>{
if(result.code != 200) if(result.code != 200){
return return false
this.showlist = true }
this.companData = result.data.list if(result.data.list != null && result.data.list.length>0){
this.isscroll = true
if (this.companData.length===0) {
this.companData = result.data.list
} else {
let arr2 = result.data.list
arr2.unshift(2, 0);
Array.prototype.splice.apply(this.companData, arr2);
}
if(this.companData.length===0) {
this.showlist = false
}else{
this.showlist = true
}
this.companypage += 1
}else{
this.isscroll = false
}
}) })
} }
}, },
...@@ -167,6 +190,11 @@ ...@@ -167,6 +190,11 @@
}) })
} }
}, },
load(){
if(this.isscroll){
this.getCompany(2)
}
},
selCompany(item){ selCompany(item){
this.queryParam.companyId = item.jskEid this.queryParam.companyId = item.jskEid
this.queryParam.ownerCompany = item.name.replace(/<[^>]+>/g, '') this.queryParam.ownerCompany = item.name.replace(/<[^>]+>/g, '')
......
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
<div style="position: relative"> <div style="position: relative">
<el-input placeholder="待添加" id="biaoqian" :disabled="isDisabled" v-model="tipsvalue" @input="getValue" :style="spanWidth"></el-input><span class="spanText">{{ tipsvalue }}</span> <el-input placeholder="待添加" id="biaoqian" :disabled="isDisabled" v-model="tipsvalue" @input="getValue" :style="spanWidth"></el-input><span class="spanText">{{ tipsvalue }}</span>
</div> </div>
<div class="addbtn" v-if="isDisabled == false" @click="addtips"></div> <!--<div class="addbtn" v-if="isDisabled == false" @click="addtips"></div>-->
</div> </div>
</div> </div>
</div> </div>
......
...@@ -3,6 +3,7 @@ package com.dsk.system.domain.business.dto; ...@@ -3,6 +3,7 @@ package com.dsk.system.domain.business.dto;
import com.dsk.common.core.domain.BaseEntity; import com.dsk.common.core.domain.BaseEntity;
import lombok.Data; import lombok.Data;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -72,4 +73,16 @@ public class BusinessListDto extends BaseEntity { ...@@ -72,4 +73,16 @@ public class BusinessListDto extends BaseEntity {
* 业主单位 * 业主单位
*/ */
private String ownerCompany; private String ownerCompany;
/**
* 项目状态
*/
private Integer status;
/**
* 开始时间
*/
private String startTime;
/**
* 结束时间
*/
private String endTime;
} }
package com.dsk.system.domain.business.dto; package com.dsk.system.domain.business.dto;
import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
...@@ -14,30 +15,33 @@ import java.util.Map; ...@@ -14,30 +15,33 @@ import java.util.Map;
@Data @Data
@NoArgsConstructor @NoArgsConstructor
public class BusinessSearchDto implements Serializable { public class BusinessSearchDto implements Serializable {
/**
* 状态
*/
private Integer status;
/** /**
* 用户id * 用户id
*/ */
private Long userId; private Long userId;
/**
* 状态
*/
private Integer status;
/** /**
* 数据权限 * 数据权限
*/ */
private Map<String,Object> params; private Map<String, Object> params;
public Map<String, Object> getParams() public Map<String, Object> getParams() {
{ if (params == null) {
if (params == null)
{
params = new HashMap<>(); params = new HashMap<>();
} }
return params; return params;
} }
public BusinessSearchDto(Long userId){ public BusinessSearchDto(Long userId) {
this.userId = userId;
}
public BusinessSearchDto(Long userId, Integer status) {
this.userId = userId; this.userId = userId;
this.status = status;
} }
} }
package com.dsk.system.domain.business.vo;
import lombok.Data;
import java.io.Serializable;
/**
* 项目金额分析
*
* @author lcl
* @create 2023/8/15
*/
@Data
public class BusinessAnalyzeVo implements Serializable {
/**
* 项目类型
*/
private String projectType;
/**
* 资金来源
*/
private String amountSource;
/**
* 项目数量
*/
private Integer businessCount;
/**
* 总投资金额
*/
private Double totalAmount;
}
...@@ -3,10 +3,12 @@ package com.dsk.system.dskService; ...@@ -3,10 +3,12 @@ package com.dsk.system.dskService;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.dsk.acc.openapi.client.util.CommonUtils;
import com.dsk.common.core.domain.R; import com.dsk.common.core.domain.R;
import com.dsk.common.core.domain.model.*; import com.dsk.common.core.domain.model.*;
import com.dsk.common.core.page.TableDataInfo; import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.utils.DskOpenApiUtil; import com.dsk.common.utils.DskOpenApiUtil;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils; import org.apache.commons.collections4.MapUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -56,23 +58,40 @@ public class EnterpriseBussinessService { ...@@ -56,23 +58,40 @@ public class EnterpriseBussinessService {
public TableDataInfo clientPage(EnterpriseBussinessClientPageBody body) throws Exception { public TableDataInfo clientPage(EnterpriseBussinessClientPageBody body) throws Exception {
if (body.isVaildCid()) return new TableDataInfo(new ArrayList<>(), 0); if (body.isVaildCid()) return new TableDataInfo(new ArrayList<>(), 0);
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/clientPage", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/clientPage2", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map); return dskOpenApiUtil.responsePage(map);
} }
public Map<String, Object> clientProjectPage(EnterpriseBussinessClientProjectPageBody body) throws Exception { public TableDataInfo clientProjectPage(EnterpriseBussinessClientProjectPageBody body) throws Exception {
if (body.isVaildCid()) return null; if (body.isVaildCid()) return null;
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/clientProjectPage", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/clientProjectPage2", BeanUtil.beanToMap(body, false, false));
Integer code = MapUtils.getInteger(map, "code", 300); Integer code = MapUtils.getInteger(map, "code", 300);
if (200 != code) {
throw new RuntimeException();
}
Map data = MapUtils.getMap(map, "data", null); Map data = MapUtils.getMap(map, "data", null);
if (200 != code) throw new RuntimeException(); List<Object> list = CommonUtils.assertAsArray(MapUtils.getObject(data, "list", ""));
Integer count = MapUtils.getInteger(data, "totalCount", 0); if (CollectionUtils.isEmpty(list)) {
Object list = MapUtils.getObject(data, "list", ""); return new TableDataInfo(list, 0);
TableDataInfo tableDataInfo = new TableDataInfo((List<?>) list, count); }
Map<String, Object> resMap = BeanUtil.beanToMap(tableDataInfo);
resMap.put("totalAmount", MapUtils.getDouble(data, "totalAmount", 0.0)); for (Object supplierProject : list) {
return resMap; Map<String, Object> dataMap = CommonUtils.assertAsMap(supplierProject);
dataMap.put("sourceId", null);
dataMap.put("sourceType", null);
String source = MapUtils.getString(dataMap, "source");
if (ObjectUtil.isNotEmpty(source)) {
List<EnterpriseBussinessVo> enterpriseBussinessVoList = JSONUtil.toList(source, EnterpriseBussinessVo.class);
if (ObjectUtil.isNotEmpty(enterpriseBussinessVoList.get(0))) {
EnterpriseBussinessVo vo = enterpriseBussinessVoList.get(0);
dataMap.put("sourceId", vo.getSource_id());
dataMap.put("sourceType", vo.getSource_type());
}
}
}
return new TableDataInfo(list, MapUtils.getInteger(data, "totalCount", 0));
} }
...@@ -121,25 +140,46 @@ public class EnterpriseBussinessService { ...@@ -121,25 +140,46 @@ public class EnterpriseBussinessService {
public TableDataInfo supplierPage(EnterpriseBussinessSupplierPageBody body) throws Exception { public TableDataInfo supplierPage(EnterpriseBussinessSupplierPageBody body) throws Exception {
if (body.isVaildCid()) return new TableDataInfo(new ArrayList<>(), 0); if (body.isVaildCid()) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/supplierPage", BeanUtil.beanToMap(body, false, false)); return new TableDataInfo(new ArrayList<>(), 0);
}
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/supplierPage2", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map); return dskOpenApiUtil.responsePage(map);
} }
public Map<String, Object> supplierProjectPage(EnterpriseBussinessSupplierProjectPageBody body) throws Exception { public TableDataInfo supplierProjectPage(EnterpriseBussinessSupplierProjectPageBody body) throws Exception {
if (body.isVaildCid()) return null; if (body.isVaildCid()) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/supplierProjectPage", BeanUtil.beanToMap(body, false, false)); return new TableDataInfo(new ArrayList<>(), 0);
}
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/supplierProjectPage2", BeanUtil.beanToMap(body, false, false));
log.info(JSONUtil.toJsonStr(map)); log.info(JSONUtil.toJsonStr(map));
Integer code = MapUtils.getInteger(map, "code", 300); Integer code = MapUtils.getInteger(map, "code", 300);
if (200 != code) {
throw new RuntimeException();
}
Map data = MapUtils.getMap(map, "data", null); Map data = MapUtils.getMap(map, "data", null);
if (200 != code) throw new RuntimeException(); List<Object> list = CommonUtils.assertAsArray(MapUtils.getObject(data, "list", ""));
Integer count = MapUtils.getInteger(data, "totalCount", 0); if (CollectionUtils.isEmpty(list)) {
Object list = MapUtils.getObject(data, "list", ""); return new TableDataInfo(list, 0);
TableDataInfo tableDataInfo = new TableDataInfo((List<?>) list, count); }
Map<String, Object> resMap = BeanUtil.beanToMap(tableDataInfo);
resMap.put("totalAmount", MapUtils.getDouble(data, "totalAmount", 0.0)); for (Object supplierProject : list) {
return resMap; Map<String, Object> dataMap = CommonUtils.assertAsMap(supplierProject);
dataMap.put("sourceId", null);
dataMap.put("sourceType", null);
String source = MapUtils.getString(dataMap, "source");
if (ObjectUtil.isNotEmpty(source)) {
List<EnterpriseBussinessVo> enterpriseBussinessVoList = JSONUtil.toList(source, EnterpriseBussinessVo.class);
if (ObjectUtil.isNotEmpty(enterpriseBussinessVoList.get(0))) {
EnterpriseBussinessVo vo = enterpriseBussinessVoList.get(0);
dataMap.put("sourceId", vo.getSource_id());
dataMap.put("sourceType", vo.getSource_type());
}
}
}
return new TableDataInfo(list, MapUtils.getInteger(data, "totalCount", 0));
} }
...@@ -175,4 +215,34 @@ public class EnterpriseBussinessService { ...@@ -175,4 +215,34 @@ public class EnterpriseBussinessService {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/historySendProvince", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/historySendProvince", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
public R bidWinMergeDetail(EnterpriseBusinessBidWinMergeDetailBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/bidWinMergeDetail", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public R skyProjectDetail(EnterpriseBusinessSkyProjectDetailBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/skyProjectDetail", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public R awardDetail(EnterpriseBusinessAwardDetailBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseBussiness/awardDetail", BeanUtil.beanToMap(body, false, false));
Integer code = MapUtils.getInteger(map, "code", 300);
if (200 != code) {
throw new RuntimeException();
}
Map data = MapUtils.getMap(map, "data", null);
if (ObjectUtil.isNotEmpty(data)) {
String source = MapUtils.getString(data, "source");
if (ObjectUtil.isNotEmpty(source)) {
List<EnterpriseBusinessAwardDetailVo> enterpriseBussinessVoList = JSONUtil.toList(source, EnterpriseBusinessAwardDetailVo.class);
if (ObjectUtil.isNotEmpty(enterpriseBussinessVoList.get(0))) {
EnterpriseBusinessAwardDetailVo vo = enterpriseBussinessVoList.get(0);
return R.ok(vo);
}
}
}
return BeanUtil.toBean(map, R.class);
}
} }
package com.dsk.system.mapper; package com.dsk.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsk.common.annotation.DataScope;
import com.dsk.common.core.domain.entity.BusinessInfo; import com.dsk.common.core.domain.entity.BusinessInfo;
import com.dsk.system.domain.business.dto.BusinessListDto; import com.dsk.system.domain.business.dto.BusinessListDto;
import com.dsk.system.domain.business.dto.BusinessSearchDto; import com.dsk.system.domain.business.dto.BusinessSearchDto;
import com.dsk.system.domain.business.vo.BusinessAnalyzeVo;
import com.dsk.system.domain.business.vo.BusinessLikeProjectNameListVo; import com.dsk.system.domain.business.vo.BusinessLikeProjectNameListVo;
import com.dsk.system.domain.customer.dto.CustomerBusinessSearchDto; import com.dsk.system.domain.customer.dto.CustomerBusinessSearchDto;
import com.dsk.system.domain.customer.vo.CustomerBusinessListVo; import com.dsk.system.domain.customer.vo.CustomerBusinessListVo;
...@@ -112,4 +112,8 @@ public interface BusinessInfoMapper extends BaseMapper<BusinessInfo> { ...@@ -112,4 +112,8 @@ public interface BusinessInfoMapper extends BaseMapper<BusinessInfo> {
int selectCountByStatus(BusinessSearchDto dto); int selectCountByStatus(BusinessSearchDto dto);
List<BusinessAnalyzeVo> selectAmountAnalyze(BusinessSearchDto dto);
List<BusinessAnalyzeVo> selectTypeAnalyze(BusinessSearchDto dto);
} }
package com.dsk.system.service; package com.dsk.system.service;
import com.alibaba.fastjson2.JSONObject;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.system.domain.business.dto.BusinessSearchDto; import com.dsk.system.domain.business.dto.BusinessSearchDto;
import com.dsk.system.domain.business.vo.BusinessAnalyzeVo;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
...@@ -10,6 +14,14 @@ import java.util.Map; ...@@ -10,6 +14,14 @@ import java.util.Map;
*/ */
public interface IBusinessOverviewService { public interface IBusinessOverviewService {
Map<String, Object> statistics(BusinessSearchDto dto); Map<String, Object> statusStatistics(BusinessSearchDto dto);
List<BusinessAnalyzeVo> amountAnalyze(BusinessSearchDto dto);
List<BusinessAnalyzeVo> typeAnalyze(BusinessSearchDto dto);
AjaxResult countGroupByProvince(JSONObject object);
AjaxResult rangByMoney(JSONObject object);
} }
package com.dsk.system.service.impl; package com.dsk.system.service.impl;
import com.dsk.common.annotation.DataScope;
import com.dsk.common.core.domain.entity.BusinessFollowRecord; import com.dsk.common.core.domain.entity.BusinessFollowRecord;
import com.dsk.common.utils.DateUtils; import com.dsk.common.utils.DateUtils;
import com.dsk.system.domain.business.dto.BusinessIdDto; import com.dsk.system.domain.business.dto.BusinessIdDto;
...@@ -44,6 +45,7 @@ public class BusinessFollowRecordServiceImpl implements IBusinessFollowRecordSer ...@@ -44,6 +45,7 @@ public class BusinessFollowRecordServiceImpl implements IBusinessFollowRecordSer
} }
@Override @Override
@DataScope(userAlias = "u",deptAlias = "d")
public List<BusinessFollowRecord> allFollow(BusinessListDto dto) { public List<BusinessFollowRecord> allFollow(BusinessListDto dto) {
//userId不传值,就查询全部 //userId不传值,就查询全部
// if (dto.getUserId() == null) { // if (dto.getUserId() == null) {
......
...@@ -152,6 +152,7 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService { ...@@ -152,6 +152,7 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
vo.setInvestmentAmount(MapUtil.getDouble(map, "projectContractAmount")); vo.setInvestmentAmount(MapUtil.getDouble(map, "projectContractAmount"));
} }
vo.setProjectType(MapUtil.getStr(map, "projectType")); vo.setProjectType(MapUtil.getStr(map, "projectType"));
vo.setProjectStage(MapUtil.getStr(map, "tenderStage"));
vo.setProjectCategory(MapUtil.getStr(map, "projectPurposes")); vo.setProjectCategory(MapUtil.getStr(map, "projectPurposes"));
vos.add(vo); vos.add(vo);
} }
......
package com.dsk.system.service.impl; package com.dsk.system.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson2.JSONObject;
import com.dsk.common.annotation.DataScope; import com.dsk.common.annotation.DataScope;
import com.dsk.common.core.domain.BaseEntity; import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.utils.SecurityUtils; import com.dsk.common.utils.DskOpenApiUtil;
import com.dsk.system.domain.business.dto.BusinessSearchDto; import com.dsk.system.domain.business.dto.BusinessSearchDto;
import com.dsk.system.domain.business.vo.BusinessAnalyzeVo;
import com.dsk.system.mapper.BusinessInfoMapper; import com.dsk.system.mapper.BusinessInfoMapper;
import com.dsk.system.service.IBusinessOverviewService; import com.dsk.system.service.IBusinessOverviewService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
...@@ -22,9 +27,12 @@ public class BusinessOverviewServiceImpl implements IBusinessOverviewService { ...@@ -22,9 +27,12 @@ public class BusinessOverviewServiceImpl implements IBusinessOverviewService {
@Resource @Resource
private BusinessInfoMapper businessInfoMapper; private BusinessInfoMapper businessInfoMapper;
@Autowired
private DskOpenApiUtil dskOpenApiUtil;
@Override @Override
@DataScope(userAlias = "u",deptAlias = "d") @DataScope(userAlias = "u",deptAlias = "d")
public Map<String, Object> statistics(BusinessSearchDto dto) { public Map<String, Object> statusStatistics(BusinessSearchDto dto) {
Map<String, Object> resultMap = new HashMap<>(); Map<String, Object> resultMap = new HashMap<>();
//总 //总
resultMap.put("totalCount",businessInfoMapper.selectCountByStatus(dto)); resultMap.put("totalCount",businessInfoMapper.selectCountByStatus(dto));
...@@ -39,4 +47,28 @@ public class BusinessOverviewServiceImpl implements IBusinessOverviewService { ...@@ -39,4 +47,28 @@ public class BusinessOverviewServiceImpl implements IBusinessOverviewService {
resultMap.put("bidCount",businessInfoMapper.selectCountByStatus(dto)); resultMap.put("bidCount",businessInfoMapper.selectCountByStatus(dto));
return resultMap; return resultMap;
} }
@Override
@DataScope(userAlias = "u",deptAlias = "d")
public List<BusinessAnalyzeVo> amountAnalyze(BusinessSearchDto dto) {
return businessInfoMapper.selectAmountAnalyze(dto);
}
@Override
@DataScope(userAlias = "u",deptAlias = "d")
public List<BusinessAnalyzeVo> typeAnalyze(BusinessSearchDto dto) {
return businessInfoMapper.selectTypeAnalyze(dto);
}
@Override
public AjaxResult countGroupByProvince(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/project/countGroupByProvince", object);
return BeanUtil.toBean(map, AjaxResult.class);
}
@Override
public AjaxResult rangByMoney(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/project/rangByMoney", object);
return BeanUtil.toBean(map, AjaxResult.class);
}
} }
...@@ -68,10 +68,12 @@ ...@@ -68,10 +68,12 @@
from business_follow_record f from business_follow_record f
left join business_info i on i.id = f.business_id left join business_info i on i.id = f.business_id
left join sys_user u on f.user_id = u.user_id left join sys_user u on f.user_id = u.user_id
left join sys_dept d on u.dept_id = d.dept_id
<where> <where>
<if test="userId != null"> <if test="userId != null"> and (f.user_id = #{userId} or i.is_private = 1)</if>
and f.user_id = #{userId} <if test="startTime != null and startTime != '' "> and f.creat_time &gt;= #{startTime} </if>
</if> <if test="endTime != null and endTime != '' "> and f.creat_time &lt;= #{endTime} </if>
${params.dataScope}
</where> </where>
ORDER BY f.creat_time DESC ORDER BY f.creat_time DESC
</select> </select>
......
...@@ -114,6 +114,7 @@ ...@@ -114,6 +114,7 @@
</if> </if>
<if test="minAmount != null and minAmount != ''"> and i.investment_amount &gt;= #{minAmount} </if> <if test="minAmount != null and minAmount != ''"> and i.investment_amount &gt;= #{minAmount} </if>
<if test="maxAmount != null and maxAmount != ''"> and i.investment_amount &lt;= #{maxAmount}</if> <if test="maxAmount != null and maxAmount != ''"> and i.investment_amount &lt;= #{maxAmount}</if>
<if test="status != null "> and i.status = #{status}</if>
<if test="projectStage != null and projectStage != ''"> <if test="projectStage != null and projectStage != ''">
and i.project_stage in and i.project_stage in
<foreach collection="projectStage" item="projectStage" open="(" separator="," close=")"> <foreach collection="projectStage" item="projectStage" open="(" separator="," close=")">
...@@ -374,15 +375,32 @@ ...@@ -374,15 +375,32 @@
<if test="companyName != null and companyName != '' "> and ct.company_name =#{companyName}</if> <if test="companyName != null and companyName != '' "> and ct.company_name =#{companyName}</if>
</select> </select>
<select id="selectCountByStatus" resultType="java.lang.Integer"> <sql id="businessSearchSql">
select
count(bi.id)
from business_info bi from business_info bi
join business_user bu on bu.business_id = bi.id join business_user bu on bu.business_id = bi.id
left join sys_user u on bu.user_id = u.user_id left join sys_user u on bu.user_id = u.user_id
left join sys_dept d on u.dept_id = d.dept_id left join sys_dept d on u.dept_id = d.dept_id
where (bu.user_id = #{userId} or bi.is_private = 1) where (bu.user_id = #{userId} or bi.is_private = 1)
<if test="status != null"> and bi.status = #{status}</if> <if test="status != null"> and bi.status = #{status} </if>
${params.dataScope} ${params.dataScope}
</sql>
<select id="selectCountByStatus" resultType="java.lang.Integer">
select count(bi.id) <include refid="businessSearchSql"/>
</select>
<select id="selectAmountAnalyze" resultType="com.dsk.system.domain.business.vo.BusinessAnalyzeVo">
select
bi.amount_source,count(bi.id) businessCount,sum(bi.investment_amount) totalAmount
<include refid="businessSearchSql"/>
group by bi.amount_source
</select>
<select id="selectTypeAnalyze" resultType="com.dsk.system.domain.business.vo.BusinessAnalyzeVo">
select
bi.project_type,count(bi.id) businessCount,sum(bi.investment_amount) totalAmount
<include refid="businessSearchSql"/>
group by bi.project_type
</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