| | |
| | | package com.zy.asrs.wms.utils; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.zy.asrs.framework.exception.CoolException; |
| | | import com.zy.asrs.wms.asrs.entity.Order; |
| | | import com.zy.asrs.wms.asrs.entity.OrderDetl; |
| | | import com.zy.asrs.wms.asrs.entity.enums.OrderSettleType; |
| | | import com.zy.asrs.wms.asrs.service.OrderDetlService; |
| | | import com.zy.asrs.wms.asrs.service.OrderService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | @Component |
| | | public class OrderUtils { |
| | | |
| | | @Autowired |
| | | private OrderService orderService; |
| | | @Autowired |
| | | private OrderDetlService orderDetlService; |
| | | |
| | | @Transactional |
| | | public void updateWorkQty(Long orderDetlId, Double qty) { |
| | | updateWorkQty(orderDetlId, qty, true); |
| | | } |
| | | |
| | | @Transactional |
| | | public void updateWorkQty(Long orderDetlId, Double qty, boolean increase) { |
| | | OrderDetl orderDetl = orderDetlService.getById(orderDetlId); |
| | | if (orderDetl == null) { |
| | | throw new CoolException("订单明细不存在"); |
| | | } |
| | | |
| | | Order order = orderService.getById(orderDetl.getOrderId()); |
| | | if (order == null) { |
| | | throw new CoolException("订单不存在"); |
| | | } |
| | | |
| | | if (order.getOrderSettle() == OrderSettleType.COMPLETE.val() |
| | | || order.getOrderSettle() == OrderSettleType.CANCEL.val() |
| | | || order.getOrderSettle() == OrderSettleType.WAIT_CANCEL.val() |
| | | || order.getOrderSettle() == OrderSettleType.REPORT_COMPLETE.val()) { |
| | | throw new CoolException("订单当前状态不可修改"); |
| | | } |
| | | |
| | | Double workQty = orderDetl.getWorkQty(); |
| | | if (increase) { |
| | | orderDetl.setWorkQty(workQty + qty); |
| | | }else { |
| | | orderDetl.setWorkQty(workQty - qty); |
| | | } |
| | | orderDetl.setUpdateTime(new Date()); |
| | | if (!orderDetlService.updateById(orderDetl)) { |
| | | throw new CoolException("订单明细更新失败"); |
| | | } |
| | | |
| | | List<OrderDetl> orderDetls = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>().eq(OrderDetl::getOrderId, order.getId())); |
| | | boolean flag = false; |
| | | for (OrderDetl detl : orderDetls) { |
| | | if ((detl.getQty() + detl.getWorkQty()) > 0) { |
| | | flag = true; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | if (flag) { |
| | | order.setOrderSettle(OrderSettleType.WORKING.val()); |
| | | } else { |
| | | order.setOrderSettle(OrderSettleType.WAIT.val()); |
| | | } |
| | | order.setUpdateTime(new Date()); |
| | | if (!orderService.updateById(order)) { |
| | | throw new CoolException("订单更新失败"); |
| | | } |
| | | } |
| | | |
| | | public Integer getIoPri() { |
| | | return 11; |
| | | } |
| | | |
| | | } |
| | | package com.zy.asrs.wms.utils;
|
| | |
|
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
| | | import com.zy.asrs.framework.exception.CoolException;
|
| | | import com.zy.asrs.wms.asrs.entity.Order;
|
| | | import com.zy.asrs.wms.asrs.entity.OrderDetl;
|
| | | import com.zy.asrs.wms.asrs.entity.enums.OrderSettleType;
|
| | | import com.zy.asrs.wms.asrs.service.OrderDetlService;
|
| | | import com.zy.asrs.wms.asrs.service.OrderService;
|
| | | import org.springframework.beans.factory.annotation.Autowired;
|
| | | import org.springframework.stereotype.Component;
|
| | | import org.springframework.transaction.annotation.Transactional;
|
| | |
|
| | | import java.util.Date;
|
| | | import java.util.List;
|
| | |
|
| | | @Component
|
| | | public class OrderUtils {
|
| | |
|
| | | @Autowired
|
| | | private OrderService orderService;
|
| | | @Autowired
|
| | | private OrderDetlService orderDetlService;
|
| | |
|
| | | @Transactional
|
| | | public void updateWorkQty(Long orderDetlId, Double qty) {
|
| | | updateWorkQty(orderDetlId, qty, true);
|
| | | }
|
| | |
|
| | | @Transactional
|
| | | public void updateWorkQty(Long orderDetlId, Double qty, boolean increase) {
|
| | | OrderDetl orderDetl = orderDetlService.getById(orderDetlId);
|
| | | if (orderDetl == null) {
|
| | | throw new CoolException("订单明细不存在");
|
| | | }
|
| | |
|
| | | Order order = orderService.getById(orderDetl.getOrderId());
|
| | | if (order == null) {
|
| | | throw new CoolException("订单不存在");
|
| | | }
|
| | |
|
| | | if (order.getOrderSettle() == OrderSettleType.COMPLETE.val()
|
| | | || order.getOrderSettle() == OrderSettleType.CANCEL.val()
|
| | | || order.getOrderSettle() == OrderSettleType.WAIT_CANCEL.val()
|
| | | || order.getOrderSettle() == OrderSettleType.REPORT_COMPLETE.val()) {
|
| | | throw new CoolException("订单当前状态不可修改");
|
| | | }
|
| | |
|
| | | Double workQty = orderDetl.getWorkQty();
|
| | | if (increase) {
|
| | | orderDetl.setWorkQty(workQty + qty);
|
| | | }else {
|
| | | orderDetl.setWorkQty(workQty - qty);
|
| | | }
|
| | | orderDetl.setUpdateTime(new Date());
|
| | | if (!orderDetlService.updateById(orderDetl)) {
|
| | | throw new CoolException("订单明细更新失败");
|
| | | }
|
| | |
|
| | | List<OrderDetl> orderDetls = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>().eq(OrderDetl::getOrderId, order.getId()));
|
| | | boolean flag = false;
|
| | | for (OrderDetl detl : orderDetls) {
|
| | | if ((detl.getQty() + detl.getWorkQty()) > 0) {
|
| | | flag = true;
|
| | | break;
|
| | | }
|
| | | }
|
| | |
|
| | | if (flag) {
|
| | | order.setOrderSettle(OrderSettleType.WORKING.val());
|
| | | } else {
|
| | | order.setOrderSettle(OrderSettleType.WAIT.val());
|
| | | }
|
| | | order.setUpdateTime(new Date());
|
| | | if (!orderService.updateById(order)) {
|
| | | throw new CoolException("订单更新失败");
|
| | | }
|
| | | }
|
| | |
|
| | | public Integer getIoPri() {
|
| | | return 11;
|
| | | }
|
| | |
|
| | | }
|