diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTicketsServiceImpl.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTicketsServiceImpl.java index 46d00d71..186517e8 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTicketsServiceImpl.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTicketsServiceImpl.java @@ -84,6 +84,7 @@ import com.deepoove.poi.plugin.table.HackLoopTableRenderPolicy; import org.apache.commons.lang3.StringUtils; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; @@ -742,6 +743,16 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl list = ticketWaresService.list(Wrappers.lambdaQuery() + .eq(DlTicketWares::getTicketId, vo.getTicketId())); + + // 判断是否有未申领完成的 + if (list.stream().anyMatch(item -> item.getStatus().equals("0"))) { + throw exception0(500, "请先完成配件申领"); + } + /*添加结算数据*/ // 将vo转为json String json = JSON.toJSONString(vo); @@ -1086,6 +1107,9 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl receivable : receivables) { // 转换为TicketsSettlementVO Object otherData = receivable.get("otherData"); + if (ObjectUtil.isNull(otherData)) { + continue; + } TicketsSettlementVO settlement = JSONObject.parseObject( otherData.toString(), TicketsSettlementVO.class ); diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/vo/DlRepairTicketsRespVO.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/vo/DlRepairTicketsRespVO.java index a60c1a9e..f493f856 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/vo/DlRepairTicketsRespVO.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/vo/DlRepairTicketsRespVO.java @@ -91,4 +91,7 @@ public class DlRepairTicketsRespVO extends DlRepairTickets { /** 结算时间 */ private LocalDateTime settlementTime; private String payTime; + + /** 是否支付 */ + private String isPaid; } diff --git a/dl-module-repair/src/main/resources/mapper/tickets/DlTicketWaresMapper.xml b/dl-module-repair/src/main/resources/mapper/tickets/DlTicketWaresMapper.xml index c1b3e45e..75b3b7fd 100644 --- a/dl-module-repair/src/main/resources/mapper/tickets/DlTicketWaresMapper.xml +++ b/dl-module-repair/src/main/resources/mapper/tickets/DlTicketWaresMapper.xml @@ -93,7 +93,8 @@ select 1 from dl_tw_item dti where dti.tw_id = dtw.id and dti.deleted = '0' - and (dti.wares_count > dti.wares_already_count and dti.wares_status = '1') + -- and (dti.wares_count > dti.wares_already_count and dti.wares_status = '1') + and ( dti.wares_status = '1') and (dti.wares_already_count > 0 and dti.wares_status = '1')