diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java index 60e22d9e..bc365465 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java @@ -296,19 +296,38 @@ public class IoOrderController extends BaseController { if (StrUtil.isBlank(billNo)) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); } + IoOrderEntity orderEntity = orderService.findByBillNo(billNo); - if (StrUtil.isNotEmpty(orderEntity.getSupplementNo()) || StrUtil.isNotEmpty(orderEntity.getUllageSupNo())) { - return ResultVOUtils.error(500, "单据已补单,无法撤回!"); - } - if (orderEntity.getSyncStatus() != null && orderEntity.getSyncStatus() == 1) { - return ResultVOUtils.error(500, "单据已同步,无法撤回!"); - } + if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_AUDITED) { + if (StrUtil.isNotEmpty(orderEntity.getSupplementNo()) || StrUtil.isNotEmpty(orderEntity.getUllageSupNo())) { + return ResultVOUtils.error(500, "单据已补单,无法撤回!"); + } + if (orderEntity.getSyncStatus() != null && orderEntity.getSyncStatus() == 1) { + return ResultVOUtils.error(500, "单据已同步,无法撤回!"); + } + boolean result = orderService.rollbackOrder(billNo); + if (result) { + return ResultVOUtils.success(); + } + return ResultVOUtils.error(ResultEnum.NOT_NETWORK, "撤回失败"); + } else if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_CHECK_REW) { - boolean result = orderService.rollbackOrder(billNo); - if (result) { - return ResultVOUtils.success(); + orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK_SUCCESS); + orderService.update(orderEntity); + return ResultVOUtils.success("撤回成功!"); + + } else if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_CHECK_SUCCESS) { + if (StrUtil.isBlank(billNo)) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + boolean result = orderService.rollbackUnReOrder(billNo); + if (result) { + return ResultVOUtils.success("撤回成功!"); + } + return ResultVOUtils.error(ResultEnum.NOT_NETWORK, "撤回失败"); } return ResultVOUtils.error(ResultEnum.NOT_NETWORK, "撤回失败"); + } diff --git a/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java b/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java index 940b6d74..cf0c2b33 100644 --- a/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java +++ b/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java @@ -96,6 +96,11 @@ public class IoOrderResponse { */ private Date updateTime; + /** + * 核对时间 + */ + private Date checkTime; + /** * 验收人 */