Merge remote-tracking branch 'origin/main'
This commit is contained in:
+2
-2
@@ -133,8 +133,8 @@ public class TrainSignUpActivityStatisticsServiceImpl extends BaseServiceImpl<Tr
|
||||
u.id as userId,
|
||||
u.loginname,
|
||||
u.username,
|
||||
u.unitname,
|
||||
u.unionname,
|
||||
u.unitName,
|
||||
u.unionName,
|
||||
u.sex,
|
||||
ifnull(tsuu.mobile, u.mobile) as mobile,
|
||||
tsuu.signUpTime,
|
||||
|
||||
+2
-2
@@ -36,8 +36,8 @@ public class TrainSignUpUserServiceImpl extends BaseServiceImpl<TrainSignUpBlack
|
||||
u.username,
|
||||
u.loginname,
|
||||
ifnull(tsuu.mobile, u.mobile) as mobile,
|
||||
u.unitname,
|
||||
u.unionname,
|
||||
u.unitName,
|
||||
u.unionName,
|
||||
tsuc.courseName,
|
||||
tsuu.state,
|
||||
( SELECT count( 1 ) FROM train_sign_up_user_course WHERE userId = tsuu.userId $var) courseTotal,
|
||||
|
||||
+13
-1
@@ -3,6 +3,7 @@ package com.budwk.app.zhgh.dayofficework.fund.member.controller;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.base.utils.CommonDownloadUtil;
|
||||
import com.budwk.app.base.utils.SysOfficeTemplateUtil;
|
||||
@@ -10,6 +11,7 @@ import com.budwk.app.flow.engine.FlowEngine;
|
||||
import com.budwk.app.flow.entity.ProcessInstance;
|
||||
import com.budwk.app.flow.entity.ProcessTask;
|
||||
import com.budwk.app.flow.vo.ProcessTaskVO;
|
||||
import com.budwk.app.sys.models.Sys_user;
|
||||
import com.budwk.app.zhgh.dayofficework.fund.member.models.FundMemberApply;
|
||||
import com.budwk.app.zhgh.dayofficework.fund.member.service.FundMemberService;
|
||||
import com.deepoove.poi.XWPFTemplate;
|
||||
@@ -21,6 +23,7 @@ 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.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
|
||||
@@ -51,7 +54,13 @@ public class FundMemberCommonController {
|
||||
@At
|
||||
@SaCheckPermission("fundMember")
|
||||
public Result info(@Valid String id) {
|
||||
FundMemberApply fundMember = fundMemberService.fetch(id);
|
||||
FundMemberApply fundMember;
|
||||
Sys_user user = dao.fetch(Sys_user.class, Cnd.where("id", "=", id));
|
||||
if (Lang.isNotEmpty(user)) {
|
||||
fundMember = fundMemberService.fetch(Cnd.where("loginname", "=", user.getLoginname()));
|
||||
} else {
|
||||
fundMember = fundMemberService.fetch(id);
|
||||
}
|
||||
return Result.success(fundMember);
|
||||
}
|
||||
|
||||
@@ -66,6 +75,9 @@ public class FundMemberCommonController {
|
||||
docData.put("birthday", DateUtil.format(fundMember.getBirthday(), "yyyy年MM月dd日"));
|
||||
docData.put("joinWorkTime", DateUtil.format(fundMember.getJoinWorkTime(), "yyyy年MM月dd日"));
|
||||
docData.put("retireTime", DateUtil.format(fundMember.getRetireTime(), "yyyy年MM月dd日"));
|
||||
if (StrUtil.isNotBlank(fundMember.getAvatar())) {
|
||||
docData.put("avatar", sysOfficeTemplateUtil.createPictureRenderData(fundMember.getAvatar()));
|
||||
}
|
||||
|
||||
// 流程实例
|
||||
ProcessInstance processInstance = dao.fetch(ProcessInstance.class, Cnd.where(ProcessInstance::getBusinessNo, "=", id));
|
||||
|
||||
+8
-1
@@ -8,12 +8,15 @@ import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
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.base.utils.CommonDownloadUtil;
|
||||
import com.budwk.app.sys.models.Sys_user;
|
||||
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.web.commons.base.Globals;
|
||||
import com.budwk.app.zhgh.dayofficework.fund.member.models.FundMemberApply;
|
||||
import com.budwk.app.zhgh.dayofficework.fund.member.models.FundMemberHis;
|
||||
@@ -100,7 +103,11 @@ public class FundMemberQueryController {
|
||||
public void exportExcel(Integer year, String unionId, HttpServletResponse response) {
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.and("YEAR(submitTime)", "=", year);
|
||||
cnd.andEX("unionId", "=", unionId);
|
||||
if (!AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.SCHOOL_UNION_ADMIN.name())) {
|
||||
cnd.and("unionId", "=", SecurityUtil.getUnionId());
|
||||
} else {
|
||||
cnd.andEX("unionId", "=", unionId);
|
||||
}
|
||||
cnd.andEX(FundMemberApply::getIsJoin, "=", 1);
|
||||
cnd.asc("unionId");
|
||||
List<FundMemberApply> list = fundMemberService.query(cnd);
|
||||
|
||||
+21
@@ -2,6 +2,7 @@ package com.budwk.app.zhgh.dayofficework.fund.member.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.hutool.core.lang.Dict;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.annotation.SLog;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.flow.constant.FlowConst;
|
||||
@@ -12,6 +13,7 @@ import com.budwk.app.flow.enums.ProcessSubmitTypeEnum;
|
||||
import com.budwk.app.flow.service.FlowCommonService;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
import com.budwk.app.zhgh.dayofficework.fund.member.models.FundMemberApply;
|
||||
import com.budwk.app.zhgh.dayofficework.fund.member.service.FundMemberService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
@@ -37,6 +39,8 @@ public class FundMemberWriteController {
|
||||
@Inject
|
||||
private FlowEngine flowEngine;
|
||||
@Inject
|
||||
private FundMemberService fundMemberService;
|
||||
@Inject
|
||||
private FlowCommonService flowCommonService;
|
||||
|
||||
@At("")
|
||||
@@ -51,6 +55,9 @@ public class FundMemberWriteController {
|
||||
@ApiOperation("保存申请")
|
||||
@SLog(tag = "建言献策-填写申请", msg = "保存申请")
|
||||
public Result save(@Param("data") FundMemberApply fundMember) {
|
||||
if (StrUtil.isBlank(fundMember.getId())) {
|
||||
fundMemberService.validateApply();
|
||||
}
|
||||
dao.insertOrUpdate(fundMember);
|
||||
return Result.success();
|
||||
}
|
||||
@@ -62,6 +69,9 @@ public class FundMemberWriteController {
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@SLog(tag = "基金会员-填写申请", msg = "提交申请")
|
||||
public Result submit(@Param("data") FundMemberApply fundMember) {
|
||||
if (StrUtil.isBlank(fundMember.getId())) {
|
||||
fundMemberService.validateApply();
|
||||
}
|
||||
fundMember.setSubmitTime(new Date());
|
||||
fundMember.setIsJoin(true);
|
||||
dao.insertOrUpdate(fundMember);
|
||||
@@ -86,6 +96,9 @@ public class FundMemberWriteController {
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@SLog(tag = "基金会员-填写申请", msg = "重新提交申请")
|
||||
public Result submitAgain(@Param("data") FundMemberApply fundMember, @Param("taskId") Long taskId) {
|
||||
if (StrUtil.isBlank(fundMember.getId())) {
|
||||
fundMemberService.validateApply();
|
||||
}
|
||||
dao.insertOrUpdate(fundMember);
|
||||
|
||||
Dict dict = Dict.create();
|
||||
@@ -103,4 +116,12 @@ public class FundMemberWriteController {
|
||||
return Result.success(box);
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@SaCheckPermission("fundMember.write")
|
||||
@ApiOperation("校验是否有申请在流程中")
|
||||
public Result validateApply(){
|
||||
fundMemberService.validateApply();
|
||||
return Result.success();
|
||||
}
|
||||
}
|
||||
|
||||
+5
@@ -4,4 +4,9 @@ import com.budwk.app.base.service.BaseService;
|
||||
import com.budwk.app.zhgh.dayofficework.fund.member.models.FundMemberApply;
|
||||
|
||||
public interface FundMemberService extends BaseService<FundMemberApply> {
|
||||
|
||||
/**
|
||||
* 验证是否已经申请了
|
||||
*/
|
||||
void validateApply();
|
||||
}
|
||||
|
||||
+25
@@ -1,14 +1,39 @@
|
||||
package com.budwk.app.zhgh.dayofficework.fund.member.service.impl;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.service.impl.BaseServiceImpl;
|
||||
import com.budwk.app.flow.entity.ProcessInstance;
|
||||
import com.budwk.app.flow.enums.ProcessTaskStateEnum;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
import com.budwk.app.zhgh.dayofficework.fund.member.models.FundMemberApply;
|
||||
import com.budwk.app.zhgh.dayofficework.fund.member.service.FundMemberService;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.lang.Lang;
|
||||
|
||||
@IocBean(args = {"refer:dao"})
|
||||
public class FundMemberServiceImpl extends BaseServiceImpl<FundMemberApply> implements FundMemberService {
|
||||
public FundMemberServiceImpl(Dao dao) {
|
||||
super(dao);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void validateApply() {
|
||||
FundMemberApply apply = dao().fetch(FundMemberApply.class,
|
||||
Cnd.where(FundMemberApply::getLoginName, "=", SecurityUtil.getUserLoginname())
|
||||
.and("isJoin", "=", 1)
|
||||
.desc("submitTime"));
|
||||
if (Lang.isEmpty(apply)) {
|
||||
return;
|
||||
}
|
||||
|
||||
int count = dao().count(ProcessInstance.class, Cnd.where("businessNo", "=", apply.getId())
|
||||
.and(ProcessInstance::getState, "=", ProcessTaskStateEnum.DOING.getCode()));
|
||||
|
||||
if (count > 0) {
|
||||
throw new RuntimeException("您有申请流程正在进行中,请等待流程结束后再次操作");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
package com.budwk.app.zhgh.staffmanage.personnelcheck.controller;
|
||||
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
|
||||
/**
|
||||
* @version 1.0
|
||||
* @Author FKY
|
||||
* @name:CheckTaskGroupAuditController
|
||||
* @Date 2025/10/17 16:46
|
||||
* @注释
|
||||
*/
|
||||
@IocBean
|
||||
public class CheckTaskGroupAuditController {
|
||||
}
|
||||
+34
@@ -1,5 +1,16 @@
|
||||
package com.budwk.app.zhgh.staffmanage.personnelcheck.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.zhgh.staffmanage.personnelcheck.service.CheckTaskCommonService;
|
||||
import io.swagger.annotations.Api;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
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;
|
||||
|
||||
/**
|
||||
* @version 1.0
|
||||
* @Author FKY
|
||||
@@ -7,5 +18,28 @@ package com.budwk.app.zhgh.staffmanage.personnelcheck.controller;
|
||||
* @Date 2025/10/15 10:48
|
||||
* @注释
|
||||
*/
|
||||
@Slf4j
|
||||
@IocBean
|
||||
@Api("个人核对")
|
||||
@Ok("json:full")
|
||||
@At("/platform/personnel/check/verification/manage")
|
||||
public class CheckTaskSingleController {
|
||||
|
||||
@Inject
|
||||
private Dao dao;
|
||||
@Inject
|
||||
private CheckTaskCommonService checkTaskCommonService;
|
||||
|
||||
@At("/")
|
||||
@SaCheckPermission("personnel.check.verification.single")
|
||||
@Ok("beetl:/platform/zhgh/staffmanage/personnelcheck/single/index.html")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@SaCheckPermission("personnel.check.verification.single")
|
||||
public Result getSingleCheckTask(){
|
||||
return Result.success();
|
||||
}
|
||||
}
|
||||
|
||||
+20
-7
@@ -1,6 +1,8 @@
|
||||
package com.budwk.app.zhgh.staffmanage.personnelcheck.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.budwk.app.base.annotation.SLog;
|
||||
@@ -40,8 +42,8 @@ import org.nutz.mvc.upload.UploadAdaptor;
|
||||
*/
|
||||
@Slf4j
|
||||
@IocBean
|
||||
@Ok("json:full")
|
||||
@Api("核对任务")
|
||||
@Ok("json:full")
|
||||
@At("/platform/personnel/check/verification/manage")
|
||||
public class CheckTaskVerificationController {
|
||||
|
||||
@@ -79,9 +81,6 @@ public class CheckTaskVerificationController {
|
||||
@SaCheckPermission("personnel.check.verification.manage")
|
||||
@AdaptBy(type = UploadAdaptor.class, args = {"ioc:fileUpload"})
|
||||
public Result doAddOrModify(@Param("baseData") String data, TempFile file){
|
||||
log.info("=================================主体数据:{}", data);
|
||||
log.info("=================================导入文件:{}", file);
|
||||
|
||||
CheckTaskVerificationVO vo = JSONUtil.toBean(data, CheckTaskVerificationVO.class);
|
||||
|
||||
if (StrUtil.isNotBlank(vo.getId())) {
|
||||
@@ -89,14 +88,28 @@ public class CheckTaskVerificationController {
|
||||
// 1.重新配置核对字段,filedConfigData
|
||||
dao.clear(CheckTaskFiledConfig.class, Cnd.where("taskId", "=", vo.getId()));
|
||||
// 2.重新设置待核对人员表,personnelData
|
||||
// dao.clear(Check)
|
||||
dao.clear(CheckTaskPersonnel.class, Cnd.where("taskId", "=", vo.getId()));
|
||||
}
|
||||
|
||||
// 修改审核流程配置
|
||||
// 插入逻辑
|
||||
|
||||
// 1.界面可能会对相关审核步骤做修改,修改审核流程配置
|
||||
dao.update(vo.getBusinessConfig());
|
||||
|
||||
// 2.新增或者修改事项任务
|
||||
CheckTaskVerification verification = new CheckTaskVerification();
|
||||
verification.setId(vo.getId());
|
||||
verification.setCreateTime(vo.getCreateTime() == null ? DateUtil.date() : vo.getCreateTime());
|
||||
verification.setYear(DateUtil.year(verification.getCreateTime()));
|
||||
dao.insertOrUpdate(verification);
|
||||
|
||||
// 3.往字段表里面插入数据,最好做下字段映射,把相关字段与数据库的字段对应
|
||||
// todo 字段映射
|
||||
|
||||
|
||||
// 4.读取文件,构造数据(动态字段 data),往 CheckTaskPersonnel 表中插入数据
|
||||
// todo 读取文件 转换成数据
|
||||
|
||||
log.info("=================================数据转换:{}", vo);
|
||||
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
+6
@@ -36,6 +36,12 @@ public class CheckTaskVerificationVO {
|
||||
@ApiModelProperty("结束时间")
|
||||
private Date endTime;
|
||||
|
||||
@ApiModelProperty("创建时间")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty("状态")
|
||||
private String status;
|
||||
|
||||
@ApiModelProperty("业务配置数据")
|
||||
private CheckTaskBusinessConfig businessConfig;
|
||||
|
||||
|
||||
+3
-3
@@ -97,11 +97,11 @@ public class WelfareStatisticsServiceImpl extends BaseServiceImpl<WelfareProject
|
||||
|
||||
for (NutMap union : mapUnions) {
|
||||
// 福利人数
|
||||
long teacherSum = welfareSelectionList.stream().filter(v -> v.getString("welfareUnionId", "").equals(union.getString("id"))).count();
|
||||
long teacherSum = welfareSelectionList.stream().filter(v -> StrUtil.isNotBlank(v.getString("welfareUnionId")) && v.getString("welfareUnionId", "").equals(union.getString("id"))).count();
|
||||
union.put("teacherSum", teacherSum);
|
||||
|
||||
// 已选人数
|
||||
long selectedNum = welfareSelectionList.stream().filter(v -> v.getString("welfareUnionId", "").equals(union.getString("id")) && v.getBoolean("has_selected")).count();
|
||||
long selectedNum = welfareSelectionList.stream().filter(v -> StrUtil.isNotBlank(v.getString("welfareUnionId")) && v.getString("welfareUnionId", "").equals(union.getString("id")) && v.getBoolean("has_selected")).count();
|
||||
union.put("selectedNum", selectedNum);
|
||||
|
||||
// 未选人数
|
||||
@@ -109,7 +109,7 @@ public class WelfareStatisticsServiceImpl extends BaseServiceImpl<WelfareProject
|
||||
|
||||
// 各选项的选择人数
|
||||
for (WelfareProjectSubjectOption option : welfareOptions) {
|
||||
long count = userSelections.stream().filter(v -> v.getString("welfareUnionId").equals(union.getString("id")) && StrUtil.isNotBlank(v.getString("selectOptionId")) && v.getString("selectOptionId").equals(option.getId())).map(v -> v.getString("selectUserId")).distinct().count();
|
||||
long count = userSelections.stream().filter(v -> StrUtil.isNotBlank(v.getString("welfareUnionId")) && v.getString("welfareUnionId").equals(union.getString("id")) && StrUtil.isNotBlank(v.getString("selectOptionId")) && v.getString("selectOptionId").equals(option.getId())).map(v -> v.getString("selectUserId")).distinct().count();
|
||||
union.put(option.getId(), count);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user