Compare commits
2 Commits
1fd7eb5ea6
...
642d0ac164
| Author | SHA1 | Date |
|---|---|---|
|
|
642d0ac164 | |
|
|
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> countScoreByDomain() {
|
||||||
|
return MultiResponse.of(projectTaskService.countScoreByDomain());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,10 +13,10 @@ 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;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
|
@ -42,6 +42,13 @@ public class ProjectTaskQueryExe {
|
||||||
private final ProjectTaskGroupUserRepository projectTaskGroupUserRepository;
|
private final ProjectTaskGroupUserRepository projectTaskGroupUserRepository;
|
||||||
private final ProjectTaskGroupUserCoConvertor projectTaskGroupUserCoConvertor;
|
private final ProjectTaskGroupUserCoConvertor projectTaskGroupUserCoConvertor;
|
||||||
private final CorpInfoRepository corpInfoRepository;
|
private final CorpInfoRepository corpInfoRepository;
|
||||||
|
private static final List<ProjectTaskScoreCountCO> SCORE_COUNT_DOMAIN_LIST = java.util.Arrays.asList(
|
||||||
|
buildScoreCount("equipment_safety", "设备、工具具安全专项领域"),
|
||||||
|
buildScoreCount("facility_safety", "设施安全专项领域"),
|
||||||
|
buildScoreCount("Labor_related_parties", "劳务相关方安全专项领域"),
|
||||||
|
buildScoreCount("traffic_safety", "交通、消防、口门安全专项领域"),
|
||||||
|
buildScoreCount("production_safety", "生产作业、船舶靠离泊安全专项领域")
|
||||||
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页
|
* 分页
|
||||||
|
|
@ -131,6 +138,32 @@ public class ProjectTaskQueryExe {
|
||||||
}
|
}
|
||||||
return projectTaskDetailsCO;
|
return projectTaskDetailsCO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<ProjectTaskScoreCountCO> countScoreByDomain() {
|
||||||
|
Map<String, ProjectTaskScoreCountDO> countMap = projectTaskRepository.countScoreByDomain()
|
||||||
|
.stream()
|
||||||
|
.collect(java.util.stream.Collectors.toMap(ProjectTaskScoreCountDO::getDomainType, item -> item, (first, second) -> first));
|
||||||
|
return SCORE_COUNT_DOMAIN_LIST.stream().map(item -> {
|
||||||
|
ProjectTaskScoreCountDO countDO = countMap.get(item.getDomainType());
|
||||||
|
ProjectTaskScoreCountCO countCO = buildScoreCount(item.getDomainType(), item.getDomainTypeName());
|
||||||
|
if (countDO != null) {
|
||||||
|
countCO.setNoScoreCount(countDO.getNoScoreCount());
|
||||||
|
countCO.setScoredCount(countDO.getScoredCount());
|
||||||
|
}
|
||||||
|
return countCO;
|
||||||
|
}).sorted(java.util.Comparator.comparing(ProjectTaskScoreCountCO::getNoScoreCount).reversed())
|
||||||
|
.collect(java.util.stream.Collectors.toList());
|
||||||
|
}
|
||||||
|
|
||||||
|
private static ProjectTaskScoreCountCO buildScoreCount(String domainType, String domainTypeName) {
|
||||||
|
ProjectTaskScoreCountCO countCO = new ProjectTaskScoreCountCO();
|
||||||
|
countCO.setDomainType(domainType);
|
||||||
|
countCO.setDomainTypeName(domainTypeName);
|
||||||
|
countCO.setNoScoreCount(0L);
|
||||||
|
countCO.setScoredCount(0L);
|
||||||
|
return countCO;
|
||||||
|
}
|
||||||
|
|
||||||
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> countScoreByDomain() {
|
||||||
|
return projectTaskQueryExe.countScoreByDomain();
|
||||||
|
}
|
||||||
|
|
||||||
@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> countScoreByDomain();
|
||||||
|
|
||||||
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 = "领域类型")
|
||||||
|
private String domainType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "领域类型名称")
|
||||||
|
private String domainTypeName;
|
||||||
|
|
||||||
|
@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 String domainType;
|
||||||
|
|
||||||
|
private String domainTypeName;
|
||||||
|
|
||||||
|
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> countScoreByDomain();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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> countScoreByDomain();
|
||||||
|
|
||||||
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> countScoreByDomain() {
|
||||||
|
return projectTaskMapper.countScoreByDomain();
|
||||||
|
}
|
||||||
|
|
||||||
@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,17 @@
|
||||||
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="countScoreByDomain" resultType="com.zcloud.domain.persistence.dataobject.ProjectTaskScoreCountDO">
|
||||||
|
select
|
||||||
|
pt.domain_type as domainType,
|
||||||
|
pt.domain_type_name as domainTypeName,
|
||||||
|
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
|
||||||
|
where pt.delete_enum = 'false'
|
||||||
|
and pt.domain_type in ('equipment_safety', 'facility_safety', 'Labor_related_parties', 'traffic_safety', 'production_safety')
|
||||||
|
group by pt.domain_type, pt.domain_type_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