Commit b7d169f1 authored by 周健威's avatar 周健威

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

parents 087a481a 5fd8de30
......@@ -49,6 +49,8 @@ public class UserBusinessBiz {
if (CollectionUtils.isEmpty(data)) {
userTeamMemberVo.setPageNum(pageNo);
userTeamMemberVo.setPageSize(pageSize);
userTeamMemberVo.setTotalCount(0);
userTeamMemberVo.setTotalPage(0);
userTeamMemberVo.setTotalIncome(new BigDecimal(0));
userTeamMemberVo.setUserTeamMemberBos(Collections.EMPTY_LIST);
return userTeamMemberVo;
......
......@@ -257,6 +257,9 @@ public class AppPermissionService {
if (StringUtils.isBlank(mobilecodeRedis)) {
return JsonResultUtil.createFailedResult(ResultCode.NOTEXIST_CODE, "验证码错误");
}
if(StringUtils.isNotBlank(code)||appUserDetailBiz.getUserByCode(code)==0){
return JsonResultUtil.createFailedResult(ResultCode.NOTEXIST_CODE, "邀请人不存在");
}
// 是否已存在
AppUserLogin user = appUserLoginBiz.checkeUserLogin(username);
if (null != user) {
......
......@@ -68,7 +68,7 @@ public class UserBiz {
String result = this.doPost(imUrl + "/user/register",str) ;
JSONObject json = JSONObject.parseObject(result);
//如果已经注册过,查询出手机号对应用户信息执行登录返回
if(0 == json.getInteger("resultCode")){
if(0 == json.getInteger("resultCode")||1040107 == json.getInteger("resultCode")){
String phone = map.get("telephone").toString();
Query query = new Query(Criteria.where("phone").is(phone));
User mgt = mongoTemplate.findOne(query, User.class);
......
package com.xxfc.platform.order.pojo.bg;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class BgOrderListVo {
//订单号
private Integer orderId;
//用户名
private String username;
//手机号
private String telephone;
//车牌号
private String numberPlate;
//车辆名称
private String vehicleName;
//订单号
private String orderNo;
//订单状态
private Integer status;
//下单时间
private Date crtTime;
//交车时间
private Long startTime;
//还车时间
private Long endTime;
//交车公司
private String startCompanyName;
//还车公司
private String endCompanyName;
//订单金额
private BigDecimal realAmount;
//支付方式
private Integer payWay;
//订单详情ID
private Integer detailId;
//车辆编号
private Integer vehicleCode;
}
package com.xxfc.platform.order.biz;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.Query;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.mapper.BaseOrderMapper;
import com.xxfc.platform.order.rest.BaseOrderController;
import com.xxfc.platform.tour.feign.TourFeign;
import com.xxfc.platform.vehicle.entity.BranchCompany;
import com.xxfc.platform.vehicle.feign.VehicleFeign;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@Service
@Slf4j
public class BackgroundBaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements UserRestInterface {
@Autowired
UserFeign userFeign;
@Autowired
VehicleFeign vehicleFeign;
@Autowired
TourFeign tourFeign;
@Override
public UserFeign getUserFeign() {
return userFeign;
}
public ObjectRestResponse getAllOrderList(BaseOrderController.QueryOrderList dto) {
//判断token是否存在
UserDTO userDTO = getAdminUserInfo();
if (userDTO == null) {
return ObjectRestResponse.succ(new PageDataVO<>());
}
//获取权限公司列表
List<BranchCompany> branchCompanies = vehicleFeign.companyAll(userDTO.getDataAll(), userDTO.getDataCompany(), userDTO.getDataZone());
List<Integer> companyIds = branchCompanies.stream().map(BranchCompany::getId).collect(Collectors.toList());
//大区搜索
//有当前大区权限才能搜索到数据
if (dto.getZoneId() != null && (userDTO.getDataAll() == 1 || userDTO.getZoneId().equals(dto.getZoneId()) || userDTO.getDataZone().contains(dto.getZoneId()+""))) {
companyIds.clear();
}
//所属公司筛选
if (dto.getStartCompanyId() != null) {
if (companyIds.size() > 0) {
if (companyIds.contains(dto.getStartCompanyId())) {
companyIds.clear();
companyIds.add(dto.getStartCompanyId());
} else {
return ObjectRestResponse.succ(new PageDataVO<>());
}
} else {
companyIds.add(dto.getStartCompanyId());
}
}
dto.setCompanyIds(companyIds);
if (dto.getStartTime() != null) {
if (dto.getEndTime() == null) {
dto.setEndTime(new Date().getTime());
}
}
Query query = new Query(dto);
PageDataVO pageDataVO = PageDataVO.pageInfo(query, () -> mapper.getAllOrderList(query.getSuper()));
return ObjectRestResponse.succ(pageDataVO);
}
}
......@@ -229,6 +229,73 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
return ObjectRestResponse.succ(orderPageVo);
}
public ObjectRestResponse<OrderPageVO> orderDetail(String no, UserDTO userDTO) {
OrderPageVO orderPageVo = mapper.getOrderDetail(no);
if (orderPageVo == null) {
return ObjectRestResponse.createFailedResult(ResCode.ORDER_IS_NOT_EXIST.getCode(), ResCode.ORDER_IS_NOT_EXIST.getDesc());
}
AppUserDTO appUserVo = userFeign.userDetailById(orderPageVo.getUserId()).getData();
if(appUserVo != null) {
orderPageVo.setTelephone(appUserVo.getUsername());
orderPageVo.setUsername(appUserVo.getRealname());
}
List<BranchCompany> branchCompanies = vehicleFeign.companyAll(userDTO.getDataAll(), userDTO.getDataCompany(), userDTO.getDataZone());
List<Integer> companyIds = branchCompanies.stream().map(BranchCompany::getId).collect(Collectors.toList());
if (orderPageVo.getOrderRentVehicleDetail() != null) {
if (!companyIds.contains(orderPageVo.getOrderRentVehicleDetail().getStartCompanyId()) && !companyIds.contains(orderPageVo.getOrderRentVehicleDetail().getEndCompanyId())) {
return ObjectRestResponse.createFailedResult(ResCode.YOU_AUTH_FAIL.getCode(), ResCode.YOU_AUTH_FAIL.getDesc());
}
if(userDTO.getCompanyId() == orderPageVo.getOrderRentVehicleDetail().getEndCompanyId()) {
orderPageVo.setUserCompanyStatus(true);
}
if (orderPageVo.getStatus() == 4) { //未交车
// boolean flag = getTodayTime(orderPageVo.getOrderRentVehicleDetail().getStartTime());
// if (!flag) {
// return ObjectRestResponse.createFailedResult(3501, "今日不是交车日期");
// }
getDriverInfo(orderPageVo);
} else if (orderPageVo.getStatus() >= 5 || orderPageVo.getStatus() == -1) {//出行中 已交车
//设置违约金金额
getDriverInfo(orderPageVo);
getUserLicense(orderPageVo);
}
ObjectRestResponse<CompanyDetail> startResponse = vehicleFeign.getCompanyDetail(orderPageVo.getOrderRentVehicleDetail().getStartCompanyId());
if (startResponse.getData() != null) {
orderPageVo.setStartCompanyName(startResponse.getData().getName());
}
ObjectRestResponse<CompanyDetail> restResponse = vehicleFeign.getCompanyDetail(orderPageVo.getOrderRentVehicleDetail().getEndCompanyId());
if (restResponse.getData() != null) {
orderPageVo.setEndCompanyName(restResponse.getData().getName());
}
RestResponse<Vehicle> response = vehicleFeign.findById(orderPageVo.getOrderRentVehicleDetail().getVehicleId());
if (response.getData() != null) {
orderPageVo.setVehicalNumberPlat(response.getData().getNumberPlate());
orderPageVo.setCode(response.getData().getCode());
}
} else if (orderPageVo.getOrderTourDetail() != null) {
if(StringUtils.isNotBlank(orderPageVo.getOrderTourDetail().getTourUserIds())) {
List<TourUser> list = tourFeign.getTourUsers(orderPageVo.getOrderTourDetail().getTourUserIds()).getData();
orderPageVo.getOrderTourDetail().setUserVoList(list == null || list.size() <= 0 ? new ArrayList<>() : list);
}
}
//设置保留金
Map<String, Dictionary> dictionaryMap = thirdFeign.dictionaryGetAll4Map().getData();
BigDecimal illegalReserve = new BigDecimal(dictionaryMap.get(APP_ORDER + "_" + DictionaryKey.ILLEGAL_RESERVE).getDetail());
orderPageVo.setIllegalReserve(illegalReserve);
orderPageVo.setItems(orderItemBiz.selectList(new OrderItem(){{
setOrderId(orderPageVo.getId());
}}));
return ObjectRestResponse.succ(orderPageVo);
}
//获取两个日期之间的天数(不包含头尾)
public int getDaysBetweenDateTime(DateTime startDay, DateTime endDay) {
int a = 0;
......
package com.xxfc.platform.order.mapper;
import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.pojo.bg.BgOrderListVo;
import com.xxfc.platform.order.pojo.dto.MemberOrderBo;
import com.xxfc.platform.order.pojo.dto.MemberOrderFindDTO;
import com.xxfc.platform.order.pojo.order.OrderListVo;
import com.xxfc.platform.order.pojo.order.OrderPageVO;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
......@@ -37,4 +36,7 @@ public interface BaseOrderMapper extends Mapper<BaseOrder> {
List<MemberOrderBo> findMemberOrders(MemberOrderFindDTO memberOrderFindDTO);
public List<BgOrderListVo> getAllOrderList(Map<String, Object> paramMap);
}
......@@ -3,8 +3,6 @@ package com.xxfc.platform.order.rest;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.json.JSONUtil;
import com.alibaba.druid.sql.visitor.functions.If;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.github.wxiaoqi.security.admin.entity.AppUserLogin;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
......@@ -23,14 +21,10 @@ import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.google.common.collect.Lists;
import com.xxfc.platform.activity.entity.Coupon;
import com.xxfc.platform.activity.feign.ActivityFeign;
import com.xxfc.platform.order.biz.BaseOrderBiz;
import com.xxfc.platform.order.biz.OrderItemBiz;
import com.xxfc.platform.order.biz.OrderRentVehicleBiz;
import com.xxfc.platform.order.biz.OrderUserLicenseBiz;
import com.xxfc.platform.order.biz.*;
import com.xxfc.platform.order.contant.enumerate.ItemTypeEnum;
import com.xxfc.platform.order.entity.OrderItem;
import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
import com.xxfc.platform.order.pojo.DetailsOfExpenses;
import com.xxfc.platform.order.pojo.OrderAccompanyDTO;
import com.xxfc.platform.order.pojo.order.*;
import com.xxfc.platform.order.pojo.price.RentVehiclePriceVO;
......@@ -50,13 +44,11 @@ import io.swagger.annotations.ApiOperation;
import jodd.util.StringUtil;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.mockito.internal.util.collections.Sets;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import tk.mybatis.mapper.entity.Example;
import javax.annotation.Resource;
import java.io.IOException;
......@@ -103,7 +95,8 @@ public class BackStageOrderController extends CommonBaseController implements Us
@Resource
VehicleFeign vehicleFeign;
@Autowired
BackgroundBaseOrderBiz backgroundBaseOrderBiz;
@Override
public UserFeign getUserFeign() {
return userFeign;
......@@ -115,6 +108,11 @@ public class BackStageOrderController extends CommonBaseController implements Us
@IgnoreClientToken
@CrossOrigin
public ObjectRestResponse<PageDataVO<OrderListVo>> selectByUser(BaseOrderController.QueryOrderList dto) {
UserDTO userDTO = getAdminUserInfo();
if (userDTO == null) {
return ObjectRestResponse.succ(new PageDataVO<>());
}
if (dto.getStartTime() != null) {
if (dto.getEndTime() == null) {
dto.setEndTime(new Date().getTime());
......@@ -135,18 +133,11 @@ public class BackStageOrderController extends CommonBaseController implements Us
return ObjectRestResponse.succ(new PageDataVO<>());
}
}
UserDTO userDTO = getAdminUserInfo();
if (userDTO == null) {
return ObjectRestResponse.succ(new PageDataVO<>());
}
if (dto.getType() != null && dto.getType() != 3) {
List<BranchCompany> branchCompanies = vehicleFeign.companyAll(userDTO.getDataAll(), userDTO.getDataCompany(), userDTO.getDataZone());
List<Integer> companyIds = branchCompanies.stream().map(BranchCompany::getId).collect(Collectors.toList());
dto.setCompanyIds(companyIds);
}
//获取权限公司列表
List<BranchCompany> branchCompanies = vehicleFeign.companyAll(userDTO.getDataAll(), userDTO.getDataCompany(), userDTO.getDataZone());
List<Integer> companyId = branchCompanies.stream().map(BranchCompany::getId).collect(Collectors.toList());
dto.setCompanyIds(companyId);
//大区搜索
if (dto.getZoneId() != null) {
if (userDTO.getDataAll() != 1 && !dto.getZoneId().equals(userDTO.getZoneId())) {
return ObjectRestResponse.succ(new PageDataVO<>());
......@@ -156,7 +147,7 @@ public class BackStageOrderController extends CommonBaseController implements Us
dto.setZoneIds(zoneIds);
}
}
//所属公司筛选
if (dto.getStartCompanyId() != null) {
if (userDTO.getDataAll() != 1 && !dto.getStartCompanyId().equals(userDTO.getId())) {
return ObjectRestResponse.succ(new PageDataVO<>());
......@@ -167,12 +158,18 @@ public class BackStageOrderController extends CommonBaseController implements Us
}
}
//根据车牌号或车辆编号获取订单信息
if (StringUtils.isNotEmpty(dto.getPlateNumber()) || StringUtils.isNotEmpty(dto.getVehicleCode())) {
List<String> vehicleIds = vehicleFeign.findbyPlateNumberAndVehicleCod(dto.getPlateNumber(), dto.getVehicleCode());
dto.setVehicleIds(vehicleIds);
}
Query query = new Query(dto);
//
if (dto.getStartTime() != null) {
if (dto.getEndTime() == null) {
dto.setEndTime(new Date().getTime());
}
}
Query query = new Query(dto);
PageDataVO pageDataVO = PageDataVO.pageInfo(query, () -> baseOrderBiz.listOrder(query.getSuper()));
List<OrderListVo> list = pageDataVO.getData();
......@@ -368,7 +365,7 @@ public class BackStageOrderController extends CommonBaseController implements Us
@ApiOperation(value = "交还车获取订单详情,带驾驶人信息")
@IgnoreClientToken
@ResponseBody
public ObjectRestResponse<OrderPageVO> getOrderDetail(String orderNo) {
public ObjectRestResponse<OrderPageVO> getOrderDetail(String orderNo, Boolean flag) {
UserDTO userDTO = getAdminUserInfo();
if (userDTO == null) {
return ObjectRestResponse.succ(new PageDataVO<>());
......@@ -376,7 +373,11 @@ public class BackStageOrderController extends CommonBaseController implements Us
if (StringUtils.isBlank(orderNo)) {
return ObjectRestResponse.paramIsEmpty();
}
return baseOrderBiz.getOrderDetail(orderNo, userDTO);
if(flag != null && flag == true) {
return baseOrderBiz.orderDetail(orderNo, userDTO);
} else {
return baseOrderBiz.getOrderDetail(orderNo, userDTO);
}
}
......@@ -448,6 +449,12 @@ public class BackStageOrderController extends CommonBaseController implements Us
return baseOrderBiz.save(orderRentVehicleDetail);
}
@GetMapping(value = "/getAll")
@ResponseBody
public ObjectRestResponse getAllOrderList(BaseOrderController.QueryOrderList dto) {
return backgroundBaseOrderBiz.getAllOrderList(dto);
}
@Data
public static class ChangeVehicleDTO {
String no;
......
......@@ -240,6 +240,86 @@
</if>
</select>
<select id="getAllOrderList" parameterType="Map" resultType="com.xxfc.platform.order.pojo.bg.BgOrderListVo">
SELECT
bc1.`name` AS startCompanyName,
bc2. NAME AS endCompanyName,
v1.number_plate AS numberPlate,
v1.code AS vehicleCode,
a1. NAME AS username,
a2.username AS telephone,
b1.id AS orderId,
b1.`no` AS orderNo,
b1.`status` as status,
b1.`name` as vehicleName,
b1.crt_time as crtTime,
o1.start_time as startTime,
o1.end_time as endTime,
b1.real_amount as realAmount,
b1.pay_way as payWay,
o1.id as detailId,
b1.pay_time as payTime
FROM
base_order b1
LEFT JOIN order_rent_vehicle_detail o1 ON b1.detail_id = o1.id
LEFT JOIN xxfc_vehicle.branch_company bc1 ON bc1.id = o1.start_company_id
LEFT JOIN xxfc_vehicle.branch_company bc2 ON bc2.id = o1.end_company_id
LEFT JOIN xxfc_vehicle.vehicle v1 ON v1.id = o1.vehicle_id
LEFT JOIN xxfc_third_platform.id_information a1 ON b1.user_id = a1.user_login_id
LEFT JOIN ag_admin_v2.app_user_login a2 ON a2.id = b1.user_id
<where>
<if test="userIds != null and userIds.size() > 0">
and b1.user_id in
<foreach collection="userIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="phone != null and phone != ''">
and a2.username like CONCAT ("%", #{phone}, "%")
</if>
<if test="realName != null and realName != ''">
and a1.name like CONCAT ("%", #{realName}, "%")
</if>
<if test="userId != null">
and b1.user_id = #{userId}
</if>
<if test="status != null">
and b1.status = #{status}
</if>
<if test="type != null">
and b1.type = #{type}
</if>
<if test="no != null and no != '' ">
and b1.no like CONCAT ("%", #{no}, "%")
</if>
<if test="plateNumber != null and plateNumber != '' ">
and v1.number_plate like CONCAT ("%", #{plateNumber}, "%")
</if>
<if test="vehicleCode != null">
and v1.code = #{vehicleCode}
</if>
<if test="startTime != null">
and o1.start_time between #{startTime} and #{endTime}
</if>
<if test="companyIds != null and companyIds.size > 0">
and (o1.start_company_id in
<foreach collection="companyIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
or
o1.end_company_id in
<foreach collection="companyIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
)
</if>
<if test="zoneId != null">
and (bc1.zone_id = #{zoneId} or bc2.zone_id = #{zoneId})
</if>
</where>
order by b1.crt_time desc
</select>
<select id="getTourList" parameterType="Map" resultMap="orderPageMap">
select b.*
......
package com.xxfc.platform.vehicle.pojo;
import lombok.Data;
@Data
public class BranchCompanyVehicleCount {
private String parkBranchCompanyName;
private Integer count;
}
package com.xxfc.platform.vehicle.biz;
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateTime;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.xxfc.platform.vehicle.entity.Constant;
......@@ -15,7 +14,6 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import tk.mybatis.mapper.entity.Example;
import java.util.Date;
import java.util.List;
/**
......@@ -138,8 +136,8 @@ public class ImportVehicleDataBiz extends BaseBiz<VehicleMapper, Vehicle> {
}
}
System.out.println("stringBuffer:"+stringBuffer);
System.out.println("stringBuffer2:"+stringBuffer2);
log.info("stringBuffer:"+stringBuffer);
log.info("stringBuffer2:"+stringBuffer2);
} catch (Exception e) {
log.error(e.getMessage());
log.error(e.getMessage(), e);
......
......@@ -1516,4 +1516,8 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
return vehicles.stream().map(Vehicle::getId).collect(Collectors.toList());
}
public List<BranchCompanyVehicleCount> getAllVehicleInfo() {
return mapper.getAllVehicleInfo();
}
}
......@@ -6,6 +6,7 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.google.common.collect.Lists;
import com.xxfc.platform.vehicle.entity.Vehicle;
import com.xxfc.platform.vehicle.mapper.VehicleMapper;
import com.xxfc.platform.vehicle.pojo.BranchCompanyVehicleCount;
import com.xxfc.platform.vehicle.pojo.ResultVehicleVo;
import com.xxfc.platform.vehicle.pojo.VehicleExcelVo;
import com.xxfc.platform.vehicle.pojo.VehiclePageQueryVo;
......@@ -92,4 +93,9 @@ public class VehicleInformationDownloadBiz extends BaseBiz<VehicleMapper, Vehicl
return arrayList;
}
public List<BranchCompanyVehicleCount> getAllVehicleInfo() {
return vehicleBiz.getAllVehicleInfo();
}
}
......@@ -53,4 +53,6 @@ public interface VehicleMapper extends Mapper<Vehicle> {
@Select("select `id` from `vehicle` where `is_del`=0")
List<String> findExistVehicleIds();
List<BranchCompanyVehicleCount> getAllVehicleInfo();
}
\ No newline at end of file
......@@ -10,6 +10,7 @@ import com.github.wxiaoqi.security.common.exception.BaseException;
import com.xxfc.platform.vehicle.biz.VehicleBiz;
import com.xxfc.platform.vehicle.biz.VehicleInformationDownloadBiz;
import com.xxfc.platform.vehicle.common.BaseController;
import com.xxfc.platform.vehicle.pojo.BranchCompanyVehicleCount;
import com.xxfc.platform.vehicle.pojo.VehicleExcelVo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -41,10 +42,10 @@ public class VehicleInformationDownloadController extends BaseController<Vehicle
HttpServletResponse response;
@GetMapping("/excel")
public void downloadExcel(@RequestParam(value = "vehiclePageQueryVoJson",required = false) String vehiclePageQueryVoJson) throws Exception {
public void downloadExcel(@RequestParam(value = "vehiclePageQueryVoJson", required = false) String vehiclePageQueryVoJson) throws Exception {
UserDTO userDTO = userFeign.userinfoByToken(userAuthConfig.getToken(request)).getData();
if (userDTO==null) {
throw new BaseException("token已失效");
if (userDTO == null) {
throw new BaseException("token已失效");
}
List<VehicleExcelVo> rows = baseBiz.getList(vehiclePageQueryVoJson, userDTO);
ExcelWriter writer = ExcelUtil.getWriter(true);
......@@ -67,4 +68,25 @@ public class VehicleInformationDownloadController extends BaseController<Vehicle
//此处记得关闭输出Servlet流
IoUtil.close(out);
}
@GetMapping("/app/unauth/export")
public void exportVehicleInfo() throws Exception {
List<BranchCompanyVehicleCount> rows = baseBiz.getAllVehicleInfo();
ExcelWriter writer = ExcelUtil.getWriter(true);
writer.addHeaderAlias("parkBranchCompanyName", "停靠分公司");
writer.addHeaderAlias("count", "车辆数量");
// 一次性写出内容,使用默认样式,强制输出标题
writer.write(rows, true);
//response为HttpServletResponse对象
response.setContentType("application/vnd.ms-excel;charset=utf-8");
//test.xls是弹出下载对话框的文件名,不能为中文,中文请自行编码
response.setHeader("Content-Disposition", "attachment;filename=vehicleInfo.xlsx");
//out为OutputStream,需要写出到的目标流
ServletOutputStream out = response.getOutputStream();
writer.flush(out, true);
// 关闭writer,释放内存
writer.close();
//此处记得关闭输出Servlet流
IoUtil.close(out);
}
}
......@@ -590,7 +590,20 @@
) r ORDER BY r.parkBranchCompanyName
</select>
<!--导出分公司停靠所有车辆-->
<select id="getAllVehicleInfo" resultType="com.xxfc.platform.vehicle.pojo.BranchCompanyVehicleCount">
SELECT
b1. NAME AS parkBranchCompanyName,
count(v1.id) as count
FROM
branch_company b1
LEFT JOIN vehicle v1 ON v1.park_branch_company_id = b1.id
WHERE
b1.is_del = 0
AND v1.is_del = 0
GROUP BY b1.`name`
order by b1.`name`
</select>
<select id="lockByCode" resultType="com.xxfc.platform.vehicle.entity.Vehicle"
parameterType="com.xxfc.platform.vehicle.pojo.AddOrUpdateVehicleVo">
......
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