diff --git a/src/main/java/com/budwk/app/base/constant/RoleConstant.java b/src/main/java/com/budwk/app/base/constant/RoleConstant.java index 0458b49c..41277db9 100644 --- a/src/main/java/com/budwk/app/base/constant/RoleConstant.java +++ b/src/main/java/com/budwk/app/base/constant/RoleConstant.java @@ -28,6 +28,7 @@ RoleConstant { SCHOOL_UNION_ARTICLE_CLUB_ADMIN("校工会协会新闻审批管理员"), SCHOOL_UNION_ARTICLE_FGH_ADMIN("校工会分工会新闻审批管理员"), SCHOOL_UNION_ARTICLE_ADMIN("校工会新闻审批管理员"), + SCHOOL_OUTLAY_ADMIN("校工会经费管理员"), BRANCH_UNION_ADMIN("分工会管理员"), BRANCH_UNION_CHAIRMAN("分工会主席"), diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/condolence/controller/CondolenceApplyController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/condolence/controller/CondolenceApplyController.java deleted file mode 100644 index e299462a..00000000 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/condolence/controller/CondolenceApplyController.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.budwk.app.zhgh.dayofficework.condolence.controller; - -import cn.dev33.satoken.annotation.SaCheckLogin; -import cn.dev33.satoken.annotation.SaCheckPermission; -import io.swagger.annotations.Api; -import org.nutz.ioc.loader.annotation.IocBean; -import org.nutz.mvc.annotation.At; -import org.nutz.mvc.annotation.Ok; - -/** - * @ClassName CondolenceApplyController - * @Author JyuHsin - * @Date 2025/7/28 11:06 - * @Version 1.0 - * @Description TODO - */ -@IocBean -@At("/platform/condolence/apply") -@Api("新闻投稿统计分析") -@Ok("json:full") -public class CondolenceApplyController { - - @At("/form") - @Ok("beetl:/platform/zhgh/dayofficework/condolence/apply/index.html") - @SaCheckLogin - public void index() {} - - -} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/condolence/controller/CondolenceUnionAuditController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/condolence/controller/CondolenceUnionAuditController.java deleted file mode 100644 index bbf4d67d..00000000 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/condolence/controller/CondolenceUnionAuditController.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.budwk.app.zhgh.dayofficework.condolence.controller; - -import cn.dev33.satoken.annotation.SaCheckLogin; -import io.swagger.annotations.Api; -import org.nutz.ioc.loader.annotation.IocBean; -import org.nutz.mvc.annotation.At; -import org.nutz.mvc.annotation.Ok; - -/** - * @ClassName CondolenceUnionAuditController - * @Author JyuHsin - * @Date 2025/7/28 11:33 - * @Version 1.0 - * @Description TODO - */ -@IocBean -@At("/platform/condolence/unionAudit") -@Api("新闻投稿统计分析") -@Ok("json:full") -public class CondolenceUnionAuditController { - - @At("/form") - @Ok("beetl:/platform/zhgh/dayofficework/condolence/unionAudit/index.html") - @SaCheckLogin - public void index() {} -} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/condolence/model/Condolence.java b/src/main/java/com/budwk/app/zhgh/dayofficework/condolence/model/Condolence.java deleted file mode 100644 index d09bc97a..00000000 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/condolence/model/Condolence.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.budwk.app.zhgh.dayofficework.condolence.model; - -import cn.hutool.json.JSONObject; -import com.budwk.app.base.model.BaseModel; -import lombok.Data; -import lombok.EqualsAndHashCode; -import org.nutz.dao.entity.annotation.*; -import org.nutz.dao.interceptor.annotation.PrevInsert; -import org.nutz.dao.interceptor.annotation.PrevUpdate; - -import java.util.Date; -import java.util.List; - -/** - * @ClassName Condolence - * @Author JyuHsin - * @Date 2025/7/28 11:03 - * @Version 1.0 - * @Description TODO - */ -@Data -@EqualsAndHashCode(callSuper = true) -@Table("condolence") -@TableMeta("{'mysql-charset':'utf8mb4'}") -@Comment("职工慰问") -public class Condolence extends BaseModel { - - @Name - @Comment("ID") - @ColDefine(type = ColType.VARCHAR, width = 32) - @PrevInsert(uu32 = true) - private String id; - - @Column - @Comment("说明") - @ColDefine(type = ColType.VARCHAR,width = 500) - private String excerpt; - - @Column - @Comment("稿件") - @ColDefine(type = ColType.MYSQL_JSON) - private List files; - - @Column - @Comment("投稿人ID") - @ColDefine(type = ColType.VARCHAR, width = 32) - private String userId; - - @Column - @Comment("投稿人姓名") - @ColDefine(type = ColType.VARCHAR, width = 100) - private String userName; - - @Column - @Comment("投稿人工号") - @ColDefine(type = ColType.VARCHAR, width = 120) - private String loginName; - - @Column - @Comment("投稿人分工会ID") - @ColDefine(type = ColType.VARCHAR, width = 32) - private String unionId; - - @Column - @Comment("投稿人分工会") - @ColDefine(type = ColType.VARCHAR, width = 100) - private String unionName; - - @Column - @Comment("投稿人单位ID") - @ColDefine(type = ColType.VARCHAR, width = 32) - private String unitId; - - @Column - @Comment("投稿人单位") - @ColDefine(type = ColType.VARCHAR, width = 100) - private String unitName; - - @Column - @Comment("类型") - @ColDefine(type = ColType.VARCHAR, width = 20) - private String origin; -} diff --git a/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/controller/CondolenceApplyController.java b/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/controller/CondolenceApplyController.java new file mode 100644 index 00000000..4c5390ea --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/controller/CondolenceApplyController.java @@ -0,0 +1,157 @@ +package com.budwk.app.zhgh.staffbenefit.condolence.controller; + +import cn.dev33.satoken.annotation.SaCheckLogin; +import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.dev33.satoken.stp.StpUtil; +import cn.hutool.core.util.StrUtil; +import com.budwk.app.base.annotation.SLog; +import com.budwk.app.base.constant.RoleConstant; +import com.budwk.app.base.page.Pagination; +import com.budwk.app.base.param.PageForm; +import com.budwk.app.base.result.Result; +import com.budwk.app.sys.views.View_user; +import com.budwk.app.web.commons.auth.utils.AuthUtil; +import com.budwk.app.web.commons.auth.utils.SecurityUtil; +import com.budwk.app.zhgh.dayofficework.article.models.Article; +import com.budwk.app.zhgh.staffbenefit.condolence.model.Condolence; +import com.budwk.app.zhgh.staffbenefit.condolence.model.CondolenceType; +import com.budwk.app.zhgh.staffbenefit.condolence.service.CondolenceService; +import com.budwk.app.zhgh.staffbenefit.psychology.model.PsychologyDoctor; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.nutz.dao.Cnd; +import org.nutz.dao.Sqls; +import org.nutz.dao.sql.Sql; +import org.nutz.dao.util.cri.SqlExpressionGroup; +import org.nutz.ioc.loader.annotation.Inject; +import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.lang.util.NutMap; +import org.nutz.mvc.annotation.At; +import org.nutz.mvc.annotation.Ok; +import org.nutz.mvc.annotation.Param; + +import javax.validation.Valid; +import java.util.List; + +/** + * @ClassName CondolenceApplyController + * @Author JyuHsin + * @Date 2025/7/28 11:06 + * @Version 1.0 + * @Description TODO + */ +@IocBean +@At("/platform/condolence/apply") +@Api("职工慰问申请") +@Ok("json:full") +public class CondolenceApplyController { + + @Inject + private CondolenceService condolenceService; + + @At("") + @Ok("beetl:/platform/zhgh/staffbenefit/condolence/apply/index.html") + @SaCheckLogin + public void index() {} + + @At("/form") + @Ok("beetl:/platform/zhgh/staffbenefit/condolence/apply/form.html") + @SaCheckLogin + public void form() {} + + @At + @ApiOperation("分页查询") + @SaCheckPermission("condolence.apply") + public Result pageData(PageForm pageForm, + @Param(value = "year") Integer year, + @Param(value = "type") String type) { + Sql sql = Sqls.create(""" + SELECT + info.*, + type.name as typeName, + ins.id AS instanceId, + ins.businessNo, + ins.state instanceState, + ins.variable instanceVariale, + t.id taskId, + t.taskName AS taskKey, + t.displayName taskName, + t.taskType, + t.performType taskPerformType, + t.taskState, + t.finishTime, + t.taskParentId, + t.variable taskVariale + FROM + condolence info + LEFT JOIN condolence_type type ON info.type = type.id + LEFT JOIN `wf_process_instance` ins ON ins.businessNo = info.id + LEFT JOIN wf_process_task t ON t.processInstanceId = ins.id AND t.taskState = 10 + LEFT JOIN wf_process_task_actor ta ON ta.processTaskId = t.id + $condition + """); + Cnd cnd = Cnd.NEW(); + if (StrUtil.isNotBlank(pageForm.getSearchKeyword())) { + SqlExpressionGroup seg = new SqlExpressionGroup(); + seg.or(Condolence::getHelpUserName, "like", "%" + pageForm.getSearchKeyword() + "%"); + seg.or(Condolence::getHelpLoginName, "like", "%" + pageForm.getSearchKeyword() + "%"); + cnd.and(seg); + } + cnd.andEX("year(info.createTime)", "=", year); + cnd.andEX("info.type", "=", type); + cnd.and("info.createdBy", "=", SecurityUtil.getUserId()); + cnd.desc("info.createTime"); + sql.setCondition(cnd); + Pagination pagination = condolenceService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql); + return Result.success(pagination); + } + + @At + @ApiOperation("查询用户") + @SaCheckPermission("condolence.apply") + @SLog(type = "condolence", tag = "查询用户", msg = "查询用户") + public Object listUser(String keyword) { + Sql sql = Sqls.create(""" + select + id, + username as userName, + loginname as loginName, + sex, + mobile, + technicalTitle, + IFNULL(unitname, '暂无') as unitName, + unitid as unitId, + unionid as unionId, + unionname as unionName + from + vw_user + $condition + """); + Cnd cnd = Cnd.NEW(); + if (StrUtil.isNotBlank(keyword)) { + SqlExpressionGroup seg = new SqlExpressionGroup(); + seg.or(View_user::getLoginname, "like", "%" + keyword + "%"); + seg.or(View_user::getUsername, "like", "%" + keyword + "%"); + cnd.and(seg); + } + if(!AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.SCHOOL_UNION_ADMIN.name())) { + if(AuthUtil.hasRoleOr(RoleConstant.BRANCH_UNION_ADMIN.name(), RoleConstant.BRANCH_UNION_CHAIRMAN.name())) { + cnd.and(View_user::getUnionId, "=", SecurityUtil.getUnionId()); + } else { + cnd.and(View_user::getId, "=", SecurityUtil.getUserId()); + } + + } + sql.setCondition(cnd); + Pagination pagination = condolenceService.listPageMap(1, 50, sql); + return Result.success(pagination.getList()); + } + + @At + @SaCheckPermission("condolence.apply") + @ApiOperation("职工慰问详情") + public Result fetchOne(@Valid String id) { + Condolence condolence = condolenceService.fetch(id); + return Result.success(condolence); + } +} diff --git a/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/controller/CondolenceBranchUnionApprovalController.java b/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/controller/CondolenceBranchUnionApprovalController.java new file mode 100644 index 00000000..f4001862 --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/controller/CondolenceBranchUnionApprovalController.java @@ -0,0 +1,107 @@ +package com.budwk.app.zhgh.staffbenefit.condolence.controller; + +import cn.dev33.satoken.annotation.SaCheckLogin; +import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.hutool.core.util.StrUtil; +import com.budwk.app.base.page.Pagination; +import com.budwk.app.base.param.PageForm; +import com.budwk.app.base.result.Result; +import com.budwk.app.base.utils.PageUtil; +import com.budwk.app.flow.enums.ProcessTaskStateEnum; +import com.budwk.app.web.commons.auth.utils.SecurityUtil; +import com.budwk.app.zhgh.staffbenefit.condolence.service.CondolenceService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.nutz.dao.Cnd; +import org.nutz.dao.Sqls; +import org.nutz.dao.sql.Sql; +import org.nutz.ioc.loader.annotation.Inject; +import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.lang.util.NutMap; +import org.nutz.mvc.annotation.At; +import org.nutz.mvc.annotation.Ok; +import org.nutz.mvc.annotation.Param; + +import java.util.List; + +/** + * @ClassName CondolenceBranchUnionApprovalController + * @Author JyuHsin + * @Date 2025/7/28 11:33 + * @Version 1.0 + * @Description TODO + */ +@IocBean +@At("/platform/condolence/branchUnionApproval") +@Api("职工慰问分工会审核") +@Ok("json:full") +public class CondolenceBranchUnionApprovalController { + + @Inject + private CondolenceService condolenceService; + + @At("") + @Ok("beetl:/platform/zhgh/staffbenefit/condolence/branchUnionApproval/index.html") + @SaCheckLogin + public void index() {} + + @At("/form") + @Ok("beetl:/platform/zhgh/staffbenefit/condolence/branchUnionApproval/form.html") + @SaCheckLogin + public void form() {} + + @At + @ApiOperation("分页查询") + @SaCheckPermission("condolence.branchUnionApproval") + public Result pageData(PageForm pageForm, + @Param(value = "year") Integer year, + @Param(value = "type") String type, + @Param(value = "approval") Boolean approval) { + Sql sql = Sqls.create(""" + SELECT + info.*, + type.name as typeName, + ins.id AS instanceId, + ins.businessNo, + ins.state instanceState, + ins.variable instanceVariable, + t.id taskId, + t.taskName AS taskKey, + t.displayName taskName, + t.taskType, + t.performType taskPerformType, + t.taskState, + t.finishTime, + t.taskParentId, + t.variable taskVariable + FROM + wf_process_task t + LEFT JOIN wf_process_instance ins ON ins.id = t.processInstanceId + LEFT JOIN condolence info ON info.id = ins.businessNo + LEFT JOIN wf_process_task_actor ta ON ta.processTaskId = t.id + LEFT JOIN condolence_type type ON info.type = type.id + $condition + """); + Cnd cnd = Cnd.NEW(); + cnd.andEX("info.type", "=", type); + cnd.andEX("YEAR(info.createTime)", "=", year); + + cnd.and("t.taskName", "=", "4dad0bef-3cf2-4a7d-bba3-35020b9b216d"); + cnd.and("ta.actorId", "in", List.of(SecurityUtil.getUserId())); + + if (approval) { + cnd.and("t.taskState", "in", List.of(ProcessTaskStateEnum.FINISHED.getCode(), ProcessTaskStateEnum.WITHDRAW.getCode(), ProcessTaskStateEnum.INTERRUPT.getCode())); + } else { + cnd.and("t.taskState", "=", ProcessTaskStateEnum.DOING.getCode()); + } + + if (StrUtil.isAllBlank(pageForm.getPageOrderName(), pageForm.getPageOrderBy())) { + cnd.desc("info.createTime"); + } else { + cnd.orderBy(pageForm.getPageOrderName(), PageUtil.getOrder(pageForm.getPageOrderBy())); + } + sql.setCondition(cnd); + Pagination pageVO = condolenceService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql); + return Result.success(pageVO); + } +} diff --git a/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/controller/CondolenceReadController.java b/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/controller/CondolenceReadController.java new file mode 100644 index 00000000..ff3717d7 --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/controller/CondolenceReadController.java @@ -0,0 +1,176 @@ +package com.budwk.app.zhgh.staffbenefit.condolence.controller; + +import cn.afterturn.easypoi.excel.ExcelExportUtil; +import cn.afterturn.easypoi.excel.entity.ExportParams; +import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; +import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity; +import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.hutool.core.util.StrUtil; +import com.budwk.app.base.constant.RoleConstant; +import com.budwk.app.base.page.Pagination; +import com.budwk.app.base.param.PageForm; +import com.budwk.app.base.result.Result; +import com.budwk.app.base.utils.CommonDownloadUtil; +import com.budwk.app.base.utils.PageUtil; +import com.budwk.app.flow.entity.ProcessInstance; +import com.budwk.app.flow.enums.ProcessTaskStateEnum; +import com.budwk.app.sys.param.SysMsgSummaryPageForm; +import com.budwk.app.web.commons.auth.utils.AuthUtil; +import com.budwk.app.web.commons.auth.utils.SecurityUtil; +import com.budwk.app.zhgh.staffbenefit.condolence.model.Condolence; +import com.budwk.app.zhgh.staffbenefit.condolence.service.CondolenceService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.apache.poi.ss.usermodel.Workbook; +import org.nutz.dao.Cnd; +import org.nutz.dao.Dao; +import org.nutz.dao.Sqls; +import org.nutz.dao.sql.Sql; +import org.nutz.dao.util.cri.SqlExpressionGroup; +import org.nutz.ioc.loader.annotation.Inject; +import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.lang.util.NutMap; +import org.nutz.mvc.annotation.At; +import org.nutz.mvc.annotation.Ok; +import org.nutz.mvc.annotation.Param; + +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.util.ArrayList; +import java.util.List; + +/** + * @ClassName CondolenceReadController + * @Author JyuHsin + * @Date 2025/7/29 16:25 + * @Version 1.0 + * @Description TODO + */ +@Slf4j +@IocBean +@Ok("json:full") +@Api(tags = "职工慰问阅览") +@At("/platform/condolence/read") +public class CondolenceReadController { + + @Inject + private CondolenceService condolenceService; + + @At("") + @SaCheckPermission("condolence.read") + @Ok("beetl:/platform/zhgh/staffbenefit/condolence/read/index.html") + public void index() { + } + + @At + @ApiOperation("分页查询") + @SaCheckPermission("condolence.read") + public Result pageData(PageForm pageForm, + @Param(value = "year") Integer year, + @Param(value = "type") String type, + @Param(value = "unionId") String unionId, + @Param(value = "unitId") String unitId) { + Sql sql = Sqls.create(""" + SELECT + info.*, + ins.id AS instanceId, + type.name as typeName, + ins.state instanceState, + t.displayName taskName + FROM + condolence info + LEFT JOIN wf_process_instance ins ON ins.businessNo = info.id + LEFT JOIN ( + SELECT + processInstanceId, + displayName, + createdAt, + ROW_NUMBER() OVER (PARTITION BY processInstanceId ORDER BY createdAt DESC) AS rn + FROM wf_process_task + ) t ON t.processInstanceId = ins.id AND t.rn = 1 + LEFT JOIN condolence_type type ON info.type = type.id + $condition + """); + Cnd cnd = Cnd.NEW(); + cnd.andEX("info.type", "=", type); + cnd.andEX("YEAR(info.createTime)", "=", year); + cnd.andEX("info.applyUnionId", "=", unionId); + cnd.andEX("info.applyUnitId", "=", unitId); + + if (StrUtil.isNotBlank(pageForm.getSearchKeyword())) { + SqlExpressionGroup seg = new SqlExpressionGroup(); + seg.or("info.helpUserName", "like", "%" + pageForm.getSearchKeyword() + "%"); + seg.or("info.helpLoginName", "like", "%" + pageForm.getSearchKeyword() + "%"); + cnd.and(seg); + } + + if (!AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.SCHOOL_UNION_ADMIN.name())) { + cnd.and("info.applyUnionId", "=", SecurityUtil.getUnionId()); + } + + if (StrUtil.isAllBlank(pageForm.getPageOrderName(), pageForm.getPageOrderBy())) { + cnd.desc("info.createTime"); + } else { + cnd.orderBy(pageForm.getPageOrderName(), PageUtil.getOrder(pageForm.getPageOrderBy())); + } + sql.setCondition(cnd); + Pagination pageVO = condolenceService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql); + return Result.success(pageVO); + } + + @At + @Ok("void") + @SaCheckPermission("condolence.read") + @ApiOperation("导出职工慰问汇总表") + public void onExport(PageForm pageForm, + @Param(value = "year") Integer year, + @Param(value = "type") String type, + @Param(value = "unionId") String unionId, + @Param(value = "unitId") String unitId, + HttpServletResponse response) { + //查询审核通过的数据 + Sql sql = Sqls.create(""" + select + con.*, + type.name as typeName + from + condolence con + left join wf_process_instance ins on ins.businessNo = con.id + left join condolence_type type on type.id = con.type + $condition + """); + Cnd cnd = Cnd.NEW(); + cnd.and(ProcessInstance::getState, "=", ProcessTaskStateEnum.FINISHED.getCode()); + cnd.andEX("con.type", "=", type); + cnd.andEX("YEAR(info.createTime)", "=", year); + cnd.andEX("con.applyUnionId", "=", unionId); + cnd.andEX("con.applyUnitId", "=", unitId); + if (StrUtil.isNotBlank(pageForm.getSearchKeyword())) { + SqlExpressionGroup seg = new SqlExpressionGroup(); + seg.or("info.helpUserName", "like", "%" + pageForm.getSearchKeyword() + "%"); + seg.or("info.helpLoginName", "like", "%" + pageForm.getSearchKeyword() + "%"); + cnd.and(seg); + } + if (!AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.SCHOOL_UNION_ADMIN.name())) { + cnd.and("con.applyUnionId", "=", SecurityUtil.getUnionId()); + } + sql.setCondition(cnd); + List list = condolenceService.listMap(sql); + + List exportEntities = new ArrayList<>(); + exportEntities.add(new ExcelExportEntity("慰问对象", "helpUserName", 20)); + exportEntities.add(new ExcelExportEntity("慰问对象工号", "helpLoginName", 20)); + exportEntities.add(new ExcelExportEntity("申请人", "applyUserName", 20)); + exportEntities.add(new ExcelExportEntity("所在工会", "helpUnionName", 20)); + exportEntities.add(new ExcelExportEntity("所在单位", "helpUnitName", 20)); + exportEntities.add(new ExcelExportEntity("慰问类型", "typeName", 20)); + exportEntities.add(new ExcelExportEntity("拟补贴金额", "money", 20)); + exportEntities.add(new ExcelExportEntity("申请理由", "remark", 20)); + + ExportParams exportParams = new ExportParams(); + exportParams.setType(ExcelType.XSSF); + Workbook workbook = ExcelExportUtil.exportExcel(exportParams, exportEntities, list); + CommonDownloadUtil.download("申报人汇总.xlsx", workbook, response); + } +} diff --git a/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/controller/CondolenceSchoolUnionApprovalController.java b/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/controller/CondolenceSchoolUnionApprovalController.java new file mode 100644 index 00000000..4d652e99 --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/controller/CondolenceSchoolUnionApprovalController.java @@ -0,0 +1,111 @@ +package com.budwk.app.zhgh.staffbenefit.condolence.controller; + +import cn.dev33.satoken.annotation.SaCheckLogin; +import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.hutool.core.util.StrUtil; +import com.budwk.app.base.page.Pagination; +import com.budwk.app.base.param.PageForm; +import com.budwk.app.base.result.Result; +import com.budwk.app.base.utils.PageUtil; +import com.budwk.app.flow.enums.ProcessTaskStateEnum; +import com.budwk.app.web.commons.auth.utils.SecurityUtil; +import com.budwk.app.zhgh.staffbenefit.condolence.service.CondolenceService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.nutz.dao.Cnd; +import org.nutz.dao.Sqls; +import org.nutz.dao.sql.Sql; +import org.nutz.ioc.loader.annotation.Inject; +import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.lang.util.NutMap; +import org.nutz.mvc.annotation.At; +import org.nutz.mvc.annotation.Ok; +import org.nutz.mvc.annotation.Param; + +import java.util.List; + +/** + * @ClassName CondolenceSchoolUnionApprovalController + * @Author JyuHsin + * @Date 2025/7/29 16:23 + * @Version 1.0 + * @Description TODO + */ +@IocBean +@At("/platform/condolence/schoolUnionApproval") +@Api("职工慰问校工会审核") +@Ok("json:full") +public class CondolenceSchoolUnionApprovalController { + + @Inject + private CondolenceService condolenceService; + + @At("") + @Ok("beetl:/platform/zhgh/staffbenefit/condolence/schoolUnionApproval/index.html") + @SaCheckLogin + public void index() {} + + @At("/form") + @Ok("beetl:/platform/zhgh/staffbenefit/condolence/schoolUnionApproval/form.html") + @SaCheckLogin + public void form() {} + + @At + @ApiOperation("分页查询") + @SaCheckPermission("condolence.schoolUnionApproval") + public Result pageData(PageForm pageForm, + @Param(value = "year") Integer year, + @Param(value = "type") String type, + @Param(value = "unionId") String unionId, + @Param(value = "unitId") String unitId, + @Param(value = "approval") Boolean approval) { + Sql sql = Sqls.create(""" + SELECT + info.*, + type.name as typeName, + ins.id AS instanceId, + ins.businessNo, + ins.state instanceState, + ins.variable instanceVariable, + t.id taskId, + t.taskName AS taskKey, + t.displayName taskName, + t.taskType, + t.performType taskPerformType, + t.taskState, + t.finishTime, + t.taskParentId, + t.variable taskVariable + FROM + wf_process_task t + LEFT JOIN wf_process_instance ins ON ins.id = t.processInstanceId + LEFT JOIN condolence info ON info.id = ins.businessNo + LEFT JOIN wf_process_task_actor ta ON ta.processTaskId = t.id + LEFT JOIN condolence_type type ON info.type = type.id + $condition + """); + Cnd cnd = Cnd.NEW(); + cnd.andEX("info.type", "=", type); + cnd.andEX("YEAR(info.createTime)", "=", year); + cnd.andEX("info.applyUnionId", "=", unionId); + cnd.andEX("info.applyUnitId", "=", unitId); + + cnd.and("t.taskName", "=", "ecdaef3b-edf4-4143-9a96-887dd5921711"); + cnd.and("ta.actorId", "in", List.of(SecurityUtil.getUserId())); + + if (approval) { + cnd.and("t.taskState", "in", List.of(ProcessTaskStateEnum.FINISHED.getCode(), ProcessTaskStateEnum.WITHDRAW.getCode(), ProcessTaskStateEnum.INTERRUPT.getCode())); + } else { + cnd.and("t.taskState", "=", ProcessTaskStateEnum.DOING.getCode()); + } + + if (StrUtil.isAllBlank(pageForm.getPageOrderName(), pageForm.getPageOrderBy())) { + cnd.desc("info.createTime"); + } else { + cnd.orderBy(pageForm.getPageOrderName(), PageUtil.getOrder(pageForm.getPageOrderBy())); + } + sql.setCondition(cnd); + Pagination pageVO = condolenceService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql); + return Result.success(pageVO); + } +} diff --git a/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/controller/CondolenceStatisticsController.java b/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/controller/CondolenceStatisticsController.java new file mode 100644 index 00000000..b164c2eb --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/controller/CondolenceStatisticsController.java @@ -0,0 +1,46 @@ +package com.budwk.app.zhgh.staffbenefit.condolence.controller; + +import cn.dev33.satoken.annotation.SaCheckLogin; +import cn.dev33.satoken.annotation.SaCheckPermission; +import com.budwk.app.base.param.PageForm; +import com.budwk.app.base.result.Result; +import com.budwk.app.zhgh.staffbenefit.condolence.service.CondolenceService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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; + +/** + * @ClassName CondolenceStatisticsController + * @Author JyuHsin + * @Date 2025/7/30 14:51 + * @Version 1.0 + * @Description TODO + */ +@IocBean +@At("/platform/condolence/statistics") +@Api("职工慰问统计") +@Ok("json:full") +public class CondolenceStatisticsController { + + @Inject + private CondolenceService condolenceService; + + @At("") + @Ok("beetl:/platform/zhgh/staffbenefit/condolence/statistics/index.html") + @SaCheckLogin + public void index() {} + + @At + @ApiOperation("分页查询") + @SaCheckPermission("condolence.statistics") + public Result pageData(PageForm pageForm, + @Param(value = "year") Integer year, + @Param(value = "type") String type) { + + return null; + } +} diff --git a/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/controller/CondolenceTypeController.java b/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/controller/CondolenceTypeController.java new file mode 100644 index 00000000..974666cd --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/controller/CondolenceTypeController.java @@ -0,0 +1,90 @@ +package com.budwk.app.zhgh.staffbenefit.condolence.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.hutool.core.util.StrUtil; +import com.budwk.app.base.annotation.SLog; +import com.budwk.app.base.page.Pagination; +import com.budwk.app.base.param.PageForm; +import com.budwk.app.base.result.Result; +import com.budwk.app.zhgh.staffbenefit.condolence.model.CondolenceType; +import com.budwk.app.zhgh.staffbenefit.condolence.service.CondolenceTypeService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.nutz.dao.Cnd; +import org.nutz.dao.Dao; +import org.nutz.dao.util.cri.SqlExpressionGroup; +import org.nutz.ioc.loader.annotation.Inject; +import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.mvc.annotation.At; +import org.nutz.mvc.annotation.Ok; + +import java.util.List; + +/** + * @ClassName CondolenceTypeController + * @Author JyuHsin + * @Date 2025/7/29 10:00 + * @Version 1.0 + * @Description TODO + */ +@Slf4j +@IocBean +@Ok("json:full") +@Api(tags = "职工慰问类型") +@At("/platform/condolence/type") +public class CondolenceTypeController { + + @Inject + private Dao dao; + @Inject + private CondolenceTypeService typeService; + + @At("") + @SaCheckPermission("condolence.type") + @Ok("beetl:/platform/zhgh/staffbenefit/condolence/type/index.html") + public void index() { + } + + @At + @ApiOperation("分页查询") + @SaCheckPermission("condolence.type") + public Result pageData(PageForm pageForm) { + Cnd cnd = Cnd.NEW(); + if (StrUtil.isNotBlank(pageForm.getSearchKeyword())) { + SqlExpressionGroup seg = new SqlExpressionGroup(); + seg.or(CondolenceType::getName, "like", "%" + pageForm.getSearchKeyword() + "%"); + seg.or(CondolenceType::getCode, "like", "%" + pageForm.getSearchKeyword() + "%"); + cnd.and(seg); + } + cnd.asc("code"); + Pagination pagination = typeService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), cnd); + return Result.success(pagination); + } + + @At + @ApiOperation("新增/修改职工慰问类型") + @SaCheckPermission("condolence.type") + @SLog(type = "condolence", tag = "新增/修改职工慰问类型", msg = "新增/修改职工慰问类型") + public Object onSubmit(CondolenceType type) { + typeService.insertOrUpdate(type); + return Result.success(); + } + + @At + @ApiOperation("删除职工慰问类型") + @SaCheckPermission("condolence.type") + @SLog(type = "condolence", tag = "删除职工慰问类型", msg = "删除职工慰问类型") + public Object onDelete(String id) { + typeService.delete(id); + return Result.success(); + } + + @At + @ApiOperation("查询职工慰问类型") + @SaCheckPermission("condolence.type") + public Result queryCondolenceType() { + List list = typeService.query(Cnd.NEW().desc(CondolenceType::getCode)); + return Result.success(list); + } +} diff --git a/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/controller/CondolenceViewController.java b/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/controller/CondolenceViewController.java new file mode 100644 index 00000000..40c5aad8 --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/controller/CondolenceViewController.java @@ -0,0 +1,50 @@ +package com.budwk.app.zhgh.staffbenefit.condolence.controller; + +import cn.dev33.satoken.annotation.SaCheckLogin; +import com.budwk.app.base.result.Result; +import com.budwk.app.zhgh.democratic.suggestionBox.models.SuggestionBox; +import com.budwk.app.zhgh.staffbenefit.condolence.model.Condolence; +import com.budwk.app.zhgh.staffbenefit.condolence.model.CondolenceType; +import io.swagger.annotations.Api; +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.Lang; +import org.nutz.lang.util.NutMap; +import org.nutz.mvc.annotation.At; +import org.nutz.mvc.annotation.Ok; + +/** + * @ClassName CondolenceViewController + * @Author JyuHsin + * @Date 2025/7/30 10:46 + * @Version 1.0 + * @Description TODO + */ +@IocBean +@At("/platform/condolence/view") +@Api("职工慰问查看") +@Ok("json:full") +public class CondolenceViewController { + + @Inject + private Dao dao; + + @At("/index") + @Ok("beetl:/platform/zhgh/staffbenefit/condolence/view/index.html") + @SaCheckLogin + public void index() { + + } + + @At("/info") + @SaCheckLogin + public Result info(String id) { + Condolence condolence = dao.fetch(Condolence.class, id); + CondolenceType type = dao.fetch(CondolenceType.class, Cnd.where(CondolenceType::getId, "=", condolence.getType())); + NutMap nutMap = Lang.obj2nutmap(condolence); + nutMap.put("typeName", type.getName()); + return Result.success(nutMap); + } +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/condolence/interceptor/CondolenceSaveInterceptor.java b/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/interceptor/CondolenceSaveInterceptor.java similarity index 60% rename from src/main/java/com/budwk/app/zhgh/dayofficework/condolence/interceptor/CondolenceSaveInterceptor.java rename to src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/interceptor/CondolenceSaveInterceptor.java index f2db21a2..9ed2e1dc 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/condolence/interceptor/CondolenceSaveInterceptor.java +++ b/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/interceptor/CondolenceSaveInterceptor.java @@ -1,11 +1,14 @@ -package com.budwk.app.zhgh.dayofficework.condolence.interceptor; +package com.budwk.app.zhgh.staffbenefit.condolence.interceptor; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; import com.budwk.app.flow.constant.FlowConst; import com.budwk.app.flow.engine.FlowInterceptor; import com.budwk.app.flow.engine.core.Execution; import com.budwk.app.flow.engine.core.ServiceContext; import com.budwk.app.flow.entity.ProcessInstance; import com.budwk.app.zhgh.dayofficework.article.models.Article; +import com.budwk.app.zhgh.staffbenefit.condolence.model.Condolence; import org.nutz.dao.Chain; import org.nutz.dao.Cnd; import org.nutz.dao.Dao; @@ -22,19 +25,19 @@ public class CondolenceSaveInterceptor implements FlowInterceptor { @Override public void intercept(Execution execution) { - System.out.println(".................."); String formDataStr = execution.getArgs().getStr(FlowConst.FORM_DATA); - Article article = Json.fromJson(Article.class, formDataStr); + Condolence condolence = Json.fromJson(Condolence.class, formDataStr); + + if(StrUtil.isBlank(condolence.getId())) condolence.setCreateTime(DateUtil.now()); Dao dao = ServiceContext.find(Dao.class); - dao.insertOrUpdate(article); + dao.insertOrUpdate(condolence); // 设置流程变量 - execution.getArgs().set("origin", article.getOrigin()); + execution.getArgs().set("origin", condolence.getOrigin()); int instanceId = execution.getArgs().getInt(FlowConst.PROCESS_INSTANCE_ID_KEY); - dao.update(ProcessInstance.class, Chain.make("businessNo", article.getId()), Cnd.where(ProcessInstance::getId, "=", instanceId)); + dao.update(ProcessInstance.class, Chain.make("businessNo", condolence.getId()), Cnd.where(ProcessInstance::getId, "=", instanceId)); - System.out.println(execution); } } diff --git a/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/model/Condolence.java b/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/model/Condolence.java new file mode 100644 index 00000000..986da1ab --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/model/Condolence.java @@ -0,0 +1,188 @@ +package com.budwk.app.zhgh.staffbenefit.condolence.model; + +import cn.hutool.json.JSONObject; +import com.budwk.app.base.model.BaseModel; +import com.budwk.app.sys.models.Sys_file; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.nutz.dao.entity.annotation.*; +import org.nutz.dao.interceptor.annotation.PrevInsert; + +import java.util.List; + +/** + * @ClassName Condolence + * @Author JyuHsin + * @Date 2025/7/28 11:03 + * @Version 1.0 + * @Description TODO + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Table("condolence") +@TableMeta("{'mysql-charset':'utf8mb4'}") +@Comment("职工慰问") +public class Condolence extends BaseModel { + + @Name + @Comment("ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + @PrevInsert(uu32 = true) + private String id; + + @Column + @Comment("申请人ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String applyUserId; + + @Column + @Comment("申请人姓名") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String applyUserName; + + @Column + @Comment("申请人工号") + @ColDefine(type = ColType.VARCHAR, width = 120) + private String applyLoginName; + + @Column + @Comment("申请人分工会ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String applyUnionId; + + @Column + @Comment("申请人分工会") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String applyUnionName; + + @Column + @Comment("申请人单位ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String applyUnitId; + + @Column + @Comment("申请人单位") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String applyUnitName; + + @Column + @Comment("补助人ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String helpUserId; + + @Column + @Comment("补助人姓名") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String helpUserName; + + @Column + @Comment("补助人工号") + @ColDefine(type = ColType.VARCHAR, width = 120) + private String helpLoginName; + + @Column + @Comment("补助人分工会ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String helpUnionId; + + @Column + @Comment("补助人分工会") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String helpUnionName; + + @Column + @Comment("补助人单位ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String helpUnitId; + + @Column + @Comment("补助人单位") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String helpUnitName; + + @Column + @Comment("类型") + @ColDefine(type = ColType.VARCHAR, width = 20) + private String origin; + + @Column + @Comment("收款人") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String payUserId; + + @Column + @Comment("收款人姓名") + @ColDefine(type = ColType.VARCHAR, width = 30) + private String payUserName; + + @Column + @Comment("收款人工号") + @ColDefine(type = ColType.VARCHAR, width = 20) + private String payLoginName; + + @Column + @Comment("慰问类型") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String type; + + @Column + @Comment("慰问方式") + @ColDefine(type = ColType.VARCHAR, width = 20) + private String way; + + @Column + @Comment("慰问金额") + @ColDefine(type = ColType.FLOAT, width = 10, precision = 2) + private Double money; + + @Column + @Comment("发生时间") + @ColDefine(type = ColType.VARCHAR, width = 30) + private String occurTime; + + @Column + @Comment("生育几孩(孩次)") + @ColDefine(type = ColType.VARCHAR, width = 10) + private String child; + + @Column + @Comment("所在医院") + @ColDefine(type = ColType.VARCHAR, width = 50) + private String hospital; + + @Column + @Comment("病房床号") + @ColDefine(type = ColType.VARCHAR, width = 20) + private String hospitalHouseNum; + + @Column + @Comment("病房床号") + @ColDefine(type = ColType.VARCHAR, width = 20) + private String hospitalHouseBedNum; + + @Column + @Comment("住院病由") + @ColDefine(type = ColType.VARCHAR, width = 100) + private String hospitalBy; + + @Column + @Comment("备注") + @ColDefine(type = ColType.VARCHAR, width = 500) + private String remark; + + @Column + @Comment("附件") + @ColDefine(type = ColType.MYSQL_JSON) + private List files; + + @Comment("签字") + @ColDefine(type = ColType.VARCHAR, width = 255) + @Column(hump = true) + private String signature; + + @Column + @Comment("申请时间") + @ColDefine(type = ColType.VARCHAR, width = 30) + private String createTime; + +} diff --git a/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/model/CondolenceType.java b/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/model/CondolenceType.java new file mode 100644 index 00000000..b273ef66 --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/model/CondolenceType.java @@ -0,0 +1,83 @@ +package com.budwk.app.zhgh.staffbenefit.condolence.model; + +import com.budwk.app.base.model.BaseModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.nutz.dao.DB; +import org.nutz.dao.entity.annotation.*; +import org.nutz.dao.interceptor.annotation.PrevInsert; + +/** + * @ClassName CondolenceType + * @Author JyuHsin + * @Date 2025/7/29 9:59 + * @Version 1.0 + * @Description TODO + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Table("condolence_type") +@TableMeta("{'mysql-charset':'utf8mb4'}") +@Comment("职工慰问类型") +public class CondolenceType extends BaseModel { + + @Name + @Comment("ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + @PrevInsert(uu32 = true) + private String id; + + @Column + @Comment("编码") + @ColDefine(type = ColType.VARCHAR, width = 30) + private String code; + + @Column + @Comment("名称") + @ColDefine(type = ColType.VARCHAR, width = 50) + private String name; + + @Column + @Comment("费用") + @ColDefine(type = ColType.FLOAT, width = 10, precision = 2) + private Double money; + + @Column + @Comment("慰问方式") + @ColDefine(type = ColType.VARCHAR, width = 20) + private String way; + + @Column + @Comment("是否禁用") + @ColDefine(type = ColType.BOOLEAN) + private Boolean isDisabled; + + @Column + @Comment("是否上传附件") + @ColDefine(type = ColType.BOOLEAN) + private Boolean isUploadFile; + + @Column + @Comment("上传附件说明") + @ColDefine(type = ColType.VARCHAR,width = 50) + private String uploadFileDesc; + + @Column + @Comment("排序字段") + @Prev({ + @SQL(db = DB.MYSQL, value = "SELECT IFNULL(MAX(location),0)+1 FROM Condolence_Type"), + @SQL(db = DB.ORACLE, value = "SELECT COALESCE(MAX(location),0)+1 FROM Condolence_Type") + }) + private Integer location; + + @Column + @Comment("排序") + @ColDefine(type = ColType.INT) + private int sortNum; + + @Column + @Comment("上传会议纪要") + @Default("0") + @ColDefine(type = ColType.BOOLEAN) + private Boolean uploadMeetingRecord; +} diff --git a/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/service/CondolenceService.java b/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/service/CondolenceService.java new file mode 100644 index 00000000..37865c7e --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/service/CondolenceService.java @@ -0,0 +1,14 @@ +package com.budwk.app.zhgh.staffbenefit.condolence.service; + +import com.budwk.app.base.service.BaseService; +import com.budwk.app.zhgh.staffbenefit.condolence.model.Condolence; + +/** + * @ClassName CondolenceService + * @Author JyuHsin + * @Date 2025/7/29 11:21 + * @Version 1.0 + * @Description TODO + */ +public interface CondolenceService extends BaseService { +} diff --git a/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/service/CondolenceTypeService.java b/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/service/CondolenceTypeService.java new file mode 100644 index 00000000..50d215ce --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/service/CondolenceTypeService.java @@ -0,0 +1,14 @@ +package com.budwk.app.zhgh.staffbenefit.condolence.service; + +import com.budwk.app.base.service.BaseService; +import com.budwk.app.zhgh.staffbenefit.condolence.model.CondolenceType; + +/** + * @ClassName CondolenceTypeService + * @Author JyuHsin + * @Date 2025/7/29 10:03 + * @Version 1.0 + * @Description TODO + */ +public interface CondolenceTypeService extends BaseService { +} diff --git a/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/service/impl/CondolenceServiceImpl.java b/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/service/impl/CondolenceServiceImpl.java new file mode 100644 index 00000000..2b6eecec --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/service/impl/CondolenceServiceImpl.java @@ -0,0 +1,24 @@ +package com.budwk.app.zhgh.staffbenefit.condolence.service.impl; + +import com.budwk.app.base.service.impl.BaseServiceImpl; +import com.budwk.app.zhgh.staffbenefit.condolence.model.Condolence; +import com.budwk.app.zhgh.staffbenefit.condolence.service.CondolenceService; +import lombok.extern.slf4j.Slf4j; +import org.nutz.dao.Dao; +import org.nutz.ioc.loader.annotation.IocBean; + +/** + * @ClassName CondolenceServiceImpl + * @Author JyuHsin + * @Date 2025/7/29 11:22 + * @Version 1.0 + * @Description TODO + */ +@Slf4j +@IocBean(args = {"refer:dao"}) +public class CondolenceServiceImpl extends BaseServiceImpl implements CondolenceService { + + public CondolenceServiceImpl(Dao dao) { + super(dao); + } +} diff --git a/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/service/impl/CondolenceTypeServiceImpl.java b/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/service/impl/CondolenceTypeServiceImpl.java new file mode 100644 index 00000000..158004ff --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/staffbenefit/condolence/service/impl/CondolenceTypeServiceImpl.java @@ -0,0 +1,24 @@ +package com.budwk.app.zhgh.staffbenefit.condolence.service.impl; + +import com.budwk.app.base.service.impl.BaseServiceImpl; +import com.budwk.app.zhgh.staffbenefit.condolence.model.CondolenceType; +import com.budwk.app.zhgh.staffbenefit.condolence.service.CondolenceTypeService; +import lombok.extern.slf4j.Slf4j; +import org.nutz.dao.Dao; +import org.nutz.ioc.loader.annotation.IocBean; + +/** + * @ClassName CondolenceTypeServiceImpl + * @Author JyuHsin + * @Date 2025/7/29 10:03 + * @Version 1.0 + * @Description TODO + */ +@Slf4j +@IocBean(args = {"refer:dao"}) +public class CondolenceTypeServiceImpl extends BaseServiceImpl implements CondolenceTypeService { + + public CondolenceTypeServiceImpl(Dao dao) { + super(dao); + } +} diff --git a/src/main/resources/views/layouts/v4/baseLayout.html b/src/main/resources/views/layouts/v4/baseLayout.html index 569eb0c3..aee35f2b 100644 --- a/src/main/resources/views/layouts/v4/baseLayout.html +++ b/src/main/resources/views/layouts/v4/baseLayout.html @@ -71,7 +71,7 @@ - + @@ -101,11 +101,6 @@ Vue.use(FcDesigner.formCreate) - - - + +
+ + + + + + + +
+ + diff --git a/src/main/resources/views/platform/zhgh/staffbenefit/condolence/view/index.html b/src/main/resources/views/platform/zhgh/staffbenefit/condolence/view/index.html new file mode 100644 index 00000000..648b0c87 --- /dev/null +++ b/src/main/resources/views/platform/zhgh/staffbenefit/condolence/view/index.html @@ -0,0 +1,107 @@ +
+ + {{ viewData.applyUserName }} + {{ viewData.applyLoginName }} + {{ viewData.applyUnitName }} + {{ viewData.applyUnionName }} + {{ viewData.helpUserName }} + {{ viewData.payUserName }} + {{ viewData.typeName }} + {{ viewData.way }} + {{ viewData.money }} + {{ viewData.occurTime }} + {{ viewData.child }} + {{ viewData.hospital }} + {{ viewData.hospitalHouseNum }} + {{ viewData.hospitalHouseBedNum }} + {{ viewData.hospitalBy }} + {{ viewData.deadImmediateFamily }} + {{ viewData.remark }} + + + 暂无附件 + + + + 暂无签字 + + + + +
+ + + +