package com.zy.asrs.wms.utils;
|
|
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;
|
|
@Component
|
public class OrderUtils {
|
|
@Autowired
|
private OrderService orderService;
|
@Autowired
|
private OrderDetlService orderDetlService;
|
|
@Transactional
|
public void updateWorkQty(Long orderDetlId, Double qty) {
|
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();
|
orderDetl.setWorkQty(workQty + qty);
|
orderDetl.setUpdateTime(new Date());
|
if (!orderDetlService.updateById(orderDetl)) {
|
throw new CoolException("订单明细更新失败");
|
}
|
|
|
order.setOrderSettle(OrderSettleType.WORKING.val());
|
order.setUpdateTime(new Date());
|
if(!orderService.updateById(order)) {
|
throw new CoolException("订单更新失败");
|
}
|
}
|
|
public Integer getIoPri() {
|
return 11;
|
}
|
|
}
|