Commit dea69d1d authored by jiaorz's avatar jiaorz

Merge remote-tracking branch 'origin/base-modify' into base-modify

parents 53b82dfd 7f2e8a79
...@@ -156,11 +156,11 @@ public class AppUserRelationBiz extends BaseBiz<AppUserRelationMapper,AppUserRel ...@@ -156,11 +156,11 @@ public class AppUserRelationBiz extends BaseBiz<AppUserRelationMapper,AppUserRel
AppUserRelationTemp relationTemp=new AppUserRelationTemp(); AppUserRelationTemp relationTemp=new AppUserRelationTemp();
relationTemp.setUserId(pid); relationTemp.setUserId(pid);
relationTemp.setTempId(userid);
relationTemp.setIsDel(0); relationTemp.setIsDel(0);
relationTemp.setType(1); relationTemp.setType(1);
AppUserRelationTemp relationTemp1= relationTempBiz.selectOne(relationTemp); AppUserRelationTemp relationTemp1= relationTempBiz.selectOne(relationTemp);
if(relationTemp1==null){ if(relationTemp1==null){
relationTemp.setTempId(userid);
relationTempBiz.insertSelective(relationTemp); relationTempBiz.insertSelective(relationTemp);
} }
......
...@@ -308,6 +308,7 @@ public class UserCouponBiz extends BaseBiz<UserCouponMapper, UserCoupon> { ...@@ -308,6 +308,7 @@ public class UserCouponBiz extends BaseBiz<UserCouponMapper, UserCoupon> {
userCoupon.setCrtTime(Instant.now().toEpochMilli()); userCoupon.setCrtTime(Instant.now().toEpochMilli());
userCoupon.setStartTime(couponVo.getValidStartTime()); userCoupon.setStartTime(couponVo.getValidStartTime());
userCoupon.setExpireTime(couponVo.getValidEndTime()); userCoupon.setExpireTime(couponVo.getValidEndTime());
userCoupon.setTickerNo(Snowflake.build()+"");
userCoupons.add(userCoupon); userCoupons.add(userCoupon);
} }
return mapper.inserBatch(userCoupons); return mapper.inserBatch(userCoupons);
...@@ -328,6 +329,7 @@ public class UserCouponBiz extends BaseBiz<UserCouponMapper, UserCoupon> { ...@@ -328,6 +329,7 @@ public class UserCouponBiz extends BaseBiz<UserCouponMapper, UserCoupon> {
userCoupon.setExpireTime(couponVo.getValidEndTime()); userCoupon.setExpireTime(couponVo.getValidEndTime());
userCoupon.setCrtTime(Instant.now().toEpochMilli()); userCoupon.setCrtTime(Instant.now().toEpochMilli());
userCoupon.setUserId(phoneAndAppUserLoginMap.get(userCounponData.get(i)[0])); userCoupon.setUserId(phoneAndAppUserLoginMap.get(userCounponData.get(i)[0]));
userCoupon.setTickerNo(Snowflake.build()+"");
userCoupons.add(userCoupon); userCoupons.add(userCoupon);
} }
...@@ -359,4 +361,8 @@ public class UserCouponBiz extends BaseBiz<UserCouponMapper, UserCoupon> { ...@@ -359,4 +361,8 @@ public class UserCouponBiz extends BaseBiz<UserCouponMapper, UserCoupon> {
criteria.andIn("userId",userIds); criteria.andIn("userId",userIds);
mapper.deleteByExample(example); mapper.deleteByExample(example);
} }
public void updateUserCouponStatusById(Integer id) {
mapper.updateUserCouponStatusById(id);
}
} }
\ No newline at end of file
...@@ -34,4 +34,6 @@ public interface UserCouponMapper extends Mapper<UserCoupon> , InsertListMapper< ...@@ -34,4 +34,6 @@ public interface UserCouponMapper extends Mapper<UserCoupon> , InsertListMapper<
List<UserCouponDTO> findUserCoupons(UserCouponFindDTO userCouponFindDTO); List<UserCouponDTO> findUserCoupons(UserCouponFindDTO userCouponFindDTO);
int inserBatch(@Param("userCoupons") List<UserCoupon> userCoupons); int inserBatch(@Param("userCoupons") List<UserCoupon> userCoupons);
void updateUserCouponStatusById(@Param("id") Integer id);
} }
\ No newline at end of file
package com.xxfc.platform.activity.rest.admin; package com.xxfc.platform.activity.rest.admin;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.excel.ExcelImport; import com.github.wxiaoqi.security.common.util.excel.ExcelImport;
import com.github.wxiaoqi.security.common.vo.PageDataVO; import com.github.wxiaoqi.security.common.vo.PageDataVO;
...@@ -78,4 +76,11 @@ public class UserCouponAdminController { ...@@ -78,4 +76,11 @@ public class UserCouponAdminController {
} }
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null); return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);
} }
@DeleteMapping("/{id}")
public ObjectRestResponse<Void> deleteUserConuponById(@PathVariable("id") Integer id) {
userCouponBiz.updateUserCouponStatusById(id);
return ObjectRestResponse.succ();
}
} }
...@@ -109,4 +109,8 @@ ...@@ -109,4 +109,8 @@
(#{userCoupon.userId},#{userCoupon.couponId},#{userCoupon.startTime},#{userCoupon.expireTime},#{userCoupon.crtTime} ) (#{userCoupon.userId},#{userCoupon.couponId},#{userCoupon.startTime},#{userCoupon.expireTime},#{userCoupon.crtTime} )
</foreach> </foreach>
</insert> </insert>
<update id="updateUserCouponStatusById">
update `user_coupon` set `is_del`=1 where `id`=#{id}
</update>
</mapper> </mapper>
\ No newline at end of file
...@@ -9,6 +9,7 @@ import com.xxfc.platform.app.biz.CofigBiz; ...@@ -9,6 +9,7 @@ import com.xxfc.platform.app.biz.CofigBiz;
import com.xxfc.platform.app.entity.Cofig; import com.xxfc.platform.app.entity.Cofig;
import com.xxfc.platform.campsite.feign.CampsiteFeign; import com.xxfc.platform.campsite.feign.CampsiteFeign;
import com.xxfc.platform.tour.feign.TourFeign; import com.xxfc.platform.tour.feign.TourFeign;
import com.xxfc.platform.vehicle.entity.VehicleModel;
import com.xxfc.platform.vehicle.feign.VehicleFeign; import com.xxfc.platform.vehicle.feign.VehicleFeign;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
......
package com.xxfc.platform.campsite.rest; package com.xxfc.platform.campsite.rest;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController; import com.github.wxiaoqi.security.common.rest.BaseController;
import com.github.wxiaoqi.security.common.vo.GoodDataVO; import com.github.wxiaoqi.security.common.vo.GoodDataVO;
import com.github.wxiaoqi.security.common.vo.PageDataVO; import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.sun.org.apache.regexp.internal.RE;
import com.xxfc.platform.campsite.biz.CampsiteShopBiz; import com.xxfc.platform.campsite.biz.CampsiteShopBiz;
import com.xxfc.platform.campsite.entity.CampsiteShop; import com.xxfc.platform.campsite.entity.CampsiteShop;
import com.xxfc.platform.campsite.vo.CampsiteShopDetailVo; import com.xxfc.platform.campsite.vo.CampsiteShopDetailVo;
...@@ -13,11 +11,12 @@ import com.xxfc.platform.campsite.vo.CampsiteShopPageVo; ...@@ -13,11 +11,12 @@ import com.xxfc.platform.campsite.vo.CampsiteShopPageVo;
import com.xxfc.platform.campsite.vo.CampsiteShopVo; import com.xxfc.platform.campsite.vo.CampsiteShopVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* @author libin * @author libin
......
...@@ -19,6 +19,7 @@ import com.xxfc.platform.universal.feign.ThirdFeign; ...@@ -19,6 +19,7 @@ import com.xxfc.platform.universal.feign.ThirdFeign;
import com.xxfc.platform.universal.vo.OrderRefundVo; import com.xxfc.platform.universal.vo.OrderRefundVo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.jexl2.MapContext; import org.apache.commons.jexl2.MapContext;
import org.mockito.internal.util.collections.Sets;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -96,17 +97,23 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> { ...@@ -96,17 +97,23 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
}}); }});
if(null == crosstown) { if(null == crosstown) {
throw new BaseException(ResultCode.PARAM_ILLEGAL_CODE, new HashSet<String>(){{ throw new BaseException(ResultCode.PARAM_ILLEGAL_CODE, Sets.newSet("退款第一部分押金失败,获取不了还车/定损记录,订单号:"+ orderMQDTO.getId()));
add("退款第一部分押金失败,获取不了还车/定损记录,订单号:"+ orderMQDTO.getId());
}});
} }
if(null == crosstown.getRestDeposit()
|| crosstown.getRestDeposit().subtract(illegalReserve).compareTo(BigDecimal.ZERO) < 0 ){
throw new BaseException(ResultCode.PARAM_ILLEGAL_CODE, Sets.newSet("退第一笔押金剩余金额异常,异常记录为:"+ crosstown.getId()));
}
//还车扣除款 剩余的 钱,再减去违章预备金 //还车扣除款 剩余的 钱,再减去违章预备金
BigDecimal refundAmont = crosstown.getRestDeposit().subtract(illegalReserve); BigDecimal refundAmont = crosstown.getRestDeposit().subtract(illegalReserve);
BigDecimal originalRefundAmount = crosstown.getRestDeposit().add(crosstown.getDeductionCost()).subtract(illegalReserve); BigDecimal originalRefundAmount = crosstown.getRestDeposit().add(crosstown.getDeductionCost()).subtract(illegalReserve);
List<DedDetailDTO> dddList = JSONUtil.toBean(crosstown.getDedDetail(), List.class);
String refundDesc = "退还押金:"+ refundAmont.toString()+ "(已扣除 违章预备金:"+ illegalReserve.toString(); String refundDesc = "退还押金:"+ refundAmont.toString()+ "(已扣除 违章预备金:"+ illegalReserve.toString();
for(DedDetailDTO ddd : dddList) { if(null != crosstown.getDedDetail()) {
refundDesc += ", "+ ddd.getDeductions()+ ":"+ ddd.getCost(); List<DedDetailDTO> dddList = JSONUtil.toBean(crosstown.getDedDetail(), List.class);
for(DedDetailDTO ddd : dddList) {
refundDesc += ", "+ ddd.getDeductions()+ ":"+ ddd.getCost();
}
} }
refundDesc += ")"; refundDesc += ")";
refundTrigger(orderMQDTO, orderMQDTO.getOrderRentVehicleDetail(), illegalReserve, originalRefundAmount, refundAmont, refundDesc, RefundStatusEnum.RESIDUE_ILLEGAL.getCode(), RefundTypeEnum.PART_DEPOSIT); refundTrigger(orderMQDTO, orderMQDTO.getOrderRentVehicleDetail(), illegalReserve, originalRefundAmount, refundAmont, refundDesc, RefundStatusEnum.RESIDUE_ILLEGAL.getCode(), RefundTypeEnum.PART_DEPOSIT);
......
...@@ -419,6 +419,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl ...@@ -419,6 +419,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
rentVehicleBookDTO.setUserName(BaseContextHandler.getName()); rentVehicleBookDTO.setUserName(BaseContextHandler.getName());
rentVehicleBookDTO.setLiftCompany(detail.getStartCompanyId()); rentVehicleBookDTO.setLiftCompany(detail.getStartCompanyId());
rentVehicleBookDTO.setLiftAddr(detail.getStartAddr()); rentVehicleBookDTO.setLiftAddr(detail.getStartAddr());
rentVehicleBookDTO.setRetCompany(detail.getEndCompanyId());
if(null != detail.getAccompanyItems()) { if(null != detail.getAccompanyItems()) {
rentVehicleBookDTO.setSelectedAccItem(detail.getAccompanyItems().parallelStream().collect(Collectors.toMap(OrderAccompanyDTO::getId, OrderAccompanyDTO::getNum))); rentVehicleBookDTO.setSelectedAccItem(detail.getAccompanyItems().parallelStream().collect(Collectors.toMap(OrderAccompanyDTO::getId, OrderAccompanyDTO::getNum)));
} }
......
...@@ -108,6 +108,8 @@ public class TourGoodDTO { ...@@ -108,6 +108,8 @@ public class TourGoodDTO {
//商品标签 //商品标签
@ApiModelProperty(value = "商品标签") @ApiModelProperty(value = "商品标签")
List<GoodTagDTO> tagDTOS; List<GoodTagDTO> tagDTOS;
@ApiModelProperty(value = "海报背景")
private String posterBackground;
} }
...@@ -130,6 +130,9 @@ public class TourGood implements Serializable { ...@@ -130,6 +130,9 @@ public class TourGood implements Serializable {
@Column(name = "is_del") @Column(name = "is_del")
@ApiModelProperty(value = "是否删除,0否,1是") @ApiModelProperty(value = "是否删除,0否,1是")
private Integer isDel; private Integer isDel;
@Column(name = "poster_background")
@ApiModelProperty(value = "海报背景")
private String posterBackground;
} }
...@@ -152,4 +152,8 @@ public class VehicleModel implements Serializable { ...@@ -152,4 +152,8 @@ public class VehicleModel implements Serializable {
@Column(name = "cover_pic") @Column(name = "cover_pic")
@ApiModelProperty(value = "封面图") @ApiModelProperty(value = "封面图")
private String coverPic; private String coverPic;
@Column(name = "poster_background")
@ApiModelProperty(value = "海报背景")
private String posterBackground;
} }
...@@ -85,7 +85,7 @@ public interface VehicleFeign { ...@@ -85,7 +85,7 @@ public interface VehicleFeign {
* @param limit * @param limit
* @return 返回 * @return 返回
*/ */
@GetMapping(value = "/vehicleModel/goodList") @GetMapping("/vehicleModel/goodList")
List<GoodDataVO> goodList(@RequestParam(value = "page") Integer page, @RequestParam("limit") Integer limit); List<GoodDataVO> goodList(@RequestParam(value = "page") Integer page, @RequestParam("limit") Integer limit);
/** /**
......
...@@ -36,6 +36,12 @@ public class RentVehicleBookDTO extends PageParam { ...@@ -36,6 +36,12 @@ public class RentVehicleBookDTO extends PageParam {
@ApiModelProperty("提车公司") @ApiModelProperty("提车公司")
private Integer liftCompany; private Integer liftCompany;
/**
* 还车分公司
*/
@ApiModelProperty("还车分公司")
private Integer retCompany;
/** /**
* 目的地 * 目的地
*/ */
......
...@@ -41,6 +41,12 @@ public class UsableVeicleDTO extends PageParam { ...@@ -41,6 +41,12 @@ public class UsableVeicleDTO extends PageParam {
@ApiModelProperty("停靠公司") @ApiModelProperty("停靠公司")
String parkBranchCompanyId; String parkBranchCompanyId;
@ApiModelProperty("开始公司Id")
String startCompanyId;
@ApiModelProperty("结束公司Id")
String endCompanyId;
@ApiModelProperty(hidden = true) @ApiModelProperty(hidden = true)
Boolean yearNo4Where; Boolean yearNo4Where;
......
...@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; ...@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
import com.github.wxiaoqi.security.admin.feign.UserFeign; import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO; import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface; import com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken; import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken;
import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig; import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig;
import com.github.wxiaoqi.security.common.exception.BaseException; import com.github.wxiaoqi.security.common.exception.BaseException;
...@@ -32,6 +33,7 @@ import org.springframework.web.bind.annotation.*; ...@@ -32,6 +33,7 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -155,6 +157,9 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi ...@@ -155,6 +157,9 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi
} }
String host = request.getRemoteHost(); String host = request.getRemoteHost();
if (StringUtils.isBlank(host)) {
return ObjectRestResponse.createDefaultFail();
}
//设置信息 //设置信息
vm.setCrtName(uorr.getData().getName()); vm.setCrtName(uorr.getData().getName());
vm.setCrtUser(uorr.getData().getId()); vm.setCrtUser(uorr.getData().getId());
...@@ -206,7 +211,9 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi ...@@ -206,7 +211,9 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "获取不到用户信息"); return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "获取不到用户信息");
} }
String host = request.getRemoteHost(); String host = request.getRemoteHost();
if (StringUtils.isBlank(host)) {
return ObjectRestResponse.createDefaultFail();
}
// 插入修改时间 // 插入修改时间
vm.setUpdName(uorr.getData().getName()); vm.setUpdName(uorr.getData().getName());
vm.setUpdUser(uorr.getData().getId()); vm.setUpdUser(uorr.getData().getId());
...@@ -287,13 +294,12 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi ...@@ -287,13 +294,12 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi
* @param limit * @param limit
* @return * @return
*/ */
@ApiOperation("优质车型") @ApiOperation("优质车型")
@GetMapping(value = "/goodList") @GetMapping(value = "/goodList")
public List<GoodDataVO> goodList(@RequestParam("page") Integer page, @RequestParam("limit") Integer limit) { @IgnoreUserToken
public List<GoodDataVO> goodList(@RequestParam(value = "page") Integer page, @RequestParam(value = "limit") Integer limit) {
return baseBiz.goodList(page, limit); return baseBiz.goodList(page, limit);
} }
@ApiOperation("上下架") @ApiOperation("上下架")
@PutMapping(value = "/setStatus/{id}/{status}") @PutMapping(value = "/setStatus/{id}/{status}")
@Transactional @Transactional
...@@ -308,6 +314,9 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi ...@@ -308,6 +314,9 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "获取不到用户信息"); return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "获取不到用户信息");
} }
String host = request.getRemoteHost(); String host = request.getRemoteHost();
if (StringUtils.isBlank(host)) {
return ObjectRestResponse.createDefaultFail();
}
VehicleModel vehicleModel = new VehicleModel(); VehicleModel vehicleModel = new VehicleModel();
vehicleModel.setId(id); vehicleModel.setId(id);
vehicleModel.setStatus(status); vehicleModel.setStatus(status);
......
...@@ -573,10 +573,19 @@ ...@@ -573,10 +573,19 @@
</if> </if>
left join vehicle_model vm on v.model_id = vm.id left join vehicle_model vm on v.model_id = vm.id
left join branch_company bc on v.park_branch_company_id = bc.id left join branch_company bc on v.park_branch_company_id = bc.id
<if test="startCompanyId != null and endCompanyId != null ">
left join (
<include refid="aroundBookRecord"></include>
) abr on v.`id` = abr.vehicle_id
</if>
<if test=" catas != null "> <if test=" catas != null ">
left join vehicle_cata vc on vm.id = vc.vehicle_model_id left join vehicle_cata vc on vm.id = vc.vehicle_model_id
</if> </if>
<where> <where>
<!-- 若需根据预定日期条件查询,针对换为位操作 -->
<!-- yearNo4Where 标识时间参数是否用于where条件 -->
(abr.to_lift_company = null or (abr.to_lift_company = ))
<!-- 若需根据预定日期条件查询,针对换为位操作 --> <!-- 若需根据预定日期条件查询,针对换为位操作 -->
<!-- yearNo4Where 标识时间参数是否用于where条件 --> <!-- yearNo4Where 标识时间参数是否用于where条件 -->
<if test=" yearMonthAndParam !=null and yearNo4Where == null"> <if test=" yearMonthAndParam !=null and yearNo4Where == null">
...@@ -585,7 +594,13 @@ ...@@ -585,7 +594,13 @@
<include refid="yearMonthAndParamSql"></include> <include refid="yearMonthAndParamSql"></include>
</foreach> </foreach>
</if> </if>
<if test="startCompanyId != null and endCompanyId != null ">
and (
(abr.to_lift_company = null or abr.to_lift_company = #{startCompanyId})
and
(abr.to_return_company = null or abr.to_return_company = #{endCompanyId})
)
</if>
<if test=" modelId != null "> <if test=" modelId != null ">
and v.model_id = #{modelId} and v.model_id = #{modelId}
</if> </if>
...@@ -611,4 +626,17 @@ ...@@ -611,4 +626,17 @@
) )
</sql> </sql>
<!-- 前后被预定的情况 -->
<sql id = "aroundBookRecord">
select sevbr.*
, vbre.ret_company as to_lift_company
, vbrs.lift_company as to_return_company
from
(select vehicle_id, max(if(book_end_date &lt; #{start_date_extend}, book_end_date, null)) as max_book_end_date, min(if(book_start_date &gt; #{end_date_extend}, book_start_date, null)) as min_book_start_date from vehicle_book_record where status != 4 and status != 6 group by vehicle_id) sevbr
left join vehicle_book_record vbre
on sevbr.vehicle_id = vbre.vehicle_id and sevbr.max_book_end_date = vbre.book_end_date and vbre.status != 4 and vbre.status != 6
left join vehicle_book_record vbrs
on sevbr.vehicle_id = vbrs.vehicle_id and sevbr.min_book_start_date = vbrs.book_start_date and vbrs.status != 4 and vbrs.status != 6;
</sql>
</mapper> </mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment