|  |  | @ -801,7 +801,6 @@ public class IoCheckInoutService { | 
			
		
	
		
		
			
				
					
					|  |  |  |             orderEntity.setUpdateTime(new Date()); |  |  |  |             orderEntity.setUpdateTime(new Date()); | 
			
		
	
		
		
			
				
					
					|  |  |  |             orderEntity.setAuditTime(new Date()); |  |  |  |             orderEntity.setAuditTime(new Date()); | 
			
		
	
		
		
			
				
					
					|  |  |  |             orderService.update(orderEntity); |  |  |  |             orderService.update(orderEntity); | 
			
		
	
		
		
			
				
					
					|  |  |  |             List<IoCodeEntity> codeEntities = codeService.findByOrderId(orderEntity.getBillNo()); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             genInv(orderEntity, bussinessTypeEntity); |  |  |  |             genInv(orderEntity, bussinessTypeEntity); | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
	
		
		
			
				
					|  |  | @ -935,53 +934,58 @@ public class IoCheckInoutService { | 
			
		
	
		
		
			
				
					
					|  |  |  |     @Resource |  |  |  |     @Resource | 
			
		
	
		
		
			
				
					
					|  |  |  |     InvWarehouseService invWarehouseService; |  |  |  |     InvWarehouseService invWarehouseService; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     public void genBackOrder(IoOrderEntity orderEntity, List<IoCodeEntity> backCodeList) { |  |  |  |     public void genBackOrder(IoOrderEntity orderEntity, List<IoCodeEntity> allCodeList) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         if (CollUtil.isEmpty(backCodeList)) |  |  |  |         if (CollUtil.isEmpty(allCodeList)) | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             return; |  |  |  |             return; | 
			
		
	
		
		
			
				
					
					|  |  |  |         BasicBussinessTypeEntity basicBussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction()); |  |  |  |         Map<String, List<IoCodeEntity>> map = allCodeList.stream().collect(Collectors.groupingBy(t -> t.getSupId())); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         if (StrUtil.isNotEmpty(basicBussinessTypeEntity.getPreInBackAction())) { |  |  |  |         for (Map.Entry<String, List<IoCodeEntity>> entry : map.entrySet()) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             IoOrderEntity outOrder = new IoOrderEntity(); |  |  |  |             List<IoCodeEntity> backCodeList = entry.getValue(); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             IoCodeEntity codeEntity = backCodeList.get(0); |  |  |  |             BasicBussinessTypeEntity basicBussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction()); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             outOrder.setId(null); |  |  |  |             if (StrUtil.isNotEmpty(basicBussinessTypeEntity.getPreInBackAction())) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             outOrder.setMainAction(ConstantType.TYPE_OUT); |  |  |  |                 IoOrderEntity outOrder = new IoOrderEntity(); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             outOrder.setAction(basicBussinessTypeEntity.getPreInBackAction()); |  |  |  |                 IoCodeEntity codeEntity = backCodeList.get(0); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(Constant.INV_PRE_IN_CODE); |  |  |  |                 outOrder.setId(null); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             outOrder.setInvCode(invWarehouseEntity.getCode()); |  |  |  |                 outOrder.setMainAction(ConstantType.TYPE_OUT); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             outOrder.setDeptCode(invWarehouseEntity.getParentId()); |  |  |  |                 outOrder.setAction(basicBussinessTypeEntity.getPreInBackAction()); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             outOrder.setFromCorp(codeEntity.getSupId()); |  |  |  |                 InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(Constant.INV_PRE_IN_CODE); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             outOrder.setOrderType(2); |  |  |  |                 outOrder.setInvCode(invWarehouseEntity.getCode()); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             outOrder.setCreateTime(new Date()); |  |  |  |                 outOrder.setDeptCode(invWarehouseEntity.getParentId()); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             outOrder.setFromType(ConstantStatus.FROM_BACK); |  |  |  |                 outOrder.setFromCorp(codeEntity.getSupId()); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trimToEmpty(basicBussinessTypeEntity.getPrefix()), "yyyyMMdd")); |  |  |  |                 outOrder.setOrderType(2); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             outOrder.setBillNo(orderNo); |  |  |  |                 outOrder.setCreateTime(new Date()); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             outOrder.setCustomerId(Constant.SYSTEM_CUSTOMER_ID); |  |  |  |                 outOrder.setFromType(ConstantStatus.FROM_BACK); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             outOrder.setCorpOrderId(CustomUtil.getId() + "x"); |  |  |  |                 String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trimToEmpty(basicBussinessTypeEntity.getPrefix()), "yyyyMMdd")); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             outOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); |  |  |  |                 outOrder.setBillNo(orderNo); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             orderEntity.setUllageSupNo(outOrder.getBillNo()); |  |  |  |                 outOrder.setCustomerId(Constant.SYSTEM_CUSTOMER_ID); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             orderEntity.setUpdateTime(new Date()); |  |  |  |                 outOrder.setCorpOrderId(CustomUtil.getId() + "x"); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             orderService.update(orderEntity); |  |  |  |                 outOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             outOrder.setOriginUllageSupNo(orderEntity.getBillNo()); |  |  |  |                 orderEntity.setUllageSupNo(outOrder.getBillNo()); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             outOrder.setCreateUser(null); |  |  |  |                 orderEntity.setUpdateTime(new Date()); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             outOrder.setReviewUser(null); |  |  |  |                 orderService.update(orderEntity); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             orderService.insertOrder(outOrder); |  |  |  |                 outOrder.setOriginUllageSupNo(orderEntity.getBillNo()); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |                 outOrder.setCreateUser(null); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             //生成条码
 |  |  |  |                 outOrder.setReviewUser(null); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             List<IoCodeTempEntity> codeTempEntities = new ArrayList<>(); |  |  |  |                 orderService.insertOrder(outOrder); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             for (IoCodeEntity warehouseEntity : backCodeList) { |  |  |  | 
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 IoCodeTempEntity codeTempEntity = new IoCodeTempEntity(); |  |  |  |                 //生成条码
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 BeanUtils.copyProperties(warehouseEntity, codeTempEntity); |  |  |  |                 List<IoCodeTempEntity> codeTempEntities = new ArrayList<>(); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 codeTempEntity.setId(null); |  |  |  |                 for (IoCodeEntity warehouseEntity : backCodeList) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 codeTempEntity.setOrderId(outOrder.getBillNo()); |  |  |  |                     IoCodeTempEntity codeTempEntity = new IoCodeTempEntity(); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 codeTempEntity.setAction(outOrder.getAction()); |  |  |  |                     BeanUtils.copyProperties(warehouseEntity, codeTempEntity); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 codeTempEntity.setMainAction(outOrder.getMainAction()); |  |  |  |                     codeTempEntity.setId(null); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 codeTempEntity.setCreateTime(new Date()); |  |  |  |                     codeTempEntity.setOrderId(outOrder.getBillNo()); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 codeTempEntity.setUpdateTime(new Date()); |  |  |  |                     codeTempEntity.setAction(outOrder.getAction()); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 codeTempEntities.add(codeTempEntity); |  |  |  |                     codeTempEntity.setMainAction(outOrder.getMainAction()); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |                     codeTempEntity.setCreateTime(new Date()); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             codeTempService.insertBatch(codeTempEntities); |  |  |  |                     codeTempEntity.setUpdateTime(new Date()); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             addInoutService.dealProcess(outOrder); |  |  |  |                     codeTempEntities.add(codeTempEntity); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             if (!checkManual(outOrder.getBillNo())) { |  |  |  |                 } | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 check(outOrder.getBillNo()); |  |  |  |                 codeTempService.insertBatch(codeTempEntities); | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 addInoutService.dealProcess(outOrder); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 if (!checkManual(outOrder.getBillNo())) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     check(outOrder.getBillNo()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
	
		
		
			
				
					|  |  | 
 |