Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
T
travel-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
cloud
travel-cloud
Commits
0f8edd5b
提交
0f8edd5b
authored
12月 04, 2024
作者:
hzh
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
出差申请部分功能实现
上级
f73d4f0d
隐藏空白字符变更
内嵌
并排
正在显示
20 个修改的文件
包含
1005 行增加
和
0 行删除
+1005
-0
ApplyRelateType.java
...ain/java/org/dromara/server/constant/ApplyRelateType.java
+23
-0
ApplyStatus.java
...rc/main/java/org/dromara/server/constant/ApplyStatus.java
+21
-0
ApplyController.java
...n/java/org/dromara/server/controller/ApplyController.java
+116
-0
Apply.java
...server/src/main/java/org/dromara/server/domain/Apply.java
+90
-0
ApplyApprove.java
...src/main/java/org/dromara/server/domain/ApplyApprove.java
+63
-0
ApplyPerson.java
.../src/main/java/org/dromara/server/domain/ApplyPerson.java
+62
-0
ApplyApproveBo.java
...ain/java/org/dromara/server/domain/bo/ApplyApproveBo.java
+69
-0
ApplyBo.java
...r/src/main/java/org/dromara/server/domain/bo/ApplyBo.java
+96
-0
ApplyPersonBo.java
...main/java/org/dromara/server/domain/bo/ApplyPersonBo.java
+64
-0
ApplyApproveVo.java
...ain/java/org/dromara/server/domain/vo/ApplyApproveVo.java
+71
-0
ApplyPersonVo.java
...main/java/org/dromara/server/domain/vo/ApplyPersonVo.java
+70
-0
ApplyVo.java
...r/src/main/java/org/dromara/server/domain/vo/ApplyVo.java
+95
-0
ApplyApproveMapper.java
...in/java/org/dromara/server/mapper/ApplyApproveMapper.java
+15
-0
ApplyMapper.java
.../src/main/java/org/dromara/server/mapper/ApplyMapper.java
+15
-0
ApplyPersonMapper.java
...ain/java/org/dromara/server/mapper/ApplyPersonMapper.java
+15
-0
IApplyService.java
...c/main/java/org/dromara/server/service/IApplyService.java
+17
-0
ApplyServiceImpl.java
...ava/org/dromara/server/service/impl/ApplyServiceImpl.java
+82
-0
ApplyApproveMapper.xml
...r/src/main/resources/mapper/server/ApplyApproveMapper.xml
+7
-0
ApplyMapper.xml
...i-server/src/main/resources/mapper/server/ApplyMapper.xml
+7
-0
ApplyPersonMapper.xml
...er/src/main/resources/mapper/server/ApplyPersonMapper.xml
+7
-0
没有找到文件。
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/constant/ApplyRelateType.java
0 → 100644
浏览文件 @
0f8edd5b
package
org
.
dromara
.
server
.
constant
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
/**
* @author wenhe
*/
@Getter
@AllArgsConstructor
public
enum
ApplyRelateType
{
//本人
SELF
(
"0"
,
"本人"
),
//配偶
SPOUSE
(
"1"
,
"配偶"
),
//子女
CHILDREN
(
"2"
,
"子女"
);
private
final
String
code
;
private
final
String
desc
;
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/constant/ApplyStatus.java
0 → 100644
浏览文件 @
0f8edd5b
package
org
.
dromara
.
server
.
constant
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
/**
* @author wenhe
*/
@Getter
@AllArgsConstructor
public
enum
ApplyStatus
{
//待审核,已完成,已拒绝
WAIT_AUDIT
(
"0"
,
"待审核"
),
FINISH
(
"1"
,
"已完成"
),
REFUSE
(
"2"
,
"已拒绝"
);
private
final
String
code
;
private
final
String
desc
;
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/controller/ApplyController.java
0 → 100644
浏览文件 @
0f8edd5b
package
org
.
dromara
.
server
.
controller
;
import
cn.dev33.satoken.annotation.SaCheckPermission
;
import
jakarta.servlet.http.HttpServletResponse
;
import
jakarta.validation.constraints.NotEmpty
;
import
jakarta.validation.constraints.NotNull
;
import
lombok.RequiredArgsConstructor
;
import
org.dromara.common.core.domain.R
;
import
org.dromara.common.core.validate.AddGroup
;
import
org.dromara.common.core.validate.EditGroup
;
import
org.dromara.common.excel.utils.ExcelUtil
;
import
org.dromara.common.idempotent.annotation.RepeatSubmit
;
import
org.dromara.common.log.annotation.Log
;
import
org.dromara.common.log.enums.BusinessType
;
import
org.dromara.common.mybatis.core.page.PageQuery
;
import
org.dromara.common.mybatis.core.page.TableDataInfo
;
import
org.dromara.common.satoken.utils.LoginHelper
;
import
org.dromara.common.web.core.BaseController
;
import
org.dromara.server.domain.bo.ApplyBo
;
import
org.dromara.server.domain.vo.ApplyVo
;
import
org.dromara.server.service.IApplyService
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
/**
* 出差申请
* 前端访问路由地址为:/server/apply
*
* @author hzh
* @date 2024-12-04
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping
(
"/apply"
)
public
class
ApplyController
extends
BaseController
{
private
final
IApplyService
applyService
;
/**
* 查询出差申请列表
*/
@SaCheckPermission
(
"server:apply:list"
)
@GetMapping
(
"/list"
)
public
TableDataInfo
<
ApplyVo
>
list
(
ApplyBo
bo
,
PageQuery
pageQuery
)
{
return
applyService
.
queryPageList
(
bo
,
pageQuery
);
}
/**
* 查询出差申请单个人
*/
@GetMapping
(
"/list/self"
)
public
TableDataInfo
<
ApplyVo
>
listSelf
(
PageQuery
pageQuery
)
{
ApplyBo
bo
=
new
ApplyBo
()
.
setApplyUserId
(
LoginHelper
.
getUserId
());
return
applyService
.
queryPageList
(
bo
,
pageQuery
);
}
/**
* 导出出差申请列表
*/
@SaCheckPermission
(
"server:apply:export"
)
@Log
(
title
=
"出差申请"
,
businessType
=
BusinessType
.
EXPORT
)
@PostMapping
(
"/export"
)
public
void
export
(
ApplyBo
bo
,
HttpServletResponse
response
)
{
List
<
ApplyVo
>
list
=
applyService
.
queryList
(
bo
);
ExcelUtil
.
exportExcel
(
list
,
"出差申请"
,
ApplyVo
.
class
,
response
);
}
/**
* 获取出差申请详细信息
*
* @param id 主键
*/
@GetMapping
(
"/{id}"
)
public
R
<
ApplyVo
>
getInfo
(
@NotNull
(
message
=
"主键不能为空"
)
@PathVariable
Long
id
)
{
return
R
.
ok
(
applyService
.
queryById
(
id
));
}
/**
* 新增出差申请
*/
@Log
(
title
=
"出差申请"
,
businessType
=
BusinessType
.
INSERT
)
@RepeatSubmit
()
@PostMapping
()
public
R
<
Void
>
add
(
@Validated
(
AddGroup
.
class
)
@RequestBody
ApplyBo
bo
)
{
return
toAjax
(
applyService
.
insertByBo
(
bo
));
}
/**
* 修改出差申请
*/
@SaCheckPermission
(
"server:apply:edit"
)
@Log
(
title
=
"出差申请"
,
businessType
=
BusinessType
.
UPDATE
)
@RepeatSubmit
()
@PutMapping
()
public
R
<
Void
>
edit
(
@Validated
(
EditGroup
.
class
)
@RequestBody
ApplyBo
bo
)
{
return
toAjax
(
applyService
.
updateByBo
(
bo
));
}
/**
* 删除出差申请
*
* @param ids 主键串
*/
@SaCheckPermission
(
"server:apply:remove"
)
@Log
(
title
=
"出差申请"
,
businessType
=
BusinessType
.
DELETE
)
@DeleteMapping
(
"/{ids}"
)
public
R
<
Void
>
remove
(
@NotEmpty
(
message
=
"主键不能为空"
)
@PathVariable
Long
[]
ids
)
{
return
toAjax
(
applyService
.
deleteWithValidByIds
(
List
.
of
(
ids
),
true
));
}
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/domain/Apply.java
0 → 100644
浏览文件 @
0f8edd5b
package
org
.
dromara
.
server
.
domain
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableLogic
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
org.dromara.common.tenant.core.TenantEntity
;
import
java.io.Serial
;
import
java.util.Date
;
/**
* 出差申请对象 biz_apply
*
* @author hzh
* @date 2024-12-04
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@TableName
(
"biz_apply"
)
public
class
Apply
extends
TenantEntity
{
@Serial
private
static
final
long
serialVersionUID
=
1L
;
/**
* id
*/
@TableId
(
value
=
"id"
)
private
Long
id
;
/**
* 申请人id
*/
private
Long
applyUserId
;
/**
* 申请人姓名
*/
private
String
applyName
;
/**
* 申请人部门
*/
private
String
applyDeptName
;
/**
* 申请时间
*/
private
Date
applyTime
;
/**
* 到达地
*/
private
String
arriveAddress
;
/**
* 出发地
*/
private
String
departAddress
;
/**
* 开始时间
*/
private
Date
startTime
;
/**
* 结束时间
*/
private
Date
endTime
;
/**
* 出差理由
*/
private
String
applyReason
;
/**
* 状态
*/
private
String
status
;
/**
* 删除标志(0代表存在 2代表删除)
*/
@TableLogic
private
String
delFlag
;
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/domain/ApplyApprove.java
0 → 100644
浏览文件 @
0f8edd5b
package
org
.
dromara
.
server
.
domain
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
org.dromara.common.mybatis.core.domain.BaseEntity
;
import
java.io.Serial
;
import
java.util.Date
;
/**
* 出差申请审批对象 biz_apply_approve
*
* @author hzh
* @date 2024-12-04
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@TableName
(
"biz_apply_approve"
)
public
class
ApplyApprove
extends
BaseEntity
{
@Serial
private
static
final
long
serialVersionUID
=
1L
;
/**
* id
*/
@TableId
(
value
=
"id"
)
private
Long
id
;
/**
* 申请单id
*/
private
Long
applyId
;
/**
* 审批人id
*/
private
Long
approveUserId
;
/**
* 审批人
*/
private
String
approveName
;
/**
* 审批时间
*/
private
Date
approveTime
;
/**
* 审批描述
*/
private
String
approveDesc
;
/**
* 是否通过
*/
private
Long
pass
;
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/domain/ApplyPerson.java
0 → 100644
浏览文件 @
0f8edd5b
package
org
.
dromara
.
server
.
domain
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
org.dromara.common.mybatis.core.domain.BaseEntity
;
import
java.io.Serial
;
/**
* 出差申请出行人对象 biz_apply_person
*
* @author hzh
* @date 2024-12-04
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@TableName
(
"biz_apply_person"
)
public
class
ApplyPerson
extends
BaseEntity
{
@Serial
private
static
final
long
serialVersionUID
=
1L
;
/**
* id
*/
@TableId
(
value
=
"id"
)
private
Long
id
;
/**
* 申请单id
*/
private
Long
applyId
;
/**
* 姓名
*/
private
String
name
;
/**
* 手机号
*/
private
String
phone
;
/**
* 身份证
*/
private
String
idCard
;
/**
* 邮箱
*/
private
String
mail
;
/**
* 与本人关系
*/
private
String
relatedType
;
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/domain/bo/ApplyApproveBo.java
0 → 100644
浏览文件 @
0f8edd5b
package
org
.
dromara
.
server
.
domain
.
bo
;
import
io.github.linpeilie.annotations.AutoMapper
;
import
jakarta.validation.constraints.NotBlank
;
import
jakarta.validation.constraints.NotNull
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
org.dromara.common.core.validate.AddGroup
;
import
org.dromara.common.core.validate.EditGroup
;
import
org.dromara.common.mybatis.core.domain.BaseEntity
;
import
org.dromara.server.domain.ApplyApprove
;
import
java.util.Date
;
/**
* 出差申请审批业务对象 biz_apply_approve
*
* @author hzh
* @date 2024-12-04
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@AutoMapper
(
target
=
ApplyApprove
.
class
,
reverseConvertGenerate
=
false
)
public
class
ApplyApproveBo
extends
BaseEntity
{
/**
* id
*/
@NotNull
(
message
=
"id不能为空"
,
groups
=
{
EditGroup
.
class
})
private
Long
id
;
/**
* 申请单id
*/
@NotNull
(
message
=
"申请单id不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
Long
applyId
;
/**
* 审批人id
*/
@NotNull
(
message
=
"审批人id不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
Long
approveUserId
;
/**
* 审批人
*/
@NotBlank
(
message
=
"审批人不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
approveName
;
/**
* 审批时间
*/
@NotNull
(
message
=
"审批时间不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
Date
approveTime
;
/**
* 审批描述
*/
@NotBlank
(
message
=
"审批描述不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
approveDesc
;
/**
* 是否通过
*/
@NotNull
(
message
=
"是否通过不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
Long
pass
;
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/domain/bo/ApplyBo.java
0 → 100644
浏览文件 @
0f8edd5b
package
org
.
dromara
.
server
.
domain
.
bo
;
import
io.github.linpeilie.annotations.AutoMapper
;
import
jakarta.validation.constraints.NotBlank
;
import
jakarta.validation.constraints.NotNull
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
org.dromara.common.core.validate.AddGroup
;
import
org.dromara.common.core.validate.EditGroup
;
import
org.dromara.common.mybatis.core.domain.BaseEntity
;
import
org.dromara.server.domain.Apply
;
import
java.util.Date
;
import
java.util.List
;
/**
* 出差申请业务对象 biz_apply
*
* @author hzh
* @date 2024-12-04
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@Accessors
(
chain
=
true
)
@AutoMapper
(
target
=
Apply
.
class
,
reverseConvertGenerate
=
false
)
public
class
ApplyBo
extends
BaseEntity
{
/**
* id
*/
@NotNull
(
message
=
"id不能为空"
,
groups
=
{
EditGroup
.
class
})
private
Long
id
;
/**
* 申请人id
*/
private
Long
applyUserId
;
/**
* 申请人姓名
*/
private
String
applyName
;
/**
* 申请人部门
*/
private
String
applyDeptName
;
/**
* 申请时间
*/
@NotNull
(
message
=
"申请时间不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
Date
applyTime
;
/**
* 到达地
*/
@NotBlank
(
message
=
"到达地不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
arriveAddress
;
/**
* 出发地
*/
@NotBlank
(
message
=
"出发地不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
departAddress
;
/**
* 开始时间
*/
@NotNull
(
message
=
"开始时间不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
Date
startTime
;
/**
* 结束时间
*/
@NotNull
(
message
=
"结束时间不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
Date
endTime
;
/**
* 出差理由
*/
@NotBlank
(
message
=
"出差理由不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
applyReason
;
/**
* 状态
*/
private
String
status
;
/**
* 关联人员
*/
@NotNull
(
message
=
"关联人员不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
List
<
ApplyPersonBo
>
personList
;
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/domain/bo/ApplyPersonBo.java
0 → 100644
浏览文件 @
0f8edd5b
package
org
.
dromara
.
server
.
domain
.
bo
;
import
io.github.linpeilie.annotations.AutoMapper
;
import
jakarta.validation.constraints.NotBlank
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
org.dromara.common.core.validate.AddGroup
;
import
org.dromara.common.core.validate.EditGroup
;
import
org.dromara.common.mybatis.core.domain.BaseEntity
;
import
org.dromara.server.domain.ApplyPerson
;
/**
* 出差申请出行人业务对象 biz_apply_person
*
* @author hzh
* @date 2024-12-04
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@AutoMapper
(
target
=
ApplyPerson
.
class
,
reverseConvertGenerate
=
false
)
public
class
ApplyPersonBo
extends
BaseEntity
{
/**
* id
*/
private
Long
id
;
/**
* 申请单id
*/
private
Long
applyId
;
/**
* 姓名
*/
@NotBlank
(
message
=
"姓名不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
name
;
/**
* 手机号
*/
@NotBlank
(
message
=
"手机号不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
phone
;
/**
* 身份证
*/
@NotBlank
(
message
=
"身份证不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
idCard
;
/**
* 邮箱
*/
@NotBlank
(
message
=
"邮箱不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
mail
;
/**
* 与本人关系
*/
@NotBlank
(
message
=
"与本人关系不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
relatedType
;
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/domain/vo/ApplyApproveVo.java
0 → 100644
浏览文件 @
0f8edd5b
package
org
.
dromara
.
server
.
domain
.
vo
;
import
com.alibaba.excel.annotation.ExcelIgnoreUnannotated
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
io.github.linpeilie.annotations.AutoMapper
;
import
lombok.Data
;
import
org.dromara.server.domain.ApplyApprove
;
import
java.io.Serial
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* 出差申请审批视图对象 biz_apply_approve
*
* @author hzh
* @date 2024-12-04
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper
(
target
=
ApplyApprove
.
class
)
public
class
ApplyApproveVo
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
1L
;
/**
* id
*/
@ExcelProperty
(
value
=
"id"
)
private
Long
id
;
/**
* 申请单id
*/
@ExcelProperty
(
value
=
"申请单id"
)
private
Long
applyId
;
/**
* 审批人id
*/
@ExcelProperty
(
value
=
"审批人id"
)
private
Long
approveUserId
;
/**
* 审批人
*/
@ExcelProperty
(
value
=
"审批人"
)
private
String
approveName
;
/**
* 审批时间
*/
@ExcelProperty
(
value
=
"审批时间"
)
private
Date
approveTime
;
/**
* 审批描述
*/
@ExcelProperty
(
value
=
"审批描述"
)
private
String
approveDesc
;
/**
* 是否通过
*/
@ExcelProperty
(
value
=
"是否通过"
)
private
Long
pass
;
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/domain/vo/ApplyPersonVo.java
0 → 100644
浏览文件 @
0f8edd5b
package
org
.
dromara
.
server
.
domain
.
vo
;
import
com.alibaba.excel.annotation.ExcelIgnoreUnannotated
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
io.github.linpeilie.annotations.AutoMapper
;
import
lombok.Data
;
import
org.dromara.server.domain.ApplyPerson
;
import
java.io.Serial
;
import
java.io.Serializable
;
/**
* 出差申请出行人视图对象 biz_apply_person
*
* @author hzh
* @date 2024-12-04
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper
(
target
=
ApplyPerson
.
class
)
public
class
ApplyPersonVo
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
1L
;
/**
* id
*/
@ExcelProperty
(
value
=
"id"
)
private
Long
id
;
/**
* 申请单id
*/
@ExcelProperty
(
value
=
"申请单id"
)
private
Long
applyId
;
/**
* 姓名
*/
@ExcelProperty
(
value
=
"姓名"
)
private
String
name
;
/**
* 手机号
*/
@ExcelProperty
(
value
=
"手机号"
)
private
String
phone
;
/**
* 身份证
*/
@ExcelProperty
(
value
=
"身份证"
)
private
String
idCard
;
/**
* 邮箱
*/
@ExcelProperty
(
value
=
"邮箱"
)
private
String
mail
;
/**
* 与本人关系
*/
@ExcelProperty
(
value
=
"与本人关系"
)
private
String
relatedType
;
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/domain/vo/ApplyVo.java
0 → 100644
浏览文件 @
0f8edd5b
package
org
.
dromara
.
server
.
domain
.
vo
;
import
com.alibaba.excel.annotation.ExcelIgnoreUnannotated
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
io.github.linpeilie.annotations.AutoMapper
;
import
lombok.Data
;
import
org.dromara.server.domain.Apply
;
import
java.io.Serial
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* 出差申请视图对象 biz_apply
*
* @author hzh
* @date 2024-12-04
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper
(
target
=
Apply
.
class
)
public
class
ApplyVo
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
1L
;
/**
* id
*/
@ExcelProperty
(
value
=
"id"
)
private
Long
id
;
/**
* 申请人id
*/
@ExcelProperty
(
value
=
"申请人id"
)
private
Long
applyUserId
;
/**
* 申请人姓名
*/
@ExcelProperty
(
value
=
"申请人姓名"
)
private
String
applyName
;
/**
* 申请人部门
*/
@ExcelProperty
(
value
=
"申请人部门"
)
private
String
applyDeptName
;
/**
* 申请时间
*/
@ExcelProperty
(
value
=
"申请时间"
)
private
Date
applyTime
;
/**
* 到达地
*/
@ExcelProperty
(
value
=
"到达地"
)
private
String
arriveAddress
;
/**
* 出发地
*/
@ExcelProperty
(
value
=
"出发地"
)
private
String
departAddress
;
/**
* 开始时间
*/
@ExcelProperty
(
value
=
"开始时间"
)
private
Date
startTime
;
/**
* 结束时间
*/
@ExcelProperty
(
value
=
"结束时间"
)
private
Date
endTime
;
/**
* 出差理由
*/
@ExcelProperty
(
value
=
"出差理由"
)
private
String
applyReason
;
/**
* 状态
*/
@ExcelProperty
(
value
=
"状态"
)
private
String
status
;
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/mapper/ApplyApproveMapper.java
0 → 100644
浏览文件 @
0f8edd5b
package
org
.
dromara
.
server
.
mapper
;
import
org.dromara.common.mybatis.core.mapper.BaseMapperPlus
;
import
org.dromara.server.domain.ApplyApprove
;
import
org.dromara.server.domain.vo.ApplyApproveVo
;
/**
* 出差申请审批Mapper接口
*
* @author hzh
* @date 2024-12-04
*/
public
interface
ApplyApproveMapper
extends
BaseMapperPlus
<
ApplyApprove
,
ApplyApproveVo
>
{
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/mapper/ApplyMapper.java
0 → 100644
浏览文件 @
0f8edd5b
package
org
.
dromara
.
server
.
mapper
;
import
org.dromara.common.mybatis.core.mapper.BaseMapperPlus
;
import
org.dromara.server.domain.Apply
;
import
org.dromara.server.domain.vo.ApplyVo
;
/**
* 出差申请Mapper接口
*
* @author hzh
* @date 2024-12-04
*/
public
interface
ApplyMapper
extends
BaseMapperPlus
<
Apply
,
ApplyVo
>
{
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/mapper/ApplyPersonMapper.java
0 → 100644
浏览文件 @
0f8edd5b
package
org
.
dromara
.
server
.
mapper
;
import
org.dromara.common.mybatis.core.mapper.BaseMapperPlus
;
import
org.dromara.server.domain.ApplyPerson
;
import
org.dromara.server.domain.vo.ApplyPersonVo
;
/**
* 出差申请出行人Mapper接口
*
* @author hzh
* @date 2024-12-04
*/
public
interface
ApplyPersonMapper
extends
BaseMapperPlus
<
ApplyPerson
,
ApplyPersonVo
>
{
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/service/IApplyService.java
0 → 100644
浏览文件 @
0f8edd5b
package
org
.
dromara
.
server
.
service
;
import
org.dromara.server.base.IBaseService
;
import
org.dromara.server.domain.Apply
;
import
org.dromara.server.domain.bo.ApplyBo
;
import
org.dromara.server.domain.vo.ApplyVo
;
/**
* 出差申请Service接口
*
* @author hzh
* @date 2024-12-04
*/
public
interface
IApplyService
extends
IBaseService
<
ApplyVo
,
ApplyBo
,
Apply
>
{
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/service/impl/ApplyServiceImpl.java
0 → 100644
浏览文件 @
0f8edd5b
package
org
.
dromara
.
server
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
lombok.RequiredArgsConstructor
;
import
org.dromara.common.core.utils.MapstructUtils
;
import
org.dromara.common.core.utils.StringUtils
;
import
org.dromara.common.mybatis.core.mapper.BaseMapperPlus
;
import
org.dromara.common.satoken.utils.LoginHelper
;
import
org.dromara.server.base.AbstractBaseService
;
import
org.dromara.server.constant.ApplyStatus
;
import
org.dromara.server.domain.Apply
;
import
org.dromara.server.domain.ApplyPerson
;
import
org.dromara.server.domain.bo.ApplyBo
;
import
org.dromara.server.domain.bo.ApplyPersonBo
;
import
org.dromara.server.domain.vo.ApplyVo
;
import
org.dromara.server.mapper.ApplyMapper
;
import
org.dromara.server.mapper.ApplyPersonMapper
;
import
org.dromara.server.service.IApplyService
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
/**
* 出差申请Service业务层处理
*
* @author hzh
* @date 2024-12-04
*/
@RequiredArgsConstructor
@Service
public
class
ApplyServiceImpl
extends
AbstractBaseService
<
ApplyVo
,
ApplyBo
,
Apply
>
implements
IApplyService
{
private
final
ApplyMapper
baseMapper
;
private
final
ApplyPersonMapper
applyPersonMapper
;
@Override
public
BaseMapperPlus
<
Apply
,
ApplyVo
>
mapper
()
{
return
baseMapper
;
}
@Override
public
LambdaQueryWrapper
<
Apply
>
buildQueryWrapper
(
ApplyBo
bo
)
{
Map
<
String
,
Object
>
params
=
bo
.
getParams
();
LambdaQueryWrapper
<
Apply
>
lqw
=
Wrappers
.
lambdaQuery
();
lqw
.
eq
(
bo
.
getApplyUserId
()
!=
null
,
Apply:
:
getApplyUserId
,
bo
.
getApplyUserId
());
lqw
.
like
(
StringUtils
.
isNotBlank
(
bo
.
getApplyName
()),
Apply:
:
getApplyName
,
bo
.
getApplyName
());
lqw
.
like
(
StringUtils
.
isNotBlank
(
bo
.
getApplyDeptName
()),
Apply:
:
getApplyDeptName
,
bo
.
getApplyDeptName
());
lqw
.
eq
(
bo
.
getApplyTime
()
!=
null
,
Apply:
:
getApplyTime
,
bo
.
getApplyTime
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getArriveAddress
()),
Apply:
:
getArriveAddress
,
bo
.
getArriveAddress
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getDepartAddress
()),
Apply:
:
getDepartAddress
,
bo
.
getDepartAddress
());
lqw
.
eq
(
bo
.
getStartTime
()
!=
null
,
Apply:
:
getStartTime
,
bo
.
getStartTime
());
lqw
.
eq
(
bo
.
getEndTime
()
!=
null
,
Apply:
:
getEndTime
,
bo
.
getEndTime
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getApplyReason
()),
Apply:
:
getApplyReason
,
bo
.
getApplyReason
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getStatus
()),
Apply:
:
getStatus
,
bo
.
getStatus
());
return
lqw
;
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
Boolean
insertByBo
(
ApplyBo
bo
)
{
bo
.
setApplyUserId
(
LoginHelper
.
getUserId
());
bo
.
setApplyName
(
LoginHelper
.
getUsername
());
bo
.
setApplyTime
(
new
Date
());
bo
.
setApplyDeptName
(
LoginHelper
.
getDeptName
());
bo
.
setStatus
(
ApplyStatus
.
WAIT_AUDIT
.
getCode
());
Boolean
result
=
super
.
insertByBo
(
bo
);
if
(
result
)
{
List
<
ApplyPersonBo
>
personList
=
bo
.
getPersonList
();
for
(
ApplyPersonBo
person
:
personList
)
{
person
.
setApplyId
(
bo
.
getId
());
ApplyPerson
ap
=
MapstructUtils
.
convert
(
person
,
ApplyPerson
.
class
);
applyPersonMapper
.
insert
(
ap
);
}
}
return
result
;
}
}
ruoyi-modules/ruoyi-server/src/main/resources/mapper/server/ApplyApproveMapper.xml
0 → 100644
浏览文件 @
0f8edd5b
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"org.dromara.server.mapper.ApplyApproveMapper"
>
</mapper>
ruoyi-modules/ruoyi-server/src/main/resources/mapper/server/ApplyMapper.xml
0 → 100644
浏览文件 @
0f8edd5b
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"org.dromara.server.mapper.ApplyMapper"
>
</mapper>
ruoyi-modules/ruoyi-server/src/main/resources/mapper/server/ApplyPersonMapper.xml
0 → 100644
浏览文件 @
0f8edd5b
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"org.dromara.server.mapper.ApplyPersonMapper"
>
</mapper>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论