package com.glxp.api.service.collect; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.github.pagehelper.PageHelper; import com.glxp.api.constant.Constant; import com.glxp.api.entity.collect.IoCollectOrder; import com.glxp.api.req.collect.AddInvDesDetaiRequest; import com.glxp.api.req.collect.CollectOrderRequest; import com.glxp.api.req.collect.IoSplitDesOrderRequest; import com.glxp.api.res.collect.IoCollectOrderResponse; import com.glxp.api.res.collect.IoSplitDesOrderResponse; import com.glxp.api.util.GennerOrderUtils; import com.glxp.api.util.OrderNoTypeBean; import org.apache.groovy.util.BeanUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Collections; import java.util.Date; import java.util.List; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.glxp.api.entity.collect.IoSplitDesOrder; import com.glxp.api.dao.collect.IoSplitDesOrderMapper; @Service public class IoSplitDesOrderService extends ServiceImpl { @Resource IoSplitDesOrderMapper splitDesOrderMapper; @Resource GennerOrderUtils gennerOrderUtils; public List filterList(IoSplitDesOrderRequest splitDesOrderRequest) { if (splitDesOrderRequest == null) { return Collections.emptyList(); } if (splitDesOrderRequest.getPage() != null) { int offset = (splitDesOrderRequest.getPage() - 1) * splitDesOrderRequest.getLimit(); PageHelper.offsetPage(offset, splitDesOrderRequest.getLimit()); } List data = splitDesOrderMapper.filterList(splitDesOrderRequest); return data; } public IoSplitDesOrder getByBillNo(String billNo) { return splitDesOrderMapper.selectOne(new LambdaQueryWrapper().eq(IoSplitDesOrder::getBillNo, billNo).last("limit 1")); } public IoSplitDesOrder addInv(AddInvDesDetaiRequest addInvDesDetaiRequest) { IoSplitDesOrder collectOrder; if (StrUtil.isNotEmpty(addInvDesDetaiRequest.getBillNo())) { collectOrder = getByBillNo(addInvDesDetaiRequest.getBillNo()); } else { collectOrder = new IoSplitDesOrder(); String orderNo = gennerOrderUtils.createWdOrderNo(new OrderNoTypeBean(Constant.SPLIT_DES_ORDER, "yyyyMMdd")); collectOrder.setBillNo(orderNo); } // TODO 添加到单据详情 return collectOrder; } }