Compare commits
No commits in common. "dev_student" and "main" have entirely different histories.
dev_student
...
main
|
|
@ -0,0 +1,23 @@
|
||||||
|
<!doctype html><html lang="zh"><head data-built-info="@cqsjjb/scripts@2.0.0-alpha-1 Env/production (2025/10/17 11:07:53) App/risk"><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 = {
|
||||||
|
antd: {
|
||||||
|
'ant-prefix': 'micro-temp',
|
||||||
|
fontFamily: 'PingFangSC-Regular',
|
||||||
|
colorPrimary: '#1677ff',
|
||||||
|
borderRadius: parseInt('2')
|
||||||
|
},
|
||||||
|
appKey: '',
|
||||||
|
basename: 'risk',
|
||||||
|
API_HOST: ''
|
||||||
|
};
|
||||||
|
APP_ENV.API_HOST = sessionStorage.API_HOST || APP_ENV.API_HOST || window.location.origin;
|
||||||
|
window.process = {
|
||||||
|
env: { app: APP_ENV },
|
||||||
|
NODE_ENV: 'production'
|
||||||
|
};
|
||||||
|
window.__JJB_ENVIRONMENT__ = {
|
||||||
|
API_HOST: APP_ENV.API_HOST,
|
||||||
|
redirect: '',
|
||||||
|
FRAMEWORK: APP_ENV.antd
|
||||||
|
};
|
||||||
|
})();</script><script defer="defer" src="/risk/static/js/295.21df88c875577274cecb.js"></script><script defer="defer" src="/risk/static/js/main.4c0885586ad9a06ab444.js"></script><link href="/risk/static/css/main.40fc518bb0818fe8b8ea.css" rel="stylesheet"></head><body style="overflow: hidden"><noscript>此网页需要开启JavaScript功能。</noscript><div id="root" style="width: 100%; height: 100%; position: relative"></div><script type="text/javascript">/* @cqsjjb/script 输出当前应用基本信息、构建时间 */console.log("%c@cqsjjb/scripts@2.0.0-alpha-1 Env/production (2025/10/17 11:07:53) App/risk Version/master Java/<branch-name>", "color: #1890ff; border-radius: 2px; padding: 0 4px; border: 1px solid #1890ff; background: #f9fcff")</script></body></html>
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
body,html{height:100%;width:100%}input::-ms-clear,input::-ms-reveal{display:none}*,:after,:before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{font-weight:500;margin-bottom:.5em;margin-top:0}p{margin-bottom:1em;margin-top:0}abbr[data-original-title],abbr[title]{border-bottom:0;cursor:help;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1em}input[type=number],input[type=password],input[type=text],textarea{-webkit-appearance:none}dl,ol,ul{margin-bottom:1em;margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}code,kbd,pre,samp{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:1em}pre{margin-bottom:1em;margin-top:0;overflow:auto}figure{margin:0 0 1em}img{border-style:none;vertical-align:middle}[role=button],a,area,button,input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{caption-side:bottom;padding-bottom:.3em;padding-top:.75em;text-align:left}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{border:0;margin:0;min-width:0;padding:0}legend{color:inherit;display:block;font-size:1.5em;line-height:inherit;margin-bottom:.5em;max-width:100%;padding:0;white-space:normal;width:100%}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:none;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{background-color:#feffe6;padding:.2em}
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
module.exports={compact:!1,plugins:[["@babel/plugin-proposal-decorators",{legacy:!0}]],presets:[["@babel/preset-env",{targets:{browsers:["ie >= 10"]}}],["@babel/preset-react",{runtime:"automatic"}]]};
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
module.exports={javaGit:"<git-url>",javaGitName:"<git-name>",environment:{development:{javaGitBranch:"<branch-name>",API_HOST:"http://192.168.20.100:30140/demo2"},production:{javaGitBranch:"<branch-name>",API_HOST:""}},appIdentifier:"risk",contextInject:{appKey:""},windowInject:{title:"微应用模板",links:[],element:{root:{id:"root"}},scripts:[]},server:{port:"8080",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
|
|
@ -0,0 +1,135 @@
|
||||||
|
/*!
|
||||||
|
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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* isobject <https://github.com/jonschlinkert/isobject>
|
||||||
|
*
|
||||||
|
* 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 */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @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 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @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
|
|
@ -0,0 +1 @@
|
||||||
|
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
||||||
|
|
@ -0,0 +1,44 @@
|
||||||
|
{
|
||||||
|
"name": "micro-app",
|
||||||
|
"version": "2.0.0",
|
||||||
|
"description": "建教帮微应用模板",
|
||||||
|
"author": "JJB",
|
||||||
|
"license": "MIT",
|
||||||
|
"main": "index.js",
|
||||||
|
"scripts": {
|
||||||
|
"serve": "node node_modules/@cqsjjb/scripts/webpack.dev.server.js",
|
||||||
|
"build": "node node_modules/@cqsjjb/scripts/webpack.build.js",
|
||||||
|
"push": "jjb-cmd push java production",
|
||||||
|
"clean-cache": "rimraf node_modules/.cache/webpack",
|
||||||
|
"serve:development": "cross-env NODE_ENV=development npm run serve",
|
||||||
|
"serve:production": "cross-env NODE_ENV=production npm run serve",
|
||||||
|
"build:development": "cross-env NODE_ENV=development npm run build",
|
||||||
|
"build:production": "cross-env NODE_ENV=production npm run build",
|
||||||
|
"code-optimization": "node node_modules/@cqsjjb/scripts/code-optimization.js",
|
||||||
|
"lint": "eslint --ext .js,.jsx,.tsx --fix src"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@ant-design/icons": "latest",
|
||||||
|
"@cqsjjb/jjb-common-decorator": "latest",
|
||||||
|
"@cqsjjb/jjb-common-lib": "latest",
|
||||||
|
"@cqsjjb/jjb-dva-runtime": "latest",
|
||||||
|
"@cqsjjb/jjb-react-admin-component": "latest",
|
||||||
|
"ahooks": "^3.9.5",
|
||||||
|
"antd": "latest",
|
||||||
|
"dayjs": "^1.11.7",
|
||||||
|
"react": "^18.2.0",
|
||||||
|
"react-dom": "^18.2.0"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@antfu/eslint-config": "^5.4.1",
|
||||||
|
"@babel/plugin-proposal-decorators": "^7.19.3",
|
||||||
|
"@cqsjjb/scripts": "latest",
|
||||||
|
"@eslint-react/eslint-plugin": "^2.2.2",
|
||||||
|
"cross-env": "^7.0.3",
|
||||||
|
"eslint": "^9.37.0",
|
||||||
|
"eslint-plugin-format": "^1.0.2",
|
||||||
|
"eslint-plugin-react-hooks": "^7.0.0",
|
||||||
|
"eslint-plugin-react-refresh": "^0.4.23",
|
||||||
|
"typescript": "^5.9.3"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,36 +1,21 @@
|
||||||
package com.zcloud.edu.web.study;
|
package com.zcloud.edu.web.study;
|
||||||
|
|
||||||
|
|
||||||
import com.alibaba.cola.dto.MultiResponse;
|
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.edu.api.study.StudentServiceI;
|
import com.zcloud.edu.api.study.StudentServiceI;
|
||||||
import com.zcloud.edu.dto.clientobject.study.EducationUserCO;
|
import com.zcloud.edu.dto.clientobject.study.EducationUserCO;
|
||||||
import com.zcloud.edu.dto.clientobject.study.StudentCO;
|
import com.zcloud.edu.dto.clientobject.study.StudentCO;
|
||||||
import com.zcloud.edu.dto.clientobject.study.StudentCountByCorpCO;
|
import com.zcloud.edu.dto.study.*;
|
||||||
import com.zcloud.edu.dto.clientobject.study.StudentExamCountCO;
|
|
||||||
import com.zcloud.edu.dto.clientobject.study.StudentExamCountByCorpCO;
|
|
||||||
import com.zcloud.edu.dto.study.EducationUserQry;
|
|
||||||
import com.zcloud.edu.dto.study.StudentAddCmd;
|
|
||||||
import com.zcloud.edu.dto.study.StudentCountByCorpQry;
|
|
||||||
import com.zcloud.edu.dto.study.StudentCountQry;
|
|
||||||
import com.zcloud.edu.dto.study.StudentExamCountQry;
|
|
||||||
import com.zcloud.edu.dto.study.StudentExamCountByCorpQry;
|
|
||||||
import com.zcloud.edu.dto.study.StudentPageQry;
|
|
||||||
import com.zcloud.edu.dto.study.StudentUpdateCmd;
|
|
||||||
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;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
|
||||||
import org.springframework.web.bind.annotation.PathVariable;
|
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
|
||||||
import org.springframework.web.bind.annotation.PutMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -41,7 +26,7 @@ import java.util.List;
|
||||||
* @Author zhangyue
|
* @Author zhangyue
|
||||||
* @Date 2026-01-13 14:18:14
|
* @Date 2026-01-13 14:18:14
|
||||||
*/
|
*/
|
||||||
@Api(tags = "学员信息")
|
@Api(tags = "班级信息")
|
||||||
@RequestMapping("/${application.gateway}/student")
|
@RequestMapping("/${application.gateway}/student")
|
||||||
@RestController
|
@RestController
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
|
|
@ -51,6 +36,8 @@ public class StudentController {
|
||||||
@ApiOperation("新增")
|
@ApiOperation("新增")
|
||||||
@PostMapping("/save")
|
@PostMapping("/save")
|
||||||
public SingleResponse<StudentCO> add(@Validated @RequestBody List<StudentAddCmd> cmdList) {
|
public SingleResponse<StudentCO> add(@Validated @RequestBody List<StudentAddCmd> cmdList) {
|
||||||
|
System.out.println(cmdList);
|
||||||
|
SSOUser ssoUser = AuthContext.getCurrentUser();
|
||||||
return studentService.add(cmdList);
|
return studentService.add(cmdList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -66,7 +53,7 @@ public class StudentController {
|
||||||
return studentService.educationUserList(qry);
|
return studentService.educationUserList(qry);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("获取可推送第三方人员")
|
@ApiOperation("获取可推送三方人员")
|
||||||
@PostMapping("/pushCandidateUserList")
|
@PostMapping("/pushCandidateUserList")
|
||||||
public PageResponse<EducationUserCO> pushCandidateUserList(@RequestBody EducationUserQry qry) {
|
public PageResponse<EducationUserCO> pushCandidateUserList(@RequestBody EducationUserQry qry) {
|
||||||
return studentService.pushCandidateUserList(qry);
|
return studentService.pushCandidateUserList(qry);
|
||||||
|
|
@ -87,7 +74,7 @@ public class StudentController {
|
||||||
@ApiOperation("所有数据")
|
@ApiOperation("所有数据")
|
||||||
@GetMapping("/listAll")
|
@GetMapping("/listAll")
|
||||||
public MultiResponse<StudentCO> listAll() {
|
public MultiResponse<StudentCO> listAll() {
|
||||||
return MultiResponse.of(new ArrayList<>());
|
return MultiResponse.of(new ArrayList<StudentCO>());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("查询用户统计")
|
@ApiOperation("查询用户统计")
|
||||||
|
|
@ -140,24 +127,4 @@ public class StudentController {
|
||||||
studentService.edit(studentUpdateCmd);
|
studentService.edit(studentUpdateCmd);
|
||||||
return SingleResponse.buildSuccess();
|
return SingleResponse.buildSuccess();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("考试人数统计-企业端首页")
|
|
||||||
@PostMapping("/listExamCount")
|
|
||||||
public MultiResponse<StudentExamCountCO> listExamCount(@RequestBody StudentExamCountQry qry) {
|
|
||||||
return studentService.listExamCount(qry);
|
|
||||||
}
|
|
||||||
|
|
||||||
@ApiOperation("考试人数统计-监管端首页企业列表")
|
|
||||||
@PostMapping("/listExamCountByCorp")
|
|
||||||
public MultiResponse<StudentExamCountByCorpCO> listExamCountByCorp(@RequestBody StudentExamCountByCorpQry qry) {
|
|
||||||
return studentService.listExamCountByCorp(qry);
|
|
||||||
}
|
|
||||||
|
|
||||||
@ApiOperation("考试人数统计-查询用户统计-相关方首页")
|
|
||||||
@PostMapping("/listStudentCountByCorp")
|
|
||||||
public MultiResponse<StudentCountByCorpCO> listStudentCountByCorp(@RequestBody StudentCountByCorpQry qry) {
|
|
||||||
return studentService.listStudentCountByCorp(qry);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -50,19 +50,11 @@ public class ClassCurriculumQueryExe {
|
||||||
Map<String, Object> params = PageQueryHelper.toHashMap(classCurriculumPageQry);
|
Map<String, Object> params = PageQueryHelper.toHashMap(classCurriculumPageQry);
|
||||||
PageResponse<ClassCurriculumDO> pageResponse = classCurriculumRepository.listPage(params);
|
PageResponse<ClassCurriculumDO> pageResponse = classCurriculumRepository.listPage(params);
|
||||||
List<ClassCurriculumCO> examCenterCOS = classCurriculumCoConvertor.converDOsToCOs(pageResponse.getData());
|
List<ClassCurriculumCO> examCenterCOS = classCurriculumCoConvertor.converDOsToCOs(pageResponse.getData());
|
||||||
|
|
||||||
|
|
||||||
examCenterCOS.stream().forEach(examCenterCO -> {
|
|
||||||
List<ClassCurriculumChapterDO> classCurriculumChapterDOList = classCurriculumChapterRepository.listByClassCurriculumId(examCenterCO.getClassCurriculumId());
|
|
||||||
long videoCount = classCurriculumChapterDOList.stream().filter(bean -> !ObjectUtils.isEmpty(bean.getVideoCoursewareId())).count();
|
|
||||||
examCenterCO.setVideoCount(videoCount);
|
|
||||||
});
|
|
||||||
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 详情
|
* 详情
|
||||||
*
|
|
||||||
* @param id
|
* @param id
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
|
@ -82,7 +74,7 @@ public class ClassCurriculumQueryExe {
|
||||||
public MultiResponse<ClassCurriculumCO> executeListAll(ClassCurriculumQry qry) {
|
public MultiResponse<ClassCurriculumCO> executeListAll(ClassCurriculumQry qry) {
|
||||||
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
|
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
|
||||||
List<ClassCurriculumDO> curList = classCurriculumRepository.listAll(params);
|
List<ClassCurriculumDO> curList = classCurriculumRepository.listAll(params);
|
||||||
if (curList != null && curList.size() > 0) {
|
if (curList != null && curList.size() > 0){
|
||||||
List<String> classCurriculumIds = curList.stream().map(ClassCurriculumDO::getClassCurriculumId).collect(Collectors.toList());
|
List<String> classCurriculumIds = curList.stream().map(ClassCurriculumDO::getClassCurriculumId).collect(Collectors.toList());
|
||||||
List<ClassCurriculumChapterDO> chapterList = classCurriculumChapterRepository.listByClassCurriculumIds(classCurriculumIds);
|
List<ClassCurriculumChapterDO> chapterList = classCurriculumChapterRepository.listByClassCurriculumIds(classCurriculumIds);
|
||||||
List<ClassCurriculumChapterCO> chapterCoList = classCurriculumChapterCoConvertor.converDOsToCOs(chapterList);
|
List<ClassCurriculumChapterCO> chapterCoList = classCurriculumChapterCoConvertor.converDOsToCOs(chapterList);
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,6 @@ import cn.hutool.core.bean.BeanUtil;
|
||||||
import com.alibaba.cola.dto.MultiResponse;
|
import com.alibaba.cola.dto.MultiResponse;
|
||||||
import com.alibaba.cola.dto.PageResponse;
|
import com.alibaba.cola.dto.PageResponse;
|
||||||
import com.alibaba.cola.dto.SingleResponse;
|
import com.alibaba.cola.dto.SingleResponse;
|
||||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
|
||||||
import com.zcloud.edu.command.convertor.study.StudentCoConvertor;
|
import com.zcloud.edu.command.convertor.study.StudentCoConvertor;
|
||||||
import com.zcloud.edu.domain.model.archives.ClassArchivesE;
|
import com.zcloud.edu.domain.model.archives.ClassArchivesE;
|
||||||
import com.zcloud.edu.domain.model.archives.PersonArchivesE;
|
import com.zcloud.edu.domain.model.archives.PersonArchivesE;
|
||||||
|
|
@ -12,22 +11,13 @@ import com.zcloud.edu.domain.model.study.*;
|
||||||
import com.zcloud.edu.dto.archives.ClassArchivesQry;
|
import com.zcloud.edu.dto.archives.ClassArchivesQry;
|
||||||
import com.zcloud.edu.dto.clientobject.study.EducationUserCO;
|
import com.zcloud.edu.dto.clientobject.study.EducationUserCO;
|
||||||
import com.zcloud.edu.dto.clientobject.study.StudentCO;
|
import com.zcloud.edu.dto.clientobject.study.StudentCO;
|
||||||
import com.zcloud.edu.dto.clientobject.study.StudentCountByCorpCO;
|
|
||||||
import com.zcloud.edu.dto.clientobject.study.StudentExamCountCO;
|
|
||||||
import com.zcloud.edu.dto.clientobject.study.StudentExamCountByCorpCO;
|
|
||||||
import com.zcloud.edu.dto.clientobject.study.StudentSignCO;
|
import com.zcloud.edu.dto.clientobject.study.StudentSignCO;
|
||||||
import com.zcloud.edu.dto.data.archives.ClassArchivesDTO;
|
import com.zcloud.edu.dto.data.archives.ClassArchivesDTO;
|
||||||
import com.zcloud.edu.dto.data.archives.PersonArchivesDTO;
|
import com.zcloud.edu.dto.data.archives.PersonArchivesDTO;
|
||||||
import com.zcloud.edu.dto.study.EducationUserQry;
|
import com.zcloud.edu.dto.study.EducationUserQry;
|
||||||
import com.zcloud.edu.dto.study.StudentCountByCorpQry;
|
|
||||||
import com.zcloud.edu.dto.study.StudentCountQry;
|
import com.zcloud.edu.dto.study.StudentCountQry;
|
||||||
import com.zcloud.edu.dto.study.StudentExamCountQry;
|
|
||||||
import com.zcloud.edu.dto.study.StudentExamCountByCorpQry;
|
|
||||||
import com.zcloud.edu.dto.study.StudentPageQry;
|
import com.zcloud.edu.dto.study.StudentPageQry;
|
||||||
import com.zcloud.edu.persistence.mapper.po.study.StudentCountByCorpPO;
|
|
||||||
import com.zcloud.edu.persistence.dataobject.study.*;
|
import com.zcloud.edu.persistence.dataobject.study.*;
|
||||||
import com.zcloud.edu.persistence.mapper.po.study.StudentExamCountPO;
|
|
||||||
import com.zcloud.edu.persistence.mapper.po.study.StudentExamCountByCorpPO;
|
|
||||||
import com.zcloud.edu.persistence.repository.study.*;
|
import com.zcloud.edu.persistence.repository.study.*;
|
||||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||||
import com.zcloud.gbscommon.utils.Tools;
|
import com.zcloud.gbscommon.utils.Tools;
|
||||||
|
|
@ -252,34 +242,6 @@ public class StudentQueryExe {
|
||||||
return MultiResponse.of(studentCOList);
|
return MultiResponse.of(studentCOList);
|
||||||
}
|
}
|
||||||
|
|
||||||
public MultiResponse<StudentExamCountCO> executeListExamCount(StudentExamCountQry qry){
|
|
||||||
|
|
||||||
if(qry.getClassCorpinfoId()==null){
|
|
||||||
qry.setClassCorpinfoId(AuthContext.getTenantId());
|
|
||||||
}
|
|
||||||
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
|
|
||||||
List<StudentExamCountPO> countList = studentRepository.listExamCount(params);
|
|
||||||
List<StudentExamCountCO> countCOList = BeanUtil.copyToList(countList, StudentExamCountCO.class);
|
|
||||||
return MultiResponse.of(countCOList);
|
|
||||||
}
|
|
||||||
|
|
||||||
public MultiResponse<StudentExamCountByCorpCO> executeListExamCountByCorp(StudentExamCountByCorpQry qry){
|
|
||||||
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
|
|
||||||
List<StudentExamCountByCorpPO> countList = studentRepository.listExamCountByCorp(params);
|
|
||||||
List<StudentExamCountByCorpCO> countCOList = BeanUtil.copyToList(countList, StudentExamCountByCorpCO.class);
|
|
||||||
return MultiResponse.of(countCOList);
|
|
||||||
}
|
|
||||||
|
|
||||||
public MultiResponse<StudentCountByCorpCO> executeListStudentCountByCorp(StudentCountByCorpQry qry){
|
|
||||||
if(qry.getInterestedId()==null){
|
|
||||||
qry.setInterestedId(AuthContext.getTenantId().toString());
|
|
||||||
}
|
|
||||||
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
|
|
||||||
List<StudentCountByCorpPO> countList = studentRepository.listStudentCountByCorp(params);
|
|
||||||
List<StudentCountByCorpCO> countCOList = BeanUtil.copyToList(countList, StudentCountByCorpCO.class);
|
|
||||||
return MultiResponse.of(countCOList);
|
|
||||||
}
|
|
||||||
|
|
||||||
public SingleResponse<StudentCO> executeGetInfoByStudentId(String studentId){
|
public SingleResponse<StudentCO> executeGetInfoByStudentId(String studentId){
|
||||||
StudentDO studentDO = studentRepository.findInfoByStudentId(studentId);
|
StudentDO studentDO = studentRepository.findInfoByStudentId(studentId);
|
||||||
StudentCO studentCO = BeanUtil.copyProperties(studentDO, StudentCO.class);
|
StudentCO studentCO = BeanUtil.copyProperties(studentDO, StudentCO.class);
|
||||||
|
|
|
||||||
|
|
@ -11,14 +11,12 @@ import com.zcloud.edu.command.study.StudentUpdateExe;
|
||||||
import com.zcloud.edu.dto.archives.ClassArchivesQry;
|
import com.zcloud.edu.dto.archives.ClassArchivesQry;
|
||||||
import com.zcloud.edu.dto.clientobject.study.EducationUserCO;
|
import com.zcloud.edu.dto.clientobject.study.EducationUserCO;
|
||||||
import com.zcloud.edu.dto.clientobject.study.StudentCO;
|
import com.zcloud.edu.dto.clientobject.study.StudentCO;
|
||||||
import com.zcloud.edu.dto.clientobject.study.StudentCountByCorpCO;
|
|
||||||
import com.zcloud.edu.dto.clientobject.study.StudentExamCountCO;
|
|
||||||
import com.zcloud.edu.dto.clientobject.study.StudentExamCountByCorpCO;
|
|
||||||
import com.zcloud.edu.dto.data.archives.ClassArchivesDTO;
|
import com.zcloud.edu.dto.data.archives.ClassArchivesDTO;
|
||||||
import com.zcloud.edu.dto.data.archives.PersonArchivesDTO;
|
import com.zcloud.edu.dto.data.archives.PersonArchivesDTO;
|
||||||
import com.zcloud.edu.dto.study.*;
|
import com.zcloud.edu.dto.study.*;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
@ -114,21 +112,6 @@ public class StudentServiceImpl implements StudentServiceI {
|
||||||
return studentQueryExe.executeListStudentCount(qry);
|
return studentQueryExe.executeListStudentCount(qry);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public MultiResponse<StudentExamCountCO> listExamCount(StudentExamCountQry qry) {
|
|
||||||
return studentQueryExe.executeListExamCount(qry);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public MultiResponse<StudentExamCountByCorpCO> listExamCountByCorp(StudentExamCountByCorpQry qry) {
|
|
||||||
return studentQueryExe.executeListExamCountByCorp(qry);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public MultiResponse<StudentCountByCorpCO> listStudentCountByCorp(StudentCountByCorpQry qry) {
|
|
||||||
return studentQueryExe.executeListStudentCountByCorp(qry);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SingleResponse<StudentCO> getInfoByStudentId(String studentId) {
|
public SingleResponse<StudentCO> getInfoByStudentId(String studentId) {
|
||||||
return studentQueryExe.executeGetInfoByStudentId(studentId);
|
return studentQueryExe.executeGetInfoByStudentId(studentId);
|
||||||
|
|
|
||||||
|
|
@ -6,9 +6,6 @@ import com.alibaba.cola.dto.SingleResponse;
|
||||||
import com.zcloud.edu.dto.archives.ClassArchivesQry;
|
import com.zcloud.edu.dto.archives.ClassArchivesQry;
|
||||||
import com.zcloud.edu.dto.clientobject.study.EducationUserCO;
|
import com.zcloud.edu.dto.clientobject.study.EducationUserCO;
|
||||||
import com.zcloud.edu.dto.clientobject.study.StudentCO;
|
import com.zcloud.edu.dto.clientobject.study.StudentCO;
|
||||||
import com.zcloud.edu.dto.clientobject.study.StudentCountByCorpCO;
|
|
||||||
import com.zcloud.edu.dto.clientobject.study.StudentExamCountCO;
|
|
||||||
import com.zcloud.edu.dto.clientobject.study.StudentExamCountByCorpCO;
|
|
||||||
import com.zcloud.edu.dto.data.archives.ClassArchivesDTO;
|
import com.zcloud.edu.dto.data.archives.ClassArchivesDTO;
|
||||||
import com.zcloud.edu.dto.data.archives.PersonArchivesDTO;
|
import com.zcloud.edu.dto.data.archives.PersonArchivesDTO;
|
||||||
import com.zcloud.edu.dto.study.*;
|
import com.zcloud.edu.dto.study.*;
|
||||||
|
|
@ -52,12 +49,6 @@ public interface StudentServiceI {
|
||||||
|
|
||||||
MultiResponse<StudentCO> listStudentCount(StudentCountQry qry);
|
MultiResponse<StudentCO> listStudentCount(StudentCountQry qry);
|
||||||
|
|
||||||
MultiResponse<StudentExamCountCO> listExamCount(StudentExamCountQry qry);
|
|
||||||
|
|
||||||
MultiResponse<StudentExamCountByCorpCO> listExamCountByCorp(StudentExamCountByCorpQry qry);
|
|
||||||
|
|
||||||
MultiResponse<StudentCountByCorpCO> listStudentCountByCorp(StudentCountByCorpQry qry);
|
|
||||||
|
|
||||||
SingleResponse<StudentCO> getInfoByStudentId(String studentId);
|
SingleResponse<StudentCO> getInfoByStudentId(String studentId);
|
||||||
|
|
||||||
PageResponse<EducationUserCO> educationUserList(EducationUserQry qry);
|
PageResponse<EducationUserCO> educationUserList(EducationUserQry qry);
|
||||||
|
|
|
||||||
|
|
@ -199,10 +199,6 @@ public class StudentCO extends ClientObject {
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private Integer studentCount;
|
private Integer studentCount;
|
||||||
|
|
||||||
@ApiModelProperty(value = "培训合格数量")
|
|
||||||
@TableField(exist = false)
|
|
||||||
private Integer qualifiedStudentCount;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,44 +0,0 @@
|
||||||
package com.zcloud.edu.dto.clientobject.study;
|
|
||||||
|
|
||||||
import com.alibaba.cola.dto.ClientObject;
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* web-client
|
|
||||||
*
|
|
||||||
* @Author zhangyue
|
|
||||||
* @Date 2026-06-13 15:05:00
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
public class StudentCountByCorpCO extends ClientObject {
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "部门名称")
|
|
||||||
private String departmentName;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "姓名")
|
|
||||||
private String name;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "手机号")
|
|
||||||
private String phone;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "身份证号")
|
|
||||||
private String userIdCard;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "已通过培训数")
|
|
||||||
private Integer completeClassCount;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "培训总数")
|
|
||||||
private Integer classCount;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "培训有效期开始时间")
|
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
|
||||||
private LocalDateTime startTime;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "培训有效期结束时间")
|
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
|
||||||
private LocalDateTime endTime;
|
|
||||||
}
|
|
||||||
|
|
@ -1,27 +0,0 @@
|
||||||
package com.zcloud.edu.dto.clientobject.study;
|
|
||||||
|
|
||||||
import com.alibaba.cola.dto.ClientObject;
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* web-client
|
|
||||||
*
|
|
||||||
* @Author zhangyue
|
|
||||||
* @Date 2026-06-13 14:32:00
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
public class StudentExamCountByCorpCO extends ClientObject {
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "企业id")
|
|
||||||
private Long corpinfoId;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "企业名称")
|
|
||||||
private String corpName;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "涉及相关方单位数")
|
|
||||||
private Long relatedCorpCount;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "涉及人数")
|
|
||||||
private Long studentCount;
|
|
||||||
}
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
||||||
package com.zcloud.edu.dto.clientobject.study;
|
|
||||||
|
|
||||||
import com.alibaba.cola.dto.ClientObject;
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* web-client
|
|
||||||
*
|
|
||||||
* @Author zhangyue
|
|
||||||
* @Date 2026-06-13 15:45:00
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
public class StudentExamCountCO extends ClientObject {
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "企业id")
|
|
||||||
private Long classCorpinfoId;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "所属相关方id")
|
|
||||||
private String interestedId;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "所属相关方名称")
|
|
||||||
private String interestedName;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "涉及人数")
|
|
||||||
private Integer studentCount;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "培训有效人数")
|
|
||||||
private Integer qualifiedStudentCount;
|
|
||||||
}
|
|
||||||
|
|
@ -1,28 +0,0 @@
|
||||||
package com.zcloud.edu.dto.study;
|
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* web-client
|
|
||||||
*
|
|
||||||
* @Author zhangyue
|
|
||||||
* @Date 2026-06-13 15:05:00
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
public class StudentCountByCorpQry {
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "企业id")
|
|
||||||
private Long classCorpinfoId;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "相关方id")
|
|
||||||
private String interestedId;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "姓名模糊查询")
|
|
||||||
private String likeName;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "培训有效期筛选,1-正常 -1-过期 -2-横杠 -3-待定")
|
|
||||||
private Integer isValid;
|
|
||||||
|
|
||||||
private String menuPath;
|
|
||||||
}
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
package com.zcloud.edu.dto.study;
|
package com.zcloud.edu.dto.study;
|
||||||
|
|
||||||
import com.alibaba.cola.dto.PageQuery;
|
import com.alibaba.cola.dto.PageQuery;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -28,18 +27,13 @@ public class StudentCountQry {
|
||||||
*/
|
*/
|
||||||
private String eqStudentId;
|
private String eqStudentId;
|
||||||
private String eqClassId;
|
private String eqClassId;
|
||||||
|
|
||||||
private String likeProjectNames;
|
private String likeProjectNames;
|
||||||
private String likeName;
|
private String likeName;
|
||||||
private String likeInterestedIds;
|
private String likeInterestedIds;
|
||||||
|
|
||||||
private List<Long> corpinfoIds;
|
private List<Long> corpinfoIds;
|
||||||
private List<String> phones;
|
private List<String> phones;
|
||||||
|
|
||||||
private String year;
|
private String year;
|
||||||
@ApiModelProperty(value = "相关方id", name = "eqInterestedIds")
|
|
||||||
private String eqInterestedIds;
|
|
||||||
@ApiModelProperty(value = "企业id", name = "classCorpinfoId")
|
|
||||||
private Long classCorpinfoId;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
package com.zcloud.edu.dto.study;
|
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* web-client
|
|
||||||
*
|
|
||||||
* @Author zhangyue
|
|
||||||
* @Date 2026-06-13 14:32:00
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
public class StudentExamCountByCorpQry {
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "企业名称模糊查询")
|
|
||||||
private String likeCorpName;
|
|
||||||
private Long corpinfoId;
|
|
||||||
}
|
|
||||||
|
|
@ -1,23 +0,0 @@
|
||||||
package com.zcloud.edu.dto.study;
|
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* web-client
|
|
||||||
*
|
|
||||||
* @Author zhangyue
|
|
||||||
* @Date 2026-06-13 15:45:00
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
public class StudentExamCountQry {
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "所属相关方id")
|
|
||||||
private String interestedId;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "企业id")
|
|
||||||
private Long classCorpinfoId;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "年份")
|
|
||||||
private String year;
|
|
||||||
}
|
|
||||||
|
|
@ -119,10 +119,6 @@ public class StudentDO extends BaseDO {
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private Integer studentCount;
|
private Integer studentCount;
|
||||||
|
|
||||||
@ApiModelProperty(value = "鍚堟牸浜烘暟")
|
|
||||||
@TableField(exist = false)
|
|
||||||
private Integer qualifiedStudentCount;
|
|
||||||
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "完成班级数")
|
@ApiModelProperty(value = "完成班级数")
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
|
|
|
||||||
|
|
@ -1,43 +0,0 @@
|
||||||
package com.zcloud.edu.persistence.mapper.po.study;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* web-infrastructure
|
|
||||||
*
|
|
||||||
* @Author zhangyue
|
|
||||||
* @Date 2026-06-13 15:05:00
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
public class StudentCountByCorpPO {
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "部门名称")
|
|
||||||
private String departmentName;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "姓名")
|
|
||||||
private String name;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "手机号")
|
|
||||||
private String phone;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "身份证号")
|
|
||||||
private String userIdCard;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "已通过培训数")
|
|
||||||
private Integer completeClassCount;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "培训总数")
|
|
||||||
private Integer classCount;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "培训有效期开始时间")
|
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
|
||||||
private LocalDateTime startTime;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "培训有效期结束时间")
|
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
|
||||||
private LocalDateTime endTime;
|
|
||||||
}
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
package com.zcloud.edu.persistence.mapper.po.study;
|
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* web-infrastructure
|
|
||||||
*
|
|
||||||
* @Author zhangyue
|
|
||||||
* @Date 2026-06-13 14:32:00
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
public class StudentExamCountByCorpPO {
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "企业id")
|
|
||||||
private Long corpinfoId;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "企业名称")
|
|
||||||
private String corpName;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "涉及相关方单位数")
|
|
||||||
private Long relatedCorpCount;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "涉及人数")
|
|
||||||
private Long studentCount;
|
|
||||||
}
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
||||||
package com.zcloud.edu.persistence.mapper.po.study;
|
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* web-infrastructure
|
|
||||||
*
|
|
||||||
* @Author zhangyue
|
|
||||||
* @Date 2026-06-13 15:45:00
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
public class StudentExamCountPO {
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "企业id")
|
|
||||||
private Long classCorpinfoId;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "所属相关方id")
|
|
||||||
private String interestedId;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "所属相关方名称")
|
|
||||||
private String interestedName;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "涉及人数")
|
|
||||||
private Integer studentCount;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "培训有效人数")
|
|
||||||
private Integer qualifiedStudentCount;
|
|
||||||
}
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.zcloud.edu.persistence.mapper.study;
|
package com.zcloud.edu.persistence.mapper.study;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
|
@ -8,9 +9,7 @@ import com.jjb.saas.framework.datascope.annotation.DataScopes;
|
||||||
import com.zcloud.edu.dto.clientobject.study.EducationUserCO;
|
import com.zcloud.edu.dto.clientobject.study.EducationUserCO;
|
||||||
import com.zcloud.edu.persistence.dataobject.study.ClassDO;
|
import com.zcloud.edu.persistence.dataobject.study.ClassDO;
|
||||||
import com.zcloud.edu.persistence.dataobject.study.StudentDO;
|
import com.zcloud.edu.persistence.dataobject.study.StudentDO;
|
||||||
import com.zcloud.edu.persistence.mapper.po.study.StudentCountByCorpPO;
|
import com.zcloud.edu.persistence.mapper.po.study.StudentCountPO;
|
||||||
import com.zcloud.edu.persistence.mapper.po.study.StudentExamCountPO;
|
|
||||||
import com.zcloud.edu.persistence.mapper.po.study.StudentExamCountByCorpPO;
|
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
|
@ -25,8 +24,7 @@ import java.util.Map;
|
||||||
*/
|
*/
|
||||||
@Mapper
|
@Mapper
|
||||||
@DataScopes({
|
@DataScopes({
|
||||||
@DataScope(method = "personnelFileListPage", menuPerms = ""),
|
@DataScope(method = "personnelFileListPage", menuPerms = "")
|
||||||
@DataScope(method = "listStudentCountByCorp", menuPerms = "")
|
|
||||||
})
|
})
|
||||||
public interface StudentMapper extends BaseMapper<StudentDO> {
|
public interface StudentMapper extends BaseMapper<StudentDO> {
|
||||||
|
|
||||||
|
|
@ -51,12 +49,6 @@ public interface StudentMapper extends BaseMapper<StudentDO> {
|
||||||
|
|
||||||
List<StudentDO> listStudentCount(@Param("params") Map<String, Object> params);
|
List<StudentDO> listStudentCount(@Param("params") Map<String, Object> params);
|
||||||
|
|
||||||
List<StudentCountByCorpPO> listStudentCountByCorp(@Param("params") Map<String, Object> params, String menuPerms);
|
|
||||||
|
|
||||||
List<StudentExamCountPO> listExamCount(@Param("params") Map<String, Object> params);
|
|
||||||
|
|
||||||
List<StudentExamCountByCorpPO> listExamCountByCorp(@Param("params") Map<String, Object> params);
|
|
||||||
|
|
||||||
StudentDO findInfoByStudentId(@Param("studentId") String studentId);
|
StudentDO findInfoByStudentId(@Param("studentId") String studentId);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,16 +11,13 @@ import com.zcloud.edu.domain.enums.MenuEnum;
|
||||||
import com.zcloud.edu.dto.clientobject.study.EducationUserCO;
|
import com.zcloud.edu.dto.clientobject.study.EducationUserCO;
|
||||||
import com.zcloud.edu.persistence.dataobject.study.ClassDO;
|
import com.zcloud.edu.persistence.dataobject.study.ClassDO;
|
||||||
import com.zcloud.edu.persistence.dataobject.study.StudentDO;
|
import com.zcloud.edu.persistence.dataobject.study.StudentDO;
|
||||||
import com.zcloud.edu.persistence.mapper.po.study.StudentCountByCorpPO;
|
import com.zcloud.edu.persistence.mapper.po.study.StudentCountPO;
|
||||||
import com.zcloud.edu.persistence.mapper.po.study.StudentExamCountPO;
|
|
||||||
import com.zcloud.edu.persistence.mapper.po.study.StudentExamCountByCorpPO;
|
|
||||||
import com.zcloud.edu.persistence.mapper.study.StudentMapper;
|
import com.zcloud.edu.persistence.mapper.study.StudentMapper;
|
||||||
import com.zcloud.edu.persistence.repository.study.StudentRepository;
|
import com.zcloud.edu.persistence.repository.study.StudentRepository;
|
||||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||||
import com.zcloud.gbscommon.utils.Query;
|
import com.zcloud.gbscommon.utils.Query;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.util.ObjectUtils;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
@ -141,25 +138,6 @@ public class StudentRepositoryImpl extends BaseRepositoryImpl<StudentMapper, Stu
|
||||||
return studentMapper.listStudentCount(params);
|
return studentMapper.listStudentCount(params);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<StudentCountByCorpPO> listStudentCountByCorp(Map<String, Object> params) {
|
|
||||||
String menuPerms = "";
|
|
||||||
if (!ObjectUtils.isEmpty(params.get("menuPath"))) {
|
|
||||||
menuPerms = MenuEnum.getMenuKeyByPath(params.get("menuPath").toString());
|
|
||||||
}
|
|
||||||
return studentMapper.listStudentCountByCorp(params,menuPerms);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<StudentExamCountPO> listExamCount(Map<String, Object> params) {
|
|
||||||
return studentMapper.listExamCount(params);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<StudentExamCountByCorpPO> listExamCountByCorp(Map<String, Object> params) {
|
|
||||||
return studentMapper.listExamCountByCorp(params);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageResponse<EducationUserCO> educationUserList(Map<String, Object> params) {
|
public PageResponse<EducationUserCO> educationUserList(Map<String, Object> params) {
|
||||||
Page<Map<String, Object>> page = new Page<>(Integer.parseInt(params.get("pageIndex").toString()), Integer.parseInt(params.get("pageSize").toString()));
|
Page<Map<String, Object>> page = new Page<>(Integer.parseInt(params.get("pageIndex").toString()), Integer.parseInt(params.get("pageSize").toString()));
|
||||||
|
|
|
||||||
|
|
@ -5,9 +5,7 @@ import com.jjb.saas.framework.repository.repo.BaseRepository;
|
||||||
import com.zcloud.edu.dto.clientobject.study.EducationUserCO;
|
import com.zcloud.edu.dto.clientobject.study.EducationUserCO;
|
||||||
import com.zcloud.edu.persistence.dataobject.study.ClassDO;
|
import com.zcloud.edu.persistence.dataobject.study.ClassDO;
|
||||||
import com.zcloud.edu.persistence.dataobject.study.StudentDO;
|
import com.zcloud.edu.persistence.dataobject.study.StudentDO;
|
||||||
import com.zcloud.edu.persistence.mapper.po.study.StudentCountByCorpPO;
|
import com.zcloud.edu.persistence.mapper.po.study.StudentCountPO;
|
||||||
import com.zcloud.edu.persistence.mapper.po.study.StudentExamCountPO;
|
|
||||||
import com.zcloud.edu.persistence.mapper.po.study.StudentExamCountByCorpPO;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
@ -50,12 +48,6 @@ public interface StudentRepository extends BaseRepository<StudentDO> {
|
||||||
|
|
||||||
List<StudentDO> listStudentCount(Map<String, Object> params);
|
List<StudentDO> listStudentCount(Map<String, Object> params);
|
||||||
|
|
||||||
List<StudentCountByCorpPO> listStudentCountByCorp(Map<String, Object> params);
|
|
||||||
|
|
||||||
List<StudentExamCountPO> listExamCount(Map<String, Object> params);
|
|
||||||
|
|
||||||
List<StudentExamCountByCorpPO> listExamCountByCorp(Map<String, Object> params);
|
|
||||||
|
|
||||||
PageResponse<EducationUserCO> educationUserList(Map<String, Object> params);
|
PageResponse<EducationUserCO> educationUserList(Map<String, Object> params);
|
||||||
|
|
||||||
PageResponse<EducationUserCO> pushCandidateUserList(Map<String, Object> params);
|
PageResponse<EducationUserCO> pushCandidateUserList(Map<String, Object> params);
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@
|
||||||
and DATE(ep.create_time) <![CDATA[>=]]> #{params.uploadStartTime}
|
and DATE(ep.create_time) <![CDATA[>=]]> #{params.uploadStartTime}
|
||||||
</if>
|
</if>
|
||||||
<if test="params.uploadEndTime != null and params.uploadEndTime!=''">
|
<if test="params.uploadEndTime != null and params.uploadEndTime!=''">
|
||||||
and DATE(ep.create_time) <![CDATA[<=]]> #{params.uploadEndTime}
|
and DATE(ep.create_time) <![CDATA[<=]]> #{params.uploadStartTime}
|
||||||
</if>
|
</if>
|
||||||
order by ep.create_time desc
|
order by ep.create_time desc
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,6 @@
|
||||||
cc.curriculum_name,
|
cc.curriculum_name,
|
||||||
cc.video_total_time,
|
cc.video_total_time,
|
||||||
c.training_type_id,
|
c.training_type_id,
|
||||||
tt.name as trainingTypeName,
|
|
||||||
c.corpinfo_id,
|
c.corpinfo_id,
|
||||||
co.corp_name,
|
co.corp_name,
|
||||||
c.video_total_time curriculumVideoTotalTime,
|
c.video_total_time curriculumVideoTotalTime,
|
||||||
|
|
@ -24,7 +23,6 @@
|
||||||
class_curriculum cc
|
class_curriculum cc
|
||||||
left join curriculum c on c.curriculum_id = cc.curriculum_id
|
left join curriculum c on c.curriculum_id = cc.curriculum_id
|
||||||
left join corp_info co on co.id = c.corpinfo_id
|
left join corp_info co on co.id = c.corpinfo_id
|
||||||
left join training_type tt on tt.training_type_id = c.training_type_id
|
|
||||||
<where>
|
<where>
|
||||||
cc.id = #{id}
|
cc.id = #{id}
|
||||||
</where>
|
</where>
|
||||||
|
|
|
||||||
|
|
@ -182,145 +182,6 @@
|
||||||
group by s.phone
|
group by s.phone
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="listStudentCountByCorp" resultType="com.zcloud.edu.persistence.mapper.po.study.StudentCountByCorpPO">
|
|
||||||
SELECT
|
|
||||||
max(coalesce(u.name, s.name)) AS name,
|
|
||||||
s.phone,
|
|
||||||
count(DISTINCT s.student_id) AS classCount,
|
|
||||||
count(DISTINCT CASE WHEN s.state = 1 THEN s.student_id END) AS completeClassCount,
|
|
||||||
max(d.name) AS departmentName,
|
|
||||||
max(coalesce(u.user_id_card, s.user_id_card)) AS userIdCard,
|
|
||||||
max(tu.start_time) AS startTime,
|
|
||||||
max(tu.end_time) AS endTime
|
|
||||||
FROM
|
|
||||||
student s
|
|
||||||
inner join class c on c.class_id = s.class_id
|
|
||||||
and c.delete_enum = 'FALSE'
|
|
||||||
left join user u on u.phone = s.phone
|
|
||||||
and u.delete_enum = 'FALSE'
|
|
||||||
left join department d on d.id = u.department_id
|
|
||||||
and d.delete_enum = 'FALSE'
|
|
||||||
left join (
|
|
||||||
SELECT
|
|
||||||
phone,
|
|
||||||
start_time,
|
|
||||||
end_time
|
|
||||||
FROM
|
|
||||||
(
|
|
||||||
SELECT
|
|
||||||
phone,
|
|
||||||
start_time,
|
|
||||||
end_time,
|
|
||||||
ROW_NUMBER() OVER (
|
|
||||||
PARTITION BY phone
|
|
||||||
ORDER BY
|
|
||||||
CASE WHEN end_time IS NULL THEN 1 ELSE 0 END ASC,
|
|
||||||
end_time DESC,
|
|
||||||
CASE WHEN start_time IS NULL THEN 1 ELSE 0 END ASC,
|
|
||||||
start_time DESC,
|
|
||||||
update_time DESC,
|
|
||||||
create_time DESC
|
|
||||||
) rn
|
|
||||||
FROM
|
|
||||||
training_user
|
|
||||||
WHERE
|
|
||||||
delete_enum = 'FALSE'
|
|
||||||
) t
|
|
||||||
WHERE
|
|
||||||
t.rn = 1
|
|
||||||
) tu on tu.phone = s.phone
|
|
||||||
<where>
|
|
||||||
s.interested_ids = #{params.interestedId}
|
|
||||||
and s.delete_enum = 'FALSE'
|
|
||||||
<if test="params.classCorpinfoId != null ">
|
|
||||||
and s.class_corpinfo_id = #{params.classCorpinfoId}
|
|
||||||
</if>
|
|
||||||
<if test="params.likeName != null and params.likeName != ''">
|
|
||||||
and coalesce(u.name, s.name) like concat('%',#{params.likeName},'%')
|
|
||||||
</if>
|
|
||||||
<if test="params.isValid != null and params.isValid == 1">
|
|
||||||
and (tu.start_time <= now() and tu.end_time >= now())
|
|
||||||
</if>
|
|
||||||
<if test="params.isValid != null and params.isValid == -1">
|
|
||||||
and now() not between tu.start_time and tu.end_time
|
|
||||||
</if>
|
|
||||||
<if test="params.isValid != null and params.isValid == -2">
|
|
||||||
and tu.end_time is null
|
|
||||||
</if>
|
|
||||||
<if test="params.isValid != null and params.isValid == -3">
|
|
||||||
and (tu.end_time is null or now() not between tu.start_time and tu.end_time)
|
|
||||||
</if>
|
|
||||||
</where>
|
|
||||||
GROUP BY
|
|
||||||
s.phone
|
|
||||||
ORDER BY
|
|
||||||
max(d.name) asc,
|
|
||||||
max(coalesce(u.name, s.name)) asc
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="listExamCount" resultType="com.zcloud.edu.persistence.mapper.po.study.StudentExamCountPO">
|
|
||||||
SELECT
|
|
||||||
s.interested_ids AS interestedId,
|
|
||||||
s.class_corpinfo_id as classCorpinfoId,
|
|
||||||
max(s.interested_names) AS interestedName,
|
|
||||||
count(DISTINCT s.phone) AS studentCount,
|
|
||||||
count(DISTINCT CASE WHEN s.state = 1 THEN s.phone END) AS qualifiedStudentCount
|
|
||||||
FROM
|
|
||||||
student s
|
|
||||||
left join class c on c.class_id = s.class_id
|
|
||||||
and c.delete_enum = 'FALSE'
|
|
||||||
left join corp_info ci on ci.id = s.interested_ids
|
|
||||||
and ci.delete_enum = 'FALSE'
|
|
||||||
<where>
|
|
||||||
s.delete_enum = 'FALSE'
|
|
||||||
and s.interested_ids is not null
|
|
||||||
and s.interested_ids != ''
|
|
||||||
<if test="params.interestedId != null and params.interestedId != ''">
|
|
||||||
and s.interested_ids = #{params.interestedId}
|
|
||||||
</if>
|
|
||||||
<if test="params.classCorpinfoId != null">
|
|
||||||
and s.class_corpinfo_id = #{params.classCorpinfoId}
|
|
||||||
</if>
|
|
||||||
<if test="params.year != null and params.year != ''">
|
|
||||||
and DATE_FORMAT(c.start_time, '%Y') = #{params.year}
|
|
||||||
</if>
|
|
||||||
</where>
|
|
||||||
group by
|
|
||||||
s.interested_ids
|
|
||||||
order by
|
|
||||||
ci.corp_order asc,
|
|
||||||
ci.create_time asc
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="listExamCountByCorp" resultType="com.zcloud.edu.persistence.mapper.po.study.StudentExamCountByCorpPO">
|
|
||||||
SELECT
|
|
||||||
ci.id AS corpinfoId,
|
|
||||||
ci.corp_name AS corpName,
|
|
||||||
count(DISTINCT CASE
|
|
||||||
WHEN s.interested_ids is not null and s.interested_ids != '' THEN s.interested_ids
|
|
||||||
END) AS relatedCorpCount,
|
|
||||||
count(DISTINCT s.phone) AS studentCount
|
|
||||||
FROM
|
|
||||||
corp_info ci
|
|
||||||
left join student s on ci.id = s.class_corpinfo_id
|
|
||||||
and s.delete_enum = 'FALSE'
|
|
||||||
<where>
|
|
||||||
ci.delete_enum = 'FALSE'
|
|
||||||
and ci.type in (0, 1, 6)
|
|
||||||
<if test="params.likeCorpName != null and params.likeCorpName != ''">
|
|
||||||
and ci.corp_name like concat('%',#{params.likeCorpName},'%')
|
|
||||||
</if>
|
|
||||||
<if test="params.corpinfoId != null">
|
|
||||||
and ci.id =#{params.corpinfoId}
|
|
||||||
</if>
|
|
||||||
</where>
|
|
||||||
group by
|
|
||||||
ci.id
|
|
||||||
order by
|
|
||||||
ci.corp_order asc,
|
|
||||||
ci.create_time asc
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="listPageClassByStudent" resultType="com.zcloud.edu.persistence.dataobject.study.StudentDO">
|
<select id="listPageClassByStudent" resultType="com.zcloud.edu.persistence.dataobject.study.StudentDO">
|
||||||
select
|
select
|
||||||
s.id,
|
s.id,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue