提交 a2f49179 authored 作者: 刘海泉's avatar 刘海泉

Merge remote-tracking branch 'origin/test' into test

...@@ -6,7 +6,6 @@ import lombok.NoArgsConstructor; ...@@ -6,7 +6,6 @@ import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/** /**
* 装车范围校验检查参数 * 装车范围校验检查参数
...@@ -22,7 +21,6 @@ public class NeedAlertSuperviseInfoParam { ...@@ -22,7 +21,6 @@ public class NeedAlertSuperviseInfoParam {
@ApiModelProperty(value = "类型 1-监装 2-监卸", example = "1") @ApiModelProperty(value = "类型 1-监装 2-监卸", example = "1")
@NotNull(message = "类型不能为空")
private Integer type; private Integer type;
} }
...@@ -78,6 +78,7 @@ public class CarrierPageSettlementOwnerVO { ...@@ -78,6 +78,7 @@ public class CarrierPageSettlementOwnerVO {
@ApiModelProperty("卸车净重(单位吨)") @ApiModelProperty("卸车净重(单位吨)")
private BigDecimal unloadNet; private BigDecimal unloadNet;
@MoneyOutConvert
@ApiModelProperty("司机实收(分)") @ApiModelProperty("司机实收(分)")
private BigDecimal driverFreight; private BigDecimal driverFreight;
} }
...@@ -200,9 +200,14 @@ public class AppDriverOrderChildController { ...@@ -200,9 +200,14 @@ public class AppDriverOrderChildController {
public Result<OrderChildLoadRangeCheckResultVO> loadRangeCheck(@RequestBody @Validated OrderChildLoadRangeCheckParam param) { public Result<OrderChildLoadRangeCheckResultVO> loadRangeCheck(@RequestBody @Validated OrderChildLoadRangeCheckParam param) {
return orderChildService.loadRangeCheck(param).toResult(); return orderChildService.loadRangeCheck(param).toResult();
} }
@ApiOperation(value = "是否需要弹出监装信息", notes = "<br>By:姜武杰") @ApiOperation(value = "是否需要弹出监装信息", notes = "<br>By:姜武杰")
@PostMapping("/needAlertSuperviseInfo") @PostMapping("/needAlertSuperviseInfo")
public Result<NeedAlertSuperviseInfoResultVO> needAlertSuperviseInfo(@RequestBody @Validated NeedAlertSuperviseInfoParam param) { public Result<NeedAlertSuperviseInfoResultVO> needAlertSuperviseInfo(@RequestBody @Validated NeedAlertSuperviseInfoParam param) {
// todo :jiangwujie 临时设置type 前端给type后删除
if (param.getType() == null) {
param.setType(1);
}
return Result.ok(orderChildService.needAlertSuperviseInfo(param)); return Result.ok(orderChildService.needAlertSuperviseInfo(param));
} }
......
...@@ -107,4 +107,14 @@ public class TempSettlementController { ...@@ -107,4 +107,14 @@ public class TempSettlementController {
return Result.ok(); return Result.ok();
} }
@ApiOperation(value = "开票公司更新", notes = "<br>By:艾庆国")
@RequestMapping(value = "/updateInvoiceCompany", method = RequestMethod.GET)
public Result updateInvoiceCompany(Integer id) {
// 发送mq (开票公司更新)
settlementMqService.updateInvoiceCompany(id);
return Result.ok();
}
} }
package com.clx.performance.controller.temp; package com.clx.performance.controller.temp;
import com.clx.performance.dto.gd.GdRouteDTO; import com.clx.performance.dto.gd.GdRouteDTO;
import com.clx.performance.param.mq.trace.TruckTraceSyncMqParam;
import com.clx.performance.esplus.model.TruckLatestPosESPlus; import com.clx.performance.esplus.model.TruckLatestPosESPlus;
import com.clx.performance.param.mq.trace.TruckTraceSyncMqParam;
import com.clx.performance.param.temp.DriverTraceAddParam; import com.clx.performance.param.temp.DriverTraceAddParam;
import com.clx.performance.param.temp.TruckTraceAddParam; import com.clx.performance.param.temp.TruckTraceAddParam;
import com.clx.performance.service.trace.TruckTraceMqHandlerService; import com.clx.performance.service.trace.TruckTraceMqHandlerService;
...@@ -20,12 +20,6 @@ import org.springframework.web.bind.annotation.*; ...@@ -20,12 +20,6 @@ import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import org.springframework.beans.factory.annotation.Autowired;
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 java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List; import java.util.List;
...@@ -138,4 +132,16 @@ public class TempTraceController { ...@@ -138,4 +132,16 @@ public class TempTraceController {
} }
@ApiOperation(value = "获取车辆最新位置信息", notes = "<br>By:姜武杰")
@GetMapping("/calDistance")
public Result<Integer> getTruckLatestPos(
@RequestParam("l1") @NotNull(message = "当前经度不能为空") BigDecimal l1,
@RequestParam("l2") @NotNull(message = "当前纬度不能为空") BigDecimal l2,
@RequestParam("l3") @NotNull(message = "货源经度不能为空") BigDecimal l3,
@RequestParam("l4") @NotNull(message = "货源纬度不能为空") BigDecimal l4
) {
return Result.ok( gdService.getShortestRouteDistance(l1,l2,l3,l4));
}
} }
...@@ -46,6 +46,7 @@ public class SettlementOrderChildRiskDaoImpl ...@@ -46,6 +46,7 @@ public class SettlementOrderChildRiskDaoImpl
.map(item -> lQrWrapper() .map(item -> lQrWrapper()
.eq(SettlementOrderChildRisk::getChildNo, childNo) .eq(SettlementOrderChildRisk::getChildNo, childNo)
.orderByDesc(SettlementOrderChildRisk::getId) .orderByDesc(SettlementOrderChildRisk::getId)
.last("limit 1")
) )
.map(super::getOne); .map(super::getOne);
} }
......
...@@ -19,6 +19,7 @@ import com.msl.common.dao.impl.BaseDaoImpl; ...@@ -19,6 +19,7 @@ import com.msl.common.dao.impl.BaseDaoImpl;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
...@@ -74,10 +75,11 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet ...@@ -74,10 +75,11 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet
return update(lUdWrapper() return update(lUdWrapper()
.eq(SettlementOwnerDetail::getId, item.getId()) .eq(SettlementOwnerDetail::getId, item.getId())
.set(SettlementOwnerDetail::getInvoiceType, item.getInvoiceType()) .set(SettlementOwnerDetail::getInvoiceType, item.getInvoiceType())
.set(SettlementOwnerDetail::getInvoiceStatus, item.getInvoiceStatus()) .set(SettlementOwnerDetail::getInvoiceTypeStatus, item.getInvoiceTypeStatus())
.set(SettlementOwnerDetail::getInvoicingCompanyId, item.getInvoicingCompanyId()) .set(SettlementOwnerDetail::getInvoicingCompanyId, item.getInvoicingCompanyId())
.set(SettlementOwnerDetail::getInvoicingCompanyShorterName, item.getInvoicingCompanyShorterName()) .set(SettlementOwnerDetail::getInvoicingCompanyShorterName, item.getInvoicingCompanyShorterName())
.set(SettlementOwnerDetail::getInvoicingCompanyGroupCode, item.getInvoicingCompanyGroupCode()) .set(SettlementOwnerDetail::getInvoicingCompanyGroupCode, item.getInvoicingCompanyGroupCode())
.set(SettlementOwnerDetail::getInvoiceTypeModifiedTime, item.getInvoiceTypeModifiedTime())
); );
} }
...@@ -87,6 +89,7 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet ...@@ -87,6 +89,7 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet
.eq(SettlementOwnerDetail::getId, item.getId()) .eq(SettlementOwnerDetail::getId, item.getId())
.set(SettlementOwnerDetail::getInvoiceType, item.getInvoiceType()) .set(SettlementOwnerDetail::getInvoiceType, item.getInvoiceType())
.set(SettlementOwnerDetail::getInvoiceFreight, item.getInvoiceFreight()) .set(SettlementOwnerDetail::getInvoiceFreight, item.getInvoiceFreight())
.set(SettlementOwnerDetail::getInvoiceStatus, item.getInvoiceStatus())
.set(SettlementOwnerDetail::getSettlementFreight, item.getSettlementFreight()) .set(SettlementOwnerDetail::getSettlementFreight, item.getSettlementFreight())
.set(SettlementOwnerDetail::getFinalPaymentStatus, item.getFinalPaymentStatus()) .set(SettlementOwnerDetail::getFinalPaymentStatus, item.getFinalPaymentStatus())
.set(SettlementOwnerDetail::getPrepayFreight, item.getPrepayFreight()) .set(SettlementOwnerDetail::getPrepayFreight, item.getPrepayFreight())
...@@ -214,6 +217,7 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet ...@@ -214,6 +217,7 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet
update(lUdWrapper() update(lUdWrapper()
.in(SettlementOwnerDetail::getChildNo, childNoList) .in(SettlementOwnerDetail::getChildNo, childNoList)
.set(SettlementOwnerDetail::getInvoiceStatus, SettlementOwnerDetailEnum.InvoiceStatus.YES.getCode()) .set(SettlementOwnerDetail::getInvoiceStatus, SettlementOwnerDetailEnum.InvoiceStatus.YES.getCode())
.set(SettlementOwnerDetail::getInvoiceTime,LocalDateTime.now())
); );
} }
......
...@@ -2981,15 +2981,15 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -2981,15 +2981,15 @@ public class OrderChildServiceImpl implements OrderChildService {
* @Param [truckNo, beginLongitude, beginLatitude, endLongitude, endLatitude] * @Param [truckNo, beginLongitude, beginLatitude, endLongitude, endLatitude]
* @return * @return
**/ **/
public GdRouteDTO getGdRoute(String truckNo, BigDecimal beginLongitude, BigDecimal beginLatitude, public Integer getGdRoute(String truckNo, BigDecimal beginLongitude, BigDecimal beginLatitude,
BigDecimal endLongitude, BigDecimal endLatitude) { BigDecimal endLongitude, BigDecimal endLatitude) {
List<GdRouteDTO> gdRouteDTOS = null; Integer distance = null;
try { try {
gdRouteDTOS = gdService.getRoute(beginLongitude, beginLatitude, endLongitude, endLatitude); distance = gdService.getShortestRouteDistance(beginLongitude, beginLatitude, endLongitude, endLatitude);
} catch (ServiceSystemException e) { } catch (ServiceSystemException e) {
log.info("orderChildExpect==高德地图调用失败,车辆{},异常原因{}", truckNo, e.getMessage()); log.info("orderChildExpect==高德地图调用失败,车辆{},异常原因{}", truckNo, e.getMessage());
} }
return CollectionUtils.isNotEmpty(gdRouteDTOS) ? gdRouteDTOS.get(0) : null; return distance;
} }
@Override @Override
...@@ -3198,10 +3198,8 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -3198,10 +3198,8 @@ public class OrderChildServiceImpl implements OrderChildService {
if (longitude == null || latitude == null) { if (longitude == null || latitude == null) {
return new OrderChildLoadRangeCheckResultVO(OrderChildEnum.NeedAlertEnum.FAIL.getCode(), TRUCK_LOCATION_ERROR.getCode(), TRUCK_LOCATION_ERROR.getMsg()); return new OrderChildLoadRangeCheckResultVO(OrderChildEnum.NeedAlertEnum.FAIL.getCode(), TRUCK_LOCATION_ERROR.getCode(), TRUCK_LOCATION_ERROR.getMsg());
} }
List<GdRouteDTO> route = gdService.getRoute(longitude, latitude, sendLongitude, sendLatitude); Integer distance = gdService.getShortestRouteDistance(longitude, latitude, sendLongitude, sendLatitude);
if (CollectionUtils.isNotEmpty(route)) { if (distance != null) {
GdRouteDTO gdRouteDTO = route.get(0);
Integer distance = gdRouteDTO.getDistance();
log.info("truckNo:{} 高德计算距离:{} curr:{},{}, 货源地:{},{}", orderChild.getTruckNo(), distance, longitude, latitude, sendLongitude, sendLatitude); log.info("truckNo:{} 高德计算距离:{} curr:{},{}, 货源地:{},{}", orderChild.getTruckNo(), distance, longitude, latitude, sendLongitude, sendLatitude);
if (distance > config.allowUploadDistanceMeter()) { if (distance > config.allowUploadDistanceMeter()) {
// 装车位置 超限 // 装车位置 超限
...@@ -3263,14 +3261,12 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -3263,14 +3261,12 @@ public class OrderChildServiceImpl implements OrderChildService {
BigDecimal siteLatitudeY = orderGoods.getSendLatitude(); BigDecimal siteLatitudeY = orderGoods.getSendLatitude();
//调高德获取距离 //调高德获取距离
if (Objects.nonNull(truckLongitudeX) && Objects.nonNull(truckLatitudeY)) { if (Objects.nonNull(truckLongitudeX) && Objects.nonNull(truckLatitudeY)) {
GdRouteDTO route = getGdRoute(truckNo, orderGoods.getSendLongitude(), orderGoods.getSendLatitude(), siteLongitudeX, Integer distance = getGdRoute(truckNo, orderGoods.getSendLongitude(), orderGoods.getSendLatitude(), siteLongitudeX,
siteLatitudeY); siteLatitudeY);
if (route == null) { if (distance == null) {
log.error("高德获取卡车与货源地位置距离失败,orderGoodsNo:{},orderChildNo:{},truckNo:{}", orderGoodsNo, childNo, truckNo); log.error("高德获取卡车与货源地位置距离失败,orderGoodsNo:{},orderChildNo:{},truckNo:{}", orderGoodsNo, childNo, truckNo);
return; return;
} }
//距离
Integer distance = route.getDistance();
// 超出货源地+通知触发距离 // 超出货源地+通知触发距离
if (distance > driverNoticeConfigVO.getNoticeTriggerDistanceMeter()) { if (distance > driverNoticeConfigVO.getNoticeTriggerDistanceMeter()) {
if (Objects.equals(child.getExitNoticeStatus(), OrderChildEnum.ExitNoticeStatus.NOT_NOTIFIED.getCode()) if (Objects.equals(child.getExitNoticeStatus(), OrderChildEnum.ExitNoticeStatus.NOT_NOTIFIED.getCode())
...@@ -3293,8 +3289,8 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -3293,8 +3289,8 @@ public class OrderChildServiceImpl implements OrderChildService {
child.setEnterExitSendStatus(OrderChildEnum.EnterExitSendStatus.DRIVE_OUT.getCode()); child.setEnterExitSendStatus(OrderChildEnum.EnterExitSendStatus.DRIVE_OUT.getCode());
orderChildDao.updateEntityByKey(child); orderChildDao.updateEntityByKey(child);
} }
} else if(distance <= 1000){
} else { // 这里的1km的距离是产品需求写死的,不使用通知配置范围
// 未超出货源地+通知触发距离 // 未超出货源地+通知触发距离
// 驶入货源地+通知触发距离范围内了 // 驶入货源地+通知触发距离范围内了
if (Objects.equals(child.getEnterExitSendStatus(), OrderChildEnum.EnterExitSendStatus.DRIVE_OUT.getCode())) { if (Objects.equals(child.getEnterExitSendStatus(), OrderChildEnum.EnterExitSendStatus.DRIVE_OUT.getCode())) {
...@@ -3334,7 +3330,8 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -3334,7 +3330,8 @@ public class OrderChildServiceImpl implements OrderChildService {
req.setMobile(mobile); req.setMobile(mobile);
req.setContent(jsonObject.toString()); req.setContent(jsonObject.toString());
req.setExpire(300L); req.setExpire(300L);
clxMessageOpenapiFeign.sendAliSms(req); Result<String> result = clxMessageOpenapiFeign.sendAliSms(req);
log.info("发送上传装货信息提示短信:【当前车牌号{},运单{}未上传装车信息,请上传后再驶离货源地,如需帮助请联系客服。】,结果:{}", truckNo, childNo, result);
} }
/** /**
...@@ -3363,7 +3360,8 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -3363,7 +3360,8 @@ public class OrderChildServiceImpl implements OrderChildService {
req.setMobile(mobile); req.setMobile(mobile);
req.setContent(jsonObject.toString()); req.setContent(jsonObject.toString());
req.setExpire(300L); req.setExpire(300L);
clxMessageOpenapiFeign.sendAliSms(req); Result<String> result = clxMessageOpenapiFeign.sendAliSms(req);
log.info("发送发送监装提示短信:【当前车牌号{},运单{}需要进行现场监装,请您前往{}进行配合,如需帮助请联系客服。】,结果:{}", truckNo, childNo, supervisionAddress, result);
} }
private BigDecimal[] getTruckLocation(String truckNo ,BigDecimal longitude, BigDecimal latitude) { private BigDecimal[] getTruckLocation(String truckNo ,BigDecimal longitude, BigDecimal latitude) {
......
...@@ -187,7 +187,7 @@ public class SettlementDriverDetailServiceImpl implements SettlementDriverDetai ...@@ -187,7 +187,7 @@ public class SettlementDriverDetailServiceImpl implements SettlementDriverDetai
rowData.add(new ExcelData(dto.getTruckNo())); rowData.add(new ExcelData(dto.getTruckNo()));
rowData.add(new ExcelData(dto.getInvoicingCompanyShorterName())); rowData.add(new ExcelData(dto.getInvoicingCompanyShorterName()));
rowData.add(new ExcelData(dto.getInvoiceType()==null?null:SettlementOwnerEnum.InvoiceType.getMsgByCode(dto.getInvoiceType()))); rowData.add(new ExcelData(dto.getInvoiceType()==null?null:SettlementOwnerEnum.InvoiceType.getMsgByCode(dto.getInvoiceType())));
rowData.add(new ExcelData(SettlementDriverEnum.PrepayFreightFlag.getMsgByCode(dto.getPrepayFreightFlag()))); rowData.add(new ExcelData(dto.getPrepayFreightFlag()==null?null:SettlementDriverEnum.PrepayFreightFlag.getMsgByCode(dto.getPrepayFreightFlag())));
rowData.add(new ExcelData(dto.getLoanFlagMsg())); rowData.add(new ExcelData(dto.getLoanFlagMsg()));
rowData.add(new ExcelData(dto.getWeight())); rowData.add(new ExcelData(dto.getWeight()));
rowData.add(new ExcelData(dto.getFreightPrice()==null?null:dto.getFreightPrice().movePointLeft(2))); rowData.add(new ExcelData(dto.getFreightPrice()==null?null:dto.getFreightPrice().movePointLeft(2)));
......
...@@ -133,12 +133,11 @@ public class SettlementDriverServiceImpl implements SettlementDriverService { ...@@ -133,12 +133,11 @@ public class SettlementDriverServiceImpl implements SettlementDriverService {
rowData.add(new ExcelData(vo.getDriverName())); rowData.add(new ExcelData(vo.getDriverName()));
rowData.add(new ExcelData(vo.getGoodsName())); rowData.add(new ExcelData(vo.getGoodsName()));
rowData.add(new ExcelData(vo.getGoodsName())); rowData.add(new ExcelData(vo.getPrepayFreightFlag()==null?null:SettlementDriverEnum.PrepayFreightFlag.getMsgByCode(vo.getPrepayFreightFlag())));
rowData.add(new ExcelData(SettlementDriverEnum.PrepayFreightFlag.getMsgByCode(vo.getPrepayFreightFlag())));
rowData.add(new ExcelData(vo.getLoanFlagMsg())); rowData.add(new ExcelData(vo.getLoanFlagMsg()));
rowData.add(new ExcelData(vo.getTruckNo())); rowData.add(new ExcelData(vo.getTruckNo()));
rowData.add(new ExcelData(SettlementDriverEnum.InvoiceType.getMsgByCode(vo.getInvoiceType()))); rowData.add(new ExcelData(vo.getInvoiceType()==null?null:SettlementDriverEnum.InvoiceType.getMsgByCode(vo.getInvoiceType())));
rowData.add(new ExcelData(vo.getWeight())); rowData.add(new ExcelData(vo.getWeight()));
rowData.add(new ExcelData(vo.getFreightPrice())); rowData.add(new ExcelData(vo.getFreightPrice()));
......
...@@ -60,6 +60,7 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -60,6 +60,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
@Slf4j @Slf4j
@Service @Service
...@@ -339,6 +340,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -339,6 +340,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOwnerDetail.setInvoiceTypeStatus(SettlementOwnerDetailEnum.InvoiceTypeStatus.SUCCESS.getCode()); settlementOwnerDetail.setInvoiceTypeStatus(SettlementOwnerDetailEnum.InvoiceTypeStatus.SUCCESS.getCode());
settlementOwnerDetailDao.updateInvoiceTypeStatus(settlementOwnerDetail); settlementOwnerDetailDao.updateInvoiceTypeStatus(settlementOwnerDetail);
// 发送mq (运单更新)
orderChildBrokerMqService.orderChildUpdate(settlementOwnerDetail.getChildNo());
// 发送mq (结算) // 发送mq (结算)
settlementMqService.settle(orderChild.getChildNo(), invoiceType, remark); settlementMqService.settle(orderChild.getChildNo(), invoiceType, remark);
} }
...@@ -374,6 +378,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -374,6 +378,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
ApplicationContextUtils.getBean(SettlementOwnerService.class) ApplicationContextUtils.getBean(SettlementOwnerService.class)
.invoicingStatusNotify(invoicingStatusNotifyDTO); .invoicingStatusNotify(invoicingStatusNotifyDTO);
// 发送mq (运单更新)
orderChildBrokerMqService.orderChildUpdate(settlementOwnerDetail.getChildNo());
} }
} }
...@@ -428,6 +435,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -428,6 +435,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
// 发送mq (结算单平台自动确认) // 发送mq (结算单平台自动确认)
settlementMqService.settlementPlatformAutoConfirmUpdate(settlementOwnerDetail.getSettlementNo()); settlementMqService.settlementPlatformAutoConfirmUpdate(settlementOwnerDetail.getSettlementNo());
// 发送mq (运单更新)
orderChildBrokerMqService.orderChildUpdate(settlementOwnerDetail.getChildNo());
} }
else if (Objects.equals(result.getSettleStatus(), 3) ) { else if (Objects.equals(result.getSettleStatus(), 3) ) {
SettlementOrderChildRisk settlementOrderChildRisk = new SettlementOrderChildRisk(); SettlementOrderChildRisk settlementOrderChildRisk = new SettlementOrderChildRisk();
...@@ -797,8 +807,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -797,8 +807,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOwner.setUnloadNet(BigDecimal.ZERO); settlementOwner.setUnloadNet(BigDecimal.ZERO);
List<SettlementOwnerDetail> details = settlementOwnerDetailDao.getBySettlementNo(settlementOwner.getSettlementNo()); List<SettlementOwnerDetail> details = settlementOwnerDetailDao.getBySettlementNo(settlementOwner.getSettlementNo());
details.stream().filter(item->!Objects.equals(item.getChildNo(), settlementOwnerDetail.getChildNo()))
details.forEach(item->{ .collect(Collectors.toList())
.forEach(item->{
settlementOwner.setWeight(settlementOwner.getWeight().add(item.getWeight())); settlementOwner.setWeight(settlementOwner.getWeight().add(item.getWeight()));
settlementOwner.setFreight(settlementOwner.getFreight().add(item.getFreight())); settlementOwner.setFreight(settlementOwner.getFreight().add(item.getFreight()));
settlementOwner.setLossWeight(settlementOwner.getLossWeight().add(item.getLossWeight())); settlementOwner.setLossWeight(settlementOwner.getLossWeight().add(item.getLossWeight()));
...@@ -897,6 +908,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -897,6 +908,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOwnerDetail.setFinalPaymentStatus(SettlementOwnerDetailEnum.FinalPaymentStatus.NO_REQUIRE.getCode()); settlementOwnerDetail.setFinalPaymentStatus(SettlementOwnerDetailEnum.FinalPaymentStatus.NO_REQUIRE.getCode());
} }
if (settlementOwnerDetail.getInvoiceFreight().compareTo(BigDecimal.ZERO) <= 0) {
settlementOwnerDetail.setInvoiceStatus(SettlementOwnerDetailEnum.InvoiceStatus.NO_INVOICE.getCode());
}
settlementDriverDetail.setInvoicingCompanyId(settlementOwnerDetail.getInvoicingCompanyId()); settlementDriverDetail.setInvoicingCompanyId(settlementOwnerDetail.getInvoicingCompanyId());
settlementDriverDetail.setInvoicingCompanyShorterName(settlementOwnerDetail.getInvoicingCompanyShorterName()); settlementDriverDetail.setInvoicingCompanyShorterName(settlementOwnerDetail.getInvoicingCompanyShorterName());
settlementDriverDetail.setInvoicingCompanyGroupCode(settlementOwnerDetail.getInvoicingCompanyGroupCode()); settlementDriverDetail.setInvoicingCompanyGroupCode(settlementOwnerDetail.getInvoicingCompanyGroupCode());
......
...@@ -80,6 +80,7 @@ public class SettlementOrderChildRiskServiceImpl implements SettlementOrderChild ...@@ -80,6 +80,7 @@ public class SettlementOrderChildRiskServiceImpl implements SettlementOrderChild
settlementOwnerDetail.setInvoicingCompanyShorterName(null); settlementOwnerDetail.setInvoicingCompanyShorterName(null);
settlementOwnerDetail.setInvoicingCompanyGroupCode(null); settlementOwnerDetail.setInvoicingCompanyGroupCode(null);
settlementOwnerDetail.setInvoiceTypeStatus(SettlementOwnerDetailEnum.InvoiceTypeStatus.SUCCESS.getCode()); settlementOwnerDetail.setInvoiceTypeStatus(SettlementOwnerDetailEnum.InvoiceTypeStatus.SUCCESS.getCode());
settlementOwnerDetail.setInvoiceTypeModifiedTime(LocalDateTime.now());
settlementOwnerDetailDao.updateConvertOrdinary(settlementOwnerDetail); settlementOwnerDetailDao.updateConvertOrdinary(settlementOwnerDetail);
settlementDriverDetail.setInvoiceType(settlementOwnerDetail.getInvoiceType()); settlementDriverDetail.setInvoiceType(settlementOwnerDetail.getInvoiceType());
......
...@@ -689,18 +689,9 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService { ...@@ -689,18 +689,9 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
networkSyncComponent.ownerSettlementSync(settlementOwner,settlementOwnerDetailList); networkSyncComponent.ownerSettlementSync(settlementOwner,settlementOwnerDetailList);
}else{ }else{
if(Objects.equals(settlementOwner.getInvoiceType(),SettlementOwnerEnum.InvoiceType.ORDINARY.getCode())){ // 小于0不开票
int invoiceStatus; if(settlementOwner.getInvoiceFreight().compareTo(BigDecimal.ZERO) <= 0 ) {
int detailInvoiceStatus; settlementOwner.setInvoiceStatus(SettlementOwnerEnum.InvoiceStatus.NO_NEED_INVOICE.getCode());
if(settlementOwner.getInvoiceFreight().compareTo(BigDecimal.ZERO) > 0 ){ //结算单开票金额>0结算单填写发票物流单号以后,更新状态为“是”
invoiceStatus = SettlementOwnerEnum.InvoiceStatus.INVOICED.getCode();
detailInvoiceStatus = SettlementOwnerDetailEnum.InvoiceStatus.YES.getCode();
}else{ //结算单开票金额<=0的结算单,货主确认结算单后,更新状态为“无需开票”
invoiceStatus = SettlementOwnerEnum.InvoiceStatus.NO_NEED_INVOICE.getCode();
detailInvoiceStatus = SettlementOwnerDetailEnum.InvoiceStatus.NO_INVOICE.getCode();
}
settlementOwner.setInvoiceStatus(invoiceStatus);
settlementOwnerDetailDao.updateInvoiceStatusBySettlementNo(settlementNo, detailInvoiceStatus);
} }
settlementOwner.setStatus(SettlementOwnerEnum.Status.COMPLETED.getCode()); settlementOwner.setStatus(SettlementOwnerEnum.Status.COMPLETED.getCode());
settlementOwnerDao.updateInvoiceStatusAndStatus(settlementOwner); settlementOwnerDao.updateInvoiceStatusAndStatus(settlementOwner);
......
...@@ -9,14 +9,12 @@ import com.msl.common.enums.ResultCodeEnum; ...@@ -9,14 +9,12 @@ import com.msl.common.enums.ResultCodeEnum;
import com.msl.common.exception.ServiceSystemException; import com.msl.common.exception.ServiceSystemException;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.dromara.easyes.common.utils.CollectionUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.util.ArrayList; import java.util.*;
import java.util.Comparator;
import java.util.List;
import java.util.Objects;
/** /**
* @Author: aiqingguo * @Author: aiqingguo
...@@ -47,6 +45,26 @@ public class GdService { ...@@ -47,6 +45,26 @@ public class GdService {
return getRoute(gaodeKey, originLongitude, originLatitude, destinationLongitude, destinationLatitude); return getRoute(gaodeKey, originLongitude, originLatitude, destinationLongitude, destinationLatitude);
} }
/**
* 获取最短距离路径
* @param originLongitude
* @param originLatitude
* @param destinationLongitude
* @param destinationLatitude
* @return
*/
public Integer getShortestRouteDistance(BigDecimal originLongitude, BigDecimal originLatitude,
BigDecimal destinationLongitude, BigDecimal destinationLatitude) {
List<GdRouteDTO> routeList = getRoute(gaodeKey, originLongitude, originLatitude, destinationLongitude, destinationLatitude);
if (CollectionUtils.isNotEmpty(routeList)) {
Optional<GdRouteDTO> minRoute = routeList.stream()
.min((r1, r2) -> Double.compare(r1.getDistance(), r2.getDistance()));
return minRoute.map(GdRouteDTO::getDistance).orElse(null);
}
return null;
}
public static List<GdRouteDTO> getRoute(String key, BigDecimal originLongitude, BigDecimal originLatitude, public static List<GdRouteDTO> getRoute(String key, BigDecimal originLongitude, BigDecimal originLatitude,
BigDecimal destinationLongitude, BigDecimal destinationLatitude) { BigDecimal destinationLongitude, BigDecimal destinationLatitude) {
//log.info("高德线路规划开始"); //log.info("高德线路规划开始");
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论