Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
governWorkOrder
Overview
Overview
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
xieshaohua
governWorkOrder
Commits
07a9df18
Commit
07a9df18
authored
Aug 20, 2025
by
xieshaohua
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[修改]工单数据保存接口支持批量
parent
b5c8c19d
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
66 additions
and
22 deletions
+66
-22
WorkOrderDataVO.java
.../keymobile/governworkorder/common/bo/WorkOrderDataVO.java
+8
-2
WorkOrderApi.java
.../com/keymobile/governworkorder/core/api/WorkOrderApi.java
+5
-5
WorkOrderConfirmDataDto.java
...ile/governworkorder/core/dto/WorkOrderConfirmDataDto.java
+20
-0
WorkOrderData.java
...governworkorder/core/persistence/model/WorkOrderData.java
+6
-1
WorkOrderService.java
...mobile/governworkorder/core/service/WorkOrderService.java
+3
-2
WorkOrderServiceImpl.java
...vernworkorder/core/service/impl/WorkOrderServiceImpl.java
+24
-12
No files found.
common/src/main/java/com/keymobile/governworkorder/common/bo/WorkOrderDataVO.java
View file @
07a9df18
...
...
@@ -28,10 +28,16 @@ public class WorkOrderDataVO {
private
String
dataId
;
/**
* 资产名称
* 资产
英文
名称
*/
@Schema
(
description
=
"资产名称"
)
@Schema
(
description
=
"资产
英文
名称"
)
private
String
name
;
/**
* 资产名称
*/
@Schema
(
description
=
"资产中文名称"
)
private
String
cnName
;
/**
* 资产编号
*/
...
...
core/src/main/java/com/keymobile/governworkorder/core/api/WorkOrderApi.java
View file @
07a9df18
...
...
@@ -4,6 +4,7 @@ import com.keymobile.governworkorder.common.bo.WorkOrderDataVO;
import
com.keymobile.governworkorder.common.bo.WorkOrderInfoVO
;
import
com.keymobile.governworkorder.common.bo.WorkOrderProcessVO
;
import
com.keymobile.governworkorder.core.dto.WorkOrdeQueryDto
;
import
com.keymobile.governworkorder.core.dto.WorkOrderConfirmDataDto
;
import
com.keymobile.governworkorder.core.persistence.model.WorkOrderData
;
import
com.keymobile.governworkorder.core.service.WorkOrderService
;
import
io.swagger.v3.oas.annotations.Operation
;
...
...
@@ -60,16 +61,15 @@ public class WorkOrderApi {
@RequestMapping
(
value
=
"/saveData"
,
method
=
{
RequestMethod
.
POST
})
@Operation
(
summary
=
"保存工单关联资产数据"
,
description
=
""
)
public
void
saveData
(
@RequestParam
String
workOrderId
,
@RequestBody
WorkOrderDataVO
workOrderDataVO
)
{
workOrderService
.
saveData
(
workOrderId
,
workOrderDataVO
);
public
List
<
WorkOrderDataVO
>
saveData
(
@RequestParam
String
workOrderId
,
@RequestBody
List
<
WorkOrderDataVO
>
workOrderDataVOList
)
{
return
workOrderService
.
saveData
(
workOrderId
,
workOrderDataVOList
);
}
@RequestMapping
(
value
=
"/confirmData"
,
method
=
{
RequestMethod
.
POST
})
@Operation
(
summary
=
"确认数据"
,
description
=
""
)
public
void
confirmData
(
@RequestParam
String
workOrderId
,
@RequestParam
String
workOrderDataId
,
@RequestParam
String
confirmStatus
)
{
workOrderService
.
confirmData
(
workOrderId
,
workOrderDataId
,
confirmStatus
);
@RequestParam
List
<
WorkOrderConfirmDataDto
>
confirmDataList
)
{
workOrderService
.
confirmData
(
workOrderId
,
confirmDataList
);
}
@RequestMapping
(
value
=
"/delete"
,
method
=
{
RequestMethod
.
POST
})
...
...
core/src/main/java/com/keymobile/governworkorder/core/dto/WorkOrderConfirmDataDto.java
0 → 100644
View file @
07a9df18
package
com
.
keymobile
.
governworkorder
.
core
.
dto
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
/**
* @author xiesh
* @version 1.0.0
* @date 2025/8/20
* @desc 工单数据确认
*/
@Data
@Schema
(
description
=
"工单数据确认"
)
public
class
WorkOrderConfirmDataDto
{
@Schema
(
description
=
"关联的数据id"
)
private
String
id
;
@Schema
(
description
=
"是否确认 已确认、未确认"
)
private
String
confirmStatus
;
}
core/src/main/java/com/keymobile/governworkorder/core/persistence/model/WorkOrderData.java
View file @
07a9df18
...
...
@@ -28,9 +28,14 @@ public class WorkOrderData {
private
String
dataId
;
/**
* 资产名称
* 资产
英文
名称
*/
private
String
name
;
/**
* 资产中文名称
*/
private
String
cnName
;
/**
* 资产编号
*/
...
...
core/src/main/java/com/keymobile/governworkorder/core/service/WorkOrderService.java
View file @
07a9df18
...
...
@@ -4,6 +4,7 @@ import com.keymobile.governworkorder.common.bo.WorkOrderDataVO;
import
com.keymobile.governworkorder.common.bo.WorkOrderInfoVO
;
import
com.keymobile.governworkorder.common.bo.WorkOrderProcessVO
;
import
com.keymobile.governworkorder.core.dto.WorkOrdeQueryDto
;
import
com.keymobile.governworkorder.core.dto.WorkOrderConfirmDataDto
;
import
com.keymobile.governworkorder.core.persistence.model.WorkOrderProcess
;
import
org.springframework.data.domain.Page
;
...
...
@@ -24,9 +25,9 @@ public interface WorkOrderService {
void
approvalProcess
(
String
workOrderId
,
WorkOrderProcessVO
process
);
WorkOrderDataVO
saveData
(
String
workOrderId
,
WorkOrderDataVO
workOrderDataVO
);
List
<
WorkOrderDataVO
>
saveData
(
String
workOrderId
,
List
<
WorkOrderDataVO
>
workOrderDataVOList
);
void
confirmData
(
String
workOrderId
,
String
workOrderDataId
,
String
confirmStatus
);
void
confirmData
(
String
workOrderId
,
List
<
WorkOrderConfirmDataDto
>
confirmDataList
);
void
delete
(
String
workOrderId
,
boolean
force
);
...
...
core/src/main/java/com/keymobile/governworkorder/core/service/impl/WorkOrderServiceImpl.java
View file @
07a9df18
...
...
@@ -5,6 +5,7 @@ import com.keymobile.governworkorder.common.bo.WorkOrderInfoVO;
import
com.keymobile.governworkorder.common.bo.WorkOrderProcessVO
;
import
com.keymobile.governworkorder.common.type.*
;
import
com.keymobile.governworkorder.core.dto.WorkOrdeQueryDto
;
import
com.keymobile.governworkorder.core.dto.WorkOrderConfirmDataDto
;
import
com.keymobile.governworkorder.core.messaging.WorkOrderMessageService
;
import
com.keymobile.governworkorder.core.persistence.model.WorkOrderProcess
;
import
com.keymobile.governworkorder.core.persistence.model.WorkOrderData
;
...
...
@@ -185,33 +186,44 @@ public class WorkOrderServiceImpl implements WorkOrderService {
}
@Override
public
WorkOrderDataVO
saveData
(
String
workOrderId
,
WorkOrderDataVO
workOrderDataVO
)
{
WorkOrderData
workOrderData
=
BeanUtil
.
map
(
workOrderDataVO
,
WorkOrderData
.
class
);
public
List
<
WorkOrderDataVO
>
saveData
(
String
workOrderId
,
List
<
WorkOrderDataVO
>
workOrderDataVOList
)
{
WorkOrderInfo
workOrder
=
mongoTemplate
.
findById
(
workOrderId
,
WorkOrderInfo
.
class
);
Assert
.
notNull
(
workOrder
,
"找不到对应工单"
);
//非发起人和处理人无法操作
if
(!
StringUtils
.
equals
(
LogManager
.
getUserName
(),
workOrder
.
getCreate
UserName
())
&&
!
StringUtils
.
equals
(
LogManager
.
getUserName
(),
workOrder
.
getHandleUserName
()))
{
if
(!
contains
(
workOrder
.
getNextUserName
(),
LogManager
.
get
UserName
())
||
!
StringUtils
.
equals
(
LogManager
.
getUserName
(),
workOrder
.
getHandleUserName
()))
{
throw
new
RuntimeException
(
"您无权限编辑关联数据"
);
}
fillWorkOrderData
(
workOrder
,
workOrderData
);
workOrderData
=
mongoTemplate
.
save
(
workOrderData
);
return
BeanUtil
.
map
(
workOrderData
,
WorkOrderDataVO
.
class
);
List
<
WorkOrderDataVO
>
result
=
new
ArrayList
<>();
for
(
WorkOrderDataVO
workOrderDataVO
:
workOrderDataVOList
)
{
WorkOrderData
workOrderData
=
BeanUtil
.
map
(
workOrderDataVO
,
WorkOrderData
.
class
);
fillWorkOrderData
(
workOrder
,
workOrderData
);
workOrderData
=
mongoTemplate
.
save
(
workOrderData
);
result
.
add
(
BeanUtil
.
map
(
workOrderData
,
WorkOrderDataVO
.
class
));
}
return
result
;
}
@Override
public
void
confirmData
(
String
workOrderId
,
String
workOrderDataId
,
String
confirmStatus
)
{
public
void
confirmData
(
String
workOrderId
,
List
<
WorkOrderConfirmDataDto
>
confirmDataList
)
{
WorkOrderInfo
workOrder
=
mongoTemplate
.
findById
(
workOrderId
,
WorkOrderInfo
.
class
);
Assert
.
notNull
(
workOrder
,
"找不到对应工单"
);
WorkOrderData
workOrderData
=
mongoTemplate
.
findById
(
workOrderDataId
,
WorkOrderData
.
class
);
Assert
.
notNull
(
workOrderData
,
"找不到对应数据"
);
if
(!
StringUtils
.
equals
(
OrderProcessStageTypeEnum
.
PROCESS_APPROVER
.
getName
(),
workOrder
.
getStage
())
||
contains
(
workOrder
.
getNextUserName
(),
LogManager
.
getUserName
()))
{
throw
new
RuntimeException
(
"非审批人无法确认工单"
);
}
workOrderData
.
setConfirmStatus
(
confirmStatus
);
mongoTemplate
.
save
(
workOrderData
);
for
(
WorkOrderConfirmDataDto
item
:
confirmDataList
)
{
WorkOrderData
workOrderData
=
mongoTemplate
.
findById
(
item
.
getId
(),
WorkOrderData
.
class
);
if
(
workOrderData
==
null
)
{
log
.
error
(
"未找到对应关联数据:{}"
,
ObjectUtil
.
toJson
(
item
));
continue
;
}
workOrderData
.
setConfirmStatus
(
item
.
getConfirmStatus
());
mongoTemplate
.
save
(
workOrderData
);
}
}
public
void
delete
(
String
workOrderId
,
boolean
force
)
{
...
...
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