|  |  |  | @ -1,6 +1,7 @@ | 
			
		
	
		
			
				
					|  |  |  |  | package com.glxp.api.service.inout.impl; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | import cn.hutool.core.collection.CollUtil; | 
			
		
	
		
			
				
					|  |  |  |  | import cn.hutool.core.net.URLEncodeUtil; | 
			
		
	
		
			
				
					|  |  |  |  | import cn.hutool.core.util.IdUtil; | 
			
		
	
		
			
				
					|  |  |  |  | import cn.hutool.core.util.StrUtil; | 
			
		
	
		
			
				
					|  |  |  |  | import cn.hutool.http.HttpUtil; | 
			
		
	
	
		
			
				
					|  |  |  | @ -35,6 +36,7 @@ import org.springframework.transaction.annotation.Transactional; | 
			
		
	
		
			
				
					|  |  |  |  | import javax.annotation.Resource; | 
			
		
	
		
			
				
					|  |  |  |  | import java.io.File; | 
			
		
	
		
			
				
					|  |  |  |  | import java.io.IOException; | 
			
		
	
		
			
				
					|  |  |  |  | import java.net.URLEncoder; | 
			
		
	
		
			
				
					|  |  |  |  | import java.util.*; | 
			
		
	
		
			
				
					|  |  |  |  | import java.util.concurrent.TimeUnit; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -61,6 +63,8 @@ public class PlatformServiceImpl implements PlatformService { | 
			
		
	
		
			
				
					|  |  |  |  |     IoOrderDetailResultDao ioOrderDetailResultDao; | 
			
		
	
		
			
				
					|  |  |  |  |     @Resource | 
			
		
	
		
			
				
					|  |  |  |  |     IoOrderInvoiceMapper ioOrderInvoiceMapper; | 
			
		
	
		
			
				
					|  |  |  |  |     @Resource | 
			
		
	
		
			
				
					|  |  |  |  |     IoCodeService ioCodeService; | 
			
		
	
		
			
				
					|  |  |  |  |     @Value("${file_path}") | 
			
		
	
		
			
				
					|  |  |  |  |     private String filePath; | 
			
		
	
		
			
				
					|  |  |  |  |     @Value("${API_KEY}") | 
			
		
	
	
		
			
				
					|  |  |  | @ -318,52 +322,50 @@ public class PlatformServiceImpl implements PlatformService { | 
			
		
	
		
			
				
					|  |  |  |  |             return ResultVOUtils.error(999, "该单据不存在!"); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         //查询客户关联信息
 | 
			
		
	
		
			
				
					|  |  |  |  |         PlatformLinkResponse platformLinkRespons = unitMaintainPlatformDao.selectByUnitld(ioOrderEntity.getFromCorp(),ioOrderEntity.getAction()); | 
			
		
	
		
			
				
					|  |  |  |  |         if(platformLinkRespons == null){ | 
			
		
	
		
			
				
					|  |  |  |  |         PlatformLinkResponse platformLinkRespons = unitMaintainPlatformDao.selectByUnitld(ioOrderEntity.getFromCorp(), ioOrderEntity.getAction()); | 
			
		
	
		
			
				
					|  |  |  |  |         if (platformLinkRespons == null) { | 
			
		
	
		
			
				
					|  |  |  |  |             return ResultVOUtils.error(999, "该单没有设置补单条件!"); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         //获取单据详情
 | 
			
		
	
		
			
				
					|  |  |  |  |         List<IoOrderDetailCodeEntity> ioOrderDetailCodeEntityList=ioOrderDetailCodeService.findByOrderId(orderId); | 
			
		
	
		
			
				
					|  |  |  |  |         List<IoCodeTempEntity> ioCodeTempEntityList = ioCodeTempService.findByOrderId(orderId); | 
			
		
	
		
			
				
					|  |  |  |  |         for (IoCodeTempEntity ioCodeTempEntity : ioCodeTempEntityList) { | 
			
		
	
		
			
				
					|  |  |  |  |             Map<String, String> jsonMap = new HashMap<>(); | 
			
		
	
		
			
				
					|  |  |  |  |             jsonMap.put("code", ioCodeTempEntity.getCode()); | 
			
		
	
		
			
				
					|  |  |  |  |             ObjectMapper mapper = new ObjectMapper(); | 
			
		
	
		
			
				
					|  |  |  |  |             String json = mapper.writeValueAsString(jsonMap); | 
			
		
	
		
			
				
					|  |  |  |  |             ioCodeTempEntity.setCode(json); | 
			
		
	
		
			
				
					|  |  |  |  |         List<IoOrderDetailCodeEntity> ioOrderDetailCodeEntityList = ioOrderDetailCodeService.findByOrderId(orderId); | 
			
		
	
		
			
				
					|  |  |  |  |         List<IoCodeEntity> ioCodeEntityList = ioCodeService.findByOrderId(orderId); | 
			
		
	
		
			
				
					|  |  |  |  |         for (IoCodeEntity ioCodeTempEntity : ioCodeEntityList) { | 
			
		
	
		
			
				
					|  |  |  |  |             String code = URLEncodeUtil.encode(ioCodeTempEntity.getCode()); | 
			
		
	
		
			
				
					|  |  |  |  |             ioCodeTempEntity.setCode(code); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         //获取业务单
 | 
			
		
	
		
			
				
					|  |  |  |  |         QueryWrapper<IoOrderDetailBizEntity> ew=new QueryWrapper<>(); | 
			
		
	
		
			
				
					|  |  |  |  |         ew.eq("orderIdFk",orderId); | 
			
		
	
		
			
				
					|  |  |  |  |         List<IoOrderDetailBizEntity> ioOrderDetailBizEntityList=ioOrderDetailBizDao.selectList(ew); | 
			
		
	
		
			
				
					|  |  |  |  |         QueryWrapper<IoOrderDetailBizEntity> ew = new QueryWrapper<>(); | 
			
		
	
		
			
				
					|  |  |  |  |         ew.eq("orderIdFk", orderId); | 
			
		
	
		
			
				
					|  |  |  |  |         List<IoOrderDetailBizEntity> ioOrderDetailBizEntityList = ioOrderDetailBizDao.selectList(ew); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         //获取结果单
 | 
			
		
	
		
			
				
					|  |  |  |  |         QueryWrapper<IoOrderDetailResultEntity> ew1=new QueryWrapper<>(); | 
			
		
	
		
			
				
					|  |  |  |  |         ew1.eq("orderIdFk",orderId); | 
			
		
	
		
			
				
					|  |  |  |  |         List<IoOrderDetailResultEntity> ioOrderDetailResultEntityList=ioOrderDetailResultDao.selectList(ew1); | 
			
		
	
		
			
				
					|  |  |  |  |         QueryWrapper<IoOrderDetailResultEntity> ew1 = new QueryWrapper<>(); | 
			
		
	
		
			
				
					|  |  |  |  |         ew1.eq("orderIdFk", orderId); | 
			
		
	
		
			
				
					|  |  |  |  |         List<IoOrderDetailResultEntity> ioOrderDetailResultEntityList = ioOrderDetailResultDao.selectList(ew1); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         //获取发票
 | 
			
		
	
		
			
				
					|  |  |  |  |         QueryWrapper<IoOrderInvoiceEntity> ew2=new QueryWrapper<>(); | 
			
		
	
		
			
				
					|  |  |  |  |         ew2.eq("orderIdFk",orderId); | 
			
		
	
		
			
				
					|  |  |  |  |         List<IoOrderInvoiceEntity> ioOrderInvoiceEntityList=ioOrderInvoiceMapper.selectList(ew2); | 
			
		
	
		
			
				
					|  |  |  |  |         ArrayList<String> list=new ArrayList<>(); | 
			
		
	
		
			
				
					|  |  |  |  |         QueryWrapper<IoOrderInvoiceEntity> ew2 = new QueryWrapper<>(); | 
			
		
	
		
			
				
					|  |  |  |  |         ew2.eq("orderIdFk", orderId); | 
			
		
	
		
			
				
					|  |  |  |  |         List<IoOrderInvoiceEntity> ioOrderInvoiceEntityList = ioOrderInvoiceMapper.selectList(ew2); | 
			
		
	
		
			
				
					|  |  |  |  |         ArrayList<String> list = new ArrayList<>(); | 
			
		
	
		
			
				
					|  |  |  |  |         for (IoOrderInvoiceEntity ioOrderInvoiceEntity : ioOrderInvoiceEntityList) { | 
			
		
	
		
			
				
					|  |  |  |  |             if(StrUtil.isNotBlank(ioOrderInvoiceEntity.getLicenseUrl())){ | 
			
		
	
		
			
				
					|  |  |  |  |             if (StrUtil.isNotBlank(ioOrderInvoiceEntity.getLicenseUrl())) { | 
			
		
	
		
			
				
					|  |  |  |  |                 list.add(filePath + "/register/image2/" + ioOrderInvoiceEntity.getLicenseUrl()); | 
			
		
	
		
			
				
					|  |  |  |  |                 ioOrderInvoiceEntity.setLicenseUrl("as" + ioOrderInvoiceEntity.getLicenseUrl()); | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         //没有图片的时候不用上传
 | 
			
		
	
		
			
				
					|  |  |  |  |         if(list.size()>0){ | 
			
		
	
		
			
				
					|  |  |  |  |             relayFile(list,platformLinkRespons.getHost()); | 
			
		
	
		
			
				
					|  |  |  |  |         if (list.size() > 0) { | 
			
		
	
		
			
				
					|  |  |  |  |             relayFile(list, platformLinkRespons.getHost()); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         //组装数据
 | 
			
		
	
		
			
				
					|  |  |  |  |         String host = platformLinkRespons.getHost(); | 
			
		
	
		
			
				
					|  |  |  |  |         IoUploadOrderResponse ioUploadOrderResponse=new IoUploadOrderResponse(); | 
			
		
	
		
			
				
					|  |  |  |  |         IoUploadOrderResponse ioUploadOrderResponse = new IoUploadOrderResponse(); | 
			
		
	
		
			
				
					|  |  |  |  |         ioUploadOrderResponse.setIoOrderEntity(ioOrderEntity); | 
			
		
	
		
			
				
					|  |  |  |  |         ioUploadOrderResponse.setPlatformLinkRespons(platformLinkRespons); | 
			
		
	
		
			
				
					|  |  |  |  |         ioUploadOrderResponse.setIoCodeTempEntityList(ioCodeTempEntityList); | 
			
		
	
		
			
				
					|  |  |  |  |         ioUploadOrderResponse.setIoCodeEntityList(ioCodeEntityList); | 
			
		
	
		
			
				
					|  |  |  |  |         ioUploadOrderResponse.setIoOrderDetailCodeEntityList(ioOrderDetailCodeEntityList); | 
			
		
	
		
			
				
					|  |  |  |  |         ioUploadOrderResponse.setIoOrderDetailResultEntityList(ioOrderDetailResultEntityList); | 
			
		
	
		
			
				
					|  |  |  |  |         ioUploadOrderResponse.setIoOrderDetailBizEntityList(ioOrderDetailBizEntityList); | 
			
		
	
	
		
			
				
					|  |  |  | @ -406,7 +408,7 @@ public class PlatformServiceImpl implements PlatformService { | 
			
		
	
		
			
				
					|  |  |  |  |                     if (!StringUtils.isEmpty(files.get(i))) { | 
			
		
	
		
			
				
					|  |  |  |  |                         File file = new File(files.get(i)); | 
			
		
	
		
			
				
					|  |  |  |  |                         String fileName = files.get(i); | 
			
		
	
		
			
				
					|  |  |  |  |                         fileName = "as"+ fileName.substring(fileName.lastIndexOf("/")+1); | 
			
		
	
		
			
				
					|  |  |  |  |                         fileName = "as" + fileName.substring(fileName.lastIndexOf("/") + 1); | 
			
		
	
		
			
				
					|  |  |  |  |                         builder.addFormDataPart("files", fileName, | 
			
		
	
		
			
				
					|  |  |  |  |                                 RequestBody.create(MediaType.parse(fileType), file)); | 
			
		
	
		
			
				
					|  |  |  |  |                     } | 
			
		
	
	
		
			
				
					|  |  |  | 
 |