优化机票预订界面,实现机票预订流程申请功能,优化机票查询、导出逻辑。

dev
lh 2 weeks ago
parent 3e182c9e53
commit bc4b384c94

@ -67,7 +67,7 @@ public class CrmFlightBooking extends TenantEntity {
/** /**
* *
*/ */
private Long flightAmount; private Double flightAmount;
/** /**
* ID * ID

@ -78,7 +78,7 @@ public class CrmFlightBookingBo extends BaseEntity {
* *
*/ */
@NotNull(message = "机票金额(元)不能为空", groups = { AddGroup.class, EditGroup.class }) @NotNull(message = "机票金额(元)不能为空", groups = { AddGroup.class, EditGroup.class })
private Long flightAmount; private Double flightAmount;
/** /**
* ID * ID

@ -1,7 +1,10 @@
package org.dromara.oa.crm.domain.vo; package org.dromara.oa.crm.domain.vo;
import java.util.Date; import java.util.Date;
import cn.idev.excel.annotation.write.style.ColumnWidth;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.oa.crm.domain.CrmFlightBooking; import org.dromara.oa.crm.domain.CrmFlightBooking;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated; import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty; import cn.idev.excel.annotation.ExcelProperty;
@ -25,7 +28,7 @@ import java.util.Date;
@Data @Data
@ExcelIgnoreUnannotated @ExcelIgnoreUnannotated
@AutoMapper(target = CrmFlightBooking.class) @AutoMapper(target = CrmFlightBooking.class)
public class CrmFlightBookingVo implements Serializable { public class CrmFlightBookingVo extends BaseEntity implements Serializable {
@Serial @Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ -33,7 +36,7 @@ public class CrmFlightBookingVo implements Serializable {
/** /**
* ID * ID
*/ */
@ExcelProperty(value = "机票预订ID") // @ExcelProperty(value = "机票预订ID")
private Long bookingId; private Long bookingId;
/** /**
@ -45,7 +48,7 @@ public class CrmFlightBookingVo implements Serializable {
/** /**
* ID * ID
*/ */
@ExcelProperty(value = "乘机人ID") // @ExcelProperty(value = "乘机人ID")
private Long passengerId; private Long passengerId;
/** /**
@ -58,13 +61,13 @@ public class CrmFlightBookingVo implements Serializable {
* *
*/ */
@ExcelProperty(value = "出行日期") @ExcelProperty(value = "出行日期")
@ColumnWidth(20)
private Date travelDate; private Date travelDate;
/** /**
* *
*/ */
@ExcelProperty(value = "出发地点", converter = ExcelDictConvert.class) @ExcelProperty(value = "出发地点")
@ExcelDictFormat(readConverterExp = "出=差地点")
private String departureLocation; private String departureLocation;
/** /**
@ -77,28 +80,26 @@ public class CrmFlightBookingVo implements Serializable {
* 1:5 2:5~8 3:8 4:退 * 1:5 2:5~8 3:8 4:退
*/ */
@ExcelProperty(value = "机票折扣", converter = ExcelDictConvert.class) @ExcelProperty(value = "机票折扣", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "1=:5折及以下,2=:5~8折,3=:8折及以上,4=:退改签") @ExcelDictFormat(dictType = "flight_discount")
private String flightDiscount; private String flightDiscount;
/** /**
* *
*/ */
@ExcelProperty(value = "机票金额", converter = ExcelDictConvert.class) @ExcelProperty(value = "机票金额")
@ExcelDictFormat(readConverterExp = "元=") private Double flightAmount;
private Long flightAmount;
/** /**
* ID * ID
*/ */
@ExcelProperty(value = "附件ID", converter = ExcelDictConvert.class) @ExcelProperty(value = "附件ID")
@ExcelDictFormat(readConverterExp = "支=持多个,逗号分隔")
private String ossId; private String ossId;
/** /**
* 1 2 3 4 * 1 2 3 4
*/ */
@ExcelProperty(value = "申请状态", converter = ExcelDictConvert.class) @ExcelProperty(value = "申请状态", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "1=暂存,2=审批中,3=已审批,4=作废") @ExcelDictFormat(dictType = "booking_status")
private String bookingStatus; private String bookingStatus;
/** /**

@ -19,6 +19,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.dromara.common.tenant.helper.TenantHelper; import org.dromara.common.tenant.helper.TenantHelper;
import org.dromara.oa.erp.domain.ErpProjectPlan; 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.oa.erp.domain.vo.ErpProjectPlanVo;
import org.dromara.workflow.api.RemoteWorkflowService; import org.dromara.workflow.api.RemoteWorkflowService;
import org.dromara.workflow.api.domain.RemoteStartProcess; import org.dromara.workflow.api.domain.RemoteStartProcess;
@ -70,6 +71,7 @@ public class CrmFlightBookingServiceImpl implements ICrmFlightBookingService {
@Override @Override
public TableDataInfo<CrmFlightBookingVo> queryPageList(CrmFlightBookingBo bo, PageQuery pageQuery) { public TableDataInfo<CrmFlightBookingVo> queryPageList(CrmFlightBookingBo bo, PageQuery pageQuery) {
MPJLambdaWrapper<CrmFlightBooking> lqw = buildQueryWrapper(bo); MPJLambdaWrapper<CrmFlightBooking> lqw = buildQueryWrapper(bo);
lqw.orderByDesc(CrmFlightBooking::getUpdateTime);
Page<CrmFlightBookingVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); Page<CrmFlightBookingVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result); return TableDataInfo.build(result);
} }
@ -91,12 +93,12 @@ public class CrmFlightBookingServiceImpl implements ICrmFlightBookingService {
MPJLambdaWrapper<CrmFlightBooking> lqw = JoinWrappers.lambda(CrmFlightBooking.class) MPJLambdaWrapper<CrmFlightBooking> lqw = JoinWrappers.lambda(CrmFlightBooking.class)
.selectAll(CrmFlightBooking.class) .selectAll(CrmFlightBooking.class)
.eq(CrmFlightBooking::getDelFlag, "0") .eq(CrmFlightBooking::getDelFlag, "0")
.eq(StringUtils.isNotBlank(bo.getApplyCode()), CrmFlightBooking::getApplyCode, bo.getApplyCode()) .like(StringUtils.isNotBlank(bo.getApplyCode()), CrmFlightBooking::getApplyCode, bo.getApplyCode())
.eq(bo.getPassengerId() != null, CrmFlightBooking::getPassengerId, bo.getPassengerId()) .eq(bo.getPassengerId() != null, CrmFlightBooking::getPassengerId, bo.getPassengerId())
.like(StringUtils.isNotBlank(bo.getPassengerName()), CrmFlightBooking::getPassengerName, bo.getPassengerName()) .like(StringUtils.isNotBlank(bo.getPassengerName()), CrmFlightBooking::getPassengerName, bo.getPassengerName())
.eq(bo.getTravelDate() != null, CrmFlightBooking::getTravelDate, bo.getTravelDate()) .eq(bo.getTravelDate() != null, CrmFlightBooking::getTravelDate, bo.getTravelDate())
.eq(StringUtils.isNotBlank(bo.getDepartureLocation()), CrmFlightBooking::getDepartureLocation, bo.getDepartureLocation()) .like(StringUtils.isNotBlank(bo.getDepartureLocation()), CrmFlightBooking::getDepartureLocation, bo.getDepartureLocation())
.eq(StringUtils.isNotBlank(bo.getArrivalLocation()), CrmFlightBooking::getArrivalLocation, bo.getArrivalLocation()) .like(StringUtils.isNotBlank(bo.getArrivalLocation()), CrmFlightBooking::getArrivalLocation, bo.getArrivalLocation())
.eq(StringUtils.isNotBlank(bo.getFlightDiscount()), CrmFlightBooking::getFlightDiscount, bo.getFlightDiscount()) .eq(StringUtils.isNotBlank(bo.getFlightDiscount()), CrmFlightBooking::getFlightDiscount, bo.getFlightDiscount())
.eq(bo.getFlightAmount() != null, CrmFlightBooking::getFlightAmount, bo.getFlightAmount()) .eq(bo.getFlightAmount() != null, CrmFlightBooking::getFlightAmount, bo.getFlightAmount())
.eq(StringUtils.isNotBlank(bo.getOssId()), CrmFlightBooking::getOssId, bo.getOssId()) .eq(StringUtils.isNotBlank(bo.getOssId()), CrmFlightBooking::getOssId, bo.getOssId())
@ -109,7 +111,7 @@ public class CrmFlightBookingServiceImpl implements ICrmFlightBookingService {
/** /**
* *
* *
* @param bo * @param bo
* @return * @return
*/ */
@Override @Override

Loading…
Cancel
Save