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

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

2.手动下发自由车辆违约单给与提示
上级 5a609c2b
...@@ -10,14 +10,13 @@ import com.msl.common.convertor.aspect.UnitCovert; ...@@ -10,14 +10,13 @@ import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result; import com.msl.common.result.Result;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.constraints.NotBlank;
@Slf4j @Slf4j
@RestController @RestController
...@@ -47,4 +46,12 @@ public class CarrierBreakContractDriverRecordController { ...@@ -47,4 +46,12 @@ public class CarrierBreakContractDriverRecordController {
return Result.page(page.getRecords(), page.getTotal(), page.getPages()); 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 { ...@@ -32,4 +32,5 @@ public interface BreakContractDriverRecordService {
BigDecimal getBreakContractFigure(String childNo); BigDecimal getBreakContractFigure(String childNo);
Integer getChildTruckDemand(String childNo);
} }
...@@ -8,6 +8,7 @@ import com.clx.performance.dao.breakcontract.BreakContractDriverRecordDao; ...@@ -8,6 +8,7 @@ import com.clx.performance.dao.breakcontract.BreakContractDriverRecordDao;
import com.clx.performance.dao.breakcontract.BreakContractDriverRuleDao; import com.clx.performance.dao.breakcontract.BreakContractDriverRuleDao;
import com.clx.performance.enums.BreakContractRecordEnum; import com.clx.performance.enums.BreakContractRecordEnum;
import com.clx.performance.enums.PerformanceResultEnum; import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.TruckDemandEnum;
import com.clx.performance.model.OrderChild; import com.clx.performance.model.OrderChild;
import com.clx.performance.model.OrderGoods; import com.clx.performance.model.OrderGoods;
import com.clx.performance.model.breakcontract.BreakContractDriverRecord; import com.clx.performance.model.breakcontract.BreakContractDriverRecord;
...@@ -134,6 +135,12 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive ...@@ -134,6 +135,12 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive
@Override @Override
public void saveDriverRecordOfOrderChildCancel(OrderChild orderChild, Long createBy, String createName) { 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(); BreakContractDriverRecord record = new BreakContractDriverRecord();
BreakContractDriverRule rule = breakContractDriverRuleDao.getEntityByKey(1).orNull(); BreakContractDriverRule rule = breakContractDriverRuleDao.getEntityByKey(1).orNull();
...@@ -171,6 +178,10 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive ...@@ -171,6 +178,10 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive
// 1小时内不违约 // 1小时内不违约
OrderGoods orderGoods = orderGoodsDao.getByOrderGoodsNo(orderChild.getOrderGoodsNo()).orElseThrow(PerformanceResultEnum.ORDER_CHILD_NO_FOUND); 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;} if (!orderChild.getPayTime().plusHours(1).isBefore(orderGoods.getLastArriveReceiveTime())){return;}
BreakContractDriverRule rule = breakContractDriverRuleDao.getEntityByKey(1).orNull(); BreakContractDriverRule rule = breakContractDriverRuleDao.getEntityByKey(1).orNull();
...@@ -205,6 +216,10 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive ...@@ -205,6 +216,10 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive
@Override @Override
public void saveDriverRecordOfArriveReceiveAddress(OrderChild orderChild, Long createBy, String createName) { public void saveDriverRecordOfArriveReceiveAddress(OrderChild orderChild, Long createBy, String createName) {
OrderGoods orderGoods = orderGoodsDao.getByOrderGoodsNo(orderChild.getOrderGoodsNo()).orElseThrow(PerformanceResultEnum.ORDER_CHILD_NO_FOUND); 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;} if (!orderChild.getArriveReceiveTime().isAfter(orderGoods.getLastArriveReceiveTime())) {return;}
BreakContractDriverRule rule = breakContractDriverRuleDao.getEntityByKey(1).orNull(); BreakContractDriverRule rule = breakContractDriverRuleDao.getEntityByKey(1).orNull();
...@@ -292,4 +307,13 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive ...@@ -292,4 +307,13 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive
return money.movePointRight(2); 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 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论