This commit is contained in:
hanrenchun 2025-06-09 16:46:59 +08:00
parent 96af4f42f5
commit 51a5d0bc6b
9 changed files with 108 additions and 12 deletions

View File

@ -21,6 +21,7 @@ import com.ruoyi.database.service.BusinessTripApprovalService;
import com.ruoyi.database.service.gwglLogService; import com.ruoyi.database.service.gwglLogService;
import com.ruoyi.system.service.ISysDeptService; import com.ruoyi.system.service.ISysDeptService;
import com.ruoyi.system.service.ISysUserService; import com.ruoyi.system.service.ISysUserService;
import com.sun.org.apache.xpath.internal.operations.Bool;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
@ -66,6 +67,9 @@ public class BusinessTripApprovalController extends BaseController {
@ApiOperation("新增出差申请") @ApiOperation("新增出差申请")
public AjaxResult add(@RequestBody BusinessTripApproval dto) { public AjaxResult add(@RequestBody BusinessTripApproval dto) {
SysUser user = getLoginUser().getUser(); SysUser user = getLoginUser().getUser();
if (dto.getHasOffcialCar() == null) {
throw new RuntimeException("请选择是否自带公务车辆");
}
if (dto.getHasOffcialCar() != null && dto.getHasOffcialCar() == 1) { if (dto.getHasOffcialCar() != null && dto.getHasOffcialCar() == 1) {
if (dto.getCarModel() == null) { if (dto.getCarModel() == null) {
throw new RuntimeException("请选择使用车型"); throw new RuntimeException("请选择使用车型");
@ -87,6 +91,10 @@ public class BusinessTripApprovalController extends BaseController {
dto.setUserId(user.getUserId()); dto.setUserId(user.getUserId());
dto.setDepartment(user.getDept().getDeptName()); dto.setDepartment(user.getDept().getDeptName());
List<Long> togUserIdList = dto.getTogUserIdList(); List<Long> togUserIdList = dto.getTogUserIdList();
int isLeader = 0;
if (user.getIsLeader() != null) {
isLeader = 1;
}
StringBuilder ids = new StringBuilder(); StringBuilder ids = new StringBuilder();
if (togUserIdList != null && !togUserIdList.isEmpty()) { if (togUserIdList != null && !togUserIdList.isEmpty()) {
for (Long aLong : togUserIdList) { for (Long aLong : togUserIdList) {
@ -94,6 +102,10 @@ public class BusinessTripApprovalController extends BaseController {
ids.append(","); ids.append(",");
} }
ids.append(aLong); ids.append(aLong);
SysUser user1 = sysUserService.selectUserById(aLong);
if (user1.getIsLeader() != null) {
isLeader = 1;
}
} }
dto.setTogUserIds(ids.toString()); dto.setTogUserIds(ids.toString());
} }
@ -102,7 +114,6 @@ public class BusinessTripApprovalController extends BaseController {
dto.setApplyNo(s); dto.setApplyNo(s);
UUID uuid = UUID.randomUUID(); UUID uuid = UUID.randomUUID();
String uuids = uuid.toString(); String uuids = uuid.toString();
dto.setUuid(uuids); dto.setUuid(uuids);
BaseAddressInfo byId = baseAddressInfoService.getById(dto.getDestinationId()); BaseAddressInfo byId = baseAddressInfoService.getById(dto.getDestinationId());
ApprovalProcess approvalProcess = new ApprovalProcess(); ApprovalProcess approvalProcess = new ApprovalProcess();
@ -112,15 +123,30 @@ public class BusinessTripApprovalController extends BaseController {
approvalProcess.setSubmitterId(user.getUserId()); approvalProcess.setSubmitterId(user.getUserId());
approvalProcess.setSubmitTime(new Date().getTime()); approvalProcess.setSubmitTime(new Date().getTime());
approvalProcess.setMatterType(2); approvalProcess.setMatterType(2);
approvalProcess.setApprovalStatus(0);
approvalProcess.setReadStatus(0); approvalProcess.setReadStatus(0);
approvalProcess.setBusinessTripDestination(byId.getAddName()); approvalProcess.setBusinessTripDestination(byId.getAddName());
approvalProcess.setStartTime(dto.getStartDate()); approvalProcess.setStartTime(dto.getStartDate());
approvalProcess.setEndTime(dto.getEndDate()); approvalProcess.setEndTime(dto.getEndDate());
approvalProcess.setCreateTime(new Date().getTime()); approvalProcess.setCreateTime(new Date().getTime());
approvalProcess.setUuid(uuids); approvalProcess.setUuid(uuids);
approvalsProcessService.save(approvalProcess); List<Long> longs = new ArrayList<>();
return toAjax(businessTripApprovalService.save(dto)); 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()); .collect(Collectors.toList());
} }
private static SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); private static SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
private static final String DATA_KEY = "DDATAKEY:"; private static final String DATA_KEY = "DDATAKEY:";
@ -241,4 +268,28 @@ public class BusinessTripApprovalController extends BaseController {
return AjaxResult.success("审批出差申请成功"); return AjaxResult.success("审批出差申请成功");
} }
public Boolean addLog(ApprovalProcess approvalProcess, List<Long> 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);
}
} }

View File

@ -57,6 +57,8 @@ public class ApprovalProcess {
@ApiModelProperty("审批状态0-待提交 1-部门审批中 2-政治处审批中 3-局领导审批中 4-已通过 5-已拒绝") @ApiModelProperty("审批状态0-待提交 1-部门审批中 2-政治处审批中 3-局领导审批中 4-已通过 5-已拒绝")
@TableField(condition = SqlCondition.LIKE) @TableField(condition = SqlCondition.LIKE)
private Integer approvalStatus; private Integer approvalStatus;
@TableField(exist = false)
private String approvalStatusCn;
@ApiModelProperty("到达日期") @ApiModelProperty("到达日期")
private Long arrivalDate; private Long arrivalDate;

View File

@ -1,12 +1,14 @@
package com.ruoyi.database.domain; package com.ruoyi.database.domain;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntityMini; import com.ruoyi.common.core.domain.BaseEntityMini;
import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.entity.SysUser;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.Date;
import java.util.List; import java.util.List;
@Data @Data
@ -95,4 +97,9 @@ public class BusinessTripApproval extends BaseEntityMini {
@TableField(exist = false) @TableField(exist = false)
private List<SysUser> togUserList; private List<SysUser> togUserList;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("创建时间")
private Date createTime;
} }

View File

@ -1,5 +1,7 @@
package com.ruoyi.database.domain; 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.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
@ -58,7 +60,21 @@ public class gwglLog {
@ApiModelProperty("审核状态") @ApiModelProperty("审核状态")
private Integer checkState; 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;
} }

View File

@ -1,6 +1,7 @@
package com.ruoyi.database.service; package com.ruoyi.database.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.database.domain.ApprovalProcess;
import com.ruoyi.database.domain.gwglLog; import com.ruoyi.database.domain.gwglLog;
/** /**
@ -10,5 +11,4 @@ import com.ruoyi.database.domain.gwglLog;
*/ */
public interface gwglLogService extends IService<gwglLog> { public interface gwglLogService extends IService<gwglLog> {
public void addLog();
} }

View File

@ -1,6 +1,8 @@
package com.ruoyi.database.service.impl; package com.ruoyi.database.service.impl;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.database.domain.ApprovalProcess;
import com.ruoyi.database.domain.gwglLog; import com.ruoyi.database.domain.gwglLog;
import com.ruoyi.database.mapper.gwglLogMapper; import com.ruoyi.database.mapper.gwglLogMapper;
import com.ruoyi.database.service.gwglLogService; import com.ruoyi.database.service.gwglLogService;
@ -14,8 +16,4 @@ import org.springframework.stereotype.Service;
@Service @Service
public class gwglLogServiceImpl extends ServiceImpl<gwglLogMapper, gwglLog> implements gwglLogService { public class gwglLogServiceImpl extends ServiceImpl<gwglLogMapper, gwglLog> implements gwglLogService {
@Override
public void addLog() {
gwglLog gwglLog = new gwglLog();
}
} }

View File

@ -38,6 +38,8 @@ public class SysDept extends BaseEntity
/** 负责人 */ /** 负责人 */
private String leader; private String leader;
private Long leaderId;
/** 负责人 */ /** 负责人 */
private String leaderLeader; private String leaderLeader;
@ -212,4 +214,12 @@ public class SysDept extends BaseEntity
.append("updateTime", getUpdateTime()) .append("updateTime", getUpdateTime())
.toString(); .toString();
} }
public Long getLeaderId() {
return leaderId;
}
public void setLeaderId(Long leaderId) {
this.leaderId = leaderId;
}
} }

View File

@ -61,6 +61,8 @@ public class SysUser extends BaseEntity
private Integer hasApproval; private Integer hasApproval;
private Integer isLeader;
/** 密码 */ /** 密码 */
private String password; private String password;
@ -439,4 +441,12 @@ public class SysUser extends BaseEntity
public void setShoeSize(String shoeSize) { public void setShoeSize(String shoeSize) {
this.shoeSize = shoeSize; this.shoeSize = shoeSize;
} }
public Integer getIsLeader() {
return isLeader;
}
public void setIsLeader(Integer isLeader) {
this.isLeader = isLeader;
}
} }

View File

@ -32,6 +32,7 @@
<result property="shoeSize" column="shoe_size" /> <result property="shoeSize" column="shoe_size" />
<result property="areaAuthCode" column="area_auth_code" /> <result property="areaAuthCode" column="area_auth_code" />
<result property="userNum" column="user_num" /> <result property="userNum" column="user_num" />
<result property="isLeader" column="is_leader" />
<association property="dept" javaType="SysDept" resultMap="deptResult" /> <association property="dept" javaType="SysDept" resultMap="deptResult" />
<collection property="roles" javaType="java.util.List" resultMap="RoleResult" /> <collection property="roles" javaType="java.util.List" resultMap="RoleResult" />
</resultMap> </resultMap>
@ -43,6 +44,7 @@
<result property="ancestors" column="ancestors" /> <result property="ancestors" column="ancestors" />
<result property="orderNum" column="order_num" /> <result property="orderNum" column="order_num" />
<result property="leader" column="leader" /> <result property="leader" column="leader" />
<result property="leaderId" column="leader_id" />
<result property="status" column="dept_status" /> <result property="status" column="dept_status" />
</resultMap> </resultMap>
@ -56,7 +58,7 @@
</resultMap> </resultMap>
<sql id="selectUserVo"> <sql id="selectUserVo">
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, 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, 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 r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status
@ -67,7 +69,7 @@
</sql> </sql>
<select id="selectUserList" parameterType="SysUser" resultMap="SysUserResult"> <select id="selectUserList" parameterType="SysUser" resultMap="SysUserResult">
select u.user_id,u.user_num,u.hat_size,u.bottoms_size,u.tops_size,u.has_approval,u.shoe_size,u.user_type_cn,u.id_card, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.area_auth_code, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user u select u.user_id,u.user_num,u.hat_size,u.bottoms_size,u.tops_size,u.has_approval,u.is_leader,u.shoe_size,u.user_type_cn,u.id_card, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.area_auth_code, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user u
left join sys_dept d on u.dept_id = d.dept_id left join sys_dept d on u.dept_id = d.dept_id
where u.del_flag = '0' where u.del_flag = '0'
<if test="userId != null and userId != 0"> <if test="userId != null and userId != 0">