结算工单时同步更新订单的支付类型
This commit is contained in:
parent
3134888852
commit
dab34eeb2a
@ -19,6 +19,7 @@ import cn.iocoder.yudao.module.custom.service.CustomerCarService;
|
||||
import cn.iocoder.yudao.module.custom.service.CustomerMainService;
|
||||
import cn.iocoder.yudao.module.custom.vo.CarMainRespVO;
|
||||
import cn.iocoder.yudao.module.custom.vo.CustomerMainRespVO;
|
||||
import cn.iocoder.yudao.module.order.entity.RepairOrderInfo;
|
||||
import cn.iocoder.yudao.module.order.service.RepairOrderInfoService;
|
||||
import cn.iocoder.yudao.module.order.vo.RepairOrderInfoSaveReqVO;
|
||||
import cn.iocoder.yudao.module.other.entity.DlRepairOther;
|
||||
@ -39,9 +40,13 @@ import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
|
||||
import cn.iocoder.yudao.module.system.api.user.dto.UserDTO;
|
||||
import cn.iocoder.yudao.module.tickets.entity.DlRepairTickets;
|
||||
import cn.iocoder.yudao.module.tickets.entity.DlRepairTitem;
|
||||
import cn.iocoder.yudao.module.tickets.entity.DlTicketWares;
|
||||
import cn.iocoder.yudao.module.tickets.entity.DlTwItem;
|
||||
import cn.iocoder.yudao.module.tickets.mapper.DlRepairTicketsMapper;
|
||||
import cn.iocoder.yudao.module.tickets.service.DlRepairTicketsService;
|
||||
import cn.iocoder.yudao.module.tickets.service.DlRepairTitemService;
|
||||
import cn.iocoder.yudao.module.tickets.service.DlTicketWaresService;
|
||||
import cn.iocoder.yudao.module.tickets.service.DlTwItemService;
|
||||
import cn.iocoder.yudao.module.tickets.tools.WordUtil;
|
||||
import cn.iocoder.yudao.module.tickets.vo.*;
|
||||
import cn.iocoder.yudao.util.SendSmsUtil;
|
||||
@ -138,11 +143,16 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl<DlRepairTicketsMappe
|
||||
private RepairWorkerService repairWorkerService;
|
||||
|
||||
@Resource
|
||||
@Lazy
|
||||
private RepairRecordsService recordsService;
|
||||
private RepairRecordsService repairRecordsService;
|
||||
|
||||
@Resource
|
||||
private RepairRecordsService repairRecordsService;
|
||||
@Lazy
|
||||
private DlTicketWaresService ticketWaresService;
|
||||
|
||||
@Resource
|
||||
@Lazy
|
||||
private DlTwItemService twItemService;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
@ -333,7 +343,18 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl<DlRepairTicketsMappe
|
||||
* @date 8:50 2024/9/23
|
||||
**/
|
||||
@Override
|
||||
@DSTransactional
|
||||
public void setTicketsPaid(DlRepairTicketsRespVO repairTicketsRespVO) {
|
||||
// 更新订单状态
|
||||
RepairOrderInfo one = repairOrderInfoService.getOne(new LambdaQueryWrapper<RepairOrderInfo>().eq(RepairOrderInfo::getGoodsId, repairTicketsRespVO.getId()));
|
||||
if (ObjectUtil.isEmpty(one)){
|
||||
throw exception0(500, "系统异常");
|
||||
}
|
||||
RepairOrderInfo repairOrderInfo = new RepairOrderInfo();
|
||||
repairOrderInfo.setId(one.getId());
|
||||
repairOrderInfo.setPayType(repairTicketsRespVO.getPayType());
|
||||
repairOrderInfoService.updateById(repairOrderInfo);
|
||||
// 更新工单
|
||||
baseMapper.updateById(repairTicketsRespVO);
|
||||
}
|
||||
|
||||
@ -603,7 +624,7 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl<DlRepairTicketsMappe
|
||||
);
|
||||
}
|
||||
// 记录日志
|
||||
recordsService.saveRepairRecord(respVO.getId(), respVO.getItem().getId(), respVO.getRecordType(), respVO.getRemark(), respVO.getImage());
|
||||
repairRecordsService.saveRepairRecord(respVO.getId(), respVO.getItem().getId(), respVO.getRecordType(), respVO.getRemark(), respVO.getImage());
|
||||
|
||||
// 通知服务顾问和维修总检
|
||||
DlRepairTickets tickets = baseMapper.selectById(respVO.getId());
|
||||
@ -754,6 +775,47 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl<DlRepairTicketsMappe
|
||||
.setSql("now_repair_name = adviser_name")
|
||||
.eq(DlRepairTickets::getId, respVO.getId())
|
||||
);
|
||||
// todo 这儿有点问题,先搁置
|
||||
/*
|
||||
如果同一个配件,申请了多次,按理应该在工单中合在一起
|
||||
但如果同一个配件在申请多次的情况下,打的折扣不一样,就不能合在一起
|
||||
我怎么知道工单中的配件是那一次申请的
|
||||
两个方案,让工单的配件关联申请表,或者,让配件申请表记录打的折扣
|
||||
*/
|
||||
// // 先查满足条件的申请表
|
||||
// ArrayList<String> status = new ArrayList<>();
|
||||
// status.add("01"); // 待审核
|
||||
// status.add("05"); // 已驳回
|
||||
// // 查工单所有已通过的配件申请单
|
||||
// List<DlTicketWares> list = ticketWaresService.list(new LambdaQueryWrapper<DlTicketWares>().and(item -> {
|
||||
// item.eq(DlTicketWares::getTicketId, respVO.getId())
|
||||
// .notIn(DlTicketWares::getStatus, status);
|
||||
// }));
|
||||
// // 查配件申请表的所有已领取数量小于申请数量的子表信息
|
||||
// List<String> ids = list.stream().map(DlTicketWares::getId).collect(Collectors.toList());
|
||||
// List<DlTwItem> twItems = twItemService.list(new LambdaQueryWrapper<DlTwItem>().and(item -> {
|
||||
// item.in(DlTwItem::getTwId, ids)
|
||||
// .apply("wares_already_count < wares_count");
|
||||
// }));
|
||||
// if (CollectionUtil.isNotEmpty(twItems)) {
|
||||
// // 更新工单子表(主要是把已领料的字段同步给工单配件的数量字段)
|
||||
// // 查询工单子表(三个查询条件,属于那个工单,属于配件类型,属于需要改变的(即申请表的已领取数量小于申请数量的))
|
||||
// List<String> waresId = twItems.stream().map(DlTwItem::getWaresId).collect(Collectors.toList());
|
||||
// List<DlRepairTitem> items = titemService.list(new LambdaQueryWrapper<DlRepairTitem>().and(item -> {
|
||||
// item.eq(DlRepairTitem::getTicketId, respVO.getId())
|
||||
// .eq(DlRepairTitem::getItemType, "02")
|
||||
// .in(DlRepairTitem::getPartId, waresId);
|
||||
// }));
|
||||
// // 同一个配件可能申请过多次,属于是一个工单配件可能是对应多个申请表配件
|
||||
// items.stream().map(item -> {
|
||||
// DlRepairTitem titem = new DlRepairTitem();
|
||||
// titem.setId(item.getId());
|
||||
// List<DlTwItem> wares = twItems.stream().filter(i -> i.getWaresId().equals(item.getPartId())).collect(Collectors.toList());
|
||||
// int sum = wares.stream().mapToInt(DlTwItem::getWaresAlreadyCount).sum();
|
||||
//
|
||||
// })
|
||||
// }
|
||||
|
||||
// 通知服务顾问
|
||||
DlRepairTickets tickets = baseMapper.selectById(respVO.getId());
|
||||
repairWorkerService.sentMessage(Long.valueOf(tickets.getAdviserId()), "您有新的工单可以出厂检验");
|
||||
|
Loading…
Reference in New Issue
Block a user