From fdbc5af6474abb39120b771af87005aeb6186ae5 Mon Sep 17 00:00:00 2001
From: tuqin <tuqin@tuqin.cn>
Date: 星期一, 14 九月 2026 15:28:28 +0800
Subject: [PATCH] feat: 售后工单按条绑定部门与原因类型;新增加班工资管理;员工附件留档
---
yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/service/ticket/AfterSaleTicketServiceImpl.java | 23 +++++++++++++++--------
1 files changed, 15 insertions(+), 8 deletions(-)
diff --git a/yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/service/ticket/AfterSaleTicketServiceImpl.java b/yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/service/ticket/AfterSaleTicketServiceImpl.java
index c509cce..294181a 100644
--- a/yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/service/ticket/AfterSaleTicketServiceImpl.java
+++ b/yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/service/ticket/AfterSaleTicketServiceImpl.java
@@ -67,13 +67,14 @@
.setOwnerUserId(userId);
ticketMapper.insert(ticket);
- // 3. 鎻掑叆鏄庣粏琛�
+ // 3. 鎻掑叆鏄庣粏琛岋紙姣忔潯鐢熸垚鐙珛鍞悗鍗曞彿锛氬伐鍗曞彿-搴忓彿锛�
if (CollUtil.isNotEmpty(createReqVO.getItems())) {
- createReqVO.getItems().forEach(item -> {
- AfterSaleTicketItemDO itemDO = BeanUtils.toBean(item, AfterSaleTicketItemDO.class);
+ for (int i = 0; i < createReqVO.getItems().size(); i++) {
+ AfterSaleTicketItemDO itemDO = BeanUtils.toBean(createReqVO.getItems().get(i), AfterSaleTicketItemDO.class);
itemDO.setTicketId(ticket.getId());
+ itemDO.setItemNo(buildItemNo(no, i + 1));
ticketItemMapper.insert(itemDO);
- });
+ }
}
// 4. 缁戝畾闄勪欢
@@ -102,14 +103,15 @@
AfterSaleTicketDO updateObj = BeanUtils.toBean(updateReqVO, AfterSaleTicketDO.class);
ticketMapper.updateById(updateObj);
- // 3. 鏇存柊鏄庣粏琛岋紙鍏堝垹鍚庡锛�
+ // 3. 鏇存柊鏄庣粏琛岋紙鍏堝垹鍚庡锛屾瘡鏉$敓鎴愮嫭绔嬪敭鍚庡崟鍙凤細宸ュ崟鍙�-搴忓彿锛�
ticketItemMapper.deleteByTicketId(ticket.getId());
if (CollUtil.isNotEmpty(updateReqVO.getItems())) {
- updateReqVO.getItems().forEach(item -> {
- AfterSaleTicketItemDO itemDO = BeanUtils.toBean(item, AfterSaleTicketItemDO.class);
+ for (int i = 0; i < updateReqVO.getItems().size(); i++) {
+ AfterSaleTicketItemDO itemDO = BeanUtils.toBean(updateReqVO.getItems().get(i), AfterSaleTicketItemDO.class);
itemDO.setTicketId(ticket.getId());
+ itemDO.setItemNo(buildItemNo(ticket.getNo(), i + 1));
ticketItemMapper.insert(itemDO);
- });
+ }
}
// 4. 鏇存柊闄勪欢
@@ -204,6 +206,11 @@
// ========== 鍐呴儴鏂规硶 ==========
+ /** 鐢熸垚鏄庣粏鍞悗鍗曞彿锛氬伐鍗曞彿-涓や綅搴忓彿 */
+ private String buildItemNo(String ticketNo, int index) {
+ return ticketNo + "-" + String.format("%02d", index);
+ }
+
private AfterSaleTicketDO validateTicketExists(Long id) {
AfterSaleTicketDO ticket = ticketMapper.selectById(id);
if (ticket == null) {
--
Gitblit v1.9.3