This commit is contained in:
Paidax
2024-11-29 09:03:59 +08:00
commit 2ffadd89a7
3480 changed files with 879405 additions and 0 deletions
@@ -0,0 +1,29 @@
package io.v.nutz.zhgh.loveSubsidy.constant;
import io.v.nutz.base.annontation.SelectEnum;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @ClassName LoveSubsidyAuditStateConstant
* @Description TODO
* @Author zhf
* @Date 2024/1/18 16:44
*/
@Getter
@SelectEnum
@AllArgsConstructor
public enum LoveSubsidyAuditStateConstant {
NOT_SUBMIT(1, "待提交"),
BRANCH_UNION_AUDIT(2, "待分工会审核"),
BRANCH_UNION_REJECT(3, "分工会审核拒绝"),
SCHOOL_UNION_AUDIT(4, "待校工会财务审核"),
SCHOOL_UNION_REJECT(5, "校工会财务审核拒绝"),
SCHOOL_UNION_ZX_AUDIT(6, "待校工会主席审核"),
SCHOOL_UNION_ZX_REJECT(7, "校工会主席审核拒绝"),
PASS(8, "申请通过");
private final int code;
private final String desc;
}
@@ -0,0 +1,244 @@
package io.v.nutz.zhgh.loveSubsidy.controller;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import cn.wizzer.framework.base.Result;
import com.deepoove.poi.XWPFTemplate;
import com.deepoove.poi.config.Configure;
import com.deepoove.poi.policy.HackLoopTableRenderPolicy;
import io.v.nutz.base.annontation.ViReturn;
import io.v.nutz.base.utils.OfficeTemplateUtil;
import io.v.nutz.base.model.Audit;
import io.v.nutz.base.service.ViService;
import io.v.nutz.web.commons.utils.ShiroUtil;
import io.v.nutz.web.commons.slog.annotation.SLog;
import io.v.nutz.zhgh.loveSubsidy.constant.LoveSubsidyAuditStateConstant;
import io.v.nutz.zhgh.loveSubsidy.model.LoveSubsidy;
import io.v.nutz.sys.models.Sys_file;
import io.v.nutz.sys.models.Sys_signature;
import io.v.nutz.sys.services.SysSignatureService;
import io.v.nutz.zhgh.zgfw.model.difficult.Zgfw_knbf;
import org.apache.shiro.authz.annotation.Logical;
import org.apache.shiro.authz.annotation.RequiresAuthentication;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.nutz.boot.starter.ftp.FtpService;
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.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.IOException;
import java.util.*;
import static io.v.nutz.base.utils.Vi.getImg;
/**
* @ClassName LoveSubsidyApplyController
* @Description TODO
* @Author zhf
* @Date 2024/1/18 15:49
*/
@At("/platform/loveSubsidy/userApply")
@IocBean
@RequiresAuthentication
@Ok("json:full")
public class LoveSubsidyApplyController {
@Inject
private Dao dao;
@Inject(value = "LoveSubsidy")
private ViService loveSubsidyService;
@Inject
private SysSignatureService signatureService;
@Inject
private FtpService ftpService;
@Inject
private OfficeTemplateUtil officeTemplateUtil;
@At("")
@Ok("beetl:/platform/loveSubsidy/apply.html")
@RequiresPermissions("loveSubsidy.apply")
public void index() {
}
@At
@RequiresPermissions("loveSubsidy.apply")
@SLog(type = "loveSubsidy", tag = "爱心基金资助申请保存", msg = "爱心基金资助申请保存")
public Result save(@Param("apply") LoveSubsidy loveSubsidy,
@Param(value = "signData", required = false) String signData) {
if (StrUtil.isNotBlank(signData)) {
loveSubsidy.setApplySignId(signatureService.insert(new Sys_signature(signData)).getId());
}
loveSubsidy.setStateId(LoveSubsidyAuditStateConstant.NOT_SUBMIT.getCode());
loveSubsidy.setApplyDate(new Date());
dao.insertOrUpdate(loveSubsidy);
return Result.success();
}
@At
@RequiresPermissions("loveSubsidy.apply")
@SLog(type = "loveSubsidy", tag = "爱心基金资助申请提交", msg = "爱心基金资助申请提交")
public Result submit(@Param("apply") LoveSubsidy loveSubsidy,
@Param(value = "signData", required = false) String signData) {
if (StrUtil.isNotBlank(signData)) {
loveSubsidy.setApplySignId(signatureService.insert(new Sys_signature(signData)).getId());
}
loveSubsidy.setStateId(LoveSubsidyAuditStateConstant.BRANCH_UNION_AUDIT.getCode());
loveSubsidy.setApplyDate(new Date());
dao.insertOrUpdate(loveSubsidy);
return Result.success();
}
@At
@RequiresPermissions("loveSubsidy.apply")
public Result findOne(String id) {
LoveSubsidy loveSubsidy = dao.fetch(LoveSubsidy.class, id);
loveSubsidy.setApplySign(signatureService.fetch(loveSubsidy.getApplySignId()));
dao.fetchLinks(loveSubsidy, "^unionAudit|schoolManagerAudit|schoolAudit$");
return Result.success(loveSubsidy);
}
/**
* @return java.lang.Object
* @author zhf
* @description 查询今年有没有申请成功的困难帮扶
*/
@At
@ViReturn
@RequiresPermissions("loveSubsidy.apply")
public Object thisYearDifficulty() {
int count = dao.count(Zgfw_knbf.class,
Cnd.where("YEAR(sqsj)", "=", DateUtil.thisYear())
.and("zt", "=", 500)
.and("sqr", "=", ShiroUtil.getUserId()));
return count;
}
private NutMap finOne(String id) {
try {
Sql sql = Sqls.create("select * from love_subsidy where id=@id").setParam("id", id);
NutMap nutMap = loveSubsidyService.fetch(sql);
nutMap.setv("applyDate", DateUtil.format(nutMap.getTime("applyDate"), "yyyy年MM月dd日"));
nutMap.setv("age", DateUtil.ageOfNow(nutMap.getTime("birthday")));
nutMap.setv("loveSubsidy", "");
nutMap.setv("loveSubsidyBig", Convert.digitToChinese(nutMap.getDouble("subsidyMoney")));
String files = nutMap.getString("files");
List<Sys_file> sys_files = Json.fromJsonAsList(Sys_file.class, files);
// List picFiles = sys_files.stream().map(x -> {
// try (ByteArrayOutputStream os = new ByteArrayOutputStream()) {
// String filename = x.getFilename();
// String filepath = x.getFilepath();
// ftpService.download(filepath, os);
// PictureRenderData pictureRenderData = new PictureRenderData(100, 100, PictureType.PNG, new ByteArrayInputStream(os.toByteArray()));
// Map<String, Object> fileMap = new HashMap<>();
// fileMap.put("file", pictureRenderData);
// fileMap.put("fileName", filename);
// return fileMap;
// } catch (IOException e) {
// return Collections.EMPTY_MAP;
// }
// }).collect(Collectors.toList());
// nutMap.setv("picFiles", picFiles);
String applySignId = nutMap.getString("applySignId");
String unionAuditId = nutMap.getString("unionAuditId");
String schoolManagerAuditId = nutMap.getString("schoolManagerAuditId");
String schoolAuditId = nutMap.getString("schoolAuditId");
if (StrUtil.isNotBlank(applySignId)) {
nutMap.setv("applySignImg", getImg(signatureService.fetch(applySignId).getData()));
}
if (StrUtil.isNotBlank(unionAuditId)) {
Audit unionAudit = dao.fetch(Audit.class, unionAuditId);
nutMap.setv("unionAuditImg", unionAudit.getAuditSign() != null ? getImg(unionAudit.getAuditSign()) : null);
nutMap.setv("unionAuditOpinion", unionAudit.getAuditOpinion());
nutMap.setv("unionAuditDate", DateUtil.format(unionAudit.getAuditTime(), "yyyy年MM月dd日"));
}
if (StrUtil.isNotBlank(schoolManagerAuditId)) {
Audit schoolManagerAudit = dao.fetch(Audit.class, schoolManagerAuditId);
nutMap.setv("managerAuditImg", schoolManagerAudit.getAuditSign() != null ? getImg(schoolManagerAudit.getAuditSign()) : null);
nutMap.setv("managerAuditOpinion", schoolManagerAudit.getAuditOpinion());
nutMap.setv("managerAuditDate", DateUtil.format(schoolManagerAudit.getAuditTime(), "yyyy年MM月dd日"));
}
if (StrUtil.isNotBlank(schoolAuditId)) {
Audit schoolAudit = dao.fetch(Audit.class, schoolAuditId);
nutMap.setv("schoolAuditImg", schoolAudit.getAuditSign() != null ? getImg(schoolAudit.getAuditSign()) : null);
nutMap.setv("schoolAuditOpinion", schoolAudit.getAuditOpinion());
nutMap.setv("schoolAuditDate", DateUtil.format(schoolAudit.getAuditTime(), "yyyy年MM月dd日"));
}
return nutMap;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
@At
@RequiresPermissions(value = {"loveSubsidy.userMyApply", "loveSubsidy.schoolUnionZxAudit"}, logical = Logical.OR)
public void exportApply(String id, HttpServletResponse response) {
try {
NutMap nutMap = finOne(id);
HackLoopTableRenderPolicy policy = new HackLoopTableRenderPolicy();
Configure config = Configure.newBuilder().bind("familyIncome", policy).build();
String docxName = nutMap.getString("userName") + "慈善爱心基金资助申请审批表";
response.addHeader("Content-Type", "application/octet-stream");
response.addHeader("Content-Disposition", "attachment; filename=\"" + new String(docxName.getBytes("UTF-8"), "ISO-8859-1") + "\".docx");
ServletOutputStream os = response.getOutputStream();
XWPFTemplate.compile(officeTemplateUtil.getPath("loveSubsidyApply"),
config).render(nutMap).writeAndClose(os);
os.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
@At
@RequiresPermissions(value = {"loveSubsidy.userMyApply", "loveSubsidy.schoolUnionZxAudit"}, logical = Logical.OR)
public void exportTzd(String id, HttpServletResponse response) {
try {
NutMap nutMap = finOne(id);
Configure config = Configure.newBuilder().build();
String docxName = nutMap.getString("userName") + "慈善爱心基金资助领取通知单";
response.addHeader("Content-Type", "application/octet-stream");
response.addHeader("Content-Disposition", "attachment; filename=\"" + new String(docxName.getBytes("UTF-8"), "ISO-8859-1") + "\".docx");
ServletOutputStream os = response.getOutputStream();
XWPFTemplate.compile(officeTemplateUtil.getPath("loveSubsidyPay"),
config).render(nutMap).writeAndClose(os);
os.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
@@ -0,0 +1,87 @@
package io.v.nutz.zhgh.loveSubsidy.controller;
import cn.wizzer.framework.base.Result;
import cn.wizzer.framework.page.Pagination;
import io.v.nutz.base.utils.Vi;
import io.v.nutz.base.model.Audit;
import io.v.nutz.base.query.PageForm;
import io.v.nutz.base.service.ViService;
import io.v.nutz.web.commons.utils.ShiroUtil;
import io.v.nutz.web.commons.slog.annotation.SLog;
import io.v.nutz.zhgh.loveSubsidy.constant.LoveSubsidyAuditStateConstant;
import io.v.nutz.zhgh.loveSubsidy.model.LoveSubsidy;
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.Dao;
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 javax.servlet.http.HttpServletRequest;
/**
* @ClassName LoveSubsidyBranchUnionController
* @Description TODO
* @Author zhf
* @Date 2024/1/19 8:57
*/
@At("/platform/loveSubsidy/branchUnionAudit")
@IocBean
@RequiresAuthentication
@Ok("json:full")
public class LoveSubsidyBranchUnionAuditController {
@Inject
private Dao dao;
@Inject(value = "LoveSubsidy")
private ViService loveSubsidyService;
@At("")
@Ok("beetl:/platform/loveSubsidy/branchUnionAudit.html")
@RequiresPermissions("loveSubsidy.branchUnionAudit")
public void index(HttpServletRequest request) {
}
@At
@RequiresPermissions("loveSubsidy.branchUnionAudit")
public Result pageData(PageForm pageForm, @Param(required = false, value = "year") Integer year, Integer isAudit) {
Cnd cnd = Cnd.NEW();
cnd.andEX("YEAR(applyDate)", "=", year);
if (!ShiroUtil.hasAnyRoles("sysadmin,A06")) {
cnd.and("unionId", "=", Vi.getUnionId());
}
if (Strings.isNotBlank(pageForm.getSearchName()) && Strings.isNotBlank(pageForm.getSearchKeyword())) {
cnd.where().andLike(pageForm.getSearchName(), pageForm.getSearchKeyword());
}
switch (isAudit) {
case 0 -> cnd.and("stateId", ">=", LoveSubsidyAuditStateConstant.BRANCH_UNION_AUDIT.getCode());
case 1 -> cnd.and("stateId", ">", LoveSubsidyAuditStateConstant.BRANCH_UNION_AUDIT.getCode());
case -1 -> cnd.and("stateId", "=", LoveSubsidyAuditStateConstant.BRANCH_UNION_AUDIT.getCode());
}
Pagination pagination = loveSubsidyService.listPage(pageForm.getPageNumber(), pageForm.getPageSize(), cnd);
return Result.success(pagination);
}
@At
@RequiresPermissions("loveSubsidy.branchUnionAudit")
@SLog(type = "loveSubsidy", tag = "分工会审核", msg = "分工会审核")
@Aop(TransAop.READ_COMMITTED)
public Result doSubmit(Audit audit, String id, Boolean flag) {
dao.insert(audit);
dao.update(LoveSubsidy.class,
Chain.make("stateId", flag ? LoveSubsidyAuditStateConstant.SCHOOL_UNION_AUDIT.getCode() : LoveSubsidyAuditStateConstant.BRANCH_UNION_REJECT.getCode())
.add("unionAuditId", audit.getId()),
Cnd.where("id", "=", id));
return Result.success();
}
}
@@ -0,0 +1,77 @@
package io.v.nutz.zhgh.loveSubsidy.controller;
import cn.wizzer.framework.base.Result;
import cn.wizzer.framework.page.Pagination;
import com.deepoove.poi.XWPFTemplate;
import com.deepoove.poi.config.Configure;
import com.deepoove.poi.policy.HackLoopTableRenderPolicy;
import io.v.nutz.base.query.PageForm;
import io.v.nutz.base.service.ViService;
import io.v.nutz.web.commons.utils.ShiroUtil;
import io.v.nutz.web.commons.slog.annotation.SLog;
import io.v.nutz.zhgh.loveSubsidy.model.LoveSubsidy;
import io.v.nutz.zhgh.medicalMutualAidFund.model.MedicalMutualAidFund;
import org.apache.shiro.authz.annotation.Logical;
import org.apache.shiro.authz.annotation.RequiresAuthentication;
import org.apache.shiro.authz.annotation.RequiresPermissions;
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.mvc.annotation.Param;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* @ClassName LoveSubsidyMyApplyController
* @Description TODO
* @Author zhf
* @Date 2024/1/18 17:14
*/
@At("/platform/loveSubsidy/userMyApply")
@IocBean
@RequiresAuthentication
@Ok("json:full")
public class LoveSubsidyMyApplyController {
@Inject
private Dao dao;
@Inject(value = "LoveSubsidy")
private ViService loveSubsidyService;
@At("")
@Ok("beetl:/platform/loveSubsidy/userMyApply.html")
@RequiresPermissions("loveSubsidy.userMyApply")
public void index() {
}
@At
@RequiresPermissions("loveSubsidy.userMyApply")
public Result pageData(PageForm pageForm, @Param(required = false, value = "year") Integer year) {
Cnd cnd = Cnd.NEW();
cnd.andEX("YEAR(applyDate)", "=", year);
if (!ShiroUtil.hasAnyRoles("sysadmin")){
cnd.and("userId","=",ShiroUtil.getUserId());
}
Pagination pagination = loveSubsidyService.listPage(pageForm.getPageNumber(), pageForm.getPageSize(), cnd);
return Result.success(pagination);
}
@At
@RequiresPermissions("loveSubsidy.userMyApply")
@SLog(type = "loveSubsidy", tag = "爱心基金资助申请删除", msg = "爱心基金资助申请删除")
public Result delete(@Param("id") String id) {
dao.clear(LoveSubsidy.class, Cnd.where("id", "=", id));
return Result.success();
}
}
@@ -0,0 +1,87 @@
package io.v.nutz.zhgh.loveSubsidy.controller;
import cn.wizzer.framework.base.Result;
import cn.wizzer.framework.page.Pagination;
import io.v.nutz.base.model.Audit;
import io.v.nutz.base.query.PageForm;
import io.v.nutz.base.service.ViService;
import io.v.nutz.web.commons.slog.annotation.SLog;
import io.v.nutz.zhgh.loveSubsidy.constant.LoveSubsidyAuditStateConstant;
import io.v.nutz.zhgh.loveSubsidy.model.LoveSubsidy;
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.Dao;
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 javax.servlet.http.HttpServletRequest;
/**
* @ClassName LoveSubsidySchoolUnionAuditController
* @Description TODO 校工会财务
* @Author zhf
* @Date 2024/1/19 9:29
*/
@At("/platform/loveSubsidy/schoolUnionAudit")
@IocBean
@RequiresAuthentication
@Ok("json:full")
public class LoveSubsidySchoolUnionAuditController {
@Inject
private Dao dao;
@Inject(value = "LoveSubsidy")
private ViService loveSubsidyService;
@At("")
@Ok("beetl:/platform/loveSubsidy/schoolUnionAudit.html")
@RequiresPermissions("loveSubsidy.schoolUnionAudit")
public void index(HttpServletRequest request) {
}
@At
@RequiresPermissions("loveSubsidy.schoolUnionAudit")
public Result pageData(PageForm pageForm,
@Param(required = false, value = "year") Integer year,
@Param(required = false, value = "unionId") Integer unionId,
Integer isAudit) {
Cnd cnd = Cnd.NEW();
cnd.andEX("YEAR(applyDate)", "=", year);
cnd.andEX("unionId", "=", unionId);
if (Strings.isNotBlank(pageForm.getSearchName()) && Strings.isNotBlank(pageForm.getSearchKeyword())) {
cnd.where().andLike(pageForm.getSearchName(), pageForm.getSearchKeyword());
}
switch (isAudit) {
case 0 -> cnd.and("stateId", ">=", LoveSubsidyAuditStateConstant.SCHOOL_UNION_AUDIT.getCode());
case 1 -> cnd.and("stateId", ">", LoveSubsidyAuditStateConstant.SCHOOL_UNION_AUDIT.getCode());
case -1 -> cnd.and("stateId", "=", LoveSubsidyAuditStateConstant.SCHOOL_UNION_AUDIT.getCode());
}
Pagination pagination = loveSubsidyService.listPage(pageForm.getPageNumber(), pageForm.getPageSize(), cnd);
return Result.success(pagination);
}
@At
@RequiresPermissions("loveSubsidy.schoolUnionAudit")
@SLog(type = "loveSubsidy", tag = "校工会财务审核", msg = "校工会财务审核")
@Aop(TransAop.READ_COMMITTED)
public Result doSubmit(Audit audit, String id, Boolean flag, Integer subsidyMoney) {
dao.insert(audit);
dao.update(LoveSubsidy.class,
Chain.make("stateId", flag ? LoveSubsidyAuditStateConstant.SCHOOL_UNION_ZX_AUDIT.getCode() : LoveSubsidyAuditStateConstant.SCHOOL_UNION_REJECT.getCode())
.add("schoolManagerAuditId", audit.getId())
.add("subsidyMoney", subsidyMoney),
Cnd.where("id", "=", id));
return Result.success();
}
}
@@ -0,0 +1,85 @@
package io.v.nutz.zhgh.loveSubsidy.controller;
import cn.wizzer.framework.base.Result;
import cn.wizzer.framework.page.Pagination;
import io.v.nutz.base.model.Audit;
import io.v.nutz.base.query.PageForm;
import io.v.nutz.base.service.ViService;
import io.v.nutz.web.commons.slog.annotation.SLog;
import io.v.nutz.zhgh.loveSubsidy.constant.LoveSubsidyAuditStateConstant;
import io.v.nutz.zhgh.loveSubsidy.model.LoveSubsidy;
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.Dao;
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 javax.servlet.http.HttpServletRequest;
/**
* @ClassName LoveSubsidySchoolUnionZxAuditController
* @Description TODO
* @Author zhf
* @Date 2024/1/19 10:09
*/
@At("/platform/loveSubsidy/schoolUnionZxAudit")
@IocBean
@RequiresAuthentication
@Ok("json:full")
public class LoveSubsidySchoolUnionZxAuditController {
@Inject
private Dao dao;
@Inject(value = "LoveSubsidy")
private ViService loveSubsidyService;
@At("")
@Ok("beetl:/platform/loveSubsidy/schoolUnionZxAudit.html")
@RequiresPermissions("loveSubsidy.schoolUnionZxAudit")
public void index(HttpServletRequest request) {
}
@At
@RequiresPermissions("loveSubsidy.schoolUnionZxAudit")
public Result pageData(PageForm pageForm,
@Param(required = false, value = "year") Integer year,
@Param(required = false, value = "unionId") Integer unionId,
Integer isAudit) {
Cnd cnd = Cnd.NEW();
cnd.andEX("YEAR(applyDate)", "=", year);
cnd.andEX("unionId", "=", unionId);
if (Strings.isNotBlank(pageForm.getSearchName()) && Strings.isNotBlank(pageForm.getSearchKeyword())) {
cnd.where().andLike(pageForm.getSearchName(), pageForm.getSearchKeyword());
}
switch (isAudit) {
case 0 -> cnd.and("stateId", ">=", LoveSubsidyAuditStateConstant.SCHOOL_UNION_ZX_AUDIT.getCode());
case 1 -> cnd.and("stateId", ">", LoveSubsidyAuditStateConstant.SCHOOL_UNION_ZX_AUDIT.getCode());
case -1 -> cnd.and("stateId", "=", LoveSubsidyAuditStateConstant.SCHOOL_UNION_ZX_AUDIT.getCode());
}
Pagination pagination = loveSubsidyService.listPage(pageForm.getPageNumber(), pageForm.getPageSize(), cnd);
return Result.success(pagination);
}
@At
@RequiresPermissions("loveSubsidy.schoolUnionZxAudit")
@SLog(type = "loveSubsidy", tag = "校工会主席审核", msg = "校工会主席审核")
@Aop(TransAop.READ_COMMITTED)
public Result doSubmit(Audit audit, String id, Boolean flag) {
dao.insert(audit);
dao.update(LoveSubsidy.class,
Chain.make("stateId", flag ? LoveSubsidyAuditStateConstant.PASS.getCode() : LoveSubsidyAuditStateConstant.SCHOOL_UNION_ZX_REJECT.getCode())
.add("schoolAuditId", audit.getId()),
Cnd.where("id", "=", id));
return Result.success();
}
}
@@ -0,0 +1,173 @@
package io.v.nutz.zhgh.loveSubsidy.model;
import io.v.nutz.base.model.BaseModel;
import io.v.nutz.base.model.Audit;
import io.v.nutz.sys.models.Sys_file;
import io.v.nutz.sys.models.Sys_signature;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.nutz.dao.entity.annotation.*;
import org.nutz.dao.interceptor.annotation.PrevInsert;
import java.util.Date;
import java.util.List;
/**
* @ClassName LoveSubsidy
* @Description TODO
* @Author zhf
* @Date 2024/1/18 15:50
*/
@EqualsAndHashCode(callSuper = true)
@Table
@Data
public class LoveSubsidy extends BaseModel {
@Name
@Comment("ID")
@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
@ColDefine(type = ColType.VARCHAR, width = 20)
@Comment("申请人姓名")
private String userName;
@Column
@ColDefine(type = ColType.VARCHAR, width = 20)
@Comment("申请人工号")
private String loginName;
@Column
@ColDefine(type = ColType.VARCHAR, width = 1)
@Comment("申请人性别")
private String sex;
@Column
@ColDefine(type = ColType.DATE)
@Comment("申请人生日")
private Date birthday;
@Column
@ColDefine(type = ColType.VARCHAR)
@Comment("申请人家庭住址")
private String homeAddress;
@Column
@ColDefine(type = ColType.VARCHAR)
@Comment("申请人手机号")
private String mobile;
@Column
@ColDefine(type = ColType.VARCHAR)
@Comment("单位Id")
private String unitId;
@Column
@ColDefine(type = ColType.VARCHAR)
@Comment("单位")
private String unitName;
@Column
@ColDefine(type = ColType.VARCHAR)
@Comment("分工会Id")
private String unionId;
@Column
@ColDefine(type = ColType.VARCHAR)
@Comment("分工会")
private String unionName;
@Column
@ColDefine(type = ColType.MYSQL_JSON)
@Comment("家庭收入")
private List<LoveSubsidy.FamilyIncome> familyIncome;
@Column
@ColDefine(type = ColType.VARCHAR, width = 255)
@Comment("申请补助原因")
private String applyReason;
@Column
@ColDefine(type = ColType.VARCHAR, width = 255)
@Comment("注释")
private String notes;
@Column
@ColDefine(type = ColType.FLOAT, width = 12)
@Comment("本人月收入")
private Integer monthIncome;
@Column
@ColDefine(type = ColType.MYSQL_JSON)
@Comment("申请材料")
private List<Sys_file> files;
@Column
@Comment("补助金额")
@ColDefine(type = ColType.VARCHAR, width = 10)
private String subsidyMoney;
@Column
@ColDefine(type = ColType.DATETIME)
@Comment("申请时间")
private Date applyDate;
@Column
@Comment("审核状态")
private Integer stateId;
@Column
@Comment("申请人签字id")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String applySignId;
@Column
@Comment("工会主席审核记录 id")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String unionAuditId;
@Column
@Comment("校工会经办人审核记录 id")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String schoolManagerAuditId;
@Column
@Comment("校工会审核记录id")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String schoolAuditId;
@One(field = "unionAuditId",key = "id")
private Audit unionAudit;
@One(field = "schoolManagerAuditId",key = "id")
private Audit schoolManagerAudit;
@One(field = "schoolAuditId",key = "id")
private Audit schoolAudit;
private Sys_signature applySign;
@Data
public static class FamilyIncome {
private String userName;
private String age;
private String relation;
private String workUnit;
private String monthIncome;
}
}