|
@@ -260,7 +260,7 @@ public class CarrierInfoServiceImpl extends ServiceImpl<CarrierInfoMapper, HyCar
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
- public String unLoadingAdd(HyCarrierInfo hyCarrierInfo) {
|
|
|
|
|
|
+ public String unLoadingAdd(HyCarrierInfo hyCarrierInfo) throws ParseException {
|
|
//根据id查询承运信息
|
|
//根据id查询承运信息
|
|
HyCarrierInfo hyCarrierInfo1 = this.selectById(hyCarrierInfo.getId());
|
|
HyCarrierInfo hyCarrierInfo1 = this.selectById(hyCarrierInfo.getId());
|
|
if (hyCarrierInfo != null) {
|
|
if (hyCarrierInfo != null) {
|
|
@@ -274,30 +274,125 @@ public class CarrierInfoServiceImpl extends ServiceImpl<CarrierInfoMapper, HyCar
|
|
hyCarrierInfo.setStatusFlag(StatusEnum.SUBMITTED.getFlag());
|
|
hyCarrierInfo.setStatusFlag(StatusEnum.SUBMITTED.getFlag());
|
|
this.updateById(hyCarrierInfo);
|
|
this.updateById(hyCarrierInfo);
|
|
//司机确认卸车后,订单状态改为待货主确认卸车
|
|
//司机确认卸车后,订单状态改为待货主确认卸车
|
|
- OrderInfo orderInfo = orderInfoService.selectOne(new EntityWrapper<OrderInfo>()
|
|
|
|
- .eq("id", hyCarrierInfo1.getOrderId())
|
|
|
|
- .eq("delete_flag", "0"));
|
|
|
|
- if (orderInfo != null) {
|
|
|
|
- orderInfo.setOrderStatus(StatusEnum.OWNER_CONFIRMED_UNLOAD.getName());
|
|
|
|
- orderInfo.setOrderStatusKey(StatusEnum.OWNER_CONFIRMED_UNLOAD.getFlag());
|
|
|
|
- orderInfo.setCargoOwnerStatus(StatusEnum.CONFIRMED_UNLOAD.getName());
|
|
|
|
- orderInfo.setCargoOwnerStatusKey(StatusEnum.CONFIRMED_UNLOAD.getFlag());
|
|
|
|
- orderInfoService.updateById(orderInfo);
|
|
|
|
|
|
+ OrderInfo orderInfo1=orderInfoService.selectById(hyCarrierInfo1.getOrderId());
|
|
|
|
+ if (orderInfo1!=null) {
|
|
|
|
+ orderInfo1.setOrderStatus(StatusEnum.OWNER_CONFIRMED_UNLOAD.getName());
|
|
|
|
+ orderInfo1.setOrderStatusKey(StatusEnum.OWNER_CONFIRMED_UNLOAD.getFlag());
|
|
|
|
+ orderInfo1.setCargoOwnerStatus(StatusEnum.CONFIRMED_UNLOAD.getName());
|
|
|
|
+ orderInfo1.setCargoOwnerStatusKey(StatusEnum.CONFIRMED_UNLOAD.getFlag());
|
|
|
|
+ //查询货主是否为公司
|
|
|
|
+ if (orderInfo1.getCompId() != null && !orderInfo1.getCompId().isEmpty()) {
|
|
|
|
+ //查询该公司是否自动跳过平台审核
|
|
|
|
+ HyCompanyInfo hyCompanyInfo1 = companyInfoService.selectById(orderInfo1.getCompId());
|
|
|
|
+ if ("1".equals(hyCompanyInfo1.getSkipAudit())) {
|
|
|
|
+ //确认卸车,判断是否是垫付订单
|
|
|
|
+ if ("1".equals(orderInfo1.getFreightAdvance())) {
|
|
|
|
+ //确认卸车更改订单状态
|
|
|
|
+ orderInfo1.setOrderStatus(StatusEnum.DRIVER_ORDER_SETTLEMENT.getName());
|
|
|
|
+ orderInfo1.setOrderStatusKey(StatusEnum.DRIVER_ORDER_SETTLEMENT.getFlag());
|
|
|
|
+ orderInfo1.setCargoOwnerStatus(StatusEnum.OWNER_REPAID.getName());
|
|
|
|
+ orderInfo1.setCargoOwnerStatusKey(StatusEnum.OWNER_REPAID.getFlag());
|
|
|
|
+ } else {
|
|
|
|
+ orderInfo1.setOrderStatus(StatusEnum.DRIVER_ORDER_SETTLEMENT.getName());
|
|
|
|
+ orderInfo1.setOrderStatusKey(StatusEnum.DRIVER_ORDER_SETTLEMENT.getFlag());
|
|
|
|
+ orderInfo1.setCargoOwnerStatus(StatusEnum.OWNER_ORDER_FINISH.getName());
|
|
|
|
+ orderInfo1.setCargoOwnerStatusKey(StatusEnum.OWNER_ORDER_FINISH.getFlag());
|
|
|
|
+ }
|
|
|
|
+ //运费金额=单价 元/吨x装卸净重取小
|
|
|
|
+ hyCarrierInfo1.setTotalFreight((hyCarrierInfo.getUnloadingWeight()<hyCarrierInfo.getLoadingWeight()?hyCarrierInfo.getUnloadingWeight():hyCarrierInfo.getLoadingWeight())*orderInfo1.getFreight());
|
|
|
|
+ //查询费用信息
|
|
|
|
+ FreightInfo freightInfo = freightInfoService.selectOne(new EntityWrapper<FreightInfo>()
|
|
|
|
+ .eq("order_id", orderInfo1.getId()).eq("delete_flag", "0"));
|
|
|
|
+ //非垫付订单
|
|
|
|
+ if ("0".equals(orderInfo1.getFreightAdvance())) {
|
|
|
|
+ freightInfo.setActualFreight(hyCarrierInfo1.getTotalFreight());
|
|
|
|
+ freightInfo.setPayableFreight(freightInfo.getActualFreight());
|
|
|
|
+ freightInfo.setNopayableFreight(freightInfo.getPayableFreight() - freightInfo.getPayabledFreight());
|
|
|
|
+ freightInfo.setOwnerFreightBalance(freightInfo.getActualFreight() - freightInfo.getPrepaidFreight());
|
|
|
|
+ SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
+ String Time = df.format(new Date());
|
|
|
|
+ freightInfo.setOwnerFreightBalanceDate(df.parse(Time));
|
|
|
|
+ freightInfo.setTotalCollection(freightInfo.getActualFreight() - freightInfo.getDriverServiceCharge());
|
|
|
|
+ freightInfo.setTotalPayment(freightInfo.getActualFreight() + freightInfo.getOwnerServiceCharge());
|
|
|
|
+
|
|
|
|
+ //生成货主冻结金额流向信息
|
|
|
|
+ HyFreezingMoneyInfo hyFreezingMoneyInfo = new HyFreezingMoneyInfo();
|
|
|
|
+ hyFreezingMoneyInfo.setId(IdGenerator.generateUUID());
|
|
|
|
+ hyFreezingMoneyInfo.setOrderId(orderInfo1.getId());
|
|
|
|
+ hyFreezingMoneyInfo.setType("扣除");
|
|
|
|
+ hyFreezingMoneyInfo.setAmountMoney(freightInfo.getOwnerFreightBalance() + freightInfo.getOwnerServiceCharge());
|
|
|
|
+ //将货主冻结金额减去
|
|
|
|
+ Double d1 = hyCompanyInfo1.getFrozenAmount();
|
|
|
|
+ hyCompanyInfo1.setFrozenAmount(d1 - freightInfo.getOwnerFreightBalance() - freightInfo.getOwnerServiceCharge());
|
|
|
|
+ companyInfoService.updateById(hyCompanyInfo1);
|
|
|
|
+ hyFreezingMoneyInfo.setCompanyId(hyCompanyInfo1.getId());
|
|
|
|
+ //生成货主账单信息
|
|
|
|
+ HyCargoOwnerCapitalInfo hyCargoOwnerCapitalInfo = new HyCargoOwnerCapitalInfo();
|
|
|
|
+ hyCargoOwnerCapitalInfo.setId(IdGenerator.generateUUID());
|
|
|
|
+ hyCargoOwnerCapitalInfo.setCompanyId(hyCompanyInfo1.getId());
|
|
|
|
+ hyCargoOwnerCapitalInfo.setTypes("支付尾款");
|
|
|
|
+ hyCargoOwnerCapitalInfo.setAmountMoney(freightInfo.getOwnerFreightBalance() + freightInfo.getOwnerServiceCharge());
|
|
|
|
+ hyCargoOwnerCapitalInfo.setOrderId(orderInfo1.getId());
|
|
|
|
+ hyCargoOwnerCapitalInfo.setOrderNo(orderInfo1.getOrderNo());
|
|
|
|
+ hyCargoOwnerCapitalInfoService.insert(hyCargoOwnerCapitalInfo);
|
|
|
|
+ hyFreezingMoneyInfoService.insert(hyFreezingMoneyInfo);
|
|
|
|
+ //计算公司累计支付运费
|
|
|
|
+ HyCompanyInfo hyCompanyInfo = companyInfoService.selectById(orderInfo1.getCompId());
|
|
|
|
+ if (hyCompanyInfo != null) {
|
|
|
|
+ Double d3 = hyCompanyInfo.getAccumulatedFreight();
|
|
|
|
+ hyCompanyInfo.setAccumulatedFreight(d3 + freightInfo.getOwnerFreightBalance() + freightInfo.getOwnerServiceCharge());
|
|
|
|
+ companyInfoService.updateById(hyCompanyInfo);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //垫付订单
|
|
|
|
+ else {
|
|
|
|
+ freightInfo.setPayableFreight(freightInfo.getActualFreight() - freightInfo.getDriverServiceCharge());
|
|
|
|
+ freightInfo.setNopayableFreight(freightInfo.getPayableFreight() - freightInfo.getPayabledFreight());
|
|
|
|
+ freightInfo.setTotalCollection(freightInfo.getPayableFreight());
|
|
|
|
+ }
|
|
|
|
+ freightInfoService.updateById(freightInfo);
|
|
|
|
+ //生成司机运费结算信息
|
|
|
|
+ HyFreightSettlementInfo hyFreightSettlementInfo = new HyFreightSettlementInfo();
|
|
|
|
+ hyFreightSettlementInfo.setId(IdGenerator.generateUUID());
|
|
|
|
+ hyFreightSettlementInfo.setCommonId(orderInfo1.getCommonId());
|
|
|
|
+ hyFreightSettlementInfo.setOrderId(orderInfo1.getId());
|
|
|
|
+ hyFreightSettlementInfo.setOrderNo(orderInfo1.getOrderNo());
|
|
|
|
+ hyFreightSettlementInfo.setDocumentNo(orderInfo1.getOrderNo().replace("CY", "ZJLS"));
|
|
|
|
+ hyFreightSettlementInfo.setFreightAdvance(orderInfo1.getFreightAdvance());
|
|
|
|
+ hyFreightSettlementInfo.setDriverName(orderInfo1.getDriverName());
|
|
|
|
+ hyFreightSettlementInfo.setPayeeName(orderInfo1.getPayeeName());
|
|
|
|
+ hyFreightSettlementInfo.setPayeeIdCard(orderInfo1.getPayeeIdCard());
|
|
|
|
+ if (orderInfo1.getCarCaptainCommonId() != null && !orderInfo1.getCarCaptainCommonId().isEmpty()) {
|
|
|
|
+ hyFreightSettlementInfo.setCarCaptainCommonId(orderInfo1.getCarCaptainCommonId());
|
|
|
|
+ }
|
|
|
|
+ hyFreightSettlementInfo.setBankCard(orderInfo1.getBankCard());
|
|
|
|
+ hyFreightSettlementInfo.setBankDeposit(orderInfo1.getBankDeposit());
|
|
|
|
+ hyFreightSettlementInfo.setBankDepositBranch(orderInfo1.getBankDepositBranch());
|
|
|
|
+ hyFreightSettlementInfo.setPaymentType("尾款");
|
|
|
|
+ if (freightInfo.getPrepaidFreight() == null) {
|
|
|
|
+ throw new YException(YExceptionEnum.PAY_ADVANCE_PAYMENT);
|
|
|
|
+ }
|
|
|
|
+ hyFreightSettlementInfo.setAmountMoney(freightInfo.getActualFreight() - freightInfo.getPrepaidFreight() - freightInfo.getDriverServiceCharge());
|
|
|
|
+ hyFreightSettlementInfo.setStatusKey(StatusEnum.NO_PAYMENT.getFlag());
|
|
|
|
+ hyFreightSettlementInfo.setStatus(StatusEnum.NO_PAYMENT.getName());
|
|
|
|
+ hyFreightSettlementInfoService.insert(hyFreightSettlementInfo);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ // 向货主发送信息
|
|
|
|
+ NewsInfo newsInfo = new NewsInfo();
|
|
|
|
+ newsInfo.setCrtCommonId(orderInfo1.getCommonId());
|
|
|
|
+ newsInfo.setReCommonId(orderInfo1.getCargoCommonId());
|
|
|
|
+ newsInfo.setNewsTitle("司机已卸车");
|
|
|
|
+ newsInfo.setNewsContent("司机 " + orderInfo1.getDriverName() + "已确认卸车,订单编号" + orderInfo1.getOrderNo() + "。");
|
|
|
|
+ newsInfo.setNumber(orderInfo1.getOrderNo());
|
|
|
|
+ newsInfo.setBussId(orderInfo1.getId());
|
|
|
|
+ newsInfo.setNewsTypeKey("2");
|
|
|
|
+ newsInfo.setNewsType("承运通知");
|
|
|
|
+ newsInfoService.addNewsInfo(newsInfo);
|
|
|
|
+ //个推
|
|
|
|
+ geTuiUtils.initGeTui(newsInfo.getReCommonId());
|
|
|
|
+ geTuiUtils.pushByCid(newsInfo.getNewsTitle(), newsInfo.getNewsContent(), newsInfo.getReCommonId());
|
|
}
|
|
}
|
|
- // 向货主发送信息
|
|
|
|
- NewsInfo newsInfo = new NewsInfo();
|
|
|
|
- newsInfo.setCrtCommonId(orderInfo.getCommonId());
|
|
|
|
- newsInfo.setReCommonId(orderInfo.getCargoCommonId());
|
|
|
|
- newsInfo.setNewsTitle("司机已卸车");
|
|
|
|
- newsInfo.setNewsContent("司机 " + orderInfo.getDriverName() + "已确认卸车,订单编号" + orderInfo.getOrderNo() + "。");
|
|
|
|
- newsInfo.setNumber(orderInfo.getOrderNo());
|
|
|
|
- newsInfo.setBussId(orderInfo.getId());
|
|
|
|
- newsInfo.setNewsTypeKey("2");
|
|
|
|
- newsInfo.setNewsType("承运通知");
|
|
|
|
- newsInfoService.addNewsInfo(newsInfo);
|
|
|
|
- //个推
|
|
|
|
- geTuiUtils.initGeTui(newsInfo.getReCommonId());
|
|
|
|
- geTuiUtils.pushByCid(newsInfo.getNewsTitle(),newsInfo.getNewsContent(),newsInfo.getReCommonId());
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return "OK";
|
|
return "OK";
|