Commit 2b138687 authored by jiaorz's avatar jiaorz

添加定损列表

parent 0c7390c8
......@@ -20,12 +20,12 @@ public class GlobalBasicConfiguration implements ApplicationRunner{
@Override
public void run(ApplicationArguments args) throws Exception {
showApplicationProperties("数据库连接地址: ", "spring.datasource.url");
showApplicationProperties("Redis连接主机: ", "spring.redis.host");
showApplicationProperties("Redis连接端口: ", "spring.redis.port");
showApplicationProperties("rabbitmq连接主机", "spring.rabbitmq.host");
showApplicationProperties("rabbitmq连接虚拟机", "spring.rabbitmq.virtual-host");
}
showApplicationProperties("数据库连接地址: ", "spring.datasource.url");
showApplicationProperties("Redis连接主机: ", "spring.redis.host");
showApplicationProperties("Redis连接端口: ", "spring.redis.port");
showApplicationProperties("rabbitmq连接主机", "spring.rabbitmq.host");
showApplicationProperties("rabbitmq连接虚拟机", "spring.rabbitmq.virtual-host");
}
public static void showApplicationProperties(String key, String value) {
if(env != null) {
......
......@@ -64,15 +64,15 @@ public class IntegralUserRecordBiz extends BaseBiz<IntegralUserRecordMapper, Int
IntegralRule oldValue = ruleObjectRestResponse.getData();
if (integralUserRecord.getPoint() == null) {
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(integralUserRecord.getAmount());
JSONObject jsonObject = JSONObject.parseObject(oldValue.getOtherRule());
log.info("查询的其他规则json信息:jsonObject = {}", jsonObject);
if(jsonObject == null) {
if (jsonObject == null) {
point = ruleObjectRestResponse.getData().getPoint();
} else {
point = jsonObject.getInteger("rule") == null? 0 * amount: jsonObject.getInteger("rule") * amount;
point = jsonObject.getInteger("rule") == null ? 0 * amount : jsonObject.getInteger("rule") * amount;
}
} else {
......@@ -101,7 +101,7 @@ public class IntegralUserRecordBiz extends BaseBiz<IntegralUserRecordMapper, Int
}
}
insertSelective(integralUserRecord.getIntegralUserRecord());
if(oldValue != null) {
if (oldValue != null) {
getUserRecordStatus(integralUserRecord, oldValue.getPeriod(), oldValue.getNumber());
}
return ObjectRestResponse.succ();
......@@ -160,19 +160,19 @@ public class IntegralUserRecordBiz extends BaseBiz<IntegralUserRecordMapper, Int
}
/**
* //判断用户获取积分是否达标
*
* @param integralUserRecordDto 积分记录实体
* @param period 周期
* number 周期内可获得积分的次数
* @param period 周期
* number 周期内可获得积分的次数
*/
public void getUserRecordStatus(IntegralUserRecordDto integralUserRecordDto, Integer period, Integer number) {
public void getUserRecordStatus(IntegralUserRecordDto integralUserRecordDto, Integer period, Integer number) {
IntegralUserStatus integralUserStatus = new IntegralUserStatus();
integralUserStatus.setUserId(integralUserRecordDto.getUserId());
integralUserStatus.setIntegralRuleCode(integralUserRecordDto.getIntegralRuleCode());
if(period == IntegralRulePeriod.DAY.getCode()) {//按天
if (period == IntegralRulePeriod.DAY.getCode()) {//按天
integralUserRecordDto.setStartTime(IntegralToolsUtils.getDayStart());
integralUserRecordDto.setEndTime(IntegralToolsUtils.getDayStart() + 24 * 60 * 60 * 1000);
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 {
private String dedDetail;
/**
* 1、交车, 2、还车
* 1、交车, 2、还车, 3、定损还车
*/
private Integer type;
......
......@@ -30,4 +30,5 @@ public class OrderVehicleCrosstownDto extends OrderVehicleCrosstown {
private String username;
}
package com.xxfc.platform.order.biz;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.github.wxiaoqi.security.admin.dto.UserMemberDTO;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
......@@ -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.exception.BaseException;
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.google.common.collect.Lists;
import com.xxfc.platform.activity.feign.ActivityFeign;
import com.xxfc.platform.order.biz.inner.OrderMsgBiz;
import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum;
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.mapper.BaseOrderMapper;
import com.xxfc.platform.order.pojo.mq.OrderMQDTO;
......@@ -30,25 +26,25 @@ import com.xxfc.platform.universal.constant.DictionaryKey;
import com.xxfc.platform.universal.entity.Dictionary;
import com.xxfc.platform.universal.feign.MQSenderFeign;
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.entity.Vehicle;
import com.xxfc.platform.vehicle.entity.VehicleUserLicense;
import com.xxfc.platform.vehicle.feign.VehicleFeign;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.jexl2.MapContext;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
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.constant.CommonConstants.SYS_FALSE;
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> {
OrderRentVehicleBiz orderRentVehicleBiz;
@Autowired
OrderVehicalCrosstownBiz orderVehicalCrosstownBiz;
OrderVehicleCrosstownBiz orderVehicleCrosstownBiz;
@Autowired
OrderUserLicenseBiz orderUserLicenseBiz;
......@@ -164,7 +160,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
OrderVehicleCrosstownDto orderVehicleCrosstownDto = new OrderVehicleCrosstownDto();
orderVehicleCrosstownDto.setOrderId(orderPageVo.getId());
orderVehicleCrosstownDto.setOrderNo(orderPageVo.getNo());
List<OrderVehicleCrosstownDto> orderVehicleCrosstowns = orderVehicalCrosstownBiz.selectByOrderId(orderVehicleCrosstownDto);
List<OrderVehicleCrosstownDto> orderVehicleCrosstowns = orderVehicleCrosstownBiz.selectByOrderId(orderVehicleCrosstownDto);
if(orderVehicleCrosstowns != null && orderVehicleCrosstowns.size() > 0) {
List<OrderUserLicense> orderUserLicenses = orderUserLicenseBiz.selectByIds(orderVehicleCrosstowns.get(0).getUserLicenseId()).getData();
if(orderUserLicenses != null && orderUserLicenses.size() > 0) {
......@@ -194,7 +190,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
ids.add(Integer.parseInt(orderPageVo.getOrderTourDetail().getTourUserIds()));
}
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();
......
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> {
OrderRentVehicleBiz orderRentVehicleBiz;
@Autowired
OrderVehicalCrosstownBiz crosstownBiz;
OrderVehicleCrosstownBiz crosstownBiz;
@Autowired
OrderViolationBiz orderViolationBiz;
......
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.dto.AppUserDTO;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.activity.user.UserInfoBiz;
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.entity.BaseOrder;
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.entity.*;
import com.xxfc.platform.order.mapper.OrderVehicaleCrosstownMapper;
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.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.entity.Vehicle;
......@@ -25,14 +27,15 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.List;
@Service
@Slf4j
public class OrderVehicalCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapper, OrderVehicleCrosstown> {
public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapper, OrderVehicleCrosstown> {
@Autowired
OrderVehicalCrosstownBiz orderVehicalCrosstownBiz;
OrderVehicleCrosstownBiz orderVehicleCrosstownBiz;
@Autowired
OrderUserLicenseBiz orderUserLicenseBiz;
......@@ -46,6 +49,9 @@ public class OrderVehicalCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
@Autowired
private OrderRentVehicleBiz orderRentVehicleBiz;
@Autowired
private OrderDepositRefundRecordBiz orderDepositRefundRecordBiz;
@Autowired
BaseOrderBiz baseOrderBiz;
......@@ -117,13 +123,23 @@ public class OrderVehicalCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
vehicleFeign.arrivalBySmall(vehicleArrivalVo);
}
//出车成功后修改订单状态
List<OrderVehicleCrosstownDto> oldValue = orderVehicalCrosstownBiz.selectByOrderId(orderVehicleCrosstownDto);
List<OrderVehicleCrosstownDto> oldValue = orderVehicleCrosstownBiz.selectByOrderId(orderVehicleCrosstownDto);
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));
} else if(oldValue .size() <= 0) {
getOrderLicense(orderVehicleCrosstownDto);
orderVehicalCrosstownBiz.insertSelective(orderVehicleCrosstownDto);
handleOrderStatus(baseOrder, orderRentVehicleDetail, orderVehicleCrosstownDto.getType());
orderVehicleCrosstownBiz.insertSelective(orderVehicleCrosstownDto);
OrderVehicleCrosstown orderVehicleCrosstown = orderVehicleCrosstownBiz.selectOne(orderVehicleCrosstownDto);
handleOrderStatus(baseOrder, orderRentVehicleDetail, orderVehicleCrosstown);
RestResponse<Vehicle> restResponse = vehicleFeign.findById(orderRentVehicleDetail.getVehicleId());
if(restResponse.getData() != null) {
orderVehicleCrosstownDto.setVehicleNumberPlat(restResponse.getData().getNumberPlate());
......@@ -133,22 +149,52 @@ public class OrderVehicalCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
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()) {//交车
//判断是否是今日交车
baseOrder.setStatus(OrderStatusEnum.ORDER_WAIT.getCode());
baseOrderBiz.updateSelectiveById(baseOrder);
} 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());
baseOrderBiz.updateSelectiveById(baseOrder);
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());
baseOrderBiz.updateSelectiveById(baseOrder);
}
} 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());
baseOrderBiz.updateSelectiveById(baseOrder);
baseOrderBiz.sendOrderMq(orderRentVehicleDetail, null, null, baseOrder, OrderMQDTO.ORDER_FINISH);
......
package com.xxfc.platform.order.jobhandler;
import cn.hutool.json.JSONUtil;
import com.github.wxiaoqi.security.common.util.IntervalUtil;
import com.xxfc.platform.order.biz.*;
import com.xxfc.platform.order.contant.enumerate.*;
import com.xxfc.platform.order.entity.BaseOrder;
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.pojo.DedDetailDTO;
import com.xxfc.platform.universal.constant.DictionaryKey;
import com.xxfc.platform.universal.entity.Dictionary;
import com.xxfc.platform.universal.feign.ThirdFeign;
......@@ -46,7 +43,7 @@ public class RentDepositJobHandler extends IJobHandler {
OrderRentVehicleBiz orderRentVehicleBiz;
@Autowired
OrderVehicalCrosstownBiz crosstownBiz;
OrderVehicleCrosstownBiz crosstownBiz;
@Autowired
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;
import com.xxfc.platform.order.biz.BaseOrderBiz;
import com.xxfc.platform.order.biz.OrderMemberDetailBiz;
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.contant.enumerate.OrderStatusEnum;
import com.xxfc.platform.order.entity.BaseOrder;
......@@ -77,7 +77,7 @@ public class BaseOrderController extends CommonBaseController implements UserRes
OrderUserLicenseBiz orderUserLicenseBiz;
@Autowired
OrderVehicalCrosstownBiz orderVehicalCrosstownBiz;
OrderVehicleCrosstownBiz orderVehicleCrosstownBiz;
@Autowired
OrderCancelBiz orderCancelBiz;
......@@ -217,7 +217,6 @@ public class BaseOrderController extends CommonBaseController implements UserRes
orderPageVO.setOrderVehicleCrosstownDto(orderVehicleCrosstownDto);
}
}
}
if (orderPageVO.getOrderRentVehicleDetail() != null && orderPageVO.getOrderRentVehicleDetail().getStartCompanyId() != null && orderPageVO.getOrderRentVehicleDetail().getEndCompanyId() != null) {
ObjectRestResponse<CompanyDetail> startResponse = vehicleFeign.getCompanyDetail(orderPageVO.getOrderRentVehicleDetail().getStartCompanyId());
......
......@@ -3,7 +3,7 @@ package com.xxfc.platform.order.rest;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.order.biz.BaseOrderBiz;
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.pojo.order.OrderVehicleCrosstownDto;
import io.swagger.annotations.Api;
......@@ -22,7 +22,7 @@ import java.util.List;
public class OrderVehicleCrosstownController {
@Autowired
OrderVehicalCrosstownBiz orderVehicalCrosstownBiz;
OrderVehicleCrosstownBiz orderVehicleCrosstownBiz;
@Autowired
OrderUserLicenseBiz orderUserLicenseBiz;
......@@ -35,13 +35,13 @@ public class OrderVehicleCrosstownController {
@Transactional
public ObjectRestResponse<OrderVehicleCrosstownDto> add(@RequestBody OrderVehicleCrosstownDto orderVehicleCrosstownDto) {
return orderVehicalCrosstownBiz.add(orderVehicleCrosstownDto);
return orderVehicleCrosstownBiz.add(orderVehicleCrosstownDto);
}
@GetMapping(value = "/{id}")
@ApiOperation(value = "查询记录信息")
public ObjectRestResponse<OrderVehicleCrosstown> get(@PathVariable Integer id) {
return ObjectRestResponse.succ(orderVehicalCrosstownBiz.get(id));
return ObjectRestResponse.succ(orderVehicleCrosstownBiz.get(id));
}
@GetMapping(value = "/getByOrderId")
......@@ -50,6 +50,6 @@ public class OrderVehicleCrosstownController {
if (orderVehicleCrosstownDto == null) {
return ObjectRestResponse.createFailedResult(500, "参数orderId为空");
}
return ObjectRestResponse.succ(orderVehicalCrosstownBiz.selectByOrderId(orderVehicleCrosstownDto));
return ObjectRestResponse.succ(orderVehicleCrosstownBiz.selectByOrderId(orderVehicleCrosstownDto));
}
}
......@@ -15,7 +15,7 @@
</plugin>
<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"
password="sslcloud123*()">
</jdbcConnection>
......@@ -37,10 +37,6 @@
<!-- </table>-->
<!-- <table tableName="branch_company_stock_info" domainObjectName="BranchCompanyStockInfo"></table>-->
<!-- <table tableName="branch_company_stock_apply_info" domainObjectName="BranchCompanyStockApplyInfo"></table>-->
<table tableName="integral_rule" domainObjectName="IntegralRule"></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>-->
<table tableName="deposit_refund_record" domainObjectName="DepositRefundRecord"></table>
</context>
</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 {
VEHICLE_DEPARTURE_VEHICLE_DISABLE(104002,"车辆不可用"),
VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE(104003,"车辆未出车"),
VEHICLE_BOOK_RECORD_IS_NOT_EXIST(104004, "预约记录不存在"),
BRANCH_COMPANY_UNEXIST(105001, "分公司信息不存在"),
BRANCH_COMPANY_STOCK_EXISTED(105002, "分公司股权信息已存在"),
BRANCH_COMPANY_STOCK_UNEXIST(105003, "分公司股权信息不存在"),
......
......@@ -9,7 +9,7 @@ public enum VehicleStatus {
DISCARD(3,"报废"),
DEPARTURE(4, "出车"),
UPKEEP(5, "保养"),
;
;
/**
* 编码
......
......@@ -184,6 +184,6 @@ public class VehicleBookRecord {
private String vehicleUserPhone;
@Column(name = "vehicle_upkeep_item_ids")
@Column(name = "upkeep_ids")
private String upkeepIds;
}
\ No newline at end of file
......@@ -77,7 +77,9 @@ public class VehicleDepartureLog {
* 还车分公司
*/
Integer arrivalBranchCompanyId;
Date createTime;
Date updateTime;
Integer state;
......@@ -86,8 +88,17 @@ public class VehicleDepartureLog {
* 预约记录id
*/
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 {
*/
Integer arrivalBranchCompanyId;
//收车图片
String arrivalPic;
//备注
String remark;
//违章图片,逗号分隔
String illegalPic;
//违章金额
Integer illegalAmount;
Integer bookRecordId;
}
......@@ -2,6 +2,7 @@ package com.xxfc.platform.vehicle.pojo;
import com.xxfc.platform.vehicle.entity.VehicleBookHourInfo;
import com.xxfc.platform.vehicle.entity.VehicleBookRecord;
import com.xxfc.platform.vehicle.entity.VehicleUpkeepItem;
import lombok.Data;
import java.util.List;
......@@ -32,4 +33,7 @@ public class VehicleBookRecordVo extends VehicleBookRecord {
private Integer liftStatus;
private Integer retStatus;
List<VehicleUpkeepItem> vehicleUpkeepItems;
}
......@@ -31,4 +31,13 @@ public class VehicleDepartureLogVo {
String illegalPic;
Integer illegalAmount;
//出车图片
String departurePic;
//收车图片
String arrivalPic;
//备注
String departureRemark;
String arrivalRemark;
}
......@@ -50,4 +50,14 @@ public class VehicleDepartureVo {
*/
Integer bookRecordId;
//出车图片
String departurePic;
//备注
String remark;
//违章图片,逗号分隔
String illegalPic;
//违章金额
Integer illegalAmount;
}
......@@ -65,17 +65,20 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
UserFeign userFeign;
@Override
public UserFeign getUserFeign() {return userFeign;}
public UserFeign getUserFeign() {
return userFeign;
}
@Value("${branchCompanyPic.baseUploadPath}")
private String baseUploadPath ;
private String baseUploadPath;
@Autowired
private VehicleBiz vehicleBiz;
/**
* 按主键获取公司
*
* @param id
* @return
*/
......@@ -84,17 +87,17 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
}
public List<BranchCompany> selectByZoneId(Integer zoneId) {
if(zoneId == null) {
if (zoneId == null) {
return null;
}
UserDTO userDTO = getAdminUserInfo();
if(userDTO == null) {
if (userDTO == null) {
return null;
}
Map<String, Object> map = new HashedMap<>();
map.put("zoneId", zoneId);
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());
}
map.put("ids", branchCompanies);
......@@ -103,15 +106,16 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
/**
* 获取公司信息
*
* @param id
* @return
*/
@Cache(key= RedisKey.BRANCH_COMPANY_CACHE)
@Cache(key = RedisKey.BRANCH_COMPANY_CACHE)
public CompanyDetail getDetailById(Integer id) {
BranchCompany branchCompany = this.getById(id);
CompanyDetail detail = null;
if(branchCompany != null) {
List<SysRegion> sysRegions = sysRegionBiz.getRegionsByCodes(new ArrayList<Long>(){{
if (branchCompany != null) {
List<SysRegion> sysRegions = sysRegionBiz.getRegionsByCodes(new ArrayList<Long>() {{
add(Long.valueOf(branchCompany.getAddrProvince()));
add(Long.valueOf(branchCompany.getAddrCity()));
add(Long.valueOf(branchCompany.getAddrTown()));
......@@ -122,52 +126,53 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
return detail;
}
public Boolean exits(Integer id){
public Boolean exits(Integer id) {
BranchCompany param = new BranchCompany();
param.setId(id);
return mapper.selectCount(param)>0;
return mapper.selectCount(param) > 0;
}
/**
* 转换为vo类
*
* @param branchCompanies
* @returns
*/
private List<BranchCompanyVo> branchCompany2VO(List<BranchCompany> branchCompanies){
private List<BranchCompanyVo> branchCompany2VO(List<BranchCompany> branchCompanies) {
List<BranchCompanyVo> branchCompanyVoList = Lists.newArrayList();
if(CollectionUtils.isNotEmpty(branchCompanies)){
for(BranchCompany branchCompany:branchCompanies){
if (CollectionUtils.isNotEmpty(branchCompanies)) {
for (BranchCompany branchCompany : branchCompanies) {
BranchCompanyVo branchCompanyVo = new BranchCompanyVo();
BeanUtils.copyProperties(branchCompany,branchCompanyVo);
BeanUtils.copyProperties(branchCompany, branchCompanyVo);
branchCompanyVoList.add(branchCompanyVo);
}
}
return branchCompanyVoList;
return branchCompanyVoList;
}
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.Criteria criteria = example.createCriteria();
if(addrProvince!=null) {
if (addrProvince != null) {
criteria.andCondition(" addr_province = '" + addrProvince + "'");
}
if(addrCity!=null) {
if (addrCity != null) {
criteria.andCondition(" addr_city = '" + addrCity + "'");
}
if(addrTown!=null) {
if (addrTown != null) {
criteria.andCondition(" addr_town = '" + addrTown + "'");
}
if(userDTO != null && DATA_ALL_FALSE.equals(userDTO.getDataAll())) {
if(StringUtils.isNotBlank(userDTO.getDataZone())) {
if (userDTO != null && DATA_ALL_FALSE.equals(userDTO.getDataAll())) {
if (StringUtils.isNotBlank(userDTO.getDataZone())) {
criteria.andIn(COMPANY_ZONE_ID, userDTO.dataZone2List());
}
if(StringUtils.isNotBlank(userDTO.getDataCompany())) {
if (StringUtils.isNotBlank(userDTO.getDataCompany())) {
criteria.andIn(ID, userDTO.dataCompany2List());
}
}
example.setOrderByClause("`id` asc");
PageHelper.startPage(page,limit);
PageHelper.startPage(page, limit);
PageInfo<BranchCompany> branchCompanyPageInfo = new PageInfo<>(mapper.selectByExample(example));
return PageDataVO.pageInfo(branchCompanyPageInfo);
}
......@@ -179,53 +184,55 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
}
@Cache(key= RedisKey.BRANCH_COMPANY_CACHE_ALL)
public List<BranchCompany> getAll(){
@Cache(key = RedisKey.BRANCH_COMPANY_CACHE_ALL)
public List<BranchCompany> getAll() {
return mapper.selectAll();
}
/**
* 增加公司,返回id
*
* @param branchCompanyVo
* @return
*/
@CacheClear(pre= RedisKey.BRANCH_COMPANY_CACHE)
public Integer add(BranchCompanyVo branchCompanyVo){
@CacheClear(pre = RedisKey.BRANCH_COMPANY_CACHE)
public Integer add(BranchCompanyVo branchCompanyVo) {
BranchCompany branchCompany = new BranchCompany();
BeanUtils.copyProperties(branchCompanyVo,branchCompany);
BeanUtils.copyProperties(branchCompanyVo, branchCompany);
mapper.insertSelective(branchCompany);
return branchCompany.getId();
}
@CacheClear(pre= RedisKey.BRANCH_COMPANY_CACHE)
public void del(Integer id){
@CacheClear(pre = RedisKey.BRANCH_COMPANY_CACHE)
public void del(Integer id) {
mapper.deleteByPrimaryKey(id);
}
/**
* 更新公司信息
*
* @param branchCompany
* @return
*/
@CacheClear(pre = RedisKey.BRANCH_COMPANY_CACHE)
public Integer update(BranchCompany branchCompany){
public Integer update(BranchCompany branchCompany) {
return mapper.updateByPrimaryKeySelective(branchCompany);
}
/**
* 写入上传文件,返回相对路径
*
* @param file
* @return
*/
public RestResponse<String> uploadCompanyPic(MultipartFile file) throws Exception{
public RestResponse<String> uploadCompanyPic(MultipartFile file) throws Exception {
//创建本日存放目录
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);
Long no = customRedisTemplate.opsForValue().increment(redisNoKey);
if(no.equals(1l)){
customRedisTemplate.expire(redisNoKey,1, TimeUnit.DAYS);
if (no.equals(1l)) {
customRedisTemplate.expire(redisNoKey, 1, TimeUnit.DAYS);
}
String fileName = file.getOriginalFilename();
String realFileRelPath = dirPathToday + File.separator + no + fileName.substring(fileName.lastIndexOf("."));
......@@ -236,9 +243,9 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
return RestResponse.suc(realFileRelPath);
}
@Cache(key=BRANCH_COMPANY_CACHE_DATAZONE)
@Cache(key = BRANCH_COMPANY_CACHE_DATAZONE)
public List<BranchCompany> dataCompany(String dataZone) {
if(StringUtils.isBlank(dataZone)) {
if (StringUtils.isBlank(dataZone)) {
return new ArrayList<BranchCompany>();
}
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
return zoneCompanys;
}
public RestResponse<String> importExcel(MultipartFile multipartfile, HttpServletRequest request){
public RestResponse<String> importExcel(MultipartFile multipartfile, HttpServletRequest request) {
try {
List<String[]> readExcel = ExcelImport.getExcelData(multipartfile);
if(readExcel.size()<1){
return RestResponse.codeAndMessage(1001,"导入不能没数据!!!");
if (readExcel.size() < 1) {
return RestResponse.codeAndMessage(1001, "导入不能没数据!!!");
}
List<BranchCompanyStockInfo> list=new ArrayList<>();
List<BranchCompanyStockInfo> list = new ArrayList<>();
for (int i = 1; i < readExcel.size(); i++) {
String[] str = readExcel.get(i);
BranchCompany branchCompany=new BranchCompany();
BranchCompany branchCompany = new BranchCompany();
branchCompany.setName(str[0]);
branchCompany=mapper.selectOne(branchCompany);
if(branchCompany!=null){
BranchCompany branchCompany1=new BranchCompany();
if(str.length>1){
branchCompany = mapper.selectOne(branchCompany);
if (branchCompany != null) {
BranchCompany branchCompany1 = new BranchCompany();
if (str.length > 1) {
branchCompany1.setLeader(str[1]);
}
if(str.length>2){
if (str.length > 2) {
branchCompany1.setLeaderContactInfo(str[2]);
}
if(branchCompany1!=null&&(StringUtils.isNotBlank(branchCompany1.getLeader())||StringUtils.isNotBlank(branchCompany1.getLeaderContactInfo()))){
branchCompany1.setId(branchCompany.getId());
mapper.updateByPrimaryKeySelective(branchCompany1);
}
if (branchCompany1 != null && (StringUtils.isNotBlank(branchCompany1.getLeader()) || StringUtils.isNotBlank(branchCompany1.getLeaderContactInfo()))) {
branchCompany1.setId(branchCompany.getId());
mapper.updateByPrimaryKeySelective(branchCompany1);
}
}
}
}catch (Exception e){
} catch (Exception e) {
e.printStackTrace();
return RestResponse.codeAndMessage(10001,"网络异常!");
return RestResponse.codeAndMessage(10001, "网络异常!");
}
return RestResponse.suc();
}
public List<BranchCompany> getListByUser(UserDTO userDTO){
if(userDTO != null && DATA_ALL_FALSE.equals(userDTO.getDataAll())) {
public List<BranchCompany> getListByUser(UserDTO userDTO) {
if (userDTO != null && DATA_ALL_FALSE.equals(userDTO.getDataAll())) {
Example example = new Example(BranchCompany.class);
Example.Criteria criteria = example.createCriteria();
if (StringUtils.isNotBlank(userDTO.getDataZone())) {
......@@ -295,12 +303,13 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
example.setOrderByClause("`id` asc");
return mapper.selectByExample(example);
}
return getAll();
return getAll();
}
/**
* 通过片区片区和分公司id获取对应的城市信息
*
* @param zoneList
* @param companyList
* @return
......@@ -310,13 +319,12 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
if (CollectionUtils.isEmpty(list)) {
return new HashSet<>();
}
Example exa =new Example(BranchCompany.class);
Example exa = new Example(BranchCompany.class);
Example.Criteria criteria = exa.createCriteria();
criteria.andIn("id",list);
criteria.andIn("id", list);
List<BranchCompany> result = mapper.selectByExample(exa);
return result.parallelStream().map(BranchCompany::getAddrCity).collect(Collectors.toSet());
}
}
......@@ -3,12 +3,10 @@ package com.xxfc.platform.vehicle.biz;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.xxfc.platform.vehicle.constant.ResCode.ResCode;
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.VehicleStatus;
import com.xxfc.platform.vehicle.entity.Vehicle;
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.entity.*;
import com.xxfc.platform.vehicle.mapper.*;
import com.xxfc.platform.vehicle.pojo.VehicleArrivalVo;
import com.xxfc.platform.vehicle.pojo.VehicleDepartureVo;
......@@ -39,6 +37,9 @@ public class VehicleActiveService {
@Autowired
VehicleUpkeepLogMapper vehicleUpkeepLogMapper;
@Autowired
VehicleBookRecordBiz vehicleBookRecordBiz;
@Autowired
VehicleUpkeepItemMapper vehicleUpkeepItemMapper;
@Value("${vehicle.mileage}")
......@@ -80,6 +81,10 @@ public class VehicleActiveService {
throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_DISABLE.getDesc(),
ResCode.VEHICLE_DEPARTURE_VEHICLE_DISABLE.getCode());
}
//修改预约记录状态
if(departureVo.getBookRecordId() != null) {
updateBookRecordStatus(departureVo.getBookRecordId());
}
// 出车记录
VehicleDepartureLog departureLog = new VehicleDepartureLog();
......@@ -89,6 +94,7 @@ public class VehicleActiveService {
departureLog.setMileageStart(departureVo.getMileage());
departureLog.setState(VehicleDepartureState.DEPARTURE.getCode());
departureLog.setBookRecordId(departureVo.getBookRecordId());
departureLog.setDepartureRemark(departureLog.getDepartureRemark());
vehicleDepartureLogMapper.insert(departureLog);
// 车辆活动日志
......@@ -141,6 +147,11 @@ public class VehicleActiveService {
ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getCode());
}
if(arrivalVo.getBookRecordId() != null) {
updateBookRecordStatus(arrivalVo.getBookRecordId());
}
// 出车记录
VehicleDepartureLog departureLog = vehicleDepartureLogMapper.selectLastByVehicleId(arrivalVo.getVehicleId());
if (departureLog == null) {
......@@ -154,6 +165,10 @@ public class VehicleActiveService {
departureLog.setUpdateTime(new Date());
departureLog.setArrivalTime(new Date());
departureLog.setState(VehicleDepartureState.END.getCode());
departureLog.setIllegalPic(arrivalVo.getIllegalPic());
departureLog.setIllegalAmount(arrivalVo.getIllegalAmount());
departureLog.setArrivalPic(arrivalVo.getArrivalPic());
departureLog.setArrivalRemark(arrivalVo.getRemark());
vehicleDepartureLogMapper.updateByPrimaryKeySelective(departureLog);
// 车辆活动日志
......@@ -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
......
......@@ -14,12 +14,14 @@ import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.xxfc.platform.vehicle.common.CustomIllegalParamException;
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.ResCode.ResCode;
import com.xxfc.platform.vehicle.constant.VehicleBookRecordStatus;
import com.xxfc.platform.vehicle.entity.BookRecordAccItem;
import com.xxfc.platform.vehicle.entity.BranchCompany;
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.VehicleBookRecordMapper;
import com.xxfc.platform.vehicle.pojo.*;
......@@ -70,6 +72,8 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
@Autowired
UserFeign userFeign;
@Autowired
VehicleUpkeepService vehicleUpkeepService;
@Override
public UserFeign getUserFeign() {return userFeign;}
......@@ -128,6 +132,7 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
vehicleBookRecordQueryVo.setCompanyIds(companyList);
Query query = new Query(vehicleBookRecordQueryVo);
PageDataVO<VehicleBookRecordVo> pageDataVO = PageDataVO.pageInfo(query, () -> mapper.getBookRecordInfo(query.getSuper()));
getupKeeps(pageDataVO.getData());
return RestResponse.suc(pageDataVO);
}
......@@ -158,13 +163,29 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
companyList.add(vehicleBookRecordQueryVo.getCompanyId());
}
}
vehicleBookRecordQueryVo.setCompanyIds(companyList);
Query query = new Query(vehicleBookRecordQueryVo);
PageDataVO<VehicleBookRecordVo> pageDataVO = PageDataVO.pageInfo(query, () -> mapper.getBookRecordInfo(query.getSuper()));
getupKeeps(pageDataVO.getData());
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{
Map<String, Object> params = PropertyUtils.describe(liftVehicleVo);
params.put("reviewerLift", operatorId);
......
......@@ -2,7 +2,6 @@ package com.xxfc.platform.vehicle.biz;
import com.github.pagehelper.PageHelper;
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.VehicleUpkeepLog;
import com.xxfc.platform.vehicle.mapper.VehicleUpkeepItemMapper;
......@@ -13,10 +12,11 @@ import org.apache.commons.beanutils.BeanUtilsBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import redis.clients.jedis.Transaction;
import java.lang.reflect.InvocationTargetException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
public class VehicleUpkeepService {
......@@ -56,6 +56,12 @@ public class VehicleUpkeepService {
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) {
VehicleUpkeepLogVo vehicleUpkeepLogVo = vehicleUpkeepLogMapper.selectVoById(id);
List<VehicleUpkeepLogItemVo> upkeepItems = vehicleUpkeepLogMapper.getItemsByLogId(id);
......
......@@ -3,5 +3,9 @@ package com.xxfc.platform.vehicle.mapper;
import com.xxfc.platform.vehicle.entity.VehicleUpkeepItem;
import tk.mybatis.mapper.common.Mapper;
import java.util.List;
import java.util.Map;
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" ?>
<!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">
<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 id="searchBookRecord" type="com.xxfc.platform.vehicle.pojo.VehicleBookRecordVo">
<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 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>
<update id="changeRecordStatus" parameterType="java.util.Map">
update vehicle_book_record set
<if test="reviewerApply != null ">
reviewer_apply =#{reviewerApply},
</if>
<if test="reviewerNameApply != null and reviewerNameApply !=''">
reviewer_name_apply =#{reviewerNameApply},
</if>
<if test="reviewerReturn != null ">
reviewer_return =#{reviewerReturn},
</if>
<if test="reviewerNameReturn != null and reviewerNameReturn !=''">
reviewer_name_return =#{reviewerNameReturn},
</if>
<if test="reviewerCancel != null">
reviewer_cancel =#{reviewerCancel},
</if>
<if test="reviewerNameCancel != null and reviewerNameCancel !=''">
reviewer_name_cancel =#{reviewerNameCancel},
</if>
<if test="mileageLift != null">
mileage_lift =#{mileageLift},
</if>
<if test="mileageRet != null ">
mileage_ret =#{mileageRet},
</if>
<if test="haveViolation != null">
have_violation =#{haveViolation},
</if>
<update id="changeRecordStatus" parameterType="java.util.Map">
update vehicle_book_record set
<if test="reviewerApply != null ">
reviewer_apply =#{reviewerApply},
</if>
<if test="reviewerNameApply != null and reviewerNameApply !=''">
reviewer_name_apply =#{reviewerNameApply},
</if>
<if test="reviewerReturn != null ">
reviewer_return =#{reviewerReturn},
</if>
<if test="reviewerNameReturn != null and reviewerNameReturn !=''">
reviewer_name_return =#{reviewerNameReturn},
</if>
<if test="reviewerCancel != null">
reviewer_cancel =#{reviewerCancel},
</if>
<if test="reviewerNameCancel != null and reviewerNameCancel !=''">
reviewer_name_cancel =#{reviewerNameCancel},
</if>
<if test="mileageLift != null">
mileage_lift =#{mileageLift},
</if>
<if test="mileageRet != null ">
mileage_ret =#{mileageRet},
</if>
<if test="haveViolation != null">
have_violation =#{haveViolation},
</if>
`status` = #{status}
where id = #{id} and `status` = #{statusCondition}
</update>
`status` = #{status}
where id = #{id} and `status` = #{statusCondition}
</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>
......@@ -60,44 +63,44 @@
<update id="liftOrRet" parameterType="java.util.Map">
update vehicle_book_record
set `status` = #{targetStatus},
<if test="reviewerLift != null">
`reviewer_lift` = #{reviewerLift},
`reviewer_name_lift` = #{reviewerNameLift},
</if>
<if test="reviewerReturn != null">
`reviewer_return` = #{reviewerReturn},
`reviewer_name_return` = #{reviewerNameReturn},
</if>
<if test="liftRemark != null and liftRemark != ''">
`lift_remark` = #{liftRemark},
</if>
<if test="retRemark != null and retRemark != ''">
`ret_remark` = #{retRemark},
</if>
<if test="retCompany != null">
`ret_company` = #{retCompany},
</if>
<if test="liftCompany != null">
`lift_company` = #{liftCompany},
</if>
<if test="mileageLift != null">
mileage_lift =#{mileageLift},
</if>
<if test="mileageRet != null ">
mileage_ret =#{mileageRet},
</if>
<if test="haveViolation != null">
have_violation =#{haveViolation},
</if>
<choose>
<when test="targetStatus == 7"> `actual_start_date` = now() </when>
<when test="targetStatus == 3"> `actual_end_date` = now() </when>
</choose>
<if test="reviewerLift != null">
`reviewer_lift` = #{reviewerLift},
`reviewer_name_lift` = #{reviewerNameLift},
</if>
<if test="reviewerReturn != null">
`reviewer_return` = #{reviewerReturn},
`reviewer_name_return` = #{reviewerNameReturn},
</if>
<if test="liftRemark != null and liftRemark != ''">
`lift_remark` = #{liftRemark},
</if>
<if test="retRemark != null and retRemark != ''">
`ret_remark` = #{retRemark},
</if>
<if test="retCompany != null">
`ret_company` = #{retCompany},
</if>
<if test="liftCompany != null">
`lift_company` = #{liftCompany},
</if>
<if test="mileageLift != null">
mileage_lift =#{mileageLift},
</if>
<if test="mileageRet != null ">
mileage_ret =#{mileageRet},
</if>
<if test="haveViolation != null">
have_violation =#{haveViolation},
</if>
<choose>
<when test="targetStatus == 7">`actual_start_date` = now()</when>
<when test="targetStatus == 3">`actual_end_date` = now()</when>
</choose>
where id = #{id} and `status` = #{conditionStatus}
</update>
<insert id="insertHis" parameterType="java.util.Map">
<insert id="insertHis" parameterType="java.util.Map">
insert into ${tbName} (
`id`,
`vehicle_id`,
......@@ -129,7 +132,10 @@
mileage_ret,
have_violation,
ret_remark,
order_no
order_no,
vehicle_username,
vehicle_user_phone,
upkeep_ids
)
values(
#{id},
......@@ -162,11 +168,15 @@
#{mileageRet},
#{haveViolation},
#{retRemark},
#{orderNo}
#{orderNo},
#{vehicleUsername},
#{vehicleUserPhone},
#{upkeepIds}
);
</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
`id`,
`vehicle_id`,
......@@ -200,7 +210,10 @@
mileage_ret,
have_violation,
ret_remark,
order_no
order_no,
vehicle_username,
vehicle_user_phone,
upkeep_ids
from
vehicle_book_record
where
......@@ -209,69 +222,73 @@
limit #{pageStart},#{pageSize}
</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
vbr.`id`,
vbr.`vehicle_id`,
vbr.`status`,
vbr.`book_type`,
vbr.`book_user`,
vbr.`book_user_name`,
vbr.`contact_info`,
vbr.`book_start_date`,
vbr.`book_end_date`,
vbr.`lift_location`,
vbr.`lift_addr`,
vbr.`remark`,
vbr.`create_time`,
vbr.`update_time`,
vbr.`destination`,
vbr.`reviewer_apply`,
vbr.`reviewer_name_apply`,
vbr.`reviewer_return`,
vbr.`reviewer_name_return`,
vbr.`reviewer_cancel`,
vbr.`reviewer_name_cancel`,
vbr.`actual_start_date`,
vbr.`actual_end_date`,
vbr.`reviewer_lift`,
vbr.`reviewer_name_lift`,
vbr.lift_company,
bcl.name as liftCompanyName ,
vbr.lift_remark,
vbr.ret_company,
bcr.name as retCompanyName ,
vbr.mileage_lift,
vbr.mileage_ret,
vbr.have_violation,
vbr.ret_remark,
vbr.order_no,
v.`code` as vehicleCode,
v.number_plate as numberPlate,
v.subordinate_branch,
bc.name as subBranchName,
vbf.booked_date as bookedDate,
vbr.vehicle_username,
vbr.vehicle_user_phone
vbr.`id`,
vbr.`vehicle_id`,
vbr.`status`,
vbr.`book_type`,
vbr.`book_user`,
vbr.`book_user_name`,
vbr.`contact_info`,
vbr.`book_start_date`,
vbr.`book_end_date`,
vbr.`lift_location`,
vbr.`lift_addr`,
vbr.`remark`,
vbr.`create_time`,
vbr.`update_time`,
vbr.`destination`,
vbr.`reviewer_apply`,
vbr.`reviewer_name_apply`,
vbr.`reviewer_return`,
vbr.`reviewer_name_return`,
vbr.`reviewer_cancel`,
vbr.`reviewer_name_cancel`,
vbr.`actual_start_date`,
vbr.`actual_end_date`,
vbr.`reviewer_lift`,
vbr.`reviewer_name_lift`,
vbr.lift_company,
bcl.name as liftCompanyName ,
vbr.lift_remark,
vbr.ret_company,
bcr.name as retCompanyName ,
vbr.mileage_lift,
vbr.mileage_ret,
vbr.have_violation,
vbr.ret_remark,
vbr.order_no,
vbr.vehicle_username,
vbr.vehicle_user_phone,
vbr.upkeep_ids,
v.`code` as vehicleCode,
v.number_plate as numberPlate,
v.subordinate_branch,
bc.name as subBranchName,
vbf.booked_date as bookedDate,
vbr.vehicle_username,
vbr.vehicle_user_phone
from
${tbName} vbr 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 bcl on bcl.id = vbr.lift_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}
${tbName} vbr 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 bcl on bcl.id = vbr.lift_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}
where
1=1
1=1
<if test="companyList != null and companyList.size() > 0">
and ( vbr.lift_company in (
<trim suffixOverrides=",">
<trim suffixOverrides=",">
<foreach collection="companyList" item="companyId">
#{companyId},
</foreach>
</trim>
)
or vbr.ret_company in (
<trim suffixOverrides=",">
<trim suffixOverrides=",">
<foreach collection="companyList" item="companyId">
#{companyId},
</foreach>
......@@ -306,7 +323,7 @@
order by vbr.id desc
</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
vbr.`id`,
vbr.`vehicle_id`,
......@@ -340,12 +357,16 @@
vbr.mileage_ret,
vbr.have_violation,
vbr.ret_remark,
vbr.order_no
vbr.order_no,
vbr.vehicle_username,
vbr.vehicle_user_phone,
vbr.upkeep_ids,
from ${tbName} vbr
where id = #{id}
</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
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)
......@@ -375,19 +396,27 @@
order By v1.create_time DESC
</select>
<select id="getBookRecord" resultMap="searchBookRecord" parameterType="com.xxfc.platform.vehicle.pojo.VehicleBookRecordQueryVo">
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.*
from vehicle_book_record v1
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)
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
<select id="getBookRecord" resultMap="searchBookRecord"
parameterType="com.xxfc.platform.vehicle.pojo.VehicleBookRecordQueryVo">
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.*
from vehicle_book_record v1
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)
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>
<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 test="numberPlate != null">
and v3.number_plate = #{numberPlate}
......@@ -402,7 +431,7 @@
</foreach>
</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>
order by create_time DESC
......@@ -410,7 +439,9 @@
<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
LEFT JOIN branch_company bc1 ON v1.lift_company = bc1.id
LEFT JOIN branch_company bc2 on v1.ret_company = bc2.id
......@@ -419,7 +450,8 @@
LEFT JOIN branch_company bc4 on v3.subordinate_branch = bc4.id
<where>
<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 test="numberPlate != null">
and v3.number_plate = #{numberPlate}
......@@ -447,9 +479,7 @@
</select>
<insert id="createTbIfNotExists" parameterType="java.lang.String">
<insert id="createTbIfNotExists" parameterType="java.lang.String">
CREATE TABLE IF NOT EXISTS ${_parameter} (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`vehicle_id` varchar(40) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '车辆id',
......@@ -493,8 +523,4 @@
</insert>
</mapper>
\ No newline at end of file
......@@ -8,4 +8,13 @@
<id column="id" property="id" jdbcType="INTEGER" />
<result column="name" property="name" jdbcType="VARCHAR" />
</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>
\ 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