Commit c50b26f2 authored by libin's avatar libin

Merge remote-tracking branch 'origin/dev' into dev

parents 70f2452b c95ebfe6
......@@ -39,8 +39,6 @@ public class DailyMembersOrderStatisticsBiz extends BaseBiz<DailyMembersOrderSta
private final Integer headOfficeId = 1;
@Value("${order.day}")
private Integer day;
/**
* 总公司id默认为1
......@@ -50,7 +48,7 @@ public class DailyMembersOrderStatisticsBiz extends BaseBiz<DailyMembersOrderSta
private OrderAccountBiz accountBiz;
@Transactional(rollbackFor = Exception.class)
public boolean saveDailyMembersOrderRecord() {
public boolean saveDailyMembersOrderRecord(Integer day) {
try {
List<OrderAccountDTO> accountList = accountBiz.getOrderAccountByOrderType(OrderTypeEnum.MEMBER.getCode(), day);
......
......@@ -25,11 +25,11 @@ public class DailyOrderStatisticsBiz extends BaseBiz<DailyOrderStatisticsMapper,
@Autowired
private DailyMembersOrderStatisticsBiz membersStatisticsBiz;
@Scheduled(cron = "0 0 2 * * ?")
public boolean statisticalOrder(){
boolean vehicleFlag = vehicleStatisticsBiz.saveDailyVehicleOrderRecord();
boolean travelFlag = travelStatisticsBiz.saveDailyTravelOrderRecord();
boolean membersFlag= membersStatisticsBiz.saveDailyMembersOrderRecord();
// @Scheduled(cron = "0 0 2 * * ?")
public boolean statisticalOrder(Integer day){
boolean vehicleFlag = vehicleStatisticsBiz.saveDailyVehicleOrderRecord(day);
boolean travelFlag = travelStatisticsBiz.saveDailyTravelOrderRecord(day);
boolean membersFlag= membersStatisticsBiz.saveDailyMembersOrderRecord(day);
if (vehicleFlag&&travelFlag&&membersFlag){
log.info("----statisticalOrder:成功-----");
......
......@@ -39,8 +39,6 @@ import java.util.stream.Collectors;
@Service
@Slf4j
public class DailyTravelOrderStatisticsBiz extends BaseBiz<DailyTravelOrderStatisticsMapper, DailyTravelOrderStatistics> {
@Value("${order.day}")
private Integer day;
@Autowired
......@@ -108,10 +106,10 @@ public class DailyTravelOrderStatisticsBiz extends BaseBiz<DailyTravelOrderStati
* @return
*/
@Transactional(rollbackFor = Exception.class)
public boolean saveDailyTravelOrderRecord() {
public boolean saveDailyTravelOrderRecord(Integer day) {
try {
//获取每日订单统计
List<DailyTravelOrderStatistics> orderStatistics = getDailyTravelOrderStatistics();
List<DailyTravelOrderStatistics> orderStatistics = getDailyTravelOrderStatistics(day);
log.info("Travel:统计完成");
if (CollectionUtils.isNotEmpty(orderStatistics)) {
for (DailyTravelOrderStatistics orderStatistic : orderStatistics) {
......@@ -153,7 +151,7 @@ public class DailyTravelOrderStatisticsBiz extends BaseBiz<DailyTravelOrderStati
}
return true;
}
private List<DailyTravelOrderStatistics> getDailyTravelOrderStatistics() {
private List<DailyTravelOrderStatistics> getDailyTravelOrderStatistics(Integer day) {
//获取当天所有订单账目
List<OrderAccountDTO> accountList = accountBiz.getOrderAccountByOrderType(OrderTypeEnum.TOUR.getCode(), day);
if (CollectionUtils.isEmpty(accountList)) {
......
......@@ -52,11 +52,6 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta
*/
private final Integer TYPE_OTHER = 3;
/**
* 统计几天前的数据
*/
@Value("${order.day}")
private Integer day;
@Autowired
......@@ -246,10 +241,10 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta
* @return
*/
@Transactional(rollbackFor = Exception.class)
public boolean saveDailyVehicleOrderRecord() {
public boolean saveDailyVehicleOrderRecord(Integer day) {
try {
//获取每日订单统计
List<DailyVehicleOrderStatistics> orderStatistics = getDailyVehicleOrderRecord();
List<DailyVehicleOrderStatistics> orderStatistics = getDailyVehicleOrderRecord(day);
log.info("Vehicle:统计完成");
if (CollectionUtils.isNotEmpty(orderStatistics)) {
for (DailyVehicleOrderStatistics orderStatistic : orderStatistics) {
......@@ -292,8 +287,9 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta
* 获取所有分公司每日统计记录
*
* @return
* @param day
*/
private List<DailyVehicleOrderStatistics> getDailyVehicleOrderRecord() {
private List<DailyVehicleOrderStatistics> getDailyVehicleOrderRecord(Integer day) {
//获取当天所有订单账目
List<OrderAccountDTO> accountList = accountBiz.getOrderAccountByOrderType(OrderTypeEnum.RENT_VEHICLE.getCode(), day);
if (CollectionUtils.isEmpty(accountList)) {
......
......@@ -518,8 +518,6 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> {
* @return
*/
public List<OrderAccountDTO> getOrderAccountByOrderType(Integer code, Integer day) {
return mapper.getOrderAccountByOrderType(code,day);
}
......
package com.xxfc.platform.order.jobhandler;
import com.xxfc.platform.order.biz.BaseOrderBiz;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.google.common.collect.Lists;
import com.xxfc.platform.order.biz.DailyOrderStatisticsBiz;
import com.xxfc.platform.order.biz.DailyVehicleOrderStatisticsBiz;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.IJobHandler;
import com.xxl.job.core.handler.annotation.JobHandler;
import com.xxl.job.core.log.XxlJobLogger;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.formula.functions.T;
import org.joda.time.DateTime;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* 每天2定时统计前一天的数据
* 每天2点定时统计前一天的数据
*
* @author Administrator
*/
@JobHandler(value = "baseOrderStatisticsHandler")
......@@ -22,26 +34,97 @@ public class BaseOrderStatisticsJobHandler extends IJobHandler {
@Autowired
private DailyOrderStatisticsBiz statisticsBiz;
@Value("${order.day:1}")
private Integer day;
/**
* 每日定时执行订单统计
*
* @param date 重新统计起止日期.可以为:起止时间(yyyy-MM-dd),开始时间/结束时间(yyyy-MM-dd/yyyy-MM-dd)
* @return
*/
@Override
public ReturnT<String> execute(String s){
public ReturnT<String> execute(String date) {
try {
log.info("-----定时器进入---baseOrderStatisticsHandler---" + date);
XxlJobLogger.log("-----定时器进入---baseOrderStatisticsHandler---" + date);
ArrayList<Integer> arrayList = Lists.newArrayList();
if (StringUtils.isBlank(date)) {
arrayList.add(day);
} else {
arrayList = dateDifferenceSet(date);
}
log.info("获取到当前需要执行的日期,距离当前时间的天数集合" + arrayList);
XxlJobLogger.log("获取到当前需要执行的日期,距离当前时间的天数集合" + arrayList);
for (Integer day : arrayList) {
boolean flag = statisticsBiz.statisticalOrder(day);
log.info("执行状态:" + day+"="+flag);
XxlJobLogger.log("执行状态:" + day+"="+flag);
}
XxlJobLogger.log("-----定时器进入---baseOrderStatisticsHandler---");
log.info("-----定时器进入---baseOrderStatisticsHandler---");
// boolean flag = statisticsBiz.statisticalOrder();
// if (flag) {
return ReturnT.SUCCESS;
// }
// else {
// returnT.setCode(500);
// returnT.setMsg("失败");
// return returnT;
// }
return new ReturnT<>(ReturnT.SUCCESS_CODE,"执行成功");
} catch (Exception e) {
XxlJobLogger.log(e);
return FAIL;
} finally {
log.error(e.getMessage());
return new ReturnT<>(ReturnT.FAIL_CODE,"执行失败");
}
}
private ArrayList<Integer> dateDifferenceSet(String date) throws ParseException {
Long maxDate;
Long minDate;
Long currentTime= System.currentTimeMillis();
if (date.contains("/")) {
String[] dates = date.split("/");
Long date1 = getDateByString(dates[0]);
Long date2 = getDateByString(dates[1]);
if (date1<date2) {
maxDate=date2;
minDate=date1;
}else{
maxDate=date1;
minDate=date2;
}
if (minDate<currentTime&&maxDate>currentTime){
maxDate=currentTime;
}else if (minDate>currentTime){
throw new BaseException("设置的日期,大于当前日期!");
}
}else {
Long dt = getDateByString(date);
if (dt>currentTime) {
throw new BaseException("设置的日期,大于当前日期!");
}
minDate=dt;
maxDate=currentTime;
}
//距离今天的最小天数差
int minDay = (int) ((currentTime-minDate)/(24*60*60*1000));
//距离今天的最大天数差
int maxDay = (int) ((currentTime-maxDate)/(24*60*60*1000));
return getListByMinDayAndMaxDay(minDay,maxDay);
}
private Long getDateByString(String date) throws ParseException {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
return dateFormat.parse(date).getTime();
}
private ArrayList<Integer> getListByMinDayAndMaxDay(int minDay,int maxDay){
ArrayList<Integer> arrayList = Lists.newArrayList();
for (int day=maxDay;day<=maxDay;day++){
arrayList.add(day);
}
return arrayList;
}
}
......@@ -328,6 +328,7 @@ public class BackStageOrderController extends CommonBaseController implements Us
//查询列表数据
Query query = baseOrderBiz.initQuery(dto.getNo());
query.put("crtUser", null);
query.put("userId", null);
PageDataVO<OrderPageVO> page = PageDataVO.pageInfo(query, () -> baseOrderBiz.pageByParm(query.getSuper()));
OrderPageVO orderPageVO = page.getData().get(0);
if(null == orderPageVO) {
......
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.order.OrderApplication;
import com.xxfc.platform.order.biz.DailyOrderStatisticsBiz;
import com.xxfc.platform.order.biz.OrderStatisticsBiz;
import com.xxfc.platform.order.jobhandler.BaseOrderStatisticsJobHandler;
import com.xxfc.platform.order.pojo.HomePageOrderData;
import org.joda.time.DateTime;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @author libin
* @version 1.0
......@@ -29,17 +30,53 @@ public class ServiceTest {
@Autowired
private OrderStatisticsBiz statisticsBiz;
@Autowired
private BaseOrderStatisticsJobHandler handler;
@Test
public void testSchedu(){
dailyOrderStatisticsBiz.statisticalOrder();
dailyOrderStatisticsBiz.statisticalOrder(1);
}
@Test
public void test() throws ParseException {
String d="2019-09-01";
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date parse = dateFormat.parse(d);
System.out.println(parse);
}
@Test
public void test(){
public void test2() {
DateTime dateTime = DateTime.parse("2019-10-10");
System.out.println(dateTime);
}
@Test
public void test3() {
DateTime dateTime = DateTime.parse("2019-10-10");
Date date = dateTime.toDate();
DateTime dateTime1 = DateTime.parse("2019-12-10");
Date date1 = dateTime1.toDate();
System.out.println(date);
System.out.println(date1);
System.out.println(date.before(date1));
System.out.println(date.after(date1));
}
@Test
public void test4(){
HomePageOrderData totalOrder = statisticsBiz.getTotalOrder(null);
System.out.println(totalOrder);
}
@Test
public void handlerTeset() {
handler.execute("2019-10-12");
}
}
......@@ -5,12 +5,14 @@ import com.xxfc.platform.summit.dto.ActivityShowDto;
import com.xxfc.platform.summit.entity.Activity;
import com.xxfc.platform.summit.entity.ActivityShow;
import com.xxfc.platform.summit.mapper.ActivityShowMapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.BeanUtilsBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.web.bind.annotation.GetMapping;
import sun.rmi.runtime.Log;
import java.lang.reflect.InvocationTargetException;
......@@ -18,6 +20,7 @@ import java.lang.reflect.InvocationTargetException;
* @author Administrator
*/
@Service
@Slf4j
public class ActivityShowBiz extends BaseBiz<ActivityShowMapper, ActivityShow> {
@Autowired
......@@ -46,6 +49,7 @@ public class ActivityShowBiz extends BaseBiz<ActivityShowMapper, ActivityShow> {
}
} catch (Exception e) {
e.printStackTrace();
log.error(e.toString());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return false;
}
......
......@@ -12,7 +12,7 @@
and title like CONCAT('%',#{title},'%')
</if>
<if test="startTime != null">
and from_unixtime(start_time,'%Y-%m-%e %H')=from_unixtime(unix_timestamp(), '%Y-%m-%e %H')
and from_unixtime(start_time/1000,'%Y-%m-%e %H')=from_unixtime(unix_timestamp(), '%Y-%m-%e %H')
</if>
<if test="status != null and status == 1">
and (status=#{status} or (status=0 and (start_time/1000) &gt;= unix_timestamp()) )
......
......@@ -134,6 +134,7 @@ public class VehicleModel implements Serializable {
private Integer hotSign;
@ApiModelProperty(value = "是否删除")
@Column(name = "isdel")
private Integer isdel;
@Column(name = "rent_discount_status")
@ApiModelProperty(value = "租车优惠状态 0--没有优惠;1--会员折扣;2--固定值")
......
......@@ -49,6 +49,11 @@ public class VehiclePageQueryVo {
* 用途类型:租赁房车(1)、展车等,对应关系见车辆常量表
*/
private Integer useType;
/**
* 托管人
*/
private String belongToName;
/**
* 预定目标日期(开始)
*/
......
......@@ -1491,6 +1491,29 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
return count > 0;
}
public Boolean checkVinExist(String vin, String id) {
Example example = new Example(Vehicle.class);
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("vin", vin);
criteria.andEqualTo("isDel",0);
if (StringUtils.isNotEmpty(id)) {
criteria.andNotEqualTo("id", id);
}
int count = mapper.selectCountByExample(example);
return count > 0;
}
public Boolean checkEngineNumExist(String engineNum, String id) {
Example example = new Example(Vehicle.class);
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("engineNum", engineNum);
criteria.andEqualTo("isDel",0);
if (StringUtils.isNotEmpty(id)) {
criteria.andNotEqualTo("id", id);
}
int count = mapper.selectCountByExample(example);
return count > 0;
}
public List<String> findbyPlateNumberAndVehicleCod(String plateNumber,String vehicleCode) {
List<String> vehicleIds = Lists.newArrayList();
......
......@@ -34,17 +34,17 @@ public class VehicleDepartureService extends BaseBiz<VehicleDepartureLogMapper,
@Autowired
VehicleMapper vehicleMapper;
public PageInfo<VehicleDepartureLogVo> page(String numberPlate,Integer code,Integer zoneId,Integer departureId, String time, Integer page, Integer limit) {
public PageInfo<VehicleDepartureLogVo> page(String numberPlate,Integer code,Integer zoneId,Integer departureId, String startTime,String endTime, Integer page, Integer limit) {
PageHelper.startPage(page, limit);
return new PageInfo<>(mapper.selectVoAll(numberPlate,code,zoneId,departureId,time));
return new PageInfo<>(mapper.selectVoAll(numberPlate,code,zoneId,departureId,startTime, endTime));
}
public PageInfo<VehicleDepartureLogVo> pageNotAllData(String numberPlate,Integer code,Integer zoneId,Integer departureId, String time, Integer page, Integer limit, List<Integer> companyList) {
public PageInfo<VehicleDepartureLogVo> pageNotAllData(String numberPlate,Integer code,Integer zoneId,Integer departureId, String startTime,String endTime, Integer page, Integer limit, List<Integer> companyList) {
PageHelper.startPage(page, limit);
if (companyList == null || companyList.size() == 0) {
companyList = Arrays.asList(-1);
}
return new PageInfo<>(mapper.selectVoAllNotAllData(numberPlate,code,zoneId,departureId,time, companyList));
return new PageInfo<>(mapper.selectVoAllNotAllData(numberPlate,code,zoneId,departureId,startTime, endTime, companyList));
}
public PageInfo<VehicleDepartureLogVo> findByVehicle(String vehicleId, Integer page, Integer limit) {
......
......@@ -20,13 +20,16 @@ public interface VehicleDepartureLogMapper extends BaseMapper<VehicleDepartureLo
@Param("code") Integer code,
@Param("zoneId") Integer zoneId,
@Param("departureId") Integer departureId,
@Param("time") String time);
@Param("startTime") String startTime,
@Param("endTime") String endTime
);
List<VehicleDepartureLogVo> selectVoAllNotAllData(@Param("numberPlate") String numberPlate,
@Param("code") Integer code,
@Param("zoneId") Integer zoneId,
@Param("departureId") Integer departureId,
@Param("time") String time,
@Param("startTime") String startTime,
@Param("endTime") String endTime,
@Param("companyList") List<Integer> companyList);
Integer selectMileageByVehicleId(String vehicleId);
......
......@@ -561,6 +561,17 @@ public class VehicleController extends BaseController<VehicleBiz> implements Use
return ObjectRestResponse.succ(exist);
}
@GetMapping("/exist_vin/{vin}")
public ObjectRestResponse<Boolean> checkVinExist(@PathVariable(value = "vin") String vin,@RequestParam(value = "id") String id){
Boolean exist = vehicleBiz.checkVinExist(vin,id);
return ObjectRestResponse.succ(exist);
}
@GetMapping("/exist_engineNum/{engineNum}")
public ObjectRestResponse<Boolean> checkEngineNumExist(@PathVariable(value = "engineNum") String engineNum,@RequestParam(value = "id") String id){
Boolean exist = vehicleBiz.checkEngineNumExist(engineNum,id);
return ObjectRestResponse.succ(exist);
}
@GetMapping("/findVehicleIds")
public List<String> findbyPlateNumberAndVehicleCod(@RequestParam(value = "plateNumber",required = false) String plateNumber,@RequestParam(value = "vehicleCode",required = false) String vehicleCode){
......
......@@ -36,7 +36,7 @@ public class VehicleDepartureController {
/**
* @param numberPlate 车牌
* @param code 车辆编码
* @param time
* @param
* @param departureId 出发分公司id
* @param page
* @param limit
......@@ -45,7 +45,7 @@ public class VehicleDepartureController {
*/
@GetMapping("page")
public RestResponse page(String numberPlate,
@RequestParam(value = "code", required = false) Integer code, String time,
@RequestParam(value = "code", required = false) Integer code, String startTime, String endTime,
@RequestParam(value = "zoneId",required = false) Integer zoneId,
@RequestParam(value = "departureId", required = false) Integer departureId,
Integer page, Integer limit, HttpServletRequest request) {
......@@ -57,15 +57,15 @@ public class VehicleDepartureController {
if (userDTO != null) {
if (userDTO.getDataAll() == 2) {
List<Integer> companyList = vehicleBiz.dataCompany(userDTO.getDataZone(), userDTO.getDataCompany());
return RestResponse.data(vehicleDepartureService.pageNotAllData(numberPlate, code, zoneId,departureId, time, page, limit, companyList));
return RestResponse.data(vehicleDepartureService.pageNotAllData(numberPlate, code, zoneId,departureId, startTime, endTime, page, limit, companyList));
}
}
return RestResponse.suc(vehicleDepartureService.page(numberPlate, code, zoneId,departureId, time, page, limit));
return RestResponse.suc(vehicleDepartureService.page(numberPlate, code, zoneId,departureId, startTime, endTime, page, limit));
}
@GetMapping("small/page")
@IgnoreUserToken
public RestResponse pageBySmall(String numberPlate, @RequestParam(value = "code", required = false) Integer code, String time, Integer page, Integer limit, Integer uid, HttpServletRequest request) {
public RestResponse pageBySmall(String numberPlate, @RequestParam(value = "code", required = false) Integer code, String startTime, String endTime,Integer page, Integer limit, Integer uid, HttpServletRequest request) {
if (page == null || limit == null) {
page = 1;
limit = 10;
......@@ -74,10 +74,10 @@ public class VehicleDepartureController {
if (userDTO != null) {
if (userDTO.getDataAll() == 2) {
List<Integer> companyList = vehicleBiz.dataCompany(userDTO.getDataZone(), userDTO.getDataCompany());
return RestResponse.data(vehicleDepartureService.pageNotAllData(numberPlate, code, null,null, time, page, limit, companyList));
return RestResponse.data(vehicleDepartureService.pageNotAllData(numberPlate, code, null,null, startTime,endTime, page, limit, companyList));
}
}
return RestResponse.suc(vehicleDepartureService.page(numberPlate, code, null,null, time, page, limit));
return RestResponse.suc(vehicleDepartureService.page(numberPlate, code, null,null, startTime,endTime, page, limit));
}
/**
......
......@@ -472,7 +472,7 @@
CONCAT(#{selectedMonth}, "%"))
</if>
<if test="numberPlate != null">
and v3.number_plate = #{numberPlate}
and v3.number_plate like concat('%', #{numberPlate}, '%')
</if>
<if test="bookType != null">
and v1.book_type = #{bookType}
......
......@@ -100,18 +100,12 @@
<if test="numberPlate != null and numberPlate != ''">
and vehicle.number_plate = #{numberPlate}
</if>
<if test="time != null and time != ''">
and (vehicle_departure_log.arrival_time >= str_to_date(#{time}, '%Y-%m-%d %H')
or TO_DAYS(vehicle_departure_log.arrival_time)=TO_DAYS(str_to_date(#{time}, '%Y-%m-%d %H'))
or vehicle_departure_log.arrival_time is null
)
<if test="startTime != null and startTime != ''">
and
(
vehicle_departure_log.departure_time &lt;= str_to_date(#{time}, '%Y-%m-%d %H')
or TO_DAYS(vehicle_departure_log.departure_time)=TO_DAYS(str_to_date(#{time}, '%Y-%m-%d %H'))
or vehicle_departure_log.departure_time is null
)
vehicle_departure_log.departure_time &gt;= str_to_date(#{startTime}, '%Y-%m-%d %H')
</if>
<if test="endTime != null and endTime != ''">
and vehicle_departure_log.arrival_time &gt;= str_to_date(#{endTime}, '%Y-%m-%d %H')
</if>
<if test="code!=null">
and vehicle.code=#{code}
......@@ -158,17 +152,17 @@
)
)
</if>
<if test="time != null and time != ''">
and (vehicle_departure_log.arrival_time >= str_to_date(#{time}, '%Y-%m-%d %H')
or TO_DAYS(vehicle_departure_log.arrival_time)=TO_DAYS(str_to_date(#{time}, '%Y-%m-%d %H'))
or vehicle_departure_log.arrival_time is null
)
<if test="startTime != null and startTime != ''">
and
(
vehicle_departure_log.departure_time &lt;= str_to_date(#{time}, '%Y-%m-%d %H')
or TO_DAYS(vehicle_departure_log.departure_time)=TO_DAYS(str_to_date(#{time}, '%Y-%m-%d %H'))
vehicle_departure_log.departure_time &lt;= str_to_date(#{startTime}, '%Y-%m-%d %H')
or TO_DAYS(vehicle_departure_log.departure_time)=TO_DAYS(str_to_date(#{startTime}, '%Y-%m-%d %H'))
or vehicle_departure_log.departure_time is null
)
</if>
<if test="endTime != null and endTime != ''">
and vehicle_departure_log.arrival_time >= str_to_date(#{endTime}, '%Y-%m-%d %H')
or TO_DAYS(vehicle_departure_log.arrival_time)=TO_DAYS(str_to_date(#{endTime}, '%Y-%m-%d %H'))
or vehicle_departure_log.arrival_time is null
</if>
<if test="code!=null">
and vehicle.code=#{code}
......
......@@ -88,6 +88,8 @@
LEFT JOIN branch_company bc1 ON v.expect_destination_branch_company_id = bc1.id
-- 所属分公司
LEFT JOIN branch_company bc2 ON v.subordinate_branch = bc2.id
LEFT JOIN vehicle_book_record v2 on v2.vehicle_id = v.id
LEFT JOIN vehicle_departure_log v3 on v2.id = v3.book_record_id
where
v.is_del=0
<if test="mRangeDateEnd !=null">
......@@ -114,6 +116,9 @@
<if test="insuranceCompany !=null">
and v.insurance_company = #{insuranceCompany}
</if>
<if test="belongToName !=null">
and v.belong_to_name = #{belongToName}
</if>
<if test="vin !=null and vin != ''">
and v.vin = #{vin}
</if>
......@@ -123,9 +128,15 @@
<if test="code !=null">
and v.code = #{code}
</if>
<if test="status !=null">
<if test="status !=null and status != 6 and status != 7">
and v.status = #{status}
</if>
<if test="status !=null and status == 6">
and v3.id is not NULL and v2.book_type = 3 and v3.state = 0
</if>
<if test="status !=null and status == 7">
and v3.id is not NULL and v2.book_type = 6 and v3.state = 0
</if>
<if test="numberPlate !=null and numberPlate != ''">
and v.number_plate like concat('%',#{numberPlate},'%')
</if>
......@@ -266,6 +277,9 @@
<if test="insuranceCompany !=null">
and v.insurance_company = #{insuranceCompany}
</if>
<if test="belongToName !=null">
and v.belong_to_name = #{belongToName}
</if>
<if test="vin !=null and vin != ''">
and v.vin = #{vin}
</if>
......
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