|  |  |  | @ -29,6 +29,7 @@ import com.glxp.api.service.basic.UdiProductService; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.service.basic.UdiRelevanceService; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.service.inout.IoSplitFifoCodeService; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.util.udi.FilterUdiUtils; | 
			
		
	
		
			
				
					|  |  |  |  | import org.apache.bcel.classfile.Code; | 
			
		
	
		
			
				
					|  |  |  |  | import org.springframework.beans.BeanUtils; | 
			
		
	
		
			
				
					|  |  |  |  | import org.springframework.stereotype.Service; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -84,12 +85,31 @@ public class IoCollectCodeBackService extends ServiceImpl<IoCollectCodeBackMappe | 
			
		
	
		
			
				
					|  |  |  |  |         if (orderBackup == null) { | 
			
		
	
		
			
				
					|  |  |  |  |             return ResultVOUtils.error(500, "订单不存在"); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         IoCollectOrderCheckCode one = ioCollectOrderCheckCodeService.getOne(new LambdaQueryWrapper<IoCollectOrderCheckCode>().eq(IoCollectOrderCheckCode::getCode, filterCodeRequest.getCode())); | 
			
		
	
		
			
				
					|  |  |  |  |         if (one != null) { | 
			
		
	
		
			
				
					|  |  |  |  |             return ResultVOUtils.error(500, "该追溯码已被其他单据校验"); | 
			
		
	
		
			
				
					|  |  |  |  |         if (orderBackup.getCheckCodeStatus() == 1) { | 
			
		
	
		
			
				
					|  |  |  |  |             return ResultVOUtils.error(500, "该单据已校验完成"); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         //判断
 | 
			
		
	
		
			
				
					|  |  |  |  |         CollectOrderBizRequest collectOrderBizRequest = new CollectOrderBizRequest(); | 
			
		
	
		
			
				
					|  |  |  |  |         collectOrderBizRequest.setOrderIdFk(filterCodeRequest.getBillNo()); | 
			
		
	
		
			
				
					|  |  |  |  |         List<CollectOrderBizResponse> collectOrderBizResponses = ioCollectOrderBizBackupService.filterList(collectOrderBizRequest); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         if (StrUtil.isNotEmpty(filterCodeRequest.getCode())) { | 
			
		
	
		
			
				
					|  |  |  |  |             IoCollectOrderCheckCode one = ioCollectOrderCheckCodeService.getOne(new LambdaQueryWrapper<IoCollectOrderCheckCode>().eq(IoCollectOrderCheckCode::getCode, filterCodeRequest.getCode())); | 
			
		
	
		
			
				
					|  |  |  |  |             if (one != null) { | 
			
		
	
		
			
				
					|  |  |  |  |                 return ResultVOUtils.error(500, "该追溯码已被其他单据校验"); | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |             for (CollectOrderBizResponse collectOrderBizResponse : collectOrderBizResponses) { | 
			
		
	
		
			
				
					|  |  |  |  |                 UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByNameCode(collectOrderBizResponse.getNameCode()); | 
			
		
	
		
			
				
					|  |  |  |  |                 Integer checkCount = ioCollectOrderCheckCodeService.getCountByRelIdAndBillNo(udiRelevanceResponse.getId(), filterCodeRequest.getBillNo()); | 
			
		
	
		
			
				
					|  |  |  |  |                 if (checkCount == collectOrderBizResponse.getScanActCount()) { | 
			
		
	
		
			
				
					|  |  |  |  |                     BaseResponse response = new BaseResponse(); | 
			
		
	
		
			
				
					|  |  |  |  |                     response.setData(filterCodeRequest.getCode()); | 
			
		
	
		
			
				
					|  |  |  |  |                     response.setCode(504); | 
			
		
	
		
			
				
					|  |  |  |  |                     response.setMessage("追溯码校验校验超出"); | 
			
		
	
		
			
				
					|  |  |  |  |                     return response; | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |             IoCollectCodeBackup ioCollectCodeBackup = ioCollectCodeBackMapper.selectOne(new LambdaQueryWrapper<IoCollectCodeBackup>() | 
			
		
	
		
			
				
					|  |  |  |  |                     .eq(IoCollectCodeBackup::getBillNo, filterCodeRequest.getBillNo()) | 
			
		
	
		
			
				
					|  |  |  |  |                     .eq(IoCollectCodeBackup::getCode, filterCodeRequest.getCode())); | 
			
		
	
	
		
			
				
					|  |  |  | @ -100,14 +120,10 @@ public class IoCollectCodeBackService extends ServiceImpl<IoCollectCodeBackMappe | 
			
		
	
		
			
				
					|  |  |  |  |                 response.setMessage("追溯码不存在"); | 
			
		
	
		
			
				
					|  |  |  |  |                 return response; | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |             List<IoCollectOrderBizBackup> ioCollectOrderBizBackups = ioCollectOrderBizBackupService.listByBillNo(filterCodeRequest.getBillNo()); | 
			
		
	
		
			
				
					|  |  |  |  |             UdiEntity udiEntity = FilterUdiUtils.getUdi(filterCodeRequest.getCode()); | 
			
		
	
		
			
				
					|  |  |  |  |             UdiRelevanceResponse udiRelevanceResponse; | 
			
		
	
		
			
				
					|  |  |  |  |             List<UdiRelevanceResponse> udiRelevanceResponses = udiRelevanceService.selectGroupByNameCode(udiEntity.getUdi(), null); | 
			
		
	
		
			
				
					|  |  |  |  |             if (CollUtil.isEmpty(udiRelevanceResponses)) throw new JsonException(500, "字典不存在此产品!"); | 
			
		
	
		
			
				
					|  |  |  |  |             else udiRelevanceResponse = udiRelevanceResponses.get(0); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |             //校验是否本单产品
 | 
			
		
	
		
			
				
					|  |  |  |  |             IoCollectOrderBizBackup collectOrderBizBackup = vailByBatchNo(udiRelevanceResponses, ioCollectOrderBizBackups, udiEntity); | 
			
		
	
		
			
				
					|  |  |  |  |             UdiEntity udiEntity = FilterUdiUtils.getUdi(filterCodeRequest.getCode()); | 
			
		
	
		
			
				
					|  |  |  |  |             IoCollectOrderBizBackup collectOrderBizBackup = checkProduct(filterCodeRequest.getBillNo(), udiEntity); | 
			
		
	
		
			
				
					|  |  |  |  |             if (collectOrderBizBackup == null) { | 
			
		
	
		
			
				
					|  |  |  |  |                 BaseResponse response = new BaseResponse(); | 
			
		
	
		
			
				
					|  |  |  |  |                 response.setData(filterCodeRequest.getCode()); | 
			
		
	
	
		
			
				
					|  |  |  | @ -115,30 +131,63 @@ public class IoCollectCodeBackService extends ServiceImpl<IoCollectCodeBackMappe | 
			
		
	
		
			
				
					|  |  |  |  |                 response.setMessage("非此单产品"); | 
			
		
	
		
			
				
					|  |  |  |  |                 return response; | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |             UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByNameCode(udiEntity.getUdi()); | 
			
		
	
		
			
				
					|  |  |  |  |             udiEntity.setCode(filterCodeRequest.getCode()); | 
			
		
	
		
			
				
					|  |  |  |  |             AddEnterCodeResponse addEnterCodeResponse = setAddEnterCodeResponse(udiEntity, udiRelevanceResponse); | 
			
		
	
		
			
				
					|  |  |  |  |             IoCollectOrderCheckCode ioCollectOrderCheckCode = new IoCollectOrderCheckCode(); | 
			
		
	
		
			
				
					|  |  |  |  |             BeanUtils.copyProperties(ioCollectCodeBackup, ioCollectOrderCheckCode); | 
			
		
	
		
			
				
					|  |  |  |  |             orderBackup.setCheckCodeStatus(1); | 
			
		
	
		
			
				
					|  |  |  |  |             ThreadUtil.execAsync(() -> { | 
			
		
	
		
			
				
					|  |  |  |  |                 ioCollectOrderCheckCodeService.save(ioCollectOrderCheckCode); | 
			
		
	
		
			
				
					|  |  |  |  | //                ioCollectOrderBackupService.updateByBillNo(orderBackup);
 | 
			
		
	
		
			
				
					|  |  |  |  |             }); | 
			
		
	
		
			
				
					|  |  |  |  |             setOrderCheckStatus(ioCollectCodeBackup); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |             return ResultVOUtils.success(addEnterCodeResponse); | 
			
		
	
		
			
				
					|  |  |  |  |         } else { | 
			
		
	
		
			
				
					|  |  |  |  |             List<VailCodeResultResponse> vailCodeResultResponses = new ArrayList<>(); | 
			
		
	
		
			
				
					|  |  |  |  |             for (String code : filterCodeRequest.getCodeList()) { | 
			
		
	
		
			
				
					|  |  |  |  |                 VailCodeResultResponse vailCodeResultResponse = new VailCodeResultResponse(); | 
			
		
	
		
			
				
					|  |  |  |  |                 IoCollectOrderCheckCode one = ioCollectOrderCheckCodeService.getOne(new LambdaQueryWrapper<IoCollectOrderCheckCode>().eq(IoCollectOrderCheckCode::getCode, code)); | 
			
		
	
		
			
				
					|  |  |  |  |                 if (one != null) { | 
			
		
	
		
			
				
					|  |  |  |  |                     vailCodeResultResponse.setStatus(2); | 
			
		
	
		
			
				
					|  |  |  |  |                     vailCodeResultResponse.setCode(code); | 
			
		
	
		
			
				
					|  |  |  |  |                     vailCodeResultResponse.setErrMsg("该追溯码已被单据校验"); | 
			
		
	
		
			
				
					|  |  |  |  |                     vailCodeResultResponses.add(vailCodeResultResponse); | 
			
		
	
		
			
				
					|  |  |  |  |                     continue; | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  |                 boolean shouldContinue = false; | 
			
		
	
		
			
				
					|  |  |  |  |                 for (CollectOrderBizResponse collectOrderBizResponse : collectOrderBizResponses) { | 
			
		
	
		
			
				
					|  |  |  |  |                     UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByNameCode(collectOrderBizResponse.getNameCode()); | 
			
		
	
		
			
				
					|  |  |  |  |                     Integer checkCount = ioCollectOrderCheckCodeService.getCountByRelIdAndBillNo(udiRelevanceResponse.getId(), filterCodeRequest.getBillNo()); | 
			
		
	
		
			
				
					|  |  |  |  |                     if (checkCount == collectOrderBizResponse.getScanActCount()) { | 
			
		
	
		
			
				
					|  |  |  |  |                         vailCodeResultResponse.setStatus(3); | 
			
		
	
		
			
				
					|  |  |  |  |                         vailCodeResultResponse.setCode(code); | 
			
		
	
		
			
				
					|  |  |  |  |                         vailCodeResultResponse.setErrMsg("追溯码校验校验超出"); | 
			
		
	
		
			
				
					|  |  |  |  |                         vailCodeResultResponses.add(vailCodeResultResponse); | 
			
		
	
		
			
				
					|  |  |  |  |                         shouldContinue = true; | 
			
		
	
		
			
				
					|  |  |  |  |                         break; // 跳出内部循环
 | 
			
		
	
		
			
				
					|  |  |  |  |                     } | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  |                 if (shouldContinue) { | 
			
		
	
		
			
				
					|  |  |  |  |                     continue; | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  |                 //校验是否本单产品
 | 
			
		
	
		
			
				
					|  |  |  |  |                 UdiEntity udiEntity = FilterUdiUtils.getUdi(code); | 
			
		
	
		
			
				
					|  |  |  |  |                 IoCollectOrderBizBackup collectOrderBizBackup = checkProduct(filterCodeRequest.getBillNo(), udiEntity); | 
			
		
	
		
			
				
					|  |  |  |  |                 if (collectOrderBizBackup == null) { | 
			
		
	
		
			
				
					|  |  |  |  |                     vailCodeResultResponse.setStatus(4); | 
			
		
	
		
			
				
					|  |  |  |  |                     vailCodeResultResponse.setCode(code); | 
			
		
	
		
			
				
					|  |  |  |  |                     vailCodeResultResponse.setErrMsg("非此单产品"); | 
			
		
	
		
			
				
					|  |  |  |  |                     vailCodeResultResponses.add(vailCodeResultResponse); | 
			
		
	
		
			
				
					|  |  |  |  |                     continue; | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  |                 IoCollectCodeBackup ioCollectCodeBackup = ioCollectCodeBackMapper.selectOne(new LambdaQueryWrapper<IoCollectCodeBackup>() | 
			
		
	
		
			
				
					|  |  |  |  |                         .eq(IoCollectCodeBackup::getBillNo, filterCodeRequest.getBillNo()) | 
			
		
	
		
			
				
					|  |  |  |  |                         .eq(IoCollectCodeBackup::getCode, code)); | 
			
		
	
		
			
				
					|  |  |  |  |                 VailCodeResultResponse vailCodeResultResponse = new VailCodeResultResponse(); | 
			
		
	
		
			
				
					|  |  |  |  |                 if (ioCollectCodeBackup != null) { | 
			
		
	
		
			
				
					|  |  |  |  |                     vailCodeResultResponse.setStatus(1); | 
			
		
	
		
			
				
					|  |  |  |  |                     vailCodeResultResponse.setCode(code); | 
			
		
	
		
			
				
					|  |  |  |  |                     vailCodeResultResponse.setSucMsg("校验成功"); | 
			
		
	
		
			
				
					|  |  |  |  |                     vailCodeResultResponses.add(vailCodeResultResponse); | 
			
		
	
		
			
				
					|  |  |  |  |                     //校验成功 加入校验表
 | 
			
		
	
		
			
				
					|  |  |  |  |                     //todo 更改完成之后 需要放开注释
 | 
			
		
	
		
			
				
					|  |  |  |  |                     setOrderCheckStatus(ioCollectCodeBackup); | 
			
		
	
		
			
				
					|  |  |  |  |                 } else { | 
			
		
	
		
			
				
					|  |  |  |  |                     vailCodeResultResponse.setStatus(2); | 
			
		
	
		
			
				
					|  |  |  |  |                     vailCodeResultResponse.setStatus(5); | 
			
		
	
		
			
				
					|  |  |  |  |                     vailCodeResultResponse.setCode(code); | 
			
		
	
		
			
				
					|  |  |  |  |                     vailCodeResultResponse.setErrMsg("追溯码不存在"); | 
			
		
	
		
			
				
					|  |  |  |  |                     vailCodeResultResponses.add(vailCodeResultResponse); | 
			
		
	
	
		
			
				
					|  |  |  | @ -149,6 +198,8 @@ public class IoCollectCodeBackService extends ServiceImpl<IoCollectCodeBackMappe | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     public AddEnterCodeResponse setAddEnterCodeResponse(UdiEntity udiEntity, UdiRelevanceResponse checkUdi) { | 
			
		
	
		
			
				
					|  |  |  |  |         AddEnterCodeResponse addEnterCodeResponse = new AddEnterCodeResponse(); | 
			
		
	
		
			
				
					|  |  |  |  |         BeanUtils.copyProperties(udiEntity, addEnterCodeResponse); | 
			
		
	
	
		
			
				
					|  |  |  | @ -175,35 +226,35 @@ public class IoCollectCodeBackService extends ServiceImpl<IoCollectCodeBackMappe | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     public BaseResponse replaceScanCode(IoCollectCodeRequest filterCodeRequest) { | 
			
		
	
		
			
				
					|  |  |  |  |         BaseResponse response = null; | 
			
		
	
		
			
				
					|  |  |  |  |         IoCollectOrderBackup orderBackup = ioCollectOrderBackupService.getByBillNo(filterCodeRequest.getBillNo()); | 
			
		
	
		
			
				
					|  |  |  |  |         if (orderBackup.getCheckCodeConfirm() == 0 || orderBackup.getCheckCodeConfirm() == null){ | 
			
		
	
		
			
				
					|  |  |  |  |             orderBackup.setCheckCodeConfirm(1); | 
			
		
	
		
			
				
					|  |  |  |  |             ioCollectOrderBackupService.updateByBillNo(orderBackup); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         if (StrUtil.isNotEmpty(filterCodeRequest.getCode())) { | 
			
		
	
		
			
				
					|  |  |  |  |             response = insert(filterCodeRequest); | 
			
		
	
		
			
				
					|  |  |  |  |             insert(filterCodeRequest,orderBackup); | 
			
		
	
		
			
				
					|  |  |  |  |         } else { | 
			
		
	
		
			
				
					|  |  |  |  |             List<String> codeList = filterCodeRequest.getCodeList(); | 
			
		
	
		
			
				
					|  |  |  |  |             for (String code : codeList) { | 
			
		
	
		
			
				
					|  |  |  |  |                 filterCodeRequest.setCode(code); | 
			
		
	
		
			
				
					|  |  |  |  |                 response = insert(filterCodeRequest); | 
			
		
	
		
			
				
					|  |  |  |  |                 insert(filterCodeRequest,orderBackup); | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         return response; | 
			
		
	
		
			
				
					|  |  |  |  |         return ResultVOUtils.success(orderBackup); | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     public BaseResponse insert(IoCollectCodeRequest filterCodeRequest) { | 
			
		
	
		
			
				
					|  |  |  |  |         IoCollectOrderBackup orderBackup = ioCollectOrderBackupService.getByBillNo(filterCodeRequest.getBillNo()); | 
			
		
	
		
			
				
					|  |  |  |  |         if (orderBackup.getCheckCodeConfirm() == 0 || orderBackup.getCheckCodeConfirm() == null){ | 
			
		
	
		
			
				
					|  |  |  |  |             orderBackup.setCheckCodeConfirm(1); | 
			
		
	
		
			
				
					|  |  |  |  |             ioCollectOrderBackupService.updateByBillNo(orderBackup); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |     public void insert(IoCollectCodeRequest filterCodeRequest,IoCollectOrderBackup orderBackup) { | 
			
		
	
		
			
				
					|  |  |  |  |         IoCollectOrderCheckCode one = ioCollectOrderCheckCodeService.getOne(new LambdaQueryWrapper<IoCollectOrderCheckCode>().eq(IoCollectOrderCheckCode::getCode, filterCodeRequest.getCode())); | 
			
		
	
		
			
				
					|  |  |  |  |         if (one != null) { | 
			
		
	
		
			
				
					|  |  |  |  |             return ResultVOUtils.error(500, "该追溯码已被其他单据校验"); | 
			
		
	
		
			
				
					|  |  |  |  |             throw  new JsonException(500, "该追溯码已被其他单据校验"); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         if (orderBackup == null) { | 
			
		
	
		
			
				
					|  |  |  |  |             return ResultVOUtils.error(500, "订单不存在"); | 
			
		
	
		
			
				
					|  |  |  |  |             throw  new JsonException(500, "订单不存在"); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         UdiEntity udiEntity = FilterUdiUtils.getUdi(filterCodeRequest.getCode()); | 
			
		
	
		
			
				
					|  |  |  |  |         if (udiEntity == null) { | 
			
		
	
		
			
				
					|  |  |  |  |             return ResultVOUtils.error(500, "产品不存在"); | 
			
		
	
		
			
				
					|  |  |  |  |             throw  new JsonException(500, "产品不存在"); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByNameCode(udiEntity.getUdi()); | 
			
		
	
		
			
				
					|  |  |  |  |         //吗替换的接口 替换哪个码
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -221,11 +272,18 @@ public class IoCollectCodeBackService extends ServiceImpl<IoCollectCodeBackMappe | 
			
		
	
		
			
				
					|  |  |  |  |                         .operTime(new Date()) | 
			
		
	
		
			
				
					|  |  |  |  |                         .build(); | 
			
		
	
		
			
				
					|  |  |  |  |         ioCollectOrderCheckCodeService.save(ioCollectOrderCheckCode); | 
			
		
	
		
			
				
					|  |  |  |  |         return ResultVOUtils.success(orderBackup); | 
			
		
	
		
			
				
					|  |  |  |  |         IoCollectCodeBackup ioCollectCodeBackup = new IoCollectCodeBackup(); | 
			
		
	
		
			
				
					|  |  |  |  |         BeanUtils.copyProperties(ioCollectOrderCheckCode,ioCollectCodeBackup); | 
			
		
	
		
			
				
					|  |  |  |  |         ioCollectCodeBackup.setScanCodeCheckStatus(3); | 
			
		
	
		
			
				
					|  |  |  |  |         ioCollectCodeBackup.setId(null); | 
			
		
	
		
			
				
					|  |  |  |  |         save(ioCollectCodeBackup); | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     public BaseResponse commitCheckCodeOrder(IoCollectCodeRequest filterCodeRequest) { | 
			
		
	
		
			
				
					|  |  |  |  |         IoCollectOrderBackup orderBackup = ioCollectOrderBackupService.getByBillNo(filterCodeRequest.getBillNo()); | 
			
		
	
		
			
				
					|  |  |  |  |         if (orderBackup.getCheckCodeStatus() == 1){ | 
			
		
	
		
			
				
					|  |  |  |  |             return ResultVOUtils.error(500,"该单据已校验完成"); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         //已经完成单据码表
 | 
			
		
	
		
			
				
					|  |  |  |  |         List<IoCollectCodeBackup> ioCollectCodeBackups = list(new LambdaQueryWrapper<IoCollectCodeBackup>().eq(IoCollectCodeBackup::getBillNo, filterCodeRequest.getBillNo())); | 
			
		
	
		
			
				
					|  |  |  |  |         //已经校验码表
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -237,7 +295,7 @@ public class IoCollectCodeBackService extends ServiceImpl<IoCollectCodeBackMappe | 
			
		
	
		
			
				
					|  |  |  |  |         for (CollectOrderBizResponse collectOrderBizResponse : list) { | 
			
		
	
		
			
				
					|  |  |  |  |             UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByNameCode(collectOrderBizResponse.getNameCode()); | 
			
		
	
		
			
				
					|  |  |  |  |             Integer checkCount = ioCollectOrderCheckCodeService.getCountByRelIdAndBillNo(udiRelevanceResponse.getId(), filterCodeRequest.getBillNo()); | 
			
		
	
		
			
				
					|  |  |  |  |             if (checkCount != collectOrderBizResponse.getScanActCount()) { | 
			
		
	
		
			
				
					|  |  |  |  |             if (checkCount < collectOrderBizResponse.getScanActCount()) { | 
			
		
	
		
			
				
					|  |  |  |  |                 return ResultVOUtils.error(500, udiRelevanceResponse.getCpmctymc() + "追溯码未校验完成"); | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
	
		
			
				
					|  |  |  | @ -275,6 +333,7 @@ public class IoCollectCodeBackService extends ServiceImpl<IoCollectCodeBackMappe | 
			
		
	
		
			
				
					|  |  |  |  |         for (IoCollectOrderCheckCode ioCollectOrderCheckCode : ioCollectOrderCheckCodes){ | 
			
		
	
		
			
				
					|  |  |  |  |             IoCollectCodeBackup ioCollectCodeBackup = new IoCollectCodeBackup(); | 
			
		
	
		
			
				
					|  |  |  |  |             BeanUtils.copyProperties(ioCollectOrderCheckCode,ioCollectCodeBackup); | 
			
		
	
		
			
				
					|  |  |  |  |             ioCollectCodeBackup.setScanCodeCheckStatus(1); | 
			
		
	
		
			
				
					|  |  |  |  |             collectCodeBackups.add(ioCollectCodeBackup); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         saveBatch(collectCodeBackups); | 
			
		
	
	
		
			
				
					|  |  |  | @ -282,4 +341,30 @@ public class IoCollectCodeBackService extends ServiceImpl<IoCollectCodeBackMappe | 
			
		
	
		
			
				
					|  |  |  |  |         ioCollectOrderBackupService.updateByBillNo(orderBackup); | 
			
		
	
		
			
				
					|  |  |  |  |         return ResultVOUtils.success(); | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     public List<IoCollectCodeBackup> listByBillNo(String billNo) { | 
			
		
	
		
			
				
					|  |  |  |  |         return ioCollectCodeBackMapper.selectList(new LambdaQueryWrapper<IoCollectCodeBackup>() | 
			
		
	
		
			
				
					|  |  |  |  |                 .eq(IoCollectCodeBackup::getBillNo, billNo)); | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     public IoCollectOrderBizBackup checkProduct(String billNo,UdiEntity udiEntity){ | 
			
		
	
		
			
				
					|  |  |  |  |         List<IoCollectOrderBizBackup> ioCollectOrderBizBackups = ioCollectOrderBizBackupService.listByBillNo(billNo); | 
			
		
	
		
			
				
					|  |  |  |  |         List<UdiRelevanceResponse> udiRelevanceResponses = udiRelevanceService.selectGroupByNameCode(udiEntity.getUdi(), null); | 
			
		
	
		
			
				
					|  |  |  |  |         if (CollUtil.isEmpty(udiRelevanceResponses)) throw new JsonException(500, "字典不存在此产品!"); | 
			
		
	
		
			
				
					|  |  |  |  |         //校验是否本单产品
 | 
			
		
	
		
			
				
					|  |  |  |  |         IoCollectOrderBizBackup collectOrderBizBackup = vailByBatchNo(udiRelevanceResponses, ioCollectOrderBizBackups, udiEntity); | 
			
		
	
		
			
				
					|  |  |  |  |         return collectOrderBizBackup; | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     private void setOrderCheckStatus(IoCollectCodeBackup ioCollectCodeBackup) { | 
			
		
	
		
			
				
					|  |  |  |  |         IoCollectOrderCheckCode ioCollectOrderCheckCode = new IoCollectOrderCheckCode(); | 
			
		
	
		
			
				
					|  |  |  |  |         BeanUtils.copyProperties(ioCollectCodeBackup, ioCollectOrderCheckCode); | 
			
		
	
		
			
				
					|  |  |  |  |         ioCollectCodeBackup.setScanCodeCheckStatus(1); | 
			
		
	
		
			
				
					|  |  |  |  |         updateById(ioCollectCodeBackup); | 
			
		
	
		
			
				
					|  |  |  |  | //            orderBackup.setCheckCodeStatus(1);
 | 
			
		
	
		
			
				
					|  |  |  |  |         ThreadUtil.execAsync(() -> { | 
			
		
	
		
			
				
					|  |  |  |  |             ioCollectOrderCheckCodeService.save(ioCollectOrderCheckCode); | 
			
		
	
		
			
				
					|  |  |  |  | //                ioCollectOrderBackupService.updateByBillNo(orderBackup);
 | 
			
		
	
		
			
				
					|  |  |  |  |         }); | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
	
		
			
				
					|  |  |  | 
 |