chore(build): 新增可视化大屏统计
parent
1fd7eb5ea6
commit
9ad010d166
|
|
@ -39,3 +39,4 @@ build/
|
||||||
.DS_Store
|
.DS_Store
|
||||||
logs/
|
logs/
|
||||||
/.mvn/
|
/.mvn/
|
||||||
|
/start/src/main/resources/templates/
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
spring:
|
spring:
|
||||||
config:
|
config:
|
||||||
import:
|
import:
|
||||||
- classpath:nacos.yml
|
# - classpath:nacos.yml
|
||||||
- classpath:sdk.yml
|
# - classpath:sdk.yml
|
||||||
|
- classpath:sdk-prod.yml
|
||||||
|
- classpath:nacos-prod.yml
|
||||||
- classpath:swagger.yml
|
- classpath:swagger.yml
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
<!doctype html><html lang="zh"><head data-built-info="@cqsjjb/scripts@2.0.0-alpha-1 Env/production (2026/6/3 14:07:11) App/domain"><meta charset="UTF-8"/><meta name="renderer" content="webkit"/><meta http-equiv="X-UA-Compatible" content="IE=edge,Chrome=1"/><meta name="viewport" content="width=device-width,minimum-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover"><title>--</title><script>(function () {
|
<!doctype html><html lang="zh"><head data-built-info="@cqsjjb/scripts@2.0.0-alpha-1 Env/production (2026/7/16 14:18:47) App/domain"><meta charset="UTF-8"/><meta name="renderer" content="webkit"/><meta http-equiv="X-UA-Compatible" content="IE=edge,Chrome=1"/><meta name="viewport" content="width=device-width,minimum-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover"><title>--</title><script>(function () {
|
||||||
const APP_ENV = {
|
const APP_ENV = {
|
||||||
antd: {
|
antd: {
|
||||||
'ant-prefix': 'micro-temp',
|
'ant-prefix': 'micro-temp',
|
||||||
|
|
@ -20,4 +20,4 @@
|
||||||
redirect: '',
|
redirect: '',
|
||||||
FRAMEWORK: APP_ENV.antd
|
FRAMEWORK: APP_ENV.antd
|
||||||
};
|
};
|
||||||
})();</script><script defer="defer" src="/domain/static/js/888.1cfe3f1827874068cf00.js"></script><script defer="defer" src="/domain/static/js/410.8685ba962e58528152e2.js"></script><script defer="defer" src="/domain/static/js/main.ffc48f120fb9dd783069.js"></script><link href="/domain/static/css/main.c74fbb90829596498e3a.css" rel="stylesheet"></head><body><noscript>此网页需要开启JavaScript功能。</noscript><div id="root" style="width: 100%; height: 100%; position: relative;overflow-y: auto"></div><script type="text/javascript">/* @cqsjjb/script 输出当前应用基本信息、构建时间 */console.log("%c@cqsjjb/scripts@2.0.0-alpha-1 Env/production (2026/6/3 14:07:11) App/domain Version/main Java/<branch-name>", "color: #1890ff; border-radius: 2px; padding: 0 4px; border: 1px solid #1890ff; background: #f9fcff")</script></body></html>
|
})();</script><script defer="defer" src="/domain/static/js/888.f84533eefa5942ed12fc.js"></script><script defer="defer" src="/domain/static/js/410.ac23b512c1374b5b0539.js"></script><script defer="defer" src="/domain/static/js/main.044e66105e54ad25da94.js"></script><link href="/domain/static/css/main.c74fbb90829596498e3a.css" rel="stylesheet"></head><body><noscript>此网页需要开启JavaScript功能。</noscript><div id="root" style="width: 100%; height: 100%; position: relative;overflow-y: auto"></div><script type="text/javascript">/* @cqsjjb/script 输出当前应用基本信息、构建时间 */console.log("%c@cqsjjb/scripts@2.0.0-alpha-1 Env/production (2026/7/16 14:18:47) App/domain Version/main Java/<branch-name>", "color: #1890ff; border-radius: 2px; padding: 0 4px; border: 1px solid #1890ff; background: #f9fcff")</script></body></html>
|
||||||
|
|
@ -1 +1 @@
|
||||||
module.exports={javaGit:"<git-url>",javaGitName:"<git-name>",environment:{development:{javaGitBranch:"<branch-name>",API_HOST:"https://gbs-gateway.qhdsafety.com"},production:{javaGitBranch:"<branch-name>",API_HOST:""}},appIdentifier:"domain",contextInject:{appKey:"",fileUrl:"https://skqhdg.porthebei.com:9004/file/uploadFiles2/"},windowInject:{title:"微应用模板",links:[],element:{root:{id:"root"}},scripts:[]},server:{port:"8083",host:"127.0.0.1",open:!0},framework:{antd:{"ant-prefix":"micro-temp",fontFamily:"PingFangSC-Regular",colorPrimary:"#1677ff",borderRadius:2}},webpackConfig:{htmlWebpackPluginOption:{inject:!0}}};
|
module.exports={javaGit:"<git-url>",javaGitName:"<git-name>",environment:{development:{javaGitBranch:"<branch-name>",API_HOST:"https://gbs-gateway.qhdsafety.com"},production:{javaGitBranch:"<branch-name>",API_HOST:""}},appIdentifier:"domain",contextInject:{appKey:"",fileUrl:""},windowInject:{title:"微应用模板",links:[],element:{root:{id:"root"}},scripts:[]},server:{port:"8083",host:"127.0.0.1",open:!0},framework:{antd:{"ant-prefix":"micro-temp",fontFamily:"PingFangSC-Regular",colorPrimary:"#1677ff",borderRadius:2}},webpackConfig:{htmlWebpackPluginOption:{inject:!0}}};
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -1,101 +0,0 @@
|
||||||
/*!
|
|
||||||
* isobject <https://github.com/jonschlinkert/isobject>
|
|
||||||
*
|
|
||||||
* Copyright (c) 2014-2017, Jon Schlinkert.
|
|
||||||
* Released under the MIT License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* screenfull
|
|
||||||
* v5.2.0 - 2021-11-03
|
|
||||||
* (c) Sindre Sorhus; MIT License
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @license
|
|
||||||
* Lodash <https://lodash.com/>
|
|
||||||
* Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
|
|
||||||
* Released under MIT license <https://lodash.com/license>
|
|
||||||
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
|
||||||
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @license React
|
|
||||||
* react-dom.production.min.js
|
|
||||||
*
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @license React
|
|
||||||
* react-is.production.min.js
|
|
||||||
*
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @license React
|
|
||||||
* react-jsx-runtime.production.min.js
|
|
||||||
*
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @license React
|
|
||||||
* react.production.min.js
|
|
||||||
*
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @license React
|
|
||||||
* scheduler.production.min.js
|
|
||||||
*
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @license React
|
|
||||||
* use-sync-external-store-shim.production.js
|
|
||||||
*
|
|
||||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** @license React v16.13.1
|
|
||||||
* react-is.production.min.js
|
|
||||||
*
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** @license React v17.0.2
|
|
||||||
* react-is.production.min.js
|
|
||||||
*
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -1,110 +0,0 @@
|
||||||
/*!
|
|
||||||
Copyright (c) 2018 Jed Watson.
|
|
||||||
Licensed under the MIT License (MIT), see
|
|
||||||
http://jedwatson.github.io/classnames
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* is-plain-object <https://github.com/jonschlinkert/is-plain-object>
|
|
||||||
*
|
|
||||||
* Copyright (c) 2014-2017, Jon Schlinkert.
|
|
||||||
* Released under the MIT License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
|
||||||
|
|
||||||
/** @preserve
|
|
||||||
* Counter block mode compatible with Dr Brian Gladman fileenc.c
|
|
||||||
* derived from CryptoJS.mode.CTR
|
|
||||||
* Jan Hruby jhruby.web@gmail.com
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** @preserve
|
|
||||||
(c) 2012 by Cédric Mesnil. All rights reserved.
|
|
||||||
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
|
||||||
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
|
||||||
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
|
|
||||||
/** */
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -1 +0,0 @@
|
||||||
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -1 +0,0 @@
|
||||||
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -1 +0,0 @@
|
||||||
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -1 +0,0 @@
|
||||||
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
|
||||||
|
|
@ -25,7 +25,7 @@
|
||||||
"@cqsjjb/jjb-dva-runtime": "latest",
|
"@cqsjjb/jjb-dva-runtime": "latest",
|
||||||
"@cqsjjb/jjb-react-admin-component": "latest",
|
"@cqsjjb/jjb-react-admin-component": "latest",
|
||||||
"ahooks": "^3.9.5",
|
"ahooks": "^3.9.5",
|
||||||
"antd": "latest",
|
"antd": "^5.27.6",
|
||||||
"dayjs": "^1.11.7",
|
"dayjs": "^1.11.7",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
"qrcode.react": "^4.2.0",
|
"qrcode.react": "^4.2.0",
|
||||||
|
|
|
||||||
|
|
@ -5,14 +5,13 @@ import com.alibaba.cola.dto.MultiResponse;
|
||||||
import com.alibaba.cola.dto.PageResponse;
|
import com.alibaba.cola.dto.PageResponse;
|
||||||
import com.alibaba.cola.dto.Response;
|
import com.alibaba.cola.dto.Response;
|
||||||
import com.alibaba.cola.dto.SingleResponse;
|
import com.alibaba.cola.dto.SingleResponse;
|
||||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
|
||||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
|
||||||
import com.zcloud.domain.api.ProjectTaskServiceI;
|
import com.zcloud.domain.api.ProjectTaskServiceI;
|
||||||
import com.zcloud.domain.dto.ProjectTaskAddCmd;
|
import com.zcloud.domain.dto.ProjectTaskAddCmd;
|
||||||
import com.zcloud.domain.dto.ProjectTaskPageQry;
|
import com.zcloud.domain.dto.ProjectTaskPageQry;
|
||||||
import com.zcloud.domain.dto.ProjectTaskUpdateCmd;
|
import com.zcloud.domain.dto.ProjectTaskUpdateCmd;
|
||||||
import com.zcloud.domain.dto.clientobject.ProjectTaskCO;
|
import com.zcloud.domain.dto.clientobject.ProjectTaskCO;
|
||||||
import com.zcloud.domain.dto.clientobject.ProjectTaskDetailsCO;
|
import com.zcloud.domain.dto.clientobject.ProjectTaskDetailsCO;
|
||||||
|
import com.zcloud.domain.dto.clientobject.ProjectTaskScoreCountCO;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
|
|
@ -20,8 +19,6 @@ import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* web-adapter
|
* web-adapter
|
||||||
*
|
*
|
||||||
|
|
@ -62,6 +59,8 @@ public class ProjectTaskController {
|
||||||
return SingleResponse.of(projectTaskService.getInfoById(id));
|
return SingleResponse.of(projectTaskService.getInfoById(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation("删除")
|
@ApiOperation("删除")
|
||||||
@GetMapping("/remove/{id}")
|
@GetMapping("/remove/{id}")
|
||||||
public Response remove(@PathVariable("id") Long id) {
|
public Response remove(@PathVariable("id") Long id) {
|
||||||
|
|
@ -82,5 +81,10 @@ public class ProjectTaskController {
|
||||||
projectTaskService.edit(projectTaskUpdateCmd);
|
projectTaskService.edit(projectTaskUpdateCmd);
|
||||||
return SingleResponse.buildSuccess();
|
return SingleResponse.buildSuccess();
|
||||||
}
|
}
|
||||||
|
@ApiOperation("可视化大屏-课题评分企业统计")
|
||||||
|
@GetMapping("/scoreCount")
|
||||||
|
public MultiResponse<ProjectTaskScoreCountCO> countScoreByCorp() {
|
||||||
|
return MultiResponse.of(projectTaskService.countScoreByCorp());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@ import com.zcloud.domain.dto.clientobject.*;
|
||||||
import com.zcloud.domain.persistence.dataobject.ProjectTaskDO;
|
import com.zcloud.domain.persistence.dataobject.ProjectTaskDO;
|
||||||
import com.zcloud.domain.persistence.dataobject.ProjectTaskGroupUserDO;
|
import com.zcloud.domain.persistence.dataobject.ProjectTaskGroupUserDO;
|
||||||
import com.zcloud.domain.persistence.dataobject.ProjectTaskInfoDO;
|
import com.zcloud.domain.persistence.dataobject.ProjectTaskInfoDO;
|
||||||
|
import com.zcloud.domain.persistence.dataobject.ProjectTaskScoreCountDO;
|
||||||
import com.zcloud.domain.persistence.dataobject.ProjectTaskScoreInfoDO;
|
import com.zcloud.domain.persistence.dataobject.ProjectTaskScoreInfoDO;
|
||||||
import com.zcloud.domain.persistence.repository.*;
|
import com.zcloud.domain.persistence.repository.*;
|
||||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||||
|
|
@ -20,6 +21,7 @@ import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
@ -131,6 +133,22 @@ public class ProjectTaskQueryExe {
|
||||||
}
|
}
|
||||||
return projectTaskDetailsCO;
|
return projectTaskDetailsCO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<ProjectTaskScoreCountCO> countScoreByCorp() {
|
||||||
|
List<ProjectTaskScoreCountDO> countList = projectTaskRepository.countScoreByCorp();
|
||||||
|
if(CollUtil.isEmpty(countList)){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return countList.stream().map(item -> {
|
||||||
|
ProjectTaskScoreCountCO countCO = new ProjectTaskScoreCountCO();
|
||||||
|
countCO.setCorpinfoId(item.getCorpinfoId());
|
||||||
|
countCO.setCorpinfoName(item.getCorpinfoName());
|
||||||
|
countCO.setNoScoreCount(item.getNoScoreCount());
|
||||||
|
countCO.setScoredCount(item.getScoredCount());
|
||||||
|
return countCO;
|
||||||
|
}).collect(java.util.stream.Collectors.toList());
|
||||||
|
}
|
||||||
|
|
||||||
private boolean checkScorePermission(ProjectTaskScoreInfoCO scoreInfo) {
|
private boolean checkScorePermission(ProjectTaskScoreInfoCO scoreInfo) {
|
||||||
// 1. 企业账号且数据属于本企业
|
// 1. 企业账号且数据属于本企业
|
||||||
if (CorpInfoE.isCorp() && AuthContext.getTenantId().equals(scoreInfo.getCorpinfoId())) {
|
if (CorpInfoE.isCorp() && AuthContext.getTenantId().equals(scoreInfo.getCorpinfoId())) {
|
||||||
|
|
|
||||||
|
|
@ -12,9 +12,12 @@ import com.zcloud.domain.dto.ProjectTaskPageQry;
|
||||||
import com.zcloud.domain.dto.ProjectTaskUpdateCmd;
|
import com.zcloud.domain.dto.ProjectTaskUpdateCmd;
|
||||||
import com.zcloud.domain.dto.clientobject.ProjectTaskCO;
|
import com.zcloud.domain.dto.clientobject.ProjectTaskCO;
|
||||||
import com.zcloud.domain.dto.clientobject.ProjectTaskDetailsCO;
|
import com.zcloud.domain.dto.clientobject.ProjectTaskDetailsCO;
|
||||||
|
import com.zcloud.domain.dto.clientobject.ProjectTaskScoreCountCO;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* web-app
|
* web-app
|
||||||
*
|
*
|
||||||
|
|
@ -62,6 +65,11 @@ public class ProjectTaskServiceImpl implements ProjectTaskServiceI {
|
||||||
return projectTaskQueryExe.getInfoById(id);
|
return projectTaskQueryExe.getInfoById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<ProjectTaskScoreCountCO> countScoreByCorp() {
|
||||||
|
return projectTaskQueryExe.countScoreByCorp();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updatExecuteStatusJob() {
|
public void updatExecuteStatusJob() {
|
||||||
projectTaskUpdateExe.updatExecuteStatusJob();
|
projectTaskUpdateExe.updatExecuteStatusJob();
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,9 @@ import com.zcloud.domain.dto.ProjectTaskPageQry;
|
||||||
import com.zcloud.domain.dto.ProjectTaskUpdateCmd;
|
import com.zcloud.domain.dto.ProjectTaskUpdateCmd;
|
||||||
import com.zcloud.domain.dto.clientobject.ProjectTaskCO;
|
import com.zcloud.domain.dto.clientobject.ProjectTaskCO;
|
||||||
import com.zcloud.domain.dto.clientobject.ProjectTaskDetailsCO;
|
import com.zcloud.domain.dto.clientobject.ProjectTaskDetailsCO;
|
||||||
|
import com.zcloud.domain.dto.clientobject.ProjectTaskScoreCountCO;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* web-client
|
* web-client
|
||||||
|
|
@ -27,6 +30,8 @@ public interface ProjectTaskServiceI {
|
||||||
|
|
||||||
ProjectTaskDetailsCO getInfoById(Long id);
|
ProjectTaskDetailsCO getInfoById(Long id);
|
||||||
|
|
||||||
|
List<ProjectTaskScoreCountCO> countScoreByCorp();
|
||||||
|
|
||||||
void updatExecuteStatusJob();
|
void updatExecuteStatusJob();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
package com.zcloud.domain.dto.clientobject;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 课题评分统计返回对象
|
||||||
|
*
|
||||||
|
* @Author zhaokai
|
||||||
|
* @Date 2026-07-16 14:30:00
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ProjectTaskScoreCountCO implements Serializable {
|
||||||
|
@ApiModelProperty(value = "企业id")
|
||||||
|
private Long corpinfoId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "企业名称")
|
||||||
|
private String corpinfoName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "未评分数")
|
||||||
|
private Long noScoreCount;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "已评分数")
|
||||||
|
private Long scoredCount;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
package com.zcloud.domain.persistence.dataobject;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 课题评分统计数据对象
|
||||||
|
*
|
||||||
|
* @Author zhaokai
|
||||||
|
* @Date 2026-07-16 14:30:00
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ProjectTaskScoreCountDO {
|
||||||
|
private Long corpinfoId;
|
||||||
|
|
||||||
|
private String corpinfoName;
|
||||||
|
|
||||||
|
private Long noScoreCount;
|
||||||
|
|
||||||
|
private Long scoredCount;
|
||||||
|
}
|
||||||
|
|
@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.jjb.saas.framework.datascope.annotation.DataScope;
|
import com.jjb.saas.framework.datascope.annotation.DataScope;
|
||||||
import com.jjb.saas.framework.datascope.annotation.DataScopes;
|
import com.jjb.saas.framework.datascope.annotation.DataScopes;
|
||||||
import com.zcloud.domain.persistence.dataobject.ProjectTaskDO;
|
import com.zcloud.domain.persistence.dataobject.ProjectTaskDO;
|
||||||
|
import com.zcloud.domain.persistence.dataobject.ProjectTaskScoreCountDO;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
@ -30,5 +31,7 @@ public interface ProjectTaskMapper extends BaseMapper<ProjectTaskDO> {
|
||||||
void updateScoreStatus(String projectTaskId, Integer code, BigDecimal averageScore);
|
void updateScoreStatus(String projectTaskId, Integer code, BigDecimal averageScore);
|
||||||
|
|
||||||
void updateExecuteStatusBatchById(Integer code, List<Long> idList);
|
void updateExecuteStatusBatchById(Integer code, List<Long> idList);
|
||||||
|
|
||||||
|
List<ProjectTaskScoreCountDO> countScoreByCorp();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package com.zcloud.domain.persistence.repository;
|
||||||
import com.alibaba.cola.dto.PageResponse;
|
import com.alibaba.cola.dto.PageResponse;
|
||||||
import com.jjb.saas.framework.repository.repo.BaseRepository;
|
import com.jjb.saas.framework.repository.repo.BaseRepository;
|
||||||
import com.zcloud.domain.persistence.dataobject.ProjectTaskDO;
|
import com.zcloud.domain.persistence.dataobject.ProjectTaskDO;
|
||||||
|
import com.zcloud.domain.persistence.dataobject.ProjectTaskScoreCountDO;
|
||||||
|
|
||||||
import javax.validation.constraints.NotEmpty;
|
import javax.validation.constraints.NotEmpty;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
@ -31,6 +32,8 @@ public interface ProjectTaskRepository extends BaseRepository<ProjectTaskDO> {
|
||||||
|
|
||||||
ProjectTaskDO getInfoByTaskId(@NotEmpty(message = "课题任务不能为空") String projectTaskId);
|
ProjectTaskDO getInfoByTaskId(@NotEmpty(message = "课题任务不能为空") String projectTaskId);
|
||||||
|
|
||||||
|
List<ProjectTaskScoreCountDO> countScoreByCorp();
|
||||||
|
|
||||||
List<ProjectTaskDO> getNoFinishByDomainDepartmentId(List<String> domainDepartmentIds);
|
List<ProjectTaskDO> getNoFinishByDomainDepartmentId(List<String> domainDepartmentIds);
|
||||||
|
|
||||||
List<ProjectTaskDO> getNoFinishByDomainGroupId(List<String> groupIdList);
|
List<ProjectTaskDO> getNoFinishByDomainGroupId(List<String> groupIdList);
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ import com.zcloud.domain.domain.enums.ProjectTaskExecuteStatusEnum;
|
||||||
import com.zcloud.domain.domain.enums.ScoreStatusEnum;
|
import com.zcloud.domain.domain.enums.ScoreStatusEnum;
|
||||||
import com.zcloud.domain.domain.model.CorpInfoE;
|
import com.zcloud.domain.domain.model.CorpInfoE;
|
||||||
import com.zcloud.domain.persistence.dataobject.ProjectTaskDO;
|
import com.zcloud.domain.persistence.dataobject.ProjectTaskDO;
|
||||||
|
import com.zcloud.domain.persistence.dataobject.ProjectTaskScoreCountDO;
|
||||||
import com.zcloud.domain.persistence.mapper.ProjectTaskMapper;
|
import com.zcloud.domain.persistence.mapper.ProjectTaskMapper;
|
||||||
import com.zcloud.domain.persistence.repository.CorpInfoRepository;
|
import com.zcloud.domain.persistence.repository.CorpInfoRepository;
|
||||||
import com.zcloud.domain.persistence.repository.ProjectTaskRepository;
|
import com.zcloud.domain.persistence.repository.ProjectTaskRepository;
|
||||||
|
|
@ -97,6 +98,11 @@ public class ProjectTaskRepositoryImpl extends BaseRepositoryImpl<ProjectTaskMap
|
||||||
return projectTaskMapper.selectOne(queryWrapper);
|
return projectTaskMapper.selectOne(queryWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<ProjectTaskScoreCountDO> countScoreByCorp() {
|
||||||
|
return projectTaskMapper.countScoreByCorp();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ProjectTaskDO> getNoFinishByDomainDepartmentId(List<String> domainDepartmentIds) {
|
public List<ProjectTaskDO> getNoFinishByDomainDepartmentId(List<String> domainDepartmentIds) {
|
||||||
QueryWrapper<ProjectTaskDO> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<ProjectTaskDO> queryWrapper = new QueryWrapper<>();
|
||||||
|
|
|
||||||
|
|
@ -54,6 +54,18 @@
|
||||||
left join department d on d.id = dd.master_department_id
|
left join department d on d.id = dd.master_department_id
|
||||||
where pt.delete_enum = 'false' and pt.id=#{id}
|
where pt.delete_enum = 'false' and pt.id=#{id}
|
||||||
</select>
|
</select>
|
||||||
|
<select id="countScoreByCorp" resultType="com.zcloud.domain.persistence.dataobject.ProjectTaskScoreCountDO">
|
||||||
|
select
|
||||||
|
pt.execute_corpinfo_id as corpinfoId,
|
||||||
|
c.corp_name as corpinfoName,
|
||||||
|
sum(case when pt.score_status in (0, 1) then 1 else 0 end) as noScoreCount,
|
||||||
|
sum(case when pt.score_status = 2 then 1 else 0 end) as scoredCount
|
||||||
|
from project_task pt
|
||||||
|
inner join corp_info c on c.id = pt.execute_corpinfo_id
|
||||||
|
where pt.delete_enum = 'false'
|
||||||
|
group by pt.execute_corpinfo_id, c.corp_name
|
||||||
|
order by c.corp_name
|
||||||
|
</select>
|
||||||
<update id="updateScoreStatus">
|
<update id="updateScoreStatus">
|
||||||
update project_task set score_status = #{code}
|
update project_task set score_status = #{code}
|
||||||
<if test="averageScore != null">
|
<if test="averageScore != null">
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue