Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
T
tianjin-cement
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
竹天卫
tianjin-cement
Commits
9ccf9f5a
Commit
9ccf9f5a
authored
4 years ago
by
竹天卫
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
实验室驻场申请
委托上传附件功能 标样管理上传附件功能 评审时删除样品
parent
55b30da9
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
1016 additions
and
0 deletions
+1016
-0
SettleController.java
.../wise/sc/cement/business/controller/SettleController.java
+136
-0
Settle.java
...c/main/java/cn/wise/sc/cement/business/entity/Settle.java
+93
-0
SettleEquipment.java
...va/cn/wise/sc/cement/business/entity/SettleEquipment.java
+58
-0
SettleRecord.java
.../java/cn/wise/sc/cement/business/entity/SettleRecord.java
+74
-0
SettleEquipmentMapper.java
...wise/sc/cement/business/mapper/SettleEquipmentMapper.java
+16
-0
SettleMapper.java
.../java/cn/wise/sc/cement/business/mapper/SettleMapper.java
+29
-0
SettleRecordMapper.java
...cn/wise/sc/cement/business/mapper/SettleRecordMapper.java
+16
-0
SettleEquipmentMapper.xml
...e/sc/cement/business/mapper/xml/SettleEquipmentMapper.xml
+5
-0
SettleMapper.xml
...va/cn/wise/sc/cement/business/mapper/xml/SettleMapper.xml
+93
-0
SettleRecordMapper.xml
...wise/sc/cement/business/mapper/xml/SettleRecordMapper.xml
+5
-0
ISettleService.java
...va/cn/wise/sc/cement/business/service/ISettleService.java
+39
-0
SettleServiceImpl.java
...se/sc/cement/business/service/impl/SettleServiceImpl.java
+452
-0
No files found.
cement-business/src/main/java/cn/wise/sc/cement/business/controller/SettleController.java
0 → 100644
View file @
9ccf9f5a
package
cn
.
wise
.
sc
.
cement
.
business
.
controller
;
import
cn.wise.sc.cement.business.model.BaseResponse
;
import
cn.wise.sc.cement.business.model.PageQuery
;
import
cn.wise.sc.cement.business.model.query.ClientQuery
;
import
cn.wise.sc.cement.business.model.query.SettleApprovalQuery
;
import
cn.wise.sc.cement.business.model.query.SettleDelayQuery
;
import
cn.wise.sc.cement.business.model.query.SettleQuery
;
import
cn.wise.sc.cement.business.service.ISettleService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
/**
* <p>
* 前端控制器
* </p>
*
* @author ztw
* @since 2021-04-20
*/
@Api
(
tags
=
"实验室入驻管理"
)
@RestController
@RequestMapping
(
"/business/settle"
)
public
class
SettleController
{
private
static
final
Logger
log
=
LoggerFactory
.
getLogger
(
"SettleController"
);
@Autowired
private
ISettleService
settleService
;
@ApiOperation
(
value
=
"申请人分页列表"
)
@ApiImplicitParams
(
value
=
{
@ApiImplicitParam
(
name
=
"isApproval"
,
value
=
"0未审批,1已审批"
,
paramType
=
"query"
,
dataType
=
"Integer"
)
})
@GetMapping
(
"/getApplyPage"
)
public
BaseResponse
getApplyPage
(
PageQuery
pageQuery
,
Integer
isApproval
)
{
try
{
return
settleService
.
getApplyPage
(
pageQuery
,
isApproval
);
}
catch
(
Exception
e
)
{
log
.
debug
(
"申请人分页列表{}"
,
e
);
}
return
BaseResponse
.
errorMsg
(
"失败!"
);
}
@ApiOperation
(
value
=
"审批人分页列表"
)
@ApiImplicitParams
(
value
=
{
@ApiImplicitParam
(
name
=
"isApproval"
,
value
=
"0未审批,1已审批"
,
paramType
=
"query"
,
dataType
=
"Integer"
)
})
@GetMapping
(
"/getApprovalPage"
)
public
BaseResponse
getApprovalPage
(
PageQuery
pageQuery
,
Integer
isApproval
)
{
try
{
return
settleService
.
getApprovalPage
(
pageQuery
,
isApproval
);
}
catch
(
Exception
e
)
{
log
.
debug
(
"审批人分页列表{}"
,
e
);
}
return
BaseResponse
.
errorMsg
(
"失败!"
);
}
@ApiOperation
(
value
=
"实验室入驻详情"
)
@GetMapping
(
"/getDetail/{settleId}"
)
public
BaseResponse
getDetail
(
@PathVariable
Integer
settleId
)
{
try
{
return
settleService
.
getDetail
(
settleId
);
}
catch
(
Exception
e
)
{
log
.
debug
(
"实验室入驻详情{}"
,
e
);
}
return
BaseResponse
.
errorMsg
(
"失败!"
);
}
@ApiOperation
(
value
=
"入驻申请"
)
@PostMapping
(
"/settleApply"
)
public
BaseResponse
settleApply
(
@RequestBody
SettleQuery
query
)
{
try
{
return
settleService
.
settleApply
(
query
);
}
catch
(
Exception
e
)
{
log
.
debug
(
"入驻申请{}"
,
e
);
}
return
BaseResponse
.
errorMsg
(
"失败!"
);
}
@ApiOperation
(
value
=
"撤销"
)
@GetMapping
(
"/revoke/{settleId}"
)
public
BaseResponse
revoke
(
@PathVariable
Integer
settleId
)
{
try
{
return
settleService
.
revoke
(
settleId
);
}
catch
(
Exception
e
)
{
log
.
debug
(
"撤销{}"
,
e
);
}
return
BaseResponse
.
errorMsg
(
"失败!"
);
}
@ApiOperation
(
value
=
"延期申请"
)
@PostMapping
(
"/delayApply"
)
public
BaseResponse
delayApply
(
@RequestBody
SettleDelayQuery
query
)
{
try
{
return
settleService
.
delayApply
(
query
);
}
catch
(
Exception
e
)
{
log
.
debug
(
"延期申请{}"
,
e
);
}
return
BaseResponse
.
errorMsg
(
"失败!"
);
}
@ApiOperation
(
value
=
"验收申请"
)
@PostMapping
(
"/checkApply"
)
public
BaseResponse
checkApply
(
Integer
settleId
)
{
try
{
return
settleService
.
checkApply
(
settleId
);
}
catch
(
Exception
e
)
{
log
.
debug
(
"验收申请{}"
,
e
);
}
return
BaseResponse
.
errorMsg
(
"失败!"
);
}
@ApiOperation
(
value
=
"审批"
)
@PostMapping
(
"/settleApproval"
)
public
BaseResponse
settleApproval
(
@RequestBody
SettleApprovalQuery
query
)
{
try
{
return
settleService
.
settleApproval
(
query
);
}
catch
(
Exception
e
)
{
log
.
debug
(
"审批{}"
,
e
);
}
return
BaseResponse
.
errorMsg
(
"失败!"
);
}
}
This diff is collapsed.
Click to expand it.
cement-business/src/main/java/cn/wise/sc/cement/business/entity/Settle.java
0 → 100644
View file @
9ccf9f5a
package
cn
.
wise
.
sc
.
cement
.
business
.
entity
;
import
com.baomidou.mybatisplus.annotation.FieldFill
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
java.time.LocalDate
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
java.time.LocalDateTime
;
import
java.io.Serializable
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
/**
* <p>
*
* </p>
*
* @author ztw
* @since 2021-04-20
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
public
class
Settle
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 主键
*/
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Integer
id
;
/**
* 申请单位
*/
private
String
clientName
;
/**
* 入驻地点
*/
private
String
position
;
/**
* 入驻日期
*/
private
LocalDate
settleDate
;
/**
* 离开日期
*/
private
LocalDate
leaveDate
;
/**
* 延期日期
*/
@TableField
(
fill
=
FieldFill
.
INSERT_UPDATE
)
private
LocalDate
delayDate
;
/**
* 是否存放样品(1是,0否)
*/
private
Integer
isDeposit
;
/**
* 存放日期
*/
private
LocalDate
depositDate
;
/**
* 申请用户id
*/
private
Integer
userId
;
/**
* (0未审批,1未通过,2使用中,3验收中,4已验收,5撤销)
*/
private
Integer
status
;
/**
* 创建时间
*/
private
LocalDateTime
createTime
;
/**
* 备注
*/
private
String
remark
;
}
This diff is collapsed.
Click to expand it.
cement-business/src/main/java/cn/wise/sc/cement/business/entity/SettleEquipment.java
0 → 100644
View file @
9ccf9f5a
package
cn
.
wise
.
sc
.
cement
.
business
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
java.time.LocalDateTime
;
import
java.io.Serializable
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
/**
* <p>
*
* </p>
*
* @author ztw
* @since 2021-04-20
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
public
class
SettleEquipment
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 主键
*/
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Integer
id
;
/**
* 入驻表d
*/
private
Integer
settleId
;
/**
* 设备表id
*/
private
Integer
equipmentId
;
/**
* 设备名称
*/
private
String
equipmentName
;
/**
* 创建时间
*/
private
LocalDateTime
createTime
;
/**
* 备注
*/
private
String
remark
;
}
This diff is collapsed.
Click to expand it.
cement-business/src/main/java/cn/wise/sc/cement/business/entity/SettleRecord.java
0 → 100644
View file @
9ccf9f5a
package
cn
.
wise
.
sc
.
cement
.
business
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
java.time.LocalDateTime
;
import
java.io.Serializable
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
/**
* <p>
*
* </p>
*
* @author ztw
* @since 2021-04-20
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
public
class
SettleRecord
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 主键
*/
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Integer
id
;
/**
* 审批类型(1入驻申请,2延期申请,3验收申请)
*/
private
Integer
type
;
/**
* 入驻表d
*/
private
Integer
settleId
;
/**
* 申请人id
*/
private
Integer
userId
;
/**
* 审批人id
*/
private
Integer
approvalId
;
/**
* 审批意见(验收结果)
*/
private
String
opinion
;
/**
* 审批结果(0申请,1通过,2驳回)
*/
private
Integer
status
;
/**
* 创建时间
*/
private
LocalDateTime
createTime
;
/**
* 备注
*/
private
String
remark
;
}
This diff is collapsed.
Click to expand it.
cement-business/src/main/java/cn/wise/sc/cement/business/mapper/SettleEquipmentMapper.java
0 → 100644
View file @
9ccf9f5a
package
cn
.
wise
.
sc
.
cement
.
business
.
mapper
;
import
cn.wise.sc.cement.business.entity.SettleEquipment
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
/**
* <p>
* Mapper 接口
* </p>
*
* @author ztw
* @since 2021-04-20
*/
public
interface
SettleEquipmentMapper
extends
BaseMapper
<
SettleEquipment
>
{
}
This diff is collapsed.
Click to expand it.
cement-business/src/main/java/cn/wise/sc/cement/business/mapper/SettleMapper.java
0 → 100644
View file @
9ccf9f5a
package
cn
.
wise
.
sc
.
cement
.
business
.
mapper
;
import
cn.wise.sc.cement.business.entity.Settle
;
import
cn.wise.sc.cement.business.model.vo.EntrustVo
;
import
cn.wise.sc.cement.business.model.vo.SettleVo
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.Map
;
/**
* <p>
* Mapper 接口
* </p>
*
* @author ztw
* @since 2021-04-20
*/
public
interface
SettleMapper
extends
BaseMapper
<
Settle
>
{
IPage
<
SettleVo
>
getApplyPage
(
@Param
(
"page"
)
Page
page
,
@Param
(
"params"
)
Map
<
String
,
Object
>
params
);
IPage
<
SettleVo
>
getApprovalPage
(
@Param
(
"page"
)
Page
page
,
@Param
(
"params"
)
Map
<
String
,
Object
>
params
);
}
This diff is collapsed.
Click to expand it.
cement-business/src/main/java/cn/wise/sc/cement/business/mapper/SettleRecordMapper.java
0 → 100644
View file @
9ccf9f5a
package
cn
.
wise
.
sc
.
cement
.
business
.
mapper
;
import
cn.wise.sc.cement.business.entity.SettleRecord
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
/**
* <p>
* Mapper 接口
* </p>
*
* @author ztw
* @since 2021-04-20
*/
public
interface
SettleRecordMapper
extends
BaseMapper
<
SettleRecord
>
{
}
This diff is collapsed.
Click to expand it.
cement-business/src/main/java/cn/wise/sc/cement/business/mapper/xml/SettleEquipmentMapper.xml
0 → 100644
View file @
9ccf9f5a
<?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=
"cn.wise.sc.cement.business.mapper.SettleEquipmentMapper"
>
</mapper>
This diff is collapsed.
Click to expand it.
cement-business/src/main/java/cn/wise/sc/cement/business/mapper/xml/SettleMapper.xml
0 → 100644
View file @
9ccf9f5a
<?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=
"cn.wise.sc.cement.business.mapper.SettleMapper"
>
<select
id=
"getApplyPage"
resultType=
"cn.wise.sc.cement.business.model.vo.SettleVo"
>
select s.*,
(
CASE s.status
WHEN 0 THEN '未评审'
WHEN 1 THEN '未通过'
WHEN 2 THEN '使用中'
WHEN 3 THEN '验收中'
WHEN 4 THEN '已验收'
WHEN 5 THEN '撤销'
ELSE ''
END
) as statusValue,
'实验室入驻申请' as applyType
from settle s
<include
refid=
"where"
/>
order by s.create_time desc
</select>
<sql
id=
"where"
>
<where>
and s.status != 5
<if
test=
"params.isApproval == 0 "
>
and s.status = 0
</if>
<if
test=
"params.isApproval == 1 "
>
and s.status != 0
</if>
<if
test=
"params.userId != null"
>
and s.user_id = #{params.userId}
</if>
<if
test=
"params.clientName != null and params.clientName != ''"
>
and s.client_name like concat('%', #{params.clientName}, '%')
</if>
<if
test=
"params.startDate != null and params.startDate != ''"
>
and DATE(s.create_time)
>
= #{params.startDate}
</if>
<if
test=
"params.endDate != null and params.endDate != ''"
>
and DATE(s.create_time)
<
= #{params.endDate}
</if>
</where>
</sql>
<select
id=
"getApprovalPage"
resultType=
"cn.wise.sc.cement.business.model.vo.SettleVo"
>
select s.*,
(
CASE s.status
WHEN 0 THEN '未评审'
WHEN 1 THEN '未通过'
WHEN 2 THEN '使用中'
WHEN 3 THEN '验收中'
WHEN 4 THEN '已验收'
WHEN 5 THEN '撤销'
ELSE ''
END
) as statusValue,
(
CASE sr.type
WHEN 1 THEN '实验室入驻申请'
WHEN 2 THEN '实验室延期申请'
WHEN 3 THEN '实验室验收申请'
ELSE ''
END
) as applyType
from settle_record sr
left join settle s on s.id = sr.settle_id
where s.status != 5
<if
test=
"params.isApproval == 0 "
>
and sr.status = 0
</if>
<if
test=
"params.isApproval == 1 "
>
and sr.status != 0
and sr.approval_id = #{params.userId}
</if>
order by sr.create_time desc
</select>
</mapper>
This diff is collapsed.
Click to expand it.
cement-business/src/main/java/cn/wise/sc/cement/business/mapper/xml/SettleRecordMapper.xml
0 → 100644
View file @
9ccf9f5a
<?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=
"cn.wise.sc.cement.business.mapper.SettleRecordMapper"
>
</mapper>
This diff is collapsed.
Click to expand it.
cement-business/src/main/java/cn/wise/sc/cement/business/service/ISettleService.java
0 → 100644
View file @
9ccf9f5a
package
cn
.
wise
.
sc
.
cement
.
business
.
service
;
import
cn.wise.sc.cement.business.entity.Settle
;
import
cn.wise.sc.cement.business.model.BaseResponse
;
import
cn.wise.sc.cement.business.model.PageQuery
;
import
cn.wise.sc.cement.business.model.query.SettleApprovalQuery
;
import
cn.wise.sc.cement.business.model.query.SettleDelayQuery
;
import
cn.wise.sc.cement.business.model.query.SettleQuery
;
import
cn.wise.sc.cement.business.model.vo.SettleVo
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.service.IService
;
/**
* <p>
* 服务类
* </p>
*
* @author ztw
* @since 2021-04-20
*/
public
interface
ISettleService
extends
IService
<
Settle
>
{
BaseResponse
<
IPage
<
SettleVo
>>
getApplyPage
(
PageQuery
pageQuery
,
Integer
isApproval
);
BaseResponse
<
IPage
<
SettleVo
>>
getApprovalPage
(
PageQuery
pageQuery
,
Integer
isApproval
);
BaseResponse
<
SettleVo
>
getDetail
(
Integer
settleId
);
BaseResponse
<
String
>
settleApply
(
SettleQuery
query
);
BaseResponse
<
String
>
revoke
(
Integer
settleId
);
BaseResponse
<
String
>
delayApply
(
SettleDelayQuery
query
);
BaseResponse
<
String
>
checkApply
(
Integer
settleId
);
BaseResponse
<
String
>
settleApproval
(
SettleApprovalQuery
query
);
}
This diff is collapsed.
Click to expand it.
cement-business/src/main/java/cn/wise/sc/cement/business/service/impl/SettleServiceImpl.java
0 → 100644
View file @
9ccf9f5a
package
cn
.
wise
.
sc
.
cement
.
business
.
service
.
impl
;
import
cn.wise.sc.cement.business.entity.*
;
import
cn.wise.sc.cement.business.mapper.*
;
import
cn.wise.sc.cement.business.model.BaseResponse
;
import
cn.wise.sc.cement.business.model.LoginUser
;
import
cn.wise.sc.cement.business.model.PageQuery
;
import
cn.wise.sc.cement.business.model.query.ClientQuery
;
import
cn.wise.sc.cement.business.model.query.SettleApprovalQuery
;
import
cn.wise.sc.cement.business.model.query.SettleDelayQuery
;
import
cn.wise.sc.cement.business.model.query.SettleQuery
;
import
cn.wise.sc.cement.business.model.vo.EntrustVo
;
import
cn.wise.sc.cement.business.model.vo.SettleVo
;
import
cn.wise.sc.cement.business.service.ISettleEquipmentService
;
import
cn.wise.sc.cement.business.service.ISettleService
;
import
cn.wise.sc.cement.business.service.ISysUserService
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
io.swagger.models.auth.In
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
* <p>
* 服务实现类
* </p>
*
* @author ztw
* @since 2021-04-20
*/
@Service
public
class
SettleServiceImpl
extends
ServiceImpl
<
SettleMapper
,
Settle
>
implements
ISettleService
{
@Resource
private
SettleMapper
settleMapper
;
@Autowired
private
ISysUserService
userService
;
@Resource
private
EquipmentMapper
equipmentMapper
;
@Autowired
private
ISettleEquipmentService
settleEquipmentService
;
@Resource
private
SettleRecordMapper
settleRecordMapper
;
@Resource
private
SysApprovalMapper
sysApprovalMapper
;
/**
* 申请人查看 分页
* @param pageQuery
* @param isApproval
* @return
*/
public
BaseResponse
<
IPage
<
SettleVo
>>
getApplyPage
(
PageQuery
pageQuery
,
Integer
isApproval
)
{
LoginUser
loginUser
=
userService
.
getLoginUser
();
if
(
loginUser
==
null
)
{
return
BaseResponse
.
noLogin
(
"请登录账号"
);
}
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"isApproval"
,
isApproval
);
params
.
put
(
"userId"
,
loginUser
.
getId
());
Page
<
SettleVo
>
page
=
new
Page
<>(
pageQuery
.
getPageNo
(),
pageQuery
.
getPageSize
());
IPage
<
SettleVo
>
pages
=
settleMapper
.
getApplyPage
(
page
,
params
);
return
BaseResponse
.
okData
(
pages
);
}
/**
* 审批人查看 分页
* @param pageQuery
* @param isApproval
* @return
*/
public
BaseResponse
<
IPage
<
SettleVo
>>
getApprovalPage
(
PageQuery
pageQuery
,
Integer
isApproval
)
{
LoginUser
loginUser
=
userService
.
getLoginUser
();
if
(
loginUser
==
null
)
{
return
BaseResponse
.
noLogin
(
"请登录账号"
);
}
List
<
Integer
>
approvalIdList
=
sysApprovalMapper
.
getApprovalId
(
"委托评审"
);
if
(
approvalIdList
==
null
)
{
return
BaseResponse
.
errorMsg
(
"委托评审信息错误"
);
}
if
(!
approvalIdList
.
contains
(
loginUser
.
getId
()))
{
return
BaseResponse
.
errorMsg
(
"权限不足"
);
}
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"isApproval"
,
isApproval
);
params
.
put
(
"userId"
,
loginUser
.
getId
());
Page
<
SettleVo
>
page
=
new
Page
<>(
pageQuery
.
getPageNo
(),
pageQuery
.
getPageSize
());
IPage
<
SettleVo
>
pages
=
settleMapper
.
getApprovalPage
(
page
,
params
);
return
BaseResponse
.
okData
(
pages
);
}
/**
* 实验室入驻详情
* @param settleId
* @return
*/
public
BaseResponse
<
SettleVo
>
getDetail
(
Integer
settleId
)
{
LoginUser
loginUser
=
userService
.
getLoginUser
();
if
(
loginUser
==
null
)
{
return
BaseResponse
.
noLogin
(
"请登录账号"
);
}
if
(
settleId
==
null
)
{
return
BaseResponse
.
errorMsg
(
"参数错误"
);
}
Settle
settle
=
settleMapper
.
selectById
(
settleId
);
if
(
settle
==
null
)
{
return
BaseResponse
.
errorMsg
(
"信息错误"
);
}
SettleVo
settleVo
=
new
SettleVo
();
BeanUtils
.
copyProperties
(
settle
,
settleVo
);
QueryWrapper
<
SettleEquipment
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
eq
(
"settle_id"
,
settleVo
.
getId
());
List
<
SettleEquipment
>
seList
=
settleEquipmentService
.
list
(
queryWrapper
);
String
equipmentNames
=
""
;
if
(
seList
!=
null
&&
seList
.
size
()
>
0
)
{
for
(
SettleEquipment
se
:
seList
)
{
equipmentNames
=
equipmentNames
.
equals
(
""
)
?
se
.
getEquipmentName
()
:
(
equipmentNames
+
"、"
+
se
.
getEquipmentName
());
}
}
settleVo
.
setEquipmentNames
(
equipmentNames
);
//查询当前入驻申请单的所有记录
QueryWrapper
<
SettleRecord
>
recordWrapper
=
new
QueryWrapper
<>();
recordWrapper
.
eq
(
"settle_id"
,
settle
.
getId
());
List
<
SettleRecord
>
recordLst
=
settleRecordMapper
.
selectList
(
recordWrapper
);
//入驻申请 结果 说明
List
<
SettleRecord
>
settleRecordList
=
recordLst
.
stream
()
.
filter
(
args
->
args
.
getType
().
intValue
()
==
1
)
.
sorted
(
Comparator
.
comparing
(
SettleRecord:
:
getCreateTime
).
reversed
())
.
collect
(
Collectors
.
toList
());
if
(
settleRecordList
!=
null
&&
settleRecordList
.
size
()>
0
){
SettleRecord
settleRecord
=
settleRecordList
.
get
(
0
);
settleVo
.
setSettleResult
(
settleRecord
.
getStatus
()==
1
?
"通过"
:
settleRecord
.
getStatus
()==
2
?
"驳回"
:
null
);
settleVo
.
setSettleOpinion
(
settleRecord
.
getOpinion
());
}
//延期申请 结果 说明
List
<
SettleRecord
>
delayRecordList
=
recordLst
.
stream
()
.
filter
(
args
->
args
.
getType
().
intValue
()
==
2
)
.
sorted
(
Comparator
.
comparing
(
SettleRecord:
:
getCreateTime
).
reversed
())
.
collect
(
Collectors
.
toList
());
if
(
delayRecordList
!=
null
&&
delayRecordList
.
size
()>
0
){
SettleRecord
delayRecord
=
delayRecordList
.
get
(
0
);
settleVo
.
setDelayResult
(
delayRecord
.
getStatus
()==
1
?
"通过"
:
delayRecord
.
getStatus
()==
2
?
"驳回"
:
null
);
settleVo
.
setDelayOpinion
(
delayRecord
.
getOpinion
());
}
//验收结果 验收说明
List
<
SettleRecord
>
checkRecordList
=
recordLst
.
stream
()
.
filter
(
args
->
args
.
getType
().
intValue
()
==
3
)
.
sorted
(
Comparator
.
comparing
(
SettleRecord:
:
getCreateTime
).
reversed
())
.
collect
(
Collectors
.
toList
());
if
(
checkRecordList
!=
null
&&
checkRecordList
.
size
()>
0
){
SettleRecord
checkRecord
=
checkRecordList
.
get
(
0
);
settleVo
.
setCheckResult
(
checkRecord
.
getStatus
()==
1
?
"正常"
:
checkRecord
.
getStatus
()==
2
?
"异常"
:
null
);
settleVo
.
setCheckOpinion
(
checkRecord
.
getOpinion
());
}
return
BaseResponse
.
okData
(
settleVo
);
}
/**
* 入驻申请
* @param query
* @return
*/
@Override
@Transactional
public
BaseResponse
<
String
>
settleApply
(
SettleQuery
query
)
{
LoginUser
loginUser
=
userService
.
getLoginUser
();
if
(
loginUser
==
null
)
{
return
BaseResponse
.
noLogin
(
"请登录账号"
);
}
Settle
settleApply
=
new
Settle
();
BeanUtils
.
copyProperties
(
query
,
settleApply
);
settleApply
.
setUserId
(
loginUser
.
getId
())
.
setStatus
(
0
)
.
setCreateTime
(
LocalDateTime
.
now
());
settleMapper
.
insert
(
settleApply
);
//保存选择设备信息
if
(
query
.
getEquipmentIdList
()
!=
null
&&
query
.
getEquipmentIdList
().
size
()
>
0
)
{
List
<
SettleEquipment
>
sdeList
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
query
.
getEquipmentIdList
().
size
();
i
++)
{
Equipment
equipment
=
equipmentMapper
.
selectById
(
query
.
getEquipmentIdList
().
get
(
i
));
if
(
equipment
==
null
)
{
return
BaseResponse
.
errorMsg
(
"设备信息错误"
);
}
SettleEquipment
sEquipment
=
new
SettleEquipment
();
sEquipment
.
setSettleId
(
settleApply
.
getId
())
.
setEquipmentId
(
equipment
.
getId
())
.
setEquipmentName
(
equipment
.
getName
())
.
setCreateTime
(
LocalDateTime
.
now
());
sdeList
.
add
(
sEquipment
);
}
settleEquipmentService
.
saveBatch
(
sdeList
);
}
//保存申请记录信息
SettleRecord
settleRecord
=
new
SettleRecord
();
settleRecord
.
setType
(
1
)
.
setSettleId
(
settleApply
.
getId
())
.
setUserId
(
loginUser
.
getId
())
.
setApprovalId
(
null
)
.
setStatus
(
0
)
.
setCreateTime
(
LocalDateTime
.
now
());
settleRecordMapper
.
insert
(
settleRecord
);
return
BaseResponse
.
okMsg
(
"成功"
);
}
/**
* 撤销
* @param settleId
* @return
*/
public
BaseResponse
<
String
>
revoke
(
Integer
settleId
)
{
LoginUser
loginUser
=
userService
.
getLoginUser
();
if
(
loginUser
==
null
)
{
return
BaseResponse
.
noLogin
(
"请登录账号"
);
}
if
(
settleId
==
null
)
{
return
BaseResponse
.
errorMsg
(
"参数错误"
);
}
Settle
settle
=
settleMapper
.
selectById
(
settleId
);
if
(
settle
==
null
)
{
return
BaseResponse
.
errorMsg
(
"信息错误"
);
}
if
(
loginUser
.
getId
()
!=
settle
.
getUserId
()){
return
BaseResponse
.
errorMsg
(
"登录账号不允许操作"
);
}
if
(
settle
.
getStatus
()
!=
0
)
{
return
BaseResponse
.
errorMsg
(
"当前状态不允许撤销"
);
}
settle
.
setStatus
(
5
);
//撤销
settleMapper
.
updateById
(
settle
);
return
BaseResponse
.
okMsg
(
"成功"
);
}
/**
* 延期申请
* @param query
* @return
*/
@Override
@Transactional
public
BaseResponse
<
String
>
delayApply
(
SettleDelayQuery
query
)
{
LoginUser
loginUser
=
userService
.
getLoginUser
();
if
(
loginUser
==
null
)
{
return
BaseResponse
.
noLogin
(
"请登录账号"
);
}
if
(
query
==
null
||
query
.
getSettleId
()
==
null
)
{
return
BaseResponse
.
errorMsg
(
"参数错误"
);
}
if
(
query
.
getDelayDate
()
==
null
)
{
return
BaseResponse
.
errorMsg
(
"请选择延至日期"
);
}
Settle
settle
=
settleMapper
.
selectById
(
query
.
getSettleId
());
if
(
settle
==
null
)
{
return
BaseResponse
.
errorMsg
(
"信息错误"
);
}
if
(
loginUser
.
getId
()
!=
settle
.
getUserId
()){
return
BaseResponse
.
errorMsg
(
"登录账号不允许操作"
);
}
if
(
settle
.
getStatus
()
!=
2
){
return
BaseResponse
.
errorMsg
(
"当前状态不允许申请延期"
);
}
settle
.
setDelayDate
(
query
.
getDelayDate
());
//保存申请记录信息
SettleRecord
settleRecord
=
new
SettleRecord
();
settleRecord
.
setType
(
2
)
.
setSettleId
(
settle
.
getId
())
.
setUserId
(
loginUser
.
getId
())
.
setApprovalId
(
null
)
.
setStatus
(
0
)
.
setCreateTime
(
LocalDateTime
.
now
());
settleRecordMapper
.
insert
(
settleRecord
);
settleMapper
.
updateById
(
settle
);
return
BaseResponse
.
okMsg
(
"成功"
);
}
/**
* 验收申请
* @param settleId
* @return
*/
@Override
@Transactional
public
BaseResponse
<
String
>
checkApply
(
Integer
settleId
)
{
LoginUser
loginUser
=
userService
.
getLoginUser
();
if
(
loginUser
==
null
)
{
return
BaseResponse
.
noLogin
(
"请登录账号"
);
}
if
(
settleId
==
null
)
{
return
BaseResponse
.
errorMsg
(
"参数错误"
);
}
Settle
settle
=
settleMapper
.
selectById
(
settleId
);
if
(
settle
==
null
)
{
return
BaseResponse
.
errorMsg
(
"信息错误"
);
}
if
(
loginUser
.
getId
()
!=
settle
.
getUserId
()){
return
BaseResponse
.
errorMsg
(
"登录账号不允许操作"
);
}
if
(
settle
.
getStatus
()
!=
2
){
return
BaseResponse
.
errorMsg
(
"当前状态不允许申请验收"
);
}
settle
.
setStatus
(
3
);
//保存申请记录信息
SettleRecord
settleRecord
=
new
SettleRecord
();
settleRecord
.
setType
(
3
)
.
setSettleId
(
settle
.
getId
())
.
setUserId
(
loginUser
.
getId
())
.
setApprovalId
(
null
)
.
setStatus
(
0
)
.
setCreateTime
(
LocalDateTime
.
now
());
settleRecordMapper
.
insert
(
settleRecord
);
settleMapper
.
updateById
(
settle
);
return
BaseResponse
.
okMsg
(
"成功"
);
}
/**
* 审批
* @param query
* @return
*/
@Override
@Transactional
public
BaseResponse
<
String
>
settleApproval
(
SettleApprovalQuery
query
)
{
LoginUser
loginUser
=
userService
.
getLoginUser
();
if
(
loginUser
==
null
)
{
return
BaseResponse
.
noLogin
(
"请登录账号"
);
}
List
<
Integer
>
approvalIdList
=
sysApprovalMapper
.
getApprovalId
(
"委托评审"
);
if
(
approvalIdList
==
null
)
{
return
BaseResponse
.
errorMsg
(
"委托评审信息错误"
);
}
if
(!
approvalIdList
.
contains
(
loginUser
.
getId
()))
{
return
BaseResponse
.
errorMsg
(
"权限不足"
);
}
if
(
query
==
null
||
query
.
getSettleId
()
==
null
||
query
.
getIsAgree
()
==
null
)
{
return
BaseResponse
.
errorMsg
(
"参数错误"
);
}
if
(
query
.
getType
()
==
null
)
{
return
BaseResponse
.
errorMsg
(
"审批类型必传"
);
}
Settle
settle
=
settleMapper
.
selectById
(
query
.
getSettleId
());
if
(
settle
==
null
)
{
return
BaseResponse
.
errorMsg
(
"信息错误"
);
}
if
(
query
.
getType
()
==
1
){
//入驻申请
if
(
settle
.
getStatus
()
!=
0
)
{
return
BaseResponse
.
errorMsg
(
"当前状态不允许审批"
);
}
//查找入驻申请记录
QueryWrapper
<
SettleRecord
>
srWrapper
=
new
QueryWrapper
<>();
srWrapper
.
eq
(
"type"
,
1
);
srWrapper
.
eq
(
"settle_id"
,
settle
.
getId
());
srWrapper
.
eq
(
"user_id"
,
settle
.
getUserId
());
srWrapper
.
eq
(
"status"
,
0
);
SettleRecord
record
=
settleRecordMapper
.
selectOne
(
srWrapper
);
if
(
record
==
null
){
return
BaseResponse
.
errorMsg
(
"申请记录不存在"
);
}
if
(
query
.
getIsAgree
()
==
1
)
{
//通过
settle
.
setStatus
(
2
);
//使用中
record
.
setApprovalId
(
loginUser
.
getId
()).
setOpinion
(
query
.
getOpinion
()).
setStatus
(
1
);
//通过
}
else
if
(
query
.
getIsAgree
()
==
2
)
{
//驳回
settle
.
setStatus
(
1
);
//未通过
record
.
setApprovalId
(
loginUser
.
getId
()).
setOpinion
(
query
.
getOpinion
()).
setStatus
(
2
);
//驳回
}
else
{
return
BaseResponse
.
errorMsg
(
"请选择正确按钮"
);
}
settleRecordMapper
.
updateById
(
record
);
}
else
if
(
query
.
getType
()
==
2
)
{
//延期申请
if
(
settle
.
getStatus
()
!=
2
)
{
return
BaseResponse
.
errorMsg
(
"当前状态不允许审批"
);
}
//查找延期申请记录
QueryWrapper
<
SettleRecord
>
srWrapper
=
new
QueryWrapper
<>();
srWrapper
.
eq
(
"type"
,
2
);
srWrapper
.
eq
(
"settle_id"
,
settle
.
getId
());
srWrapper
.
eq
(
"user_id"
,
settle
.
getUserId
());
srWrapper
.
eq
(
"status"
,
0
);
SettleRecord
record
=
settleRecordMapper
.
selectOne
(
srWrapper
);
if
(
record
==
null
){
return
BaseResponse
.
errorMsg
(
"申请记录不存在"
);
}
if
(
query
.
getIsAgree
()
==
1
)
{
//通过
settle
.
setLeaveDate
(
settle
.
getDelayDate
()).
setDelayDate
(
null
);
record
.
setApprovalId
(
loginUser
.
getId
()).
setOpinion
(
query
.
getOpinion
()).
setStatus
(
1
);
//通过
}
else
if
(
query
.
getIsAgree
()
==
2
)
{
//驳回
settle
.
setDelayDate
(
null
);
record
.
setApprovalId
(
loginUser
.
getId
()).
setOpinion
(
query
.
getOpinion
()).
setStatus
(
2
);
//驳回
}
else
{
return
BaseResponse
.
errorMsg
(
"请选择正确按钮"
);
}
settleRecordMapper
.
updateById
(
record
);
}
else
if
(
query
.
getType
()
==
3
)
{
//验收申请
if
(
settle
.
getStatus
()
!=
3
)
{
return
BaseResponse
.
errorMsg
(
"当前状态不允许审批"
);
}
//查找验收申请记录
QueryWrapper
<
SettleRecord
>
srWrapper
=
new
QueryWrapper
<>();
srWrapper
.
eq
(
"type"
,
3
);
srWrapper
.
eq
(
"settle_id"
,
settle
.
getId
());
srWrapper
.
eq
(
"user_id"
,
settle
.
getUserId
());
srWrapper
.
eq
(
"status"
,
0
);
SettleRecord
record
=
settleRecordMapper
.
selectOne
(
srWrapper
);
if
(
record
==
null
){
return
BaseResponse
.
errorMsg
(
"申请记录不存在"
);
}
settle
.
setStatus
(
4
);
if
(
query
.
getIsAgree
()
==
1
||
query
.
getIsAgree
()
==
2
)
{
record
.
setApprovalId
(
loginUser
.
getId
()).
setOpinion
(
query
.
getOpinion
()).
setStatus
(
query
.
getIsAgree
());
}
else
{
return
BaseResponse
.
errorMsg
(
"请选择正确验收结果"
);
}
settleRecordMapper
.
updateById
(
record
);
}
else
{
return
BaseResponse
.
errorMsg
(
"请传入正确审批类型"
);
}
settleMapper
.
updateById
(
settle
);
return
BaseResponse
.
okMsg
(
"成功"
);
}
}
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment