Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
csbr-daop
/
ms-data-circulation-portal-service
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
0be1ca7d
authored
2024-12-31 18:47:46 +0800
by
肖初晴
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
【DAOP-1.0】数据需求
【功能点】新增接口
1 parent
bcec1b99
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
631 additions
and
296 deletions
src/main/java/com/csbr/qingcloud/domain/vo/DemandQueryVO.java
src/main/java/com/csbr/qingcloud/mybatis/service/MfDemandService.java
src/main/java/com/csbr/qingcloud/controller/DemandController.java → src/main/java/com/csbr/qingcloud/portal/controller/DemandController.java
src/main/java/com/csbr/qingcloud/portal/domain/vo/DemandQueryVO.java
src/main/java/com/csbr/qingcloud/domain/vo/DemandRQVO.java → src/main/java/com/csbr/qingcloud/portal/domain/vo/DemandRQVO.java
src/main/java/com/csbr/qingcloud/domain/vo/DemandRSVO.java → src/main/java/com/csbr/qingcloud/portal/domain/vo/DemandRSVO.java
src/main/java/com/csbr/qingcloud/mybatis/entity/MfDemand.java → src/main/java/com/csbr/qingcloud/portal/mybatis/entity/MfDemand.java
src/main/java/com/csbr/qingcloud/mybatis/mapper/MfDemandMapper.java → src/main/java/com/csbr/qingcloud/portal/mybatis/mapper/MfDemandMapper.java
src/main/java/com/csbr/qingcloud/portal/mybatis/service/MfDemandService.java
src/main/java/com/csbr/qingcloud/mybatis/service/impl/MfDemandServiceImpl.java → src/main/java/com/csbr/qingcloud/portal/mybatis/service/impl/MfDemandServiceImpl.java
src/main/java/com/csbr/qingcloud/portal/service/DemandService.java
src/main/java/com/csbr/qingcloud/service/impl/DemandServiceImpl.java → src/main/java/com/csbr/qingcloud/portal/service/impl/DemandServiceImpl.java
src/main/java/com/csbr/qingcloud/service/DemandService.java
src/main/java/com/csbr/qingcloud/domain/vo/DemandQueryVO.java
deleted
100644 → 0
View file @
bcec1b9
package
com
.
csbr
.
qingcloud
.
domain
.
vo
;
import
csbr.cloud.entity.domain.base.dto.BasePageDTO
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.EqualsAndHashCode
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* @program: D:/csbr/sjzc/ms-data-circulation-portal-service
* @description: 查询参数
* @author: xushaobo
* @create: 2024-12-30 16:29
**/
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
@Schema
(
title
=
"查询参数"
)
public
class
DemandQueryVO
extends
BasePageDTO
{
}
src/main/java/com/csbr/qingcloud/mybatis/service/MfDemandService.java
deleted
100644 → 0
View file @
bcec1b9
package
com
.
csbr
.
qingcloud
.
mybatis
.
service
;
import
com.csbr.cloud.base.service.CsbrService
;
import
com.csbr.qingcloud.mybatis.entity.MfDemand
;
/**
* @program: D:/csbr/sjzc/ms-data-circulation-portal-service
* @description: 逻辑层接口
* @author: xushaobo
* @create: 2024-12-30 16:29
**/
public
interface
MfDemandService
extends
CsbrService
<
MfDemand
>
{
}
src/main/java/com/csbr/qingcloud/controller/DemandController.java
→
src/main/java/com/csbr/qingcloud/
portal/
controller/DemandController.java
View file @
0be1ca7
package
com
.
csbr
.
qingcloud
.
controller
;
package
com
.
csbr
.
qingcloud
.
portal
.
controller
;
import
com.csbr.cloud.common.response.CommonRes
;
import
csbr.cloud.entity.annotation.SystemLog
;
import
csbr.cloud.entity.domain.base.vo.PageListVO
;
import
com.csbr.qingcloud.domain.vo.DemandQueryVO
;
import
com.csbr.qingcloud.domain.vo.DemandRQVO
;
import
com.csbr.qingcloud.domain.vo.DemandRSVO
;
import
com.csbr.qingcloud.service.DemandService
;
import
com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO
;
import
com.csbr.qingcloud.portal.domain.vo.DemandQueryVO
;
import
com.csbr.qingcloud.portal.domain.vo.DemandRQVO
;
import
com.csbr.qingcloud.portal.domain.vo.DemandRSVO
;
import
com.csbr.qingcloud.portal.service.DemandService
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.Parameter
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
...
...
@@ -17,14 +18,14 @@ import org.springframework.web.bind.annotation.*;
import
java.util.List
;
/**
* @program: D:/
csbr/sjzc
/ms-data-circulation-portal-service
* @description: -控制器
* @author: x
ushaobo
* @create: 2024-12-3
0 16:29
* @program: D:/
git
/ms-data-circulation-portal-service
* @description:
数据需求
-控制器
* @author: x
cq
* @create: 2024-12-3
1 18:46
**/
@RestController
@RequestMapping
(
"/demand"
)
@Tag
(
name
=
"-控制器"
)
@Tag
(
name
=
"
数据需求
-控制器"
)
public
class
DemandController
{
@Resource
...
...
@@ -33,49 +34,57 @@ public class DemandController {
//region 基本操作
@PostMapping
(
"/save"
)
@SystemLog
(
value
=
"-新增"
)
@Operation
(
summary
=
"-新增"
)
@SystemLog
(
value
=
"
数据需求
-新增"
)
@Operation
(
summary
=
"
数据需求
-新增"
)
public
CommonRes
<
Boolean
>
saveDemand
(
@RequestBody
@Valid
DemandRQVO
vo
)
{
demandService
.
saveDemand
(
vo
);
return
CommonRes
.
success
(
true
);
}
@PutMapping
(
"/update"
)
@SystemLog
(
value
=
"-修改"
)
@Operation
(
summary
=
"-修改"
)
@SystemLog
(
value
=
"
数据需求
-修改"
)
@Operation
(
summary
=
"
数据需求
-修改"
)
public
CommonRes
<
Boolean
>
updateDemand
(
@RequestBody
@Valid
DemandRQVO
vo
)
{
demandService
.
updateDemand
(
vo
);
return
CommonRes
.
success
(
true
);
}
@DeleteMapping
(
"/delete"
)
@SystemLog
(
value
=
"-批量删除"
)
@Operation
(
summary
=
"-批量删除"
)
@SystemLog
(
value
=
"
数据需求
-批量删除"
)
@Operation
(
summary
=
"
数据需求
-批量删除"
)
public
CommonRes
<
Boolean
>
removeByGuids
(
@RequestBody
List
<
String
>
guids
)
{
demandService
.
removeByGuids
(
guids
);
return
CommonRes
.
success
(
true
);
}
@PostMapping
(
"/page-list"
)
@SystemLog
(
value
=
"-分页"
)
@Operation
(
summary
=
"-分页"
)
@SystemLog
(
value
=
"
数据需求
-分页"
)
@Operation
(
summary
=
"
数据需求
-分页"
)
public
CommonRes
<
PageListVO
<
DemandRSVO
>>
pageList
(
@RequestBody
@Valid
DemandQueryVO
queryVO
)
{
PageListVO
<
DemandRSVO
>
pageVO
=
demandService
.
pageList
(
queryVO
);
return
CommonRes
.
success
(
pageVO
);
}
@GetMapping
(
"/detail"
)
@SystemLog
(
value
=
"-详情"
)
@SystemLog
(
value
=
"
数据需求
-详情"
)
@Operation
(
summary
=
"-详情"
,
summary
=
"
数据需求
-详情"
,
parameters
=
{
@Parameter
(
name
=
"guid"
,
description
=
"唯一标识"
,
required
=
true
)}
@Parameter
(
name
=
"guid"
,
description
=
"
数据需求
唯一标识"
,
required
=
true
)}
)
public
CommonRes
<
DemandRSVO
>
getDemandDetail
(
@RequestParam
String
guid
)
{
DemandRSVO
vo
=
demandService
.
getDemandDetail
(
guid
);
return
CommonRes
.
success
(
vo
);
}
@PostMapping
(
"/flow-call-back"
)
@SystemLog
(
value
=
"数据需求-流程结束后进行业务回调"
)
@Operation
(
summary
=
"数据需求-流程结束后进行业务回调"
,
hidden
=
true
)
public
CommonRes
<
Boolean
>
flowCallBack
(
@RequestBody
@Valid
BizCallbackDTO
dto
)
{
demandService
.
flowCallBack
(
dto
);
return
CommonRes
.
success
(
true
);
}
//endregion
}
...
...
src/main/java/com/csbr/qingcloud/portal/domain/vo/DemandQueryVO.java
0 → 100644
View file @
0be1ca7
package
com
.
csbr
.
qingcloud
.
portal
.
domain
.
vo
;
import
com.csbr.cloud.workflow.domain.dto.appove.FlowBizGuidQueryDTO
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.EqualsAndHashCode
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.List
;
/**
* @program: D:/git/ms-data-circulation-portal-service
* @description: 数据需求查询参数
* @author: xcq
* @create: 2024-12-31 18:46
**/
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
@Schema
(
title
=
"数据需求查询参数"
)
public
class
DemandQueryVO
extends
FlowBizGuidQueryDTO
{
/**
* 业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃】
*/
@Schema
(
description
=
"业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃】"
)
private
String
bizApproveState
;
/******** 自定义扩展 *****/
/**
* 数据唯一标识【List集合】
*/
@Schema
(
description
=
"数据唯一标识"
,
hidden
=
true
)
private
List
<
String
>
guidList
;
/**
* 是否调用查询的判断
*/
@Schema
(
description
=
"是否调用查询的判断"
,
hidden
=
true
)
private
Boolean
isNeedQuery
;
}
src/main/java/com/csbr/qingcloud/domain/vo/DemandRQVO.java
→
src/main/java/com/csbr/qingcloud/
portal/
domain/vo/DemandRQVO.java
View file @
0be1ca7
package
com
.
csbr
.
qingcloud
.
domain
.
vo
;
package
com
.
csbr
.
qingcloud
.
portal
.
domain
.
vo
;
import
com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
...
...
@@ -7,20 +8,14 @@ import java.math.BigDecimal;
import
java.util.Date
;
/**
* @program: D:/
csbr/sjzc
/ms-data-circulation-portal-service
* @description: 新增、修改参数
* @author: x
ushaobo
* @create: 2024-12-3
0 16:29
* @program: D:/
git
/ms-data-circulation-portal-service
* @description:
数据需求
新增、修改参数
* @author: x
cq
* @create: 2024-12-3
1 18:46
**/
@Data
@Schema
(
title
=
"新增、修改参数"
)
public
class
DemandRQVO
{
/**
* 系统唯一标识
*/
@Schema
(
description
=
"系统唯一标识"
)
private
String
guid
;
@Schema
(
title
=
"数据需求新增、修改参数"
)
public
class
DemandRQVO
extends
FlowRQBaseVO
{
/**
* 数据需求名称
...
...
@@ -29,12 +24,24 @@ public class DemandRQVO {
private
String
dataDemandName
;
/**
* 需求类型
(1 产业端;2 科研端;3 临床端)
* 需求类型
*/
@Schema
(
description
=
"需求类型
(1 产业端;2 科研端;3 临床端)
"
)
@Schema
(
description
=
"需求类型"
)
private
String
requirementType
;
/**
* 需求分类【1新增 2调整】
*/
@Schema
(
description
=
"需求分类【1新增 2调整】"
)
private
String
demandCategory
;
/**
* 数据产品唯一标识
*/
@Schema
(
description
=
"数据产品唯一标识"
)
private
String
dataProductGuid
;
/**
* 需求开始时间
*/
@Schema
(
description
=
"需求开始时间"
)
...
...
@@ -55,16 +62,17 @@ public class DemandRQVO {
private
String
requirementContent
;
/**
* 数据需求字段
数据格式:[{"name":"","path":""},{"name":"","path":""}]
* 数据需求字段
【数据格式:[{"name":"","path":""},{"name":"","path":""}]】
*/
@Schema
(
description
=
"数据需求字段
数据格式:[{\"name\":\"\",\"path\":\"\"},{\"name\":\"\",\"path\":\"\"}]
"
)
@Schema
(
description
=
"数据需求字段
【数据格式:[{\"name\":\"\",\"path\":\"\"},{\"name\":\"\",\"path\":\"\"}]】
"
)
private
String
dataDemandFieldAttachJson
;
/**
* 期望交付时间
*/
@Schema
(
description
=
"期望交付时间"
)
private
BigDecimal
deliveryTime
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
deliveryTime
;
/**
* 最低预算
...
...
@@ -85,15 +93,15 @@ public class DemandRQVO {
private
String
costSource
;
/**
* 更新周期
* 更新周期
【取数据字典:周期,1 年度,2 半年度,3 季度,4 月度】
*/
@Schema
(
description
=
"更新周期"
)
@Schema
(
description
=
"更新周期
【取数据字典:周期,1 年度,2 半年度,3 季度,4 月度】
"
)
private
String
updateCycle
;
/**
* 获取路径方式
(1 接口调用;2 文件下载)
* 获取路径方式
*/
@Schema
(
description
=
"获取路径方式
(1 接口调用;2 文件下载)
"
)
@Schema
(
description
=
"获取路径方式"
)
private
String
requestType
;
/**
...
...
@@ -144,6 +152,56 @@ public class DemandRQVO {
@Schema
(
description
=
"联系方式"
)
private
String
contactInformation
;
/**
* 业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】
*/
@Schema
(
description
=
"业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】"
)
private
String
bizApproveState
;
/**
* 加工单生成时间
*/
@Schema
(
description
=
"加工单生成时间"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
processingGenerateTime
;
/**
* 验收完成时间
*/
@Schema
(
description
=
"验收完成时间"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
acceptFinishTime
;
/**
* 完成周期
*/
@Schema
(
description
=
"完成周期"
)
private
Integer
finishCycle
;
/**
* 资源获取状态【N未开始 A进行中 Y已完成】
*/
@Schema
(
description
=
"资源获取状态【N未开始 A进行中 Y已完成】"
)
private
String
resourceAcquisitionState
;
/**
* 产品加工状态【N未开始 A进行中 Y已完成】
*/
@Schema
(
description
=
"产品加工状态【N未开始 A进行中 Y已完成】"
)
private
String
productProcessingState
;
/**
* 产品交付状态【N未开始 A进行中 Y已完成】
*/
@Schema
(
description
=
"产品交付状态【N未开始 A进行中 Y已完成】"
)
private
String
productDeliveryState
;
/**
* 产品验收状态【N未开始 A进行中 Y已完成】
*/
@Schema
(
description
=
"产品验收状态【N未开始 A进行中 Y已完成】"
)
private
String
productAcceptState
;
/******** 库表存储属性 需处理 *****/
/******** 自定义扩展 *****/
...
...
src/main/java/com/csbr/qingcloud/domain/vo/DemandRSVO.java
→
src/main/java/com/csbr/qingcloud/
portal/
domain/vo/DemandRSVO.java
View file @
0be1ca7
package
com
.
csbr
.
qingcloud
.
domain
.
vo
;
package
com
.
csbr
.
qingcloud
.
portal
.
domain
.
vo
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
import
com.csbr.cloud.workflow.domain.vo.appove.BizApproveVO
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* @program: D:/
csbr/sjzc
/ms-data-circulation-portal-service
* @description: 返回参数
* @author: x
ushaobo
* @create: 2024-12-3
0 16:29
* @program: D:/
git
/ms-data-circulation-portal-service
* @description:
数据需求
返回参数
* @author: x
cq
* @create: 2024-12-3
1 18:46
**/
@Data
@Schema
(
title
=
"返回参数"
)
@Schema
(
title
=
"
数据需求
返回参数"
)
public
class
DemandRSVO
{
/**
...
...
@@ -29,12 +30,24 @@ public class DemandRSVO {
private
String
dataDemandName
;
/**
* 需求类型
(1 产业端;2 科研端;3 临床端)
* 需求类型
*/
@Schema
(
description
=
"需求类型
(1 产业端;2 科研端;3 临床端)
"
)
@Schema
(
description
=
"需求类型"
)
private
String
requirementType
;
/**
* 需求分类【1新增 2调整】
*/
@Schema
(
description
=
"需求分类【1新增 2调整】"
)
private
String
demandCategory
;
/**
* 数据产品唯一标识
*/
@Schema
(
description
=
"数据产品唯一标识"
)
private
String
dataProductGuid
;
/**
* 需求开始时间
*/
@Schema
(
description
=
"需求开始时间"
)
...
...
@@ -55,16 +68,17 @@ public class DemandRSVO {
private
String
requirementContent
;
/**
* 数据需求字段
数据格式:[{"name":"","path":""},{"name":"","path":""}]
* 数据需求字段
【数据格式:[{"name":"","path":""},{"name":"","path":""}]】
*/
@Schema
(
description
=
"数据需求字段
数据格式:[{\"name\":\"\",\"path\":\"\"},{\"name\":\"\",\"path\":\"\"}]
"
)
@Schema
(
description
=
"数据需求字段
【数据格式:[{\"name\":\"\",\"path\":\"\"},{\"name\":\"\",\"path\":\"\"}]】
"
)
private
String
dataDemandFieldAttachJson
;
/**
* 期望交付时间
*/
@Schema
(
description
=
"期望交付时间"
)
private
BigDecimal
deliveryTime
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
deliveryTime
;
/**
* 最低预算
...
...
@@ -85,15 +99,15 @@ public class DemandRSVO {
private
String
costSource
;
/**
* 更新周期
* 更新周期
【取数据字典:周期,1 年度,2 半年度,3 季度,4 月度】
*/
@Schema
(
description
=
"更新周期"
)
@Schema
(
description
=
"更新周期
【取数据字典:周期,1 年度,2 半年度,3 季度,4 月度】
"
)
private
String
updateCycle
;
/**
* 获取路径方式
(1 接口调用;2 文件下载)
* 获取路径方式
*/
@Schema
(
description
=
"获取路径方式
(1 接口调用;2 文件下载)
"
)
@Schema
(
description
=
"获取路径方式"
)
private
String
requestType
;
/**
...
...
@@ -144,10 +158,66 @@ public class DemandRSVO {
@Schema
(
description
=
"联系方式"
)
private
String
contactInformation
;
/**
* 业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】
*/
@Schema
(
description
=
"业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】"
)
private
String
bizApproveState
;
/**
* 加工单生成时间
*/
@Schema
(
description
=
"加工单生成时间"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
processingGenerateTime
;
/**
* 验收完成时间
*/
@Schema
(
description
=
"验收完成时间"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
acceptFinishTime
;
/**
* 完成周期
*/
@Schema
(
description
=
"完成周期"
)
private
Integer
finishCycle
;
/**
* 资源获取状态【N未开始 A进行中 Y已完成】
*/
@Schema
(
description
=
"资源获取状态【N未开始 A进行中 Y已完成】"
)
private
String
resourceAcquisitionState
;
/**
* 产品加工状态【N未开始 A进行中 Y已完成】
*/
@Schema
(
description
=
"产品加工状态【N未开始 A进行中 Y已完成】"
)
private
String
productProcessingState
;
/**
* 产品交付状态【N未开始 A进行中 Y已完成】
*/
@Schema
(
description
=
"产品交付状态【N未开始 A进行中 Y已完成】"
)
private
String
productDeliveryState
;
/**
* 产品验收状态【N未开始 A进行中 Y已完成】
*/
@Schema
(
description
=
"产品验收状态【N未开始 A进行中 Y已完成】"
)
private
String
productAcceptState
;
/******** 库表存储属性 需处理 *****/
/******** 自定义扩展 *****/
/**
* 审批信息
*/
@Schema
(
description
=
"审批信息"
)
private
BizApproveVO
approveVO
;
/******** 子对象 *****/
}
...
...
src/main/java/com/csbr/qingcloud/mybatis/entity/MfDemand.java
→
src/main/java/com/csbr/qingcloud/
portal/
mybatis/entity/MfDemand.java
View file @
0be1ca7
package
com
.
csbr
.
qingcloud
.
mybatis
.
entity
;
package
com
.
csbr
.
qingcloud
.
portal
.
mybatis
.
entity
;
import
com.baomidou.mybatisplus.annotation.FieldStrategy
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
csbr.cloud.entity.domain.base.dao.BaseShardingDO
;
import
jdk.jfr.Name
;
import
lombok.Data
;
...
...
@@ -9,15 +11,15 @@ import java.math.BigDecimal;
import
java.util.Date
;
/**
* @program: D:/
csbr/sjzc
/ms-data-circulation-portal-service
* @description: 实体
* @author: x
ushaobo
* @create: 2024-12-3
0 16:2
6
* @program: D:/
git
/ms-data-circulation-portal-service
* @description:
数据需求
实体
* @author: x
cq
* @create: 2024-12-3
1 18:4
6
**/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@Accessors
(
chain
=
true
)
@Name
(
""
)
@Name
(
"
数据需求
"
)
public
class
MfDemand
extends
BaseShardingDO
{
/**
...
...
@@ -27,12 +29,24 @@ public class MfDemand extends BaseShardingDO {
private
String
dataDemandName
;
/**
* 需求类型
(1 产业端;2 科研端;3 临床端)
* 需求类型
*/
@Name
(
"需求类型
(1 产业端;2 科研端;3 临床端)
"
)
@Name
(
"需求类型"
)
private
String
requirementType
;
/**
* 需求分类【1新增 2调整】
*/
@Name
(
"需求分类【1新增 2调整】"
)
private
String
demandCategory
;
/**
* 数据产品唯一标识
*/
@Name
(
"数据产品唯一标识"
)
private
String
dataProductGuid
;
/**
* 需求开始时间
*/
@Name
(
"需求开始时间"
)
...
...
@@ -51,16 +65,17 @@ public class MfDemand extends BaseShardingDO {
private
String
requirementContent
;
/**
* 数据需求字段
数据格式:[{"name":"","path":""},{"name":"","path":""}]
* 数据需求字段
【数据格式:[{"name":"","path":""},{"name":"","path":""}]】
*/
@Name
(
"数据需求字段 数据格式:[{\"name\":\"\",\"path\":\"\"},{\"name\":\"\",\"path\":\"\"}]"
)
@Name
(
"数据需求字段【数据格式:[{\"name\":\"\",\"path\":\"\"},{\"name\":\"\",\"path\":\"\"}]】"
)
@TableField
(
updateStrategy
=
FieldStrategy
.
ALWAYS
)
private
String
dataDemandFieldAttachJson
;
/**
* 期望交付时间
*/
@Name
(
"期望交付时间"
)
private
BigDecimal
deliveryTime
;
private
Date
deliveryTime
;
/**
* 最低预算
...
...
@@ -81,15 +96,15 @@ public class MfDemand extends BaseShardingDO {
private
String
costSource
;
/**
* 更新周期
* 更新周期
【取数据字典:周期,1 年度,2 半年度,3 季度,4 月度】
*/
@Name
(
"更新周期"
)
@Name
(
"更新周期
【取数据字典:周期,1 年度,2 半年度,3 季度,4 月度】
"
)
private
String
updateCycle
;
/**
* 获取路径方式
(1 接口调用;2 文件下载)
* 获取路径方式
*/
@Name
(
"获取路径方式
(1 接口调用;2 文件下载)
"
)
@Name
(
"获取路径方式"
)
private
String
requestType
;
/**
...
...
@@ -140,4 +155,52 @@ public class MfDemand extends BaseShardingDO {
@Name
(
"联系方式"
)
private
String
contactInformation
;
/**
* 业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】
*/
@Name
(
"业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】"
)
private
String
bizApproveState
;
/**
* 加工单生成时间
*/
@Name
(
"加工单生成时间"
)
private
Date
processingGenerateTime
;
/**
* 验收完成时间
*/
@Name
(
"验收完成时间"
)
private
Date
acceptFinishTime
;
/**
* 完成周期
*/
@Name
(
"完成周期"
)
private
Integer
finishCycle
;
/**
* 资源获取状态【N未开始 A进行中 Y已完成】
*/
@Name
(
"资源获取状态【N未开始 A进行中 Y已完成】"
)
private
String
resourceAcquisitionState
;
/**
* 产品加工状态【N未开始 A进行中 Y已完成】
*/
@Name
(
"产品加工状态【N未开始 A进行中 Y已完成】"
)
private
String
productProcessingState
;
/**
* 产品交付状态【N未开始 A进行中 Y已完成】
*/
@Name
(
"产品交付状态【N未开始 A进行中 Y已完成】"
)
private
String
productDeliveryState
;
/**
* 产品验收状态【N未开始 A进行中 Y已完成】
*/
@Name
(
"产品验收状态【N未开始 A进行中 Y已完成】"
)
private
String
productAcceptState
;
}
...
...
src/main/java/com/csbr/qingcloud/mybatis/mapper/MfDemandMapper.java
→
src/main/java/com/csbr/qingcloud/
portal/
mybatis/mapper/MfDemandMapper.java
View file @
0be1ca7
package
com
.
csbr
.
qingcloud
.
mybatis
.
mapper
;
package
com
.
csbr
.
qingcloud
.
portal
.
mybatis
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
com.csbr.qingcloud.mybatis.entity.MfDemand
;
import
com.csbr.qingcloud.
portal.
mybatis.entity.MfDemand
;
/**
* @program: D:/
csbr/sjzc
/ms-data-circulation-portal-service
* @description: Mapper 接口
* @author: x
ushaobo
* @create: 2024-12-3
0 16:29
* @program: D:/
git
/ms-data-circulation-portal-service
* @description:
数据需求
Mapper 接口
* @author: x
cq
* @create: 2024-12-3
1 18:46
**/
@Mapper
public
interface
MfDemandMapper
extends
BaseMapper
<
MfDemand
>
{
...
...
src/main/java/com/csbr/qingcloud/portal/mybatis/service/MfDemandService.java
0 → 100644
View file @
0be1ca7
package
com
.
csbr
.
qingcloud
.
portal
.
mybatis
.
service
;
import
com.csbr.cloud.base.service.CsbrService
;
import
com.csbr.qingcloud.portal.mybatis.entity.MfDemand
;
/**
* @program: D:/git/ms-data-circulation-portal-service
* @description: 数据需求逻辑层接口
* @author: xcq
* @create: 2024-12-31 18:46
**/
public
interface
MfDemandService
extends
CsbrService
<
MfDemand
>
{
}
src/main/java/com/csbr/qingcloud/mybatis/service/impl/MfDemandServiceImpl.java
→
src/main/java/com/csbr/qingcloud/
portal/
mybatis/service/impl/MfDemandServiceImpl.java
View file @
0be1ca7
package
com
.
csbr
.
qingcloud
.
mybatis
.
service
.
impl
;
package
com
.
csbr
.
qingcloud
.
portal
.
mybatis
.
service
.
impl
;
import
com.csbr.cloud.mybatis.service.impl.CsbrServiceImpl
;
import
com.csbr.qingcloud.mybatis.mapper.MfDemandMapper
;
import
com.csbr.qingcloud.mybatis.entity.MfDemand
;
import
com.csbr.qingcloud.mybatis.service.MfDemandService
;
import
com.csbr.qingcloud.
portal.
mybatis.mapper.MfDemandMapper
;
import
com.csbr.qingcloud.
portal.
mybatis.entity.MfDemand
;
import
com.csbr.qingcloud.
portal.
mybatis.service.MfDemandService
;
import
jakarta.annotation.Resource
;
import
org.springframework.stereotype.Service
;
/**
* @program: D:/
csbr/sjzc
/ms-data-circulation-portal-service
* @description: 逻辑层接口实现
* @author: x
ushaobo
* @create: 2024-12-3
0 16:29
* @program: D:/
git
/ms-data-circulation-portal-service
* @description:
数据需求
逻辑层接口实现
* @author: x
cq
* @create: 2024-12-3
1 18:46
**/
@Service
public
class
MfDemandServiceImpl
extends
CsbrServiceImpl
<
MfDemandMapper
,
MfDemand
>
implements
MfDemandService
{
...
...
src/main/java/com/csbr/qingcloud/portal/service/DemandService.java
0 → 100644
View file @
0be1ca7
package
com
.
csbr
.
qingcloud
.
portal
.
service
;
import
csbr.cloud.entity.domain.base.vo.PageListVO
;
import
com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO
;
import
com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO
;
import
com.csbr.qingcloud.portal.domain.vo.DemandQueryVO
;
import
com.csbr.qingcloud.portal.domain.vo.DemandRSVO
;
import
java.util.List
;
/**
* @program: D:/git/ms-data-circulation-portal-service
* @description: 数据需求业务逻辑接口
* @author: xcq
* @create: 2024-12-31 18:46
**/
public
interface
DemandService
{
/**
* 数据需求分页查询
* @author xcq
* @date 2024-12-31 18:46
* @param queryVO
* @return com.csbr.cloud.mybatis.entity.PageListVO<com.csbr.qingcloud.portal.domain.vo.DemandRSVO>
*/
PageListVO
<
DemandRSVO
>
pageList
(
DemandQueryVO
queryVO
);
/**
* 数据需求获取详情数据
* @author xcq
* @date 2024-12-31 18:46
* @param guid
* @return com.csbr.qingcloud.portal.domain.vo.DemandRSVO
*/
DemandRSVO
getDemandDetail
(
String
guid
);
/**
* 数据需求数据新增
* @author xcq
* @date 2024-12-31 18:46
* @param flowBaseVO
* @return void
*/
void
saveDemand
(
FlowRQBaseVO
flowBaseVO
);
/**
* 数据需求数据修改
* @author xcq
* @date 2024-12-31 18:46
* @param flowBaseVO
* @return void
*/
void
updateDemand
(
FlowRQBaseVO
flowBaseVO
);
/**
* 数据需求数据删除、并有相关的处理操作
* @author xcq
* @date 2024-12-31 18:46
* @param guids
* @return void
*/
void
removeByGuids
(
List
<
String
>
guids
);
/**
* 流程结束后进行业务回调
* @author xcq
* @date 2024-12-31 18:46
* @param dto
* @return void
*/
void
flowCallBack
(
BizCallbackDTO
dto
);
}
src/main/java/com/csbr/qingcloud/service/impl/DemandServiceImpl.java
→
src/main/java/com/csbr/qingcloud/
portal/
service/impl/DemandServiceImpl.java
View file @
0be1ca7
package
com
.
csbr
.
qingcloud
.
service
.
impl
;
package
com
.
csbr
.
qingcloud
.
portal
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.csbr.cloud.common.enums.SystemError
;
import
com.csbr.cloud.common.enums.WorkFlowBizEnum
;
import
csbr.cloud.entity.enums.ApprovalStateEnum
;
import
com.csbr.cloud.common.exception.CsbrSystemException
;
import
com.csbr.cloud.common.util.CommonUtil
;
import
com.csbr.cloud.common.util.CsbrBeanUtil
;
import
com.csbr.cloud.workflow.util.ApprovalFlowUtil
;
import
com.csbr.cloud.workflow.util.FlowAbstractImpl
;
import
com.csbr.cloud.common.util.MessageSourceUtil
;
import
csbr.cloud.entity.domain.base.vo.PageListVO
;
import
com.csbr.qingcloud.domain.vo.DemandQueryVO
;
import
com.csbr.qingcloud.domain.vo.DemandRQVO
;
import
com.csbr.qingcloud.domain.vo.DemandRSVO
;
import
com.csbr.qingcloud.mybatis.entity.MfDemand
;
import
com.csbr.qingcloud.mybatis.service.MfDemandService
;
import
com.csbr.qingcloud.service.DemandService
;
import
com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO
;
import
com.csbr.cloud.workflow.domain.dto.appove.AddApprovalDTO
;
import
com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO
;
import
com.csbr.qingcloud.portal.domain.vo.DemandQueryVO
;
import
com.csbr.qingcloud.portal.domain.vo.DemandRQVO
;
import
com.csbr.qingcloud.portal.domain.vo.DemandRSVO
;
import
com.csbr.qingcloud.portal.mybatis.entity.MfDemand
;
import
com.csbr.qingcloud.portal.mybatis.service.MfDemandService
;
import
com.csbr.qingcloud.portal.service.DemandService
;
import
jakarta.annotation.Resource
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
import
io.seata.spring.annotation.GlobalTransactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.ArrayList
;
...
...
@@ -25,19 +34,24 @@ import java.util.Collections;
import
java.util.List
;
/**
* @program: D:/
csbr/sjzc
/ms-data-circulation-portal-service
* @description: 业务逻辑实现
* @author: x
ushaobo
* @create: 2024-12-3
0 16:30
* @program: D:/
git
/ms-data-circulation-portal-service
* @description:
数据需求
业务逻辑实现
* @author: x
cq
* @create: 2024-12-3
1 18:46
**/
@Slf4j
@Service
public
class
DemandServiceImpl
implements
DemandService
{
public
class
DemandServiceImpl
extends
FlowAbstractImpl
implements
DemandService
{
/**
* 功能名称
*/
private
static
final
String
FUNCTION_NAME
=
""
;
private
static
final
String
FUNCTION_NAME
=
"数据需求"
;
/**
* 流程类型
*/
private
static
final
String
FLOW_TYPE
=
WorkFlowBizEnum
.
FLOW_TYPE
.
getValue
();
@Resource
private
MfDemandService
mfDemandService
;
...
...
@@ -46,32 +60,40 @@ public class DemandServiceImpl implements DemandService {
private
CsbrBeanUtil
csbrBeanUtil
;
@Resource
private
ApprovalFlowUtil
approvalFlowUtil
;
@Resource
private
MessageSourceUtil
messageSourceUtil
;
/**
* 分页查询
* @author x
ushaobo
* @date 2024-12-3
0 16:30
*
数据需求
分页查询
* @author x
cq
* @date 2024-12-3
1 18:46
* @param queryVO
* @return com.csbr.cloud.mybatis.entity.PageListVO<com.csbr.qingcloud.domain.vo.DemandRSVO>
* @return com.csbr.cloud.mybatis.entity.PageListVO<com.csbr.qingcloud.
portal.
domain.vo.DemandRSVO>
*/
@Override
public
PageListVO
<
DemandRSVO
>
pageList
(
DemandQueryVO
queryVO
)
{
beforeQuery
(
queryVO
);
if
(
queryVO
.
getIsNeedQuery
())
{
LambdaQueryWrapper
<
MfDemand
>
queryWrapper
=
mfDemandService
.
csbrQueryWrapper
(
queryVO
,
MfDemand
.
class
);
queryWrapper
.
in
(
CollectionUtils
.
isNotEmpty
(
queryVO
.
getGuidList
()),
MfDemand:
:
getGuid
,
queryVO
.
getGuidList
());
queryWrapper
.
orderByDesc
(
MfDemand:
:
getCreateTime
);
PageListVO
<
MfDemand
>
pageList
=
mfDemandService
.
csbrPageList
(
queryVO
,
queryWrapper
);
PageListVO
<
DemandRSVO
>
rsPageList
=
csbrBeanUtil
.
convert
(
pageList
,
PageListVO
.
class
);
afterQuery
(
pageList
,
rsPageList
);
return
rsPageList
;
}
return
new
PageListVO
<>();
}
/**
* 获取详情数据
* @author x
ushaobo
* @date 2024-12-3
0 16:30
*
数据需求
获取详情数据
* @author x
cq
* @date 2024-12-3
1 18:46
* @param guid
* @return com.csbr.qingcloud.domain.vo.DemandRSVO
* @return com.csbr.qingcloud.
portal.
domain.vo.DemandRSVO
*/
@Override
public
DemandRSVO
getDemandDetail
(
String
guid
)
{
...
...
@@ -88,79 +110,99 @@ public class DemandServiceImpl implements DemandService {
}
/**
* 数据新增
* @author x
ushaobo
* @date 2024-12-3
0 16:30
* @param
rq
VO
* @return
boolean
* 数据
需求数据
新增
* @author x
cq
* @date 2024-12-3
1 18:46
* @param
flowBase
VO
* @return
void
*/
@GlobalTransactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
saveDemand
(
DemandRQVO
rqVO
)
{
public
void
saveDemand
(
FlowRQBaseVO
flowBaseVO
)
{
DemandRQVO
rqVO
=
(
DemandRQVO
)
flowBaseVO
;
beforeSave
(
rqVO
);
MfDemand
entity
=
convertToEntity
(
rqVO
);
// 发起审批流程或保存草稿
AddApprovalDTO
approvalDTO
=
getAddApprovalDTO
(
entity
);
super
.
startWorkFlow
(
rqVO
,
approvalDTO
,
entity:
:
setBizApproveState
);
// 业务数据保存
boolean
flag
=
mfDemandService
.
save
(
entity
);
if
(!
flag
)
{
throw
new
CsbrSystemException
(
SystemError
.
DATA_ADD_ERROR
,
messageSourceUtil
.
addMessage
(
FUNCTION_NAME
));
throw
new
CsbrSystemException
(
SystemError
.
DATA_ADD_ERROR
,
rqVO
.
getImmediateApprove
()
?
messageSourceUtil
.
submitMessage
(
FUNCTION_NAME
)
:
messageSourceUtil
.
addMessage
(
FUNCTION_NAME
));
}
afterSave
(
rqVO
,
entity
);
afterSave
(
entity
,
rqVO
);
}
/**
* 数据修改
* @author x
ushaobo
* @date 2024-12-3
0 16:30
* @param
rq
VO
* @return
boolean
* 数据
需求数据
修改
* @author x
cq
* @date 2024-12-3
1 18:46
* @param
flowBase
VO
* @return
void
*/
@GlobalTransactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
updateDemand
(
DemandRQVO
rq
VO
)
{
beforeUpdate
(
rqVO
)
;
public
void
updateDemand
(
FlowRQBaseVO
flowBase
VO
)
{
DemandRQVO
rqVO
=
(
DemandRQVO
)
flowBaseVO
;
// 将修改前数据查出来缓存下来,传入到修改后方法中,用于一些特殊逻辑处理,如某个值变化才进行
// MfDemand oldEntity = mfDemandService.getById(rqVO.getGuid());
beforeUpdate
(
rqVO
);
MfDemand
entity
=
convertToEntity
(
rqVO
);
// 发起审批流程或保存草稿
AddApprovalDTO
approvalDTO
=
getAddApprovalDTO
(
entity
);
super
.
startOrRestartWorkFlow
(
rqVO
,
rqVO
.
getBizApproveState
(),
approvalDTO
,
entity:
:
setBizApproveState
);
if
(
rqVO
.
getIsRestart
())
{
// 重新提交
againSubmitFlow
(
entity
,
rqVO
,
approvalDTO
);
}
else
{
// 修改业务数据
boolean
flag
=
mfDemandService
.
updateById
(
entity
);
if
(!
flag
)
{
throw
new
CsbrSystemException
(
SystemError
.
DATA_UPDATE_ERROR
,
messageSourceUtil
.
updateMessage
(
FUNCTION_NAME
));
throw
new
CsbrSystemException
(
SystemError
.
DATA_UPDATE_ERROR
,
rqVO
.
getImmediateApprove
()
?
messageSourceUtil
.
submitMessage
(
FUNCTION_NAME
)
:
messageSourceUtil
.
updateMessage
(
FUNCTION_NAME
));
}
afterUpdate
(
entity
,
rqVO
);
}
afterUpdate
(
rqVO
,
entity
);
}
/**
* 数据删除
* @author xushaobo
* @date 2024-12-30 16:30
* @param guids
* 重新提交数据需求
* @author xcq
* @date 2024-12-31 18:46
* @param entity
* @param rqVO
* @param approvalDTO
* @return void
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
removeByGuids
(
List
<
String
>
guids
)
{
if
(
CollectionUtils
.
isEmpty
(
guids
))
{
// W00012 = {0}:参数[{1}]不能为空!
throw
new
CsbrSystemException
(
SystemError
.
DATA_INPUT_ERROR
,
messageSourceUtil
.
getMessage
(
"W00012"
,
String
.
format
(
"删除%s数据"
,
FUNCTION_NAME
),
"数据唯一标识"
));
}
if
(!
mfDemandService
.
isExistsData
(
guids
,
MfDemand
.
class
))
{
throw
new
CsbrSystemException
(
SystemError
.
DATA_DEL_ERROR
,
messageSourceUtil
.
notExistsToDelMessage
(
FUNCTION_NAME
));
}
boolean
flag
=
mfDemandService
.
csbrDeleteData
(
guids
,
MfDemand
.
class
);
private
void
againSubmitFlow
(
MfDemand
entity
,
DemandRQVO
rqVO
,
AddApprovalDTO
approvalDTO
)
{
// 重新提交的数据重置相关字段
entity
.
setGuid
(
CommonUtil
.
newGuid
());
mfDemandService
.
csbrBaseEntity
(
entity
);
// 保存新数据
boolean
flag
=
mfDemandService
.
save
(
entity
);
if
(!
flag
)
{
throw
new
CsbrSystemException
(
SystemError
.
DATA_
DEL_ERROR
,
messageSourceUtil
.
delMessage
(
FUNCTION_NAME
));
throw
new
CsbrSystemException
(
SystemError
.
DATA_
ADD_ERROR
,
messageSourceUtil
.
addMessage
(
String
.
format
(
"重新提交%s"
,
FUNCTION_NAME
)
));
}
// 发起新的流程
approvalDTO
.
setGuid
(
entity
.
getGuid
());
approvalFlowUtil
.
addApproval
(
approvalDTO
);
afterSave
(
entity
,
rqVO
);
}
/**
*
数据删除、并有相关的处理操作
* @author xushaobo
* @date 2024-12-30 16:30
* 数据需求
数据删除、并有相关的处理操作
* @author xcq
* @date 2024-12-31 18:46
* @param guids
* @return void
*/
@GlobalTransactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
remove
Handle
ByGuids
(
List
<
String
>
guids
)
{
public
void
removeByGuids
(
List
<
String
>
guids
)
{
if
(
CollectionUtils
.
isEmpty
(
guids
))
{
// W00012 = {0}:参数[{1}]不能为空!
throw
new
CsbrSystemException
(
SystemError
.
DATA_INPUT_ERROR
,
messageSourceUtil
.
getMessage
(
"W00012"
,
...
...
@@ -175,12 +217,63 @@ public class DemandServiceImpl implements DemandService {
}
afterRemove
(
entity
);
}
// 删除流程数据
approvalFlowUtil
.
removeApproveByBizGuids
(
guids
);
}
/**
* 流程结束后进行业务回调
* @author xcq
* @date 2024-12-31 18:46
* @param dto
* @return void
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
flowCallBack
(
BizCallbackDTO
dto
)
{
MfDemand
entity
=
mfDemandService
.
getById
(
dto
.
getBizGuid
());
if
(
entity
==
null
)
{
throw
new
CsbrSystemException
(
SystemError
.
DATA_NOT_EXISTS
,
messageSourceUtil
.
notExistsToSelectMessage
(
FUNCTION_NAME
));
}
if
(
ApprovalStateEnum
.
PASSED
.
getValue
().
equals
(
dto
.
getApprovalState
()))
{
// todo
}
// 同步更新审批状态
LambdaUpdateWrapper
<
MfDemand
>
updateWrapper
=
mfDemandService
.
csbrUpdateWrapper
(
MfDemand
.
class
);
updateWrapper
.
set
(
MfDemand:
:
getBizApproveState
,
dto
.
getApprovalState
());
updateWrapper
.
eq
(
MfDemand:
:
getGuid
,
dto
.
getBizGuid
());
boolean
flag
=
mfDemandService
.
update
(
updateWrapper
);
if
(!
flag
)
{
throw
new
CsbrSystemException
(
SystemError
.
DATA_UPDATE_ERROR
,
messageSourceUtil
.
updateMessage
(
String
.
format
(
"%s的业务审批状态"
,
FUNCTION_NAME
)));
}
}
/**
* 获取发起流程参数
* @author xcq
* @date 2024-12-31 18:46
* @param entity
* @return com.csbr.cloud.workflow.domain.dto.appove.AddApprovalDTO
*/
private
AddApprovalDTO
getAddApprovalDTO
(
MfDemand
entity
)
{
AddApprovalDTO
approvalDTO
=
new
AddApprovalDTO
(
FLOW_TYPE
,
entity
.
getGuid
());
// todo
approvalDTO
.
setFuncCode
(
SysFuncCode
);
// 流程消息中的变量替换参数
approvalDTO
.
setFlowMessageBody
(
null
);
// 流程列表数据核心param参数处理
approvalDTO
.
setParam1
(
null
);
approvalDTO
.
setParam2
(
null
);
approvalDTO
.
setParam3
(
null
);
approvalDTO
.
setParam4
(
null
);
return
approvalDTO
;
}
/**
* 新新增前置处理
* @author x
ushaobo
* @date 2024-12-3
0 16:30
*
数据需求
新新增前置处理
* @author x
cq
* @date 2024-12-3
1 18:46
* @param rqVO
* @return void
*/
...
...
@@ -220,14 +313,14 @@ public class DemandServiceImpl implements DemandService {
}
/**
* 新增后置处理
* @author xushaobo
* @date 2024-12-30 16:30
* @param rqVO
* 数据需求新增后置处理
* @author xcq
* @date 2024-12-31 18:46
* @param entity
* @param rqVO
* @return void
*/
private
void
afterSave
(
DemandRQVO
rqVO
,
MfDemand
entity
)
{
private
void
afterSave
(
MfDemand
entity
,
DemandRQVO
rqVO
)
{
//region 1.输出特殊转换
//region 1.1.输出过滤与补充处理
...
...
@@ -237,9 +330,9 @@ public class DemandServiceImpl implements DemandService {
}
/**
* 修改前置校验、处理
* @author x
ushaobo
* @date 2024-12-3
0 16:30
*
数据需求
修改前置校验、处理
* @author x
cq
* @date 2024-12-3
1 18:46
* @param rqVO
* @return void
*/
...
...
@@ -256,8 +349,12 @@ public class DemandServiceImpl implements DemandService {
//endregion 2.1.业务合规性验证
//region 2.2.业务数据验证
if
(!
mfDemandService
.
isExistsData
(
Collections
.
singletonList
(
rqVO
.
getGuid
()),
MfDemand
.
class
))
{
throw
new
CsbrSystemException
(
SystemError
.
DATA_DEL_ERROR
,
messageSourceUtil
.
notExistsToUpdateMessage
(
FUNCTION_NAME
));
LambdaQueryWrapper
<
MfDemand
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
MfDemand:
:
getGuid
,
rqVO
.
getGuid
());
queryWrapper
.
select
(
MfDemand:
:
getGuid
,
MfDemand:
:
getBizApproveState
);
MfDemand
entity
=
mfDemandService
.
getOne
(
queryWrapper
);
if
(
entity
==
null
)
{
throw
new
CsbrSystemException
(
SystemError
.
DATA_NOT_EXISTS
,
messageSourceUtil
.
notExistsToUpdateMessage
(
FUNCTION_NAME
));
}
//endregion 2.2.业务数据验证
...
...
@@ -266,6 +363,7 @@ public class DemandServiceImpl implements DemandService {
//region 3.数据转换处理
//region 3.1.数据过程转换
rqVO
.
setBizApproveState
(
entity
.
getBizApproveState
());
//endregion 3.1.数据过程转换
//endregion 3.数据转换处理
...
...
@@ -285,14 +383,14 @@ public class DemandServiceImpl implements DemandService {
}
/**
* 修改后置处理
* @author xushaobo
* @date 2024-12-30 16:30
* @param rqVO
* 数据需求修改后置处理
* @author xcq
* @date 2024-12-31 18:46
* @param entity
* @param rqVO
* @return void
*/
protected
void
afterUpdate
(
DemandRQVO
rqVO
,
MfDemand
entity
)
{
protected
void
afterUpdate
(
MfDemand
entity
,
DemandRQVO
rqVO
)
{
//region 1.输出特殊转换
//region 1.1.输出过滤与补充处理
...
...
@@ -303,9 +401,9 @@ public class DemandServiceImpl implements DemandService {
/**
* 删除前置处理
* @author x
ushaobo
* @date 2024-12-3
0 16:30
*
数据需求
删除前置处理
* @author x
cq
* @date 2024-12-3
1 18:46
* @param entity
* @return void
*/
...
...
@@ -313,12 +411,16 @@ public class DemandServiceImpl implements DemandService {
if
(
entity
==
null
)
{
throw
new
CsbrSystemException
(
SystemError
.
DATA_DEL_ERROR
,
messageSourceUtil
.
notExistsToDelMessage
(
FUNCTION_NAME
));
}
if
(
ApprovalStateEnum
.
CHECKING
.
getValue
().
equals
(
entity
.
getBizApproveState
())
||
ApprovalStateEnum
.
PASSED
.
getValue
().
equals
(
entity
.
getBizApproveState
()))
{
throw
new
CsbrSystemException
(
SystemError
.
DATA_DEL_ERROR
,
"审批中和审批通过的数据不能删除!"
);
}
}
/**
* 删除后置处理
* @author x
ushaobo
* @date 2024-12-3
0 16:30
*
数据需求
删除后置处理
* @author x
cq
* @date 2024-12-3
1 18:46
* @param entity
* @return void
*/
...
...
@@ -327,20 +429,29 @@ public class DemandServiceImpl implements DemandService {
}
/**
* 查询方法前置验证、处理
* @author x
ushaobo
* @date 2024-12-3
0 16:30
*
数据需求
查询方法前置验证、处理
* @author x
cq
* @date 2024-12-3
1 18:46
* @param rqQueryVO
* @return void
*/
private
void
beforeQuery
(
DemandQueryVO
rqQueryVO
)
{
rqQueryVO
.
setIsNeedQuery
(
true
);
if
(
approvalFlowUtil
.
isQueryBizGuid
(
rqQueryVO
))
{
rqQueryVO
.
setFlowType
(
FLOW_TYPE
);
List
<
String
>
bizGuidList
=
approvalFlowUtil
.
getApprovalBizGuids
(
rqQueryVO
);
if
(
CollectionUtils
.
isEmpty
(
bizGuidList
))
{
rqQueryVO
.
setIsNeedQuery
(
false
);
}
else
{
rqQueryVO
.
setGuidList
(
bizGuidList
);
}
}
}
/**
* 查询方法后置数据转换、处理
* @author x
ushaobo
* @date 2024-12-3
0 16:30
*
数据需求
查询方法后置数据转换、处理
* @author x
cq
* @date 2024-12-3
1 18:46
* @param pageList 数据库查询数据
* @param rsPageList 返回的最终数据
* @return void
...
...
@@ -363,11 +474,11 @@ public class DemandServiceImpl implements DemandService {
//region 辅助操作
/**
* 实体数据转换为视图对象数据(多个)
* @author x
ushaobo
* @date 2024-12-3
0 16:30
*
数据需求
实体数据转换为视图对象数据(多个)
* @author x
cq
* @date 2024-12-3
1 18:46
* @param entityList 实体数据列表
* @return java.util.List<com.csbr.qingcloud.domain.vo.DemandRSVO> 视图对象列表
* @return java.util.List<com.csbr.qingcloud.
portal.
domain.vo.DemandRSVO> 视图对象列表
*/
private
List
<
DemandRSVO
>
convertToVO
(
List
<
MfDemand
>
entityList
)
{
if
(
CollectionUtils
.
isEmpty
(
entityList
))
{
...
...
@@ -384,23 +495,25 @@ public class DemandServiceImpl implements DemandService {
}
/**
* 实体数据转换为视图对象数据
* @author x
ushaobo
* @date 2024-12-3
0 16:30
*
数据需求
实体数据转换为视图对象数据
* @author x
cq
* @date 2024-12-3
1 18:46
* @param entity
* @return com.csbr.qingcloud.domain.vo.DemandRSVO
* @return com.csbr.qingcloud.
portal.
domain.vo.DemandRSVO
*/
private
DemandRSVO
convertToVO
(
MfDemand
entity
)
{
DemandRSVO
vo
=
csbrBeanUtil
.
convert
(
entity
,
DemandRSVO
.
class
);
//流程数据处理
vo
.
setApproveVO
(
approvalFlowUtil
.
getApprovalInfo
(
entity
.
getGuid
()));
return
vo
;
}
/**
* 新增、修改和其他情况的参数转换为实体
* @author x
ushaobo
* @date 2024-12-3
0 16:30
*
数据需求
新增、修改和其他情况的参数转换为实体
* @author x
cq
* @date 2024-12-3
1 18:46
* @param vo
* @return com.csbr.qingcloud.mybatis.entity.MfDemand
* @return com.csbr.qingcloud.
portal.
mybatis.entity.MfDemand
*/
private
MfDemand
convertToEntity
(
DemandRQVO
vo
)
{
MfDemand
entity
=
csbrBeanUtil
.
convert
(
vo
,
MfDemand
.
class
);
...
...
src/main/java/com/csbr/qingcloud/service/DemandService.java
deleted
100644 → 0
View file @
bcec1b9
package
com
.
csbr
.
qingcloud
.
service
;
import
csbr.cloud.entity.domain.base.vo.PageListVO
;
import
com.csbr.qingcloud.domain.vo.DemandQueryVO
;
import
com.csbr.qingcloud.domain.vo.DemandRQVO
;
import
com.csbr.qingcloud.domain.vo.DemandRSVO
;
import
java.util.List
;
/**
* @program: D:/csbr/sjzc/ms-data-circulation-portal-service
* @description: 业务逻辑接口
* @author: xushaobo
* @create: 2024-12-30 16:31
**/
public
interface
DemandService
{
/**
* 分页查询
* @author xushaobo
* @date 2024-12-30 16:31
* @param queryVO
* @return com.csbr.cloud.mybatis.entity.PageListVO<com.csbr.qingcloud.domain.vo.DemandRSVO>
*/
PageListVO
<
DemandRSVO
>
pageList
(
DemandQueryVO
queryVO
);
/**
* 获取详情数据
* @author xushaobo
* @date 2024-12-30 16:31
* @param guid
* @return com.csbr.qingcloud.domain.vo.DemandRSVO
*/
DemandRSVO
getDemandDetail
(
String
guid
);
/**
* 数据新增
* @author xushaobo
* @date 2024-12-30 16:31
* @param rqVO
* @return boolean
*/
void
saveDemand
(
DemandRQVO
rqVO
);
/**
* 数据修改
* @author xushaobo
* @date 2024-12-30 16:31
* @param rqVO
* @return boolean
*/
void
updateDemand
(
DemandRQVO
rqVO
);
/**
* 数据删除
* @author xushaobo
* @date 2024-12-30 16:31
* @param guids
* @return void
*/
void
removeByGuids
(
List
<
String
>
guids
);
/**
* 数据删除、并有相关的处理操作
* @author xushaobo
* @date 2024-12-30 16:31
* @param guids
* @return void
*/
void
removeHandleByGuids
(
List
<
String
>
guids
);
}
Write
Preview
Styling with
Markdown
is supported
Attach a file
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 post a comment