server_commit

This commit is contained in:
zhengziru
2025-06-23 10:06:22 +08:00
parent c720084480
commit 3b9cd75cc9
5 changed files with 87 additions and 62 deletions
@@ -234,21 +234,21 @@ public class HealthCheckupSingleServiceImpl extends ViServiceImpl<HealthCheckupP
if ("0".equals(isSelected)){ if ("0".equals(isSelected)){
sql = Sqls.create(""" sql = Sqls.create("""
SELECT SELECT
u.loginname AS loginName, u.loginName,
u.username AS userName, u.userName,
IFNULL(hcus.sex, u.sex) AS sex, IFNULL(hcus.sex, u.sex) AS sex,
u.birthday,
u.unitName, u.unitName,
u.threeUnitName, u.threeUnitName,
u.unionName, u.unionName,
hcus.idcard AS idCard, hcus.idcard AS idCard,
hcus.mobile, hcus.mobile,
hcus.age,
hcps.optionName subjectName, hcps.optionName subjectName,
hcus.userSign, hcus.userSign,
hcc.campusName hcc.campusName
FROM FROM
`health_checkup_user_selection` hcus `health_checkup_user_selection` hcus
LEFT JOIN `health_checkup_user` u ON u.id = hcus.selectUserId LEFT JOIN `health_checkup_user` u ON u.userId = hcus.selectUserId
LEFT JOIN `health_checkup_project_subject` hcps ON hcps.id = hcus.subjectId LEFT JOIN `health_checkup_project_subject` hcps ON hcps.id = hcus.subjectId
LEFT JOIN `health_checkup_campus` hcc ON hcc.id = hcus.campus LEFT JOIN `health_checkup_campus` hcc ON hcc.id = hcus.campus
$condition $condition
@@ -263,7 +263,6 @@ public class HealthCheckupSingleServiceImpl extends ViServiceImpl<HealthCheckupP
u.loginname loginName, u.loginname loginName,
u.username userName, u.username userName,
u.sex, u.sex,
u.birthday,
u.unitname unitName, u.unitname unitName,
u.unitCode unitCode, u.unitCode unitCode,
u.unionname unionName, u.unionname unionName,
@@ -124,7 +124,8 @@ public class LxyGhbmController {
cnd.and("mefp.hdid", "=", hdid); cnd.and("mefp.hdid", "=", hdid);
cnd.andEX("un.id", "=", unionId); cnd.andEX("un.id", "=", unionId);
if (!ShiroUtil.hasAnyRoles(new String[]{"sysadmin", "SchoolUnionAdmin"})) { if (!ShiroUtil.hasAnyRoles(new String[]{"sysadmin", "SchoolUnionAdmin"})) {
cnd.and(new Static("mefp.ghid in " + vi.getMangeUnionStr())); cnd.and("mefp.ghid", "=", Vi.getUnionId());
// cnd.and(new Static("mefp.ghid in " + vi.getMangeUnionStr()));
//工会管理员查看分配名额大于0的 //工会管理员查看分配名额大于0的
cnd.and("mefp.number", ">", 0); cnd.and("mefp.number", ">", 0);
} }
@@ -230,12 +231,27 @@ public class LxyGhbmController {
} }
@At @At
@ViReturn @Aop(TransAop.READ_COMMITTED)
@RequiresPermissions("zgfw.lxy.ghbm") @RequiresPermissions("zgfw.lxy.ghbm")
public Object bm(@Param("::data") List<NutMap> bmMapList, @Param("flag") boolean flag) { public Object bm(@Param("::data") List<NutMap> bmMapList, @Param("flag") boolean flag) {
try {
Trans.exec(() -> {
List<Lxy_bm> bmList = Lang.collection2list(bmMapList, Lxy_bm.class); List<Lxy_bm> bmList = Lang.collection2list(bmMapList, Lxy_bm.class);
if (Lang.isEmpty(bmList)){
return Result.error("未获取到报名数据,请选择人员报名");
}
String unionId = Vi.getUnionId();
Lxy_mefp meNum = dao.fetch(Lxy_mefp.class, Cnd.where("hdid", "=", bmList.get(0).getHdid()).and("ghid", "=", unionId));
int size = bmList.size();
if (size > meNum.getNumber()) {
return Result.error("报名人数已满");
}
if (Lang.isNotEmpty(bmList)) { if (Lang.isNotEmpty(bmList)) {
lxyBmService.clear(Cnd lxyBmService.clear(Cnd
.NEW().and(Cnd.exps("bmzt", "is", null).or("bmzt", "=", 4)) .NEW().and(Cnd.exps("bmzt", "is", null).or("bmzt", "=", 4))
@@ -285,9 +301,14 @@ public class LxyGhbmController {
} }
lxyBmService.insert(bmList); lxyBmService.insert(bmList);
lxyGrxxService.insert(grxxList); lxyGrxxService.insert(grxxList);
return Result.success();
} else {
return Result.error();
}
}catch (Exception e){
e.printStackTrace();
return Result.error();
} }
});
return null;
} }
@@ -365,17 +386,19 @@ public class LxyGhbmController {
String unionId = Vi.getUnionId(); String unionId = Vi.getUnionId();
// 已经报名的,排除审核未通过 // 已经报名的,排除审核未通过
int count = dao.count(Lxy_bm.class, Cnd.where("hdid", "=", projectId).and("ghid", "=", unionId) int count = dao.count(Lxy_bm.class, Cnd.where("hdid", "=", projectId).and("ghid", "=", unionId)
.and("bmzt", "in", List.of("1", "2", "3", "4", "5", "6"))); .and(Cnd.exps("bmzt", "in", List.of("1", "3", "5", "6")).or("bmzt", "is", null)));
Lxy_mefp fetch = dao.fetch(Lxy_mefp.class, Cnd.where("hdid", "=", projectId).and("ghid", "=", unionId)); Lxy_mefp fetch = dao.fetch(Lxy_mefp.class, Cnd.where("hdid", "=", projectId).and("ghid", "=", unionId));
if (count >= fetch.getNumber()) { if (count > fetch.getNumber()) {
return Result.error("报名人数已满"); return Result.error("报名人数已满");
} }
List<LxyImportTemp> tempList = ExcelImportUtil.importExcel(file.getFile(), LxyImportTemp.class, new ImportParams()); List<LxyImportTemp> tempList = ExcelImportUtil.importExcel(file.getFile(), LxyImportTemp.class, new ImportParams());
if ((tempList.size() + count) >= fetch.getNumber()) { int size = tempList.size();
if ((size + count) > fetch.getNumber()) {
return Result.error("文件数据超过名额限制,请检查是否存在已报名人员"); return Result.error("文件数据超过名额限制,请检查是否存在已报名人员");
} }
+30 -43
View File
@@ -1,5 +1,5 @@
nutz.application.name=zhgh_hrbnu nutz.application.name=zhgh_hrbnu
server.port=80 server.port=8080
server.host=0.0.0.0 server.host=0.0.0.0
jetty.contextPath=/ jetty.contextPath=/
jetty.threadpool.idleTimeout=60000 jetty.threadpool.idleTimeout=60000
@@ -8,17 +8,17 @@ jetty.threadpool.maxThreads=500
jetty.page.403=/error/403.html jetty.page.403=/error/403.html
jetty.page.404=/error/404.html jetty.page.404=/error/404.html
jetty.page.500=/error/500.html jetty.page.500=/error/500.html
#结合ftp使用,或用nginx代理ftp路径 #结合ftp使用,或用nginx代理ftp路径
jetty.staticPath=D://files jetty.staticPath=D://files
#开发模式静态资源 #开发模式静态资源
jetty.staticPathLocal=G:/zhgh/zhgh_hrbnu/src/main/resources/static jetty.staticPathLocal=D:/work/project/zhgh_hrbnu/src/main/resources/static
nutz.mvc.ignore=^(.+[.])(jsp|png|gif|jpg|js|css|jspx|jpeg|html|mp3|mp4|ico|svg)$ nutz.mvc.ignore=^(.+[.])(jsp|png|gif|jpg|js|css|jspx|jpeg|html|mp3|mp4|ico|svg)$
nutz.mvc.exclusions=/favicon/*,/assets/*,/druid/*,/upload/* nutz.mvc.exclusions=/favicon/*,/assets/*,/druid/*,/upload/*
ftp.enabled=false ftp.enabled=true
ftp.host=192.168.21.203 ftp.host=10.10.10.16
ftp.port=9090 ftp.port=21
ftp.username=ftpuser ftp.username=ftp_user
ftp.password=123456 ftp.password=HRBNU_DD3s@#2024
ftp.timeout=100 ftp.timeout=100
redis.host=127.0.0.1 redis.host=127.0.0.1
redis.port=6379 redis.port=6379
@@ -30,26 +30,23 @@ redis.pool.maxTotal=150
redis.pool.maxIdle=50 redis.pool.maxIdle=50
redis.pool.minIdle=10 redis.pool.minIdle=10
#redis.password=123456 #redis.password=123456
#redis集群模式设置 #redis集群模式设置
#redis.mode=cluster #redis.mode=cluster
redis.mode=normal redis.mode=normal
#redis.nodes=192.168.6.31:6377,192.168.6.31:6378,192.168.6.28:6377,192.168.6.28:6378,192.168.6.34:6377,192.168.6.34:6378 #redis.nodes=192.168.6.31:6377,192.168.6.31:6378,192.168.6.28:6377,192.168.6.28:6378,192.168.6.34:6377,192.168.6.34:6378
jdbc.url=jdbc:mysql://127.0.0.1:3306/zhgh_hrbnu?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true jdbc.url=jdbc:mysql://10.10.10.16:3306/zhgh_hrbnu?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
#jdbc.driver=dm.jdbc.driver.DmDriver #jdbc.driver=dm.jdbc.driver.DmDriver
#jdbc.url=jdbc:dm://127.0.0.1:5236?databaseProductName=dm mysql&compatibleMode=mysql #jdbc.url=jdbc:dm://127.0.0.1:5236?databaseProductName=dm mysql&compatibleMode=mysql
jdbc.username=root jdbc.username=root
jdbc.password=123456 jdbc.password=HRBNU_DD3s@#2024
jdbc.validationQuery=select 1 jdbc.validationQuery=select 1
jdbc.maxActive=500 jdbc.maxActive=500
jdbc.testWhileIdle=true jdbc.testWhileIdle=true
jdbc.connectionProperties=druid.stat.slowSqlMillis=2000 jdbc.connectionProperties=druid.stat.slowSqlMillis=2000
jdbc.defaultAutoCommit=true jdbc.defaultAutoCommit=true
xsssql.ignore.urls=/platform/cms/content/article/addDo,/platform/sys/app/conf/addDo,/platform/sys/app/conf/editDo,\ xsssql.ignore.urls=/platform/cms/content/article/addDo,/platform/sys/app/conf/addDo,/platform/sys/app/conf/editDo,/platform/psychology/notice/doAdd,/platform/psychology/notice/doEdit
/platform/member/change/mange/userPageData,/platform/welfare/member/mange/userPageData,/platform/sys/task/cronExp,\ #环境 dev/prod
/platform/sys/task/editDo,/platform/sys/task/addDo,/platform/fellowship/manage/activity/doHandle,/platform/sys/menu/editMenuDo,\ v.environment=prod
/platform/trainSingUp/manage/activity/doHandle,/platform/activity/school/info/mange/doAdd,/platform/activity/school/info/mange/doEdit
#环境 dev/prod
v.environment=dev
v.loginUrl=/sso/login v.loginUrl=/sso/login
v.loginUrlMobile=/mobile/cas/login v.loginUrlMobile=/mobile/cas/login
v.ip=127.0.0.1 v.ip=127.0.0.1
@@ -65,42 +62,42 @@ shiro.ini.urls:
/signature/**=anon /signature/**=anon
/platform/**=AuthenticationFilter /platform/**=AuthenticationFilter
#end #end
#设置session会话超时时间(单位:毫秒) #设置session会话超时时间(单位:毫秒)
shiro.session.manager.globalSessionTimeout=2000000000 shiro.session.manager.globalSessionTimeout=2000000000
#设置redis缓存时间(单位:秒)与上面的毫秒数保持一致 #设置redis缓存时间(单位:秒)与上面的毫秒数保持一致
shiro.session.cache.redis.ttl=2000000 shiro.session.cache.redis.ttl=2000000
#缓存名和 RedisConstant.PLATFORM_REDIS_PREFIX 常量保持一致 #缓存名和 RedisConstant.PLATFORM_REDIS_PREFIX 常量保持一致
shiro.session.dao.activeSessionsCacheName=budwk5mini:shiro:activeSessionCache shiro.session.dao.activeSessionsCacheName=budwk5mini:shiro:activeSessionCache
#使用redis二级缓存 #使用redis二级缓存
shiro.session.cache.type=lcache shiro.session.cache.type=lcache
shiro.session.enable=true shiro.session.enable=true
shiro.url.login=/platform shiro.url.login=/platform
shiro.url.logout_redirect=/platform shiro.url.logout_redirect=/platform
shiro.url.unauth=/platform shiro.url.unauth=/platform
#开发时设置本地路径,便于调试 #开发时设置本地路径,便于调试
beetl.RESOURCE.rootLocal=G:/zhgh/ /src/main/resources/views/ beetl.RESOURCE.rootLocal=D:/work/project/zhgh_hrbnu/src/main/resources/views/
beetl.RESOURCE.root=views/ beetl.RESOURCE.root=views/
beetl.DELIMITER_STATEMENT_START=<!--# beetl.DELIMITER_STATEMENT_START=<!--#
beetl.DELIMITER_STATEMENT_END=#--> beetl.DELIMITER_STATEMENT_END=#-->
beetl.FT.escape=io.v.nutz.web.commons.ext.beetl.HtmlEscapeFormat beetl.FT.escape=io.v.nutz.web.commons.ext.beetl.HtmlEscapeFormat
#用法: ${"wizzer",escape} #用法: ${"wizzer",escape}
beetl.FT.filesize=io.v.nutz.web.commons.ext.beetl.FileSizeFormat beetl.FT.filesize=io.v.nutz.web.commons.ext.beetl.FileSizeFormat
#用法: ${10241024,filesize} #用法: ${10241024,filesize}
beetl.FT.html2txt=io.v.nutz.web.commons.ext.beetl.Html2TxtFormat beetl.FT.html2txt=io.v.nutz.web.commons.ext.beetl.Html2TxtFormat
#用法: ${"",html2txt="100"} 截取100字符 #用法: ${"",html2txt="100"} 截取100字符
beetl.FT.strlen=io.v.nutz.web.commons.ext.beetl.StrlenFormat beetl.FT.strlen=io.v.nutz.web.commons.ext.beetl.StrlenFormat
#用法: ${"",strlen="100"} 截取100字符 #用法: ${"",strlen="100"} 截取100字符
#获取系统参数 #获取系统参数
beetl.FN.getSysConfig=io.v.nutz.web.commons.ext.beetl.GetSysConfig beetl.FN.getSysConfig=io.v.nutz.web.commons.ext.beetl.GetSysConfig
#============================================================== #==============================================================
#Configure Main Scheduler Properties #Configure Main Scheduler Properties
#============================================================== #==============================================================
#quartz延迟启动秒数 #quartz延迟启动秒数
quartz.startupDelay=10 quartz.startupDelay=10
quartz.scheduler.instanceName=defaultScheduler quartz.scheduler.instanceName=defaultScheduler
quartz.scheduler.instanceId=AUTO quartz.scheduler.instanceId=AUTO
#============================================================== #==============================================================
#Configure JobStore isClustered=启用集群模式 #Configure JobStore isClustered=启用集群模式
#============================================================== #==============================================================
quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX
quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate
@@ -138,20 +135,10 @@ quartz.plugin.shutdownhook.cleanShutdown=true
#============================================================================ #============================================================================
quartz.dataSource.myDS.connectionProvider.class=io.v.nutz.task.conn.NutConnectionProvider quartz.dataSource.myDS.connectionProvider.class=io.v.nutz.task.conn.NutConnectionProvider
logback.exts.loglevel.cache.prefix=budwk5mini:logback:loglevel: logback.exts.loglevel.cache.prefix=budwk5mini:logback:loglevel:
#动态修改日志等级 #动态修改日志等级
logback.exts.loglevel.enabled=true logback.exts.loglevel.enabled=true
#心跳间隔(单位:秒) #心跳间隔(单位:秒)
logback.exts.loglevel.heartbeat=15 logback.exts.loglevel.heartbeat=15
wxpay.appId=\u5E94\u7528\u7F16\u53F7
wxpay.keyPath=key.pem
wxpay.certPath=cert.pem
wxpay.certP12Path=cert.p12
wxpay.platformCertPath=wx_cert.pem
wxpay.mchId=\u5FAE\u4FE1\u5546\u6237\u53F7
wxpay.apiKey3=Api-v3 \u5BC6\u94A5
wxpay.apiKey=Api \u5BC6\u94A5
wxpay.domain=https://ijpay.javen.com
@@ -121,9 +121,9 @@ layout("/layouts/platform.html"){
</el-radio-group> </el-radio-group>
<el-button type="primary" size="small" @click="openImport" v-if="${@shiro.hasRole('sysadmin')}">导入名单</el-button> <el-button type="primary" size="small" @click="openImport" v-if="${@shiro.hasRole('sysadmin')}">导入名单</el-button>
<el-button type="primary" size="small" @click="doExport">导出</el-button> <el-button type="primary" size="small" @click="doExport">导出</el-button>
<el-button :disabled="!pageForm.projectId" type="primary" size="small" @click="doAudit(true)">确认名单</el-button> <!--<el-button :disabled="!pageForm.projectId" type="primary" size="small" @click="doAudit(true)">确认名单</el-button>
<!-- 取消确认 --> &lt;!&ndash; 取消确认 &ndash;&gt;
<el-button :disabled="!pageForm.projectId" type="danger" size="small" @click="doAudit(false)">取消确认</el-button> <el-button :disabled="!pageForm.projectId" type="danger" size="small" @click="doAudit(false)">取消确认</el-button>-->
</template> </template>
</template> </template>
</table-tool> </table-tool>
@@ -120,7 +120,7 @@ layout("/layouts/platform.html"){
<!--# if(@shiro.hasRole('sysadmin')){ #--> <!--# if(@shiro.hasRole('sysadmin')){ #-->
<el-button @click="openView(scope.row)" size="mini" type="primary">查看报名</el-button> <el-button @click="openView(scope.row)" size="mini" type="primary">查看报名</el-button>
<!--# } #--> <!--# } #-->
<!--# if(@shiro.hasRole('H04')){ #--> <!--# if(@shiro.hasRole('H04') || @shiro.hasRole('gh12')){ #-->
<el-button @click="openImport(scope.row)" size="mini" type="primary">导入</el-button> <el-button @click="openImport(scope.row)" size="mini" type="primary">导入</el-button>
<el-button @click="openBm2(scope.row)" size="mini" type="primary">报名</el-button> <el-button @click="openBm2(scope.row)" size="mini" type="primary">报名</el-button>
<!--# } #--> <!--# } #-->
@@ -191,7 +191,7 @@ layout("/layouts/platform.html"){
</el-divider> </el-divider>
</div> </div>
<el-table :data="hasApplyUserTableData" width="100%" border style="max-height: 300px; overflow-y: auto" size="mini"> <el-table :data="hasApplyUserTableData" width="100%" border size="mini">
<el-table-column fixed align="center" header-align="center" label="工号" prop="loginname" width="120"></el-table-column> <el-table-column fixed align="center" header-align="center" label="工号" prop="loginname" width="120"></el-table-column>
<el-table-column fixed align="center" header-align="center" label="姓名" prop="username" width="100"></el-table-column> <el-table-column fixed align="center" header-align="center" label="姓名" prop="username" width="100"></el-table-column>
<el-table-column fixed align="center" header-align="center" label="单位" prop="unitname" width="120"></el-table-column> <el-table-column fixed align="center" header-align="center" label="单位" prop="unitname" width="120"></el-table-column>
@@ -690,6 +690,18 @@ display: -webkit-box;
this.$message.warning("请填写手机号!") this.$message.warning("请填写手机号!")
return return
} }
if (!array[i].zyhj) {
this.$message.warning("请填写疗休养员身份!")
return
}
if (!array[i].talent) {
this.$message.warning("请填写人才类型!")
return
}
if (!array[i].point) {
this.$message.warning("请填写出发乘车地点!")
return
}
} }
const confirm = await this.$confirm("是否提交,提交后表示基层工会审核通过!", "提示", { const confirm = await this.$confirm("是否提交,提交后表示基层工会审核通过!", "提示", {
confirmButtonText: "确定", confirmButtonText: "确定",
@@ -710,6 +722,8 @@ display: -webkit-box;
this.doSearch() this.doSearch()
this.$refs.guava.index() this.$refs.guava.index()
this.$message.success("提交成功") this.$message.success("提交成功")
} else {
this.$message.warning(res.msg)
} }
}) })
} }
@@ -726,6 +740,8 @@ display: -webkit-box;
this.doSearch() this.doSearch()
this.$refs.guava.index() this.$refs.guava.index()
this.$message.success("提交成功") this.$message.success("提交成功")
} else {
this.$message.warning(res.msg)
} }
}) })
} }