|  |  | @ -9,6 +9,7 @@ import com.glxp.api.admin.dao.business.InvSpaceDao; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.admin.dao.inventory.InvProductDetailDao; |  |  |  | import com.glxp.api.admin.dao.inventory.InvProductDetailDao; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.admin.entity.basic.UdiEntity; |  |  |  | import com.glxp.api.admin.entity.basic.UdiEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.admin.entity.basic.UdiInfoEntity; |  |  |  | import com.glxp.api.admin.entity.basic.UdiInfoEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.admin.entity.basic.UdiRelevanceEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.admin.entity.inout.IoCodeLostEntity; |  |  |  | import com.glxp.api.admin.entity.inout.IoCodeLostEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.admin.entity.inout.WarehouseEntity; |  |  |  | import com.glxp.api.admin.entity.inout.WarehouseEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.admin.entity.inventory.InvProductDetailEntity; |  |  |  | import com.glxp.api.admin.entity.inventory.InvProductDetailEntity; | 
			
		
	
	
		
		
			
				
					|  |  | @ -28,6 +29,7 @@ import com.glxp.api.common.util.ResultVOUtils; | 
			
		
	
		
		
			
				
					
					|  |  |  | import org.springframework.stereotype.Service; |  |  |  | import org.springframework.stereotype.Service; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | import javax.annotation.Resource; |  |  |  | import javax.annotation.Resource; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import java.util.ArrayList; | 
			
		
	
		
		
			
				
					
					|  |  |  | import java.util.Collections; |  |  |  | import java.util.Collections; | 
			
		
	
		
		
			
				
					
					|  |  |  | import java.util.List; |  |  |  | import java.util.List; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -158,6 +160,7 @@ public class InvProductDetailServiceImpl implements InvProductDetailService { | 
			
		
	
		
		
			
				
					
					|  |  |  |         List<UdiInfoEntity> udiInfoEntities = udiInfoService.findByUuids(udiInfoBean.getUuid()); |  |  |  |         List<UdiInfoEntity> udiInfoEntities = udiInfoService.findByUuids(udiInfoBean.getUuid()); | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (udiInfoBean != null) { |  |  |  |         if (udiInfoBean != null) { | 
			
		
	
		
		
			
				
					
					|  |  |  |             for (UdiInfoEntity udiInfoEntity : udiInfoEntities) { |  |  |  |             for (UdiInfoEntity udiInfoEntity : udiInfoEntities) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 udiInfoEntity.setRelId(udiInfoBean.getId() + ""); | 
			
		
	
		
		
			
				
					
					|  |  |  |                 if (udiInfoBean.getIsUseDy() == 1) { |  |  |  |                 if (udiInfoBean.getIsUseDy() == 1) { | 
			
		
	
		
		
			
				
					
					|  |  |  |                     if (udiInfoEntity.getDiType() == ConstantStatus.DITYPE_SYDY) { |  |  |  |                     if (udiInfoEntity.getDiType() == ConstantStatus.DITYPE_SYDY) { | 
			
		
	
		
		
			
				
					
					|  |  |  |                         return udiInfoEntity; |  |  |  |                         return udiInfoEntity; | 
			
		
	
	
		
		
			
				
					|  |  | @ -167,7 +170,7 @@ public class InvProductDetailServiceImpl implements InvProductDetailService { | 
			
		
	
		
		
			
				
					
					|  |  |  |                         return udiInfoEntity; |  |  |  |                         return udiInfoEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  |                     } |  |  |  |                     } | 
			
		
	
		
		
			
				
					
					|  |  |  |                 } |  |  |  |                 } | 
			
		
	
		
		
			
				
					
					|  |  |  |                 udiInfoEntity.setRelId(udiInfoBean.getId() + ""); |  |  |  | 
 | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |         return null; |  |  |  |         return null; | 
			
		
	
	
		
		
			
				
					|  |  | @ -181,37 +184,36 @@ public class InvProductDetailServiceImpl implements InvProductDetailService { | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (StrUtil.isEmpty(code)) { |  |  |  |         if (StrUtil.isEmpty(code)) { | 
			
		
	
		
		
			
				
					
					|  |  |  |             return 0; |  |  |  |             return 0; | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         IoCodeLostEntity codeLostEntity = codeLostService.findByCode(code); |  |  |  |         IoCodeLostEntity codeLostEntity = codeLostService.findByCode(code); | 
			
		
	
		
		
			
				
					
					|  |  |  |         FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); |  |  |  |         FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); | 
			
		
	
		
		
			
				
					
					|  |  |  |         UdiInfoEntity udiInfoEntity = getMinDi(code); |  |  |  |         UdiInfoEntity udiInfoEntity = getMinDi(code); | 
			
		
	
		
		
			
				
					
					|  |  |  |         UdiEntity udiEntity = FilterUdiUtils.getUdi(code); |  |  |  |         UdiEntity udiEntity = FilterUdiUtils.getUdi(code); | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (codeLostEntity != null) { |  |  |  |         if (StrUtil.isEmpty(udiEntity.getBatchNo()) && codeLostEntity != null) { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             udiEntity.setBatchNo(codeLostEntity.getBatchNo()); |  |  |  |             udiEntity.setBatchNo(codeLostEntity.getBatchNo()); | 
			
		
	
		
		
			
				
					
					|  |  |  |             udiEntity.setExpireDate(codeLostEntity.getExpireDate()); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             udiEntity.setProduceDate(codeLostEntity.getProduceDate()); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |         if (StrUtil.isEmpty(udiEntity.getBatchNo())) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         if (udiInfoEntity.getDiType() == ConstantStatus.DITYPE_PACK || udiInfoEntity.getDiType() == ConstantStatus.DITYPE_SYDY |  |  |  |             udiEntity.setBatchNo("empty"); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 || (udiInfoEntity.getSjcpbm() != null && !"".equals(udiInfoEntity.getSjcpbm()))) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             udiEntity.setUdi(udiInfoEntity.getNameCode()); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             code = FilterUdiUtils.transGlxpNoSerStr(udiEntity); |  |  |  |  | 
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |         udiEntity.setUdi(udiInfoEntity.getNameCode()); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         String glxpCode = FilterUdiUtils.transGlxpNoSerStr(udiEntity); | 
			
		
	
		
		
			
				
					
					|  |  |  |         filterInvProductDetailRequest.setOriginCode(null); |  |  |  |         filterInvProductDetailRequest.setOriginCode(null); | 
			
		
	
		
		
			
				
					
					|  |  |  |         filterInvProductDetailRequest.setCode(code); |  |  |  |         List<InvProductDetailEntity> datas = new ArrayList<>(); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         if (StrUtil.isNotEmpty(udiEntity.getBatchNo())) |  |  |  |         //1.根据产品ID获取库存
 | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         List<UdiRelevanceEntity> udiRelevanceEntities = udiRelevanceService.selectGroupByNameCode(udiEntity.getUdi()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         if (CollUtil.isNotEmpty(udiRelevanceEntities) && udiRelevanceEntities.size() == 1) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             filterInvProductDetailRequest.setProductIdFk(udiRelevanceEntities.get(0).getId()); | 
			
		
	
		
		
			
				
					
					|  |  |  |             filterInvProductDetailRequest.setBatchNo(udiEntity.getBatchNo()); |  |  |  |             filterInvProductDetailRequest.setBatchNo(udiEntity.getBatchNo()); | 
			
		
	
		
		
			
				
					
					|  |  |  |         else |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             filterInvProductDetailRequest.setBatchNo("empty"); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         filterInvProductDetailRequest.setProductionDate(udiEntity.getProduceDate()); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         filterInvProductDetailRequest.setExpireDate(udiEntity.getExpireDate()); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         List<InvProductDetailEntity> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             datas = invProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest); |  |  |  |             datas = invProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest); | 
			
		
	
		
		
			
				
					
					|  |  |  | //        }
 |  |  |  |         } else { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             filterInvProductDetailRequest.setCode(glxpCode); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             datas = invProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             if (CollUtil.isEmpty(datas)) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 filterInvProductDetailRequest.setCode(code); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 datas = invProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |         int count = 0; |  |  |  |         int count = 0; | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (CollUtil.isNotEmpty(datas)) { |  |  |  |         if (CollUtil.isNotEmpty(datas)) { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             for (InvProductDetailEntity invProductDetailEntity : datas) { |  |  |  |             for (InvProductDetailEntity invProductDetailEntity : datas) { | 
			
		
	
		
		
			
				
					
					|  |  |  |                 if (invProductDetailEntity.getMainAction().equals(ConstantType.TYPE_PUT)) |  |  |  |                 if (invProductDetailEntity.getMainAction().equals(ConstantType.TYPE_PUT)) | 
			
		
	
		
		
			
				
					
					|  |  |  |                     count = count + invProductDetailEntity.getCount(); |  |  |  |                     count = count + invProductDetailEntity.getCount(); | 
			
		
	
	
		
		
			
				
					|  |  | 
 |