|  |  | @ -868,15 +868,22 @@ public class IoCodeTempController extends BaseController { | 
			
		
	
		
		
			
				
					
					|  |  |  |                 if (codeTempEntity1 != null) { |  |  |  |                 if (codeTempEntity1 != null) { | 
			
		
	
		
		
			
				
					
					|  |  |  |                     return ResultVOUtils.error(533, "扫码重复或当前追溯码已存在草稿单据中!"); |  |  |  |                     return ResultVOUtils.error(533, "扫码重复或当前追溯码已存在草稿单据中!"); | 
			
		
	
		
		
			
				
					
					|  |  |  |                 } |  |  |  |                 } | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } else { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                 //校验工位库存
 |  |  |  |                 //校验工位库存
 | 
			
		
	
		
		
			
				
					
					|  |  |  | //            List<IoCodeTempEntity> codeTempEntities = codeTempService.findByOrderId(addOrderRequest.getBillNo());
 |  |  |  |                 List<IoCodeTempEntity> codeTempEntities = codeTempService.findByOrderId(addOrderRequest.getBillNo()); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | //            for (IoCodeTempEntity codeTempEntity : codeTempEntities) {
 |  |  |  |                 for (IoCodeTempEntity codeTempEntity : codeTempEntities) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | //                //校验工位库存
 |  |  |  |                     //校验工位库存
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | //                if (fifoCodeEntity.getTotalCount() < codeTempEntity.getReCount()){
 |  |  |  |                     if (bussinessTypeEntity.isUse()) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | //                    return ResultVOUtils.error(500, "当前码库存不足!");
 |  |  |  |                         codeTempEntity.setReCount(IntUtil.value(codeTempEntity.getMyReCount()) + udiCalCountUtil.getUseActCount(udiRelevanceResponse)); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | //                }
 |  |  |  |                     } else { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | //            }
 |  |  |  |                         codeTempEntity.setReCount(IntUtil.value(codeTempEntity.getMyReCount()) + udiCalCountUtil.getCirActCount(udiRelevanceResponse)); | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     if (fifoCodeEntity.getTotalCount() < codeTempEntity.getReCount()) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         return ResultVOUtils.error(500, "当前码库存不足!"); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |         //校验预验收是否已存在
 |  |  |  |         //校验预验收是否已存在
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (bussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_PREIN && bussinessTypeEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { |  |  |  |         if (bussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_PREIN && bussinessTypeEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { | 
			
		
	
	
		
		
			
				
					|  |  | @ -2070,7 +2077,6 @@ public class IoCodeTempController extends BaseController { | 
			
		
	
		
		
			
				
					
					|  |  |  |     @GetMapping("warehouse/inout/deleteCodesTempById") |  |  |  |     @GetMapping("warehouse/inout/deleteCodesTempById") | 
			
		
	
		
		
			
				
					
					|  |  |  |     @Log(title = "单据管理", businessType = BusinessType.DELETE) |  |  |  |     @Log(title = "单据管理", businessType = BusinessType.DELETE) | 
			
		
	
		
		
			
				
					
					|  |  |  |     public BaseResponse deleteCodesTempById(@RequestParam("id") Integer id) { |  |  |  |     public BaseResponse deleteCodesTempById(@RequestParam("id") Integer id) { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         IoCodeTempEntity codeTempEntity = codeTempService.selectById(id); |  |  |  |         IoCodeTempEntity codeTempEntity = codeTempService.selectById(id); | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (codeTempEntity == null) { |  |  |  |         if (codeTempEntity == null) { | 
			
		
	
		
		
			
				
					
					|  |  |  |             return ResultVOUtils.error(506, "UDI码异常,未录入!"); |  |  |  |             return ResultVOUtils.error(506, "UDI码异常,未录入!"); | 
			
		
	
	
		
		
			
				
					|  |  | @ -2828,5 +2834,75 @@ public class IoCodeTempController extends BaseController { | 
			
		
	
		
		
			
				
					
					|  |  |  |         return ResultVOUtils.success(addCodeResult); |  |  |  |         return ResultVOUtils.success(addCodeResult); | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     @AuthRuleAnnotation("") | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     @PostMapping("warehouse/inout/deleteCodesTempBycodes") | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     @Log(title = "单据管理", businessType = BusinessType.DELETE) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     public BaseResponse deleteCodesTempByCodes(@RequestBody AddEnterCodeRequest addEnterCodeRequest) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         List<String> codeList = addEnterCodeRequest.getCodeList(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         String orderId = addEnterCodeRequest.getOrderId(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         IoOrderEntity order = orderService.findByBillNo(orderId); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         if (order == null) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             return ResultVOUtils.error(500, "单据不存在"); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         if (CollUtil.isEmpty(codeList)) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             return ResultVOUtils.error(500, "追溯码不能为空"); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         //器械的码 可能会是一样的
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         List<IoCodeTempEntity> ioCodeTempEntities = codeTempService.selectByCodes(codeList,orderId); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         if (CollUtil.isEmpty(ioCodeTempEntities)) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             return ResultVOUtils.error(500, "当前追溯码不存在"); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         for (IoCodeTempEntity codeTempEntity : ioCodeTempEntities) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             IoOrderEntity orderEntity = orderService.findByBillNo(codeTempEntity.getOrderId()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             UdiRelevanceResponse udiRelevanceResponses = udiRelevanceService.selectByNameCode(codeTempEntity.getNameCode()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             if (codeTempEntity.getMyCount() > 1) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 codeTempEntity.setCount(codeTempEntity.getMyCount() - 1); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 if (bussinessTypeEntity.isUse()) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     codeTempEntity.setReCount(codeTempEntity.getMyReCount() - udiCalCountUtil.getUseActCount(udiRelevanceResponses)); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 } else { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     codeTempEntity.setReCount(codeTempEntity.getMyReCount() - udiCalCountUtil.getCirActCount(udiRelevanceResponses)); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 codeTempService.updateById(codeTempEntity); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             } else { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 codeTempService.deleteById(codeTempEntity.getId()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             //更新扫码详情
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             IoOrderDetailCodeEntity orderDetailCodeEntity = ioOrderDetailCodeService.findByUnique(orderEntity.getBillNo(), codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getPrice()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             if (orderDetailCodeEntity != null) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 //扫码数量-1
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 int orderCount = IntUtil.value(orderDetailCodeEntity.getCount()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 int orderReCount = IntUtil.value(orderDetailCodeEntity.getReCount()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 if (orderCount > 1) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     orderDetailCodeEntity.setCount(orderCount - 1); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     if (bussinessTypeEntity.isUse()) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         orderDetailCodeEntity.setReCount(orderReCount - udiCalCountUtil.getUseActCount(udiRelevanceResponses)); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | //                    codeTempEntity.setReCount(codeTempEntity.getMyReCount() - udiCalCountUtil.getUseActCount(udiRelevanceResponses);
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     } else { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         orderDetailCodeEntity.setReCount(orderReCount - udiCalCountUtil.getCirActCount(udiRelevanceResponses)); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | //                    codeTempEntity.setReCount(codeTempEntity.getMyReCount() - udiCalCountUtil.getCirActCount(udiRelevanceResponses);
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     ioOrderDetailCodeService.update(orderDetailCodeEntity); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 } else { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     ioOrderDetailCodeService.deleteById(orderDetailCodeEntity.getId()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             boolean r1 = orderDetailBizService.isExit(orderEntity.getBillNo()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             boolean r2 = ioOrderDetailCodeService.isExit(orderEntity.getBillNo()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             if (!r1 && !r2) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 if (StrUtil.isNotEmpty(orderDetailCodeEntity.getOrderIdFk())) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     orderService.deleteByBillNo(orderDetailCodeEntity.getOrderIdFk()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             orderEntity.setUpdateUser(getUserId() + ""); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             orderEntity.setUpdateTime(new Date()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             orderService.update(orderEntity); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         return ResultVOUtils.success("删除成功!"); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
	
		
		
			
				
					|  |  | 
 |