附件上传
This commit is contained in:
parent
8d284e9e29
commit
defa8e33e7
|
@ -10,17 +10,22 @@ import com.hzya.frame.execsql.service.IExecSqlService;
|
||||||
import com.hzya.frame.plugin.oa.poorder.entity.PoOrderEntity;
|
import com.hzya.frame.plugin.oa.poorder.entity.PoOrderEntity;
|
||||||
import com.hzya.frame.plugin.oa.poorder.service.IPoOrderExtService;
|
import com.hzya.frame.plugin.oa.poorder.service.IPoOrderExtService;
|
||||||
import com.hzya.frame.plugin.oa.poorder.service.IPoOrderService;
|
import com.hzya.frame.plugin.oa.poorder.service.IPoOrderService;
|
||||||
|
import com.hzya.frame.seeyon.entity.CollAttachmentResDTO;
|
||||||
import com.hzya.frame.seeyon.enums.ColEventTypeEnum;
|
import com.hzya.frame.seeyon.enums.ColEventTypeEnum;
|
||||||
import com.hzya.frame.seeyon.org.member.entity.UserViewEntity;
|
import com.hzya.frame.seeyon.org.member.entity.UserViewEntity;
|
||||||
import com.hzya.frame.seeyon.org.member.service.IUserViewService;
|
import com.hzya.frame.seeyon.org.member.service.IUserViewService;
|
||||||
import com.hzya.frame.seeyon.util.OARestUtil;
|
import com.hzya.frame.seeyon.util.OARestUtil;
|
||||||
import com.hzya.frame.web.entity.BaseResult;
|
import com.hzya.frame.web.entity.BaseResult;
|
||||||
import com.hzya.frame.web.entity.JsonResultEntity;
|
import com.hzya.frame.web.entity.JsonResultEntity;
|
||||||
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.net.URLDecoder;
|
||||||
|
import java.util.Base64;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -202,11 +207,61 @@ public class PoOrderServiceImpl implements IPoOrderService {
|
||||||
poOrderEntity.setField0059("-1");
|
poOrderEntity.setField0059("-1");
|
||||||
poOrderExtService.updateVerifyFlag(poOrderEntity);
|
poOrderExtService.updateVerifyFlag(poOrderEntity);
|
||||||
}
|
}
|
||||||
|
}else if (ColEventTypeEnum.ONPROCESSFINISHED.getType().equals(eventType)){
|
||||||
|
try {
|
||||||
|
//附件上传
|
||||||
|
if (StrUtil.isNotEmpty(formmainData.getString("field0063")) &&
|
||||||
|
StrUtil.isNotEmpty(formmainData.getString("field0056"))){
|
||||||
|
uploadFile(summaryId, headers, formmainData.getString("field0056"));
|
||||||
|
}
|
||||||
|
}catch(Exception e){
|
||||||
|
logger.error("OA采购订单附件上传到NCC出错:{}",e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return BaseResult.getSuccessMessageEntity(resultJson.getJSONObject("attribute"));
|
return BaseResult.getSuccessMessageEntity(resultJson.getJSONObject("attribute"));
|
||||||
}
|
}
|
||||||
return BaseResult.getSuccessMessageEntity("审批NCC采购订单");
|
return BaseResult.getSuccessMessageEntity("审批NCC采购订单");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 附件上传
|
||||||
|
* @param summaryId
|
||||||
|
* @param headers
|
||||||
|
* @param pk_order
|
||||||
|
*/
|
||||||
|
private void uploadFile(String summaryId, JSONObject headers, String pk_order) {
|
||||||
|
String fileApiCode = headers.getString("fileApiCode");
|
||||||
|
String token = oaRestUtil.getToken(null, fileApiCode);
|
||||||
|
List<CollAttachmentResDTO> collAttachmentList = oaRestUtil.getColAttachments(summaryId, "0", fileApiCode, token);
|
||||||
|
if (CollectionUtils.isNotEmpty(collAttachmentList)){
|
||||||
|
//获取OA token
|
||||||
|
for (CollAttachmentResDTO collAttachment : collAttachmentList) {
|
||||||
|
try {
|
||||||
|
String fileName = URLDecoder.decode(collAttachment.getFilename(), "UTF-8");
|
||||||
|
byte[] bytes = oaRestUtil.downloadFileBytes("hzya", fileApiCode, collAttachment.getFileUrl(), fileName, token);
|
||||||
|
String base64File = Base64.getEncoder().encodeToString(bytes);
|
||||||
|
JSONObject fileParams = new JSONObject();
|
||||||
|
fileParams.put("creator", headers.getString("creator"));
|
||||||
|
fileParams.put("pk_bill", pk_order);
|
||||||
|
fileParams.put("filename",fileName);
|
||||||
|
fileParams.put("file",base64File);
|
||||||
|
String result = HttpRequest.post(interfaceUrl)
|
||||||
|
.header("appId", "800065")//NCC应用
|
||||||
|
.header("apiCode", "8000650001")//NCC附件上传接口
|
||||||
|
.header("publicKey", "ZJYAbkr9+XjnDrlfQCRKXtpVvg/BjxqtxzcLgg5TIGagEKJCe7eDIk+3zDUT+v578prj")//OA公钥
|
||||||
|
.header("secretKey", "2GR4+yrcx+Ev+pN0Q6V6wxCdvisPX7wzNKBgc5SsIYGxYI5GTISXT6GvTPfp1u2Rj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=")//OA密钥
|
||||||
|
.body(fileParams.toString())//表单内容
|
||||||
|
.timeout(30000)//超时,毫秒
|
||||||
|
.execute().body();
|
||||||
|
logger.info("======OA采购订单附件上传到NCC响应参数:{}======",result);
|
||||||
|
}catch(Exception e){
|
||||||
|
e.printStackTrace();
|
||||||
|
logger.error("下载OA附件出错:{}",e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 把NCC的 boolean类型转成OA
|
* 把NCC的 boolean类型转成OA
|
||||||
* NCC Y/N
|
* NCC Y/N
|
||||||
|
|
Loading…
Reference in New Issue