diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/crm/service/impl/CrmFlightBookingServiceImpl.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/crm/service/impl/CrmFlightBookingServiceImpl.java index d2d21955..8a6e1b2d 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/crm/service/impl/CrmFlightBookingServiceImpl.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/crm/service/impl/CrmFlightBookingServiceImpl.java @@ -10,9 +10,9 @@ import org.dromara.common.core.enums.OAStatusEnum; import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; - import org.dromara.common.mybatis.core.page.TableDataInfo; - import org.dromara.common.mybatis.core.page.PageQuery; - import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.toolkit.JoinWrappers; import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -21,6 +21,7 @@ import org.dromara.common.tenant.helper.TenantHelper; import org.dromara.oa.erp.domain.ErpProjectPlan; import org.dromara.oa.erp.domain.ErpProjectReportDetail; import org.dromara.oa.erp.domain.vo.ErpProjectPlanVo; +import org.dromara.system.api.RemoteCodeRuleService; import org.dromara.workflow.api.RemoteWorkflowService; import org.dromara.workflow.api.domain.RemoteStartProcess; import org.dromara.workflow.api.event.ProcessEvent; @@ -50,6 +51,9 @@ public class CrmFlightBookingServiceImpl implements ICrmFlightBookingService { @DubboReference(timeout = 30000) private RemoteWorkflowService remoteWorkflowService; + @DubboReference() + private RemoteCodeRuleService remoteCodeRuleService; + /** * 查询机票预订 * @@ -57,24 +61,24 @@ public class CrmFlightBookingServiceImpl implements ICrmFlightBookingService { * @return 机票预订 */ @Override - public CrmFlightBookingVo queryById(Long bookingId){ + public CrmFlightBookingVo queryById(Long bookingId) { return baseMapper.selectVoById(bookingId); } - /** - * 分页查询机票预订列表 - * - * @param bo 查询条件 - * @param pageQuery 分页参数 - * @return 机票预订分页列表 - */ - @Override - public TableDataInfo queryPageList(CrmFlightBookingBo bo, PageQuery pageQuery) { - MPJLambdaWrapper lqw = buildQueryWrapper(bo); - lqw.orderByDesc(CrmFlightBooking::getUpdateTime); - Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); - return TableDataInfo.build(result); - } + /** + * 分页查询机票预订列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 机票预订分页列表 + */ + @Override + public TableDataInfo queryPageList(CrmFlightBookingBo bo, PageQuery pageQuery) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + lqw.orderByDesc(CrmFlightBooking::getUpdateTime); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } /** * 查询符合条件的机票预订列表 @@ -91,20 +95,24 @@ public class CrmFlightBookingServiceImpl implements ICrmFlightBookingService { private MPJLambdaWrapper buildQueryWrapper(CrmFlightBookingBo bo) { Map params = bo.getParams(); MPJLambdaWrapper lqw = JoinWrappers.lambda(CrmFlightBooking.class) - .selectAll(CrmFlightBooking.class) - .eq(CrmFlightBooking::getDelFlag, "0") - .like(StringUtils.isNotBlank(bo.getApplyCode()), CrmFlightBooking::getApplyCode, bo.getApplyCode()) - .eq(bo.getPassengerId() != null, CrmFlightBooking::getPassengerId, bo.getPassengerId()) - .like(StringUtils.isNotBlank(bo.getPassengerName()), CrmFlightBooking::getPassengerName, bo.getPassengerName()) - .eq(bo.getTravelDate() != null, CrmFlightBooking::getTravelDate, bo.getTravelDate()) - .like(StringUtils.isNotBlank(bo.getDepartureLocation()), CrmFlightBooking::getDepartureLocation, bo.getDepartureLocation()) - .like(StringUtils.isNotBlank(bo.getArrivalLocation()), CrmFlightBooking::getArrivalLocation, bo.getArrivalLocation()) - .eq(StringUtils.isNotBlank(bo.getFlightDiscount()), CrmFlightBooking::getFlightDiscount, bo.getFlightDiscount()) - .eq(bo.getFlightAmount() != null, CrmFlightBooking::getFlightAmount, bo.getFlightAmount()) - .eq(StringUtils.isNotBlank(bo.getOssId()), CrmFlightBooking::getOssId, bo.getOssId()) - .eq(StringUtils.isNotBlank(bo.getBookingStatus()), CrmFlightBooking::getBookingStatus, bo.getBookingStatus()) - .eq(StringUtils.isNotBlank(bo.getFlowStatus()), CrmFlightBooking::getFlowStatus, bo.getFlowStatus()) -; + .selectAll(CrmFlightBooking.class) + .eq(CrmFlightBooking::getDelFlag, "0") + .like(StringUtils.isNotBlank(bo.getApplyCode()), CrmFlightBooking::getApplyCode, bo.getApplyCode()) + .eq(bo.getPassengerId() != null, CrmFlightBooking::getPassengerId, bo.getPassengerId()) + .like(StringUtils.isNotBlank(bo.getPassengerName()), CrmFlightBooking::getPassengerName, + bo.getPassengerName()) + .eq(bo.getTravelDate() != null, CrmFlightBooking::getTravelDate, bo.getTravelDate()) + .like(StringUtils.isNotBlank(bo.getDepartureLocation()), CrmFlightBooking::getDepartureLocation, + bo.getDepartureLocation()) + .like(StringUtils.isNotBlank(bo.getArrivalLocation()), CrmFlightBooking::getArrivalLocation, + bo.getArrivalLocation()) + .eq(StringUtils.isNotBlank(bo.getFlightDiscount()), CrmFlightBooking::getFlightDiscount, + bo.getFlightDiscount()) + .eq(bo.getFlightAmount() != null, CrmFlightBooking::getFlightAmount, bo.getFlightAmount()) + .eq(StringUtils.isNotBlank(bo.getOssId()), CrmFlightBooking::getOssId, bo.getOssId()) + .eq(StringUtils.isNotBlank(bo.getBookingStatus()), CrmFlightBooking::getBookingStatus, + bo.getBookingStatus()) + .eq(StringUtils.isNotBlank(bo.getFlowStatus()), CrmFlightBooking::getFlowStatus, bo.getFlowStatus()); return lqw; } @@ -118,6 +126,12 @@ public class CrmFlightBookingServiceImpl implements ICrmFlightBookingService { public Boolean insertByBo(CrmFlightBookingBo bo) { CrmFlightBooking add = MapstructUtils.convert(bo, CrmFlightBooking.class); validEntityBeforeSave(add); + // 自动生成申请单号 + if(StringUtils.isBlank(add.getApplyCode())){ + String applyCode = remoteCodeRuleService.selectCodeRuleCode("1019"); + add.setApplyCode(applyCode); + } + boolean flag = baseMapper.insert(add) > 0; if (flag) { bo.setBookingId(add.getBookingId()); @@ -141,8 +155,8 @@ public class CrmFlightBookingServiceImpl implements ICrmFlightBookingService { /** * 保存前的数据校验 */ - private void validEntityBeforeSave(CrmFlightBooking entity){ - //TODO 做一些数据校验,如唯一约束 + private void validEntityBeforeSave(CrmFlightBooking entity) { + // TODO 做一些数据校验,如唯一约束 } /** @@ -154,11 +168,12 @@ public class CrmFlightBookingServiceImpl implements ICrmFlightBookingService { */ @Override public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if(isValid){ - //TODO 做一些业务上的校验,判断是否需要校验 + if (isValid) { + // TODO 做一些业务上的校验,判断是否需要校验 } return baseMapper.deleteByIds(ids) > 0; } + /** * 机票预订并提交 * @@ -190,6 +205,7 @@ public class CrmFlightBookingServiceImpl implements ICrmFlightBookingService { } return MapstructUtils.convert(add, CrmFlightBookingVo.class); } + /** * 总体流程监听(例如: 草稿,撤销,退回,作废,终止,已完成等) * @@ -211,10 +227,10 @@ public class CrmFlightBookingServiceImpl implements ICrmFlightBookingService { } else if (Objects.equals(processEvent.getStatus(), BusinessStatusEnum.FINISH.getStatus())) { crmFlightBooking.setBookingStatus(OAStatusEnum.COMPLETED.getStatus()); } else if (Objects.equals(processEvent.getStatus(), BusinessStatusEnum.INVALID.getStatus()) - || Objects.equals(processEvent.getStatus(), BusinessStatusEnum.TERMINATION.getStatus())) { + || Objects.equals(processEvent.getStatus(), BusinessStatusEnum.TERMINATION.getStatus())) { crmFlightBooking.setBookingStatus(OAStatusEnum.INVALID.getStatus()); } else if (Objects.equals(processEvent.getStatus(), BusinessStatusEnum.BACK.getStatus()) - || Objects.equals(processEvent.getStatus(), BusinessStatusEnum.CANCEL.getStatus())) { + || Objects.equals(processEvent.getStatus(), BusinessStatusEnum.CANCEL.getStatus())) { // 流程驳回:业务状态还原为草稿,允许重新编辑和提交 crmFlightBooking.setBookingStatus(OAStatusEnum.DRAFT.getStatus()); }