Commit 0d8565ea authored by hezhen's avatar hezhen

Merge branch 'master-chw' of http://113.105.137.151:22280/youjj/cloud-platform into master-chw

parents 674901c4 855f2849
......@@ -261,7 +261,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
JSONArray list = new JSONArray();
CheckUserInfoDto checkUserInfoDto = null;
if (StringUtils.isNotBlank(orderVehicleCrosstownDto.getCheckUserInfo())) {
checkUserInfoDto = JSONObject.parseObject(orderVehicleCrosstownDto.getCheckUserInfo(), CheckUserInfoDto.class);
checkUserInfoDto = JSONObject.parseObject(orderVehicleCrosstownDto.getCheckUserInfo(), CheckUserInfoDto.class);
if (checkUserInfoDto != null) {
list.add(checkUserInfoDto);
}
......@@ -274,8 +274,12 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
vehicleDepartureVo.setVehicleId(orderRentVehicleDetail.getVehicleId());
vehicleDepartureVo.setDepartureBranchCompanyId(orderRentVehicleDetail.getStartCompanyId());
vehicleDepartureVo.setExpectArrivalBranchCompanyId(orderRentVehicleDetail.getEndCompanyId());
Integer mileage = orderVehicleCrosstownDto.getMileage() != null ? orderVehicleCrosstownDto.getMileage() : 0;
vehicleDepartureVo.setMileage(mileage);
if (orderVehicleCrosstownDto.getMileage() == null) {
vehicleDepartureVo.setMileage(0);
} else {
vehicleDepartureVo.setMileage(orderVehicleCrosstownDto.getMileage());
}
vehicleDepartureVo.setBookRecordId(orderRentVehicleDetail.getBookRecordId());
if (checkUserInfoDto != null) {
vehicleDepartureVo.setCheckMan(checkUserInfoDto.getUsername());
......@@ -284,10 +288,10 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
log.info("小程序订单出车: " + vehicleDepartureVo.toString());
try {
RestResponse restResponse = vehicleFeign.departureBySmall(vehicleDepartureVo);
log.info("小程序订单出车成功: " + restResponse.getCode() + restResponse.getMessage());
if (restResponse.getStatus() != 200) {
return ObjectRestResponse.createFailedResult(1001, restResponse.getMessage());
}
log.info("小程序订单出车成功: " + restResponse.getCode() + restResponse.getMessage());
} catch (Exception e) {
return ObjectRestResponse.createFailedResult(1001, e.getMessage());
}
......@@ -295,7 +299,11 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
VehicleArrivalVo vehicleArrivalVo = new VehicleArrivalVo();
vehicleArrivalVo.setVehicleId(orderRentVehicleDetail.getVehicleId());
vehicleArrivalVo.setArrivalBranchCompanyId(userDTO.getCompanyId());
vehicleArrivalVo.setMileage(orderVehicleCrosstownDto.getMileage());
if (orderVehicleCrosstownDto.getMileage() == null) {
vehicleArrivalVo.setMileage(0);
} else {
vehicleArrivalVo.setMileage(orderVehicleCrosstownDto.getMileage());
}
if (checkUserInfoDto != null) {
vehicleArrivalVo.setRecycleMan(checkUserInfoDto.getUsername());
vehicleArrivalVo.setRecycleManTel(checkUserInfoDto.getTelephone());
......@@ -346,37 +354,37 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
if (jsonArray != null && jsonArray.size() > 0) {
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject jsonObject = JSONObject.parseObject(jsonArray.get(i).toString());
if (jsonObject.getInteger("type") != 1) {
if (jsonObject.getString("cost") != null) {
cost += Double.parseDouble(jsonObject.getString("cost"));
}
if (jsonObject.getString("excessCost") != null) {
cost += Double.parseDouble(jsonObject.getString("excessCost"));
}
} else { //提前还车单独判断
if (jsonObject.getString("cost") != null) {
violateAmount += Double.parseDouble(jsonObject.getString("cost"));
}
if (jsonObject.getString("excessCost") != null) {
violateAmount += Double.parseDouble(jsonObject.getString("excessCost"));
}
}
if (jsonObject.getInteger("type") != 1) {
if (jsonObject.getString("cost") != null) {
cost += Double.parseDouble(jsonObject.getString("cost"));
}
if (jsonObject.getString("excessCost") != null) {
cost += Double.parseDouble(jsonObject.getString("excessCost"));
}
} else { //提前还车单独判断
if (jsonObject.getString("cost") != null) {
violateAmount += Double.parseDouble(jsonObject.getString("cost"));
}
if (jsonObject.getString("excessCost") != null) {
violateAmount += Double.parseDouble(jsonObject.getString("excessCost"));
}
}
}
}
}
//延期扣除费用
if (StringUtils.isNotBlank(orderVehicleCrosstownDto.getDelayVehicleDetail())) {
JSONArray jsonArray = JSONArray.parseArray(orderVehicleCrosstownDto.getDelayVehicleDetail());
if (jsonArray != null && jsonArray.size() > 0) {
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject jsonObject = JSONObject.parseObject(jsonArray.get(i).toString());
if (jsonObject.getString("cost") != null) {
cost += Double.parseDouble(jsonObject.getString("cost"));
}
}
}
}
//延期扣除费用
if (StringUtils.isNotBlank(orderVehicleCrosstownDto.getDelayVehicleDetail())) {
JSONArray jsonArray = JSONArray.parseArray(orderVehicleCrosstownDto.getDelayVehicleDetail());
if (jsonArray != null && jsonArray.size() > 0) {
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject jsonObject = JSONObject.parseObject(jsonArray.get(i).toString());
if (jsonObject.getString("cost") != null) {
cost += Double.parseDouble(jsonObject.getString("cost"));
}
}
}
}
orderVehicleCrosstownDto.setUserLicenseImg(orderVehicleCrosstownDto.getLicenseImg());
//扣除费用,每次都是重新计算
BigDecimal amount = new BigDecimal(cost.toString()).divide(new BigDecimal("1"), 2, BigDecimal.ROUND_UP);
......@@ -449,20 +457,20 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
orderMsgBiz.handelMsgWait(orderRentVehicleDetail, null, null, baseOrder, appUserDTO);
} else if (baseOrder.getStatus() == OrderStatusEnum.ORDER_WAIT.getCode()) { //还车
if (orderVehicleCrosstown.getType() == CrosstownTypeEnum.ARRIVE.getCode()) {//不定损直接还车
//添加非定损押金记录
DepositRefundRecord depositRefundRecord = new DepositRefundRecord();
depositRefundRecord.setAmount(orderVehicleCrosstown.getDeductionCost());
depositRefundRecord.setRestAmount(totalAmount.subtract(illegalReserve).subtract(orderVehicleCrosstown.getDeductionCost()));
depositRefundRecord.setTotalAmount(totalAmount.subtract(illegalReserve));
depositRefundRecord.setCrosstownId(orderVehicleCrosstown.getId());
orderDepositRefundRecordBiz.saveNormalRecord(depositRefundRecord, orderRentVehicleDetail.getTrafficDeposit());
//修改订单状态为已完成
baseOrder.setStatus(OrderStatusEnum.ORDER_FINISH.getCode());
baseOrder = baseOrderBiz.updateSelectiveByIdReT(baseOrder);
//修改订单详情是否押金全部退还
orderRentVehicleDetail.setFixedLossStatus(0);
orderRentVehicleBiz.updateSelectiveByIdRe(orderRentVehicleDetail);
baseOrderBiz.sendOrderMq(orderRentVehicleDetail, null, null, baseOrder, OrderMQDTO.ORDER_FINISH);
//添加非定损押金记录
DepositRefundRecord depositRefundRecord = new DepositRefundRecord();
depositRefundRecord.setAmount(orderVehicleCrosstown.getDeductionCost());
depositRefundRecord.setRestAmount(totalAmount.subtract(illegalReserve).subtract(orderVehicleCrosstown.getDeductionCost()));
depositRefundRecord.setTotalAmount(totalAmount.subtract(illegalReserve));
depositRefundRecord.setCrosstownId(orderVehicleCrosstown.getId());
orderDepositRefundRecordBiz.saveNormalRecord(depositRefundRecord, orderRentVehicleDetail.getTrafficDeposit());
//修改订单状态为已完成
baseOrder.setStatus(OrderStatusEnum.ORDER_FINISH.getCode());
baseOrder = baseOrderBiz.updateSelectiveByIdReT(baseOrder);
//修改订单详情是否押金全部退还
orderRentVehicleDetail.setFixedLossStatus(0);
orderRentVehicleBiz.updateSelectiveByIdRe(orderRentVehicleDetail);
baseOrderBiz.sendOrderMq(orderRentVehicleDetail, null, null, baseOrder, OrderMQDTO.ORDER_FINISH);
} else if (orderVehicleCrosstown.getType() == CrosstownTypeEnum.FIXED_LOSS.getCode()) { //延时定损还车,只添加定损记录
//添加定损记录
DepositRefundRecord depositRefundRecord = new DepositRefundRecord();
......
......@@ -238,6 +238,10 @@ public class VehicleActiveService {
}
//2019-11-22 16:30 还原还车时修改车辆停靠分公司需求
vehicle.setParkBranchCompanyId(vehicleBookRecord.getRetCompany());
//当所属门店和还车门店一致,修改经营门店为还车门店
if (vehicle.getSubordinateBranch().equals(vehicleBookRecord.getRetCompany())) {
vehicle.setManageCompanyId(vehicleBookRecord.getRetCompany());
}
vehicleMapper.updateByPrimaryKeySelective(vehicle);
DateTime arrivalDate = new DateTime(vehicleBookRecord.getBookEndDate());
......
......@@ -1494,7 +1494,7 @@
AND v.`category_id`= #{categoryId}
</if>
<if test="branchId != null and branchId > 0">
AND v.`subordinate_branch`= #{branchId}
AND v.`manage_company_id`= #{branchId}
</if>
<if test="state != null ">
AND v.`state`= #{state}
......
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