|  |  | @ -1,17 +1,23 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  | package com.glxp.api.service.inout.impl; |  |  |  | package com.glxp.api.service.inout.impl; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import cn.hutool.core.collection.CollUtil; | 
			
		
	
		
		
			
				
					
					|  |  |  | import cn.hutool.core.util.IdUtil; |  |  |  | import cn.hutool.core.util.IdUtil; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import cn.hutool.core.util.StrUtil; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |  |  |  | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |  |  |  | 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.dao.inout.IoOrderInvoiceMapper; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.entity.inout.IoOrderDetailCodeEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.entity.inout.IoOrderInvoiceEntity; |  |  |  | import com.glxp.api.entity.inout.IoOrderInvoiceEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.req.inout.IoOrderInvoiceRequest; |  |  |  | import com.glxp.api.req.inout.IoOrderInvoiceRequest; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.res.inout.IoOrderResponse; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.service.inout.IoOrderInvoiceService; |  |  |  | import com.glxp.api.service.inout.IoOrderInvoiceService; | 
			
		
	
		
		
			
				
					
					|  |  |  | import org.springframework.beans.BeanUtils; |  |  |  | import org.springframework.beans.BeanUtils; | 
			
		
	
		
		
			
				
					
					|  |  |  | import org.springframework.stereotype.Service; |  |  |  | import org.springframework.stereotype.Service; | 
			
		
	
		
		
			
				
					
					|  |  |  | import org.springframework.transaction.annotation.Transactional; |  |  |  | import org.springframework.transaction.annotation.Transactional; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | import javax.annotation.Resource; |  |  |  | import javax.annotation.Resource; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import java.math.BigDecimal; | 
			
		
	
		
		
			
				
					
					|  |  |  | import java.util.Date; |  |  |  | import java.util.Date; | 
			
		
	
		
		
			
				
					
					|  |  |  | import java.util.List; |  |  |  | import java.util.List; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -20,6 +26,8 @@ import java.util.List; | 
			
		
	
		
		
			
				
					
					|  |  |  | public class IoOrderInvoiceServiceImpl extends ServiceImpl<IoOrderInvoiceMapper, IoOrderInvoiceEntity> implements IoOrderInvoiceService { |  |  |  | public class IoOrderInvoiceServiceImpl extends ServiceImpl<IoOrderInvoiceMapper, IoOrderInvoiceEntity> implements IoOrderInvoiceService { | 
			
		
	
		
		
			
				
					
					|  |  |  |     @Resource |  |  |  |     @Resource | 
			
		
	
		
		
			
				
					
					|  |  |  |     IoOrderInvoiceMapper ioOrderInvoiceMapper; |  |  |  |     IoOrderInvoiceMapper ioOrderInvoiceMapper; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     @Resource | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     IoOrderDetailCodeDao orderDetailCodeDao; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     @Override |  |  |  |     @Override | 
			
		
	
		
		
			
				
					
					|  |  |  |     public List<IoOrderInvoiceEntity> findByBillNo(String orderIdFk) { |  |  |  |     public List<IoOrderInvoiceEntity> findByBillNo(String orderIdFk) { | 
			
		
	
	
		
		
			
				
					|  |  | @ -51,4 +59,41 @@ public class IoOrderInvoiceServiceImpl extends ServiceImpl<IoOrderInvoiceMapper, | 
			
		
	
		
		
			
				
					
					|  |  |  |     public List<IoOrderInvoiceEntity> selectOrderInvoice(IoOrderInvoiceRequest ioOrderInvoiceRequest) { |  |  |  |     public List<IoOrderInvoiceEntity> selectOrderInvoice(IoOrderInvoiceRequest ioOrderInvoiceRequest) { | 
			
		
	
		
		
			
				
					
					|  |  |  |         return ioOrderInvoiceMapper.selectOrderInvoice(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; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
	
		
		
			
				
					|  |  | 
 |