init
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
+87
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
+87
@@ -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();
|
||||
}
|
||||
|
||||
}
|
||||
+85
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user