Commit d60de735 authored by jiaorz's avatar jiaorz

发现排序

parent c9938091
...@@ -2,6 +2,7 @@ package com.xxfc.platform.activity.user; ...@@ -2,6 +2,7 @@ package com.xxfc.platform.activity.user;
import com.github.wxiaoqi.security.admin.feign.UserFeign; import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO; import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -26,4 +27,13 @@ public class UserInfoBiz { ...@@ -26,4 +27,13 @@ public class UserInfoBiz {
} }
return null; return null;
} }
public UserDTO getAdminUserInfo() {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
if(request.getHeader("Authorization") !=null) {
return userFeign.userinfoByToken(request.getHeader("Authorization")).getData();
}
return null;
}
} }
...@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; ...@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions; import cn.hutool.core.bean.copier.CopyOptions;
import com.github.wxiaoqi.security.admin.feign.UserFeign; import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO; import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.activity.user.UserInfoBiz; import com.xxfc.platform.activity.user.UserInfoBiz;
...@@ -74,14 +75,14 @@ public class OrderVehicalCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -74,14 +75,14 @@ public class OrderVehicalCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
public ObjectRestResponse<OrderVehicleCrosstownDto> add(OrderVehicleCrosstownDto orderVehicleCrosstownDto) { public ObjectRestResponse<OrderVehicleCrosstownDto> add(OrderVehicleCrosstownDto orderVehicleCrosstownDto) {
log.info("添加的参数:orderVehicaleCrosstown = {}", orderVehicleCrosstownDto); log.info("添加的参数:orderVehicaleCrosstown = {}", orderVehicleCrosstownDto);
AppUserDTO appUserDTO = userInfoBiz.getUserInfo(); UserDTO userDTO = userInfoBiz.getAdminUserInfo();
if (appUserDTO == null) { if (userDTO == null) {
return ObjectRestResponse.createFailedResult(508, "token is null or invalid"); return ObjectRestResponse.createFailedResult(508, "token is null or invalid");
} }
if (orderVehicleCrosstownDto == null || orderVehicleCrosstownDto.getOrderId() == null ) { if (orderVehicleCrosstownDto == null || orderVehicleCrosstownDto.getOrderId() == null ) {
return ObjectRestResponse.createFailedResult(500, "参数为空!"); return ObjectRestResponse.createFailedResult(500, "参数为空!");
} }
orderVehicleCrosstownDto.setOrperaterId(appUserDTO.getUserid()); orderVehicleCrosstownDto.setOrperaterId(userDTO.getId());
BaseOrder baseOrder = baseOrderBiz.selectById(orderVehicleCrosstownDto.getOrderId()); BaseOrder baseOrder = baseOrderBiz.selectById(orderVehicleCrosstownDto.getOrderId());
if(baseOrder == null) { if(baseOrder == null) {
return ObjectRestResponse.createFailedResult(500,"订单不存在!"); return ObjectRestResponse.createFailedResult(500,"订单不存在!");
......
...@@ -3,10 +3,18 @@ package com.xxfc.platform.vehicle.constant; ...@@ -3,10 +3,18 @@ package com.xxfc.platform.vehicle.constant;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
/**
* 预定车辆用途
*/
public enum BookType { public enum BookType {
USER_RENT(1,"用户租赁"), EMPLOYEE_APPLY(1,"还车"),
EMPLOYEE_APPLY(2,"内部员工申请"), USER_RENT(2,"租车"),
REPAIRING(3,"维修"), REPAIRING(3,"维修"),
SHOW(4,"展览"),
TOUR(5,"旅游"),
MAINTAIN(6,"保养"),
BOOKING(7,"预约中"),
DISABLE(8,"禁用")
; ;
/** /**
* 编码 * 编码
......
...@@ -27,4 +27,7 @@ public class VehicleBookHourInfo { ...@@ -27,4 +27,7 @@ public class VehicleBookHourInfo {
@Column(name = "update_time") @Column(name = "update_time")
private Date updateTime; private Date updateTime;
@Column(name = "book_record_id")
private Long bookRecordId;
} }
\ No newline at end of file
...@@ -4,6 +4,7 @@ import lombok.Data; ...@@ -4,6 +4,7 @@ import lombok.Data;
import javax.persistence.*; import javax.persistence.*;
import java.util.Date; import java.util.Date;
import java.util.List;
@Table(name = "vehicle_book_record") @Table(name = "vehicle_book_record")
@Data @Data
...@@ -26,7 +27,7 @@ public class VehicleBookRecord { ...@@ -26,7 +27,7 @@ public class VehicleBookRecord {
private Integer status; private Integer status;
/** /**
* 预定类型,1-用户租赁、2-分公司使用、3-维修 * 预定类型,1-租车、2-分公司使用、3-维修、4、展览、5、旅游、6、保养、7、预约中、8、禁用
*/ */
@Column(name = "book_type") @Column(name = "book_type")
private Integer bookType; private Integer bookType;
...@@ -175,5 +176,15 @@ public class VehicleBookRecord { ...@@ -175,5 +176,15 @@ public class VehicleBookRecord {
*/ */
private Integer haveViolation; private Integer haveViolation;
/**
* 订单号
*/
private String orderNo;
@Transient
private List<String> startHourList;
@Transient
private List<String> endHourList;
} }
\ No newline at end of file
...@@ -87,4 +87,9 @@ public class BookVehicleVO { ...@@ -87,4 +87,9 @@ public class BookVehicleVO {
//还车分公司 //还车分公司
private Integer retCompany; private Integer retCompany;
/**
* 预定车辆用途
*/
private Integer bookType;
} }
\ No newline at end of file
...@@ -44,4 +44,8 @@ public class RentVehicleBookDTO extends PageParam { ...@@ -44,4 +44,8 @@ public class RentVehicleBookDTO extends PageParam {
*/ */
@ApiModelProperty("用户名") @ApiModelProperty("用户名")
private String userName; private String userName;
@ApiModelProperty("订单号")
private String orderNo;
} }
\ No newline at end of file
package com.xxfc.platform.vehicle.pojo;
import com.xxfc.platform.vehicle.entity.VehicleBookHourInfo;
import com.xxfc.platform.vehicle.entity.VehicleBookRecord;
import lombok.Data;
@Data
public class VehicleBookRecordDateVo extends VehicleBookRecord {
VehicleBookHourInfo vehicleBookHourInfo;
}
...@@ -26,7 +26,7 @@ public class VehicleBookHourInfoBiz extends BaseBiz<VehicleBookHourInfoMapper, V ...@@ -26,7 +26,7 @@ public class VehicleBookHourInfoBiz extends BaseBiz<VehicleBookHourInfoMapper, V
public static final DateTimeFormatter DEFAULT_DATE_TIME_FORMATTER = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss"); public static final DateTimeFormatter DEFAULT_DATE_TIME_FORMATTER = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
public static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormat.forPattern("yyyy-MM-dd"); public static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormat.forPattern("yyyy-MM-dd");
public Map<String, Integer> getPredictableHours(String bookStartdate, String bookEndDate) { public static Map<String, Integer> getPredictableHours(String bookStartdate, String bookEndDate) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date startDate = null; Date startDate = null;
Date endDate = null; Date endDate = null;
...@@ -50,7 +50,7 @@ public class VehicleBookHourInfoBiz extends BaseBiz<VehicleBookHourInfoMapper, V ...@@ -50,7 +50,7 @@ public class VehicleBookHourInfoBiz extends BaseBiz<VehicleBookHourInfoMapper, V
int endHour = new DateTime(endDate).hourOfDay().get(); int endHour = new DateTime(endDate).hourOfDay().get();
//获取开始天的预定小时 //获取开始天的预定小时
int startPredictableHour = 0; int startPredictableHour = 0;
for (int curentHour = hour; curentHour < 24; curentHour++) { for (int curentHour = hour; curentHour <= 24; curentHour++) {
startPredictableHour |= 1 << (curentHour - 1); startPredictableHour |= 1 << (curentHour - 1);
} }
//获取结束天的预定小时 //获取结束天的预定小时
...@@ -60,10 +60,11 @@ public class VehicleBookHourInfoBiz extends BaseBiz<VehicleBookHourInfoMapper, V ...@@ -60,10 +60,11 @@ public class VehicleBookHourInfoBiz extends BaseBiz<VehicleBookHourInfoMapper, V
} }
predictableHours.put(DateTime.parse(bookStartdate, DEFAULT_DATE_TIME_FORMATTER).toString(DATE_TIME_FORMATTER), startPredictableHour); predictableHours.put(DateTime.parse(bookStartdate, DEFAULT_DATE_TIME_FORMATTER).toString(DATE_TIME_FORMATTER), startPredictableHour);
predictableHours.put(DateTime.parse(bookEndDate, DEFAULT_DATE_TIME_FORMATTER).toString(DATE_TIME_FORMATTER), endPredictableHour); predictableHours.put(DateTime.parse(bookEndDate, DEFAULT_DATE_TIME_FORMATTER).toString(DATE_TIME_FORMATTER), endPredictableHour);
DateTime startDay = DateTime.parse(bookStartdate, DEFAULT_DATE_TIME_FORMATTER); DateTime startDay = DateTime.parse(DateTime.parse(bookStartdate, DEFAULT_DATE_TIME_FORMATTER).toString(DATE_TIME_FORMATTER), DATE_TIME_FORMATTER);
DateTime endDay = DateTime.parse(bookEndDate, DEFAULT_DATE_TIME_FORMATTER); DateTime endDay = DateTime.parse(DateTime.parse(bookEndDate, DEFAULT_DATE_TIME_FORMATTER).toString(DATE_TIME_FORMATTER), DATE_TIME_FORMATTER);
if(startDay.getHourOfDay() - endDay.getHourOfDay() >1){ //
for (DateTime curDate = startDay.plusDays(1); curDate.compareTo(endDay) <= 0; curDate = curDate.plusDays(1)) { if(endDay.getDayOfMonth() - startDay.getDayOfMonth() >1){ //
for (DateTime curDate = startDay.plusDays(1); curDate.compareTo(endDay) < 0; curDate = curDate.plusDays(1)) {
String curDateStr = curDate.toString(DATE_TIME_FORMATTER); String curDateStr = curDate.toString(DATE_TIME_FORMATTER);
//全天预定 //全天预定
predictableHours.put(curDateStr, 16777215); predictableHours.put(curDateStr, 16777215);
...@@ -72,22 +73,13 @@ public class VehicleBookHourInfoBiz extends BaseBiz<VehicleBookHourInfoMapper, V ...@@ -72,22 +73,13 @@ public class VehicleBookHourInfoBiz extends BaseBiz<VehicleBookHourInfoMapper, V
return predictableHours; return predictableHours;
} }
// public static void main(String[] args) { public List<VehicleBookHourInfo> selectByVehicleAndDate(VehicleBookHourInfoDto vehicleBookHourInfoDto) {
// SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); return mapper.selectByVehicleAndDate(vehicleBookHourInfoDto);
// Date startDate = null; }
// Date endDate = null;
// try{ public VehicleBookHourInfo selectByVehicleAndId(VehicleBookHourInfoDto vehicleBookHourInfoDto) {
// startDate = simpleDateFormat.parse("2019-06-21 16:30:30"); return mapper.selectByVehicleAndId(vehicleBookHourInfoDto);
// endDate = simpleDateFormat.parse("2019-06-22 12:30:30"); }
// }catch (Exception e) {
//
// }
// Map<String, Integer> map = getPredictableHours(startDate, endDate);
// for(Map.Entry<String, Integer> entry : map.entrySet()) {
// System.out.println(entry.getKey());
// System.out.println(entry.getValue());
// }
// }
@Transactional @Transactional
public ObjectRestResponse save(VehicleBookHourInfoDto vehicleBookHourInfoDto) { public ObjectRestResponse save(VehicleBookHourInfoDto vehicleBookHourInfoDto) {
...@@ -102,13 +94,13 @@ public class VehicleBookHourInfoBiz extends BaseBiz<VehicleBookHourInfoMapper, V ...@@ -102,13 +94,13 @@ public class VehicleBookHourInfoBiz extends BaseBiz<VehicleBookHourInfoMapper, V
return ObjectRestResponse.createFailedResult(504, "当天时间段已经被预定"); return ObjectRestResponse.createFailedResult(504, "当天时间段已经被预定");
} else { } else {
vehicleBookHourInfo.setBookedHour(vehicleBookHourInfo.getBookedHour() | vehicleBookHourInfoDto.getBookedHour()); vehicleBookHourInfo.setBookedHour(vehicleBookHourInfo.getBookedHour() | vehicleBookHourInfoDto.getBookedHour());
mapper.updateByPrimaryKeySelective(vehicleBookHourInfo); updateSelectiveByIdRe(vehicleBookHourInfo);
} }
} }
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
//没有数据直接添加 //没有数据直接添加
mapper.insertSelective(vehicleBookHourInfoDto); insertSelectiveRe(vehicleBookHourInfoDto);
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
...@@ -131,4 +123,19 @@ public class VehicleBookHourInfoBiz extends BaseBiz<VehicleBookHourInfoMapper, V ...@@ -131,4 +123,19 @@ public class VehicleBookHourInfoBiz extends BaseBiz<VehicleBookHourInfoMapper, V
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
public static void main(String[] args) throws Exception{
String result = Integer.toBinaryString(16777200);
String newString = new StringBuilder(result).reverse().toString();
int i=newString.length()-result.replace("1", "").length();
System.out.println(i);
Map<String, Integer> map = getPredictableHours("2019-07-25 05:26:17","2019-07-27 15:26:17");
for (Map.Entry<String, Integer> entry : map.entrySet()) {
log.info(entry.getKey());
log.info(entry.getValue() + "");
}
}
} }
...@@ -57,6 +57,14 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic ...@@ -57,6 +57,14 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
@Autowired @Autowired
private BookRecordAccItemMapper bookRecordAccItemMapper; private BookRecordAccItemMapper bookRecordAccItemMapper;
public void save(VehicleBookRecord vehicleBookRecord) {
insertSelectiveRe(vehicleBookRecord);
}
public int changeRecordStatus( Map<String,Object> updateParam) {
return mapper.changeRecordStatus( updateParam);
}
public QueryVehicleBookRecordVo getById(Long id, DateTime endDate) throws Exception{ public QueryVehicleBookRecordVo getById(Long id, DateTime endDate) throws Exception{
Map<String,Object> recordParams =Maps.newHashMap(); Map<String,Object> recordParams =Maps.newHashMap();
recordParams.put("id",id); recordParams.put("id",id);
...@@ -156,6 +164,9 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic ...@@ -156,6 +164,9 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
return PageDataVO.pageInfo(vehiclePageInfo); return PageDataVO.pageInfo(vehiclePageInfo);
} }
/** /**
* 获取相关申请记录对应随行物品的数量,并放入map * 获取相关申请记录对应随行物品的数量,并放入map
* @param bookRecordAndVehicleInfos * @param bookRecordAndVehicleInfos
...@@ -329,6 +340,8 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic ...@@ -329,6 +340,8 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
} }
public PageDataVO<VehicleRecordInfoVo> getListByParam(VehiclePlanDto vehiclePlanDto) { public PageDataVO<VehicleRecordInfoVo> getListByParam(VehiclePlanDto vehiclePlanDto) {
Query query = new Query(vehiclePlanDto); Query query = new Query(vehiclePlanDto);
PageDataVO<VehicleRecordInfoVo> pageDataVO = PageDataVO.pageInfo(query, () -> mapper.getByParam(query.getSuper())); PageDataVO<VehicleRecordInfoVo> pageDataVO = PageDataVO.pageInfo(query, () -> mapper.getByParam(query.getSuper()));
......
...@@ -11,4 +11,6 @@ public interface VehicleBookHourInfoMapper extends Mapper<VehicleBookHourInfo> { ...@@ -11,4 +11,6 @@ public interface VehicleBookHourInfoMapper extends Mapper<VehicleBookHourInfo> {
List<VehicleBookHourInfo> selectByVehicleAndDate(VehicleBookHourInfoDto vehicleBookHourInfoDto); List<VehicleBookHourInfo> selectByVehicleAndDate(VehicleBookHourInfoDto vehicleBookHourInfoDto);
List<VehicleBookHourInfo> selectByVehicleAndDateList(Map<String, Object> param); List<VehicleBookHourInfo> selectByVehicleAndDateList(Map<String, Object> param);
VehicleBookHourInfo selectByVehicleAndId(VehicleBookHourInfoDto vehicleBookHourInfoDto);
} }
\ No newline at end of file
...@@ -21,6 +21,7 @@ import com.xxfc.platform.vehicle.biz.VehicleWarningMsgBiz; ...@@ -21,6 +21,7 @@ import com.xxfc.platform.vehicle.biz.VehicleWarningMsgBiz;
import com.xxfc.platform.vehicle.common.BaseController; import com.xxfc.platform.vehicle.common.BaseController;
import com.xxfc.platform.vehicle.common.CustomIllegalParamException; import com.xxfc.platform.vehicle.common.CustomIllegalParamException;
import com.xxfc.platform.vehicle.common.RestResponse; import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.constant.BookType;
import com.xxfc.platform.vehicle.constant.ResCode.ResCode; import com.xxfc.platform.vehicle.constant.ResCode.ResCode;
import com.xxfc.platform.vehicle.constant.VehicleBookRecordStatus; import com.xxfc.platform.vehicle.constant.VehicleBookRecordStatus;
import com.xxfc.platform.vehicle.entity.Vehicle; import com.xxfc.platform.vehicle.entity.Vehicle;
...@@ -207,7 +208,7 @@ public class VehicleController extends BaseController<VehicleBiz> { ...@@ -207,7 +208,7 @@ public class VehicleController extends BaseController<VehicleBiz> {
public RestResponse<Integer> applyVehicle( BookVehicleVO bookVehicleVo) throws Exception { public RestResponse<Integer> applyVehicle( BookVehicleVO bookVehicleVo) throws Exception {
Integer operatorId = Integer.parseInt(BaseContextHandler.getUserID()); Integer operatorId = Integer.parseInt(BaseContextHandler.getUserID());
String userName = BaseContextHandler.getName(); String userName = BaseContextHandler.getName();
baseBiz.applyVehicle4Employee(operatorId, bookVehicleVo, userName); baseBiz.applyVehicle(operatorId, bookVehicleVo, userName);
return RestResponse.suc(); return RestResponse.suc();
} }
...@@ -400,7 +401,7 @@ public class VehicleController extends BaseController<VehicleBiz> { ...@@ -400,7 +401,7 @@ public class VehicleController extends BaseController<VehicleBiz> {
BookVehicleVO bookVehicleVo = BeanUtil.toBean(dto, BookVehicleVO.class); BookVehicleVO bookVehicleVo = BeanUtil.toBean(dto, BookVehicleVO.class);
dto.setLimit(1); dto.setLimit(1);
dto.setPage(1); dto.setPage(1);
bookVehicleVo.setBookType(BookType.USER_RENT.getCode());
//查询可车辆信息 //查询可车辆信息
PageDataVO<Vehicle> pageDataVO = vehicleBiz.searchUsableVehicle(dto); PageDataVO<Vehicle> pageDataVO = vehicleBiz.searchUsableVehicle(dto);
if (pageDataVO.getData().size() <= 0) { if (pageDataVO.getData().size() <= 0) {
...@@ -409,9 +410,7 @@ public class VehicleController extends BaseController<VehicleBiz> { ...@@ -409,9 +410,7 @@ public class VehicleController extends BaseController<VehicleBiz> {
}}); }});
} }
bookVehicleVo.setVehicleId(pageDataVO.getData().get(0).getId()); bookVehicleVo.setVehicleId(pageDataVO.getData().get(0).getId());
VehicleBookRecord vehicleBookRecord = baseBiz.applyVehicle4Employee(operatorId, bookVehicleVo, userName); VehicleBookRecord vehicleBookRecord = baseBiz.applyVehicle4Employee(operatorId, bookVehicleVo, userName);
return ObjectRestResponse.succ(vehicleBookRecord); return ObjectRestResponse.succ(vehicleBookRecord);
} }
......
...@@ -17,7 +17,10 @@ ...@@ -17,7 +17,10 @@
select * from vehicle_book_hour_info select * from vehicle_book_hour_info
where vehicle_id = #{vehicleId} and year_month_day = #{yearMonthDay} where vehicle_id = #{vehicleId} and year_month_day = #{yearMonthDay}
</select> </select>
<select id="selectByVehicleAndId" parameterType="com.xxfc.platform.vehicle.pojo.VehicleBookHourInfoDto" resultType="com.xxfc.platform.vehicle.entity.VehicleBookHourInfo">
select * from vehicle_book_hour_info
where vehicle_id = #{vehicleId} and book_record_id = #{bookRecordId} and year_month_day = #{yearMonthDay}
</select>
<select id="selectByVehicleAndDateList" parameterType="java.util.Map" resultType="com.xxfc.platform.vehicle.entity.VehicleBookHourInfo"> <select id="selectByVehicleAndDateList" parameterType="java.util.Map" resultType="com.xxfc.platform.vehicle.entity.VehicleBookHourInfo">
select * from vehicle_book_hour_info select * from vehicle_book_hour_info
where vehicle_id = #{vehicleId} and year_month_day in where vehicle_id = #{vehicleId} and year_month_day in
......
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