|  |  | @ -14,7 +14,6 @@ import com.glxp.api.admin.entity.basic.BussinessTypeEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.admin.entity.business.StockOrderDetailEntity; |  |  |  | import com.glxp.api.admin.entity.business.StockOrderDetailEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.admin.entity.business.StockOrderEntity; |  |  |  | import com.glxp.api.admin.entity.business.StockOrderEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.admin.entity.business.StockQRCodeTextEntity; |  |  |  | import com.glxp.api.admin.entity.business.StockQRCodeTextEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.admin.entity.info.CompanyEntity; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.admin.entity.info.SystemParamConfigEntity; |  |  |  | import com.glxp.api.admin.entity.info.SystemParamConfigEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.admin.entity.inout.OrderEntity; |  |  |  | import com.glxp.api.admin.entity.inout.OrderEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.admin.entity.inout.WarehouseEntity; |  |  |  | import com.glxp.api.admin.entity.inout.WarehouseEntity; | 
			
		
	
	
		
		
			
				
					|  |  | @ -38,7 +37,10 @@ import com.glxp.api.admin.res.inout.ErpOrderResponse; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.admin.res.inout.StockOrderResponse; |  |  |  | import com.glxp.api.admin.res.inout.StockOrderResponse; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.admin.service.auth.AuthAdminService; |  |  |  | import com.glxp.api.admin.service.auth.AuthAdminService; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.admin.service.auth.CustomerService; |  |  |  | import com.glxp.api.admin.service.auth.CustomerService; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.admin.service.basic.*; |  |  |  | import com.glxp.api.admin.service.basic.BasicUnitMaintainService; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.admin.service.basic.BussinessLocalTypeService; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.admin.service.basic.BussinessTypeService; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.admin.service.basic.UdiRelevanceService; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.admin.service.business.StockOrderDetailService; |  |  |  | import com.glxp.api.admin.service.business.StockOrderDetailService; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.admin.service.business.StockOrderDetailTempService; |  |  |  | import com.glxp.api.admin.service.business.StockOrderDetailTempService; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.admin.service.business.StockOrderService; |  |  |  | import com.glxp.api.admin.service.business.StockOrderService; | 
			
		
	
	
		
		
			
				
					|  |  | @ -394,6 +396,8 @@ public class StockOrderController { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         StockOrderEntity stockOrderEntity = stockOrderService.findById(addStockOrderChangeRequest.getStockOrderId()); |  |  |  |         StockOrderEntity stockOrderEntity = stockOrderService.findById(addStockOrderChangeRequest.getStockOrderId()); | 
			
		
	
		
		
			
				
					
					|  |  |  |         OrderEntity originOrder = orderService.findById(stockOrderEntity.getOrderIdFk()); |  |  |  |         OrderEntity originOrder = orderService.findById(stockOrderEntity.getOrderIdFk()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         String oldOrderId = originOrder.getId(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         String replicateNo = originOrder.getReplicateNo(); //复制单号
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         List<WarehouseEntity> originCodes = codesService.findByReceiptId(originOrder.getId()); |  |  |  |         List<WarehouseEntity> originCodes = codesService.findByReceiptId(originOrder.getId()); | 
			
		
	
		
		
			
				
					
					|  |  |  |         originOrder.setActDate(DateUtil.formatDate(new Date())); |  |  |  |         originOrder.setActDate(DateUtil.formatDate(new Date())); | 
			
		
	
		
		
			
				
					
					|  |  |  |         originOrder.setFromCorp(addStockOrderChangeRequest.getFromCorp()); |  |  |  |         originOrder.setFromCorp(addStockOrderChangeRequest.getFromCorp()); | 
			
		
	
	
		
		
			
				
					|  |  | @ -405,15 +409,29 @@ public class StockOrderController { | 
			
		
	
		
		
			
				
					
					|  |  |  |         originOrder.setContrastStatus(0);//设置erp校验状态为未校验
 |  |  |  |         originOrder.setContrastStatus(0);//设置erp校验状态为未校验
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         originOrder.setReceiveStatus(0); //设置验收状态为未验收
 |  |  |  |         originOrder.setReceiveStatus(0); //设置验收状态为未验收
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         originOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); |  |  |  |         originOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         originOrder.setErpFk(null);//关联业务单据置空
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         originOrder.setLocStorageCode(addStockOrderChangeRequest.getLocStorageCode()); |  |  |  |         originOrder.setLocStorageCode(addStockOrderChangeRequest.getLocStorageCode()); | 
			
		
	
		
		
			
				
					
					|  |  |  |         BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(originOrder.getAction()); |  |  |  |         BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(originOrder.getAction()); | 
			
		
	
		
		
			
				
					
					|  |  |  |         String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + MyStrUtil.trim(bussinessTypeEntity.getPrefix()), "yyyyMMdd")); |  |  |  |         String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + MyStrUtil.trim(bussinessTypeEntity.getPrefix()), "yyyyMMdd")); | 
			
		
	
		
		
			
				
					
					|  |  |  |         String supplementOrderNo = orderNo; |  |  |  |         String supplementOrderNo = orderNo; | 
			
		
	
		
		
			
				
					
					|  |  |  |         originOrder.setId(supplementOrderNo); |  |  |  |         originOrder.setId(supplementOrderNo); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         if (StrUtil.isBlank(replicateNo)) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             replicateNo = supplementOrderNo; //此单据第一条复制单号
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         } else { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             replicateNo = replicateNo + "," + supplementOrderNo; //复制单号拼接上新的单号
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         originOrder.setId(supplementOrderNo); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         originOrder.setReplicateNo(null); //新单据的复制单号置空
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         List<WarehouseEntity> supplementCodes = new ArrayList<>(); |  |  |  |         List<WarehouseEntity> supplementCodes = new ArrayList<>(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         List<WarehouseEntity> products = addStockOrderChangeRequest.getProducts(); | 
			
		
	
		
		
			
				
					
					|  |  |  |         originCodes.forEach( |  |  |  |         originCodes.forEach( | 
			
		
	
		
		
			
				
					
					|  |  |  |                 code -> { |  |  |  |                 code -> { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     for (WarehouseEntity product : products) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         if (product.getRelId().equals(code.getRelId())) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             if ((StrUtil.isNotBlank(product.getBatchNo()) && StrUtil.isNotBlank(code.getBatchNo()) && product.getBatchNo().equals(code.getBatchNo())) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                     || (StrUtil.isBlank(product.getBatchNo()) && StrUtil.isBlank(code.getBatchNo()))) { | 
			
		
	
		
		
			
				
					
					|  |  |  |                                 WarehouseEntity supplementCode = new WarehouseEntity(); |  |  |  |                                 WarehouseEntity supplementCode = new WarehouseEntity(); | 
			
		
	
		
		
			
				
					
					|  |  |  |                                 BeanUtil.copyProperties(code, supplementCode); |  |  |  |                                 BeanUtil.copyProperties(code, supplementCode); | 
			
		
	
		
		
			
				
					
					|  |  |  |                                 supplementCode.setFromCorpId(originOrder.getFromCorpId()); |  |  |  |                                 supplementCode.setFromCorpId(originOrder.getFromCorpId()); | 
			
		
	
	
		
		
			
				
					|  |  | @ -425,13 +443,15 @@ public class StockOrderController { | 
			
		
	
		
		
			
				
					
					|  |  |  |                                 supplementCode.setMainAction(originOrder.getMainAction()); |  |  |  |                                 supplementCode.setMainAction(originOrder.getMainAction()); | 
			
		
	
		
		
			
				
					
					|  |  |  |                                 supplementCode.setId(null); |  |  |  |                                 supplementCode.setId(null); | 
			
		
	
		
		
			
				
					
					|  |  |  |                                 supplementCodes.add(supplementCode); |  |  |  |                                 supplementCodes.add(supplementCode); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |                             } | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     } | 
			
		
	
		
		
			
				
					
					|  |  |  |                 } |  |  |  |                 } | 
			
		
	
		
		
			
				
					
					|  |  |  |         ); |  |  |  |         ); | 
			
		
	
		
		
			
				
					
					|  |  |  |         originOrder.setUpdateTime(new Date()); |  |  |  |         originOrder.setUpdateTime(new Date()); | 
			
		
	
		
		
			
				
					
					|  |  |  |         orderService.insertOrder(originOrder); |  |  |  |         orderService.insertOrder(originOrder); | 
			
		
	
		
		
			
				
					
					|  |  |  |         codesTempService.insertCodesTemp(supplementCodes); |  |  |  |         codesTempService.insertCodesTemp(supplementCodes); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |         orderService.updateReplicateNo(oldOrderId, replicateNo); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         return ResultVOUtils.success(); |  |  |  |         return ResultVOUtils.success(); | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | 
 |