Commit e02be106 authored by Administrator's avatar Administrator

Merge branch 'release' into 'jd_dev'

Release分支合并到jd分支20250104

See merge request !67
parents 616b53a5 80868350
package cn.iocoder.yudao.framework.apollo.core.event.warehouseIn;
import lombok.AllArgsConstructor;
import lombok.Data;
/**
* 入仓订单检查订单入仓异常 Event
*
* @author zhengYi
*/
@Data
@AllArgsConstructor
public class WarehouseInOrderCheckExceptionEvent {
/**
* 订单id
*/
private Long orderId;
}
package cn.iocoder.yudao.module.order.listener;
import cn.iocoder.yudao.framework.apollo.core.event.warehouseIn.WarehouseInOrderCheckExceptionEvent;
import cn.iocoder.yudao.module.order.service.orderWarehouseIn.OrderWarehouseInService;
import lombok.AllArgsConstructor;
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Component;
/**
* 入仓订单检查订单入仓异常监听
*
* @author zhengYi
*/
@Component("WarehouseInOrderCheckExceptionListener")
@AllArgsConstructor
public class WarehouseInOrderCheckExceptionListener {
private final OrderWarehouseInService orderWarehouseInService;
/**
* 入仓订单检查订单入仓异常更新业务
*
* @param event 订单id
*/
@EventListener(WarehouseInOrderCheckExceptionEvent.class)
public void warehouseInOrderCheckExceptionEvent(WarehouseInOrderCheckExceptionEvent event) {
orderWarehouseInService.finishWarehouseInWhenCheckException(event.getOrderId());
}
}
......@@ -13,6 +13,7 @@ import cn.iocoder.yudao.framework.apollo.core.event.box.BoxCheckOrderRemoveLadin
import cn.iocoder.yudao.framework.apollo.core.event.box.BoxOrderDynamicEstTimeEvent;
import cn.iocoder.yudao.framework.apollo.core.event.warehouseIn.WarehouseInOrderChangeChannelEvent;
import cn.iocoder.yudao.framework.apollo.core.event.warehouseIn.WarehouseInOrderChangeTransportEvent;
import cn.iocoder.yudao.framework.apollo.core.event.warehouseIn.WarehouseInOrderCheckExceptionEvent;
import cn.iocoder.yudao.framework.common.util.spring.enums.UserTypeEnum;
import cn.iocoder.yudao.framework.common.util.bigDecimal.BigDecimalUtils;
import cn.iocoder.yudao.framework.dict.core.dto.DictDataRespDTO;
......@@ -2198,12 +2199,12 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl
throw exception(ORDER_UPDATE_APPROVAL_MUST_BE_WAREHOUSE_IN);
}
}
if (isShipment) {
// 出货阶段的修改,需要将当前订单状态值标出,放首位
ApplyInfoVO applyInfoVO = new ApplyInfoVO();
applyInfoVO.setName(statusName);
applyInfoList.addFirst(applyInfoVO);
}
// if (isShipment) {
// // 出货阶段的修改,需要将当前订单状态值标出,放首位
// ApplyInfoVO applyInfoVO = new ApplyInfoVO();
// applyInfoVO.setName(statusName);
// applyInfoList.addFirst(applyInfoVO);
// }
// 订单有修改则执行修改审批任务
vo.setApplyInfoList(applyInfoList);
orderApprovalDO = new OrderApprovalDO();
......@@ -4408,7 +4409,12 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl
currentOrderDO.setAuditResult(auditResult);
if (StringUtils.isNotBlank(auditResult)) {
// 获取固定中文说明描述
msg = I18nMessage.getZhMessage(auditResult);
// 这里针对订单修改审批业务需要补充,当订单在出货阶段进行编辑审批时,需要
msg = (((Objects.equals(auditResult,order_update_processing.getDesc())
|| Objects.equals(auditResult,order_update_pass.getDesc())
|| Objects.equals(auditResult,order_update_reject.getDesc())
|| Objects.equals(auditResult,order_update_cancel.getDesc()))
&& currentOrderDO.getShipmentState() > 0) ? OrderStatusEnum.valueOf(currentOrderDO.getStatus()).getNameZh().concat("-"): "").concat(I18nMessage.getZhMessage(auditResult));
}
if (auditType == 0) {
this.checkOrderProcessingApprovalType(currentOrderDO, auditType, auditResult);
......@@ -6016,8 +6022,10 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl
orderDO.setContainerNumber(null);
orderDO.setTidanNo(null);
orderMapper.updateById(orderDO);
// TODO 这里修改完订单后需要对订单当前待处理的相关异常进行判断,是否需要重置
// TODO 注意:重泡货异常如果需要重置,需要调用计价接口,重新计算价格(这里计算的价格是应收总额价格)
// 检查入仓异常信息自动处理
applicationContext.publishEvent(
new WarehouseInOrderCheckExceptionEvent(orderDO.getOrderId()));
// 处理控货信息
handleOrderCargoControl(consignorDO, orderDO);
// 重新计价
......
......@@ -64,6 +64,14 @@ public interface OrderWarehouseInService extends IService<OrderWarehouseInDO> {
*/
boolean finishWarehouseInWhenChangeTransportType(Long orderId);
/**
* 订单信息修改后需要检查订单入仓异常情况
*
* @param orderId
*/
void finishWarehouseInWhenCheckException(Long orderId);
/**
* 订单储位接口
*
......@@ -150,7 +158,6 @@ public interface OrderWarehouseInService extends IService<OrderWarehouseInDO> {
String updateOrUpdateApply(@Valid OrderWarehouseInUpdateApplyReqVO updateReqVO);
/**
* 出货阶段-追加申请
*
......@@ -264,11 +271,9 @@ public interface OrderWarehouseInService extends IService<OrderWarehouseInDO> {
WarehouseInInfoVO getStatisticsFirstFinishedAfterPacked(Long orderId);
List<OrderWarehouseInWithAttrVO> getOrderWarehouseInCommonAttrList(Long orderId, Long excludeOrderWarehouseInId);
/**
* 有订单,但客户类型不正确。故这里通过客户订单来修改客户状态
*/
......
......@@ -106,4 +106,9 @@ public class OrderWarehouseInFinishReqVO {
@Transient
private Boolean isAddOrderOperateLog = true;
//是否只单独重置异常
@Transient
private Boolean isOnlyResetException = false;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment