Commit 2b138687 authored by jiaorz's avatar jiaorz

添加定损列表

parent 0c7390c8
...@@ -20,12 +20,12 @@ public class GlobalBasicConfiguration implements ApplicationRunner{ ...@@ -20,12 +20,12 @@ public class GlobalBasicConfiguration implements ApplicationRunner{
@Override @Override
public void run(ApplicationArguments args) throws Exception { public void run(ApplicationArguments args) throws Exception {
showApplicationProperties("数据库连接地址: ", "spring.datasource.url"); showApplicationProperties("数据库连接地址: ", "spring.datasource.url");
showApplicationProperties("Redis连接主机: ", "spring.redis.host"); showApplicationProperties("Redis连接主机: ", "spring.redis.host");
showApplicationProperties("Redis连接端口: ", "spring.redis.port"); showApplicationProperties("Redis连接端口: ", "spring.redis.port");
showApplicationProperties("rabbitmq连接主机", "spring.rabbitmq.host"); showApplicationProperties("rabbitmq连接主机", "spring.rabbitmq.host");
showApplicationProperties("rabbitmq连接虚拟机", "spring.rabbitmq.virtual-host"); showApplicationProperties("rabbitmq连接虚拟机", "spring.rabbitmq.virtual-host");
} }
public static void showApplicationProperties(String key, String value) { public static void showApplicationProperties(String key, String value) {
if(env != null) { if(env != null) {
......
...@@ -64,15 +64,15 @@ public class IntegralUserRecordBiz extends BaseBiz<IntegralUserRecordMapper, Int ...@@ -64,15 +64,15 @@ public class IntegralUserRecordBiz extends BaseBiz<IntegralUserRecordMapper, Int
IntegralRule oldValue = ruleObjectRestResponse.getData(); IntegralRule oldValue = ruleObjectRestResponse.getData();
if (integralUserRecord.getPoint() == null) { if (integralUserRecord.getPoint() == null) {
Integer point = 0; Integer point = 0;
if(oldValue.getPoint() == 0) {//没有基础分需要计算分数 if (oldValue.getPoint() == 0) {//没有基础分需要计算分数
//Integer amount = Integer.parseInt(new BigDecimal(integralUserRecord.getAmount()).divide(new BigDecimal("100"), 0, BigDecimal.ROUND_DOWN).toString()); //Integer amount = Integer.parseInt(new BigDecimal(integralUserRecord.getAmount()).divide(new BigDecimal("100"), 0, BigDecimal.ROUND_DOWN).toString());
Integer amount = Integer.parseInt(integralUserRecord.getAmount()); Integer amount = Integer.parseInt(integralUserRecord.getAmount());
JSONObject jsonObject = JSONObject.parseObject(oldValue.getOtherRule()); JSONObject jsonObject = JSONObject.parseObject(oldValue.getOtherRule());
log.info("查询的其他规则json信息:jsonObject = {}", jsonObject); log.info("查询的其他规则json信息:jsonObject = {}", jsonObject);
if(jsonObject == null) { if (jsonObject == null) {
point = ruleObjectRestResponse.getData().getPoint(); point = ruleObjectRestResponse.getData().getPoint();
} else { } else {
point = jsonObject.getInteger("rule") == null? 0 * amount: jsonObject.getInteger("rule") * amount; point = jsonObject.getInteger("rule") == null ? 0 * amount : jsonObject.getInteger("rule") * amount;
} }
} else { } else {
...@@ -101,7 +101,7 @@ public class IntegralUserRecordBiz extends BaseBiz<IntegralUserRecordMapper, Int ...@@ -101,7 +101,7 @@ public class IntegralUserRecordBiz extends BaseBiz<IntegralUserRecordMapper, Int
} }
} }
insertSelective(integralUserRecord.getIntegralUserRecord()); insertSelective(integralUserRecord.getIntegralUserRecord());
if(oldValue != null) { if (oldValue != null) {
getUserRecordStatus(integralUserRecord, oldValue.getPeriod(), oldValue.getNumber()); getUserRecordStatus(integralUserRecord, oldValue.getPeriod(), oldValue.getNumber());
} }
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
...@@ -160,19 +160,19 @@ public class IntegralUserRecordBiz extends BaseBiz<IntegralUserRecordMapper, Int ...@@ -160,19 +160,19 @@ public class IntegralUserRecordBiz extends BaseBiz<IntegralUserRecordMapper, Int
} }
/** /**
* //判断用户获取积分是否达标 * //判断用户获取积分是否达标
*
* @param integralUserRecordDto 积分记录实体 * @param integralUserRecordDto 积分记录实体
* @param period 周期 * @param period 周期
* number 周期内可获得积分的次数 * number 周期内可获得积分的次数
*/ */
public void getUserRecordStatus(IntegralUserRecordDto integralUserRecordDto, Integer period, Integer number) { public void getUserRecordStatus(IntegralUserRecordDto integralUserRecordDto, Integer period, Integer number) {
IntegralUserStatus integralUserStatus = new IntegralUserStatus(); IntegralUserStatus integralUserStatus = new IntegralUserStatus();
integralUserStatus.setUserId(integralUserRecordDto.getUserId()); integralUserStatus.setUserId(integralUserRecordDto.getUserId());
integralUserStatus.setIntegralRuleCode(integralUserRecordDto.getIntegralRuleCode()); integralUserStatus.setIntegralRuleCode(integralUserRecordDto.getIntegralRuleCode());
if(period == IntegralRulePeriod.DAY.getCode()) {//按天 if (period == IntegralRulePeriod.DAY.getCode()) {//按天
integralUserRecordDto.setStartTime(IntegralToolsUtils.getDayStart()); integralUserRecordDto.setStartTime(IntegralToolsUtils.getDayStart());
integralUserRecordDto.setEndTime(IntegralToolsUtils.getDayStart() + 24 * 60 * 60 * 1000); integralUserRecordDto.setEndTime(IntegralToolsUtils.getDayStart() + 24 * 60 * 60 * 1000);
Integer count = mapper.countByUserAndCode(integralUserRecordDto); Integer count = mapper.countByUserAndCode(integralUserRecordDto);
......
package com.xxfc.platform.order.contant.enumerate;
import java.util.HashMap;
import java.util.Map;
public enum DepositRefundStatus {
INITIATEREFUND(1,"发起退还"),
REFUNDARRIVAL(2,"退还到账"),
VIOLATIONARRIVAL (3,"违章到账"),
FIXLOSS(4,"定损中"),
FIXLOSSREFUND(5,"定损押金退还"),
FIXLOSSREFUNDARRIVAL(6,"定损押金已到账"),
;
/**
* 编码
*/
private Integer code;
/**
* 类型描述
*/
private String desc;
private static Map<Integer,String> codeAndDesc = new HashMap<Integer, String>();
DepositRefundStatus(Integer code, String desc){
this.code=code;
this.desc=desc;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public static Boolean exists(Integer code){
return codeAndDesc.containsKey(code);
}
}
package com.xxfc.platform.order.entity;
import lombok.Data;
import javax.persistence.*;
import java.math.BigDecimal;
@Table(name = "deposit_refund_record")
@Data
public class DepositRefundRecord {
@Id
private Integer id;
/**
* 定损状态:1、押金退还已经发起,2、押金退还已到账,3、违章押金已到账,4、定损中,5、完成定损退还剩余押金,6、剩余押金退还到账,
*/
private Integer status;
/**
* 创建时间
*/
@Column(name = "crt_time")
private Long crtTime;
/**
* 更新时间
*/
@Column(name = "upd_time")
private Long updTime;
/**
* 交还车记录ID
*/
@Column(name = "crosstown_id")
private Integer crosstownId;
/**
* 退换押金
*/
private BigDecimal amount;
/**
* 剩余押金
*/
private BigDecimal restAmount;
/**
* 总共押金
*/
private BigDecimal totalAmount;
/**
* 是否显示
*/
private Boolean isshow;
/**
* 是否完成
*/
private Boolean iscomplete;
}
\ No newline at end of file
...@@ -106,7 +106,7 @@ public class OrderVehicleCrosstown { ...@@ -106,7 +106,7 @@ public class OrderVehicleCrosstown {
private String dedDetail; private String dedDetail;
/** /**
* 1、交车, 2、还车 * 1、交车, 2、还车, 3、定损还车
*/ */
private Integer type; private Integer type;
......
...@@ -30,4 +30,5 @@ public class OrderVehicleCrosstownDto extends OrderVehicleCrosstown { ...@@ -30,4 +30,5 @@ public class OrderVehicleCrosstownDto extends OrderVehicleCrosstown {
private String username; private String username;
} }
package com.xxfc.platform.order.biz; package com.xxfc.platform.order.biz;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.github.wxiaoqi.security.admin.dto.UserMemberDTO; import com.github.wxiaoqi.security.admin.dto.UserMemberDTO;
import com.github.wxiaoqi.security.admin.feign.UserFeign; import com.github.wxiaoqi.security.admin.feign.UserFeign;
...@@ -10,15 +9,12 @@ import com.github.wxiaoqi.security.admin.vo.AppUserVo; ...@@ -10,15 +9,12 @@ import com.github.wxiaoqi.security.admin.vo.AppUserVo;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.exception.BaseException; import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.IntervalUtil;
import com.github.wxiaoqi.security.common.util.process.ResultCode; import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.xxfc.platform.activity.feign.ActivityFeign; import com.xxfc.platform.activity.feign.ActivityFeign;
import com.xxfc.platform.order.biz.inner.OrderMsgBiz; import com.xxfc.platform.order.biz.inner.OrderMsgBiz;
import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum; import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum;
import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum; import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum;
import com.xxfc.platform.order.contant.enumerate.RefundStatusEnum;
import com.xxfc.platform.order.contant.enumerate.RefundTypeEnum;
import com.xxfc.platform.order.entity.*; import com.xxfc.platform.order.entity.*;
import com.xxfc.platform.order.mapper.BaseOrderMapper; import com.xxfc.platform.order.mapper.BaseOrderMapper;
import com.xxfc.platform.order.pojo.mq.OrderMQDTO; import com.xxfc.platform.order.pojo.mq.OrderMQDTO;
...@@ -30,25 +26,25 @@ import com.xxfc.platform.universal.constant.DictionaryKey; ...@@ -30,25 +26,25 @@ import com.xxfc.platform.universal.constant.DictionaryKey;
import com.xxfc.platform.universal.entity.Dictionary; import com.xxfc.platform.universal.entity.Dictionary;
import com.xxfc.platform.universal.feign.MQSenderFeign; import com.xxfc.platform.universal.feign.MQSenderFeign;
import com.xxfc.platform.universal.feign.ThirdFeign; import com.xxfc.platform.universal.feign.ThirdFeign;
import com.xxfc.platform.universal.vo.OrderRefundVo;
import com.xxfc.platform.vehicle.common.RestResponse; import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.entity.Vehicle; import com.xxfc.platform.vehicle.entity.Vehicle;
import com.xxfc.platform.vehicle.entity.VehicleUserLicense; import com.xxfc.platform.vehicle.entity.VehicleUserLicense;
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.apache.commons.jexl2.MapContext;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.*; import java.util.List;
import java.util.Map;
import java.util.TimeZone;
import static com.github.wxiaoqi.security.common.config.rabbit.RabbitConstant.*; import static com.github.wxiaoqi.security.common.config.rabbit.RabbitConstant.*;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_FALSE; import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_FALSE;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_TRUE; import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_TRUE;
import static com.xxfc.platform.universal.constant.DictionaryKey.*; import static com.xxfc.platform.universal.constant.DictionaryKey.APP_ORDER;
/** /**
* *
...@@ -71,7 +67,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> { ...@@ -71,7 +67,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
OrderRentVehicleBiz orderRentVehicleBiz; OrderRentVehicleBiz orderRentVehicleBiz;
@Autowired @Autowired
OrderVehicalCrosstownBiz orderVehicalCrosstownBiz; OrderVehicleCrosstownBiz orderVehicleCrosstownBiz;
@Autowired @Autowired
OrderUserLicenseBiz orderUserLicenseBiz; OrderUserLicenseBiz orderUserLicenseBiz;
...@@ -164,7 +160,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> { ...@@ -164,7 +160,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
OrderVehicleCrosstownDto orderVehicleCrosstownDto = new OrderVehicleCrosstownDto(); OrderVehicleCrosstownDto orderVehicleCrosstownDto = new OrderVehicleCrosstownDto();
orderVehicleCrosstownDto.setOrderId(orderPageVo.getId()); orderVehicleCrosstownDto.setOrderId(orderPageVo.getId());
orderVehicleCrosstownDto.setOrderNo(orderPageVo.getNo()); orderVehicleCrosstownDto.setOrderNo(orderPageVo.getNo());
List<OrderVehicleCrosstownDto> orderVehicleCrosstowns = orderVehicalCrosstownBiz.selectByOrderId(orderVehicleCrosstownDto); List<OrderVehicleCrosstownDto> orderVehicleCrosstowns = orderVehicleCrosstownBiz.selectByOrderId(orderVehicleCrosstownDto);
if(orderVehicleCrosstowns != null && orderVehicleCrosstowns.size() > 0) { if(orderVehicleCrosstowns != null && orderVehicleCrosstowns.size() > 0) {
List<OrderUserLicense> orderUserLicenses = orderUserLicenseBiz.selectByIds(orderVehicleCrosstowns.get(0).getUserLicenseId()).getData(); List<OrderUserLicense> orderUserLicenses = orderUserLicenseBiz.selectByIds(orderVehicleCrosstowns.get(0).getUserLicenseId()).getData();
if(orderUserLicenses != null && orderUserLicenses.size() > 0) { if(orderUserLicenses != null && orderUserLicenses.size() > 0) {
...@@ -194,7 +190,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> { ...@@ -194,7 +190,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
ids.add(Integer.parseInt(orderPageVo.getOrderTourDetail().getTourUserIds())); ids.add(Integer.parseInt(orderPageVo.getOrderTourDetail().getTourUserIds()));
} }
List<AppUserVo> list = userFeign.getByUserIds(ids).getData(); List<AppUserVo> list = userFeign.getByUserIds(ids).getData();
orderPageVo.getOrderTourDetail().setUserVoList(list); orderPageVo.getOrderTourDetail().setUserVoList(list == null|| list.size() <= 0 ? null : list);
} }
//设置保留金 //设置保留金
Map<String, Dictionary> dictionaryMap = thirdFeign.dictionaryGetAll4Map().getData(); Map<String, Dictionary> dictionaryMap = thirdFeign.dictionaryGetAll4Map().getData();
......
package com.xxfc.platform.order.biz;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.xxfc.platform.order.contant.enumerate.DepositRefundStatus;
import com.xxfc.platform.order.entity.DepositRefundRecord;
import com.xxfc.platform.order.mapper.DepositRefundRecordMapper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.HashMap;
import java.util.Map;
@Service
@Transactional
public class OrderDepositRefundRecordBiz extends BaseBiz<DepositRefundRecordMapper, DepositRefundRecord> {
/**
* 添加正常记录
*/
public void saveNormalRecord(DepositRefundRecord depositRefundRecord) {
depositRefundRecord.setStatus(DepositRefundStatus.INITIATEREFUND.getCode());
depositRefundRecord.setIscomplete(true);
insertSelectiveRe(depositRefundRecord);
depositRefundRecord.setStatus(DepositRefundStatus.REFUNDARRIVAL.getCode());
depositRefundRecord.setIscomplete(false);
insertSelectiveRe(depositRefundRecord);
depositRefundRecord.setStatus(DepositRefundStatus.VIOLATIONARRIVAL.getCode());
insertSelectiveRe(depositRefundRecord);
}
/**
* 添加定损记录
* @param depositRefundRecord
*/
public void saveFixLossRecord(DepositRefundRecord depositRefundRecord) {
depositRefundRecord.setStatus(DepositRefundStatus.FIXLOSS.getCode());
depositRefundRecord.setIscomplete(true);
insertSelectiveRe(depositRefundRecord);
depositRefundRecord.setIscomplete(false);
depositRefundRecord.setStatus(DepositRefundStatus.FIXLOSSREFUND.getCode());
insertSelectiveRe(depositRefundRecord);
depositRefundRecord.setStatus(DepositRefundStatus.FIXLOSSREFUNDARRIVAL.getCode());
insertSelectiveRe(depositRefundRecord);
depositRefundRecord.setStatus(DepositRefundStatus.VIOLATIONARRIVAL.getCode());
insertSelectiveRe(depositRefundRecord);
}
public DepositRefundRecord findByCrossIdAndStatus(Integer crossId, Integer status) {
Map<String, Object> map = new HashMap<>();
map.put("crossId", crossId);
map.put("status", status);
return mapper.findByCrossIdAndStatus(map);
}
}
...@@ -46,7 +46,7 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> { ...@@ -46,7 +46,7 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
OrderRentVehicleBiz orderRentVehicleBiz; OrderRentVehicleBiz orderRentVehicleBiz;
@Autowired @Autowired
OrderVehicalCrosstownBiz crosstownBiz; OrderVehicleCrosstownBiz crosstownBiz;
@Autowired @Autowired
OrderViolationBiz orderViolationBiz; OrderViolationBiz orderViolationBiz;
......
package com.xxfc.platform.order.biz; package com.xxfc.platform.order.biz;
import cn.hutool.core.bean.BeanUtil;
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.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.exception.BaseException;
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;
import com.xxfc.platform.order.contant.enumerate.CrosstownTypeEnum; import com.xxfc.platform.order.contant.enumerate.CrosstownTypeEnum;
import com.xxfc.platform.order.contant.enumerate.DepositRefundStatus;
import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum; import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum;
import com.xxfc.platform.order.entity.BaseOrder; import com.xxfc.platform.order.entity.*;
import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
import com.xxfc.platform.order.entity.OrderUserLicense;
import com.xxfc.platform.order.entity.OrderVehicleCrosstown;
import com.xxfc.platform.order.mapper.OrderVehicaleCrosstownMapper; import com.xxfc.platform.order.mapper.OrderVehicaleCrosstownMapper;
import com.xxfc.platform.order.pojo.mq.OrderMQDTO; import com.xxfc.platform.order.pojo.mq.OrderMQDTO;
import com.xxfc.platform.order.pojo.order.OrderPageVO;
import com.xxfc.platform.order.pojo.order.OrderVehicleCrosstownDto; import com.xxfc.platform.order.pojo.order.OrderVehicleCrosstownDto;
import com.xxfc.platform.vehicle.common.RestResponse; import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.entity.Vehicle; import com.xxfc.platform.vehicle.entity.Vehicle;
...@@ -25,14 +27,15 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -25,14 +27,15 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
@Service @Service
@Slf4j @Slf4j
public class OrderVehicalCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapper, OrderVehicleCrosstown> { public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapper, OrderVehicleCrosstown> {
@Autowired @Autowired
OrderVehicalCrosstownBiz orderVehicalCrosstownBiz; OrderVehicleCrosstownBiz orderVehicleCrosstownBiz;
@Autowired @Autowired
OrderUserLicenseBiz orderUserLicenseBiz; OrderUserLicenseBiz orderUserLicenseBiz;
...@@ -46,6 +49,9 @@ public class OrderVehicalCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -46,6 +49,9 @@ public class OrderVehicalCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
@Autowired @Autowired
private OrderRentVehicleBiz orderRentVehicleBiz; private OrderRentVehicleBiz orderRentVehicleBiz;
@Autowired
private OrderDepositRefundRecordBiz orderDepositRefundRecordBiz;
@Autowired @Autowired
BaseOrderBiz baseOrderBiz; BaseOrderBiz baseOrderBiz;
...@@ -117,13 +123,23 @@ public class OrderVehicalCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -117,13 +123,23 @@ public class OrderVehicalCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
vehicleFeign.arrivalBySmall(vehicleArrivalVo); vehicleFeign.arrivalBySmall(vehicleArrivalVo);
} }
//出车成功后修改订单状态 //出车成功后修改订单状态
List<OrderVehicleCrosstownDto> oldValue = orderVehicalCrosstownBiz.selectByOrderId(orderVehicleCrosstownDto); List<OrderVehicleCrosstownDto> oldValue = orderVehicleCrosstownBiz.selectByOrderId(orderVehicleCrosstownDto);
if (oldValue .size() == 1) { if (oldValue .size() == 1) {
BeanUtil.copyProperties(orderVehicleCrosstownDto, oldValue.get(0), CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true));
getOrderLicense(orderVehicleCrosstownDto);
handleOrderStatus(baseOrder, orderRentVehicleDetail, oldValue.get(0));
updateSelectiveByIdRe(oldValue.get(0));
RestResponse<Vehicle> restResponse = vehicleFeign.findById(orderRentVehicleDetail.getVehicleId());
if(restResponse.getData() != null) {
orderVehicleCrosstownDto.setVehicleNumberPlat(restResponse.getData().getNumberPlate());
}
return ObjectRestResponse.succ(oldValue.get(0)); return ObjectRestResponse.succ(oldValue.get(0));
} else if(oldValue .size() <= 0) { } else if(oldValue .size() <= 0) {
getOrderLicense(orderVehicleCrosstownDto); getOrderLicense(orderVehicleCrosstownDto);
orderVehicalCrosstownBiz.insertSelective(orderVehicleCrosstownDto); orderVehicleCrosstownBiz.insertSelective(orderVehicleCrosstownDto);
handleOrderStatus(baseOrder, orderRentVehicleDetail, orderVehicleCrosstownDto.getType());
OrderVehicleCrosstown orderVehicleCrosstown = orderVehicleCrosstownBiz.selectOne(orderVehicleCrosstownDto);
handleOrderStatus(baseOrder, orderRentVehicleDetail, orderVehicleCrosstown);
RestResponse<Vehicle> restResponse = vehicleFeign.findById(orderRentVehicleDetail.getVehicleId()); RestResponse<Vehicle> restResponse = vehicleFeign.findById(orderRentVehicleDetail.getVehicleId());
if(restResponse.getData() != null) { if(restResponse.getData() != null) {
orderVehicleCrosstownDto.setVehicleNumberPlat(restResponse.getData().getNumberPlate()); orderVehicleCrosstownDto.setVehicleNumberPlat(restResponse.getData().getNumberPlate());
...@@ -133,22 +149,52 @@ public class OrderVehicalCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -133,22 +149,52 @@ public class OrderVehicalCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
return ObjectRestResponse.createDefaultFail(); return ObjectRestResponse.createDefaultFail();
} }
private void handleOrderStatus(BaseOrder baseOrder, OrderRentVehicleDetail orderRentVehicleDetail, Integer type) { private void handleOrderStatus(BaseOrder baseOrder, OrderRentVehicleDetail orderRentVehicleDetail, OrderVehicleCrosstown orderVehicleCrosstown) {
//交车完成 设置订单状态为出行中 //交车完成 设置订单状态为出行中
BigDecimal totalAmount = new BigDecimal(0);
ObjectRestResponse<OrderPageVO> objectRestResponse = baseOrderBiz.getOrderDetail(baseOrder.getNo());
if(objectRestResponse.getData() != null && objectRestResponse.getData().getOrderRentVehicleDetail() != null) {
totalAmount = objectRestResponse.getData().getOrderRentVehicleDetail().getDeposit();
}
if (baseOrder.getStatus() == OrderStatusEnum.ORDER_TOSTART.getCode()) {//交车 if (baseOrder.getStatus() == OrderStatusEnum.ORDER_TOSTART.getCode()) {//交车
//判断是否是今日交车 //判断是否是今日交车
baseOrder.setStatus(OrderStatusEnum.ORDER_WAIT.getCode()); baseOrder.setStatus(OrderStatusEnum.ORDER_WAIT.getCode());
baseOrderBiz.updateSelectiveById(baseOrder); baseOrderBiz.updateSelectiveById(baseOrder);
} else if (baseOrder.getStatus() == OrderStatusEnum.ORDER_WAIT.getCode()) { //还车 } else if (baseOrder.getStatus() == OrderStatusEnum.ORDER_WAIT.getCode()) { //还车
if(type == CrosstownTypeEnum.ARRIVE.getCode()) {//不定损直接还车 if(orderVehicleCrosstown.getType() == CrosstownTypeEnum.ARRIVE.getCode()) {//不定损直接还车
//添加非定损记录
DepositRefundRecord depositRefundRecord = new DepositRefundRecord();
depositRefundRecord.setAmount(orderVehicleCrosstown.getDeductionCost());
depositRefundRecord.setRestAmount(orderVehicleCrosstown.getRestDeposit());
depositRefundRecord.setTotalAmount(totalAmount);
depositRefundRecord.setCrosstownId(orderVehicleCrosstown.getId());
orderDepositRefundRecordBiz.saveNormalRecord(depositRefundRecord);
baseOrder.setStatus(OrderStatusEnum.ORDER_FINISH.getCode()); baseOrder.setStatus(OrderStatusEnum.ORDER_FINISH.getCode());
baseOrderBiz.updateSelectiveById(baseOrder); baseOrderBiz.updateSelectiveById(baseOrder);
baseOrderBiz.sendOrderMq(orderRentVehicleDetail, null, null, baseOrder, OrderMQDTO.ORDER_FINISH); baseOrderBiz.sendOrderMq(orderRentVehicleDetail, null, null, baseOrder, OrderMQDTO.ORDER_FINISH);
} else if(type == CrosstownTypeEnum.FIXED_LOSS.getCode()){ //定损还车 } else if(orderVehicleCrosstown.getType() == CrosstownTypeEnum.FIXED_LOSS.getCode()){ //定损还车,添加定损记录
//添加定损记录
DepositRefundRecord depositRefundRecord = new DepositRefundRecord();
depositRefundRecord.setAmount(orderVehicleCrosstown.getDeductionCost());
depositRefundRecord.setRestAmount(orderVehicleCrosstown.getRestDeposit());
depositRefundRecord.setTotalAmount(totalAmount);
depositRefundRecord.setCrosstownId(orderVehicleCrosstown.getId());
orderDepositRefundRecordBiz.saveFixLossRecord(depositRefundRecord);
baseOrder.setStatus(OrderStatusEnum.ORDER_FIXED_LOSS.getCode()); baseOrder.setStatus(OrderStatusEnum.ORDER_FIXED_LOSS.getCode());
baseOrderBiz.updateSelectiveById(baseOrder); baseOrderBiz.updateSelectiveById(baseOrder);
} }
} else if (baseOrder.getStatus() == OrderStatusEnum.ORDER_FIXED_LOSS.getCode()) {//定损后还车 } else if (baseOrder.getStatus() == OrderStatusEnum.ORDER_FIXED_LOSS.getCode()) {//定损后还车
DepositRefundRecord depositRefundRecord = orderDepositRefundRecordBiz.findByCrossIdAndStatus(orderVehicleCrosstown.getId(), DepositRefundStatus.FIXLOSSREFUND.getCode());
if(depositRefundRecord != null) {
depositRefundRecord.setIscomplete(true); //发起退款显示
depositRefundRecord.setAmount(orderVehicleCrosstown.getDeductionCost());
depositRefundRecord.setRestAmount(orderVehicleCrosstown.getRestDeposit());
depositRefundRecord.setTotalAmount(totalAmount);
depositRefundRecord.setCrosstownId(orderVehicleCrosstown.getId());
orderDepositRefundRecordBiz.updateSelectiveByIdRe(depositRefundRecord);
} else {
throw new BaseException("定损记录不存在!请联系客服");
}
baseOrder.setStatus(OrderStatusEnum.ORDER_FINISH.getCode()); baseOrder.setStatus(OrderStatusEnum.ORDER_FINISH.getCode());
baseOrderBiz.updateSelectiveById(baseOrder); baseOrderBiz.updateSelectiveById(baseOrder);
baseOrderBiz.sendOrderMq(orderRentVehicleDetail, null, null, baseOrder, OrderMQDTO.ORDER_FINISH); baseOrderBiz.sendOrderMq(orderRentVehicleDetail, null, null, baseOrder, OrderMQDTO.ORDER_FINISH);
......
package com.xxfc.platform.order.jobhandler; package com.xxfc.platform.order.jobhandler;
import cn.hutool.json.JSONUtil;
import com.github.wxiaoqi.security.common.util.IntervalUtil; import com.github.wxiaoqi.security.common.util.IntervalUtil;
import com.xxfc.platform.order.biz.*; import com.xxfc.platform.order.biz.*;
import com.xxfc.platform.order.contant.enumerate.*; import com.xxfc.platform.order.contant.enumerate.*;
import com.xxfc.platform.order.entity.BaseOrder; import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.entity.OrderRentVehicleDetail; import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
import com.xxfc.platform.order.entity.OrderVehicleCrosstown;
import com.xxfc.platform.order.entity.OrderViolation; import com.xxfc.platform.order.entity.OrderViolation;
import com.xxfc.platform.order.pojo.DedDetailDTO;
import com.xxfc.platform.universal.constant.DictionaryKey; import com.xxfc.platform.universal.constant.DictionaryKey;
import com.xxfc.platform.universal.entity.Dictionary; import com.xxfc.platform.universal.entity.Dictionary;
import com.xxfc.platform.universal.feign.ThirdFeign; import com.xxfc.platform.universal.feign.ThirdFeign;
...@@ -46,7 +43,7 @@ public class RentDepositJobHandler extends IJobHandler { ...@@ -46,7 +43,7 @@ public class RentDepositJobHandler extends IJobHandler {
OrderRentVehicleBiz orderRentVehicleBiz; OrderRentVehicleBiz orderRentVehicleBiz;
@Autowired @Autowired
OrderVehicalCrosstownBiz crosstownBiz; OrderVehicleCrosstownBiz crosstownBiz;
@Autowired @Autowired
OrderViolationBiz orderViolationBiz; OrderViolationBiz orderViolationBiz;
......
package com.xxfc.platform.order.mapper;
import com.xxfc.platform.order.entity.DepositRefundRecord;
import tk.mybatis.mapper.common.Mapper;
import java.util.Map;
public interface DepositRefundRecordMapper extends Mapper<DepositRefundRecord> {
DepositRefundRecord findByCrossIdAndStatus(Map<String, Object> map);
}
\ No newline at end of file
...@@ -21,7 +21,7 @@ import com.github.wxiaoqi.security.common.vo.PageDataVO; ...@@ -21,7 +21,7 @@ import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.order.biz.BaseOrderBiz; import com.xxfc.platform.order.biz.BaseOrderBiz;
import com.xxfc.platform.order.biz.OrderMemberDetailBiz; import com.xxfc.platform.order.biz.OrderMemberDetailBiz;
import com.xxfc.platform.order.biz.OrderUserLicenseBiz; import com.xxfc.platform.order.biz.OrderUserLicenseBiz;
import com.xxfc.platform.order.biz.OrderVehicalCrosstownBiz; import com.xxfc.platform.order.biz.OrderVehicleCrosstownBiz;
import com.xxfc.platform.order.biz.inner.OrderCancelBiz; import com.xxfc.platform.order.biz.inner.OrderCancelBiz;
import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum; import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum;
import com.xxfc.platform.order.entity.BaseOrder; import com.xxfc.platform.order.entity.BaseOrder;
...@@ -77,7 +77,7 @@ public class BaseOrderController extends CommonBaseController implements UserRes ...@@ -77,7 +77,7 @@ public class BaseOrderController extends CommonBaseController implements UserRes
OrderUserLicenseBiz orderUserLicenseBiz; OrderUserLicenseBiz orderUserLicenseBiz;
@Autowired @Autowired
OrderVehicalCrosstownBiz orderVehicalCrosstownBiz; OrderVehicleCrosstownBiz orderVehicleCrosstownBiz;
@Autowired @Autowired
OrderCancelBiz orderCancelBiz; OrderCancelBiz orderCancelBiz;
...@@ -217,7 +217,6 @@ public class BaseOrderController extends CommonBaseController implements UserRes ...@@ -217,7 +217,6 @@ public class BaseOrderController extends CommonBaseController implements UserRes
orderPageVO.setOrderVehicleCrosstownDto(orderVehicleCrosstownDto); orderPageVO.setOrderVehicleCrosstownDto(orderVehicleCrosstownDto);
} }
} }
} }
if (orderPageVO.getOrderRentVehicleDetail() != null && orderPageVO.getOrderRentVehicleDetail().getStartCompanyId() != null && orderPageVO.getOrderRentVehicleDetail().getEndCompanyId() != null) { if (orderPageVO.getOrderRentVehicleDetail() != null && orderPageVO.getOrderRentVehicleDetail().getStartCompanyId() != null && orderPageVO.getOrderRentVehicleDetail().getEndCompanyId() != null) {
ObjectRestResponse<CompanyDetail> startResponse = vehicleFeign.getCompanyDetail(orderPageVO.getOrderRentVehicleDetail().getStartCompanyId()); ObjectRestResponse<CompanyDetail> startResponse = vehicleFeign.getCompanyDetail(orderPageVO.getOrderRentVehicleDetail().getStartCompanyId());
......
...@@ -3,7 +3,7 @@ package com.xxfc.platform.order.rest; ...@@ -3,7 +3,7 @@ package com.xxfc.platform.order.rest;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.order.biz.BaseOrderBiz; import com.xxfc.platform.order.biz.BaseOrderBiz;
import com.xxfc.platform.order.biz.OrderUserLicenseBiz; import com.xxfc.platform.order.biz.OrderUserLicenseBiz;
import com.xxfc.platform.order.biz.OrderVehicalCrosstownBiz; import com.xxfc.platform.order.biz.OrderVehicleCrosstownBiz;
import com.xxfc.platform.order.entity.OrderVehicleCrosstown; import com.xxfc.platform.order.entity.OrderVehicleCrosstown;
import com.xxfc.platform.order.pojo.order.OrderVehicleCrosstownDto; import com.xxfc.platform.order.pojo.order.OrderVehicleCrosstownDto;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -22,7 +22,7 @@ import java.util.List; ...@@ -22,7 +22,7 @@ import java.util.List;
public class OrderVehicleCrosstownController { public class OrderVehicleCrosstownController {
@Autowired @Autowired
OrderVehicalCrosstownBiz orderVehicalCrosstownBiz; OrderVehicleCrosstownBiz orderVehicleCrosstownBiz;
@Autowired @Autowired
OrderUserLicenseBiz orderUserLicenseBiz; OrderUserLicenseBiz orderUserLicenseBiz;
...@@ -35,13 +35,13 @@ public class OrderVehicleCrosstownController { ...@@ -35,13 +35,13 @@ public class OrderVehicleCrosstownController {
@Transactional @Transactional
public ObjectRestResponse<OrderVehicleCrosstownDto> add(@RequestBody OrderVehicleCrosstownDto orderVehicleCrosstownDto) { public ObjectRestResponse<OrderVehicleCrosstownDto> add(@RequestBody OrderVehicleCrosstownDto orderVehicleCrosstownDto) {
return orderVehicalCrosstownBiz.add(orderVehicleCrosstownDto); return orderVehicleCrosstownBiz.add(orderVehicleCrosstownDto);
} }
@GetMapping(value = "/{id}") @GetMapping(value = "/{id}")
@ApiOperation(value = "查询记录信息") @ApiOperation(value = "查询记录信息")
public ObjectRestResponse<OrderVehicleCrosstown> get(@PathVariable Integer id) { public ObjectRestResponse<OrderVehicleCrosstown> get(@PathVariable Integer id) {
return ObjectRestResponse.succ(orderVehicalCrosstownBiz.get(id)); return ObjectRestResponse.succ(orderVehicleCrosstownBiz.get(id));
} }
@GetMapping(value = "/getByOrderId") @GetMapping(value = "/getByOrderId")
...@@ -50,6 +50,6 @@ public class OrderVehicleCrosstownController { ...@@ -50,6 +50,6 @@ public class OrderVehicleCrosstownController {
if (orderVehicleCrosstownDto == null) { if (orderVehicleCrosstownDto == null) {
return ObjectRestResponse.createFailedResult(500, "参数orderId为空"); return ObjectRestResponse.createFailedResult(500, "参数orderId为空");
} }
return ObjectRestResponse.succ(orderVehicalCrosstownBiz.selectByOrderId(orderVehicleCrosstownDto)); return ObjectRestResponse.succ(orderVehicleCrosstownBiz.selectByOrderId(orderVehicleCrosstownDto));
} }
} }
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
</plugin> </plugin>
<jdbcConnection driverClass="com.mysql.jdbc.Driver" <jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://10.5.52.3:3306/xxfc_activity?useUnicode=true&amp;characterEncoding=UTF8" connectionURL="jdbc:mysql://10.5.52.4:3307/xxfc_order?useUnicode=true&amp;characterEncoding=UTF8"
userId="root" userId="root"
password="sslcloud123*()"> password="sslcloud123*()">
</jdbcConnection> </jdbcConnection>
...@@ -37,10 +37,6 @@ ...@@ -37,10 +37,6 @@
<!-- </table>--> <!-- </table>-->
<!-- <table tableName="branch_company_stock_info" domainObjectName="BranchCompanyStockInfo"></table>--> <!-- <table tableName="branch_company_stock_info" domainObjectName="BranchCompanyStockInfo"></table>-->
<!-- <table tableName="branch_company_stock_apply_info" domainObjectName="BranchCompanyStockApplyInfo"></table>--> <!-- <table tableName="branch_company_stock_apply_info" domainObjectName="BranchCompanyStockApplyInfo"></table>-->
<table tableName="integral_rule" domainObjectName="IntegralRule"></table> <table tableName="deposit_refund_record" domainObjectName="DepositRefundRecord"></table>
<table tableName="integral_sign_record" domainObjectName="IntegralSignRecord"></table>
<table tableName="integral_user_total" domainObjectName="IntegralUserTotal"></table>
<table tableName="integral_user_record" domainObjectName="IntegralUserRecord"></table>
<!-- <table tableName="integeral_user_record" domainObjectName="VehicleUpkeepLog"></table>-->
</context> </context>
</generatorConfiguration> </generatorConfiguration>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.xxfc.platform.order.mapper.DepositRefundRecordMapper" >
<select id="findByCrossIdAndStatus" resultType="com.xxfc.platform.order.entity.DepositRefundRecord" parameterType="java.util.Map">
select * from deposit_refund_record
where status = #{status} and crosstown_id = #{crossId} and isshow = 1
</select>
</mapper>
\ No newline at end of file
...@@ -28,6 +28,8 @@ public enum ResCode { ...@@ -28,6 +28,8 @@ public enum ResCode {
VEHICLE_DEPARTURE_VEHICLE_DISABLE(104002,"车辆不可用"), VEHICLE_DEPARTURE_VEHICLE_DISABLE(104002,"车辆不可用"),
VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE(104003,"车辆未出车"), VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE(104003,"车辆未出车"),
VEHICLE_BOOK_RECORD_IS_NOT_EXIST(104004, "预约记录不存在"),
BRANCH_COMPANY_UNEXIST(105001, "分公司信息不存在"), BRANCH_COMPANY_UNEXIST(105001, "分公司信息不存在"),
BRANCH_COMPANY_STOCK_EXISTED(105002, "分公司股权信息已存在"), BRANCH_COMPANY_STOCK_EXISTED(105002, "分公司股权信息已存在"),
BRANCH_COMPANY_STOCK_UNEXIST(105003, "分公司股权信息不存在"), BRANCH_COMPANY_STOCK_UNEXIST(105003, "分公司股权信息不存在"),
......
...@@ -9,7 +9,7 @@ public enum VehicleStatus { ...@@ -9,7 +9,7 @@ public enum VehicleStatus {
DISCARD(3,"报废"), DISCARD(3,"报废"),
DEPARTURE(4, "出车"), DEPARTURE(4, "出车"),
UPKEEP(5, "保养"), UPKEEP(5, "保养"),
; ;
/** /**
* 编码 * 编码
......
...@@ -184,6 +184,6 @@ public class VehicleBookRecord { ...@@ -184,6 +184,6 @@ public class VehicleBookRecord {
private String vehicleUserPhone; private String vehicleUserPhone;
@Column(name = "vehicle_upkeep_item_ids") @Column(name = "upkeep_ids")
private String upkeepIds; private String upkeepIds;
} }
\ No newline at end of file
...@@ -77,7 +77,9 @@ public class VehicleDepartureLog { ...@@ -77,7 +77,9 @@ public class VehicleDepartureLog {
* 还车分公司 * 还车分公司
*/ */
Integer arrivalBranchCompanyId; Integer arrivalBranchCompanyId;
Date createTime; Date createTime;
Date updateTime; Date updateTime;
Integer state; Integer state;
...@@ -86,8 +88,17 @@ public class VehicleDepartureLog { ...@@ -86,8 +88,17 @@ public class VehicleDepartureLog {
* 预约记录id * 预约记录id
*/ */
Integer bookRecordId; Integer bookRecordId;
//违章图片,逗号分隔
String illegalPic;
//违章金额
Integer illegalAmount;
String illegalPic; //出车图片
String departurePic;
//收车图片
String arrivalPic;
//备注
String departureRemark;
Integer illegalAmount; String arrivalRemark;
} }
...@@ -27,4 +27,17 @@ public class VehicleArrivalVo { ...@@ -27,4 +27,17 @@ public class VehicleArrivalVo {
*/ */
Integer arrivalBranchCompanyId; Integer arrivalBranchCompanyId;
//收车图片
String arrivalPic;
//备注
String remark;
//违章图片,逗号分隔
String illegalPic;
//违章金额
Integer illegalAmount;
Integer bookRecordId;
} }
...@@ -2,6 +2,7 @@ package com.xxfc.platform.vehicle.pojo; ...@@ -2,6 +2,7 @@ package com.xxfc.platform.vehicle.pojo;
import com.xxfc.platform.vehicle.entity.VehicleBookHourInfo; import com.xxfc.platform.vehicle.entity.VehicleBookHourInfo;
import com.xxfc.platform.vehicle.entity.VehicleBookRecord; import com.xxfc.platform.vehicle.entity.VehicleBookRecord;
import com.xxfc.platform.vehicle.entity.VehicleUpkeepItem;
import lombok.Data; import lombok.Data;
import java.util.List; import java.util.List;
...@@ -32,4 +33,7 @@ public class VehicleBookRecordVo extends VehicleBookRecord { ...@@ -32,4 +33,7 @@ public class VehicleBookRecordVo extends VehicleBookRecord {
private Integer liftStatus; private Integer liftStatus;
private Integer retStatus; private Integer retStatus;
List<VehicleUpkeepItem> vehicleUpkeepItems;
} }
...@@ -31,4 +31,13 @@ public class VehicleDepartureLogVo { ...@@ -31,4 +31,13 @@ public class VehicleDepartureLogVo {
String illegalPic; String illegalPic;
Integer illegalAmount; Integer illegalAmount;
//出车图片
String departurePic;
//收车图片
String arrivalPic;
//备注
String departureRemark;
String arrivalRemark;
} }
...@@ -50,4 +50,14 @@ public class VehicleDepartureVo { ...@@ -50,4 +50,14 @@ public class VehicleDepartureVo {
*/ */
Integer bookRecordId; Integer bookRecordId;
//出车图片
String departurePic;
//备注
String remark;
//违章图片,逗号分隔
String illegalPic;
//违章金额
Integer illegalAmount;
} }
...@@ -65,17 +65,20 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany ...@@ -65,17 +65,20 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
UserFeign userFeign; UserFeign userFeign;
@Override @Override
public UserFeign getUserFeign() {return userFeign;} public UserFeign getUserFeign() {
return userFeign;
}
@Value("${branchCompanyPic.baseUploadPath}") @Value("${branchCompanyPic.baseUploadPath}")
private String baseUploadPath ; private String baseUploadPath;
@Autowired @Autowired
private VehicleBiz vehicleBiz; private VehicleBiz vehicleBiz;
/** /**
* 按主键获取公司 * 按主键获取公司
*
* @param id * @param id
* @return * @return
*/ */
...@@ -84,17 +87,17 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany ...@@ -84,17 +87,17 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
} }
public List<BranchCompany> selectByZoneId(Integer zoneId) { public List<BranchCompany> selectByZoneId(Integer zoneId) {
if(zoneId == null) { if (zoneId == null) {
return null; return null;
} }
UserDTO userDTO = getAdminUserInfo(); UserDTO userDTO = getAdminUserInfo();
if(userDTO == null) { if (userDTO == null) {
return null; return null;
} }
Map<String, Object> map = new HashedMap<>(); Map<String, Object> map = new HashedMap<>();
map.put("zoneId", zoneId); map.put("zoneId", zoneId);
List<Integer> branchCompanies = Lists.newArrayList(); List<Integer> branchCompanies = Lists.newArrayList();
if(DATA_ALL_FALSE.equals(userDTO.getDataAll())) { //不能获取全部数据 if (DATA_ALL_FALSE.equals(userDTO.getDataAll())) { //不能获取全部数据
branchCompanies = vehicleBiz.dataCompany(userDTO.getDataZone(), userDTO.getDataCompany()); branchCompanies = vehicleBiz.dataCompany(userDTO.getDataZone(), userDTO.getDataCompany());
} }
map.put("ids", branchCompanies); map.put("ids", branchCompanies);
...@@ -103,15 +106,16 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany ...@@ -103,15 +106,16 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
/** /**
* 获取公司信息 * 获取公司信息
*
* @param id * @param id
* @return * @return
*/ */
@Cache(key= RedisKey.BRANCH_COMPANY_CACHE) @Cache(key = RedisKey.BRANCH_COMPANY_CACHE)
public CompanyDetail getDetailById(Integer id) { public CompanyDetail getDetailById(Integer id) {
BranchCompany branchCompany = this.getById(id); BranchCompany branchCompany = this.getById(id);
CompanyDetail detail = null; CompanyDetail detail = null;
if(branchCompany != null) { if (branchCompany != null) {
List<SysRegion> sysRegions = sysRegionBiz.getRegionsByCodes(new ArrayList<Long>(){{ List<SysRegion> sysRegions = sysRegionBiz.getRegionsByCodes(new ArrayList<Long>() {{
add(Long.valueOf(branchCompany.getAddrProvince())); add(Long.valueOf(branchCompany.getAddrProvince()));
add(Long.valueOf(branchCompany.getAddrCity())); add(Long.valueOf(branchCompany.getAddrCity()));
add(Long.valueOf(branchCompany.getAddrTown())); add(Long.valueOf(branchCompany.getAddrTown()));
...@@ -122,52 +126,53 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany ...@@ -122,52 +126,53 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
return detail; return detail;
} }
public Boolean exits(Integer id){ public Boolean exits(Integer id) {
BranchCompany param = new BranchCompany(); BranchCompany param = new BranchCompany();
param.setId(id); param.setId(id);
return mapper.selectCount(param)>0; return mapper.selectCount(param) > 0;
} }
/** /**
* 转换为vo类 * 转换为vo类
*
* @param branchCompanies * @param branchCompanies
* @returns * @returns
*/ */
private List<BranchCompanyVo> branchCompany2VO(List<BranchCompany> branchCompanies){ private List<BranchCompanyVo> branchCompany2VO(List<BranchCompany> branchCompanies) {
List<BranchCompanyVo> branchCompanyVoList = Lists.newArrayList(); List<BranchCompanyVo> branchCompanyVoList = Lists.newArrayList();
if(CollectionUtils.isNotEmpty(branchCompanies)){ if (CollectionUtils.isNotEmpty(branchCompanies)) {
for(BranchCompany branchCompany:branchCompanies){ for (BranchCompany branchCompany : branchCompanies) {
BranchCompanyVo branchCompanyVo = new BranchCompanyVo(); BranchCompanyVo branchCompanyVo = new BranchCompanyVo();
BeanUtils.copyProperties(branchCompany,branchCompanyVo); BeanUtils.copyProperties(branchCompany, branchCompanyVo);
branchCompanyVoList.add(branchCompanyVo); branchCompanyVoList.add(branchCompanyVo);
} }
} }
return branchCompanyVoList; return branchCompanyVoList;
} }
public PageDataVO<BranchCompany> getAll(Integer page, Integer limit, Integer addrProvince, Integer addrCity, public PageDataVO<BranchCompany> getAll(Integer page, Integer limit, Integer addrProvince, Integer addrCity,
Integer addrTown, UserDTO userDTO){ Integer addrTown, UserDTO userDTO) {
Example example = new Example(BranchCompany.class); Example example = new Example(BranchCompany.class);
Example.Criteria criteria = example.createCriteria(); Example.Criteria criteria = example.createCriteria();
if(addrProvince!=null) { if (addrProvince != null) {
criteria.andCondition(" addr_province = '" + addrProvince + "'"); criteria.andCondition(" addr_province = '" + addrProvince + "'");
} }
if(addrCity!=null) { if (addrCity != null) {
criteria.andCondition(" addr_city = '" + addrCity + "'"); criteria.andCondition(" addr_city = '" + addrCity + "'");
} }
if(addrTown!=null) { if (addrTown != null) {
criteria.andCondition(" addr_town = '" + addrTown + "'"); criteria.andCondition(" addr_town = '" + addrTown + "'");
} }
if(userDTO != null && DATA_ALL_FALSE.equals(userDTO.getDataAll())) { if (userDTO != null && DATA_ALL_FALSE.equals(userDTO.getDataAll())) {
if(StringUtils.isNotBlank(userDTO.getDataZone())) { if (StringUtils.isNotBlank(userDTO.getDataZone())) {
criteria.andIn(COMPANY_ZONE_ID, userDTO.dataZone2List()); criteria.andIn(COMPANY_ZONE_ID, userDTO.dataZone2List());
} }
if(StringUtils.isNotBlank(userDTO.getDataCompany())) { if (StringUtils.isNotBlank(userDTO.getDataCompany())) {
criteria.andIn(ID, userDTO.dataCompany2List()); criteria.andIn(ID, userDTO.dataCompany2List());
} }
} }
example.setOrderByClause("`id` asc"); example.setOrderByClause("`id` asc");
PageHelper.startPage(page,limit); PageHelper.startPage(page, limit);
PageInfo<BranchCompany> branchCompanyPageInfo = new PageInfo<>(mapper.selectByExample(example)); PageInfo<BranchCompany> branchCompanyPageInfo = new PageInfo<>(mapper.selectByExample(example));
return PageDataVO.pageInfo(branchCompanyPageInfo); return PageDataVO.pageInfo(branchCompanyPageInfo);
} }
...@@ -179,53 +184,55 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany ...@@ -179,53 +184,55 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
} }
@Cache(key = RedisKey.BRANCH_COMPANY_CACHE_ALL)
@Cache(key= RedisKey.BRANCH_COMPANY_CACHE_ALL) public List<BranchCompany> getAll() {
public List<BranchCompany> getAll(){
return mapper.selectAll(); return mapper.selectAll();
} }
/** /**
* 增加公司,返回id * 增加公司,返回id
*
* @param branchCompanyVo * @param branchCompanyVo
* @return * @return
*/ */
@CacheClear(pre= RedisKey.BRANCH_COMPANY_CACHE) @CacheClear(pre = RedisKey.BRANCH_COMPANY_CACHE)
public Integer add(BranchCompanyVo branchCompanyVo){ public Integer add(BranchCompanyVo branchCompanyVo) {
BranchCompany branchCompany = new BranchCompany(); BranchCompany branchCompany = new BranchCompany();
BeanUtils.copyProperties(branchCompanyVo,branchCompany); BeanUtils.copyProperties(branchCompanyVo, branchCompany);
mapper.insertSelective(branchCompany); mapper.insertSelective(branchCompany);
return branchCompany.getId(); return branchCompany.getId();
} }
@CacheClear(pre= RedisKey.BRANCH_COMPANY_CACHE) @CacheClear(pre = RedisKey.BRANCH_COMPANY_CACHE)
public void del(Integer id){ public void del(Integer id) {
mapper.deleteByPrimaryKey(id); mapper.deleteByPrimaryKey(id);
} }
/** /**
* 更新公司信息 * 更新公司信息
*
* @param branchCompany * @param branchCompany
* @return * @return
*/ */
@CacheClear(pre = RedisKey.BRANCH_COMPANY_CACHE) @CacheClear(pre = RedisKey.BRANCH_COMPANY_CACHE)
public Integer update(BranchCompany branchCompany){ public Integer update(BranchCompany branchCompany) {
return mapper.updateByPrimaryKeySelective(branchCompany); return mapper.updateByPrimaryKeySelective(branchCompany);
} }
/** /**
* 写入上传文件,返回相对路径 * 写入上传文件,返回相对路径
*
* @param file * @param file
* @return * @return
*/ */
public RestResponse<String> uploadCompanyPic(MultipartFile file) throws Exception{ public RestResponse<String> uploadCompanyPic(MultipartFile file) throws Exception {
//创建本日存放目录 //创建本日存放目录
DateTime now = DateTime.now(); DateTime now = DateTime.now();
String dirPathToday = File.separator + now.toString(DEFAULT_DATE_TIME_FORMATTER); String dirPathToday = File.separator + now.toString(DEFAULT_DATE_TIME_FORMATTER);
String redisNoKey = RedisKey.UPLOAD_FILE_NO_PREFIX + now.toString(DEFAULT_DATE_TIME_FORMATTER); String redisNoKey = RedisKey.UPLOAD_FILE_NO_PREFIX + now.toString(DEFAULT_DATE_TIME_FORMATTER);
Long no = customRedisTemplate.opsForValue().increment(redisNoKey); Long no = customRedisTemplate.opsForValue().increment(redisNoKey);
if(no.equals(1l)){ if (no.equals(1l)) {
customRedisTemplate.expire(redisNoKey,1, TimeUnit.DAYS); customRedisTemplate.expire(redisNoKey, 1, TimeUnit.DAYS);
} }
String fileName = file.getOriginalFilename(); String fileName = file.getOriginalFilename();
String realFileRelPath = dirPathToday + File.separator + no + fileName.substring(fileName.lastIndexOf(".")); String realFileRelPath = dirPathToday + File.separator + no + fileName.substring(fileName.lastIndexOf("."));
...@@ -236,9 +243,9 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany ...@@ -236,9 +243,9 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
return RestResponse.suc(realFileRelPath); return RestResponse.suc(realFileRelPath);
} }
@Cache(key=BRANCH_COMPANY_CACHE_DATAZONE) @Cache(key = BRANCH_COMPANY_CACHE_DATAZONE)
public List<BranchCompany> dataCompany(String dataZone) { public List<BranchCompany> dataCompany(String dataZone) {
if(StringUtils.isBlank(dataZone)) { if (StringUtils.isBlank(dataZone)) {
return new ArrayList<BranchCompany>(); return new ArrayList<BranchCompany>();
} }
List<Integer> zoneIds = Arrays.asList(dataZone.split(",")).parallelStream().map(s -> Integer.valueOf(s)).collect(Collectors.toList()); List<Integer> zoneIds = Arrays.asList(dataZone.split(",")).parallelStream().map(s -> Integer.valueOf(s)).collect(Collectors.toList());
...@@ -248,42 +255,43 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany ...@@ -248,42 +255,43 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
return zoneCompanys; return zoneCompanys;
} }
public RestResponse<String> importExcel(MultipartFile multipartfile, HttpServletRequest request){
public RestResponse<String> importExcel(MultipartFile multipartfile, HttpServletRequest request) {
try { try {
List<String[]> readExcel = ExcelImport.getExcelData(multipartfile); List<String[]> readExcel = ExcelImport.getExcelData(multipartfile);
if(readExcel.size()<1){ if (readExcel.size() < 1) {
return RestResponse.codeAndMessage(1001,"导入不能没数据!!!"); return RestResponse.codeAndMessage(1001, "导入不能没数据!!!");
} }
List<BranchCompanyStockInfo> list=new ArrayList<>(); List<BranchCompanyStockInfo> list = new ArrayList<>();
for (int i = 1; i < readExcel.size(); i++) { for (int i = 1; i < readExcel.size(); i++) {
String[] str = readExcel.get(i); String[] str = readExcel.get(i);
BranchCompany branchCompany=new BranchCompany(); BranchCompany branchCompany = new BranchCompany();
branchCompany.setName(str[0]); branchCompany.setName(str[0]);
branchCompany=mapper.selectOne(branchCompany); branchCompany = mapper.selectOne(branchCompany);
if(branchCompany!=null){ if (branchCompany != null) {
BranchCompany branchCompany1=new BranchCompany(); BranchCompany branchCompany1 = new BranchCompany();
if(str.length>1){ if (str.length > 1) {
branchCompany1.setLeader(str[1]); branchCompany1.setLeader(str[1]);
} }
if(str.length>2){ if (str.length > 2) {
branchCompany1.setLeaderContactInfo(str[2]); branchCompany1.setLeaderContactInfo(str[2]);
} }
if(branchCompany1!=null&&(StringUtils.isNotBlank(branchCompany1.getLeader())||StringUtils.isNotBlank(branchCompany1.getLeaderContactInfo()))){ if (branchCompany1 != null && (StringUtils.isNotBlank(branchCompany1.getLeader()) || StringUtils.isNotBlank(branchCompany1.getLeaderContactInfo()))) {
branchCompany1.setId(branchCompany.getId()); branchCompany1.setId(branchCompany.getId());
mapper.updateByPrimaryKeySelective(branchCompany1); mapper.updateByPrimaryKeySelective(branchCompany1);
} }
} }
} }
}catch (Exception e){ } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return RestResponse.codeAndMessage(10001,"网络异常!"); return RestResponse.codeAndMessage(10001, "网络异常!");
} }
return RestResponse.suc(); return RestResponse.suc();
} }
public List<BranchCompany> getListByUser(UserDTO userDTO){ public List<BranchCompany> getListByUser(UserDTO userDTO) {
if(userDTO != null && DATA_ALL_FALSE.equals(userDTO.getDataAll())) { if (userDTO != null && DATA_ALL_FALSE.equals(userDTO.getDataAll())) {
Example example = new Example(BranchCompany.class); Example example = new Example(BranchCompany.class);
Example.Criteria criteria = example.createCriteria(); Example.Criteria criteria = example.createCriteria();
if (StringUtils.isNotBlank(userDTO.getDataZone())) { if (StringUtils.isNotBlank(userDTO.getDataZone())) {
...@@ -295,12 +303,13 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany ...@@ -295,12 +303,13 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
example.setOrderByClause("`id` asc"); example.setOrderByClause("`id` asc");
return mapper.selectByExample(example); return mapper.selectByExample(example);
} }
return getAll(); return getAll();
} }
/** /**
* 通过片区片区和分公司id获取对应的城市信息 * 通过片区片区和分公司id获取对应的城市信息
*
* @param zoneList * @param zoneList
* @param companyList * @param companyList
* @return * @return
...@@ -310,13 +319,12 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany ...@@ -310,13 +319,12 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
if (CollectionUtils.isEmpty(list)) { if (CollectionUtils.isEmpty(list)) {
return new HashSet<>(); return new HashSet<>();
} }
Example exa =new Example(BranchCompany.class); Example exa = new Example(BranchCompany.class);
Example.Criteria criteria = exa.createCriteria(); Example.Criteria criteria = exa.createCriteria();
criteria.andIn("id",list); criteria.andIn("id", list);
List<BranchCompany> result = mapper.selectByExample(exa); List<BranchCompany> result = mapper.selectByExample(exa);
return result.parallelStream().map(BranchCompany::getAddrCity).collect(Collectors.toSet()); return result.parallelStream().map(BranchCompany::getAddrCity).collect(Collectors.toSet());
} }
} }
...@@ -3,12 +3,10 @@ package com.xxfc.platform.vehicle.biz; ...@@ -3,12 +3,10 @@ package com.xxfc.platform.vehicle.biz;
import com.github.wxiaoqi.security.common.exception.BaseException; import com.github.wxiaoqi.security.common.exception.BaseException;
import com.xxfc.platform.vehicle.constant.ResCode.ResCode; import com.xxfc.platform.vehicle.constant.ResCode.ResCode;
import com.xxfc.platform.vehicle.constant.VehicleActiveType; import com.xxfc.platform.vehicle.constant.VehicleActiveType;
import com.xxfc.platform.vehicle.constant.VehicleBookRecordStatus;
import com.xxfc.platform.vehicle.constant.VehicleDepartureState; import com.xxfc.platform.vehicle.constant.VehicleDepartureState;
import com.xxfc.platform.vehicle.constant.VehicleStatus; import com.xxfc.platform.vehicle.constant.VehicleStatus;
import com.xxfc.platform.vehicle.entity.Vehicle; import com.xxfc.platform.vehicle.entity.*;
import com.xxfc.platform.vehicle.entity.VehicleActiveLog;
import com.xxfc.platform.vehicle.entity.VehicleDepartureLog;
import com.xxfc.platform.vehicle.entity.VehicleUpkeepLog;
import com.xxfc.platform.vehicle.mapper.*; import com.xxfc.platform.vehicle.mapper.*;
import com.xxfc.platform.vehicle.pojo.VehicleArrivalVo; import com.xxfc.platform.vehicle.pojo.VehicleArrivalVo;
import com.xxfc.platform.vehicle.pojo.VehicleDepartureVo; import com.xxfc.platform.vehicle.pojo.VehicleDepartureVo;
...@@ -39,6 +37,9 @@ public class VehicleActiveService { ...@@ -39,6 +37,9 @@ public class VehicleActiveService {
@Autowired @Autowired
VehicleUpkeepLogMapper vehicleUpkeepLogMapper; VehicleUpkeepLogMapper vehicleUpkeepLogMapper;
@Autowired
VehicleBookRecordBiz vehicleBookRecordBiz;
@Autowired @Autowired
VehicleUpkeepItemMapper vehicleUpkeepItemMapper; VehicleUpkeepItemMapper vehicleUpkeepItemMapper;
@Value("${vehicle.mileage}") @Value("${vehicle.mileage}")
...@@ -80,6 +81,10 @@ public class VehicleActiveService { ...@@ -80,6 +81,10 @@ public class VehicleActiveService {
throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_DISABLE.getDesc(), throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_DISABLE.getDesc(),
ResCode.VEHICLE_DEPARTURE_VEHICLE_DISABLE.getCode()); ResCode.VEHICLE_DEPARTURE_VEHICLE_DISABLE.getCode());
} }
//修改预约记录状态
if(departureVo.getBookRecordId() != null) {
updateBookRecordStatus(departureVo.getBookRecordId());
}
// 出车记录 // 出车记录
VehicleDepartureLog departureLog = new VehicleDepartureLog(); VehicleDepartureLog departureLog = new VehicleDepartureLog();
...@@ -89,6 +94,7 @@ public class VehicleActiveService { ...@@ -89,6 +94,7 @@ public class VehicleActiveService {
departureLog.setMileageStart(departureVo.getMileage()); departureLog.setMileageStart(departureVo.getMileage());
departureLog.setState(VehicleDepartureState.DEPARTURE.getCode()); departureLog.setState(VehicleDepartureState.DEPARTURE.getCode());
departureLog.setBookRecordId(departureVo.getBookRecordId()); departureLog.setBookRecordId(departureVo.getBookRecordId());
departureLog.setDepartureRemark(departureLog.getDepartureRemark());
vehicleDepartureLogMapper.insert(departureLog); vehicleDepartureLogMapper.insert(departureLog);
// 车辆活动日志 // 车辆活动日志
...@@ -141,6 +147,11 @@ public class VehicleActiveService { ...@@ -141,6 +147,11 @@ public class VehicleActiveService {
ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getCode()); ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getCode());
} }
if(arrivalVo.getBookRecordId() != null) {
updateBookRecordStatus(arrivalVo.getBookRecordId());
}
// 出车记录 // 出车记录
VehicleDepartureLog departureLog = vehicleDepartureLogMapper.selectLastByVehicleId(arrivalVo.getVehicleId()); VehicleDepartureLog departureLog = vehicleDepartureLogMapper.selectLastByVehicleId(arrivalVo.getVehicleId());
if (departureLog == null) { if (departureLog == null) {
...@@ -154,6 +165,10 @@ public class VehicleActiveService { ...@@ -154,6 +165,10 @@ public class VehicleActiveService {
departureLog.setUpdateTime(new Date()); departureLog.setUpdateTime(new Date());
departureLog.setArrivalTime(new Date()); departureLog.setArrivalTime(new Date());
departureLog.setState(VehicleDepartureState.END.getCode()); departureLog.setState(VehicleDepartureState.END.getCode());
departureLog.setIllegalPic(arrivalVo.getIllegalPic());
departureLog.setIllegalAmount(arrivalVo.getIllegalAmount());
departureLog.setArrivalPic(arrivalVo.getArrivalPic());
departureLog.setArrivalRemark(arrivalVo.getRemark());
vehicleDepartureLogMapper.updateByPrimaryKeySelective(departureLog); vehicleDepartureLogMapper.updateByPrimaryKeySelective(departureLog);
// 车辆活动日志 // 车辆活动日志
...@@ -172,6 +187,18 @@ public class VehicleActiveService { ...@@ -172,6 +187,18 @@ public class VehicleActiveService {
} }
} }
public void updateBookRecordStatus(Integer bookRecordId) {
VehicleBookRecord vehicleBookRecord = vehicleBookRecordBiz.selectById(bookRecordId);
if(vehicleBookRecord != null) {
vehicleBookRecord.setStatus(VehicleBookRecordStatus.LIFTED.getCode());
vehicleBookRecordBiz.updateSelectiveByIdRe(vehicleBookRecord);
} else {
throw new BaseException(ResCode.VEHICLE_BOOK_RECORD_IS_NOT_EXIST.getDesc(),
ResCode.VEHICLE_BOOK_RECORD_IS_NOT_EXIST.getCode());
}
}
/** /**
* 车辆保养 * 车辆保养
* @param vehicleUpkeepVo * @param vehicleUpkeepVo
......
...@@ -14,12 +14,14 @@ import com.google.common.collect.Lists; ...@@ -14,12 +14,14 @@ import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
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.RedisKey; import com.xxfc.platform.vehicle.constant.RedisKey;
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.BookRecordAccItem; import com.xxfc.platform.vehicle.entity.BookRecordAccItem;
import com.xxfc.platform.vehicle.entity.BranchCompany; import com.xxfc.platform.vehicle.entity.BranchCompany;
import com.xxfc.platform.vehicle.entity.VehicleBookRecord; import com.xxfc.platform.vehicle.entity.VehicleBookRecord;
import com.xxfc.platform.vehicle.entity.VehicleUpkeepItem;
import com.xxfc.platform.vehicle.mapper.BookRecordAccItemMapper; import com.xxfc.platform.vehicle.mapper.BookRecordAccItemMapper;
import com.xxfc.platform.vehicle.mapper.VehicleBookRecordMapper; import com.xxfc.platform.vehicle.mapper.VehicleBookRecordMapper;
import com.xxfc.platform.vehicle.pojo.*; import com.xxfc.platform.vehicle.pojo.*;
...@@ -70,6 +72,8 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic ...@@ -70,6 +72,8 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
@Autowired @Autowired
UserFeign userFeign; UserFeign userFeign;
@Autowired
VehicleUpkeepService vehicleUpkeepService;
@Override @Override
public UserFeign getUserFeign() {return userFeign;} public UserFeign getUserFeign() {return userFeign;}
...@@ -128,6 +132,7 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic ...@@ -128,6 +132,7 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
vehicleBookRecordQueryVo.setCompanyIds(companyList); vehicleBookRecordQueryVo.setCompanyIds(companyList);
Query query = new Query(vehicleBookRecordQueryVo); Query query = new Query(vehicleBookRecordQueryVo);
PageDataVO<VehicleBookRecordVo> pageDataVO = PageDataVO.pageInfo(query, () -> mapper.getBookRecordInfo(query.getSuper())); PageDataVO<VehicleBookRecordVo> pageDataVO = PageDataVO.pageInfo(query, () -> mapper.getBookRecordInfo(query.getSuper()));
getupKeeps(pageDataVO.getData());
return RestResponse.suc(pageDataVO); return RestResponse.suc(pageDataVO);
} }
...@@ -158,13 +163,29 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic ...@@ -158,13 +163,29 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
companyList.add(vehicleBookRecordQueryVo.getCompanyId()); companyList.add(vehicleBookRecordQueryVo.getCompanyId());
} }
} }
vehicleBookRecordQueryVo.setCompanyIds(companyList); vehicleBookRecordQueryVo.setCompanyIds(companyList);
Query query = new Query(vehicleBookRecordQueryVo); Query query = new Query(vehicleBookRecordQueryVo);
PageDataVO<VehicleBookRecordVo> pageDataVO = PageDataVO.pageInfo(query, () -> mapper.getBookRecordInfo(query.getSuper())); PageDataVO<VehicleBookRecordVo> pageDataVO = PageDataVO.pageInfo(query, () -> mapper.getBookRecordInfo(query.getSuper()));
getupKeeps(pageDataVO.getData());
return RestResponse.suc(pageDataVO); return RestResponse.suc(pageDataVO);
} }
public List<VehicleBookRecordVo> getupKeeps(List<VehicleBookRecordVo> vehicleBookRecordVos) {
for(VehicleBookRecordVo vehicleBookRecordVo : vehicleBookRecordVos) {
if(vehicleBookRecordVo.getBookType() == BookType.MAINTAIN.getCode()) {//获取 保养项目
if(StringUtils.isNotBlank(vehicleBookRecordVo.getUpkeepIds())) {
List<Integer> upKeeps = Arrays.asList(vehicleBookRecordVo.getUpkeepIds().split(",")).parallelStream().map(s -> Integer.valueOf(s)).collect(Collectors.toList());
if(upKeeps.size() > 0) {
List<VehicleUpkeepItem> vehicleUpkeepItems = vehicleUpkeepService.getUpkeepsByIds(upKeeps);
vehicleBookRecordVo.setVehicleUpkeepItems(vehicleUpkeepItems);
}
}
}
}
return vehicleBookRecordVos;
}
public RestResponse<Integer> lift(Integer operatorId, String userName, LiftVehicleVo liftVehicleVo) throws Exception{ public RestResponse<Integer> lift(Integer operatorId, String userName, LiftVehicleVo liftVehicleVo) throws Exception{
Map<String, Object> params = PropertyUtils.describe(liftVehicleVo); Map<String, Object> params = PropertyUtils.describe(liftVehicleVo);
params.put("reviewerLift", operatorId); params.put("reviewerLift", operatorId);
......
...@@ -2,7 +2,6 @@ package com.xxfc.platform.vehicle.biz; ...@@ -2,7 +2,6 @@ package com.xxfc.platform.vehicle.biz;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.xxfc.platform.vehicle.entity.VehicleUpkeepItem; import com.xxfc.platform.vehicle.entity.VehicleUpkeepItem;
import com.xxfc.platform.vehicle.entity.VehicleUpkeepLog; import com.xxfc.platform.vehicle.entity.VehicleUpkeepLog;
import com.xxfc.platform.vehicle.mapper.VehicleUpkeepItemMapper; import com.xxfc.platform.vehicle.mapper.VehicleUpkeepItemMapper;
...@@ -13,10 +12,11 @@ import org.apache.commons.beanutils.BeanUtilsBean; ...@@ -13,10 +12,11 @@ import org.apache.commons.beanutils.BeanUtilsBean;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import redis.clients.jedis.Transaction;
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
@Service @Service
public class VehicleUpkeepService { public class VehicleUpkeepService {
...@@ -56,6 +56,12 @@ public class VehicleUpkeepService { ...@@ -56,6 +56,12 @@ public class VehicleUpkeepService {
return new PageInfo<>(vehicleUpkeepLogMapper.selectVoAll(numberPlate, companyList)); return new PageInfo<>(vehicleUpkeepLogMapper.selectVoAll(numberPlate, companyList));
} }
public List<VehicleUpkeepItem> getUpkeepsByIds(List<Integer> ids) {
Map<String, Object> param = new HashMap<>();
param.put("ids", ids);
return vehicleUpkeepItemMapper.selectByIds(param);
}
public VehicleUpkeepLogVo getLogVoById(Integer id) { public VehicleUpkeepLogVo getLogVoById(Integer id) {
VehicleUpkeepLogVo vehicleUpkeepLogVo = vehicleUpkeepLogMapper.selectVoById(id); VehicleUpkeepLogVo vehicleUpkeepLogVo = vehicleUpkeepLogMapper.selectVoById(id);
List<VehicleUpkeepLogItemVo> upkeepItems = vehicleUpkeepLogMapper.getItemsByLogId(id); List<VehicleUpkeepLogItemVo> upkeepItems = vehicleUpkeepLogMapper.getItemsByLogId(id);
......
...@@ -3,5 +3,9 @@ package com.xxfc.platform.vehicle.mapper; ...@@ -3,5 +3,9 @@ package com.xxfc.platform.vehicle.mapper;
import com.xxfc.platform.vehicle.entity.VehicleUpkeepItem; import com.xxfc.platform.vehicle.entity.VehicleUpkeepItem;
import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.Mapper;
import java.util.List;
import java.util.Map;
public interface VehicleUpkeepItemMapper extends Mapper<VehicleUpkeepItem> { public interface VehicleUpkeepItemMapper extends Mapper<VehicleUpkeepItem> {
List<VehicleUpkeepItem> selectByIds(Map<String, Object> param);
} }
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.xxfc.platform.vehicle.mapper.VehicleBookRecordMapper" > <mapper namespace="com.xxfc.platform.vehicle.mapper.VehicleBookRecordMapper">
<resultMap id="getVehicleMap" type="com.xxfc.platform.vehicle.pojo.VehicleRecordInfoVo"> <resultMap id="getVehicleMap" type="com.xxfc.platform.vehicle.pojo.VehicleRecordInfoVo">
<association property="vehicle" column="vehicle_id" select="com.xxfc.platform.vehicle.mapper.VehicleMapper.selectById" /> <association property="vehicle" column="vehicle_id"
select="com.xxfc.platform.vehicle.mapper.VehicleMapper.selectById"/>
</resultMap> </resultMap>
<resultMap id="searchBookRecord" type="com.xxfc.platform.vehicle.pojo.VehicleBookRecordVo"> <resultMap id="searchBookRecord" type="com.xxfc.platform.vehicle.pojo.VehicleBookRecordVo">
<result column="id" property="id" jdbcType="BIGINT" javaType="java.lang.Long"/> <result column="id" property="id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<association property="vehicleDepartureLogVo" column="id" select="com.xxfc.platform.vehicle.mapper.VehicleDepartureLogMapper.selectByBookRecordId" /> <association property="vehicleDepartureLogVo" column="id"
select="com.xxfc.platform.vehicle.mapper.VehicleDepartureLogMapper.selectByBookRecordId"/>
</resultMap> </resultMap>
<resultMap id="getVehicleHourMap" type="com.xxfc.platform.vehicle.pojo.VehicleBookRecordVo"> <resultMap id="getVehicleHourMap" type="com.xxfc.platform.vehicle.pojo.VehicleBookRecordVo">
<association property="vehicleBookHourInfo" column="id" select="com.xxfc.platform.vehicle.mapper.VehicleBookHourInfoMapper.selectByBookRecordId" /> <association property="vehicleBookHourInfo" column="id"
select="com.xxfc.platform.vehicle.mapper.VehicleBookHourInfoMapper.selectByBookRecordId"/>
</resultMap> </resultMap>
<update id="changeRecordStatus" parameterType="java.util.Map"> <update id="changeRecordStatus" parameterType="java.util.Map">
update vehicle_book_record set update vehicle_book_record set
<if test="reviewerApply != null "> <if test="reviewerApply != null ">
reviewer_apply =#{reviewerApply}, reviewer_apply =#{reviewerApply},
</if> </if>
<if test="reviewerNameApply != null and reviewerNameApply !=''"> <if test="reviewerNameApply != null and reviewerNameApply !=''">
reviewer_name_apply =#{reviewerNameApply}, reviewer_name_apply =#{reviewerNameApply},
</if> </if>
<if test="reviewerReturn != null "> <if test="reviewerReturn != null ">
reviewer_return =#{reviewerReturn}, reviewer_return =#{reviewerReturn},
</if> </if>
<if test="reviewerNameReturn != null and reviewerNameReturn !=''"> <if test="reviewerNameReturn != null and reviewerNameReturn !=''">
reviewer_name_return =#{reviewerNameReturn}, reviewer_name_return =#{reviewerNameReturn},
</if> </if>
<if test="reviewerCancel != null"> <if test="reviewerCancel != null">
reviewer_cancel =#{reviewerCancel}, reviewer_cancel =#{reviewerCancel},
</if> </if>
<if test="reviewerNameCancel != null and reviewerNameCancel !=''"> <if test="reviewerNameCancel != null and reviewerNameCancel !=''">
reviewer_name_cancel =#{reviewerNameCancel}, reviewer_name_cancel =#{reviewerNameCancel},
</if> </if>
<if test="mileageLift != null"> <if test="mileageLift != null">
mileage_lift =#{mileageLift}, mileage_lift =#{mileageLift},
</if> </if>
<if test="mileageRet != null "> <if test="mileageRet != null ">
mileage_ret =#{mileageRet}, mileage_ret =#{mileageRet},
</if> </if>
<if test="haveViolation != null"> <if test="haveViolation != null">
have_violation =#{haveViolation}, have_violation =#{haveViolation},
</if> </if>
`status` = #{status} `status` = #{status}
where id = #{id} and `status` = #{statusCondition} where id = #{id} and `status` = #{statusCondition}
</update> </update>
<delete id="del4YearMoth" parameterType="java.util.Map"> <delete id="del4YearMoth" parameterType="java.util.Map">
delete from vehicle_book_record where `book_end_date` between #{startDate} and #{endDate} limit #{batchSize} delete from vehicle_book_record where `book_end_date` between #{startDate} and #{endDate} limit #{batchSize}
</delete> </delete>
...@@ -60,44 +63,44 @@ ...@@ -60,44 +63,44 @@
<update id="liftOrRet" parameterType="java.util.Map"> <update id="liftOrRet" parameterType="java.util.Map">
update vehicle_book_record update vehicle_book_record
set `status` = #{targetStatus}, set `status` = #{targetStatus},
<if test="reviewerLift != null"> <if test="reviewerLift != null">
`reviewer_lift` = #{reviewerLift}, `reviewer_lift` = #{reviewerLift},
`reviewer_name_lift` = #{reviewerNameLift}, `reviewer_name_lift` = #{reviewerNameLift},
</if> </if>
<if test="reviewerReturn != null"> <if test="reviewerReturn != null">
`reviewer_return` = #{reviewerReturn}, `reviewer_return` = #{reviewerReturn},
`reviewer_name_return` = #{reviewerNameReturn}, `reviewer_name_return` = #{reviewerNameReturn},
</if> </if>
<if test="liftRemark != null and liftRemark != ''"> <if test="liftRemark != null and liftRemark != ''">
`lift_remark` = #{liftRemark}, `lift_remark` = #{liftRemark},
</if> </if>
<if test="retRemark != null and retRemark != ''"> <if test="retRemark != null and retRemark != ''">
`ret_remark` = #{retRemark}, `ret_remark` = #{retRemark},
</if> </if>
<if test="retCompany != null"> <if test="retCompany != null">
`ret_company` = #{retCompany}, `ret_company` = #{retCompany},
</if> </if>
<if test="liftCompany != null"> <if test="liftCompany != null">
`lift_company` = #{liftCompany}, `lift_company` = #{liftCompany},
</if> </if>
<if test="mileageLift != null"> <if test="mileageLift != null">
mileage_lift =#{mileageLift}, mileage_lift =#{mileageLift},
</if> </if>
<if test="mileageRet != null "> <if test="mileageRet != null ">
mileage_ret =#{mileageRet}, mileage_ret =#{mileageRet},
</if> </if>
<if test="haveViolation != null"> <if test="haveViolation != null">
have_violation =#{haveViolation}, have_violation =#{haveViolation},
</if> </if>
<choose> <choose>
<when test="targetStatus == 7"> `actual_start_date` = now() </when> <when test="targetStatus == 7">`actual_start_date` = now()</when>
<when test="targetStatus == 3"> `actual_end_date` = now() </when> <when test="targetStatus == 3">`actual_end_date` = now()</when>
</choose> </choose>
where id = #{id} and `status` = #{conditionStatus} where id = #{id} and `status` = #{conditionStatus}
</update> </update>
<insert id="insertHis" parameterType="java.util.Map"> <insert id="insertHis" parameterType="java.util.Map">
insert into ${tbName} ( insert into ${tbName} (
`id`, `id`,
`vehicle_id`, `vehicle_id`,
...@@ -129,7 +132,10 @@ ...@@ -129,7 +132,10 @@
mileage_ret, mileage_ret,
have_violation, have_violation,
ret_remark, ret_remark,
order_no order_no,
vehicle_username,
vehicle_user_phone,
upkeep_ids
) )
values( values(
#{id}, #{id},
...@@ -162,11 +168,15 @@ ...@@ -162,11 +168,15 @@
#{mileageRet}, #{mileageRet},
#{haveViolation}, #{haveViolation},
#{retRemark}, #{retRemark},
#{orderNo} #{orderNo},
#{vehicleUsername},
#{vehicleUserPhone},
#{upkeepIds}
); );
</insert> </insert>
<select id="getByPage4Month" parameterType="java.util.Map" resultType="com.xxfc.platform.vehicle.entity.VehicleBookRecord"> <select id="getByPage4Month" parameterType="java.util.Map"
resultType="com.xxfc.platform.vehicle.entity.VehicleBookRecord">
select select
`id`, `id`,
`vehicle_id`, `vehicle_id`,
...@@ -200,7 +210,10 @@ ...@@ -200,7 +210,10 @@
mileage_ret, mileage_ret,
have_violation, have_violation,
ret_remark, ret_remark,
order_no order_no,
vehicle_username,
vehicle_user_phone,
upkeep_ids
from from
vehicle_book_record vehicle_book_record
where where
...@@ -209,69 +222,73 @@ ...@@ -209,69 +222,73 @@
limit #{pageStart},#{pageSize} limit #{pageStart},#{pageSize}
</select> </select>
<select id="getByPage" parameterType="java.util.Map" resultType="com.xxfc.platform.vehicle.pojo.QueryVehicleBookRecordVo"> <select id="getByPage" parameterType="java.util.Map"
resultType="com.xxfc.platform.vehicle.pojo.QueryVehicleBookRecordVo">
select select
vbr.`id`, vbr.`id`,
vbr.`vehicle_id`, vbr.`vehicle_id`,
vbr.`status`, vbr.`status`,
vbr.`book_type`, vbr.`book_type`,
vbr.`book_user`, vbr.`book_user`,
vbr.`book_user_name`, vbr.`book_user_name`,
vbr.`contact_info`, vbr.`contact_info`,
vbr.`book_start_date`, vbr.`book_start_date`,
vbr.`book_end_date`, vbr.`book_end_date`,
vbr.`lift_location`, vbr.`lift_location`,
vbr.`lift_addr`, vbr.`lift_addr`,
vbr.`remark`, vbr.`remark`,
vbr.`create_time`, vbr.`create_time`,
vbr.`update_time`, vbr.`update_time`,
vbr.`destination`, vbr.`destination`,
vbr.`reviewer_apply`, vbr.`reviewer_apply`,
vbr.`reviewer_name_apply`, vbr.`reviewer_name_apply`,
vbr.`reviewer_return`, vbr.`reviewer_return`,
vbr.`reviewer_name_return`, vbr.`reviewer_name_return`,
vbr.`reviewer_cancel`, vbr.`reviewer_cancel`,
vbr.`reviewer_name_cancel`, vbr.`reviewer_name_cancel`,
vbr.`actual_start_date`, vbr.`actual_start_date`,
vbr.`actual_end_date`, vbr.`actual_end_date`,
vbr.`reviewer_lift`, vbr.`reviewer_lift`,
vbr.`reviewer_name_lift`, vbr.`reviewer_name_lift`,
vbr.lift_company, vbr.lift_company,
bcl.name as liftCompanyName , bcl.name as liftCompanyName ,
vbr.lift_remark, vbr.lift_remark,
vbr.ret_company, vbr.ret_company,
bcr.name as retCompanyName , bcr.name as retCompanyName ,
vbr.mileage_lift, vbr.mileage_lift,
vbr.mileage_ret, vbr.mileage_ret,
vbr.have_violation, vbr.have_violation,
vbr.ret_remark, vbr.ret_remark,
vbr.order_no, vbr.order_no,
v.`code` as vehicleCode, vbr.vehicle_username,
v.number_plate as numberPlate, vbr.vehicle_user_phone,
v.subordinate_branch, vbr.upkeep_ids,
bc.name as subBranchName, v.`code` as vehicleCode,
vbf.booked_date as bookedDate, v.number_plate as numberPlate,
vbr.vehicle_username, v.subordinate_branch,
vbr.vehicle_user_phone bc.name as subBranchName,
vbf.booked_date as bookedDate,
vbr.vehicle_username,
vbr.vehicle_user_phone
from from
${tbName} vbr left join ${tbName} vbr left join
vehicle v on vbr.vehicle_id = v.id left join vehicle v on vbr.vehicle_id = v.id left join
branch_company bc on bc.id = v.subordinate_branch left join branch_company bc on bc.id = v.subordinate_branch left join
branch_company bcl on bcl.id = vbr.lift_company left join branch_company bcl on bcl.id = vbr.lift_company left join
branch_company bcr on bcr.id = vbr.ret_company left join branch_company bcr on bcr.id = vbr.ret_company left join
vehicle_book_info vbf on vbf.vehicle = vbr.vehicle_id and vbf.year_month = #{selectedMonth} vehicle_book_info vbf on vbf.vehicle = vbr.vehicle_id and vbf.year_month = #{selectedMonth}
where where
1=1 1=1
<if test="companyList != null and companyList.size() > 0"> <if test="companyList != null and companyList.size() > 0">
and ( vbr.lift_company in ( and ( vbr.lift_company in (
<trim suffixOverrides=","> <trim suffixOverrides=",">
<foreach collection="companyList" item="companyId"> <foreach collection="companyList" item="companyId">
#{companyId}, #{companyId},
</foreach> </foreach>
</trim> </trim>
) )
or vbr.ret_company in ( or vbr.ret_company in (
<trim suffixOverrides=","> <trim suffixOverrides=",">
<foreach collection="companyList" item="companyId"> <foreach collection="companyList" item="companyId">
#{companyId}, #{companyId},
</foreach> </foreach>
...@@ -306,7 +323,7 @@ ...@@ -306,7 +323,7 @@
order by vbr.id desc order by vbr.id desc
</select> </select>
<select id="getById" parameterType="java.util.Map" resultType="com.xxfc.platform.vehicle.entity.VehicleBookRecord" > <select id="getById" parameterType="java.util.Map" resultType="com.xxfc.platform.vehicle.entity.VehicleBookRecord">
select select
vbr.`id`, vbr.`id`,
vbr.`vehicle_id`, vbr.`vehicle_id`,
...@@ -340,12 +357,16 @@ ...@@ -340,12 +357,16 @@
vbr.mileage_ret, vbr.mileage_ret,
vbr.have_violation, vbr.have_violation,
vbr.ret_remark, vbr.ret_remark,
vbr.order_no vbr.order_no,
vbr.vehicle_username,
vbr.vehicle_user_phone,
vbr.upkeep_ids,
from ${tbName} vbr from ${tbName} vbr
where id = #{id} where id = #{id}
</select> </select>
<select id="getByVehicleId" parameterType="java.lang.String" resultType="com.xxfc.platform.vehicle.pojo.VehicleBookRecordVo" > <select id="getByVehicleId" parameterType="java.lang.String"
resultType="com.xxfc.platform.vehicle.pojo.VehicleBookRecordVo">
SELECT v1.*, conv(v2.booked_hour,10,2) startHour,conv(v3.booked_hour,10,2) endHour,bc2.name retCompanyName from vehicle_book_record v1 SELECT v1.*, conv(v2.booked_hour,10,2) startHour,conv(v3.booked_hour,10,2) endHour,bc2.name retCompanyName from vehicle_book_record v1
LEFT JOIN vehicle_book_hour_info v2 on v2.book_record_id = v1.id and YEAR(v2.year_month_day) = YEAR(v1.book_start_date) AND MONTH(v2.year_month_day) = MONTH(v1.book_start_date) AND DAY(v2.year_month_day) =DAY(v1.book_start_date) LEFT JOIN vehicle_book_hour_info v2 on v2.book_record_id = v1.id and YEAR(v2.year_month_day) = YEAR(v1.book_start_date) AND MONTH(v2.year_month_day) = MONTH(v1.book_start_date) AND DAY(v2.year_month_day) =DAY(v1.book_start_date)
LEFT JOIN vehicle_book_hour_info v3 on v3.book_record_id = v1.id and YEAR(v3.year_month_day) = YEAR(v1.book_end_date) AND MONTH(v3.year_month_day) = MONTH(v1.book_end_date) AND DAY(v3.year_month_day) =DAY(v1.book_end_date) LEFT JOIN vehicle_book_hour_info v3 on v3.book_record_id = v1.id and YEAR(v3.year_month_day) = YEAR(v1.book_end_date) AND MONTH(v3.year_month_day) = MONTH(v1.book_end_date) AND DAY(v3.year_month_day) =DAY(v1.book_end_date)
...@@ -375,19 +396,27 @@ ...@@ -375,19 +396,27 @@
order By v1.create_time DESC order By v1.create_time DESC
</select> </select>
<select id="getBookRecord" resultMap="searchBookRecord" parameterType="com.xxfc.platform.vehicle.pojo.VehicleBookRecordQueryVo"> <select id="getBookRecord" resultMap="searchBookRecord"
select bc3.name parkCompanyName,bc4.name subordinateBranchName, conv(v4.booked_hour,10,2) startHour,conv(v5.booked_hour,10,2) endHour, bc1.`name` lift_company_name, bc2.`name` ret_company_name, v3.number_plate,v1.* parameterType="com.xxfc.platform.vehicle.pojo.VehicleBookRecordQueryVo">
from vehicle_book_record v1 select bc3.name parkCompanyName,bc4.name subordinateBranchName, conv(v4.booked_hour,10,2)
LEFT JOIN vehicle_book_hour_info v4 on v4.book_record_id = v1.id and YEAR(v4.year_month_day) = YEAR(v1.book_start_date) AND MONTH(v4.year_month_day) = MONTH(v1.book_start_date) AND DAY(v4.year_month_day) =DAY(v1.book_start_date) startHour,conv(v5.booked_hour,10,2) endHour, bc1.`name` lift_company_name, bc2.`name` ret_company_name,
LEFT JOIN vehicle_book_hour_info v5 on v5.book_record_id = v1.id and YEAR(v5.year_month_day) = YEAR(v1.book_end_date) AND MONTH(v5.year_month_day) = MONTH(v1.book_end_date) AND DAY(v5.year_month_day) =DAY(v1.book_end_date) v3.number_plate,v1.*
LEFT JOIN branch_company bc1 ON v1.lift_company = bc1.id from vehicle_book_record v1
LEFT JOIN branch_company bc2 on v1.ret_company = bc2.id LEFT JOIN vehicle_book_hour_info v4 on v4.book_record_id = v1.id and YEAR(v4.year_month_day) =
LEFT JOIN vehicle v3 on v3.id = v1.vehicle_id YEAR(v1.book_start_date) AND MONTH(v4.year_month_day) = MONTH(v1.book_start_date) AND DAY(v4.year_month_day)
LEFT JOIN branch_company bc3 on v3.park_branch_company_id = bc3.id =DAY(v1.book_start_date)
LEFT JOIN branch_company bc4 on v3.subordinate_branch = bc4.id LEFT JOIN vehicle_book_hour_info v5 on v5.book_record_id = v1.id and YEAR(v5.year_month_day) =
YEAR(v1.book_end_date) AND MONTH(v5.year_month_day) = MONTH(v1.book_end_date) AND DAY(v5.year_month_day)
=DAY(v1.book_end_date)
LEFT JOIN branch_company bc1 ON v1.lift_company = bc1.id
LEFT JOIN branch_company bc2 on v1.ret_company = bc2.id
LEFT JOIN vehicle v3 on v3.id = v1.vehicle_id
LEFT JOIN branch_company bc3 on v3.park_branch_company_id = bc3.id
LEFT JOIN branch_company bc4 on v3.subordinate_branch = bc4.id
<where> <where>
<if test="selectedMonth != null"> <if test="selectedMonth != null">
and (v1.book_start_date like CONCAT(#{selectedMonth}, "%") or v1.book_end_date like CONCAT(#{selectedMonth}, "%")) and (v1.book_start_date like CONCAT(#{selectedMonth}, "%") or v1.book_end_date like
CONCAT(#{selectedMonth}, "%"))
</if> </if>
<if test="numberPlate != null"> <if test="numberPlate != null">
and v3.number_plate = #{numberPlate} and v3.number_plate = #{numberPlate}
...@@ -402,7 +431,7 @@ ...@@ -402,7 +431,7 @@
</foreach> </foreach>
</if> </if>
and v1.status between 1 and 2 and v1.book_user != -2 and v1.status between 1 and 2 and v1.book_user != -2
</where> </where>
order by create_time DESC order by create_time DESC
...@@ -410,7 +439,9 @@ ...@@ -410,7 +439,9 @@
<select id="getBookRecordInfo" resultMap="searchBookRecord" parameterType="java.util.Map"> <select id="getBookRecordInfo" resultMap="searchBookRecord" parameterType="java.util.Map">
select (CASE v1.lift_company WHEN #{userCompany} THEN 1 ELSE 0 end) liftStatus,(CASE v1.ret_company WHEN #{userCompany} THEN 1 ELSE 0 end) retStatus,bc4.name subordinateBranchName, bc1.`name` lift_company_name, bc2.`name` ret_company_name, v3.number_plate,v1.* select (CASE v1.lift_company WHEN #{userCompany} THEN 1 ELSE 0 end) liftStatus,(CASE v1.ret_company WHEN
#{userCompany} THEN 1 ELSE 0 end) retStatus,bc4.name subordinateBranchName, bc1.`name` lift_company_name,
bc2.`name` ret_company_name, v3.number_plate,v1.*
from vehicle_book_record v1 from vehicle_book_record v1
LEFT JOIN branch_company bc1 ON v1.lift_company = bc1.id LEFT JOIN branch_company bc1 ON v1.lift_company = bc1.id
LEFT JOIN branch_company bc2 on v1.ret_company = bc2.id LEFT JOIN branch_company bc2 on v1.ret_company = bc2.id
...@@ -419,7 +450,8 @@ ...@@ -419,7 +450,8 @@
LEFT JOIN branch_company bc4 on v3.subordinate_branch = bc4.id LEFT JOIN branch_company bc4 on v3.subordinate_branch = bc4.id
<where> <where>
<if test="selectedMonth != null"> <if test="selectedMonth != null">
and (v1.book_start_date like CONCAT(#{selectedMonth}, "%") or v1.book_end_date like CONCAT(#{selectedMonth}, "%")) and (v1.book_start_date like CONCAT(#{selectedMonth}, "%") or v1.book_end_date like
CONCAT(#{selectedMonth}, "%"))
</if> </if>
<if test="numberPlate != null"> <if test="numberPlate != null">
and v3.number_plate = #{numberPlate} and v3.number_plate = #{numberPlate}
...@@ -447,9 +479,7 @@ ...@@ -447,9 +479,7 @@
</select> </select>
<insert id="createTbIfNotExists" parameterType="java.lang.String">
<insert id="createTbIfNotExists" parameterType="java.lang.String">
CREATE TABLE IF NOT EXISTS ${_parameter} ( CREATE TABLE IF NOT EXISTS ${_parameter} (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`vehicle_id` varchar(40) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '车辆id', `vehicle_id` varchar(40) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '车辆id',
...@@ -493,8 +523,4 @@ ...@@ -493,8 +523,4 @@
</insert> </insert>
</mapper> </mapper>
\ No newline at end of file
...@@ -8,4 +8,13 @@ ...@@ -8,4 +8,13 @@
<id column="id" property="id" jdbcType="INTEGER" /> <id column="id" property="id" jdbcType="INTEGER" />
<result column="name" property="name" jdbcType="VARCHAR" /> <result column="name" property="name" jdbcType="VARCHAR" />
</resultMap> </resultMap>
<select id="selectByIds" parameterType="java.util.Map" resultType="com.xxfc.platform.vehicle.entity.VehicleUpkeepItem">
select * from vehicle_upkeep_item
where id in
<foreach collection="ids" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</select>
</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