|
|
|
@ -1,17 +1,23 @@
|
|
|
|
|
package com.glxp.api.service.inout.impl;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
|
|
import cn.hutool.core.util.IdUtil;
|
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
|
import com.glxp.api.dao.inout.IoOrderDetailCodeDao;
|
|
|
|
|
import com.glxp.api.dao.inout.IoOrderInvoiceMapper;
|
|
|
|
|
import com.glxp.api.entity.inout.IoOrderDetailCodeEntity;
|
|
|
|
|
import com.glxp.api.entity.inout.IoOrderInvoiceEntity;
|
|
|
|
|
import com.glxp.api.req.inout.IoOrderInvoiceRequest;
|
|
|
|
|
import com.glxp.api.res.inout.IoOrderResponse;
|
|
|
|
|
import com.glxp.api.service.inout.IoOrderInvoiceService;
|
|
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
@ -20,6 +26,8 @@ import java.util.List;
|
|
|
|
|
public class IoOrderInvoiceServiceImpl extends ServiceImpl<IoOrderInvoiceMapper, IoOrderInvoiceEntity> implements IoOrderInvoiceService {
|
|
|
|
|
@Resource
|
|
|
|
|
IoOrderInvoiceMapper ioOrderInvoiceMapper;
|
|
|
|
|
@Resource
|
|
|
|
|
IoOrderDetailCodeDao orderDetailCodeDao;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<IoOrderInvoiceEntity> findByBillNo(String orderIdFk) {
|
|
|
|
@ -51,4 +59,41 @@ public class IoOrderInvoiceServiceImpl extends ServiceImpl<IoOrderInvoiceMapper,
|
|
|
|
|
public List<IoOrderInvoiceEntity> selectOrderInvoice(IoOrderInvoiceRequest ioOrderInvoiceRequest) {
|
|
|
|
|
return ioOrderInvoiceMapper.selectOrderInvoice(ioOrderInvoiceRequest);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public IoOrderResponse findRegStausByBillNo(IoOrderResponse orderResponse) {
|
|
|
|
|
List<IoOrderInvoiceEntity> orderInvoiceEntities = ioOrderInvoiceMapper.selectList(new QueryWrapper<IoOrderInvoiceEntity>().eq("orderIdFk", orderResponse.getBillNo()));
|
|
|
|
|
List<IoOrderDetailCodeEntity> orderDetailCodeEntities = orderDetailCodeDao.selectList(new QueryWrapper<IoOrderDetailCodeEntity>().eq("orderIdFk", orderResponse.getBillNo()));
|
|
|
|
|
if (CollUtil.isNotEmpty(orderDetailCodeEntities)) {
|
|
|
|
|
BigDecimal amount = new BigDecimal(0.00);
|
|
|
|
|
for (IoOrderDetailCodeEntity orderDetailCodeEntity : orderDetailCodeEntities) {
|
|
|
|
|
for (IoOrderInvoiceEntity orderInvoiceEntity : orderInvoiceEntities) {
|
|
|
|
|
if (StrUtil.trimToEmpty(orderInvoiceEntity.getBatchNo()).equals(StrUtil.trimToEmpty(orderDetailCodeEntity.getBatchNo()))
|
|
|
|
|
&& StrUtil.trimToEmpty(orderInvoiceEntity.getBindRlFk()).equals(StrUtil.trimToEmpty(orderDetailCodeEntity.getBindRlFk() + ""))) {
|
|
|
|
|
orderDetailCodeEntity.setRegStatus(true);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (orderDetailCodeEntity.getReCount() != 0 && orderDetailCodeEntity.getPrice() != null) {
|
|
|
|
|
amount = amount.add(new BigDecimal(orderDetailCodeEntity.getReCount()).multiply(orderDetailCodeEntity.getPrice()));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
orderResponse.setAllAmount(amount);
|
|
|
|
|
} else
|
|
|
|
|
return orderResponse;
|
|
|
|
|
|
|
|
|
|
int isAll = 0;
|
|
|
|
|
for (IoOrderDetailCodeEntity orderDetailCodeEntity : orderDetailCodeEntities) {
|
|
|
|
|
if (orderDetailCodeEntity.isRegStatus()) {
|
|
|
|
|
isAll++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (orderDetailCodeEntities.size() == isAll)
|
|
|
|
|
orderResponse.setInvoiceStatus(2);//已全部登记
|
|
|
|
|
else if (isAll > 0) {
|
|
|
|
|
orderResponse.setInvoiceStatus(1);//未全部登记
|
|
|
|
|
}
|
|
|
|
|
return orderResponse;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|