提交 012be83c authored 作者: liuhaiquan's avatar liuhaiquan

1.运单取消、运单最晚到达目的地、货源地、自有车辆违约单不进行处理

2.手动下发自由车辆违约单给与提示
上级 5a609c2b
......@@ -10,14 +10,13 @@ import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotBlank;
@Slf4j
@RestController
......@@ -47,4 +46,12 @@ public class CarrierBreakContractDriverRecordController {
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
@ApiOperation(value = "获取运单的用车需求(是否自由车辆)",notes = "<br>By:刘海泉")
@GetMapping("/getChildTruckDemand")
public Result<Integer> getChildTruckDemand(@ApiParam("运单编号") @NotBlank(message = "运单编号不能为空") String childNo) {
return Result.ok(breakContractDriverRecordService.getChildTruckDemand(childNo));
}
}
......@@ -32,4 +32,5 @@ public interface BreakContractDriverRecordService {
BigDecimal getBreakContractFigure(String childNo);
Integer getChildTruckDemand(String childNo);
}
......@@ -8,6 +8,7 @@ import com.clx.performance.dao.breakcontract.BreakContractDriverRecordDao;
import com.clx.performance.dao.breakcontract.BreakContractDriverRuleDao;
import com.clx.performance.enums.BreakContractRecordEnum;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.TruckDemandEnum;
import com.clx.performance.model.OrderChild;
import com.clx.performance.model.OrderGoods;
import com.clx.performance.model.breakcontract.BreakContractDriverRecord;
......@@ -134,6 +135,12 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive
@Override
public void saveDriverRecordOfOrderChildCancel(OrderChild orderChild, Long createBy, String createName) {
OrderGoods orderGoods = orderGoodsDao.getByOrderGoodsNo(orderChild.getOrderGoodsNo())
.orElseThrow(PerformanceResultEnum.ORDER_CHILD_NO_FOUND);
//自由车辆的货单,不产生违约
if(Objects.equals(orderGoods.getTruckDemand(), TruckDemandEnum.TruckType.OWNER_CAR.getCode())){
return;
}
BreakContractDriverRecord record = new BreakContractDriverRecord();
BreakContractDriverRule rule = breakContractDriverRuleDao.getEntityByKey(1).orNull();
......@@ -171,6 +178,10 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive
// 1小时内不违约
OrderGoods orderGoods = orderGoodsDao.getByOrderGoodsNo(orderChild.getOrderGoodsNo()).orElseThrow(PerformanceResultEnum.ORDER_CHILD_NO_FOUND);
//自由车辆的货单,不产生违约
if(Objects.equals(orderGoods.getTruckDemand(), TruckDemandEnum.TruckType.OWNER_CAR.getCode())){
return;
}
if (!orderChild.getPayTime().plusHours(1).isBefore(orderGoods.getLastArriveReceiveTime())){return;}
BreakContractDriverRule rule = breakContractDriverRuleDao.getEntityByKey(1).orNull();
......@@ -205,6 +216,10 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive
@Override
public void saveDriverRecordOfArriveReceiveAddress(OrderChild orderChild, Long createBy, String createName) {
OrderGoods orderGoods = orderGoodsDao.getByOrderGoodsNo(orderChild.getOrderGoodsNo()).orElseThrow(PerformanceResultEnum.ORDER_CHILD_NO_FOUND);
//自由车辆的货单,不产生违约
if(Objects.equals(orderGoods.getTruckDemand(), TruckDemandEnum.TruckType.OWNER_CAR.getCode())){
return;
}
if (!orderChild.getArriveReceiveTime().isAfter(orderGoods.getLastArriveReceiveTime())) {return;}
BreakContractDriverRule rule = breakContractDriverRuleDao.getEntityByKey(1).orNull();
......@@ -292,4 +307,13 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive
return money.movePointRight(2);
}
@Override
public Integer getChildTruckDemand(String childNo) {
OrderChild child = orderChildDao.getByChildNo(childNo).orElseThrow(PerformanceResultEnum.ORDER_CHILD_NO_FOUND);
OrderGoods orderGoods = orderGoodsDao.getByOrderGoodsNo(child.getOrderGoodsNo()).orElseThrow(PerformanceResultEnum.ORDER_GOODS_NO_FOUND);
if(Objects.equals(orderGoods.getTruckDemand(),TruckDemandEnum.TruckType.OWNER_CAR.getCode())){
return 1;
}
return 0;
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论