提交 ea2534ec authored 作者: jiangwujie's avatar jiangwujie

Merge branch 'v21.1_jianzhuang_20240807' into release

......@@ -272,6 +272,9 @@ public class OrderChildVO {
@ApiModelProperty(value = "监装联系人电话")
private String superviseMobile;
@ApiModelProperty(value = "是否解除监装限制 0 未解除 1 解除")
private Integer removeLoadLimitStatus;
@ApiModelProperty(value = "发货地采样照片")
public List<String> getSendSamplingPicList() {
......
......@@ -749,7 +749,7 @@ public class OrderCancelServiceImpl implements OrderCancelService {
OrderChildEnum.Status.ARRIVE_SEND.getCode(),
OrderChildEnum.Status.UNLOAD.getCode())
.contains(orderChild.getStatus())) {
log.error("运单:{} 状态:{}不在【装车成功】【前往目的地】【到达目的地】【收货待确认】范围中,不允许取消", orderChildNo, orderChild.getStatus());
log.info("运单:{} 状态:{}不在【装车成功】【前往目的地】【到达目的地】【收货待确认】范围中,不允许取消", orderChildNo, orderChild.getStatus());
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_CANCEL_FORBID, "不可操作");
}
......@@ -812,7 +812,7 @@ public class OrderCancelServiceImpl implements OrderCancelService {
}
@Override
// todo :jiangwujie 事务判断 ,其他也检查一下
@Transactional(rollbackFor = Exception.class)
public void removeLoadLimit(ArtificialCancelOrderParam param) {
OrderChild orderChild = orderChildDao.getByChildNo(param.getOrderChildNo()).orElseThrow(PerformanceResultEnum.ORDER_CHILD_NO_FOUND);
//判断运单状态【已接单】【前往货源地】【到达货源地】时可对该运单解除装车限制,否则toast:不可操作
......@@ -820,7 +820,6 @@ public class OrderCancelServiceImpl implements OrderCancelService {
OrderChildEnum.Status.GO_TO_SEND.getCode(),
OrderChildEnum.Status.ARRIVE_SEND.getCode())
.contains(orderChild.getStatus())) {
//todo log.error 检查一下
log.info("运单:{} 状态:{}不在【已接单】【前往货源地】【到达货源地】范围中,不允许解除装车限制", param.getOrderChildNo(), orderChild.getStatus());
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_CANCEL_FORBID, "不可操作");
}
......
......@@ -3306,7 +3306,9 @@ public class OrderChildServiceImpl implements OrderChildService {
log.info("运单号:{},卡车:{},status:{},站点经度:{},站点纬度:{},卡车经度:{},卡车纬度:{},距离:{}", orderGoodsNo, truckNo, child.getStatus(), siteLongitudeX, siteLatitudeY, truckLongitudeX, truckLatitudeY, distance);
// 超出货源地+通知触发距离
if (distance > driverNoticeConfigVO.getNoticeTriggerDistanceMeter()) {
if (Objects.equals(child.getExitNoticeStatus(), OrderChildEnum.ExitNoticeStatus.NOT_NOTIFIED.getCode())
// 运单驶入过1km且通知状态为未通知
if (Objects.equals(child.getEnterExitSendStatus(), OrderChildEnum.EnterExitSendStatus.DRIVE_IN.getCode()) &&
Objects.equals(child.getExitNoticeStatus(), OrderChildEnum.ExitNoticeStatus.NOT_NOTIFIED.getCode())
) {
//超出货源地x公里范围了,且通知状态为未通知
// 到达货源地
......@@ -3541,56 +3543,17 @@ public class OrderChildServiceImpl implements OrderChildService {
public NeedAlertSuperviseInfoResultVO needAlertSuperviseInfo(NeedAlertSuperviseInfoParam param) {
//查询运单信息
OrderChild orderChild = orderChildDao.getByChildNo(param.getChildNo()).orElseThrow(DATA_NOT_FIND);
SuperviseInfo superviseInfo = getSuperviseInfoWithSubStatus(orderChild.getOrderNo(), orderChild.getChildNo(), orderChild.getTruckNo());
//返回对象
NeedAlertSuperviseInfoResultVO result = new NeedAlertSuperviseInfoResultVO();
App app = appConfig.getPurchaseManageApp();//对接马上来供应链配置信息
//组装配置信息
RequestConfig config = new RequestConfig()
.setAppId(app.getAppNo())
.setAppKey(app.getAppKey())
.setGatewayUrl(app.getCallback());
//通过订单号查询监装监卸信息
SupplyChainSupervisionLoadAction action = new SupplyChainSupervisionLoadAction();
action.setOrderNo(orderChild.getOrderNo());
action.setType(param.getType());
log.info("请求获取监装监卸信息参数,{}",action);
Result<SupervisionLoadInfoDto> supervisionLoadInfoDto = OpenClient.doAction(config, action);
if(!supervisionLoadInfoDto.succeed()){//接口调用失败
result.setNeedAlert(0);
return result;
//throw new ServiceSystemException(PerformanceResultEnum.HTTP_ERROR, "获取监装监卸信息失败");
}
SupervisionLoadInfoDto supervisionLoadInfo = supervisionLoadInfoDto.getData();//监装信息
if(Objects.nonNull(supervisionLoadInfo)){//有监装信息
//通过运单号查询监装监卸子任务状态
SupplyChainSupervisionLoadTruckAction truckAction = new SupplyChainSupervisionLoadTruckAction();
truckAction.setChildNo(param.getChildNo());
truckAction.setType(param.getType());
log.info("请求获取监装监卸子任务信息参数,{}",truckAction);
Result<SupervisionLoadTruckInfoDto> supervisionLoadTruckInfoDto = OpenClient.doAction(config, truckAction);
if(!supervisionLoadTruckInfoDto.succeed()){//接口调用失败
result.setNeedAlert(0);
return result;
//throw new ServiceSystemException(PerformanceResultEnum.HTTP_ERROR, "获取监装监卸信息子任务失败");
}
SupervisionLoadTruckInfoDto supervisionLoadTruckInfo = supervisionLoadTruckInfoDto.getData();
if(Objects.nonNull(supervisionLoadTruckInfo)){
if(supervisionLoadTruckInfo.getLoadStatus()){
result.setNeedAlert(1);
result.setLocation(supervisionLoadInfo.getTaskAddress());
result.setMobile(supervisionLoadInfo.getTaskMobile());
result.setSupervisor(supervisionLoadInfo.getTaskContracts());
if (superviseInfo != null) {
result.setNeedAlert(OrderChildEnum.NeedAlertEnum.FAIL.getCode());
result.setLocation(superviseInfo.getTaskAddress());
result.setMobile(superviseInfo.getSuperviseMobile());
result.setSupervisor(superviseInfo.getSuperviseContacts());
return result;
}
}
}
result.setNeedAlert(0);
result.setNeedAlert(OrderChildEnum.NeedAlertEnum.OK.getCode());
return result;
}
}
......@@ -173,7 +173,7 @@ public class OrderChildSqlProvider {
"send_address, receive_address, " +
"driver_user_no, driver_name, driver_mobile, " +
"truck_no, unload_pound_no, weight, " +
"cancel_remark, pound_status, status, " +
"cancel_remark, pound_status, status, remove_load_limit_status, " +
"DATE_FORMAT(load_deadline, '%Y-%m-%d %H:%i:%s') AS loadDeadline, " +
"DATE_FORMAT(create_time, '%Y-%m-%d %H:%i:%s') AS createTime, " +
"DATE_FORMAT(unload_time, '%Y-%m-%d %H:%i:%s') AS unloadTime ");
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论