打印问题
This commit is contained in:
@@ -4,7 +4,9 @@ import com.czg.order.vo.OrderDetailPrintVo;
|
||||
import com.mybatisflex.core.BaseMapper;
|
||||
import com.czg.order.entity.OrderDetail;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Update;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -18,4 +20,10 @@ public interface OrderDetailMapper extends BaseMapper<OrderDetail> {
|
||||
|
||||
|
||||
List<OrderDetailPrintVo> getOrderDetailPrint(Long orderId);
|
||||
|
||||
@Update("UPDATE tb_order_detail SET status = #{status}, order_time = #{orderTime} " +
|
||||
"WHERE order_id = #{orderId} AND status = 'wait-pay'")
|
||||
int updateStatusByOrderId(@Param("orderId") Long orderId,
|
||||
@Param("status") String status,
|
||||
@Param("orderTime") LocalDateTime orderTime);
|
||||
}
|
||||
|
||||
@@ -92,13 +92,23 @@ public class FeiPrinter extends PrinterHandler implements PrinterImpl {
|
||||
if (StrUtil.isNotBlank(machine.getPrintQty())) {
|
||||
printerNum = machine.getPrintQty().split("\\^")[1];
|
||||
}
|
||||
BigDecimal refundAmount = BigDecimal.ZERO;
|
||||
for (OrderDetail orderDetail : detailList) {
|
||||
refundAmount = refundAmount.add(orderDetail.getReturnAmount());
|
||||
}
|
||||
|
||||
PrintInfoDTO printInfoDTO = new PrintInfoDTO().setShopName(shopInfo.getShopName())
|
||||
.setPrintType("普通打印").setPickupNum(getPickupNum(orderInfo))
|
||||
.setOrderNo(orderInfo.getOrderNo()).setTradeDate(DateUtil.format(orderInfo.getCreateTime(), "yyyy-MM-dd HH:mm:ss")).setOperator("【POS-1】001").setPayAmount(orderInfo.getPayAmount().toPlainString())
|
||||
.setOriginalAmount((orderInfo.getOriginAmount().add(orderInfo.getSeatAmount()).add(orderInfo.getPackFee())).toPlainString()).setReturn(isReturn(orderInfo))
|
||||
.setBalance(balance).setPayType((ObjectUtil.isEmpty(orderInfo.getPayType()) || ObjectUtil.isNull(orderInfo.getPayType()) ? "" : orderInfo.getPayType())).setIntegral("0")
|
||||
.setOutNumber(orderInfo.getTakeCode()).setPrintTitle("结算单")
|
||||
.setOrderNo(orderInfo.getOrderNo())
|
||||
.setTradeDate(DateUtil.format(orderInfo.getCreateTime(), "yyyy-MM-dd HH:mm:ss"))
|
||||
.setOperator("【POS-1】001").setPayAmount(orderInfo.getPayAmount().toPlainString())
|
||||
.setOriginalAmount((orderInfo.getOriginAmount().add(orderInfo.getSeatAmount()).add(orderInfo.getPackFee()).subtract(refundAmount)).toPlainString())
|
||||
.setReturn(isReturn(orderInfo))
|
||||
.setBalance(balance)
|
||||
.setPayType((ObjectUtil.isEmpty(orderInfo.getPayType()) || ObjectUtil.isNull(orderInfo.getPayType()) ? "" : orderInfo.getPayType()))
|
||||
.setIntegral("0")
|
||||
.setOutNumber(orderInfo.getTakeCode())
|
||||
.setPrintTitle("结算单")
|
||||
.setRemark(orderInfo.getRemark())
|
||||
// 使用累计的总优惠金额,如果为 null 则用原价减去实付计算
|
||||
.setDiscountAmount(calculateDiscountAmount(orderInfo));
|
||||
|
||||
@@ -156,11 +156,16 @@ public class YxyPrinter extends PrinterHandler implements PrinterImpl {
|
||||
.eq(OrderInfo::getStatus, OrderStatusEnums.DONE.getCode())
|
||||
.eq(OrderInfo::getShopId, orderInfo.getShopId())
|
||||
.le(OrderInfo::getCreateTime, orderInfo.getCreateTime()));
|
||||
BigDecimal refundAmount = BigDecimal.ZERO;
|
||||
for (OrderDetail orderDetail : detailList) {
|
||||
refundAmount = refundAmount.add(orderDetail.getReturnAmount());
|
||||
}
|
||||
PrintInfoDTO printInfoDTO = new PrintInfoDTO().setShopName(shopInfo.getShopName())
|
||||
.setPrintType("普通打印").setPickupNum(getPickupNum(orderInfo))
|
||||
.setOrderNo(orderInfo.getOrderNo()).setTradeDate(DateUtil.format(orderInfo.getCreateTime(), "yyyy-MM-dd HH:mm:ss"))
|
||||
.setOperator("【POS-1】001").setPayAmount(orderInfo.getPayAmount().toPlainString())
|
||||
.setOriginalAmount((orderInfo.getOriginAmount().add(orderInfo.getSeatAmount()).add(orderInfo.getPackFee())).toPlainString()).setReturn(isReturn(orderInfo))
|
||||
.setOriginalAmount((orderInfo.getOriginAmount().add(orderInfo.getSeatAmount()).add(orderInfo.getPackFee()).subtract(refundAmount)).toPlainString())
|
||||
.setReturn(isReturn(orderInfo))
|
||||
.setBalance(balance).setPayType((ObjectUtil.isEmpty(orderInfo.getPayType()) || ObjectUtil.isNull(orderInfo.getPayType()) ? "" : orderInfo.getPayType())).setIntegral("0")
|
||||
.setOutNumber(orderInfo.getTakeCode())
|
||||
.setPrintTitle(isPre ? "预结算单" : "结算单")
|
||||
|
||||
@@ -35,13 +35,6 @@ public class OrderDetailServiceImpl extends ServiceImpl<OrderDetailMapper, Order
|
||||
|
||||
@Override
|
||||
public void updateOrderDetailStatus(Long orderId,String status) {
|
||||
|
||||
OrderDetail orderDetail = new OrderDetail();
|
||||
orderDetail.setStatus(status);
|
||||
orderDetail.setOrderTime(LocalDateTime.now());
|
||||
update(orderDetail, QueryWrapper.create()
|
||||
.eq(OrderDetail::getOrderId,orderId)
|
||||
.eq(OrderDetail::getStatus,"wait-pay")
|
||||
);
|
||||
getMapper().updateStatusByOrderId(orderId, status, LocalDateTime.now());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user