From 51a5d0bc6b57501b5ebad7ecdecb4e3f2f90d13b Mon Sep 17 00:00:00 2001 From: hanrenchun Date: Mon, 9 Jun 2025 16:46:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BusinessTripApprovalController.java | 59 +++++++++++++++++-- .../database/domain/ApprovalProcess.java | 2 + .../database/domain/BusinessTripApproval.java | 7 +++ .../com/ruoyi/database/domain/gwglLog.java | 18 +++++- .../database/service/gwglLogService.java | 2 +- .../service/impl/gwglLogServiceImpl.java | 6 +- .../common/core/domain/entity/SysDept.java | 10 ++++ .../common/core/domain/entity/SysUser.java | 10 ++++ .../resources/mapper/system/SysUserMapper.xml | 6 +- 9 files changed, 108 insertions(+), 12 deletions(-) diff --git a/gather-app/src/main/java/com/ruoyi/business/controller/BusinessTripApprovalController.java b/gather-app/src/main/java/com/ruoyi/business/controller/BusinessTripApprovalController.java index 4950efb..f8d596f 100644 --- a/gather-app/src/main/java/com/ruoyi/business/controller/BusinessTripApprovalController.java +++ b/gather-app/src/main/java/com/ruoyi/business/controller/BusinessTripApprovalController.java @@ -21,6 +21,7 @@ import com.ruoyi.database.service.BusinessTripApprovalService; import com.ruoyi.database.service.gwglLogService; import com.ruoyi.system.service.ISysDeptService; import com.ruoyi.system.service.ISysUserService; +import com.sun.org.apache.xpath.internal.operations.Bool; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; @@ -66,6 +67,9 @@ public class BusinessTripApprovalController extends BaseController { @ApiOperation("新增出差申请") public AjaxResult add(@RequestBody BusinessTripApproval dto) { SysUser user = getLoginUser().getUser(); + if (dto.getHasOffcialCar() == null) { + throw new RuntimeException("请选择是否自带公务车辆"); + } if (dto.getHasOffcialCar() != null && dto.getHasOffcialCar() == 1) { if (dto.getCarModel() == null) { throw new RuntimeException("请选择使用车型"); @@ -87,6 +91,10 @@ public class BusinessTripApprovalController extends BaseController { dto.setUserId(user.getUserId()); dto.setDepartment(user.getDept().getDeptName()); List togUserIdList = dto.getTogUserIdList(); + int isLeader = 0; + if (user.getIsLeader() != null) { + isLeader = 1; + } StringBuilder ids = new StringBuilder(); if (togUserIdList != null && !togUserIdList.isEmpty()) { for (Long aLong : togUserIdList) { @@ -94,6 +102,10 @@ public class BusinessTripApprovalController extends BaseController { ids.append(","); } ids.append(aLong); + SysUser user1 = sysUserService.selectUserById(aLong); + if (user1.getIsLeader() != null) { + isLeader = 1; + } } dto.setTogUserIds(ids.toString()); } @@ -102,7 +114,6 @@ public class BusinessTripApprovalController extends BaseController { dto.setApplyNo(s); UUID uuid = UUID.randomUUID(); String uuids = uuid.toString(); - dto.setUuid(uuids); BaseAddressInfo byId = baseAddressInfoService.getById(dto.getDestinationId()); ApprovalProcess approvalProcess = new ApprovalProcess(); @@ -112,15 +123,30 @@ public class BusinessTripApprovalController extends BaseController { approvalProcess.setSubmitterId(user.getUserId()); approvalProcess.setSubmitTime(new Date().getTime()); approvalProcess.setMatterType(2); - approvalProcess.setApprovalStatus(0); approvalProcess.setReadStatus(0); approvalProcess.setBusinessTripDestination(byId.getAddName()); approvalProcess.setStartTime(dto.getStartDate()); approvalProcess.setEndTime(dto.getEndDate()); approvalProcess.setCreateTime(new Date().getTime()); approvalProcess.setUuid(uuids); - approvalsProcessService.save(approvalProcess); - return toAjax(businessTripApprovalService.save(dto)); + List longs = new ArrayList<>(); + if (isLeader == 1) { + if (dto.getHasOffcialCar() == 1) { + approvalProcess.setApprovalStatus(100); + longs.add(2165L); + } else { + approvalProcess.setApprovalStatus(400); + longs.add(1660L); + longs.add(1661L); + } + } else { + approvalProcess.setApprovalStatus(1); + longs.add(user.getDept().getLeaderId()); + } + addLog(approvalProcess,longs); + return toAjax(businessTripApprovalService.save(dto) + && approvalsProcessService.save(approvalProcess) + ); } @@ -202,6 +228,7 @@ public class BusinessTripApprovalController extends BaseController { }) .collect(Collectors.toList()); } + private static SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); private static final String DATA_KEY = "DDATAKEY:"; @@ -241,4 +268,28 @@ public class BusinessTripApprovalController extends BaseController { return AjaxResult.success("审批出差申请成功"); } + + public Boolean addLog(ApprovalProcess approvalProcess, List userIds) { + gwglLog gwglLog = new gwglLog(); + gwglLog.setUserId(approvalProcess.getSubmitterId()); + gwglLog.setUserName(approvalProcess.getSubmitterName()); + gwglLog.setCheckState(0); + gwglLog.setUuid(approvalProcess.getUuid()); + gwglLog.setApprovalStatus(approvalProcess.getApprovalStatus()); + SysUser user = new SysUser(); + StringBuilder name = new StringBuilder(); + for (Long userId : userIds) { + SysUser user1 = sysUserService.selectUserById(userId); + if (name.length() > 0) { + name.append(","); + } + name.append(user1.getNickName()); + } + gwglLog.setChecker(name.toString()); + if (user.getDept() != null) { + gwglLog.setCheckDeptName(user.getDept().getDeptName()); + } + gwglLog.setCheckDeptId(user.getDeptId()); + return gwglLogService.save(gwglLog); + } } diff --git a/gather-app/src/main/java/com/ruoyi/database/domain/ApprovalProcess.java b/gather-app/src/main/java/com/ruoyi/database/domain/ApprovalProcess.java index 67b0fbc..fea6922 100644 --- a/gather-app/src/main/java/com/ruoyi/database/domain/ApprovalProcess.java +++ b/gather-app/src/main/java/com/ruoyi/database/domain/ApprovalProcess.java @@ -57,6 +57,8 @@ public class ApprovalProcess { @ApiModelProperty("审批状态:0-待提交 1-部门审批中 2-政治处审批中 3-局领导审批中 4-已通过 5-已拒绝") @TableField(condition = SqlCondition.LIKE) private Integer approvalStatus; + @TableField(exist = false) + private String approvalStatusCn; @ApiModelProperty("到达日期") private Long arrivalDate; diff --git a/gather-app/src/main/java/com/ruoyi/database/domain/BusinessTripApproval.java b/gather-app/src/main/java/com/ruoyi/database/domain/BusinessTripApproval.java index 9db217a..0544a44 100644 --- a/gather-app/src/main/java/com/ruoyi/database/domain/BusinessTripApproval.java +++ b/gather-app/src/main/java/com/ruoyi/database/domain/BusinessTripApproval.java @@ -1,12 +1,14 @@ package com.ruoyi.database.domain; import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.core.domain.BaseEntityMini; import com.ruoyi.common.core.domain.entity.SysUser; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.Date; import java.util.List; @Data @@ -95,4 +97,9 @@ public class BusinessTripApproval extends BaseEntityMini { @TableField(exist = false) private List togUserList; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("创建时间") + private Date createTime; + } \ No newline at end of file diff --git a/gather-app/src/main/java/com/ruoyi/database/domain/gwglLog.java b/gather-app/src/main/java/com/ruoyi/database/domain/gwglLog.java index 3941cdb..3034196 100644 --- a/gather-app/src/main/java/com/ruoyi/database/domain/gwglLog.java +++ b/gather-app/src/main/java/com/ruoyi/database/domain/gwglLog.java @@ -1,5 +1,7 @@ package com.ruoyi.database.domain; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.SqlCondition; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; @@ -58,7 +60,21 @@ public class gwglLog { @ApiModelProperty("审核状态") private Integer checkState; + @TableField(exist = false) + private String checkStateCn; + + @ApiModelProperty("uuid") + private String uuid; + + @ApiModelProperty("审核人部门") + private String checkDeptName; + + @ApiModelProperty("审核人部门id") + private Long checkDeptId; - + @ApiModelProperty("审批状态") + private Integer approvalStatus; + @TableField(exist = false) + private String approvalStatusCn; } diff --git a/gather-app/src/main/java/com/ruoyi/database/service/gwglLogService.java b/gather-app/src/main/java/com/ruoyi/database/service/gwglLogService.java index 51417e4..02e0a34 100644 --- a/gather-app/src/main/java/com/ruoyi/database/service/gwglLogService.java +++ b/gather-app/src/main/java/com/ruoyi/database/service/gwglLogService.java @@ -1,6 +1,7 @@ package com.ruoyi.database.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.database.domain.ApprovalProcess; import com.ruoyi.database.domain.gwglLog; /** @@ -10,5 +11,4 @@ import com.ruoyi.database.domain.gwglLog; */ public interface gwglLogService extends IService { - public void addLog(); } diff --git a/gather-app/src/main/java/com/ruoyi/database/service/impl/gwglLogServiceImpl.java b/gather-app/src/main/java/com/ruoyi/database/service/impl/gwglLogServiceImpl.java index 034c879..a878fa7 100644 --- a/gather-app/src/main/java/com/ruoyi/database/service/impl/gwglLogServiceImpl.java +++ b/gather-app/src/main/java/com/ruoyi/database/service/impl/gwglLogServiceImpl.java @@ -1,6 +1,8 @@ package com.ruoyi.database.service.impl; +import java.time.LocalDateTime; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.database.domain.ApprovalProcess; import com.ruoyi.database.domain.gwglLog; import com.ruoyi.database.mapper.gwglLogMapper; import com.ruoyi.database.service.gwglLogService; @@ -14,8 +16,4 @@ import org.springframework.stereotype.Service; @Service public class gwglLogServiceImpl extends ServiceImpl implements gwglLogService { - @Override - public void addLog() { - gwglLog gwglLog = new gwglLog(); - } } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java index 4598a95..98d9efb 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java @@ -38,6 +38,8 @@ public class SysDept extends BaseEntity /** 负责人 */ private String leader; + private Long leaderId; + /** 负责人 */ private String leaderLeader; @@ -212,4 +214,12 @@ public class SysDept extends BaseEntity .append("updateTime", getUpdateTime()) .toString(); } + + public Long getLeaderId() { + return leaderId; + } + + public void setLeaderId(Long leaderId) { + this.leaderId = leaderId; + } } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java index a383eef..0acd594 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java @@ -61,6 +61,8 @@ public class SysUser extends BaseEntity private Integer hasApproval; + private Integer isLeader; + /** 密码 */ private String password; @@ -439,4 +441,12 @@ public class SysUser extends BaseEntity public void setShoeSize(String shoeSize) { this.shoeSize = shoeSize; } + + public Integer getIsLeader() { + return isLeader; + } + + public void setIsLeader(Integer isLeader) { + this.isLeader = isLeader; + } } diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml index fa9d69b..c8f68e8 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -32,6 +32,7 @@ + @@ -43,6 +44,7 @@ + @@ -56,7 +58,7 @@ - select u.user_id,u.user_num,u.hat_size,u.bottoms_size,u.tops_size,u.shoe_size,u.has_approval, + select u.user_id,u.user_num,u.hat_size,u.bottoms_size,u.tops_size,u.shoe_size,u.has_approval,u.is_leader, u.user_type_cn,u.id_card, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, u.area_auth_code, d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.status as dept_status, r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status @@ -67,7 +69,7 @@