commit
This commit is contained in:
@@ -0,0 +1,185 @@
|
||||
package io.v.nutz.wakershome.controller.data;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.wizzer.framework.page.Pagination;
|
||||
import io.v.nutz.annontation.ViReturn;
|
||||
import io.v.nutz.base.result.Result;
|
||||
import io.v.nutz.base.utils.Roles;
|
||||
import io.v.nutz.modules.models.PageForm;
|
||||
import io.v.nutz.sys.models.Sys_file;
|
||||
import io.v.nutz.sys.models.Sys_user_role;
|
||||
import io.v.nutz.sys.models.User;
|
||||
import io.v.nutz.wakershome.model.WakesHomeDataRevel;
|
||||
import io.v.nutz.wakershome.service.WakesHomeInfoService;
|
||||
import io.v.nutz.web.commons.utils.ShiroUtil;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Criteria;
|
||||
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.random.R;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @version 1.0
|
||||
* @Author zzr
|
||||
* @name:WakesHomeDataRevelController
|
||||
* @Date 2024/7/30 15:48
|
||||
* @注释 职工建家资料管理
|
||||
*/
|
||||
@IocBean
|
||||
@Ok("json:full")
|
||||
@At("/platform/wakeshome/data/revel")
|
||||
public class WakesHomeDataRevelController {
|
||||
|
||||
@Inject
|
||||
private Dao dao;
|
||||
|
||||
@Inject
|
||||
private WakesHomeInfoService wakesHomeInfoService;
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/wakeshome/data/revel.html")
|
||||
@RequiresPermissions("wakeshome.data.revel")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("wakeshome.data.revel")
|
||||
public Object getTreeData(@Param(value = "year", required = false) String year,
|
||||
@Param(value = "revelName", required = false) String revelName,
|
||||
@Param(value = "typeId", required = false) String typeId) {
|
||||
NutMap nutMap = NutMap.NEW();
|
||||
nutMap.setv("unionname", "工会委员会");
|
||||
Sql sql = Sqls.create("""
|
||||
select
|
||||
un.*,
|
||||
(select count(*) from wakes_home_data_revel whdr where whdr.unionId = un.id $revelCount) as revelCount
|
||||
from
|
||||
sys_union un
|
||||
$condition
|
||||
""");
|
||||
Criteria criteria = Cnd.cri();
|
||||
criteria.where().setTop(false);
|
||||
if (StringUtils.isNotBlank(year)) {
|
||||
criteria.where().and("year(whdr.time)", "=", year);
|
||||
}
|
||||
if (StringUtils.isNotBlank(revelName)) {
|
||||
criteria.where().and(Cnd.likeEX("whdr.revelName", revelName));
|
||||
}
|
||||
if (StringUtils.isNotBlank(typeId)) {
|
||||
criteria.where().and("whdr.typeId", "=", typeId);
|
||||
}
|
||||
if (!criteria.where().isEmpty()) {
|
||||
sql.vars().set("revelCount", "and " + criteria.toSql(null));
|
||||
}
|
||||
|
||||
Cnd cnd = Cnd.NEW();
|
||||
if (!ShiroUtil.hasAnyRoles("sysadmin,A06")) {
|
||||
List<Sys_user_role> data = dao.query(Sys_user_role.class, Cnd.where("userId", "=", ShiroUtil.getUserId()).and("roleId", "=", Roles.UNION_MANGER));
|
||||
List<String> unionIds = data.stream().map(Sys_user_role::getUnionid).distinct().collect(Collectors.toList());
|
||||
cnd.and("un.id", "in", unionIds);
|
||||
}
|
||||
cnd.and("un.isEnable","=",true);
|
||||
cnd.asc("un.unioncode");
|
||||
sql.setCondition(cnd);
|
||||
nutMap.setv("child", wakesHomeInfoService.listMap(sql));
|
||||
return List.of(nutMap);
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@RequiresPermissions("wakeshome.data.revel")
|
||||
public Object pageData(PageForm pageForm,
|
||||
@Param(value = "year", required = false) String year,
|
||||
@Param(value = "revelName", required = false) String revelName,
|
||||
@Param(value = "typeId", required = false) String typeId,
|
||||
@Param(value = "unionId", required = false) String unionId) {
|
||||
try {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
whdr.*,
|
||||
whdt.typeName
|
||||
FROM
|
||||
wakes_home_data_revel whdr
|
||||
LEFT JOIN wakes_home_data_type whdt ON whdr.typeId = whdt.id
|
||||
$condition
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.andEX("year(whdr.time)", "=", year);
|
||||
if (StrUtil.isNotBlank(revelName)) {
|
||||
cnd.and(Cnd.likeEX("whdr.revelName", revelName));
|
||||
}
|
||||
cnd.andEX("whdr.typeId", "=", typeId);
|
||||
cnd.andEX("whdr.unionId", "=", unionId);
|
||||
cnd.desc("whdr.time");
|
||||
sql.setCondition(cnd);
|
||||
Pagination pagination = wakesHomeInfoService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
return Result.success(pagination);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return Result.error();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
// @RequiresPermissions("wakeshome.data.revel")
|
||||
public Object doAdd(WakesHomeDataRevel wakesHomeDataRevel) {
|
||||
User user = dao.fetch(User.class, Cnd.where("id", "=", ShiroUtil.getUserId()));
|
||||
wakesHomeDataRevel.setId(R.UU32());
|
||||
wakesHomeDataRevel.setUserId(user.getId());
|
||||
wakesHomeDataRevel.setUsername(user.getUsername());
|
||||
wakesHomeDataRevel.setLoginName(user.getLoginname());
|
||||
wakesHomeDataRevel.setUnitId(user.getUnitid());
|
||||
wakesHomeDataRevel.setUnitName(user.getUnitname());
|
||||
wakesHomeDataRevel.setUnionId(user.getUnionid());
|
||||
wakesHomeDataRevel.setUnionName(user.getUnionname());
|
||||
wakesHomeDataRevel.setTime(DateUtil.now());
|
||||
dao.fastInsert(wakesHomeDataRevel);
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
// @RequiresPermissions("wakeshome.data.revel")
|
||||
public Object doEdit(WakesHomeDataRevel wakesHomeDataRevel) {
|
||||
dao.update(wakesHomeDataRevel);
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
// @RequiresPermissions("wakeshome.data.revel")
|
||||
public Object doDelete(String id) {
|
||||
WakesHomeDataRevel revel = dao.fetch(WakesHomeDataRevel.class, id);
|
||||
if (revel != null) {
|
||||
if (revel.getFiles() != null && !revel.getFiles().isEmpty()) {
|
||||
Set<String> fileIds = revel.getFiles().stream().map(Sys_file::getId).collect(Collectors.toSet());
|
||||
dao.clear(Sys_file.class, Cnd.where("id", "in", fileIds));
|
||||
}
|
||||
dao.clear(WakesHomeDataRevel.class, Cnd.where("id", "=", id));
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,137 @@
|
||||
package io.v.nutz.wakershome.controller.data;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.wizzer.framework.base.Result;
|
||||
import io.v.nutz.annontation.ViReturn;
|
||||
import io.v.nutz.modules.models.PageForm;
|
||||
import io.v.nutz.wakershome.model.WakesHomeDataType;
|
||||
import io.v.nutz.wakershome.service.WakesHomeInfoService;
|
||||
import org.apache.shiro.authz.annotation.RequiresAuthentication;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
import org.nutz.dao.Chain;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.entity.Record;
|
||||
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.random.R;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
|
||||
/**
|
||||
* @version 1.0
|
||||
* @Author zzr
|
||||
* @name:WakesHomeDataTypeController
|
||||
* @Date 2024/7/30 15:48
|
||||
* @注释
|
||||
*/
|
||||
@IocBean
|
||||
@Ok("json:full")
|
||||
@At("/platform/wakeshome/data/type")
|
||||
public class WakesHomeDataTypeController {
|
||||
|
||||
@Inject
|
||||
private WakesHomeInfoService wakesHomeInfoService;
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/wakeshome/data/type.html")
|
||||
@RequiresPermissions("wakeshome.data.type")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("wakeshome.data.type")
|
||||
public Object pageData(PageForm pageForm,
|
||||
@Param(value = "typeName", required = false) String typeName) {
|
||||
Sql sql = Sqls.create("select * from wakes_home_data_type $condition");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
if (StrUtil.isNotBlank(typeName)) {
|
||||
cnd.and(Cnd.likeEX("typeName", typeName));
|
||||
}
|
||||
cnd.asc("serialNum");
|
||||
sql.setCondition(cnd);
|
||||
return wakesHomeInfoService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@RequiresPermissions("wakeshome.data.type")
|
||||
public Object doAdd(WakesHomeDataType wakesHomeDataType) {
|
||||
try {
|
||||
int count = wakesHomeInfoService.dao().count("wakes_home_data_type", Cnd.where("code", "=", wakesHomeDataType.getCode()));
|
||||
if (count > 0) {
|
||||
return Result.error("编码重复");
|
||||
}
|
||||
wakesHomeDataType.setId(R.UU32());
|
||||
int totalCount = wakesHomeInfoService.count("wakes_home_data_type");
|
||||
wakesHomeDataType.setSerialNum(totalCount + 1);
|
||||
wakesHomeInfoService.insert("wakes_home_data_type", Chain.from(wakesHomeDataType));
|
||||
return Result.success();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return Result.error();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@RequiresPermissions("wakeshome.data.type")
|
||||
public Object doEdit(WakesHomeDataType wakesHomeDataType) {
|
||||
try {
|
||||
int count = wakesHomeInfoService.count("wakes_home_data_type", Cnd.where("code", "=", wakesHomeDataType.getCode()).and("id", "!=", wakesHomeDataType.getId()));
|
||||
if (count > 0) {
|
||||
return Result.error("编码重复");
|
||||
}
|
||||
wakesHomeInfoService.update("wakes_home_data_type", Chain.from(wakesHomeDataType), Cnd.where("id", "=", wakesHomeDataType.getId()));
|
||||
return Result.success();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return Result.error();
|
||||
}
|
||||
}
|
||||
|
||||
@At
|
||||
@RequiresPermissions("wakeshome.data.type")
|
||||
public Object doDelete(String id) {
|
||||
try {
|
||||
wakesHomeInfoService.clear("wakes_home_data_type", Cnd.where("id", "=", id));
|
||||
return Result.success();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return Result.error();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresAuthentication
|
||||
public Object getAllWakesHomeDataType() {
|
||||
return wakesHomeInfoService.dao().query(WakesHomeDataType.class, Cnd.NEW().asc("serialNum"));
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@RequiresPermissions("sys.jdh2.gzzl.lx")
|
||||
public Object serialNumChange(String id, Integer serialNum, boolean toDown) {
|
||||
if (toDown) {
|
||||
WakesHomeDataType next = wakesHomeInfoService.dao().fetch(WakesHomeDataType.class, Cnd.where("serialNum", "=", serialNum + 1));
|
||||
next.setSerialNum(serialNum - 1);
|
||||
wakesHomeInfoService.dao().update(next);
|
||||
wakesHomeInfoService.dao().update(WakesHomeDataType.class, Chain.make("serialNum", serialNum + 1), Cnd.where("id", "=", id));
|
||||
} else {
|
||||
WakesHomeDataType pre = wakesHomeInfoService.dao().fetch(WakesHomeDataType.class, Cnd.where("serialNum", "=", serialNum - 1));
|
||||
pre.setSerialNum(serialNum + 1);
|
||||
wakesHomeInfoService.dao().update(pre);
|
||||
wakesHomeInfoService.dao().update(WakesHomeDataType.class, Chain.make("serialNum", serialNum - 1), Cnd.where("id", "=", id));
|
||||
}
|
||||
return Result.success();
|
||||
}
|
||||
}
|
||||
+77
@@ -0,0 +1,77 @@
|
||||
package io.v.nutz.wakershome.controller.declaration;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import io.v.nutz.annontation.ViReturn;
|
||||
import io.v.nutz.wakershome.model.WakesHomeApply;
|
||||
import io.v.nutz.wakershome.service.IWakesHomeApplyService;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.lang.random.R;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
|
||||
/**
|
||||
* @version 1.0
|
||||
* @Author zzr
|
||||
* @name:WakesHomeDeclarationApply
|
||||
* @Date 2024/7/30 14:06
|
||||
* @注释 职工建家申报
|
||||
*/
|
||||
@IocBean
|
||||
@Ok("json:full")
|
||||
@At("/platform/wakeshome/declaration/apply")
|
||||
public class WakesHomeDeclarationApplyController {
|
||||
|
||||
@Inject
|
||||
private IWakesHomeApplyService wakesHomeApplyService;
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/wakeshome/declaration/apply.html")
|
||||
@RequiresPermissions("wakeshome.declaration.apply")
|
||||
public void index() {}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("wakeshome.declaration.apply")
|
||||
public Object doSave(WakesHomeApply wakesHomeApply) {
|
||||
wakesHomeApply.setState("10000");
|
||||
if (wakesHomeApply != null) {
|
||||
if (StrUtil.isNotBlank(wakesHomeApply.getId())) {
|
||||
wakesHomeApplyService.update(wakesHomeApply);
|
||||
} else {
|
||||
wakesHomeApplyService.setParams(wakesHomeApply);
|
||||
wakesHomeApplyService.fastInsert(wakesHomeApply);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("wakeshome.declaration.apply")
|
||||
public Object doSubmit(WakesHomeApply wakesHomeApply) {
|
||||
wakesHomeApply.setState("10010");
|
||||
if (wakesHomeApply != null) {
|
||||
if (StrUtil.isNotBlank(wakesHomeApply.getId())) {
|
||||
wakesHomeApplyService.update(wakesHomeApply);
|
||||
} else {
|
||||
wakesHomeApply.setId(R.UU32());
|
||||
wakesHomeApplyService.setParams(wakesHomeApply);
|
||||
wakesHomeApplyService.fastInsert(wakesHomeApply);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("wakeshome.declaration.apply")
|
||||
public Object getInfoById(String id){
|
||||
return wakesHomeApplyService.findById(id);
|
||||
}
|
||||
|
||||
}
|
||||
+88
@@ -0,0 +1,88 @@
|
||||
package io.v.nutz.wakershome.controller.declaration;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import io.v.nutz.annontation.ViReturn;
|
||||
import io.v.nutz.base.utils.Vi;
|
||||
import io.v.nutz.modules.models.Audit;
|
||||
import io.v.nutz.modules.models.PageForm;
|
||||
import io.v.nutz.util.ShiroUtil;
|
||||
import io.v.nutz.wakershome.model.WakesHomeApply;
|
||||
import io.v.nutz.wakershome.service.IWakesHomeApplyService;
|
||||
import org.apache.shiro.authz.annotation.Logical;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Sqls;
|
||||
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.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
|
||||
/**
|
||||
* @version 1.0
|
||||
* @Author zzr
|
||||
* @name:WakesHomeDeclarationMine
|
||||
* @Date 2024/7/30 14:06
|
||||
* @注释 我的建家申报
|
||||
*/
|
||||
@IocBean
|
||||
@Ok("json:full")
|
||||
@At("/platform/wakeshome/declaration/mine")
|
||||
public class WakesHomeDeclarationMineController {
|
||||
|
||||
@Inject
|
||||
private IWakesHomeApplyService wakesHomeApplyService;
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/wakeshome/declaration/mine.html")
|
||||
@RequiresPermissions("wakeshome.declaration.mine")
|
||||
public void index() {}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("wakeshome.declaration.mine")
|
||||
public Object pageData(PageForm pageForm,
|
||||
@Param(value = "year",required = false) Integer year,
|
||||
@Param(value = "unionId",required = false) String unionId){
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
wh.*,
|
||||
audit.stateName
|
||||
FROM
|
||||
`wakes_home_apply` wh
|
||||
LEFT JOIN audit_state audit ON wh.state = audit.stateId
|
||||
AND audit.module = 'WakesHome'
|
||||
$condition
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.andEX("YEAR(wh.applyDate)","=",year);
|
||||
if (!ShiroUtil.hasAnyRoles("sysadmin,A06")){
|
||||
cnd.and("unionId","=", Vi.getUnionId());
|
||||
} else {
|
||||
cnd.andEX("unionId", "=", unionId);
|
||||
}
|
||||
sql.setCondition(cnd);
|
||||
return wakesHomeApplyService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@RequiresPermissions(value = {"wakeshome.declaration.apply","wakeshome.declaration.mine"},logical = Logical.OR)
|
||||
public Object doDelete(String id) {
|
||||
WakesHomeApply apply = wakesHomeApplyService.fetch(id);
|
||||
if (StrUtil.isNotBlank(apply.getOrganizationAuditId())) {
|
||||
wakesHomeApplyService.dao().delete(Audit.class,apply.getOrganizationAuditId());
|
||||
}
|
||||
if (StrUtil.isNotBlank(apply.getSchoolAuditId())) {
|
||||
wakesHomeApplyService.dao().delete(Audit.class,apply.getSchoolAuditId());
|
||||
}
|
||||
wakesHomeApplyService.delete(id);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
+99
@@ -0,0 +1,99 @@
|
||||
package io.v.nutz.wakershome.controller.declaration;
|
||||
|
||||
import io.v.nutz.annontation.ViReturn;
|
||||
import io.v.nutz.base.utils.Vi;
|
||||
import io.v.nutz.dao.CndPlus;
|
||||
import io.v.nutz.modules.models.Audit;
|
||||
import io.v.nutz.modules.models.PageForm;
|
||||
import io.v.nutz.util.ShiroUtil;
|
||||
import io.v.nutz.wakershome.model.WakesHomeApply;
|
||||
import io.v.nutz.wakershome.service.IWakesHomeApplyService;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
import org.nutz.dao.Chain;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Sqls;
|
||||
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.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
|
||||
/**
|
||||
* @version 1.0
|
||||
* @Author zzr
|
||||
* @name:WakesHomeDeclarationOrganization
|
||||
* @Date 2024/7/30 14:07
|
||||
* @注释 建家申报党组织审核
|
||||
*/
|
||||
@IocBean
|
||||
@Ok("json:full")
|
||||
@At("/platform/wakeshome/declaration/organization")
|
||||
public class WakesHomeDeclarationOrganizationController {
|
||||
|
||||
@Inject
|
||||
private IWakesHomeApplyService wakesHomeApplyService;
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/wakeshome/declaration/organizationAudit.html")
|
||||
@RequiresPermissions("wakeshome.declaration.organization")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("wakeshome.declaration.organization")
|
||||
public Object pageData(PageForm pageForm,
|
||||
@Param(value = "year", required = false) Integer year,
|
||||
@Param(value = "unionId", required = false) String unionId,
|
||||
@Param(value = "isAudit", required = false) String isAudit) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
wh.*,
|
||||
audit.stateName
|
||||
FROM
|
||||
`wakes_home_apply` wh
|
||||
LEFT JOIN audit_state audit ON wh.state = audit.stateId
|
||||
AND audit.module = 'WakesHome'
|
||||
$condition
|
||||
""");
|
||||
CndPlus cnd = CndPlus.create();
|
||||
if (!ShiroUtil.hasAnyRoles("sysadmin,A06")) {
|
||||
cnd.and("wh.unionId", "=", Vi.getUnionId());
|
||||
} else {
|
||||
cnd.andEX("wh.unionId", "=", unionId);
|
||||
}
|
||||
cnd.andEX("YEAR(wh.applyDate)", "=", year);
|
||||
cnd.and("wh.state", "true".equals(isAudit) ? ">" : "false".equals(isAudit) ? "=" : ">=", 10010);
|
||||
sql.setCondition(cnd);
|
||||
return wakesHomeApplyService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@RequiresPermissions("wakeshome.declaration.organization")
|
||||
public Object doAudit(@Param("audit") Audit audit, String id) {
|
||||
Boolean auditPass = audit.getAuditPass();
|
||||
wakesHomeApplyService.dao().insert(audit);
|
||||
wakesHomeApplyService.update(Chain.make("state", auditPass ? 10020 : 10015)
|
||||
.add("organizationAuditId", audit.getId()), Cnd.where("id", "=", id));
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@RequiresPermissions("wakeshome.declaration.organization")
|
||||
public Object doRollBack(String id){
|
||||
WakesHomeApply wakesHome = wakesHomeApplyService.fetch(id);
|
||||
wakesHomeApplyService.dao().clear(Audit.class,Cnd.where("id","=",wakesHome.getOrganizationAuditId()));
|
||||
wakesHomeApplyService.update(Chain.make("state",10010).add("organizationAuditId",null),Cnd.where("id","=",id));
|
||||
return null;
|
||||
}
|
||||
}
|
||||
+98
@@ -0,0 +1,98 @@
|
||||
package io.v.nutz.wakershome.controller.declaration;
|
||||
|
||||
import io.v.nutz.annontation.ViReturn;
|
||||
import io.v.nutz.base.utils.Vi;
|
||||
import io.v.nutz.dao.CndPlus;
|
||||
import io.v.nutz.modules.models.Audit;
|
||||
import io.v.nutz.modules.models.PageForm;
|
||||
import io.v.nutz.util.ShiroUtil;
|
||||
import io.v.nutz.wakershome.model.WakesHomeApply;
|
||||
import io.v.nutz.wakershome.service.IWakesHomeApplyService;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
import org.nutz.dao.Chain;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Sqls;
|
||||
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.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
|
||||
/**
|
||||
* @version 1.0
|
||||
* @Author zzr
|
||||
* @name:WakesHomeDeclarationSchool
|
||||
* @Date 2024/7/30 14:07
|
||||
* @注释 建家申报校工会审核
|
||||
*/
|
||||
@IocBean
|
||||
@Ok("json:full")
|
||||
@At("/platform/wakeshome/declaration/school")
|
||||
public class WakesHomeDeclarationSchoolController {
|
||||
|
||||
@Inject
|
||||
private IWakesHomeApplyService wakesHomeApplyService;
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/wakeshome/declaration/schoolAudit.html")
|
||||
@RequiresPermissions("wakeshome.declaration.school")
|
||||
public void index() {}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("wakeshome.declaration.school")
|
||||
public Object pageData(PageForm pageForm,
|
||||
@Param(value = "year", required = false) Integer year,
|
||||
@Param(value = "unionId", required = false) String unionId,
|
||||
@Param(value = "isAudit", required = false) String isAudit){
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
wh.*,
|
||||
audit.stateName
|
||||
FROM
|
||||
`wakes_home_apply` wh
|
||||
LEFT JOIN audit_state audit ON wh.state = audit.stateId
|
||||
AND audit.module = 'WakesHome'
|
||||
$condition
|
||||
""");
|
||||
CndPlus cnd = CndPlus.create();
|
||||
if (!ShiroUtil.hasAnyRoles("sysadmin,A06")) {
|
||||
cnd.and("wh.unionId", "=", Vi.getUnionId());
|
||||
} else {
|
||||
cnd.andEX("wh.unionId", "=", unionId);
|
||||
}
|
||||
cnd.andEX("YEAR(wh.applyDate)", "=", year);
|
||||
cnd.and("wh.state", "true".equals(isAudit) ? ">" : "false".equals(isAudit) ? "=" : ">=", 10020);
|
||||
sql.setCondition(cnd);
|
||||
return wakesHomeApplyService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@RequiresPermissions("wakeshome.declaration.school")
|
||||
public Object doAudit(@Param("audit") Audit audit, String id) {
|
||||
Boolean auditPass = audit.getAuditPass();
|
||||
wakesHomeApplyService.dao().insert(audit);
|
||||
wakesHomeApplyService.update(Chain.make("state", auditPass ? 10030 : 10025)
|
||||
.add("schoolAuditId", audit.getId()), Cnd.where("id", "=", id));
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@RequiresPermissions("wakeshome.declaration.school")
|
||||
public Object doRollBack(String id){
|
||||
WakesHomeApply wakesHome = wakesHomeApplyService.fetch(id);
|
||||
wakesHomeApplyService.dao().clear(Audit.class,Cnd.where("id","=",wakesHome.getSchoolAuditId()));
|
||||
wakesHomeApplyService.update(Chain.make("state",10010).add("schoolAuditId",null),Cnd.where("id","=",id));
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
package io.v.nutz.wakershome.controller.info;
|
||||
|
||||
import io.v.nutz.annontation.ViReturn;
|
||||
import io.v.nutz.base.result.Result;
|
||||
import io.v.nutz.base.utils.Vi;
|
||||
import io.v.nutz.wakershome.model.WakesHome;
|
||||
import io.v.nutz.wakershome.model.WakesHomeApply;
|
||||
import io.v.nutz.wakershome.service.WakesHomeInfoService;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.nutz.dao.Cnd;
|
||||
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;
|
||||
|
||||
@At("/platform/wakeshome/info/apply")
|
||||
@Ok("json:full")
|
||||
@IocBean
|
||||
public class WakesHomeApplyController {
|
||||
|
||||
|
||||
@Inject
|
||||
private WakesHomeInfoService wakesHomeInfoService;
|
||||
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/wakeshome/info/apply.html")
|
||||
@RequiresPermissions("wakeshome.info.apply")
|
||||
public void index() {}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("wakeshome.info.apply")
|
||||
public Object doAdd(WakesHome wakesHome, Boolean isSubmit){
|
||||
if (isSubmit){
|
||||
// wakesHome.setApplyTime(new Date());
|
||||
wakesHome.setState(8120);
|
||||
} else {
|
||||
wakesHome.setState(8100);
|
||||
}
|
||||
|
||||
if (!"校工会".equals(wakesHome.getCategory())){
|
||||
wakesHome.setUnionId(Vi.getUnionId());
|
||||
}
|
||||
|
||||
wakesHomeInfoService.insert(wakesHome);
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("wakeshome.info.apply")
|
||||
public Object doEdit(WakesHome wakesHome,Boolean isSubmit){
|
||||
if (isSubmit){
|
||||
wakesHome.setState(8120);
|
||||
}
|
||||
wakesHomeInfoService.updateIgnoreNull(wakesHome);
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@RequiresPermissions("wakeshome.info.apply")
|
||||
public Object validateApply(){
|
||||
int count = wakesHomeInfoService.dao().count(WakesHomeApply.class, Cnd.where("state", "=", "10030").and("unionId", "=", Vi.getUnionId()));
|
||||
return (count > 0) ? Result.error() : Result.success();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
package io.v.nutz.wakershome.controller.info;
|
||||
|
||||
import io.v.nutz.annontation.ViReturn;
|
||||
import io.v.nutz.dao.CndPlus;
|
||||
import io.v.nutz.modules.models.PageForm;
|
||||
import io.v.nutz.wakershome.service.WakesHomeInfoService;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
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.Param;
|
||||
|
||||
|
||||
@At("/platform/wakeshome/info/info")
|
||||
@Ok("json:full")
|
||||
@IocBean
|
||||
public class WakesHomeInfoController {
|
||||
|
||||
|
||||
@Inject
|
||||
private WakesHomeInfoService wakesHomeInfoService;
|
||||
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/wakeshome/info/info.html")
|
||||
@RequiresPermissions("wakeshome.info.info")
|
||||
public void index() {}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("wakeshome.info.info")
|
||||
public Object pageData(PageForm pageForm,
|
||||
@Param(value = "year",required = false) Integer year,
|
||||
@Param(value = "unionId",required = false) String unionId){
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
wh.*
|
||||
FROM
|
||||
`wakes_home` wh
|
||||
LEFT JOIN sys_union su ON su.id = wh.unionId
|
||||
$condition
|
||||
""");
|
||||
CndPlus cnd = CndPlus.create();
|
||||
cnd.andEX("YEAR(applyTime)","=",year);
|
||||
if ("校工会".equals(unionId)){
|
||||
cnd.and("wh.category","=","校工会");
|
||||
} else {
|
||||
cnd.andEX("wh.unionId","=",unionId);
|
||||
}
|
||||
cnd.and("wh.state","=",8130);
|
||||
cnd.asc("su.unioncode");
|
||||
sql.setCondition(cnd);
|
||||
return wakesHomeInfoService.listMap(sql);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
package io.v.nutz.wakershome.controller.info;
|
||||
|
||||
|
||||
import io.v.nutz.annontation.ViReturn;
|
||||
import io.v.nutz.base.utils.Vi;
|
||||
import io.v.nutz.dao.CndPlus;
|
||||
import io.v.nutz.modules.models.Audit;
|
||||
import io.v.nutz.modules.models.PageForm;
|
||||
import io.v.nutz.util.ShiroUtil;
|
||||
import io.v.nutz.wakershome.model.WakesHome;
|
||||
import io.v.nutz.wakershome.service.WakesHomeInfoService;
|
||||
import org.apache.shiro.authz.annotation.Logical;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.lang.Lang;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
|
||||
@At("/platform/wakeshome/info/mine")
|
||||
@Ok("json:full")
|
||||
@IocBean
|
||||
public class WakesHomeMineController {
|
||||
|
||||
@Inject
|
||||
private WakesHomeInfoService wakesHomeInfoService;
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/wakeshome/info/mine.html")
|
||||
@RequiresPermissions("wakeshome.info.mine")
|
||||
public void index() {}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("wakeshome.info.mine")
|
||||
public Object pageData(PageForm pageForm,
|
||||
@Param(value = "year",required = false) Integer year,
|
||||
@Param(value = "unionId",required = false)String unionId){
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
wh.*,
|
||||
audit.stateName
|
||||
FROM
|
||||
`wakes_home` wh
|
||||
LEFT JOIN audit_state audit ON wh.state = audit.stateId
|
||||
AND audit.module = 'WakesHome'
|
||||
$condition
|
||||
""");
|
||||
|
||||
CndPlus cnd = CndPlus.create();
|
||||
cnd.andEX("YEAR(applyTime)","=",year);
|
||||
if (!ShiroUtil.hasAnyRoles("sysadmin,A06")){
|
||||
cnd.and("unionId","=", Vi.getUnionId());
|
||||
} else {
|
||||
if ("校工会".equals(unionId)){
|
||||
cnd.and("wh.category","=","校工会");
|
||||
} else {
|
||||
cnd.andEX("unionId", "=", unionId);
|
||||
}
|
||||
}
|
||||
sql.setCondition(cnd);
|
||||
return wakesHomeInfoService.listPageMap(pageForm.getPageNumber(),pageForm.getPageSize(),sql);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions(value = {"wakeshome.info.mine","wakeshome.info.apply"},logical = Logical.OR)
|
||||
public Object getInfoById(String id){
|
||||
WakesHome wakesHome = wakesHomeInfoService.fetch(id);
|
||||
NutMap nutMap = Lang.obj2nutmap(wakesHome);
|
||||
Audit audit = wakesHomeInfoService.dao().fetch(Audit.class, Cnd.where("id", "=", wakesHome.getSchoolAuditId()));
|
||||
if (Lang.isNotEmpty(audit)){
|
||||
nutMap.setv("schoolAudit",audit);
|
||||
}
|
||||
return nutMap;
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("wakeshome.info.mine")
|
||||
public Object doRemove(String id){
|
||||
wakesHomeInfoService.delete(id);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
+97
@@ -0,0 +1,97 @@
|
||||
package io.v.nutz.wakershome.controller.info;
|
||||
|
||||
|
||||
import io.v.nutz.annontation.ViReturn;
|
||||
import io.v.nutz.base.utils.Vi;
|
||||
import io.v.nutz.dao.CndPlus;
|
||||
import io.v.nutz.modules.models.Audit;
|
||||
import io.v.nutz.modules.models.PageForm;
|
||||
import io.v.nutz.util.ShiroUtil;
|
||||
import io.v.nutz.wakershome.model.WakesHome;
|
||||
import io.v.nutz.wakershome.service.WakesHomeInfoService;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
import org.nutz.dao.Chain;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Sqls;
|
||||
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.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
|
||||
@At("/platform/wakeshome/info/schoolaudit")
|
||||
@Ok("json:full")
|
||||
@IocBean
|
||||
public class WakesHomeSchoolAuditController {
|
||||
|
||||
@Inject
|
||||
private WakesHomeInfoService wakesHomeInfoService;
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/wakeshome/info/schoolAudit.html")
|
||||
@RequiresPermissions("wakeshome.info.schoolaudit")
|
||||
public void index() {}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("wakeshome.info.schoolaudit")
|
||||
public Object pageData(PageForm pageForm,
|
||||
@Param(value = "year",required = false) Integer year,
|
||||
@Param(value = "unionId",required = false)String unionId,
|
||||
@Param(value = "isAudit", required = false) String isAudit){
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
wh.*,
|
||||
audit.stateName
|
||||
FROM
|
||||
`wakes_home` wh
|
||||
LEFT JOIN audit_state audit ON wh.state = audit.stateId
|
||||
AND audit.module = 'WakesHome'
|
||||
$condition
|
||||
""");
|
||||
|
||||
CndPlus cnd = CndPlus.create();
|
||||
if (!ShiroUtil.hasAnyRoles("sysadmin,A06")){
|
||||
cnd.and("unionId","=", Vi.getUnionId());
|
||||
} else {
|
||||
if ("校工会".equals(unionId)){
|
||||
cnd.and("wh.category","=","校工会");
|
||||
} else {
|
||||
cnd.andEX("unionId", "=", unionId);
|
||||
}
|
||||
}
|
||||
cnd.andEX("YEAR(applyTime)","=",year);
|
||||
cnd.and("wh.state", "true".equals(isAudit) ? ">" : "false".equals(isAudit) ? "=" : ">=", 8120);
|
||||
sql.setCondition(cnd);
|
||||
return wakesHomeInfoService.listPageMap(pageForm.getPageNumber(),pageForm.getPageSize(),sql);
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("wakeshome.info.schoolaudit")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
public Object doAudit(@Param("audit") Audit audit, String id, String isPass){
|
||||
wakesHomeInfoService.dao().insert(audit);
|
||||
wakesHomeInfoService.update(Chain.make("state","1".equals(isPass) ? 8130 : 8125)
|
||||
.add("schoolAuditId",audit.getId()), Cnd.where("id","=",id));
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("wakeshome.info.schoolaudit")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
public Object doRollBack(String id){
|
||||
WakesHome wakesHome = wakesHomeInfoService.fetch(id);
|
||||
wakesHomeInfoService.dao().clear(Audit.class,Cnd.where("id","=",wakesHome.getSchoolAuditId()));
|
||||
wakesHomeInfoService.update(Chain.make("state",8120).add("schoolAuditId",null),Cnd.where("id","=",id));
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
package io.v.nutz.wakershome.controller.review;
|
||||
|
||||
import io.v.nutz.annontation.ViReturn;
|
||||
import io.v.nutz.wakershome.model.review.CommentNr;
|
||||
import io.v.nutz.wakershome.model.review.CommentZb;
|
||||
import io.v.nutz.wakershome.service.review.CommentZbService;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.nutz.dao.Cnd;
|
||||
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.Param;
|
||||
import org.nutz.trans.Trans;
|
||||
|
||||
/**
|
||||
* @ClassName addZbController
|
||||
* @Description TODO
|
||||
* @Author zhf
|
||||
* @Date 2023/9/4 15:42
|
||||
*/
|
||||
@At("/platform/wakeshome/review/Xjkhzb")
|
||||
@Ok("json:full")
|
||||
@IocBean
|
||||
public class AddZbController {
|
||||
@At("")
|
||||
@Ok("beetl:/platform/wakeshome/review/xjkhzb.html")
|
||||
@RequiresPermissions("wakeshome.review.xjkhzb")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
|
||||
@Inject
|
||||
private CommentZbService commentZbService;
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("wakeshome.review.Xjkhzb")
|
||||
public Object doAdd(@Param(value = "kh_zb") CommentZb commentZb) {
|
||||
Trans.exec(() -> {
|
||||
CommentZb zb = commentZbService.insert(commentZb);
|
||||
for (CommentNr nr : commentZb.getNrs()) {
|
||||
nr.setZb_id(zb.getId());
|
||||
commentZbService.insertWith(nr, "bzs");
|
||||
}
|
||||
});
|
||||
return null;
|
||||
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
public Object getZbList(Integer year) {
|
||||
return commentZbService.query(Cnd.NEW().andEX("annual", "=", year));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,259 @@
|
||||
package io.v.nutz.wakershome.controller.review;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.io.FileUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.core.util.ZipUtil;
|
||||
import com.deepoove.poi.XWPFTemplate;
|
||||
import com.deepoove.poi.config.Configure;
|
||||
import com.deepoove.poi.policy.HackLoopTableRenderPolicy;
|
||||
import io.v.nutz.annontation.ViReturn;
|
||||
import io.v.nutz.sys.models.User;
|
||||
import io.v.nutz.wakershome.model.review.CommentExport;
|
||||
import io.v.nutz.wakershome.model.review.CommentZb;
|
||||
import io.v.nutz.wakershome.service.review.CommentZbService;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.ddr.poi.html.HtmlRenderPolicy;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.lang.Strings;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
|
||||
import javax.servlet.ServletOutputStream;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
import java.net.URLEncoder;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @ClassName exportZpController
|
||||
* @Description TODO
|
||||
* @Author zhf
|
||||
* @Date 2023/9/6 17:09
|
||||
*/
|
||||
@At("/platform/unionComment/exportZp")
|
||||
@Ok("json:full")
|
||||
@IocBean
|
||||
public class ExportZpController {
|
||||
|
||||
|
||||
// @Inject
|
||||
// private OfficeTemplateUtil officeTemplateUtil;
|
||||
|
||||
@Inject
|
||||
private CommentZbService zbService;
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/unionComment/exportZp.html")
|
||||
@RequiresPermissions("unionComment.exportZp")
|
||||
public void index() {
|
||||
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("unionComment.exportZp")
|
||||
public Object pageData(@Param(value = "annual", required = false) Integer annual,
|
||||
int pageNumber, int pageSize) {
|
||||
Sql sql = Sqls.create("SELECT YEAR(e.createTime) annual,e.* FROM `comment_export` e $condition");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.andEX("YEAR(e.createTime)", "=", annual);
|
||||
sql.setCondition(cnd);
|
||||
return zbService.listPageMap(pageNumber, pageSize, sql);
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("unionComment.exportZp")
|
||||
public Object getZbData(@Param(value = "annual", required = false) String annual,
|
||||
@Param(value = "assessment", required = false) String assessment) {
|
||||
Sql sql = Sqls.create("SELECT * FROM `comment_zb` $condition");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
if (Strings.isNotBlank(annual) && Strings.isNotBlank(annual)) {
|
||||
cnd.and("annual", "=", annual);
|
||||
}
|
||||
if (Strings.isNotBlank(assessment) && Strings.isNotBlank(assessment)) {
|
||||
cnd.where().andLike("assessment", assessment);
|
||||
} else {
|
||||
cnd.desc("annual");
|
||||
}
|
||||
sql.setCondition(cnd);
|
||||
return zbService.listMap(sql);
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("unionComment.exportZp")
|
||||
public Object doAddExport(@Param("export") CommentExport export) {
|
||||
export.setCreateTime(DateUtil.now());
|
||||
if (StrUtil.isNotBlank(export.getId())) {
|
||||
zbService.updateIgnoreNull(export);
|
||||
} else {
|
||||
zbService.insert(export);
|
||||
}
|
||||
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("unionComment.exportZp")
|
||||
public Object doDelete(String id) {
|
||||
zbService.dao().delete(CommentExport.class, id);
|
||||
return null;
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("unionComment.exportZp")
|
||||
public Object findOne(String id) {
|
||||
CommentExport export = zbService.dao().fetch(CommentExport.class, id);
|
||||
List<CommentZb> zbList = zbService.query(Cnd.NEW().and("id", "in", export.getZbIds()).asc("assessmentMode"));
|
||||
return Map.of("export", export, "zbList", zbList);
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@Ok("void")
|
||||
@RequiresPermissions("unionComment.exportZp")
|
||||
public void doExport(String id, HttpServletResponse response) throws Exception {
|
||||
CommentExport export = zbService.dao().fetch(CommentExport.class, id);
|
||||
//查询测评有那几个工会测评过
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
un.id,
|
||||
un.unionname unionName,
|
||||
count( peo.id ) num
|
||||
FROM
|
||||
sys_union un
|
||||
LEFT JOIN `user` u ON u.unionId = un.id
|
||||
LEFT JOIN comment_peo peo ON peo.userId = u.id
|
||||
$condition
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.andEX("peo.zbId", "in", export.getZbIds());
|
||||
cnd.groupBy("un.id");
|
||||
cnd.desc("count( peo.id )");
|
||||
sql.setCondition(cnd);
|
||||
List<NutMap> unionMap = zbService.listMap(sql);
|
||||
|
||||
|
||||
List<CommentZb> zbs = zbService.query(Cnd.NEW().and("id", "in", export.getZbIds()).asc("assessmentMode"));
|
||||
|
||||
//创建临时文件夹
|
||||
Path templateDir = Files.createTempDirectory("评测结果文件夹");
|
||||
|
||||
//循环分工会
|
||||
for (NutMap un : unionMap) {
|
||||
List<User> users = zbService.dao().query(User.class, Cnd.where("unionId", "=", un.getString("id")));
|
||||
|
||||
FileOutputStream outputStream = new FileOutputStream(templateDir.toString() + "/" + un.getString("unionName") + "基层工会会员评家民主测评结果报告表.docx");
|
||||
|
||||
List<NutMap> zpxxList = new ArrayList<>();
|
||||
for (CommentZb zb : zbs) {
|
||||
|
||||
Sql sqlps = Sqls.create("""
|
||||
SELECT
|
||||
SUM( CASE WHEN cp.reviewResult = '不满意' THEN 1 ELSE 0 END ) AS bmy,
|
||||
SUM( CASE WHEN cp.reviewResult = '基本满意' THEN 1 ELSE 0 END ) AS jbmy,
|
||||
SUM( CASE WHEN cp.reviewResult = '满意' THEN 1 ELSE 0 END ) AS my
|
||||
FROM
|
||||
comment_peo cp
|
||||
LEFT JOIN `user` u ON u.id = cp.userId
|
||||
$condition
|
||||
""");
|
||||
Cnd cndPs = Cnd.NEW();
|
||||
cndPs.and("u.unionId", "=", un.getString("id"));
|
||||
cndPs.and("cp.zbId", "=", zb.getId());
|
||||
|
||||
sqlps.setCondition(cndPs);
|
||||
if (zb.getAssessmentMode() == 1) {
|
||||
NutMap zpxx = new NutMap();
|
||||
NutMap psMap = zbService.fetch(sqlps);
|
||||
zpxx.setv("pcdx", "工会工作及职工之家建设情况测评");
|
||||
zpxx.setv("my", psMap.getInt("my"));
|
||||
zpxx.setv("jbmy", psMap.getInt("jbmy"));
|
||||
zpxx.setv("bmy", psMap.getInt("bmy"));
|
||||
zpxxList.add(zpxx);
|
||||
} else {
|
||||
NutMap zpxxZx = new NutMap();
|
||||
Cnd clone = cndPs.clone();
|
||||
sqlps.setCondition(clone);
|
||||
clone.and("cp.evaluatedPersonType", "=", "分工会主席");
|
||||
NutMap psMap = zbService.fetch(sqlps);
|
||||
zpxxZx.setv("pcdx", "工会主席履职情况测评");
|
||||
zpxxZx.setv("my", psMap.getInt("my"));
|
||||
zpxxZx.setv("jbmy", psMap.getInt("jbmy"));
|
||||
zpxxZx.setv("bmy", psMap.getInt("bmy"));
|
||||
zpxxList.add(zpxxZx);
|
||||
|
||||
|
||||
NutMap zpxxFzx = new NutMap();
|
||||
Cnd clone2 = cndPs.clone();
|
||||
clone2.and("cp.evaluatedPersonType", "=", "分工会副主席");
|
||||
sqlps.setCondition(clone2);
|
||||
NutMap psMap2 = zbService.fetch(sqlps);
|
||||
zpxxFzx.setv("pcdx", "工会副主席履职情况测评");
|
||||
zpxxFzx.setv("my", psMap2.getInt("my"));
|
||||
zpxxFzx.setv("jbmy", psMap2.getInt("jbmy"));
|
||||
zpxxFzx.setv("bmy", psMap2.getInt("bmy"));
|
||||
zpxxList.add(zpxxFzx);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
HackLoopTableRenderPolicy policy = new HackLoopTableRenderPolicy();
|
||||
HtmlRenderPolicy htmlRenderPolicy = new HtmlRenderPolicy();
|
||||
htmlRenderPolicy.getConfig().setShowDefaultTableBorderInTableCell(true);
|
||||
|
||||
Configure config = Configure.newBuilder().bind("zpxxList", policy).build();
|
||||
HashMap<String, Object> map = new HashMap<>();
|
||||
|
||||
map.put("zpxxList", zpxxList);
|
||||
map.put("unionName", un.getString("unionName"));
|
||||
map.put("num", users.size());
|
||||
map.put("memberNum", users.stream().filter(v -> v.getMember() == 1).collect(Collectors.toList()).size());
|
||||
// XWPFTemplate.compile(officeTemplateUtil.getPath("unionComment"), config).render(map).writeAndClose(outputStream);
|
||||
|
||||
outputStream.close();
|
||||
|
||||
}
|
||||
|
||||
|
||||
//压缩
|
||||
File zipFile = ZipUtil.zip(templateDir.toString());
|
||||
response.setHeader("content-disposition", "attachment;filename="
|
||||
+ URLEncoder.encode(zipFile.getName(), "UTF-8"));
|
||||
try (ServletOutputStream outputStream = response.getOutputStream();
|
||||
FileInputStream zipFis = new FileInputStream(zipFile);) {
|
||||
IOUtils.copy(zipFis, outputStream);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
FileUtil.del(templateDir);
|
||||
FileUtil.del(zipFile);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,131 @@
|
||||
package io.v.nutz.wakershome.controller.review;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import io.v.nutz.annontation.ViReturn;
|
||||
import io.v.nutz.modules.models.PageForm;
|
||||
import io.v.nutz.wakershome.service.review.CommentPeoService;
|
||||
import io.v.nutz.wakershome.service.review.CommentZbService;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
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.lang.util.NutMap;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
|
||||
/**
|
||||
* @ClassName statisticsController
|
||||
* @Description TODO
|
||||
* @Author zhf
|
||||
* @Date 2023/9/5 15:58
|
||||
*/
|
||||
@At("/platform/wakeshome/review/statistics")
|
||||
@Ok("json:full")
|
||||
@IocBean
|
||||
public class StatisticsZpController {
|
||||
|
||||
@Inject
|
||||
private CommentZbService commentZbService;
|
||||
|
||||
@Inject
|
||||
private CommentPeoService commentPeoService;
|
||||
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/wakeshome/review/statistics.html")
|
||||
@RequiresPermissions("wakeshome.review.statistics")
|
||||
public void index() {
|
||||
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("wakeshome.review.statistics")
|
||||
public Object pageData(PageForm page,
|
||||
@Param(value = "zbId", required = false) String zbId,
|
||||
@Param(value = "unionId", required = false) String unionId) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
un.id,
|
||||
un.unionname unionName,
|
||||
count( peo.id ) num
|
||||
FROM
|
||||
sys_union un
|
||||
LEFT JOIN `user` u ON u.unionId = un.id
|
||||
LEFT JOIN comment_peo peo ON peo.userId = u.id AND peo.zbId = @zbId
|
||||
$condition
|
||||
""").setParam("zbId", zbId);
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.andEX("un.id", "=", unionId);
|
||||
|
||||
cnd.groupBy("un.id");
|
||||
cnd.desc("count( peo.id )");
|
||||
sql.setCondition(cnd);
|
||||
return commentZbService.listPageMap(page.getPageNumber(), page.getPageSize(), sql);
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
public Object getUserPeoByZbIdOrUnionId(PageForm page,
|
||||
@Param(value = "zbId", required = false) String zbId,
|
||||
@Param(value = "unionId", required = false) String unionId,
|
||||
@Param(value = "reviewResult", required = false) String reviewResult) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
peo.*,
|
||||
u.username userName,
|
||||
u.loginname loginName,
|
||||
unitname unitName
|
||||
FROM
|
||||
comment_peo peo
|
||||
LEFT JOIN `user` u ON u.id = peo.userId
|
||||
$condition
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.and("peo.zbId", "=", zbId);
|
||||
cnd.andEX("u.unionId", "=", unionId);
|
||||
cnd.andEX("peo.reviewResult", "=", reviewResult);
|
||||
if (StrUtil.isNotBlank(page.getSearchKeyword())) {
|
||||
SqlExpressionGroup sqlExpressionGroup = new SqlExpressionGroup();
|
||||
sqlExpressionGroup.orLike("u.loginname", page.getSearchKeyword());
|
||||
sqlExpressionGroup.orLike("u.username", page.getSearchKeyword());
|
||||
cnd.and(sqlExpressionGroup);
|
||||
}
|
||||
sql.setCondition(cnd);
|
||||
return commentZbService.listPageMap(page.getPageNumber(), page.getPageSize(), sql);
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
public Object getBzById(String peoId) {
|
||||
return commentPeoService.getBzById(peoId);
|
||||
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
public Object getReviewResultNum(@Param(value = "zbId", required = false) String zbId,
|
||||
@Param(value = "unionId", required = false) String unionId) {
|
||||
NutMap mapList = commentPeoService.fetch(Sqls.create("""
|
||||
SELECT
|
||||
SUM( CASE WHEN cp.reviewResult = '不满意' THEN 1 ELSE 0 END ) AS bmy,
|
||||
SUM( CASE WHEN cp.reviewResult = '基本满意' THEN 1 ELSE 0 END ) AS jbmy,
|
||||
SUM( CASE WHEN cp.reviewResult = '满意' THEN 1 ELSE 0 END ) AS my
|
||||
FROM
|
||||
comment_peo cp
|
||||
LEFT JOIN `user` u ON u.id = cp.userId
|
||||
WHERE
|
||||
cp.zbId = @zbId
|
||||
AND u.unionId = @unionId
|
||||
""").setParam("zbId", zbId).setParam("unionId", unionId));
|
||||
|
||||
return mapList;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,125 @@
|
||||
package io.v.nutz.wakershome.controller.review;
|
||||
|
||||
import io.v.nutz.annontation.ViReturn;
|
||||
import io.v.nutz.wakershome.model.review.CommentNr;
|
||||
import io.v.nutz.wakershome.model.review.CommentZb;
|
||||
import io.v.nutz.wakershome.service.review.CommentBzService;
|
||||
import io.v.nutz.wakershome.service.review.CommentNrService;
|
||||
import io.v.nutz.wakershome.service.review.CommentZbService;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Sqls;
|
||||
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.Strings;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @ClassName viewZbController
|
||||
* @Description TODO
|
||||
* @Author zhf
|
||||
* @Date 2023/9/4 16:00
|
||||
*/
|
||||
@At("/platform/wakeshome/review/khzb")
|
||||
@Ok("json:full")
|
||||
@IocBean
|
||||
public class ViewZbController {
|
||||
|
||||
|
||||
@Inject
|
||||
private CommentZbService commentZbService;
|
||||
|
||||
@Inject
|
||||
private CommentNrService commentNrService;
|
||||
|
||||
@Inject
|
||||
private CommentBzService commentBzService;
|
||||
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/wakeshome/review/khzb.html")
|
||||
@RequiresPermissions("wakeshome.review.khzb")
|
||||
public void index() {
|
||||
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("wakeshome.review.khzb")
|
||||
public Object pageData(@Param(value = "annual", required = false) String annual,
|
||||
@Param(value = "assessment", required = false) String assessment,
|
||||
int pageNumber, int pageSize) {
|
||||
Sql sql = Sqls.create("SELECT * FROM `comment_zb` $condition");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
if (Strings.isNotBlank(annual) && Strings.isNotBlank(annual)) {
|
||||
cnd.and("annual", "=", annual);
|
||||
}
|
||||
if (Strings.isNotBlank(assessment) && Strings.isNotBlank(assessment)) {
|
||||
cnd.where().andLike("assessment", assessment);
|
||||
} else {
|
||||
cnd.desc("annual");
|
||||
}
|
||||
sql.setCondition(cnd);
|
||||
return commentZbService.listPageMap(pageNumber, pageSize, sql);
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@RequiresPermissions("wakeshome.review.khzb")
|
||||
public Object delete(String id) {
|
||||
|
||||
commentZbService.delete(id);
|
||||
|
||||
List<CommentNr> query = commentNrService.query(Cnd.where("zb_id", "=", id));
|
||||
|
||||
for (CommentNr kh_nr : query) {
|
||||
commentBzService.clear(Cnd.where("nr_id", "=", kh_nr.getId()));
|
||||
}
|
||||
|
||||
commentNrService.clear(Cnd.where("zb_id", "=", id));
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
public Object edit(String id) {
|
||||
return commentZbService.khzb(id);
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("wakeshome.review.khzb")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
public Object doEdit(@Param(value = "kh_zb") CommentZb commentZb) {
|
||||
commentZbService.updateIgnoreNull(commentZb);
|
||||
|
||||
List<CommentNr> query = commentNrService.query(Cnd.where("zb_id", "=", commentZb.getId()));
|
||||
|
||||
for (CommentNr kh_nr : query) {
|
||||
commentBzService.clear(Cnd.where("nr_id", "=", kh_nr.getId()));
|
||||
}
|
||||
|
||||
commentNrService.clear(Cnd.where("zb_id", "=", commentZb.getId()));
|
||||
|
||||
for (CommentNr nr : commentZb.getNrs()) {
|
||||
nr.setZb_id(commentZb.getId());
|
||||
commentNrService.insertWith(nr, "bzs");
|
||||
}
|
||||
return null;
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
package io.v.nutz.wakershome.controller.review;
|
||||
|
||||
import io.v.nutz.annontation.ViReturn;
|
||||
import io.v.nutz.modules.models.PageForm;
|
||||
import io.v.nutz.wakershome.service.review.CommentZbService;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.lang.Strings;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
|
||||
/**
|
||||
* @version 1.0
|
||||
* @Author zzr
|
||||
* @name:WakesHomeReviewController
|
||||
* @Date 2024/8/1 16:47
|
||||
* @注释 pc端职工评议
|
||||
*/
|
||||
@IocBean
|
||||
@Ok("json:full")
|
||||
@At("/platform/wakeshome/review/doReview")
|
||||
public class WakesHomeReviewController {
|
||||
|
||||
@Inject
|
||||
private CommentZbService commentZbService;
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/wakeshome/review/doReview.html")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
public Object pageData(PageForm pageForm,
|
||||
@Param(value = "annual", required = false) String annual,
|
||||
@Param(value = "assessment", required = false) String assessment){
|
||||
Sql sql = Sqls.create("SELECT * FROM `comment_zb` $condition");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
if (Strings.isNotBlank(annual) && Strings.isNotBlank(annual)) {
|
||||
cnd.and("annual", "=", annual);
|
||||
}
|
||||
if (Strings.isNotBlank(assessment) && Strings.isNotBlank(assessment)) {
|
||||
cnd.where().andLike("assessment", assessment);
|
||||
} else {
|
||||
cnd.desc("annual");
|
||||
}
|
||||
sql.setCondition(cnd);
|
||||
return commentZbService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,304 @@
|
||||
package io.v.nutz.wakershome.mobile;
|
||||
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import cn.wizzer.framework.page.Pagination;
|
||||
import io.v.nutz.annontation.ViReturn;
|
||||
import io.v.nutz.base.result.Result;
|
||||
import io.v.nutz.base.service.BaseService;
|
||||
import io.v.nutz.base.utils.Vi;
|
||||
import io.v.nutz.dao.CndPlus;
|
||||
import io.v.nutz.modules.models.PageForm;
|
||||
import io.v.nutz.sys.models.Sys_union;
|
||||
import io.v.nutz.wakershome.model.review.CommentBz;
|
||||
import io.v.nutz.wakershome.model.review.CommentPeo;
|
||||
import io.v.nutz.wakershome.model.review.CommentResult;
|
||||
import io.v.nutz.wakershome.service.review.CommentPeoService;
|
||||
import io.v.nutz.wakershome.service.review.CommentZbService;
|
||||
import io.v.nutz.wakershome.vo.WakesHomeVo;
|
||||
import io.v.nutz.web.commons.utils.ShiroUtil;
|
||||
import org.apache.shiro.authz.annotation.RequiresAuthentication;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
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.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.lang.util.NutMap;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@IocBean
|
||||
@At("/mobile/wakeshome/review/appraisal")
|
||||
@Ok("json:full")
|
||||
public class MWakesHomeReviewController {
|
||||
|
||||
@Inject
|
||||
private CommentZbService commentZbService;
|
||||
|
||||
@Inject
|
||||
private BaseService baseService;
|
||||
|
||||
@Inject
|
||||
private CommentPeoService commentPeoService;
|
||||
|
||||
@At
|
||||
@Ok("beetl:/mobile/wakeshome/review/appraisal.html")
|
||||
@RequiresAuthentication
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@Ok("beetl:/mobile/wakeshome/review/commentator.html")
|
||||
@RequiresAuthentication
|
||||
public void commentator() {
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@Ok("beetl:/mobile/wakeshome/review/mine.html")
|
||||
@RequiresAuthentication
|
||||
public void mine() {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 民主测评首页展示
|
||||
*
|
||||
* @param pageForm
|
||||
* @param annual
|
||||
* @return
|
||||
*/
|
||||
@At
|
||||
@ViReturn
|
||||
public Object pageData(PageForm pageForm,
|
||||
@Param(value = "annual", required = false) String annual,
|
||||
@Param(value = "type", required = false) Integer type) {
|
||||
Sql sql = Sqls.create("SELECT * FROM `comment_zb` $condition");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
if (Strings.isNotBlank(annual) && Strings.isNotBlank(annual)) {
|
||||
cnd.and("annual", "=", annual);
|
||||
}
|
||||
switch (type) {
|
||||
//进行中
|
||||
case 2 -> cnd.and(new Static("now() >= startTime and now() <= endTime"));
|
||||
//已结束
|
||||
case 3 -> cnd.and(new Static("now() > endTime"));
|
||||
//未开始
|
||||
case 4 -> cnd.and(new Static("now() < startTime"));
|
||||
}
|
||||
sql.setCondition(cnd);
|
||||
Pagination pagination = commentZbService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
List<NutMap> list = pagination.getList();
|
||||
List<Sys_union> unionList = commentZbService.dao().query(Sys_union.class, Cnd.NEW());
|
||||
list.forEach(v -> {
|
||||
//自评模式
|
||||
boolean reviewMode = v.getInt("reviewMode") == 1;
|
||||
if (reviewMode && v.getInt("commentTarget") == 1) {
|
||||
//校工会自评,判断有没有校工会管理员的权限
|
||||
v.put("canJoin", ShiroUtil.hasRole("A06"));
|
||||
} else if (reviewMode && v.getInt("commentTarget") == 2){
|
||||
//分工会自评,判断有没有分工会管理员
|
||||
v.put("canJoin", ShiroUtil.hasRole("H04"));
|
||||
}
|
||||
|
||||
//自选分工会的模式
|
||||
if (StrUtil.isNotBlank(v.getString("unionIds"))) {
|
||||
List<String> unionIdList = JSONUtil.parseArray(v.getString("unionIds")).toList(String.class);
|
||||
String string = unionList.stream().filter(item -> unionIdList.contains(item.getId()))
|
||||
.map(Sys_union::getUnionname).collect(Collectors.joining(","));
|
||||
v.put("unionNames", string);
|
||||
//如果是自评,只有分工会主席才能自评
|
||||
if (reviewMode) {
|
||||
v.put("canJoin", (unionIdList.contains(Vi.getUnionId()) && ShiroUtil.hasRole("H04")));
|
||||
} else {
|
||||
v.put("canJoin", unionIdList.contains(Vi.getUnionId()));
|
||||
}
|
||||
}
|
||||
});
|
||||
return pagination;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据id获取测评内容
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@At
|
||||
@ViReturn
|
||||
public Object getById(String id) {
|
||||
return commentZbService.khzb(id);
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
public Object doSubmit(WakesHomeVo wakesHomeVo) {
|
||||
try {
|
||||
System.out.println(wakesHomeVo);
|
||||
CommentPeo peo = new CommentPeo();
|
||||
if (Strings.isNotBlank(wakesHomeVo.getEvaluatedPersonId())) {
|
||||
peo.setEvaluatedPersonId(wakesHomeVo.getEvaluatedPersonId());
|
||||
peo.setEvaluatedPersonName(wakesHomeVo.getEvaluatedPersonName());
|
||||
peo.setEvaluatedPersonType(wakesHomeVo.getEvaluatedPersonType());
|
||||
}
|
||||
peo.setReviewResult(wakesHomeVo.getReviewResult());
|
||||
peo.setZbId(wakesHomeVo.getId());
|
||||
peo.setReviewTime(DateUtil.now());
|
||||
peo.setFiles(wakesHomeVo.getFiles());
|
||||
peo.setUserId((String) ShiroUtil.getPrincipalProperty("id"));
|
||||
if (Strings.isNotBlank(wakesHomeVo.getPresidentOpinions())) {
|
||||
peo.setPresidentOpinions(wakesHomeVo.getPresidentOpinions());
|
||||
}
|
||||
baseService.dao().insert(peo);
|
||||
List<CommentResult> commentResults = new ArrayList<>();
|
||||
for (CommentBz v : wakesHomeVo.getBzList()) {
|
||||
CommentResult result = new CommentResult();
|
||||
result.setBz_id(v.getId());
|
||||
result.setAssessResult(v.getResultScore());
|
||||
result.setRecommendation(v.getOptions() != null ? v.getOptions() : null);
|
||||
result.setPeo_id(peo.getId());
|
||||
commentResults.add(result);
|
||||
}
|
||||
baseService.dao().insert(commentResults);
|
||||
return Result.success();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return Result.error();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 判断是否测评过
|
||||
*
|
||||
* @param id 指标id
|
||||
* @param evaluatedPersonId 被测评人id
|
||||
* @return
|
||||
*/
|
||||
@At
|
||||
public Object isAssess(@Param("id") String id,
|
||||
@Param(value = "evaluatedPersonId", required = false) String evaluatedPersonId) {
|
||||
//主席测评
|
||||
if (Strings.isNotBlank(evaluatedPersonId)) {
|
||||
CndPlus cnd = CndPlus.create();
|
||||
cnd.and("evaluatedPersonId", "=", evaluatedPersonId);
|
||||
cnd.and("userId", "=", ShiroUtil.getPrincipalProperty("id"));
|
||||
cnd.and("zbId", "=", id);
|
||||
return Result.success().addData(baseService.dao().count(CommentPeo.class, cnd));
|
||||
} else {//会员评家测评
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
cp.*,
|
||||
cz.annual,
|
||||
cz.assessment,
|
||||
cz.assessmentMode,
|
||||
cz.scoringMode,
|
||||
cz.commentTarget
|
||||
FROM
|
||||
`comment_peo` cp
|
||||
LEFT JOIN `comment_zb` cz ON cz.id = cp.zbId
|
||||
where cp.zbId=@zbId and cp.userId=@userId
|
||||
""").setParam("zbId", id).setParam("userId", ShiroUtil.getPrincipalProperty("id"));
|
||||
List<NutMap> list = baseService.listMap(sql);
|
||||
NutMap nutMap = list.stream().findFirst().orElse(null);
|
||||
if (Strings.isNotBlank(nutMap.getString("commentTarget")) && "1".equals(nutMap.getString("assessmentMode"))) {
|
||||
return Result.success().addData(1);
|
||||
} else {
|
||||
return Result.success().addData(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 我的测评页面展示
|
||||
*
|
||||
* @param pageForm
|
||||
* @param annual
|
||||
* @return
|
||||
*/
|
||||
@At
|
||||
@ViReturn
|
||||
public Object onLoad(PageForm pageForm,
|
||||
@Param(value = "annual", required = false) String annual) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
cp.*,
|
||||
cz.annual,
|
||||
cz.assessment,
|
||||
cz.assessmentMode,
|
||||
cz.scoringMode,
|
||||
cz.commentTarget
|
||||
FROM
|
||||
`comment_peo` cp
|
||||
LEFT JOIN `comment_zb` cz ON cz.id = cp.zbId
|
||||
$condition
|
||||
""");
|
||||
CndPlus cnd = CndPlus.create();
|
||||
cnd.andEX("cz.annual", "=", annual);
|
||||
cnd.and("cp.userId", "=", ShiroUtil.getPrincipalProperty("id"));
|
||||
cnd.desc("cp.reviewTime");
|
||||
sql.setCondition(cnd);
|
||||
return baseService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取测评结果信息
|
||||
*
|
||||
* @param peoId
|
||||
* @return
|
||||
*/
|
||||
@At
|
||||
@ViReturn
|
||||
public Object getBzById(@Param("peoId") String peoId) {
|
||||
return commentPeoService.getBzById(peoId);
|
||||
}
|
||||
|
||||
private static final String GH01 = "9c1f19e385914fef82bc35da7c9ded36";
|
||||
private static final String GH02 = "672b47cfc79c4a77878c0f2cfd5734be";
|
||||
|
||||
/**
|
||||
* 获取分工会主席和副主席
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@At
|
||||
@ViReturn
|
||||
public Object getPresidents() {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
u.id,
|
||||
u.loginname,
|
||||
u.username,
|
||||
sr.`name` evaluatedPersonType,
|
||||
GROUP_CONCAT( DISTINCT u.username, '(', sr.`name`, ')' ) presidents
|
||||
FROM
|
||||
`user` u
|
||||
LEFT JOIN `sys_user_role` sur ON u.id = sur.userId
|
||||
LEFT JOIN `sys_role` sr ON sur.roleId = sr.id
|
||||
$condition
|
||||
""");
|
||||
CndPlus cnd = CndPlus.create();
|
||||
cnd.and("sr.`id`", "in", Lang.array(GH01, GH02));
|
||||
cnd.and("u.unionid", "=", Vi.getUnionId());
|
||||
cnd.groupBy("u.id");
|
||||
cnd.asc("u.loginname");
|
||||
sql.setCondition(cnd);
|
||||
return baseService.listMap(sql);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,123 @@
|
||||
package io.v.nutz.wakershome.model;
|
||||
|
||||
import io.v.nutz.sys.models.Sys_file;
|
||||
import lombok.Data;
|
||||
import org.nutz.dao.entity.annotation.*;
|
||||
import org.nutz.dao.interceptor.annotation.PrevInsert;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Table
|
||||
public class WakesHome {
|
||||
|
||||
@Name
|
||||
@Column
|
||||
@Comment("ID")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@PrevInsert(uu32 = true)
|
||||
private String id;
|
||||
|
||||
@Column
|
||||
@Comment("填报人")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String username;
|
||||
|
||||
@Column
|
||||
@Comment("联系方式")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String mobile;
|
||||
|
||||
@Column
|
||||
@Comment("所属工会id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String unionId;
|
||||
|
||||
@Column
|
||||
@Comment("工会名称")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
private String unionName;
|
||||
|
||||
@Column
|
||||
@Comment("填报时间")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
private String applyTime;
|
||||
|
||||
@Column
|
||||
@Comment("填报类别(校工会/分工会)")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 10)
|
||||
private String category;
|
||||
|
||||
@Column
|
||||
@Comment("创办时间")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
private String foundTime;
|
||||
|
||||
@Column
|
||||
@Comment("单位位置")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 100)
|
||||
private String position;
|
||||
|
||||
@Column
|
||||
@Comment("单位面积")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 10)
|
||||
private String area;
|
||||
|
||||
@Column
|
||||
@Comment("单位信息")
|
||||
@ColDefine(type = ColType.TEXT)
|
||||
private String details;
|
||||
|
||||
@Column
|
||||
@Comment("获奖情况")
|
||||
@ColDefine(type = ColType.MYSQL_JSON)
|
||||
private List<awardInfo> awardInfo;
|
||||
|
||||
@Column
|
||||
@Comment("图片文件")
|
||||
@ColDefine(type = ColType.MYSQL_JSON)
|
||||
private List<Sys_file> picFiles;
|
||||
|
||||
@Column
|
||||
@Comment("附件")
|
||||
@ColDefine(type = ColType.MYSQL_JSON)
|
||||
private List<Sys_file> files;
|
||||
|
||||
@Column
|
||||
@Comment("分工会审核id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String unionAuditId;
|
||||
|
||||
@Column
|
||||
@Comment("校工会审核id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String schoolAuditId;
|
||||
|
||||
@Column
|
||||
@Comment("状态")
|
||||
@ColDefine(type = ColType.INT)
|
||||
private Integer state;
|
||||
|
||||
|
||||
@Data
|
||||
public static class awardInfo implements Serializable {
|
||||
/**
|
||||
* 获奖日期
|
||||
*/
|
||||
private String awardTime;
|
||||
/**
|
||||
* 获奖单位
|
||||
*/
|
||||
private String awardUnit;
|
||||
/**
|
||||
* 奖项名称
|
||||
*/
|
||||
private String awardName;
|
||||
/**
|
||||
* 奖项照片
|
||||
*/
|
||||
private String awardPic;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,103 @@
|
||||
package io.v.nutz.wakershome.model;
|
||||
|
||||
import io.v.nutz.base.model.BaseModel;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.nutz.dao.entity.annotation.*;
|
||||
import org.nutz.dao.interceptor.annotation.PrevInsert;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @version 1.0
|
||||
* @Author zzr
|
||||
* @name:WakesHomeApply
|
||||
* @Date 2024/7/31 10:47
|
||||
* @注释 职工之家申报
|
||||
*/
|
||||
@Data
|
||||
@Table
|
||||
@Comment("职工之家申报")
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class WakesHomeApply extends BaseModel implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Column
|
||||
@Name
|
||||
@Comment("id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@PrevInsert(uu32 = true)
|
||||
private String id;
|
||||
|
||||
@Column
|
||||
@Comment("申报人id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String userId;
|
||||
|
||||
@Column
|
||||
@Comment("申报人工号")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
private String loginName;
|
||||
|
||||
@Column
|
||||
@Comment("申报人姓名")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
private String username;
|
||||
|
||||
@Column
|
||||
@Comment("申报人单位id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String unitId;
|
||||
|
||||
@Column
|
||||
@Comment("申报人单位名称")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
private String unitName;
|
||||
|
||||
@Column
|
||||
@Comment("申报人工会Id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String unionId;
|
||||
|
||||
@Column
|
||||
@Comment("申报人工会名称")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
private String unionName;
|
||||
|
||||
@Column
|
||||
@Comment("联系电话")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
private String mobile;
|
||||
|
||||
@Column
|
||||
@Comment("基本情况简介(500字内)")
|
||||
@ColDefine(type = ColType.TEXT)
|
||||
private String basicInformation;
|
||||
|
||||
@Column
|
||||
@Comment("建设方案")
|
||||
@ColDefine(type = ColType.TEXT)
|
||||
private String constructionPlan;
|
||||
|
||||
@Column
|
||||
@Comment("基层党组织审核Id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String organizationAuditId;
|
||||
|
||||
@Column
|
||||
@Comment("校工会审核Id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String schoolAuditId;
|
||||
|
||||
//10000待提交;10010待基层党组织审核;10020待校工会审核;10030审核通过
|
||||
@Column
|
||||
@Comment("当前状态")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 10)
|
||||
private String state;
|
||||
|
||||
@Column
|
||||
@Comment("申报时间")
|
||||
@ColDefine(type = ColType.DATE)
|
||||
private String applyDate;
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
package io.v.nutz.wakershome.model;
|
||||
|
||||
import io.v.nutz.base.model.BaseModel;
|
||||
import io.v.nutz.sys.models.Sys_file;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.nutz.dao.entity.annotation.*;
|
||||
import org.nutz.dao.interceptor.annotation.PrevInsert;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @version 1.0
|
||||
* @Author zzr
|
||||
* @name:WakesHomeDataRevel
|
||||
* @Date 2024/7/30 15:29
|
||||
* @注释 职工建家资料管理
|
||||
*/
|
||||
@Data
|
||||
@Table
|
||||
@Comment("职工建家资料管理")
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class WakesHomeDataRevel extends BaseModel {
|
||||
|
||||
@Name
|
||||
@Comment("id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@PrevInsert(uu32 = true)
|
||||
private String id;
|
||||
|
||||
@Column
|
||||
@Comment("资料名称")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 100)
|
||||
private String revelName;
|
||||
|
||||
@Column
|
||||
@Comment("上传人id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String userId;
|
||||
|
||||
@Column
|
||||
@Comment("上传人工号")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
private String loginName;
|
||||
|
||||
@Column
|
||||
@Comment("上传人姓名")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
private String username;
|
||||
|
||||
@Column
|
||||
@Comment("上传人单位id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String unitId;
|
||||
|
||||
@Column
|
||||
@Comment("上传人单位名称")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 100)
|
||||
private String unitName;
|
||||
|
||||
@Column
|
||||
@Comment("上传人工会id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String unionId;
|
||||
|
||||
@Column
|
||||
@Comment("上传人工会名称")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 100)
|
||||
private String unionName;
|
||||
|
||||
@Column
|
||||
@Comment("上传时间")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 20)
|
||||
private String time;
|
||||
|
||||
@Column
|
||||
@Comment("类型Id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String typeId;
|
||||
|
||||
@Column
|
||||
@Comment("附件")
|
||||
@ColDefine(type = ColType.MYSQL_JSON)
|
||||
private List<Sys_file> files;
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
package io.v.nutz.wakershome.model;
|
||||
|
||||
import io.v.nutz.base.model.BaseModel;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.nutz.dao.entity.annotation.*;
|
||||
import org.nutz.dao.interceptor.annotation.PrevInsert;
|
||||
|
||||
/**
|
||||
* @version 1.0
|
||||
* @Author zzr
|
||||
* @name:WakesHomeDataType
|
||||
* @Date 2024/7/30 15:29
|
||||
* @注释 职工建家资料类型管理
|
||||
*/
|
||||
@Data
|
||||
@Table
|
||||
@Comment("职工建家资料类型管理")
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class WakesHomeDataType extends BaseModel {
|
||||
|
||||
@Name
|
||||
@Comment("id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@PrevInsert(uu32 = true)
|
||||
private String id;
|
||||
|
||||
@Column
|
||||
@Comment("类型编码")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 10)
|
||||
private String code;
|
||||
|
||||
@Column
|
||||
@Comment("工作资料类型名称")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 80)
|
||||
private String typeName;
|
||||
|
||||
@Column
|
||||
@Comment("序号")
|
||||
@ColDefine(type = ColType.INT)
|
||||
private Integer serialNum;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
package io.v.nutz.wakershome.model.review;
|
||||
|
||||
import cn.wizzer.framework.base.model.BaseModel;
|
||||
import lombok.Data;
|
||||
import org.nutz.dao.DB;
|
||||
import org.nutz.dao.entity.annotation.*;
|
||||
|
||||
/**
|
||||
* @ClassName CommentBz
|
||||
* @Description TODO
|
||||
* @Author zhf
|
||||
* @Date 2023/9/4 16:24
|
||||
*/
|
||||
@Data
|
||||
@Table
|
||||
public class CommentBz extends BaseModel {
|
||||
|
||||
@Column
|
||||
@Name
|
||||
@Comment("id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@Prev(els = {@EL("uuid()")})
|
||||
private String id;
|
||||
|
||||
|
||||
@Column
|
||||
@Comment("CommentNr表的id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String nr_id;
|
||||
|
||||
|
||||
@Column
|
||||
@Comment("考核标准")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 500)
|
||||
private String inspection;
|
||||
|
||||
|
||||
@Column
|
||||
@Comment("是否启用佐证材料")
|
||||
@ColDefine(type = ColType.BOOLEAN)
|
||||
private boolean isEvidence;
|
||||
|
||||
@Column
|
||||
@Comment("标准分")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String score;
|
||||
|
||||
@Column
|
||||
@Comment("单项得分")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String single_score;
|
||||
|
||||
@Column
|
||||
@Comment("自评能否超过最高分")
|
||||
@ColDefine(type = ColType.BOOLEAN)
|
||||
private boolean beyondHighestScore;
|
||||
|
||||
@Column
|
||||
@Comment("关联模块")
|
||||
@ColDefine(type = ColType.VARCHAR,width = 100)
|
||||
private String associatedModule;
|
||||
|
||||
@Column
|
||||
@Comment("标准标识")
|
||||
@ColDefine(type = ColType.VARCHAR,width = 100)
|
||||
private String bz_relation_id;
|
||||
|
||||
@Column
|
||||
@Comment("CommentZb表的id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String zb_id;
|
||||
|
||||
|
||||
@Column
|
||||
@Comment("题号")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 100)
|
||||
private String contentNumber;
|
||||
|
||||
@Column
|
||||
@Comment("排序字段")
|
||||
@Prev({
|
||||
@SQL(db = DB.MYSQL, value = "SELECT IFNULL(MAX(location),0)+1 FROM comment_bz"),
|
||||
})
|
||||
private Integer location;
|
||||
|
||||
@Column
|
||||
@Comment("能否删除该项")
|
||||
@ColDefine(type = ColType.BOOLEAN)
|
||||
private boolean canDelete;
|
||||
|
||||
@One(field = "nr_id",key = "id")
|
||||
private CommentNr nr;
|
||||
|
||||
private String resultScore;
|
||||
|
||||
private String options;
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package io.v.nutz.wakershome.model.review;
|
||||
|
||||
import lombok.Data;
|
||||
import org.nutz.dao.entity.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @ClassName CommentExport
|
||||
* @Description TODO
|
||||
* @Author zhf
|
||||
* @Date 2023/9/7 15:19
|
||||
*/
|
||||
@Data
|
||||
@Table
|
||||
public class CommentExport {
|
||||
|
||||
|
||||
@Column
|
||||
@Name
|
||||
@Comment("id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@Prev(els = {@EL("uuid()")})
|
||||
private String id;
|
||||
|
||||
|
||||
@Column
|
||||
@Comment("导出的名称")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String exportName;
|
||||
|
||||
@Column
|
||||
@Comment("zbids")
|
||||
@ColDefine(type = ColType.MYSQL_JSON)
|
||||
private List<String> zbIds;
|
||||
|
||||
|
||||
@Column
|
||||
@Comment("创建时间")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 20)
|
||||
private String createTime;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package io.v.nutz.wakershome.model.review;
|
||||
|
||||
import cn.wizzer.framework.base.model.BaseModel;
|
||||
import lombok.Data;
|
||||
import org.nutz.dao.DB;
|
||||
import org.nutz.dao.entity.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @ClassName CommentNr
|
||||
* @Description TODO
|
||||
* @Author zhf
|
||||
* @Date 2023/9/4 16:13
|
||||
*/
|
||||
@Data
|
||||
@Table
|
||||
public class CommentNr extends BaseModel {
|
||||
|
||||
|
||||
@Column
|
||||
@Name
|
||||
@Comment("id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@Prev(els = {@EL("uuid()")})
|
||||
private String id;
|
||||
|
||||
@Column
|
||||
@Comment("考核内容")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 100)
|
||||
private String content;
|
||||
|
||||
@Column
|
||||
@Comment("题号")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 100)
|
||||
private String contentNumber;
|
||||
|
||||
|
||||
@Column
|
||||
@Comment("CommentZb表的id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String zb_id;
|
||||
|
||||
@One(field = "zb_id",key = "id")
|
||||
private CommentZb zb;
|
||||
|
||||
@Many(field = "nr_id")
|
||||
private List<CommentBz> bzs;
|
||||
|
||||
@Column
|
||||
@Comment("排序字段")
|
||||
@Prev({
|
||||
@SQL(db= DB.MYSQL,value = "SELECT IFNULL(MAX(location),0)+1 FROM comment_nr"),
|
||||
})
|
||||
private Integer location;
|
||||
|
||||
@Column
|
||||
@Comment("备注")
|
||||
@ColDefine(type = ColType.TEXT)
|
||||
private String remark;
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
package io.v.nutz.wakershome.model.review;
|
||||
|
||||
|
||||
import io.v.nutz.sys.models.Sys_file;
|
||||
import lombok.Data;
|
||||
import org.nutz.dao.entity.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Table
|
||||
public class CommentPeo {
|
||||
|
||||
@Column
|
||||
@Name
|
||||
@Comment("id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@Prev(els = {@EL("uuid()")})
|
||||
private String id;
|
||||
|
||||
|
||||
@Column
|
||||
@Comment("测评人")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String userId;
|
||||
|
||||
|
||||
@Column
|
||||
@Comment("被测评人id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String evaluatedPersonId;
|
||||
|
||||
@Column
|
||||
@Comment("被测评人姓名")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 20)
|
||||
private String evaluatedPersonName;
|
||||
|
||||
@Column
|
||||
@Comment("被测评人职务(主席/副主席)")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 10)
|
||||
private String evaluatedPersonType;
|
||||
|
||||
|
||||
@Column
|
||||
@Comment("指标id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String zbId;
|
||||
|
||||
@Column
|
||||
@Comment("主席测评意见")
|
||||
@ColDefine(type = ColType.TEXT)
|
||||
private String presidentOpinions;
|
||||
|
||||
@Column
|
||||
@Comment("评测结果")
|
||||
@ColDefine(type = ColType.VARCHAR,width = 10)
|
||||
private String reviewResult;
|
||||
|
||||
@Column
|
||||
@Comment("测评时间")
|
||||
@ColDefine(type = ColType.VARCHAR,width = 20)
|
||||
private String reviewTime;
|
||||
|
||||
|
||||
@Many(field = "peo_id")
|
||||
private List<CommentResult> resultList;
|
||||
|
||||
|
||||
@Column
|
||||
@Comment("自我测评的附件")
|
||||
@ColDefine(type = ColType.MYSQL_JSON)
|
||||
private List<Sys_file> files;
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
package io.v.nutz.wakershome.model.review;
|
||||
|
||||
|
||||
import lombok.Data;
|
||||
import org.nutz.dao.entity.annotation.*;
|
||||
|
||||
@Data
|
||||
@Table
|
||||
public class CommentResult {
|
||||
|
||||
@Column
|
||||
@Name
|
||||
@Comment("id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@Prev(els = {@EL("uuid()")})
|
||||
private String id;
|
||||
|
||||
|
||||
@Column
|
||||
@Comment("CommentPeo表的id(测评人表id)")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String peo_id;
|
||||
|
||||
|
||||
@Column
|
||||
@Comment("CommentBz表的id(测评标准id)")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String bz_id;
|
||||
|
||||
|
||||
@Column
|
||||
@Comment("测评分数/满意度")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 10)
|
||||
private String assessResult;
|
||||
|
||||
|
||||
@Column
|
||||
@Comment("会员评家意见或建议")
|
||||
@ColDefine(type = ColType.TEXT)
|
||||
private String recommendation;
|
||||
|
||||
|
||||
@One(field = "peo_id",key = "id")
|
||||
private CommentPeo peo;
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
package io.v.nutz.wakershome.model.review;
|
||||
|
||||
import cn.wizzer.framework.base.model.BaseModel;
|
||||
import lombok.Data;
|
||||
import org.nutz.dao.DB;
|
||||
import org.nutz.dao.entity.annotation.*;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @ClassName CommentZb
|
||||
* @Description TODO
|
||||
* @Author zhf
|
||||
* @Date 2023/9/4 15:39
|
||||
*/
|
||||
@Data
|
||||
@Table
|
||||
public class CommentZb extends BaseModel {
|
||||
|
||||
@Column
|
||||
@Name
|
||||
@Comment("id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@Prev(els = {@EL("uuid()")})
|
||||
private String id;
|
||||
|
||||
@Column
|
||||
@Comment("年度")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String annual;
|
||||
|
||||
@Column
|
||||
@Comment("考核名称")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String assessment;
|
||||
|
||||
@Column
|
||||
@Comment("添加时间")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String addTime;
|
||||
|
||||
@Column
|
||||
@Comment("评议选项(1.工会评家2.主席评家)")
|
||||
@ColDefine(type = ColType.INT)
|
||||
private Integer assessmentMode;
|
||||
|
||||
@Column
|
||||
@Comment("可报名范围组别")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private Integer activityGroupId;
|
||||
|
||||
@Column
|
||||
@Comment("评议范围(1.校工会 2.全部分工会 3.自选分工会)")
|
||||
@ColDefine(type = ColType.INT)
|
||||
private Integer commentTarget;
|
||||
|
||||
@Column
|
||||
@Comment("打分模式(1.评分模式2.选择满意不满意模式)")
|
||||
@ColDefine(type = ColType.INT)
|
||||
private Integer scoringMode;
|
||||
|
||||
|
||||
@Many(field = "zb_id")
|
||||
private List<CommentNr> nrs;
|
||||
|
||||
@Column
|
||||
@Comment("排序字段")
|
||||
@Prev({
|
||||
@SQL(db= DB.MYSQL,value = "SELECT IFNULL(MAX(location),0)+1 FROM comment_zb"),
|
||||
})
|
||||
private Integer location;
|
||||
|
||||
|
||||
@Column
|
||||
@Comment("自选分工会Id")
|
||||
@ColDefine(type = ColType.MYSQL_JSON)
|
||||
private List<String> unionIds;
|
||||
|
||||
@Column
|
||||
@Comment("评议开始时间")
|
||||
@ColDefine(type = ColType.DATETIME)
|
||||
private Date startTime;
|
||||
|
||||
|
||||
@Column
|
||||
@Comment("评议结束时间")
|
||||
@ColDefine(type = ColType.DATETIME)
|
||||
private Date endTime;
|
||||
|
||||
|
||||
@Column
|
||||
@Comment("评议模式(1.自评模式 2.教职工评议)")
|
||||
@ColDefine(type = ColType.INT)
|
||||
private Integer reviewMode;
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package io.v.nutz.wakershome.service;
|
||||
|
||||
import io.v.nutz.base.service.BaseService;
|
||||
import io.v.nutz.wakershome.model.WakesHomeApply;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
|
||||
/**
|
||||
* @version 1.0
|
||||
* @Author zzr
|
||||
* @name:IWakesHomeApplyService
|
||||
* @Date 2024/7/31 11:09
|
||||
* @注释
|
||||
*/
|
||||
public interface IWakesHomeApplyService extends BaseService<WakesHomeApply> {
|
||||
|
||||
NutMap findById(String id);
|
||||
|
||||
void setParams(WakesHomeApply wakesHomeApply);
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package io.v.nutz.wakershome.service;
|
||||
|
||||
import io.v.nutz.service.ViService;
|
||||
import io.v.nutz.wakershome.model.WakesHome;
|
||||
|
||||
public interface WakesHomeInfoService extends ViService<WakesHome> {
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
package io.v.nutz.wakershome.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import io.v.nutz.base.service.impl.BaseServiceImpl;
|
||||
import io.v.nutz.modules.models.Audit;
|
||||
import io.v.nutz.sys.models.User;
|
||||
import io.v.nutz.util.ShiroUtil;
|
||||
import io.v.nutz.wakershome.model.WakesHomeApply;
|
||||
import io.v.nutz.wakershome.service.IWakesHomeApplyService;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.lang.Lang;
|
||||
import org.nutz.lang.random.R;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
|
||||
/**
|
||||
* @version 1.0
|
||||
* @Author zzr
|
||||
* @name:WakesHomeApplyServiceImpl
|
||||
* @Date 2024/7/31 11:10
|
||||
* @注释
|
||||
*/
|
||||
@IocBean(args = {"refer:dao"})
|
||||
public class WakesHomeApplyServiceImpl extends BaseServiceImpl<WakesHomeApply> implements IWakesHomeApplyService {
|
||||
public WakesHomeApplyServiceImpl(Dao dao) {
|
||||
super(dao);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public NutMap findById(String id) {
|
||||
WakesHomeApply apply = fetch(id);
|
||||
NutMap nutMap = Lang.obj2nutmap(apply);
|
||||
if (StrUtil.isNotBlank(apply.getOrganizationAuditId())) {
|
||||
Audit audit = dao().fetch(Audit.class, Cnd.where("id", "=", apply.getOrganizationAuditId()));
|
||||
nutMap.put("organizationAudit", Lang.obj2nutmap(audit));
|
||||
}
|
||||
if (StrUtil.isNotBlank(apply.getSchoolAuditId())) {
|
||||
Audit audit = dao().fetch(Audit.class, Cnd.where("id", "=", apply.getSchoolAuditId()));
|
||||
nutMap.put("schoolAudit", Lang.obj2nutmap(audit));
|
||||
}
|
||||
return nutMap;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void setParams(WakesHomeApply wakesHomeApply) {
|
||||
User user = dao().fetch(User.class, Cnd.where("id", "=", ShiroUtil.getUserId()));
|
||||
wakesHomeApply.setId(R.UU32());
|
||||
wakesHomeApply.setApplyDate(DateUtil.today());
|
||||
wakesHomeApply.setUnitId(user.getUnitid());
|
||||
wakesHomeApply.setUnitName(user.getUnitname());
|
||||
wakesHomeApply.setUnionId(user.getUnionid());
|
||||
wakesHomeApply.setUnionName(user.getUnionname());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package io.v.nutz.wakershome.service.impl;
|
||||
|
||||
import io.v.nutz.service.impl.ViServiceImpl;
|
||||
import io.v.nutz.wakershome.model.WakesHome;
|
||||
import io.v.nutz.wakershome.service.WakesHomeInfoService;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
|
||||
@IocBean(args = {"refer:dao"})
|
||||
public class WakesHomeInfoServiceImpl extends ViServiceImpl<WakesHome> implements WakesHomeInfoService {
|
||||
public WakesHomeInfoServiceImpl(Dao dao) {
|
||||
super(dao);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package io.v.nutz.wakershome.service.impl.review;
|
||||
|
||||
import io.v.nutz.service.impl.ViServiceImpl;
|
||||
import io.v.nutz.wakershome.model.review.CommentBz;
|
||||
import io.v.nutz.wakershome.service.review.CommentBzService;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
|
||||
/**
|
||||
* @ClassName CommentBzServiceImpl
|
||||
* @Description TODO
|
||||
* @Author zhf
|
||||
* @Date 2023/9/4 16:30
|
||||
*/
|
||||
@IocBean(args = {"refer:dao"})
|
||||
public class CommentBzServiceImpl extends ViServiceImpl<CommentBz> implements CommentBzService {
|
||||
public CommentBzServiceImpl(Dao dao) {
|
||||
super(dao);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package io.v.nutz.wakershome.service.impl.review;
|
||||
|
||||
import io.v.nutz.service.impl.ViServiceImpl;
|
||||
import io.v.nutz.wakershome.model.review.CommentNr;
|
||||
import io.v.nutz.wakershome.service.review.CommentNrService;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
|
||||
/**
|
||||
* @ClassName CommentNrServiceImpl
|
||||
* @Description TODO
|
||||
* @Author zhf
|
||||
* @Date 2023/9/4 16:28
|
||||
*/
|
||||
@IocBean(args = {"refer:dao"})
|
||||
public class CommentNrServiceImpl extends ViServiceImpl<CommentNr> implements CommentNrService {
|
||||
public CommentNrServiceImpl(Dao dao) {
|
||||
super(dao);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
package io.v.nutz.wakershome.service.impl.review;
|
||||
|
||||
|
||||
import cn.wizzer.framework.base.service.BaseService;
|
||||
import io.v.nutz.service.impl.ViServiceImpl;
|
||||
import io.v.nutz.wakershome.model.review.CommentNr;
|
||||
import io.v.nutz.wakershome.model.review.CommentPeo;
|
||||
import io.v.nutz.wakershome.model.review.CommentResult;
|
||||
import io.v.nutz.wakershome.model.review.CommentZb;
|
||||
import io.v.nutz.wakershome.service.review.CommentPeoService;
|
||||
import io.v.nutz.wakershome.service.review.CommentZbService;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@IocBean(args = {"refer:dao"})
|
||||
public class CommentPeoServiceImpl extends ViServiceImpl<CommentPeo> implements CommentPeoService {
|
||||
|
||||
public CommentPeoServiceImpl(Dao dao) {super(dao);}
|
||||
|
||||
@Inject
|
||||
private BaseService baseService;
|
||||
|
||||
@Inject
|
||||
private CommentZbService commentZbService;
|
||||
|
||||
/**
|
||||
* 获取测评结果信息
|
||||
* @param peoId 指标id
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public NutMap getBzById(String peoId) {
|
||||
CommentPeo commentPeo = fetch(peoId);
|
||||
List<CommentResult> query = baseService.dao().query(CommentResult.class, Cnd.where("peo_id","=",peoId));
|
||||
//对测评标准分组
|
||||
Map<String, CommentResult> commentResultMap = query.stream().collect(Collectors.toMap(v -> v.getBz_id(), v -> v));
|
||||
//获取指标
|
||||
CommentZb khzb = commentZbService.khzb(commentPeo.getZbId());
|
||||
List<CommentNr> nrs = khzb.getNrs();
|
||||
nrs.forEach(v->{
|
||||
v.getBzs().forEach(o->{
|
||||
//赋值测评结果
|
||||
CommentResult result = commentResultMap.get(o.getId());
|
||||
o.setOptions(result.getRecommendation());
|
||||
o.setResultScore(result.getAssessResult());
|
||||
});
|
||||
});
|
||||
NutMap nutMap = new NutMap();
|
||||
nutMap.setv("zbxx",khzb);
|
||||
nutMap.setv("commentPeo",commentPeo);
|
||||
return nutMap;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
package io.v.nutz.wakershome.service.impl.review;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import io.v.nutz.service.impl.ViServiceImpl;
|
||||
import io.v.nutz.wakershome.model.review.CommentNr;
|
||||
import io.v.nutz.wakershome.model.review.CommentZb;
|
||||
import io.v.nutz.wakershome.service.review.CommentNrService;
|
||||
import io.v.nutz.wakershome.service.review.CommentZbService;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @ClassName CommentZbServiceImpl
|
||||
* @Description TODO
|
||||
* @Author zhf
|
||||
* @Date 2023/9/4 15:54
|
||||
*/
|
||||
@IocBean(args = {"refer:dao"})
|
||||
public class CommentZbServiceImpl extends ViServiceImpl<CommentZb> implements CommentZbService {
|
||||
public CommentZbServiceImpl(Dao dao) {
|
||||
super(dao);
|
||||
}
|
||||
|
||||
@Inject
|
||||
private CommentNrService commentNrService;
|
||||
|
||||
|
||||
private void setNrBz(List<CommentNr> nrs) {
|
||||
for (CommentNr nr : nrs) {
|
||||
nr = commentNrService.fetchLinks(nr, "bzs", Cnd.NEW().asc("location"));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommentZb khzb(String zbid) {
|
||||
if (StrUtil.isBlank(zbid)) {
|
||||
return null;
|
||||
}
|
||||
CommentZb zb = fetchLinks(fetch(zbid), "nrs", Cnd.NEW().asc("location"));
|
||||
setNrBz(zb.getNrs());
|
||||
return zb;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package io.v.nutz.wakershome.service.review;
|
||||
|
||||
import io.v.nutz.service.ViService;
|
||||
import io.v.nutz.wakershome.model.review.CommentBz;
|
||||
|
||||
public interface CommentBzService extends ViService<CommentBz> {
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package io.v.nutz.wakershome.service.review;
|
||||
|
||||
import io.v.nutz.service.ViService;
|
||||
import io.v.nutz.wakershome.model.review.CommentNr;
|
||||
|
||||
public interface CommentNrService extends ViService<CommentNr> {
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package io.v.nutz.wakershome.service.review;
|
||||
|
||||
import io.v.nutz.service.ViService;
|
||||
import io.v.nutz.wakershome.model.review.CommentPeo;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
|
||||
public interface CommentPeoService extends ViService<CommentPeo> {
|
||||
|
||||
/**
|
||||
* 根据指标id和被测评人id查测评结果
|
||||
* @param peoId 指标id
|
||||
* @return
|
||||
*/
|
||||
NutMap getBzById(String peoId);
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package io.v.nutz.wakershome.service.review;
|
||||
|
||||
import io.v.nutz.service.ViService;
|
||||
import io.v.nutz.wakershome.model.review.CommentZb;
|
||||
|
||||
public interface CommentZbService extends ViService<CommentZb> {
|
||||
|
||||
|
||||
CommentZb khzb(String zbid);
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package io.v.nutz.wakershome.vo;
|
||||
|
||||
import io.v.nutz.sys.models.Sys_file;
|
||||
import io.v.nutz.wakershome.model.review.CommentBz;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @version 1.0
|
||||
* @Author zzr
|
||||
* @name:WakesHomeVo
|
||||
* @Date 2024/8/1 16:06
|
||||
* @注释 职工建家vo
|
||||
*/
|
||||
@Data
|
||||
public class WakesHomeVo {
|
||||
|
||||
private String id;
|
||||
|
||||
private List<CommentBz> bzList;
|
||||
|
||||
private String reviewResult;
|
||||
|
||||
private String evaluatedPersonId;
|
||||
|
||||
private String evaluatedPersonName;
|
||||
|
||||
private String evaluatedPersonType;
|
||||
|
||||
private String presidentOpinions;
|
||||
|
||||
private List<Sys_file> files;
|
||||
}
|
||||
@@ -18,6 +18,7 @@ import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.lang.Strings;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -284,9 +285,14 @@ public class ViCommonCon {
|
||||
*/
|
||||
@At
|
||||
@ViReturn
|
||||
public Object unions(String delegationId) {
|
||||
public Object unions(@Param(value = "delegationId", required = false) String delegationId, boolean isPermission) {
|
||||
if (Strings.isBlank(delegationId)) {
|
||||
return sysUnionService.query(Cnd.where("isEnable", "=", true).orderBy().asc("unioncode"));
|
||||
Cnd cndX = Cnd.NEW();
|
||||
if (isPermission) {
|
||||
cndX.and("id", "=", Vi.getUnionId());
|
||||
}
|
||||
cndX.asc("unioncode");
|
||||
return sysUnionService.query(cndX);
|
||||
}
|
||||
Cnd cnd = Cnd.NEW();
|
||||
Sql sql = Sqls.create("""
|
||||
@@ -300,7 +306,7 @@ public class ViCommonCon {
|
||||
LEFT JOIN jdh_dbt dbt ON zc.dbtid = dbt.id $condition
|
||||
""");
|
||||
|
||||
cnd.and("zc.dbtid", "=", delegationId).and("uni.isEnable", "=", true)
|
||||
cnd.and("zc.dbtid", "=", delegationId)
|
||||
.groupBy("uni.id")
|
||||
.asc("uni.unioncode");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user