Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yanxuan-qc-change-system
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
yx-qc-change-flow
yanxuan-qc-change-system
Commits
f2eaa556
Commit
f2eaa556
authored
Nov 26, 2025
by
王志超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 变更行动工单列表
parent
c2113b8c
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
307 additions
and
0 deletions
+307
-0
ChangeSubFlowBiz.java
...netease/mail/yanxuan/change/biz/biz/ChangeSubFlowBiz.java
+0
-0
ChangeSubFlowService.java
...mail/yanxuan/change/biz/service/ChangeSubFlowService.java
+3
-0
ChangeSubFlowServiceImpl.java
...uan/change/biz/service/impl/ChangeSubFlowServiceImpl.java
+3
-0
ChangeSubFlowRecordMapper.java
.../yanxuan/change/dal/mapper/ChangeSubFlowRecordMapper.java
+7
-0
ChangeSubFlowListQueryReq.java
.../change/dal/meta/model/req/ChangeSubFlowListQueryReq.java
+83
-0
ChangeSubFlowListVO.java
...yanxuan/change/dal/meta/model/vo/ChangeSubFlowListVO.java
+38
-0
ChangeSubFlowVO.java
...ail/yanxuan/change/dal/meta/model/vo/ChangeSubFlowVO.java
+70
-0
ChangeSubFlowRecordMapper.xml
...in/resources/mybatis/mapper/ChangeSubFlowRecordMapper.xml
+44
-0
ChangeSubFlowController.java
...anxuan/change/web/controller/ChangeSubFlowController.java
+59
-0
No files found.
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/biz/ChangeSubFlowBiz.java
View file @
f2eaa556
This diff is collapsed.
Click to expand it.
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/service/ChangeSubFlowService.java
View file @
f2eaa556
...
@@ -4,6 +4,9 @@ import com.netease.mail.yanxuan.change.dal.entity.ChangeExecRecord;
...
@@ -4,6 +4,9 @@ import com.netease.mail.yanxuan.change.dal.entity.ChangeExecRecord;
import
java.util.List
;
import
java.util.List
;
/**
* @author TmindA
*/
public
interface
ChangeSubFlowService
{
public
interface
ChangeSubFlowService
{
/**
/**
...
...
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/service/impl/ChangeSubFlowServiceImpl.java
View file @
f2eaa556
...
@@ -8,6 +8,9 @@ import org.springframework.stereotype.Service;
...
@@ -8,6 +8,9 @@ import org.springframework.stereotype.Service;
import
java.util.List
;
import
java.util.List
;
/**
* @author TmindA
*/
@Service
@Service
public
class
ChangeSubFlowServiceImpl
implements
ChangeSubFlowService
{
public
class
ChangeSubFlowServiceImpl
implements
ChangeSubFlowService
{
...
...
yanxuan-qc-change-system-dal/src/main/java/com/netease/mail/yanxuan/change/dal/mapper/ChangeSubFlowRecordMapper.java
View file @
f2eaa556
...
@@ -51,5 +51,12 @@ public interface ChangeSubFlowRecordMapper extends tk.mybatis.mapper.common.Mapp
...
@@ -51,5 +51,12 @@ public interface ChangeSubFlowRecordMapper extends tk.mybatis.mapper.common.Mapp
"</script>"
)
"</script>"
)
List
<
ChangeSubFlowRecord
>
selectByChangeRecordIds
(
@Param
(
"changeRecordIds"
)
List
<
Long
>
changeRecordIds
);
List
<
ChangeSubFlowRecord
>
selectByChangeRecordIds
(
@Param
(
"changeRecordIds"
)
List
<
Long
>
changeRecordIds
);
/**
* 根据条件查询变更行动工单列表
* @param queryReq 查询条件
* @return 变更行动工单列表
*/
List
<
ChangeSubFlowRecord
>
selectByCondition
(
com
.
netease
.
mail
.
yanxuan
.
change
.
dal
.
meta
.
model
.
req
.
ChangeSubFlowListQueryReq
queryReq
);
}
}
yanxuan-qc-change-system-dal/src/main/java/com/netease/mail/yanxuan/change/dal/meta/model/req/ChangeSubFlowListQueryReq.java
0 → 100644
View file @
f2eaa556
/**
* @(#)ChangeSubFlowListQueryReq.java, 2024/01/01.
* <p/>
* Copyright 2024 Netease, Inc. All rights reserved.
* NETEASE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package
com
.
netease
.
mail
.
yanxuan
.
change
.
dal
.
meta
.
model
.
req
;
import
lombok.Data
;
import
java.util.List
;
/**
* 变更行动工单列表查询请求
*
* @Author system
* @Date 2024/01/01
*/
@Data
public
class
ChangeSubFlowListQueryReq
{
/**
* 变更工单ID(主单flowId)
*/
private
Long
flowId
;
/**
* 变更行动工单ID(subFlowId)
*/
private
String
subFlowId
;
/**
* 商品ID
*/
private
String
itemId
;
/**
* 供应商
*/
private
String
supplier
;
/**
* 变更行动人(姓名或邮箱)
*/
private
String
changeExecUser
;
/**
* 变更行动部门
*/
private
String
changeExecDepartment
;
/**
* 行动工单状态(subFlowNode)
*/
private
String
subFlowNode
;
/**
* 开始时间(行动工单发起时间)
*/
private
Long
startTime
;
/**
* 结束时间(行动工单发起时间)
*/
private
Long
endTime
;
/**
* 数据可见范围:仅查看我跟进的工单(默认true)
* true: 仅展示当前用户相关的变更行动工单
* false: 展示所有变更行动工单
*/
private
Boolean
onlyMyFollowed
;
/**
* 当前用户邮箱(用于数据可见范围过滤)
*/
private
String
currentUser
;
/**
* 变更记录ID列表(用于过滤)
*/
private
List
<
Long
>
changeRecordIds
;
}
yanxuan-qc-change-system-dal/src/main/java/com/netease/mail/yanxuan/change/dal/meta/model/vo/ChangeSubFlowListVO.java
0 → 100644
View file @
f2eaa556
/**
* @(#)ChangeSubFlowListVO.java, 2024/01/01.
* <p/>
* Copyright 2024 Netease, Inc. All rights reserved.
* NETEASE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package
com
.
netease
.
mail
.
yanxuan
.
change
.
dal
.
meta
.
model
.
vo
;
import
java.util.List
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* 变更行动工单列表VO
*
* @Author system
* @Date 2024/01/01
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public
class
ChangeSubFlowListVO
{
/**
* 分页信息
*/
private
PageVO
pageVo
;
/**
* 变更行动工单列表
*/
private
List
<
ChangeSubFlowVO
>
changeSubFlowList
;
}
yanxuan-qc-change-system-dal/src/main/java/com/netease/mail/yanxuan/change/dal/meta/model/vo/ChangeSubFlowVO.java
0 → 100644
View file @
f2eaa556
/**
* @(#)ChangeSubFlowVO.java, 2024/01/01.
* <p/>
* Copyright 2024 Netease, Inc. All rights reserved.
* NETEASE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package
com
.
netease
.
mail
.
yanxuan
.
change
.
dal
.
meta
.
model
.
vo
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* 变更行动工单VO
*
* @Author system
* @Date 2024/01/01
*/
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Data
public
class
ChangeSubFlowVO
{
/**
* 变更行动ID(subFlowId)
*/
private
String
subFlowId
;
/**
* 变更ID(主单的flowId)
*/
private
Long
flowId
;
/**
* 变更行动人邮箱
*/
private
String
changeExecUserEmail
;
/**
* 变更行动人姓名
*/
private
String
changeExecUserName
;
/**
* 变更行动人(姓名+邮箱)
*/
private
String
changeExecUserView
;
/**
* 变更行动部门
*/
private
String
changeExecDepartment
;
/**
* 行动工单状态(subFlowNode)
*/
private
String
subFlowNode
;
/**
* 行动完成时间(变更行动工单的完成时间,或预期完成时间)
*/
private
Long
changeExecFinishTime
;
/**
* 创建时间(行动工单发起时间)
*/
private
Long
createTime
;
}
yanxuan-qc-change-system-dal/src/main/resources/mybatis/mapper/ChangeSubFlowRecordMapper.xml
0 → 100644
View file @
f2eaa556
<?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=
"com.netease.mail.yanxuan.change.dal.mapper.ChangeSubFlowRecordMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"com.netease.mail.yanxuan.change.dal.entity.ChangeSubFlowRecord"
>
<id
column=
"id"
jdbcType=
"BIGINT"
property=
"id"
/>
<result
column=
"change_record_id"
jdbcType=
"BIGINT"
property=
"changeRecordId"
/>
<result
column=
"sub_flow_id"
jdbcType=
"VARCHAR"
property=
"subFlowId"
/>
<result
column=
"sub_flow_node"
jdbcType=
"VARCHAR"
property=
"subFlowNode"
/>
<result
column=
"approver"
jdbcType=
"VARCHAR"
property=
"approver"
/>
<result
column=
"create_time"
jdbcType=
"BIGINT"
property=
"createTime"
/>
<result
column=
"update_time"
jdbcType=
"BIGINT"
property=
"updateTime"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id, change_record_id, sub_flow_id, sub_flow_node, approver, create_time, update_time
</sql>
<select
id=
"selectByCondition"
resultMap=
"BaseResultMap"
parameterType=
"com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeSubFlowListQueryReq"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM TB_YX_QC_CHANGE_SUB_FLOW_RECORD
<where>
<if
test=
"subFlowId != null and subFlowId != ''"
>
and sub_flow_id = #{subFlowId}
</if>
<if
test=
"subFlowNode != null and subFlowNode != ''"
>
and sub_flow_node = #{subFlowNode}
</if>
<if
test=
"startTime != null"
>
and create_time >= #{startTime}
</if>
<if
test=
"endTime != null"
>
and create_time
<![CDATA[ <= ]]>
#{endTime}
</if>
<if
test=
"changeRecordIds != null and changeRecordIds.size() > 0"
>
and change_record_id in
<foreach
collection=
"changeRecordIds"
close=
")"
open=
"("
item=
"item"
separator=
","
>
#{item}
</foreach>
</if>
</where>
order by create_time desc
</select>
</mapper>
yanxuan-qc-change-system-web/src/main/java/com/netease/mail/yanxuan/change/web/controller/ChangeSubFlowController.java
View file @
f2eaa556
...
@@ -10,7 +10,10 @@ import com.netease.mail.yanxuan.change.biz.biz.ChangeSubFlowBiz;
...
@@ -10,7 +10,10 @@ import com.netease.mail.yanxuan.change.biz.biz.ChangeSubFlowBiz;
import
com.netease.mail.yanxuan.change.common.bean.AjaxResult
;
import
com.netease.mail.yanxuan.change.common.bean.AjaxResult
;
import
com.netease.mail.yanxuan.change.dal.entity.ChangeExecRecord
;
import
com.netease.mail.yanxuan.change.dal.entity.ChangeExecRecord
;
import
com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeSubFlowCreateReq
;
import
com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeSubFlowCreateReq
;
import
com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeSubFlowListQueryReq
;
import
com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeSubFlowSubmitReq
;
import
com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeSubFlowSubmitReq
;
import
com.netease.mail.yanxuan.change.dal.meta.model.vo.ChangeFlowVO
;
import
com.netease.mail.yanxuan.change.dal.meta.model.vo.ChangeSubFlowListVO
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
...
@@ -52,6 +55,62 @@ public class ChangeSubFlowController {
...
@@ -52,6 +55,62 @@ public class ChangeSubFlowController {
}
}
/**
/**
* 变更行动工单列表查询
*
* @param page 页码
* @param pageSize 每页大小
* @param flowId 变更工单ID(主单flowId)
* @param subFlowId 变更行动工单ID
* @param itemId 商品ID
* @param supplier 供应商
* @param changeExecUser 变更行动人(姓名或邮箱)
* @param changeExecDepartment 变更行动部门
* @param subFlowNode 行动工单状态
* @param startTime 开始时间(行动工单发起时间)
* @param endTime 结束时间(行动工单发起时间)
* @param onlyMyFollowed 数据可见范围:仅查看我跟进的工单(默认true)
* @return 变更行动工单列表
*/
@GetMapping
(
"/page"
)
public
AjaxResult
<
ChangeSubFlowListVO
>
page
(
@RequestParam
(
name
=
"page"
,
defaultValue
=
"1"
)
Integer
page
,
@RequestParam
(
name
=
"pageSize"
,
defaultValue
=
"10"
)
Integer
pageSize
,
@RequestParam
(
name
=
"flowId"
,
required
=
false
)
Long
flowId
,
@RequestParam
(
name
=
"subFlowId"
,
required
=
false
)
String
subFlowId
,
@RequestParam
(
name
=
"itemId"
,
required
=
false
)
String
itemId
,
@RequestParam
(
name
=
"supplier"
,
required
=
false
)
String
supplier
,
@RequestParam
(
name
=
"changeExecUser"
,
required
=
false
)
String
changeExecUser
,
@RequestParam
(
name
=
"changeExecDepartment"
,
required
=
false
)
String
changeExecDepartment
,
@RequestParam
(
name
=
"subFlowNode"
,
required
=
false
)
String
subFlowNode
,
@RequestParam
(
name
=
"startTime"
,
required
=
false
)
Long
startTime
,
@RequestParam
(
name
=
"endTime"
,
required
=
false
)
Long
endTime
,
@RequestParam
(
name
=
"onlyMyFollowed"
,
defaultValue
=
"true"
)
Boolean
onlyMyFollowed
)
{
ChangeSubFlowListQueryReq
queryReq
=
new
ChangeSubFlowListQueryReq
();
queryReq
.
setFlowId
(
flowId
);
queryReq
.
setSubFlowId
(
subFlowId
);
queryReq
.
setItemId
(
itemId
);
queryReq
.
setSupplier
(
supplier
);
queryReq
.
setChangeExecUser
(
changeExecUser
);
queryReq
.
setChangeExecDepartment
(
changeExecDepartment
);
queryReq
.
setSubFlowNode
(
subFlowNode
);
queryReq
.
setStartTime
(
startTime
);
queryReq
.
setEndTime
(
endTime
);
queryReq
.
setOnlyMyFollowed
(
onlyMyFollowed
);
return
AjaxResult
.
success
(
changeSubFlowBiz
.
querySubFlowList
(
page
,
pageSize
,
queryReq
));
}
/**
* 变更行动工单详情查询
* 说明:展示内容和主单的detail一样,但行动项只展示该变更行动工单下绑定的行动项
*
* @param subFlowId 变更行动工单ID(即topo)
* @return 变更工单详情
*/
@GetMapping
(
"/detail"
)
public
AjaxResult
<
ChangeFlowVO
>
detail
(
@RequestParam
String
subFlowId
)
{
return
AjaxResult
.
success
(
changeSubFlowBiz
.
detailBySubFlowId
(
subFlowId
));
}
/**
* 子流程提交
* 子流程提交
*
*
* @return
* @return
...
...
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