From 34d1adba36395b869a3e35ef9e7c5e3e4fd9d18d Mon Sep 17 00:00:00 2001 From: "@jyuhsin" <729757837@qq.com> Date: Wed, 17 Dec 2025 08:55:44 +0800 Subject: [PATCH] commit --- .../ghkh/controller/ExamConfigController.java | 1 - .../ghkh/controller/GhKhZpController.java | 39 ++-- .../ghkh/controller/GhkhGhzbController.java | 59 ++++-- .../ghkh/controller/GhkhKhphController.java | 25 ++- .../ghkh/controller/GhkhLssjcxController.java | 2 - .../ghkh/controller/GhkhXghshController.java | 123 +++++++----- .../ghkh/controller/GhkhXjkhzbController.java | 35 +++- .../zhgh/dayofficework/ghkh/model/Kh_bz.java | 4 +- .../dayofficework/ghkh/model/Kh_record.java | 12 +- .../dayofficework/ghkh/model/Kh_xghsh.java | 82 +------- .../zhgh/dayofficework/ghkh/model/Kh_zb.java | 2 +- .../zhgh/dayofficework/ghkh/model/Kh_zp.java | 90 ++------- .../zhgh/dayofficework/ghkh/model/kh_nr.java | 7 +- .../zhgh/dayofficework/ghkh/khph.html | 7 +- .../zhgh/dayofficework/ghkh/khzb.html | 4 +- .../zhgh/dayofficework/ghkh/xghsh.html | 177 +++++++++++------- .../platform/zhgh/dayofficework/ghkh/zp.html | 32 +++- 17 files changed, 364 insertions(+), 337 deletions(-) diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/controller/ExamConfigController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/controller/ExamConfigController.java index 2c6a548..d8d8936 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/controller/ExamConfigController.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/controller/ExamConfigController.java @@ -2,7 +2,6 @@ package com.budwk.app.zhgh.dayofficework.ghkh.controller; import cn.dev33.satoken.annotation.SaCheckLogin; import cn.dev33.satoken.annotation.SaCheckPermission; -import cn.dev33.satoken.annotation.SaMode; import com.budwk.app.base.annotation.SLog; import com.budwk.app.base.result.Result; import com.budwk.app.zhgh.dayofficework.ghkh.model.ExamConfig; diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/controller/GhKhZpController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/controller/GhKhZpController.java index 7122370..c22e7f2 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/controller/GhKhZpController.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/controller/GhKhZpController.java @@ -5,13 +5,11 @@ import cn.dev33.satoken.annotation.SaCheckPermission; import cn.hutool.core.date.DateUtil; import com.budwk.app.base.result.Result; import com.budwk.app.base.service.BaseService; -import com.budwk.app.sys.models.Sys_user; import com.budwk.app.web.commons.auth.utils.SecurityUtil; -import com.budwk.app.zhgh.dayofficework.ghkh.model.Kh_record; -import com.budwk.app.zhgh.dayofficework.ghkh.model.Kh_zb; -import com.budwk.app.zhgh.dayofficework.ghkh.model.Kh_zp; +import com.budwk.app.zhgh.dayofficework.ghkh.model.*; import com.budwk.app.zhgh.dayofficework.ghkh.service.KhZbService; import com.budwk.app.zhgh.dayofficework.ghkh.service.KhzpService; +import com.google.common.util.concurrent.AtomicDouble; import org.nutz.dao.Cnd; import org.nutz.dao.Sqls; import org.nutz.dao.sql.Sql; @@ -26,7 +24,6 @@ import org.nutz.mvc.annotation.POST; import org.nutz.mvc.annotation.Param; import java.util.List; -import java.util.concurrent.atomic.AtomicInteger; /** * Created with IntelliJ IDEA. @@ -85,7 +82,7 @@ public class GhKhZpController { if (zp.length == 0) { return null; } - int score = 0; + double score = 0; for (Kh_zp kh_zp : zp) { kh_zp.setFlatid(SecurityUtil.getUnionId()); khzpService.dao().insertOrUpdate(kh_zp); @@ -99,7 +96,7 @@ public class GhKhZpController { record.setZb_id(zp[0].getZb_id()); record.setUnion_id(SecurityUtil.getUnionId()); record.setZp_score(score); - record.setXgh_score(0); + record.setXgh_score((double) 0); record.setState("submit".equals(handletype) ? 2 : 1); record.setFillTime(DateUtil.now()); } else { @@ -118,14 +115,20 @@ public class GhKhZpController { public Result openView(String id) { Kh_zb khzb = khZbService.khzb(id); List list = khzpService.query(Cnd.where("zb_id", "=", id).and("flatid", "=", SecurityUtil.getUnionId())); - khzb.getNrs().forEach(nr -> { - nr.getBzs().forEach(bz -> { - Kh_zp zp = list.stream().filter(v -> v.getBz_id().equals(bz.getId())).findFirst().orElse(null); - if (zp != null) { - bz.setZp(zp); - } - }); - }); + for (kh_nr nr : khzb.getNrs()) { + for (Kh_bz bz : nr.getBzs()) { + Kh_zp zp = list.stream().filter(v -> v.getBz_id().equals(bz.getId())).findFirst().orElse(null); + if (zp != null) { + bz.setZp(zp); + } + Kh_xghsh xghsh = khZbService.dao().fetch(Kh_xghsh.class, Cnd.where("zb_id", "=", id).and("bz_id", "=", bz.getId()) + .and("flatid", "=", SecurityUtil.getUnionId())); + if(xghsh != null) { + bz.setSchools(xghsh.getSchools()); + bz.setAddition(xghsh.getAddition()); + } + } + } NutMap nutMap = Lang.obj2nutmap(khzb); Kh_record record = khZbService.dao().fetch(Kh_record.class, Cnd.where("zb_id", "=", id).and("union_id", "=", SecurityUtil.getUnionId())); if(record != null) { @@ -143,7 +146,7 @@ public class GhKhZpController { throw new RuntimeException("缺少record信息"); } - AtomicInteger score = new AtomicInteger(); + AtomicDouble score = new AtomicDouble(); zb.getNrs().forEach(nr -> { nr.getBzs().forEach(bz -> { @@ -170,7 +173,7 @@ public class GhKhZpController { public Result subXgh(@Param(value = "zb") Kh_zb zb) { Kh_record record = baseService.dao().fetch(Kh_record.class, Cnd.where("zb_id", "=", zb.getId()).and("union_id", "=", SecurityUtil.getUnionId())); - AtomicInteger score = new AtomicInteger(); + AtomicDouble score = new AtomicDouble(); zb.getNrs().forEach(nr -> { @@ -187,7 +190,7 @@ public class GhKhZpController { record.setZb_id(zb.getId()); record.setUnion_id(SecurityUtil.getUnionId()); record.setZp_score(score.get()); - record.setXgh_score(0); + record.setXgh_score((double) 0); record.setState(2); baseService.dao().insert(record); return Result.success(); diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/controller/GhkhGhzbController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/controller/GhkhGhzbController.java index da5a666..f532787 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/controller/GhkhGhzbController.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/controller/GhkhGhzbController.java @@ -2,8 +2,10 @@ package com.budwk.app.zhgh.dayofficework.ghkh.controller; import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.hutool.core.util.StrUtil; import com.budwk.app.base.param.PageForm; import com.budwk.app.base.result.Result; +import com.budwk.app.zhgh.dayofficework.ghkh.model.Kh_bz; import com.budwk.app.zhgh.dayofficework.ghkh.model.Kh_zb; import com.budwk.app.zhgh.dayofficework.ghkh.model.kh_nr; import com.budwk.app.zhgh.dayofficework.ghkh.service.KhBzService; @@ -16,6 +18,7 @@ import org.nutz.dao.sql.Sql; import org.nutz.ioc.aop.Aop; import org.nutz.ioc.loader.annotation.Inject; import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.lang.Lang; import org.nutz.lang.Strings; import org.nutz.mvc.annotation.At; import org.nutz.mvc.annotation.Ok; @@ -23,6 +26,8 @@ import org.nutz.mvc.annotation.POST; import org.nutz.mvc.annotation.Param; import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; /** * Created with IntelliJ IDEA. @@ -101,21 +106,53 @@ public class GhkhGhzbController { @SaCheckPermission("ghkh.khzb") @Aop(TransAop.READ_COMMITTED) public Result doEdit(@Param(value = "kh_zb") Kh_zb kh_zb, @Param(value = "type") String type) { - khZbService.updateIgnoreNull(kh_zb); + // 查出数据库里面的考核内容和标准,找出需要删除的 + List nrList = khNrService.query(Cnd.where(kh_nr::getZb_id, "=", kh_zb.getId())); + // 查出考核内容(那个傻逼写的,他妈的zb_id都他妈的不存,真的是人才嘞,我踏马还要去根据nrList里面的主键Id去查询) + Set nrIdList = nrList.stream().map(kh_nr::getId).collect(Collectors.toSet()); + List bzList = khBzService.query(Cnd.where(Kh_bz::getNr_id, "in", nrIdList)); - List query = khNrService.query(Cnd.where("zb_id", "=", kh_zb.getId())); + // 构建考核内容 + List nrs = kh_zb.getNrs().stream().peek(v -> v.setZb_id(kh_zb.getId())).toList(); + List webNrIdList = nrs.stream().map(kh_nr::getId).toList(); - for (kh_nr kh_nr : query) { - System.err.println(kh_nr.getZb_id()); - khBzService.clear(Cnd.where("nr_id", "=", kh_nr.getId())); - } + // 构建考核标准 + List bzs = nrs.stream() + .map(v -> { + return v.getBzs().stream().peek(bz -> { + bz.setNr_id(v.getId()); + bz.setZb_id(kh_zb.getId()); + }).toList(); + }).flatMap(List::stream).toList(); + List webBzIdList = bzs.stream().map(Kh_bz::getId).toList(); - khNrService.clear(Cnd.where("zb_id", "=", kh_zb.getId())); - for (kh_nr nr : kh_zb.getNrs()) { - nr.setZb_id(kh_zb.getId()); - khNrService.insertWith(nr, "bzs"); - } + // 找不同,找出需要删除的内容和标准 + List deleteNrs = nrList.stream().filter(v -> !webNrIdList.contains(v.getId())).toList(); + List deleteBzs = bzList.stream().filter(v -> !webBzIdList.contains(v.getId())).toList(); + + // 找出bzs和nrs中Id是null的 + List insertNrList = nrs.stream().filter(v -> StrUtil.isBlank(v.getId())).toList(); + List insertBzList = bzs.stream().filter(v -> StrUtil.isBlank(v.getId())).toList(); + + // 新增数据 + khBzService.insert(insertBzList); + khNrService.insert(insertNrList); + + // 删除数据 + if (Lang.isNotEmpty(deleteNrs)) { + khNrService.delete(deleteNrs.stream().map(kh_nr::getId).toList()); + } + if (Lang.isNotEmpty(deleteBzs)) { + khBzService.delete(deleteBzs.stream().map(Kh_bz::getId).toList()); + } + + // 修改考核指标 + khZbService.updateIgnoreNull(kh_zb); + // 新增或修改考核内容 + khNrService.updateIgnoreNull(nrs); + // 新增或修改考核标准 + khBzService.updateIgnoreNull(bzs); return Result.success(); } diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/controller/GhkhKhphController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/controller/GhkhKhphController.java index e083f8f..ba4349f 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/controller/GhkhKhphController.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/controller/GhkhKhphController.java @@ -7,17 +7,17 @@ import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity; import cn.dev33.satoken.annotation.SaCheckLogin; import cn.dev33.satoken.annotation.SaCheckPermission; +import com.budwk.app.base.constant.RoleConstant; import com.budwk.app.base.result.Result; import com.budwk.app.base.utils.CommonDownloadUtil; +import com.budwk.app.web.commons.auth.utils.AuthUtil; +import com.budwk.app.web.commons.auth.utils.SecurityUtil; import com.budwk.app.zhgh.dayofficework.ghkh.model.ExamConfig; import com.budwk.app.zhgh.dayofficework.ghkh.model.Kh_record; -import com.budwk.app.zhgh.dayofficework.ghkh.model.Kh_zb; import com.budwk.app.zhgh.dayofficework.ghkh.service.KhXghshService; import com.budwk.app.zhgh.dayofficework.ghkh.service.KhZbService; -import io.swagger.models.auth.In; import org.apache.poi.ss.usermodel.Workbook; import org.nutz.dao.Cnd; -import org.nutz.dao.Dao; import org.nutz.dao.Sqls; import org.nutz.dao.sql.Sql; import org.nutz.ioc.loader.annotation.Inject; @@ -28,6 +28,8 @@ import org.nutz.mvc.annotation.Ok; import org.nutz.mvc.annotation.Param; import javax.servlet.http.HttpServletResponse; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.ArrayList; import java.util.List; @@ -66,6 +68,10 @@ public class GhkhKhphController { $condition """); Cnd cnd = Cnd.NEW(); + boolean isAdmin = AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.SCHOOL_UNION_ADMIN.name()); + if(!isAdmin) { + cnd.and("re.union_id", "=", SecurityUtil.getUnionId()); + } cnd.and("re.zb_id ", "=", khid); cnd.and("re.state", "=", 3); cnd.andEX("zb.`annual`","=",annual); @@ -83,16 +89,17 @@ public class GhkhKhphController { @At @SaCheckLogin - public Result doEditScore(String id, Integer score, String khId) { + public Result doEditScore(String id, Double score, String khId) { Kh_record record = khZbService.dao().fetch(Kh_record.class, id); ExamConfig config = khZbService.dao().fetch(ExamConfig.class, Cnd.NEW()); record.setOffLineScore(score); if(config.getOffLine() != null) { record.setOffLineFinalScore(score * config.getOffLine() * 0.01); } else { - record.setOffLineFinalScore(Double.valueOf(score)); + record.setOffLineFinalScore(score); } - record.setTotalScore(record.getOnLineFinalScore() + record.getOffLineFinalScore()); + BigDecimal bd = BigDecimal.valueOf(record.getOffLineFinalScore()).setScale(2, RoundingMode.HALF_UP); + record.setTotalScore(record.getOnLineFinalScore() + bd.doubleValue()); khZbService.dao().update(record); List list = khZbService.dao().query(Kh_record.class, Cnd.where("zb_id", "=", khId).desc("totalScore")); @@ -113,6 +120,10 @@ public class GhkhKhphController { $condition """); Cnd cnd = Cnd.NEW(); + boolean isAdmin = AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.SCHOOL_UNION_ADMIN.name()); + if(!isAdmin) { + cnd.and("re.union_id", "=", SecurityUtil.getUnionId()); + } cnd.and("re.zb_id ", "=", khid); cnd.and("re.state", "=", 3); cnd.andEX("zb.`annual`","=",annual); @@ -130,7 +141,7 @@ public class GhkhKhphController { List exportEntities = new ArrayList<>(); exportEntities.add(new ExcelExportEntity("序号", "index", 10)); exportEntities.add(new ExcelExportEntity("年度", "annual", 10)); - exportEntities.add(new ExcelExportEntity("分工会名称", "unionname", 30)); + exportEntities.add(new ExcelExportEntity("分工会名称", "unionName", 30)); exportEntities.add(new ExcelExportEntity("线上得分", "xgh_score", 20)); exportEntities.add(new ExcelExportEntity("线上最终得分" + (config.getOnLine() != null ? "(" + config.getOnLine() + "%)" : ""), "onLineFinalScore", 20)); exportEntities.add(new ExcelExportEntity("线下得分", "offLineScore", 20)); diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/controller/GhkhLssjcxController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/controller/GhkhLssjcxController.java index c0ba843..b50193a 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/controller/GhkhLssjcxController.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/controller/GhkhLssjcxController.java @@ -6,7 +6,6 @@ import com.budwk.app.base.constant.RoleConstant; import com.budwk.app.base.result.Result; import com.budwk.app.web.commons.auth.utils.AuthUtil; import com.budwk.app.web.commons.auth.utils.SecurityUtil; -import com.budwk.app.zhgh.dayofficework.ghkh.model.Kh_record; import com.budwk.app.zhgh.dayofficework.ghkh.model.Kh_xghsh; import com.budwk.app.zhgh.dayofficework.ghkh.model.Kh_zb; import com.budwk.app.zhgh.dayofficework.ghkh.model.Kh_zp; @@ -16,7 +15,6 @@ import com.budwk.app.zhgh.dayofficework.ghkh.service.KhzpService; import org.nutz.dao.Cnd; import org.nutz.dao.Sqls; import org.nutz.dao.sql.Sql; -import org.nutz.dao.util.cri.Static; import org.nutz.ioc.loader.annotation.Inject; import org.nutz.ioc.loader.annotation.IocBean; import org.nutz.lang.util.NutMap; diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/controller/GhkhXghshController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/controller/GhkhXghshController.java index 6730299..e1ac0e4 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/controller/GhkhXghshController.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/controller/GhkhXghshController.java @@ -4,7 +4,7 @@ package com.budwk.app.zhgh.dayofficework.ghkh.controller; import cn.dev33.satoken.annotation.SaCheckPermission; import com.budwk.app.base.result.Result; import com.budwk.app.base.service.BaseService; -import com.budwk.app.sys.models.Sys_user; +import com.budwk.app.web.commons.auth.utils.SecurityUtil; import com.budwk.app.zhgh.dayofficework.ghkh.model.*; import com.budwk.app.zhgh.dayofficework.ghkh.service.KhXghshService; import com.budwk.app.zhgh.dayofficework.ghkh.service.KhZbService; @@ -12,15 +12,17 @@ import com.budwk.app.zhgh.dayofficework.ghkh.service.KhzpService; import org.nutz.dao.Cnd; import org.nutz.dao.Sqls; import org.nutz.dao.sql.Sql; -import org.nutz.dao.util.DaoUp; import org.nutz.ioc.loader.annotation.Inject; import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.lang.Lang; import org.nutz.lang.Strings; import org.nutz.mvc.annotation.At; import org.nutz.mvc.annotation.Ok; import org.nutz.mvc.annotation.POST; import org.nutz.mvc.annotation.Param; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.List; /** @@ -50,25 +52,26 @@ public class GhkhXghshController { @Param(value = "unionid") String unionid, int pageNumber, int pageSize, @Param(value = "pageOrderName") String pageOrderName, @Param(value = "pageOrderBy") String pageOrderBy) { - Sql sql = Sqls.create(""" - SELECT - zb.assessment, - zb.annual, - un.unionName, - un.unionCode,( - SELECT - sum( score ) - FROM - kh_bz - WHERE - nr_id IN ( SELECT id FROM kh_nr WHERE zb_id = zb.id )) bzf, - re.* - FROM - kh_record re - LEFT JOIN kh_zb zb ON re.zb_id = zb.id - LEFT JOIN `vw_user` un ON re.union_id = un.unionId - $condition - """); + Sql sql = Sqls.create(""" + SELECT + zb.assessment, + zb.annual, + un.unionName, + un.unionCode,( + SELECT + sum( score ) + FROM + kh_bz + WHERE + nr_id IN ( SELECT id FROM kh_nr WHERE zb_id = zb.id )) bzf, + re.*, + (select ifnull(sum(schools), 0) from kh_xghsh where flatid = re.union_id and nr_id in (select id from kh_nr where zb_id = re.zb_id and auditUser = @loginName)) as self_score + FROM + kh_record re + LEFT JOIN kh_zb zb ON re.zb_id = zb.id + LEFT JOIN `vw_user` un ON re.union_id = un.unionId + $condition + """).setParam("loginName", SecurityUtil.getUserLoginname()); Cnd cnd = Cnd.NEW(); /*cnd.and("re.state", "=", 2);*/ cnd.and("zb.disabled", "=", true); @@ -132,38 +135,64 @@ public class GhkhXghshController { return null; } - int score = 0; + // 查询当前用户能够审核的指标 + List nrList = khzpService.dao().query(kh_nr.class, Cnd.where("zb_id", "=", pf[0].getZb_id()).and("auditUser", "=", SecurityUtil.getUserLoginname())); + if(Lang.isEmpty(nrList)) { + return Result.success(); + } + List contentIds = nrList.stream().map(kh_nr::getId).toList(); -// Sys_user sys_user = (Sys_user) ShiroUtil.getPrincipal(); - khXghshService.dao().clear(Kh_xghsh.class, Cnd.where("zb_id", "=", pf[0].getZb_id()).and("flatid", "=", pf[0].getFlatid())); - for (Kh_xghsh p : pf) { - khzpService.dao().insert(p); - score += p.getSchools() != null ? p.getSchools() : 0; - } - - Kh_record record = baseService.dao().fetch(Kh_record.class, Cnd.where("zb_id", "=", pf[0].getZb_id()).and("union_id", "=", pf[0].getFlatid())); - - if (record != null) { - record.setXgh_score(score); - ExamConfig config = baseService.dao().fetch(ExamConfig.class, Cnd.NEW()); - if(config.getOnLine() != null) { - record.setOnLineFinalScore(score * config.getOnLine() * 0.01); - } else { - record.setOnLineFinalScore((double) score); - } - record.setTotalScore(record.getOnLineFinalScore()); - if("submit".equals(type)) { - record.setState(3); + khXghshService.dao().clear(Kh_xghsh.class, Cnd.where("zb_id", "=", pf[0].getZb_id()).and("flatid", "=", pf[0].getFlatid()).and("nr_id", "in", contentIds)); + double score = 0D; + for (Kh_xghsh p : pf) { + if(contentIds.contains(p.getNr_id())) { + khzpService.dao().insert(p); } - baseService.dao().update(record); + score += p.getSchools() != null ? p.getSchools() : 0; } - List list = khZbService.dao().query(Kh_record.class, Cnd.where("zb_id", "=", pf[0].getZb_id()).desc("totalScore")); - for (int i = 0; i < list.size(); i++) { - list.get(i).setSort(i + 1); + Kh_record record = baseService.dao().fetch(Kh_record.class, Cnd.where("zb_id", "=", pf[0].getZb_id()).and("union_id", "=", pf[0].getFlatid())); + if (record != null && "submit".equals(type)) { + record.setXgh_score(score); + baseService.dao().update(record); } - khZbService.dao().update(list); return Result.success(); } + @At + @POST + @SaCheckPermission("ghkh.xghsh") + public Result submit(String id) { + Kh_record record = khZbService.dao().fetch(Kh_record.class, id); + + if (record != null) { + + List schoolAuditList = khZbService.dao().query(Kh_xghsh.class, Cnd.where("zb_id", "=", record.getZb_id()).and("flatid", "=", record.getUnion_id())); + + Double score = 0D; + for (Kh_xghsh xghsh : schoolAuditList) { + score += xghsh.getSchools(); + } + + record.setXgh_score(score); + ExamConfig config = baseService.dao().fetch(ExamConfig.class, Cnd.NEW()); + + if(config.getOnLine() != null) { + record.setOnLineFinalScore(score * config.getOnLine() * 0.01); + } else { + record.setOnLineFinalScore(score); + } + BigDecimal bd = BigDecimal.valueOf(record.getOnLineFinalScore()).setScale(2, RoundingMode.HALF_UP); + record.setTotalScore(bd.doubleValue()); + record.setState(3); + baseService.dao().update(record); + + List list = khZbService.dao().query(Kh_record.class, Cnd.where("zb_id", "=", record.getZb_id()).desc("totalScore")); + for (int i = 0; i < list.size(); i++) { + list.get(i).setSort(i + 1); + } + khZbService.dao().update(list); + } + return Result.success(); + } } diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/controller/GhkhXjkhzbController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/controller/GhkhXjkhzbController.java index 8b56059..7de55ed 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/controller/GhkhXjkhzbController.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/controller/GhkhXjkhzbController.java @@ -1,6 +1,7 @@ package com.budwk.app.zhgh.dayofficework.ghkh.controller; +import cn.dev33.satoken.annotation.SaCheckLogin; import cn.dev33.satoken.annotation.SaCheckPermission; import com.budwk.app.base.result.Result; import com.budwk.app.web.commons.auth.utils.SecurityUtil; @@ -9,14 +10,19 @@ import com.budwk.app.zhgh.dayofficework.ghkh.model.kh_nr; import com.budwk.app.zhgh.dayofficework.ghkh.service.KhBzService; import com.budwk.app.zhgh.dayofficework.ghkh.service.KhNrService; import com.budwk.app.zhgh.dayofficework.ghkh.service.KhZbService; +import org.nutz.dao.Cnd; +import org.nutz.dao.Sqls; +import org.nutz.dao.sql.Sql; +import org.nutz.dao.util.cri.SqlExpressionGroup; import org.nutz.ioc.loader.annotation.Inject; import org.nutz.ioc.loader.annotation.IocBean; import org.nutz.mvc.annotation.At; import org.nutz.mvc.annotation.Ok; import org.nutz.mvc.annotation.POST; import org.nutz.mvc.annotation.Param; -import java.time.LocalDateTime; +import javax.validation.Valid; +import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; /** @@ -64,6 +70,31 @@ public class GhkhXjkhzbController { @At public Result getZbList() { return Result.success(khZbService.query()); - } + + @At + @SaCheckLogin + public Result getUserByKeyWord(@Valid String keyWord) { + Sql sql = Sqls.create(""" + SELECT + t1.id, + t1.username AS userName, + t1.loginName AS loginName, + t2.NAME AS unitName, + t1.mobile, + t1.email + FROM + `sys_user` t1 + LEFT JOIN sys_unit t2 ON t2.id = t1.unitId + $condition + limit 0, 50 + """); + sql.setParam("keyWord", "%" + keyWord + "%"); + Cnd cnd = Cnd.NEW(); + SqlExpressionGroup group = new SqlExpressionGroup(); + group.orLike("t1.username", keyWord).orLike("t1.loginname", keyWord); + cnd.and(group); + sql.setCondition(cnd); + return Result.success(khZbService.listMap(sql)); + } } diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/model/Kh_bz.java b/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/model/Kh_bz.java index 485d1c5..5d418ee 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/model/Kh_bz.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/model/Kh_bz.java @@ -1,9 +1,9 @@ package com.budwk.app.zhgh.dayofficework.ghkh.model; +import com.budwk.app.base.model.BaseModel; import lombok.Data; import org.nutz.dao.DB; import org.nutz.dao.entity.annotation.*; -import com.budwk.app.base.model.BaseModel; /** @@ -96,6 +96,6 @@ public class Kh_bz extends BaseModel { private Kh_zp zp; private Kh_xghsh sh; - private Integer schools; + private Double schools; private String addition; } diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/model/Kh_record.java b/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/model/Kh_record.java index 8f3e3be..3bee19a 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/model/Kh_record.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/model/Kh_record.java @@ -38,14 +38,14 @@ public class Kh_record { @Column @Comment("自评得分") - @ColDefine(type = ColType.INT, width = 4) - private Integer zp_score; + @ColDefine(type = ColType.DOUBLE, width = 4) + private Double zp_score; @Column @Comment("校工会评分") - @ColDefine(type = ColType.INT, width = 4) + @ColDefine(type = ColType.DOUBLE, width = 4) @Default(value = "0") - private Integer xgh_score; + private Double xgh_score; @Column @Comment("线上最终得分") @@ -60,9 +60,9 @@ public class Kh_record { @Column @Comment("线下得分") - @ColDefine(type = ColType.INT, width = 4) + @ColDefine(type = ColType.DOUBLE, width = 4) @Default(value = "0") - private Integer offLineScore; + private Double offLineScore; @Column @Comment("线下最终得分") diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/model/Kh_xghsh.java b/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/model/Kh_xghsh.java index fe4df17..bd46dc6 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/model/Kh_xghsh.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/model/Kh_xghsh.java @@ -1,8 +1,9 @@ package com.budwk.app.zhgh.dayofficework.ghkh.model; +import com.budwk.app.base.model.BaseModel; +import lombok.Data; import org.nutz.dao.DB; import org.nutz.dao.entity.annotation.*; -import com.budwk.app.base.model.BaseModel; /** @@ -12,6 +13,7 @@ import com.budwk.app.base.model.BaseModel; * @Date: 2020/09/25/11:59 * @Description:校工会审核 */ +@Data @Table("Kh_xghsh") public class Kh_xghsh extends BaseModel { @@ -25,9 +27,9 @@ public class Kh_xghsh extends BaseModel { @Column @Comment("校工会评分") - @ColDefine(type = ColType.INT, width = 4) + @ColDefine(type = ColType.DOUBLE, width = 4) @Default("0") - private Integer schools; + private Double schools; @Column @Comment("加、减原因") @@ -61,78 +63,4 @@ public class Kh_xghsh extends BaseModel { @SQL(db = DB.MYSQL, value = "SELECT IFNULL(MAX(location),0)+1 FROM Kh_xghsh"), }) private Integer location; - - public String getZb_id() { - return zb_id; - } - - public void setZb_id(String zb_id) { - this.zb_id = zb_id; - } - - public String getNr_id() { - return nr_id; - } - - public void setNr_id(String nr_id) { - this.nr_id = nr_id; - } - - public Integer getLocation() { - return location; - } - - public void setLocation(Integer location) { - this.location = location; - } - - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public Integer getSchools() { - return schools; - } - - public void setSchools(Integer schools) { - this.schools = schools; - } - - public String getAddition() { - return addition; - } - - public void setAddition(String addition) { - this.addition = addition; - } - - - public String getFlatid() { - return flatid; - } - - public void setFlatid(String flatid) { - this.flatid = flatid; - } - - public String getBz_id() { - return bz_id; - } - - public void setBz_id(String bz_id) { - this.bz_id = bz_id; - } - - public Kh_bz getBz() { - return bz; - } - - public void setBz(Kh_bz bz) { - this.bz = bz; - } } diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/model/Kh_zb.java b/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/model/Kh_zb.java index 86948f1..39710eb 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/model/Kh_zb.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/model/Kh_zb.java @@ -1,10 +1,10 @@ package com.budwk.app.zhgh.dayofficework.ghkh.model; +import com.budwk.app.base.model.BaseModel; import lombok.Data; import lombok.EqualsAndHashCode; import org.nutz.dao.DB; import org.nutz.dao.entity.annotation.*; -import com.budwk.app.base.model.BaseModel; import javax.validation.constraints.NotNull; import java.util.Date; diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/model/Kh_zp.java b/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/model/Kh_zp.java index f7a91c6..e9bb525 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/model/Kh_zp.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/model/Kh_zp.java @@ -1,10 +1,11 @@ package com.budwk.app.zhgh.dayofficework.ghkh.model; +import lombok.Data; import org.nutz.dao.DB; import org.nutz.dao.entity.annotation.*; +import org.nutz.lang.util.NutMap; import java.util.List; -import java.util.Map; /** * Created with IntelliJ IDEA. @@ -13,10 +14,10 @@ import java.util.Map; * @Date: 2020/09/27/20:13 * @Description: */ +@Data @Table("Kh_zp") public class Kh_zp { - @Column @Name @Comment("id") @@ -28,10 +29,12 @@ public class Kh_zp { @Comment("标准id") @ColDefine(type = ColType.VARCHAR, width = 32) private String bz_id; + @Column @Comment("指标id") @ColDefine(type = ColType.VARCHAR, width = 32) private String zb_id; + @Column @Comment("内容id") @ColDefine(type = ColType.VARCHAR, width = 32) @@ -52,92 +55,21 @@ public class Kh_zp { @ColDefine(type = ColType.VARCHAR, width = 32) private String flatid; - - @Column @Comment("文件") @ColDefine(type = ColType.MYSQL_JSON) - private List files; - + private List files; @Column @Comment("排序字段") @Prev({ @SQL(db = DB.MYSQL, value = "SELECT IFNULL(MAX(location),0)+1 FROM Kh_zp"), }) - private Integer location; - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getBz_id() { - return bz_id; - } - - public void setBz_id(String bz_id) { - this.bz_id = bz_id; - } - - public String getZb_id() { - return zb_id; - } - - public void setZb_id(String zb_id) { - this.zb_id = zb_id; - } - - public String getNr_id() { - return nr_id; - } - - public void setNr_id(String nr_id) { - this.nr_id = nr_id; - } - - public String getClnr() { - return clnr; - } - - public void setClnr(String clnr) { - this.clnr = clnr; - } - - public Integer getZpf() { - return zpf; - } - - public void setZpf(Integer zpf) { - this.zpf = zpf; - } - - public String getFlatid() { - return flatid; - } - - public void setFlatid(String flatid) { - this.flatid = flatid; - } - - - public List getFiles() { - return files; - } - - public void setFiles(List files) { - this.files = files; - } - - public Integer getLocation() { - return location; - } - - public void setLocation(Integer location) { - this.location = location; - } + @Column + @Comment("是否修改,默认为false") + @ColDefine(type = ColType.BOOLEAN) + @Default("0") + private Boolean updateStatus; } diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/model/kh_nr.java b/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/model/kh_nr.java index 9d7744f..3a7098e 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/model/kh_nr.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/ghkh/model/kh_nr.java @@ -1,9 +1,9 @@ package com.budwk.app.zhgh.dayofficework.ghkh.model; +import com.budwk.app.base.model.BaseModel; import lombok.Data; import org.nutz.dao.DB; import org.nutz.dao.entity.annotation.*; -import com.budwk.app.base.model.BaseModel; import java.util.List; @@ -54,5 +54,8 @@ public class kh_nr extends BaseModel { }) private Integer location; - + @Column + @Comment("审核人") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String auditUser; } diff --git a/src/main/resources/views/platform/zhgh/dayofficework/ghkh/khph.html b/src/main/resources/views/platform/zhgh/dayofficework/ghkh/khph.html index f405837..e98c34f 100644 --- a/src/main/resources/views/platform/zhgh/dayofficework/ghkh/khph.html +++ b/src/main/resources/views/platform/zhgh/dayofficework/ghkh/khph.html @@ -40,7 +40,7 @@ layout("/layouts/platform.html"){ - -