first commit
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
package io.v.nutz.honor.controller;
|
||||
|
||||
|
||||
import io.v.nutz.annontation.ViReturn;
|
||||
import io.v.nutz.base.utils.Vi;
|
||||
import io.v.nutz.honor.models.Honor;
|
||||
import io.v.nutz.honor.models.HonorApply;
|
||||
import io.v.nutz.sys.models.Sys_menu;
|
||||
import io.v.nutz.sys.models.Sys_user;
|
||||
import io.v.nutz.util.ShiroUtil;
|
||||
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.Strings;
|
||||
import org.nutz.lang.Tasks;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@IocBean
|
||||
@Ok("json:full")
|
||||
@At("/platform/honor/agent")
|
||||
public class HonorAgentController {
|
||||
|
||||
|
||||
@Inject
|
||||
private Vi vi;
|
||||
|
||||
@Inject
|
||||
private Dao dao;
|
||||
|
||||
private static final String UNIT = "/platform/honor/unit/audit";
|
||||
private static final String UNION = "/platform/honor/union/audit";
|
||||
private static final String PARTY = "/platform/honor/party/audit";
|
||||
private static final String SCHOOL = "/platform/honor/school/audit";
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
public Object getAgenda() {
|
||||
final String title = "【荣誉管理系统】";
|
||||
|
||||
List<NutMap> result = new ArrayList<>();
|
||||
result.add(new NutMap().setv("title", title).setv("url", UNIT).setv("iconClass", vi.getIconByPath(UNIT)).setv("label", "待单位审核").setv("number", getCount(1500)));
|
||||
result.add(new NutMap().setv("title", title).setv("url", UNION).setv("iconClass", vi.getIconByPath(UNION)).setv("label", "待部门工会审核").setv("number", getCount(1600)));
|
||||
result.add(new NutMap().setv("title", title).setv("url", PARTY).setv("iconClass", vi.getIconByPath(PARTY)).setv("label", "待院级党组织审核").setv("number", getCount(1700)));
|
||||
result.add(new NutMap().setv("title", title).setv("url", SCHOOL).setv("iconClass", vi.getIconByPath(SCHOOL)).setv("label", "待校工会审核").setv("number", getCount(1800)));
|
||||
|
||||
|
||||
Sys_user user = (Sys_user) ShiroUtil.getPrincipal();
|
||||
List<Sys_menu> menus = Optional.ofNullable(user).orElse(new Sys_user()).getMenus();
|
||||
return result.stream().filter(v -> Strings.isNotBlank(v.getString("url")) && menus.stream().anyMatch(x -> Strings.isNotBlank(x.getHref()) && v.getString("url").contains(x.getHref()))).distinct().collect(Collectors.toList());
|
||||
}
|
||||
|
||||
|
||||
private Integer getCount(Integer stateCode) {
|
||||
return dao.count(HonorApply.class, Cnd.where("stateId", "=", stateCode));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,139 @@
|
||||
package io.v.nutz.honor.controller;
|
||||
|
||||
import io.v.nutz.annontation.ViReturn;
|
||||
import io.v.nutz.base.utils.DateUtil;
|
||||
import io.v.nutz.dao.CndPlus;
|
||||
import io.v.nutz.honor.models.HonorApply;
|
||||
import io.v.nutz.modules.models.Audit;
|
||||
import io.v.nutz.modules.models.PageForm;
|
||||
import io.v.nutz.service.ViService;
|
||||
import io.v.nutz.util.ShiroUtil;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
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;
|
||||
|
||||
/**
|
||||
* @author zhf
|
||||
* @date 2021/11/18 11:36
|
||||
* @description
|
||||
*/
|
||||
@At("/platform/honor/apply")
|
||||
@IocBean
|
||||
@Ok("json:full")
|
||||
public class HonorApplyController {
|
||||
|
||||
|
||||
@Inject("HonorApply")
|
||||
private ViService<HonorApply> honorApplyViService;
|
||||
|
||||
@Inject
|
||||
private Dao dao;
|
||||
|
||||
|
||||
@At("")
|
||||
@RequiresPermissions("honor.apply")
|
||||
@Ok("beetl:/platform/honor/apply.html")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
public Object doSubmit(HonorApply honorApply) {
|
||||
if (Strings.isNotBlank(honorApply.getId())) {
|
||||
honorApplyViService.updateIgnoreNull(honorApply);
|
||||
} else {
|
||||
honorApply.setApplyTime(DateUtil.getDate());
|
||||
honorApply.setStateId(honorApply.getHonorType().equals("101") ? 1500 : 1600);
|
||||
honorApplyViService.insert(honorApply);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
public Object pageData(PageForm pageForm, String honorLevel, String honorType,Integer year) {
|
||||
CndPlus cnd = CndPlus.create();
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
us.loginname,
|
||||
ha.*,
|
||||
prize.`name` AS prizeName,
|
||||
type.`name` AS typeName,
|
||||
`level`.`name` AS levelName ,
|
||||
state.stateName,
|
||||
state.stateColor
|
||||
FROM
|
||||
`honor_apply` ha
|
||||
LEFT JOIN `user` us ON us.id = ha.userId
|
||||
LEFT JOIN honor_basic_settings prize ON prize.id = ha.prize
|
||||
LEFT JOIN honor_basic_settings type ON type.id = ha.honorType
|
||||
LEFT JOIN honor_basic_settings `level` ON `level`.id = ha.honorLevel
|
||||
LEFT JOIN audit_state state ON state.stateId=ha.stateId
|
||||
$condition
|
||||
""");
|
||||
cnd.and("ha.userId", "=", ShiroUtil.getUserId());
|
||||
cnd.andExcludeEmpty("ha.honorLevel", "=", honorLevel);
|
||||
cnd.andExcludeEmpty("YEAR(ha.applyTime)", "=", year);
|
||||
cnd.and("ha.honorType", "=", honorType);
|
||||
cnd.desc("ha.applyTime");
|
||||
sql.setCondition(cnd);
|
||||
return honorApplyViService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
public Object doDelete(String id) {
|
||||
return honorApplyViService.delete(id);
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
public Object findOne(String id) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
us.username,
|
||||
us.loginname,
|
||||
ha.*,
|
||||
prize.`name` AS prizeName,
|
||||
type.`name` AS typeName,
|
||||
`level`.`name` AS levelName ,
|
||||
state.stateName,
|
||||
state.stateColor
|
||||
FROM
|
||||
`honor_apply` ha
|
||||
LEFT JOIN `user` us ON us.id = ha.userId
|
||||
LEFT JOIN honor_basic_settings prize ON prize.id = ha.prize
|
||||
LEFT JOIN honor_basic_settings type ON type.id = ha.honorType
|
||||
LEFT JOIN honor_basic_settings `level` ON `level`.id = ha.honorLevel
|
||||
LEFT JOIN audit_state state ON state.stateId=ha.stateId
|
||||
where ha.id=@id
|
||||
""").setParam("id", id);
|
||||
NutMap map = honorApplyViService.fetch(sql);
|
||||
if (Strings.isNotBlank(map.getString("unitAuditId"))) {
|
||||
map.setv("unitAudit", dao.fetch(Audit.class, Cnd.where("id", "=", map.getString("unitAuditId"))));
|
||||
}
|
||||
if (Strings.isNotBlank(map.getString("unionAuditId"))) {
|
||||
map.setv("unionAudit", dao.fetch(Audit.class, Cnd.where("id", "=", map.getString("unionAuditId"))));
|
||||
}
|
||||
if (Strings.isNotBlank(map.getString("partyAuditId"))) {
|
||||
map.setv("partyAudit", dao.fetch(Audit.class, Cnd.where("id", "=", map.getString("partyAuditId"))));
|
||||
}
|
||||
if (Strings.isNotBlank(map.getString("schoolAuditId"))) {
|
||||
map.setv("schoolAudit", dao.fetch(Audit.class, Cnd.where("id", "=", map.getString("schoolAuditId"))));
|
||||
}
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,138 @@
|
||||
package io.v.nutz.honor.controller;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.wizzer.framework.base.Result;
|
||||
import io.v.nutz.annontation.ViReturn;
|
||||
import io.v.nutz.base.utils.Vi;
|
||||
import io.v.nutz.evaluate.models.EvaluateApply;
|
||||
import io.v.nutz.honor.models.HonorApply;
|
||||
import io.v.nutz.honor.models.HonorBasicSettings;
|
||||
import io.v.nutz.service.ViService;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.nutz.dao.Chain;
|
||||
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.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.trans.Trans;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@At("/platform/honor/basic/settings")
|
||||
@IocBean
|
||||
@Ok("json:full")
|
||||
public class HonorBasicSettingsController {
|
||||
|
||||
@Inject("HonorBasicSettings")
|
||||
private ViService<HonorBasicSettings> honorBasicSettingsViService;
|
||||
|
||||
@Inject
|
||||
private Dao dao;
|
||||
|
||||
@At("")
|
||||
@RequiresPermissions("honor.basic.setting")
|
||||
@Ok("beetl:/platform/honor/basic/settings.html")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
public Object getTree() {
|
||||
ArrayList<HonorBasicSettings> list = new ArrayList<>();
|
||||
HonorBasicSettings parent = honorBasicSettingsViService.fetch(Cnd.where("parentId", "is", null));
|
||||
if (parent != null) {
|
||||
parent.setChild(child(parent.getId()));
|
||||
list.add(parent);
|
||||
return list;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private List<HonorBasicSettings> child(String parentId) {
|
||||
List<HonorBasicSettings> basicSettings = honorBasicSettingsViService.query(Cnd.where("parentId", "=", parentId).asc("code"));
|
||||
basicSettings.forEach(setting -> {
|
||||
setting.setChild(child(setting.getId()));
|
||||
});
|
||||
return basicSettings;
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
public Object doSubmit(HonorBasicSettings honorBasicSettings) {
|
||||
Result result = Result.NEW();
|
||||
Trans.exec(() -> {
|
||||
if (StrUtil.isBlank(honorBasicSettings.getId())) {
|
||||
int count = honorBasicSettingsViService.count(Cnd.where("name", "=", honorBasicSettings.getName()));
|
||||
if (count > 0) {
|
||||
result.addCode(1).addMsg("名称已存在,请勿重复添加。");
|
||||
} else {
|
||||
honorBasicSettingsViService.insert(honorBasicSettings);
|
||||
result.addCode(0);
|
||||
}
|
||||
} else {
|
||||
honorBasicSettingsViService.updateIgnoreNull(honorBasicSettings);
|
||||
}
|
||||
honorBasicSettingsViService.update(Chain.make("hasChildren", true), Cnd.where("id", "=", honorBasicSettings.getParentId()));
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
public Object getData(String parentId) {
|
||||
return honorBasicSettingsViService.query(Cnd.where("parentId", "=", parentId).asc("code"));
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
public Object getHonorNum(String stateId) {
|
||||
int gr = dao.count(HonorApply.class, Cnd.where("stateId", "=", stateId).and("honorType", "=", "8a8b455b964a41f2bbf18a4896cbd83e"));
|
||||
int jt = dao.count(HonorApply.class, Cnd.where("stateId", "=", stateId).and("honorType", "=", "6b9e26a9467f49ae88fbd3951377e0f8"));
|
||||
return Map.of("gr", gr, "jt", jt);
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
public Object getEvaluateNum(String stateId) {
|
||||
Cnd cndGr = Cnd.NEW();
|
||||
cndGr.and("stateId", "=", stateId).and("honorTypeId", "=", "8a8b455b964a41f2bbf18a4896cbd83e");
|
||||
Cnd cndJt = Cnd.NEW();
|
||||
cndJt.and("stateId", "=", stateId).and("honorTypeId", "=", "6b9e26a9467f49ae88fbd3951377e0f8");
|
||||
if("1600".equals(stateId)) {
|
||||
cndGr.and("unionId", "=", Vi.getUnion().getId());
|
||||
cndJt.and("unionId", "=", Vi.getUnion().getId());
|
||||
}
|
||||
if("1700".equals(stateId)) {
|
||||
cndGr.and("unitId", "=", Vi.getUnit().getId());
|
||||
cndJt.and("unitId", "=", Vi.getUnit().getId());
|
||||
}
|
||||
int gr = dao.count(EvaluateApply.class, cndGr);
|
||||
int jt = dao.count(EvaluateApply.class, cndJt);
|
||||
return Map.of("gr", gr, "jt", jt);
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
public Object doDelete(String id) {
|
||||
List<String> allChildIds = getAllChildIds(id, new ArrayList<>());
|
||||
allChildIds.add(id);
|
||||
honorBasicSettingsViService.clear(Cnd.where("id", "in", allChildIds));
|
||||
return null;
|
||||
}
|
||||
|
||||
private List<String> getAllChildIds(String parentId, List<String> ids) {
|
||||
List<String> idList = ids;
|
||||
List<HonorBasicSettings> basicSettings = honorBasicSettingsViService.query(Cnd.where("parentId", "=", parentId));
|
||||
basicSettings.forEach(v -> {
|
||||
idList.add(v.getId());
|
||||
getAllChildIds(v.getId(), ids);
|
||||
});
|
||||
return idList;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,220 @@
|
||||
package io.v.nutz.honor.controller;
|
||||
|
||||
import cn.afterturn.easypoi.excel.ExcelImportUtil;
|
||||
import cn.afterturn.easypoi.excel.entity.ImportParams;
|
||||
import cn.hutool.core.io.FileUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import io.v.nutz.annontation.ViReturn;
|
||||
import io.v.nutz.base.result.Result;
|
||||
import io.v.nutz.honor.models.Honor;
|
||||
import io.v.nutz.honor.models.HonorBasicSettings;
|
||||
import io.v.nutz.service.ViService;
|
||||
import io.v.nutz.sys.models.Sys_unit;
|
||||
import io.v.nutz.sys.services.SysUnitService;
|
||||
import io.v.nutz.sys.services.SysUserService;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
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.json.Json;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
import org.nutz.mvc.annotation.AdaptBy;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.POST;
|
||||
import org.nutz.mvc.upload.TempFile;
|
||||
import org.nutz.mvc.upload.UploadAdaptor;
|
||||
import org.nutz.trans.Trans;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.URLEncoder;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* @author zhf
|
||||
* @date 2021/8/16 17:01
|
||||
* @description
|
||||
*/
|
||||
|
||||
@IocBean
|
||||
@At("/platform/honor/batchHonor")
|
||||
@Ok("json:full")
|
||||
public class HonorBatchController {
|
||||
|
||||
@Inject("HonorBasicSettings")
|
||||
private ViService<HonorBasicSettings> honorBasicSettingsViService;
|
||||
|
||||
@Inject
|
||||
private SysUnitService sysUnitService;
|
||||
|
||||
@Inject
|
||||
private SysUserService sysUserService;
|
||||
|
||||
@At("")
|
||||
@RequiresPermissions("honor.batchHonor")
|
||||
@Ok("beetl:/platform/honor/batchHonor.html")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
private static final String HonorLevelId = "3c1058afc91b4e69be46c585b1a48191";
|
||||
|
||||
private static final String HONORSINGLEID = "8a8b455b964a41f2bbf18a4896cbd83e";
|
||||
|
||||
private static final String HONORLISTID = "6b9e26a9467f49ae88fbd3951377e0f8";
|
||||
|
||||
private static final String HONORAWARDID = "afd9dc97cd7e46c3b9cee5893386d202";
|
||||
|
||||
|
||||
@At
|
||||
@POST
|
||||
@AdaptBy(type = UploadAdaptor.class, args = {"ioc:fileUpload"})
|
||||
public Object readExcel(TempFile file) {
|
||||
String extName = FileUtil.extName(file.getFile());
|
||||
if (!extName.equals("xlsx") && !extName.equals("xls")) {
|
||||
return Result.error("请上传xlsx或xls");
|
||||
}
|
||||
List<Honor> list = ExcelImportUtil.importExcel(
|
||||
file.getFile(),
|
||||
Honor.class, new ImportParams());
|
||||
return Result.success().addData(list);
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
public Object doRead(String data, String lx) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
u.id,
|
||||
u.username,
|
||||
dw.unionid
|
||||
FROM
|
||||
sys_user u
|
||||
LEFT JOIN sys_unit dw ON dw.id = u.unitid
|
||||
LEFT JOIN sys_union gh ON gh.id = dw.unionid
|
||||
""");
|
||||
List<NutMap> userList = sysUserService.listMap(sql);
|
||||
|
||||
// List<Sys_user> userList = sysUserService.listEntity(sql);
|
||||
List<Sys_unit> unitList = sysUnitService.query(Cnd.where("unitLevel", "=", 2));
|
||||
List<Honor> honorList = Json.fromJsonAsList(Honor.class, data);
|
||||
Trans.exec(() -> {
|
||||
honorList.forEach(v -> {
|
||||
if (lx.equals("1")) {
|
||||
v.setHonorType(getBasicIdByName("个人荣誉"));
|
||||
//设置部门工会 单位
|
||||
Optional<NutMap> user = userList.stream().filter(u -> u.getString("username").equals(v.getUserName())).findFirst();
|
||||
user.ifPresent(sys_user -> v.setUnionId(sys_user.getString("unionid")));
|
||||
user.ifPresent(sys_user -> v.setUnitId(sys_user.getString("unitid")));
|
||||
user.ifPresent(sys_user -> v.setUserId(sys_user.getString("id")));
|
||||
} else {
|
||||
v.setHonorType(getBasicIdByName("集体荣誉"));
|
||||
//设置部门工会
|
||||
Optional<Sys_unit> unit = unitList.stream().filter(u -> u.getName().equals(v.getUnitName())).findFirst();
|
||||
unit.ifPresent(sys_unit -> v.setUnionId(sys_unit.getUnionid()));
|
||||
}
|
||||
|
||||
//荣誉等级
|
||||
String levelId = getBasicIdByName(v.getHonorLevel());
|
||||
if (StrUtil.isNotBlank(v.getHonorLevel())) {
|
||||
if (StrUtil.isBlank(levelId)) {
|
||||
HonorBasicSettings hbs = new HonorBasicSettings();
|
||||
hbs.setName(v.getHonorLevel());
|
||||
hbs.setParentId(HonorLevelId);
|
||||
v.setHonorLevel(insertBasic(hbs));
|
||||
} else {
|
||||
v.setHonorLevel(levelId);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//奖项
|
||||
String prizeId = getBasicIdByName(v.getPrize());
|
||||
if (StrUtil.isNotBlank(v.getPrize())) {
|
||||
if (StrUtil.isBlank(prizeId)) {
|
||||
HonorBasicSettings hbs = new HonorBasicSettings();
|
||||
hbs.setName(v.getPrize());
|
||||
hbs.setParentId(lx.equals("1") ? HONORSINGLEID : HONORLISTID);
|
||||
v.setPrize(insertBasic(hbs));
|
||||
} else {
|
||||
v.setPrize(prizeId);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//获奖材料
|
||||
List<String> awardMaterialsInsert = new ArrayList<>();
|
||||
String awardMaterialsExcel = v.getAwardMaterialsExcel();
|
||||
if (StrUtil.isNotBlank(awardMaterialsExcel)) {
|
||||
String[] awardMaterialsExcelArray = awardMaterialsExcel.split("、");
|
||||
for (String s : awardMaterialsExcelArray) {
|
||||
awardMaterialsInsert.add(getBasicIdByName(s));
|
||||
}
|
||||
v.setAwardMaterials(awardMaterialsInsert);
|
||||
}
|
||||
honorBasicSettingsViService.insert(v);
|
||||
});
|
||||
});
|
||||
return null;
|
||||
}
|
||||
|
||||
@At
|
||||
public void doTemplate(HttpServletResponse response, String lx) throws IOException {
|
||||
String fileName = "";
|
||||
String filePath = "";
|
||||
if (lx.equals("1")) {
|
||||
fileName = "个人荣誉模板.xlsx";
|
||||
filePath = "honor/personal_honor.xlsx";
|
||||
} else {
|
||||
fileName = "集体荣誉模板.xlsx";
|
||||
filePath = "honor/collective_honor.xlsx";
|
||||
}
|
||||
try {
|
||||
response.setHeader("Content-Disposition", "attachment;filename="
|
||||
.concat(String.valueOf(URLEncoder.encode(fileName, "UTF-8"))));
|
||||
|
||||
if (filePath.startsWith("/")) {
|
||||
filePath = filePath.substring(1);
|
||||
}
|
||||
InputStream fin = Thread.currentThread().getContextClassLoader().getResourceAsStream("templates/" + filePath);
|
||||
|
||||
IOUtils.copy(fin, response.getOutputStream());
|
||||
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 插入新的基础数据
|
||||
*
|
||||
* @param honorBasicSettings
|
||||
* @return
|
||||
*/
|
||||
private String insertBasic(HonorBasicSettings honorBasicSettings) {
|
||||
return honorBasicSettingsViService.insert(honorBasicSettings).getId();
|
||||
}
|
||||
|
||||
/**
|
||||
* 从基础数据中根据名字找id
|
||||
*
|
||||
* @param name
|
||||
* @return
|
||||
*/
|
||||
private String getBasicIdByName(String name) {
|
||||
List<HonorBasicSettings> query = honorBasicSettingsViService.query();
|
||||
Optional<HonorBasicSettings> hbs = query.stream().filter(x -> x.getName().equals(name)).findFirst();
|
||||
if (hbs.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
return hbs.get().getId();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
package io.v.nutz.honor.controller;
|
||||
|
||||
import io.v.nutz.annontation.ViReturn;
|
||||
import io.v.nutz.honor.models.Honor;
|
||||
import io.v.nutz.service.ViService;
|
||||
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 java.util.Calendar;
|
||||
|
||||
|
||||
@IocBean
|
||||
@At("/platform/honor/board")
|
||||
@Ok("json:full")
|
||||
public class HonorBoardController {
|
||||
|
||||
@Inject("Honor")
|
||||
private ViService<Honor> honorViService;
|
||||
|
||||
@At("")
|
||||
@RequiresPermissions("honor.board")
|
||||
@Ok("beetl:/platform/honor/board.html")
|
||||
public void index() {
|
||||
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
public Object getHonorTypeByYear() {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT YEAR
|
||||
( h.grantDate ) as year,
|
||||
hbs.`name`,
|
||||
count( 1 ) as num
|
||||
FROM
|
||||
honor h
|
||||
left join honor_basic_settings hbs on hbs.id = h.honorType
|
||||
WHERE YEAR (h.grantDate) <= @currentYear
|
||||
GROUP BY
|
||||
YEAR (h.grantDate)
|
||||
ORDER BY
|
||||
h.grantDate
|
||||
""");
|
||||
sql.setParam("currentYear", Calendar.getInstance().get(Calendar.YEAR));
|
||||
return honorViService.list(sql);
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
public Object getSingleHonorByYear() {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
hbs.`name`,
|
||||
count( 1 ) AS num,
|
||||
YEAR ( h.grantDate ) as year
|
||||
FROM
|
||||
honor h
|
||||
LEFT JOIN honor_basic_settings hbs ON hbs.id = h.prize
|
||||
WHERE
|
||||
h.honorType = '8a8b455b964a41f2bbf18a4896cbd83e'
|
||||
AND YEAR (h.grantDate) <= @currentYear
|
||||
GROUP BY
|
||||
h.prize
|
||||
""");
|
||||
sql.setParam("currentYear", Calendar.getInstance().get(Calendar.YEAR));
|
||||
return honorViService.list(sql);
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
public Object getSingleLevelByYear() {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
hbs.`name`,
|
||||
count( 1 ) AS num,
|
||||
YEAR ( h.grantDate ) AS YEAR
|
||||
FROM
|
||||
honor h
|
||||
LEFT JOIN honor_basic_settings hbs ON hbs.id = h.honorLevel
|
||||
WHERE
|
||||
h.honorLevel IS NOT NULL
|
||||
AND h.honorType = '8a8b455b964a41f2bbf18a4896cbd83e'
|
||||
AND YEAR ( h.grantDate ) <= @currentYear
|
||||
GROUP BY
|
||||
h.honorLevel
|
||||
""");
|
||||
sql.setParam("currentYear", Calendar.getInstance().get(Calendar.YEAR));
|
||||
return honorViService.list(sql);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,191 @@
|
||||
package io.v.nutz.honor.controller;
|
||||
|
||||
import cn.afterturn.easypoi.excel.ExcelExportUtil;
|
||||
import cn.afterturn.easypoi.excel.entity.TemplateExportParams;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.db.Page;
|
||||
import cn.wizzer.framework.page.Pagination;
|
||||
import io.v.nutz.annontation.ViReturn;
|
||||
import io.v.nutz.dao.CndPlus;
|
||||
import io.v.nutz.honor.models.Honor;
|
||||
import io.v.nutz.honor.models.HonorBasicSettings;
|
||||
import io.v.nutz.lang.Carry;
|
||||
import io.v.nutz.service.ViService;
|
||||
import org.apache.poi.ss.usermodel.Workbook;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.json.Json;
|
||||
import org.nutz.lang.Strings;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
import org.nutz.mvc.Mvcs;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@IocBean
|
||||
@At("/platform/honor/manage")
|
||||
@Ok("json:full")
|
||||
public class HonorManageController {
|
||||
|
||||
@Inject("Honor")
|
||||
private ViService<Honor> honorViService;
|
||||
|
||||
@Inject("HonorBasicSettings")
|
||||
private ViService<HonorBasicSettings> honorBasicSettingsViService;
|
||||
|
||||
@At("")
|
||||
@RequiresPermissions("honor.manage")
|
||||
@Ok("beetl:/platform/honor/manage.html")
|
||||
public void index() {
|
||||
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
public Object pageData(Page page, Integer year, String honorType, String prize, String honorLevel, String userName, String unitName,
|
||||
String pageOrderName, String pageOrderBy) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
h.*,
|
||||
prize.`name` AS prizeName,
|
||||
type.`name` AS typeName,
|
||||
`level`.`name` AS levelName,
|
||||
award.`name` AS awardName
|
||||
FROM
|
||||
`honor` h
|
||||
LEFT JOIN honor_basic_settings prize ON prize.id = h.prize
|
||||
LEFT JOIN honor_basic_settings type ON type.id = h.honorType
|
||||
LEFT JOIN honor_basic_settings `level` ON `level`.id = h.honorLevel
|
||||
LEFT JOIN honor_basic_settings `award` ON `award`.id = h.awardType
|
||||
$condition
|
||||
""");
|
||||
CndPlus cnd = CndPlus.create();
|
||||
cnd.andExcludeEmpty("YEAR(h.grantDate)", "=", year);
|
||||
cnd.andExcludeEmpty("h.honorType", "=", honorType);
|
||||
cnd.andExcludeEmpty("h.prize", "=", prize);
|
||||
cnd.andExcludeEmpty("h.honorLevel", "=", honorLevel);
|
||||
if (Strings.isNotBlank(userName)) {
|
||||
cnd.andExcludeEmpty("h.userName", "like", "%" + userName + "%");
|
||||
|
||||
}
|
||||
if (Strings.isNotBlank(unitName)) {
|
||||
cnd.andExcludeEmpty("h.unitName", "like", "%" + unitName + "%");
|
||||
}
|
||||
if (StrUtil.isNotBlank(pageOrderName) && StrUtil.isNotBlank(pageOrderBy)) {
|
||||
cnd.orderBy(pageOrderName, pageOrderBy);
|
||||
}
|
||||
sql.setCondition(cnd);
|
||||
Pagination pagination = honorViService.listPageMap(page.getPageNumber(), page.getPageSize(), sql);
|
||||
List<NutMap> list = pagination.getList();
|
||||
list.forEach(v -> {
|
||||
Carry.IF(StrUtil.isNotBlank(v.getString("awardMaterials"))).then(() -> {
|
||||
v.setv("awardMaterialsExcel", getBasicNameById(v.getString("awardMaterials")).toString());
|
||||
});
|
||||
});
|
||||
return pagination;
|
||||
}
|
||||
|
||||
private static List<String> getBasicNameById(String awardMaterials) {
|
||||
List<String> awardMaterialList = Json.fromJsonAsList(String.class, awardMaterials);
|
||||
Dao dao = Mvcs.getIoc().get(Dao.class);
|
||||
List<HonorBasicSettings> list = dao.query(HonorBasicSettings.class, Cnd.where("id", "in", awardMaterialList));
|
||||
List<String> collect = list.stream().map(HonorBasicSettings::getName).collect(Collectors.toList());
|
||||
return collect;
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
public Object doDelete(String id) {
|
||||
honorViService.delete(id);
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
public void doExport(HttpServletResponse response, String year, String honorType, String prize, String honorLevel, String userName, String unitName) throws IOException {
|
||||
Map<String, Object> map = new HashMap<String, Object>();
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
h.*,
|
||||
prize.`name` AS prizeName,
|
||||
type.`name` AS typeName,
|
||||
`level`.`name` AS levelName,
|
||||
award.`name` AS awardName
|
||||
FROM
|
||||
`honor` h
|
||||
LEFT JOIN honor_basic_settings prize ON prize.id = h.prize
|
||||
LEFT JOIN honor_basic_settings type ON type.id = h.honorType
|
||||
LEFT JOIN honor_basic_settings `level` ON `level`.id = h.honorLevel
|
||||
LEFT JOIN honor_basic_settings `award` ON `award`.id = h.awardType
|
||||
$condition
|
||||
""");
|
||||
CndPlus cnd = CndPlus.create();
|
||||
cnd.andExcludeEmpty("YEAR(h.grantDate)", "=", year);
|
||||
cnd.andExcludeEmpty("h.honorType", "=", honorType);
|
||||
cnd.andExcludeEmpty("h.prize", "=", prize);
|
||||
cnd.andExcludeEmpty("h.honorLevel", "=", honorLevel);
|
||||
if (Strings.isNotBlank(userName)) {
|
||||
cnd.andExcludeEmpty("h.userName", "like", "%" + userName + "%");
|
||||
}
|
||||
if (Strings.isNotBlank(unitName)) {
|
||||
cnd.andExcludeEmpty("h.unitName", "like", "%" + unitName + "%");
|
||||
}
|
||||
sql.setCondition(cnd);
|
||||
List<Honor> honors = honorViService.listEntity(sql, Honor.class);
|
||||
|
||||
List<HonorBasicSettings> query = honorBasicSettingsViService.query();
|
||||
|
||||
Optional<HonorBasicSettings> singleHonor = query.stream().filter(x -> x.getId().equals(honorType)).findFirst();
|
||||
String filename = "";
|
||||
TemplateExportParams params;
|
||||
if (singleHonor.get().getName().equals("个人荣誉")) {
|
||||
filename = "个人荣誉";
|
||||
params = new TemplateExportParams(
|
||||
"templates/honor/personal_export.xlsx");
|
||||
} else {
|
||||
filename = "集体荣誉";
|
||||
params = new TemplateExportParams(
|
||||
"templates/honor/collective_export.xlsx");
|
||||
}
|
||||
|
||||
honors.forEach(v -> {
|
||||
if (v.getHonorLevel() != null) {
|
||||
Optional<HonorBasicSettings> Level = query.stream().filter(x -> x.getId().equals(v.getHonorLevel())).findFirst();
|
||||
v.setHonorLevel(Level.get().getName());
|
||||
}
|
||||
if (v.getAwardType() != null) {
|
||||
Optional<HonorBasicSettings> Type = query.stream().filter(x -> x.getId().equals(v.getAwardType())).findFirst();
|
||||
v.setAwardType(Type.get().getName());
|
||||
}
|
||||
if (v.getPrize() != null) {
|
||||
Optional<HonorBasicSettings> prize1 = query.stream().filter(x -> x.getId().equals(v.getPrize())).findFirst();
|
||||
v.setPrize(prize1.get().getName());
|
||||
|
||||
}
|
||||
v.setHonorType(singleHonor.get().getName());
|
||||
});
|
||||
|
||||
map.put("maplist", honors);
|
||||
response.setContentType("application/octet-stream");
|
||||
response.setHeader("Content-Disposition", "attachment;filename=" + new String((filename + "名单.xls").getBytes("utf-8"), "ISO8859-1"));
|
||||
|
||||
Workbook workbook = ExcelExportUtil.exportExcel(params, map);
|
||||
workbook.write(response.getOutputStream());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
package io.v.nutz.honor.controller;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import io.v.nutz.annontation.ViReturn;
|
||||
import io.v.nutz.base.result.Result;
|
||||
import io.v.nutz.honor.models.Honor;
|
||||
import io.v.nutz.service.ViService;
|
||||
import io.v.nutz.sys.services.SysUserService;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
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;
|
||||
|
||||
@IocBean
|
||||
@At("/platform/honor/registration")
|
||||
@Ok("json:full")
|
||||
public class HonorRegistrationController {
|
||||
|
||||
@Inject("Honor")
|
||||
private ViService<Honor> honorViService;
|
||||
|
||||
@Inject
|
||||
private SysUserService sysUserService;
|
||||
|
||||
@At("")
|
||||
@RequiresPermissions("honor.registration")
|
||||
@Ok("beetl:/platform/honor/registration.html")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
public Object doSubmit(Honor honor) {
|
||||
if (!StrUtil.isBlank(honor.getUserName())) {
|
||||
String username = sysUserService.fetch(honor.getUserId()).getUsername();
|
||||
honor.setUserName(username);
|
||||
}
|
||||
honorViService.insertOrUpdate(honor);
|
||||
return null;
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
public Object findData(String id) {
|
||||
Honor fetch = honorViService.fetch(id);
|
||||
return Result.success().addData(fetch);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
package io.v.nutz.honor.controller;
|
||||
|
||||
import io.v.nutz.annontation.ViReturn;
|
||||
import io.v.nutz.dao.CndPlus;
|
||||
import io.v.nutz.honor.models.HonorBasicSettings;
|
||||
import io.v.nutz.service.ViService;
|
||||
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;
|
||||
|
||||
/**
|
||||
* @author zhf
|
||||
* @date 2021/8/18 10:16
|
||||
* @description
|
||||
*/
|
||||
@IocBean
|
||||
@At("/platform/honor/Summary")
|
||||
@Ok("json:full")
|
||||
public class HonorSummaryController {
|
||||
|
||||
|
||||
@Inject("HonorBasicSettings")
|
||||
private ViService<HonorBasicSettings> honorBasicSettingsViService;
|
||||
|
||||
@At("/union")
|
||||
@RequiresPermissions("honor.union.Summary")
|
||||
@Ok("beetl:/platform/honor/unionSummary.html")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At("/honorLevel")
|
||||
@RequiresPermissions("honor.honorLevel.Summary")
|
||||
@Ok("beetl:/platform/honor/honorLevelSummary.html")
|
||||
public void honorLevel() {
|
||||
}
|
||||
|
||||
private static final String personalHonor = "8a8b455b964a41f2bbf18a4896cbd83e";
|
||||
private static final String 集体荣誉 = "6b9e26a9467f49ae88fbd3951377e0f8";
|
||||
private static final String nationalLevel = "21a118f4c771400aa8b911a0cd203289";
|
||||
private static final String provincial = "e13ce814a6db48ad8b8491985c1da964";
|
||||
private static final String schoolLevel = "65772a664e034121bb245eeff66ea1b5";
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
public Object unionData(String unionId, Integer year) {
|
||||
CndPlus cnd = CndPlus.create();
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
id,
|
||||
unionname,
|
||||
( SELECT COUNT( 1 ) FROM honor h WHERE h.honorType = @personalHonor AND h.unionId = un.id $cnd) personalHonorNum,
|
||||
( SELECT COUNT( 1 ) FROM honor h WHERE h.honorType = @collectiveHonor AND h.unionId = un.id $cnd) collectiveHonorNum\s
|
||||
FROM
|
||||
sys_union un $condition
|
||||
""").setParam("personalHonor", personalHonor).setParam("collectiveHonor", 集体荣誉);
|
||||
cnd.andExcludeEmpty("id", "=", unionId);
|
||||
if (year != null) {
|
||||
sql.setVar("cnd", "and YEAR(grantDate)=" + year);
|
||||
}
|
||||
cnd.desc("unionname");
|
||||
sql.setCondition(cnd);
|
||||
return honorBasicSettingsViService.listMap(sql);
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
public Object honorLevelData(String unionId, Integer year) {
|
||||
CndPlus cnd = CndPlus.create();
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
id,
|
||||
unionname,
|
||||
( SELECT COUNT( 1 ) FROM honor h WHERE h.honorLevel = @nationalLevel AND h.unionId = un.id $cnd) nationalLevelNum,
|
||||
( SELECT COUNT( 1 ) FROM honor h WHERE h.honorLevel = @provincial AND h.unionId = un.id $cnd) provincialNum ,
|
||||
( SELECT COUNT( 1 ) FROM honor h WHERE h.honorLevel = @schoolLevel AND h.unionId = un.id $cnd) schoolLevelNum
|
||||
FROM
|
||||
sys_union un $condition
|
||||
""").setParam("nationalLevel", nationalLevel).setParam("provincial", provincial).setParam("schoolLevel", schoolLevel);
|
||||
cnd.andExcludeEmpty("id", "=", unionId);
|
||||
if (year != null) {
|
||||
sql.setVar("cnd", "and YEAR(grantDate)=" + year);
|
||||
}
|
||||
cnd.desc("unionname");
|
||||
sql.setCondition(cnd);
|
||||
return honorBasicSettingsViService.listMap(sql);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
package io.v.nutz.honor.controller.audit;
|
||||
|
||||
import io.v.nutz.annontation.ViReturn;
|
||||
import io.v.nutz.base.utils.Vi;
|
||||
import io.v.nutz.dao.CndPlus;
|
||||
import io.v.nutz.honor.models.HonorApply;
|
||||
import io.v.nutz.modules.models.Audit;
|
||||
import io.v.nutz.modules.models.PageForm;
|
||||
import io.v.nutz.service.ViService;
|
||||
import io.v.nutz.util.ShiroUtil;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.nutz.dao.Chain;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
|
||||
/**
|
||||
* @author zhf
|
||||
* @date 2021/11/19 15:14
|
||||
* @description
|
||||
*/
|
||||
@At("/platform/honor/party/audit")
|
||||
@IocBean
|
||||
@Ok("json:full")
|
||||
public class HonorPartyAuditController {
|
||||
|
||||
@Inject("HonorApply")
|
||||
private ViService<HonorApply> honorApplyViService;
|
||||
|
||||
@Inject
|
||||
private Dao dao;
|
||||
|
||||
|
||||
@At("")
|
||||
@RequiresPermissions("honor.audit.party")
|
||||
@Ok("beetl:/platform/honor/audit/party.html")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
public Object pageData(PageForm pageForm, String honorLevel, String honorType, Integer year, String isAudit, String unitId, String unionId) {
|
||||
CndPlus cnd = CndPlus.create();
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
us.loginname,
|
||||
ha.*,
|
||||
prize.`name` AS prizeName,
|
||||
type.`name` AS typeName,
|
||||
`level`.`name` AS levelName ,
|
||||
state.stateName,
|
||||
state.stateColor
|
||||
FROM
|
||||
`honor_apply` ha
|
||||
LEFT JOIN `user` us ON us.id = ha.userId
|
||||
LEFT JOIN honor_basic_settings prize ON prize.id = ha.prize
|
||||
LEFT JOIN honor_basic_settings type ON type.id = ha.honorType
|
||||
LEFT JOIN honor_basic_settings `level` ON `level`.id = ha.honorLevel
|
||||
LEFT JOIN audit_state state ON state.stateId=ha.stateId
|
||||
$condition
|
||||
""");
|
||||
cnd.andExcludeEmpty("us.unionid", "=", unionId);
|
||||
cnd.andExcludeEmpty("us.unitid", "=", unitId);
|
||||
cnd.andExcludeEmpty("ha.honorLevel", "=", honorLevel);
|
||||
cnd.andExcludeEmpty("YEAR(ha.applyTime)", "=", year);
|
||||
cnd.and("ha.honorType", "=", honorType);
|
||||
cnd.and("ha.stateId", isAudit.equals("true") ? ">" : isAudit.equals("false") ? "=" : ">=", 1700);
|
||||
if (!ShiroUtil.hasAnyRoles("sysadmin,A06")) {
|
||||
cnd.and("us.unionid", "=", Vi.getUnionId());
|
||||
}
|
||||
if (Vi.isNotBlank(pageForm.getSearchName(), pageForm.getSearchKeyword())) {
|
||||
cnd.where().andLike(pageForm.getSearchName(), pageForm.getSearchKeyword());
|
||||
}
|
||||
cnd.desc("ha.applyTime");
|
||||
sql.setCondition(cnd);
|
||||
return honorApplyViService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
public Object doReview(String id, boolean pass, Audit audit) {
|
||||
audit.setAuditor(ShiroUtil.getPrincipalProperty("id").toString());
|
||||
audit.setLoginname(ShiroUtil.getPrincipalProperty("loginname").toString());
|
||||
audit.setAuditPass(pass);
|
||||
audit = dao.insert(audit);
|
||||
honorApplyViService.update(Chain.make("stateId", pass ? 1800 : 1750).add("partyAuditId", audit.getId()), Cnd.where("id", "=", id));
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,130 @@
|
||||
package io.v.nutz.honor.controller.audit;
|
||||
|
||||
import io.v.nutz.annontation.ViReturn;
|
||||
import io.v.nutz.base.utils.Vi;
|
||||
import io.v.nutz.dao.CndPlus;
|
||||
import io.v.nutz.honor.models.Honor;
|
||||
import io.v.nutz.honor.models.HonorApply;
|
||||
import io.v.nutz.modules.models.Audit;
|
||||
import io.v.nutz.modules.models.PageForm;
|
||||
import io.v.nutz.service.ViService;
|
||||
import io.v.nutz.sys.models.Sys_unit;
|
||||
import io.v.nutz.util.ShiroUtil;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.nutz.dao.Chain;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
|
||||
/**
|
||||
* @author zhf
|
||||
* @date 2021/11/19 15:30
|
||||
* @description
|
||||
*/
|
||||
|
||||
@At("/platform/honor/school/audit")
|
||||
@IocBean
|
||||
@Ok("json:full")
|
||||
public class HonorSchoolAuditController {
|
||||
|
||||
|
||||
@Inject("HonorApply")
|
||||
private ViService<HonorApply> honorApplyViService;
|
||||
|
||||
@Inject("Honor")
|
||||
private ViService<Honor> honorViService;
|
||||
|
||||
@Inject
|
||||
private Dao dao;
|
||||
|
||||
|
||||
@At("")
|
||||
@RequiresPermissions("honor.audit.school")
|
||||
@Ok("beetl:/platform/honor/audit/school.html")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
public Object pageData(PageForm pageForm, String honorLevel, String honorType, Integer year, String isAudit, String unitId, String unionId) {
|
||||
CndPlus cnd = CndPlus.create();
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
us.loginname,
|
||||
ha.*,
|
||||
prize.`name` AS prizeName,
|
||||
type.`name` AS typeName,
|
||||
`level`.`name` AS levelName ,
|
||||
state.stateName,
|
||||
state.stateColor
|
||||
FROM
|
||||
`honor_apply` ha
|
||||
LEFT JOIN `user` us ON us.id = ha.userId
|
||||
LEFT JOIN honor_basic_settings prize ON prize.id = ha.prize
|
||||
LEFT JOIN honor_basic_settings type ON type.id = ha.honorType
|
||||
LEFT JOIN honor_basic_settings `level` ON `level`.id = ha.honorLevel
|
||||
LEFT JOIN audit_state state ON state.stateId=ha.stateId
|
||||
$condition
|
||||
""");
|
||||
cnd.andExcludeEmpty("us.unionid", "=", unionId);
|
||||
cnd.andExcludeEmpty("us.unitid", "=", unitId);
|
||||
cnd.andExcludeEmpty("ha.honorLevel", "=", honorLevel);
|
||||
cnd.andExcludeEmpty("YEAR(ha.applyTime)", "=", year);
|
||||
cnd.and("ha.honorType", "=", honorType);
|
||||
cnd.and("ha.stateId", isAudit.equals("true") ? ">" : isAudit.equals("false") ? "=" : ">=", 1800);
|
||||
|
||||
if (Vi.isNotBlank(pageForm.getSearchName(), pageForm.getSearchKeyword())) {
|
||||
cnd.where().andLike(pageForm.getSearchName(), pageForm.getSearchKeyword());
|
||||
}
|
||||
cnd.desc("ha.applyTime");
|
||||
sql.setCondition(cnd);
|
||||
return honorApplyViService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
public Object doReview(String id, boolean pass, Audit audit) {
|
||||
audit.setAuditor(ShiroUtil.getPrincipalProperty("id").toString());
|
||||
audit.setLoginname(ShiroUtil.getPrincipalProperty("loginname").toString());
|
||||
audit.setAuditPass(pass);
|
||||
audit = dao.insert(audit);
|
||||
honorApplyViService.update(Chain.make("stateId", pass ? 1900 : 1850).add("schoolAuditId", audit.getId()), Cnd.where("id", "=", id));
|
||||
if (pass) {
|
||||
HonorApply honorApply = honorApplyViService.fetch(id);
|
||||
Honor honor = new Honor();
|
||||
honor.setUserId(honorApply.getUserId());
|
||||
honor.setUserName(honorApply.getUserName());
|
||||
honor.setUserSex(honorApply.getUserSex());
|
||||
honor.setPost(honorApply.getPost());
|
||||
honor.setTitle(honorApply.getTitle());
|
||||
honor.setBirthday(honorApply.getBirthday());
|
||||
honor.setJobStatus(honorApply.getJobStatus());
|
||||
honor.setUnionName(honorApply.getUnionName());
|
||||
honor.setUnitName(honorApply.getUnitName());
|
||||
honor.setUnitLeader(honorApply.getUnitLeader());
|
||||
honor.setUnitPeopleNum(honorApply.getUnitPeopleNum());
|
||||
honor.setUnitFemalePeopleNum(honorApply.getUnitFemalePeopleNum());
|
||||
honor.setPrize(honorApply.getPrize());
|
||||
honor.setPrizeDesc(honorApply.getPrizeDesc());
|
||||
honor.setHonorType(honorApply.getHonorType());
|
||||
honor.setHonorLevel(honorApply.getHonorLevel());
|
||||
honor.setFiles(honorApply.getFiles());
|
||||
Sys_unit unit = honorViService.dao().fetch(Sys_unit.class, Cnd.where("name", "=", honorApply.getUnitName()));
|
||||
honor.setUnionId(unit.getUnionid());
|
||||
honor.setUnionId(unit.getId());
|
||||
honorViService.insert(honor);
|
||||
}
|
||||
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
package io.v.nutz.honor.controller.audit;
|
||||
|
||||
import io.v.nutz.annontation.ViReturn;
|
||||
import io.v.nutz.base.utils.Vi;
|
||||
import io.v.nutz.dao.CndPlus;
|
||||
import io.v.nutz.honor.models.HonorApply;
|
||||
import io.v.nutz.modules.models.Audit;
|
||||
import io.v.nutz.modules.models.PageForm;
|
||||
import io.v.nutz.service.ViService;
|
||||
import io.v.nutz.util.ShiroUtil;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.nutz.dao.Chain;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
|
||||
/**
|
||||
* @author zhf
|
||||
* @date 2021/11/19 14:36
|
||||
* @description
|
||||
*/
|
||||
@At("/platform/honor/union/audit")
|
||||
@IocBean
|
||||
@Ok("json:full")
|
||||
public class HonorUnionAuditController {
|
||||
|
||||
|
||||
@Inject("HonorApply")
|
||||
private ViService<HonorApply> honorApplyViService;
|
||||
|
||||
@Inject
|
||||
private Dao dao;
|
||||
|
||||
|
||||
@At("")
|
||||
@RequiresPermissions("honor.audit.union")
|
||||
@Ok("beetl:/platform/honor/audit/union.html")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
public Object pageData(PageForm pageForm, String honorLevel, String honorType, String isAudit, String unitId, String unionId, Integer year) {
|
||||
CndPlus cnd = CndPlus.create();
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
us.loginname,
|
||||
ha.*,
|
||||
prize.`name` AS prizeName,
|
||||
type.`name` AS typeName,
|
||||
`level`.`name` AS levelName ,
|
||||
state.stateName,
|
||||
state.stateColor
|
||||
FROM
|
||||
`honor_apply` ha
|
||||
LEFT JOIN `user` us ON us.id = ha.userId
|
||||
LEFT JOIN honor_basic_settings prize ON prize.id = ha.prize
|
||||
LEFT JOIN honor_basic_settings type ON type.id = ha.honorType
|
||||
LEFT JOIN honor_basic_settings `level` ON `level`.id = ha.honorLevel
|
||||
LEFT JOIN audit_state state ON state.stateId=ha.stateId
|
||||
$condition
|
||||
""");
|
||||
cnd.andExcludeEmpty("us.unionid", "=", unionId);
|
||||
cnd.andExcludeEmpty("YEAR(ha.applyTime)", "=", year);
|
||||
cnd.andExcludeEmpty("us.unitid", "=", unitId);
|
||||
cnd.andExcludeEmpty("ha.honorLevel", "=", honorLevel);
|
||||
cnd.and("ha.honorType", "=", honorType);
|
||||
cnd.and("ha.stateId", isAudit.equals("true") ? ">" : isAudit.equals("false") ? "=" : ">=", 1600);
|
||||
if (!ShiroUtil.hasAnyRoles("sysadmin,A06")) {
|
||||
cnd.and("us.unionid", "=", Vi.getUnionId());
|
||||
}
|
||||
if (Vi.isNotBlank(pageForm.getSearchName(), pageForm.getSearchKeyword())) {
|
||||
cnd.where().andLike(pageForm.getSearchName(), pageForm.getSearchKeyword());
|
||||
}
|
||||
cnd.desc("ha.applyTime");
|
||||
sql.setCondition(cnd);
|
||||
return honorApplyViService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
public Object doReview(String id, boolean pass, Audit audit) {
|
||||
audit.setAuditor(ShiroUtil.getPrincipalProperty("id").toString());
|
||||
audit.setLoginname(ShiroUtil.getPrincipalProperty("loginname").toString());
|
||||
audit.setAuditPass(pass);
|
||||
audit = dao.insert(audit);
|
||||
honorApplyViService.update(Chain.make("stateId", pass ? 1700 : 1650).add("unionAuditId", audit.getId()), Cnd.where("id", "=", id));
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
package io.v.nutz.honor.controller.audit;
|
||||
|
||||
import io.v.nutz.annontation.ViReturn;
|
||||
import io.v.nutz.base.utils.Vi;
|
||||
import io.v.nutz.dao.CndPlus;
|
||||
import io.v.nutz.honor.models.HonorApply;
|
||||
import io.v.nutz.modules.models.Audit;
|
||||
import io.v.nutz.modules.models.PageForm;
|
||||
import io.v.nutz.service.ViService;
|
||||
import io.v.nutz.sys.models.Sys_unit;
|
||||
import io.v.nutz.util.ShiroUtil;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.nutz.dao.Chain;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
|
||||
/**
|
||||
* @author zhf
|
||||
* @date 2021/11/19 9:42
|
||||
* @description
|
||||
*/
|
||||
@At("/platform/honor/unit/audit")
|
||||
@IocBean
|
||||
@Ok("json:full")
|
||||
public class HonorUnitAuditController {
|
||||
|
||||
|
||||
@Inject("HonorApply")
|
||||
private ViService<HonorApply> honorApplyViService;
|
||||
|
||||
@Inject
|
||||
private Dao dao;
|
||||
|
||||
|
||||
@At("")
|
||||
@RequiresPermissions("honor.audit.unit")
|
||||
@Ok("beetl:/platform/honor/audit/unit.html")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
public Object pageData(PageForm pageForm, String honorLevel, String honorType, String isAudit, Integer year) {
|
||||
CndPlus cnd = CndPlus.create();
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
us.loginname,
|
||||
ha.*,
|
||||
prize.`name` AS prizeName,
|
||||
type.`name` AS typeName,
|
||||
`level`.`name` AS levelName,
|
||||
state.stateName,
|
||||
state.stateColor
|
||||
FROM
|
||||
`honor_apply` ha
|
||||
LEFT JOIN `user` us ON us.id = ha.userId
|
||||
LEFT JOIN honor_basic_settings prize ON prize.id = ha.prize
|
||||
LEFT JOIN honor_basic_settings type ON type.id = ha.honorType
|
||||
LEFT JOIN honor_basic_settings `level` ON `level`.id = ha.honorLevel
|
||||
LEFT JOIN audit_state state ON state.stateId=ha.stateId
|
||||
$condition
|
||||
""");
|
||||
if (!ShiroUtil.hasRole("sysadmin")) {
|
||||
cnd.and("ha.unitName", "=", ((Sys_unit) ShiroUtil.getPrincipalProperty("unit")).getName());
|
||||
}
|
||||
cnd.andExcludeEmpty("ha.honorLevel", "=", honorLevel);
|
||||
cnd.andExcludeEmpty("YEAR(ha.applyTime)", "=", year);
|
||||
|
||||
cnd.and("ha.honorType", "=", honorType);
|
||||
cnd.and("ha.stateId", isAudit.equals("true") ? ">" : isAudit.equals("false") ? "=" : ">=", 1500);
|
||||
if (Vi.isNotBlank(pageForm.getSearchName(), pageForm.getSearchKeyword())) {
|
||||
cnd.where().andLike(pageForm.getSearchName(), pageForm.getSearchKeyword());
|
||||
}
|
||||
cnd.desc("ha.applyTime");
|
||||
sql.setCondition(cnd);
|
||||
return honorApplyViService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
public Object doReview(String id, boolean pass, Audit audit) {
|
||||
audit.setAuditor(ShiroUtil.getPrincipalProperty("id").toString());
|
||||
audit.setLoginname(ShiroUtil.getPrincipalProperty("loginname").toString());
|
||||
audit.setAuditPass(pass);
|
||||
audit = dao.insert(audit);
|
||||
honorApplyViService.update(Chain.make("stateId", pass ? 1600 : 1550).add("unitAuditId", audit.getId()), Cnd.where("id", "=", id));
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,183 @@
|
||||
package io.v.nutz.honor.models;
|
||||
|
||||
import cn.afterturn.easypoi.excel.annotation.Excel;
|
||||
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;
|
||||
|
||||
@Table("honor")
|
||||
@Data
|
||||
public class Honor implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Column
|
||||
@Name
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@PrevInsert(uu32 = true)
|
||||
private String id;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@Comment("姓名Id")
|
||||
private String userId;
|
||||
|
||||
@Column
|
||||
@Excel(name = "姓名")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 10)
|
||||
@Comment("姓名")
|
||||
private String userName;
|
||||
|
||||
@Column
|
||||
@Excel(name = "性别")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 1)
|
||||
@Comment("性别")
|
||||
private String userSex;
|
||||
|
||||
@Column
|
||||
@Excel(name = "职务")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
@Comment("职务")
|
||||
private String post;
|
||||
|
||||
@Column
|
||||
@Excel(name = "职称")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
@Comment("职称")
|
||||
private String title;
|
||||
|
||||
@Column
|
||||
@Excel(name = "生日", exportFormat = "yyyy-MM-dd", importFormat = "yyyy-MM-dd", databaseFormat = "yyyy-MM-dd")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 20)
|
||||
@Comment("生日")
|
||||
private String birthday;
|
||||
|
||||
@Column
|
||||
@Excel(name = "工作时间", exportFormat = "yyyy-MM-dd", importFormat = "yyyy-MM-dd", databaseFormat = "yyyy-MM-dd")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 20)
|
||||
@Comment("工作时间")
|
||||
private String workDate;
|
||||
|
||||
@Column
|
||||
@Excel(name = "在职状态")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 10)
|
||||
@Comment("在职状态")
|
||||
private String jobStatus;
|
||||
|
||||
@Column
|
||||
@Excel(name = "部门工会")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 20)
|
||||
@Comment("部门工会")
|
||||
private String unionName;
|
||||
|
||||
@Column
|
||||
@Excel(name = "单位")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
@Comment("单位")
|
||||
private String unitName;
|
||||
|
||||
@Column
|
||||
@Excel(name = "单位负责人")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 20)
|
||||
@Comment("单位负责人")
|
||||
private String unitLeader;
|
||||
|
||||
@Column
|
||||
@Excel(name = "单位人数")
|
||||
@ColDefine(type = ColType.INT)
|
||||
@Comment("单位人数")
|
||||
private Long unitPeopleNum;
|
||||
|
||||
@Column
|
||||
@Excel(name = "单位女职工人数")
|
||||
@ColDefine(type = ColType.INT)
|
||||
@Comment("单位女职工人数")
|
||||
private Long unitFemalePeopleNum;
|
||||
|
||||
@Column
|
||||
@Excel(name = "奖项")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
@Comment("奖项")
|
||||
private String prize;
|
||||
|
||||
@Column
|
||||
@Excel(name = "奖项说明")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 100)
|
||||
@Comment("奖项说明")
|
||||
private String prizeDesc;
|
||||
|
||||
@Column
|
||||
@Excel(name = "荣誉类型")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@Comment("荣誉类型")
|
||||
private String honorType;
|
||||
|
||||
@Column
|
||||
@Excel(name = "荣誉级别")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@Comment("荣誉级别")
|
||||
private String honorLevel;
|
||||
|
||||
@Column
|
||||
@Excel(name = "授予单位")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 100)
|
||||
@Comment("授予单位")
|
||||
private String grantUnit;
|
||||
|
||||
@Column
|
||||
@Excel(name = "参加比赛名称")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 100)
|
||||
@Comment("参加比赛名称")
|
||||
private String gameName;
|
||||
|
||||
@Column
|
||||
@Excel(name = "参与人员")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 200)
|
||||
@Comment("参与人员")
|
||||
private String gamePersons;
|
||||
|
||||
@Column
|
||||
@Excel(name = "授予时间", exportFormat = "yyyy-MM-dd", importFormat = "yyyy-MM-dd", databaseFormat = "yyyy-MM-dd")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 20)
|
||||
@Comment("授予时间")
|
||||
private String grantDate;
|
||||
|
||||
@Column
|
||||
@Excel(name = "存档情况")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 20)
|
||||
@Comment("存档情况")
|
||||
private String archiveStatus;
|
||||
|
||||
@Column
|
||||
@Excel(name = "奖项介质")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@Comment("奖项介质")
|
||||
private String awardType;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.MYSQL_JSON, width = 200)
|
||||
@Comment("获奖材料")
|
||||
private List<String> awardMaterials;
|
||||
|
||||
@Excel(name = "获奖材料")
|
||||
private String awardMaterialsExcel;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@Comment("所属部门工会")
|
||||
private String unionId;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@Comment("所属单位")
|
||||
private String unitId;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.MYSQL_JSON)
|
||||
@Comment("附件")
|
||||
private List<Sys_file> files;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,167 @@
|
||||
package io.v.nutz.honor.models;
|
||||
|
||||
import cn.afterturn.easypoi.excel.annotation.Excel;
|
||||
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.util.List;
|
||||
|
||||
/**
|
||||
* @author zhf
|
||||
* @date 2021/11/18 8:44
|
||||
* @description
|
||||
*/
|
||||
@Table("honor_apply")
|
||||
@Data
|
||||
public class HonorApply {
|
||||
|
||||
|
||||
@Column
|
||||
@Name
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@PrevInsert(uu32 = true)
|
||||
private String id;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@Comment("姓名Id")
|
||||
private String userId;
|
||||
|
||||
|
||||
@Column
|
||||
@Excel(name = "姓名")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 10)
|
||||
@Comment("姓名")
|
||||
private String userName;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
@Comment("职务")
|
||||
private String post;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
@Comment("职称")
|
||||
private String title;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
@Comment("民族")
|
||||
private String nation;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 1)
|
||||
@Comment("性别")
|
||||
private String userSex;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
@Comment("政治面貌")
|
||||
private String political;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 10)
|
||||
@Comment("在职状态")
|
||||
private String jobStatus;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 20)
|
||||
@Comment("生日")
|
||||
private String birthday;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.TEXT)
|
||||
@Comment("曾受何种奖励")
|
||||
private String award;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.TEXT)
|
||||
@Comment("主要事迹")
|
||||
private String Deeds;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 20)
|
||||
@Comment("单位负责人")
|
||||
private String unitLeader;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.INT)
|
||||
@Comment("单位人数")
|
||||
private Long unitPeopleNum;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.INT)
|
||||
@Comment("单位女职工人数")
|
||||
private Long unitFemalePeopleNum;
|
||||
|
||||
@Column
|
||||
@Comment("申请时间")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
private String applyTime;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
@Comment("奖项")
|
||||
private String prize;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 100)
|
||||
@Comment("奖项说明")
|
||||
private String prizeDesc;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@Comment("荣誉类型")
|
||||
private String honorType;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@Comment("荣誉级别")
|
||||
private String honorLevel;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.INT)
|
||||
@Comment("审核状态")
|
||||
private Integer stateId;
|
||||
|
||||
@Column
|
||||
@Comment("部门工会审核记录id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
public String unionAuditId;
|
||||
|
||||
@Column
|
||||
@Excel(name = "单位")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 20)
|
||||
@Comment("单位")
|
||||
private String unitName;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.MYSQL_JSON)
|
||||
@Comment("附件")
|
||||
private List<Sys_file> files;
|
||||
|
||||
@Column
|
||||
@Comment("单位审核记录id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
public String unitAuditId;
|
||||
@Column
|
||||
@Excel(name = "部门工会")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 20)
|
||||
@Comment("部门工会")
|
||||
private String unionName;
|
||||
|
||||
@Column
|
||||
@Comment("同级党组织审核记录id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
public String partyAuditId;
|
||||
|
||||
@Column
|
||||
@Comment("校工会审核记录id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
public String schoolAuditId;
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
package io.v.nutz.honor.models;
|
||||
|
||||
import lombok.Data;
|
||||
import org.nutz.dao.entity.annotation.*;
|
||||
import org.nutz.dao.interceptor.annotation.PrevInsert;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
@Table("honor_basic_settings")
|
||||
@Data
|
||||
public class HonorBasicSettings implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Column
|
||||
@Name
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@PrevInsert(uu32 = true)
|
||||
private String id;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@Comment("父级id")
|
||||
private String parentId;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@Comment("code")
|
||||
private String code;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
@Comment("name")
|
||||
private String name;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@Comment("level")
|
||||
private String level;
|
||||
|
||||
@Column
|
||||
@Comment("有子节点")
|
||||
private boolean hasChildren;
|
||||
|
||||
private List<HonorBasicSettings> child;
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user