调整保证金付款
This commit is contained in:
parent
147ecde323
commit
30dc4cd1e5
|
@ -3,12 +3,20 @@ package com.hzya.frame.plugin.oa.payment.service.impl;
|
|||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.http.HttpRequest;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.hzya.frame.seeyon.entity.CollAttachmentResDTO;
|
||||
import com.hzya.frame.seeyon.util.OARestUtil;
|
||||
import com.hzya.frame.web.entity.JsonResultEntity;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.net.URLDecoder;
|
||||
import java.util.Base64;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description
|
||||
* @Author xiangerlin
|
||||
|
@ -16,7 +24,8 @@ import org.springframework.stereotype.Service;
|
|||
**/
|
||||
@Service(value = "paybillPluginCommonService")
|
||||
public class PaybillPluginCommonService {
|
||||
|
||||
@Autowired
|
||||
private OARestUtil oaRestUtil;
|
||||
@Value("${zt.url}")
|
||||
private String baseUrl;
|
||||
Logger logger = LoggerFactory.getLogger(PaybillPluginCommonService.class);
|
||||
|
@ -88,4 +97,37 @@ public class PaybillPluginCommonService {
|
|||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public 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(baseUrl)
|
||||
.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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -43,6 +43,8 @@ public class PaybillPluginServiceImpl implements IPaybillPluginService {
|
|||
@Autowired
|
||||
private ICLPayApplyService clpayApplyService;
|
||||
@Autowired
|
||||
private PaybillPluginCommonService paybillPluginCommonService;
|
||||
@Autowired
|
||||
private ICLPayApplyDao clPayApplyDao;
|
||||
|
||||
/**
|
||||
|
@ -81,7 +83,7 @@ public class PaybillPluginServiceImpl implements IPaybillPluginService {
|
|||
* 如果支付类型是开票,保证金要单独生成一张付款结算单
|
||||
*/
|
||||
//付款单
|
||||
Boolean flag = apPaybill(datasourceCode, formmainData, headers, forsonDataList);
|
||||
Boolean flag = apPaybill(summaryId,datasourceCode, formmainData, headers, forsonDataList);
|
||||
String orgCode = formmainData.getString("field0053");
|
||||
if ("002".equals(orgCode)) {
|
||||
cmpPaybill(datasourceCode, formmainData, headers, forsonDataList);
|
||||
|
@ -290,7 +292,7 @@ public class PaybillPluginServiceImpl implements IPaybillPluginService {
|
|||
* @param headers
|
||||
* @param forsonDataList
|
||||
*/
|
||||
private Boolean apPaybill(String datasourceCode, JSONObject formmainData, JSONObject headers, List<JSONObject> forsonDataList) {
|
||||
private Boolean apPaybill(String summaryId,String datasourceCode, JSONObject formmainData, JSONObject headers, List<JSONObject> forsonDataList) {
|
||||
String billmaker = headers.getString("billmaker");
|
||||
boolean falg = true;
|
||||
//付款明细行,每一行都生成一张NCC付款单
|
||||
|
@ -314,7 +316,7 @@ public class PaybillPluginServiceImpl implements IPaybillPluginService {
|
|||
.execute().body();
|
||||
logger.info("======OA付款单传NCC付款单响应参数:{}======", result);
|
||||
//解析返回结果 并把NCC单据号更新到OA表单
|
||||
falg = parseRes(result,datasourceCode,headers,forson.getString("id"));
|
||||
falg = parseRes(summaryId,result,datasourceCode,headers,forson.getString("id"));
|
||||
}
|
||||
//}
|
||||
return falg;
|
||||
|
@ -525,7 +527,7 @@ public class PaybillPluginServiceImpl implements IPaybillPluginService {
|
|||
* @param id OA付款单明细行id
|
||||
* @return
|
||||
*/
|
||||
private Boolean parseRes(String result,String datasourceCode,JSONObject headers,String id){
|
||||
private Boolean parseRes(String summaryId ,String result,String datasourceCode,JSONObject headers,String id){
|
||||
boolean flag = false;
|
||||
JSONObject attribute = getAttribute(result);
|
||||
if (null != attribute){
|
||||
|
@ -537,6 +539,13 @@ public class PaybillPluginServiceImpl implements IPaybillPluginService {
|
|||
String message = Convert.toStr(attribute.getString("message"), "成功");
|
||||
String billno = data.getString("billno");
|
||||
if (StrUtil.isNotEmpty(billno)){
|
||||
String pk_bill = data.getString("pk_bill");
|
||||
// 上傳附件到NCC
|
||||
try {
|
||||
paybillPluginCommonService.uploadFile(summaryId,headers,pk_bill);
|
||||
} catch (Exception e) {
|
||||
logger.error("上傳附件到NCC失敗",e);
|
||||
}
|
||||
String sqlTemplate = "update {} set {} = '{}',{} = '{}' where {} = '{}'";
|
||||
sql = StrUtil.format(sqlTemplate,headers.getString("forsonTableName"),"field0100",billno,"field0101",message,"id",id);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue