parent
d59822e1e6
commit
91af2e9f53
|
@ -22,7 +22,7 @@ public class BalanceExpansion implements IFillBankBalance {
|
|||
JSONObject jsonObject = JSON.parseObject(balanceString);
|
||||
logger.info("bankBalance数据:{},balanceString数据:{}", bankBalance, jsonObject);
|
||||
Object balance = jsonObject.get("depositBalance");
|
||||
if (balance != null) {
|
||||
if (balance != null && !"".equals(balance)) {
|
||||
bankBalance.set("shkd_depositbalance", new BigDecimal(String.valueOf(balance)));
|
||||
} else {
|
||||
bankBalance.set("shkd_depositbalance", BigDecimal.ZERO);
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package shkd.sys.sys.plugin.task;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.kingdee.bos.qing.util.DateUtils;
|
||||
import com.kingdee.bos.webapi.sdk.K3CloudApi;
|
||||
|
@ -175,14 +176,12 @@ public class PushTaskPlugin extends AbstractTask implements Plugin {
|
|||
break;
|
||||
/**
|
||||
* 推送星空电子回单
|
||||
* 星空推送不会有影响吧?
|
||||
*/
|
||||
case "bei_xkfile":
|
||||
K3CloudApi k3CloudApi = new K3CloudApi();
|
||||
ArrayList<DynamicObject> paymentObjects = new ArrayList<>(); //所有存在电子回单的付款单
|
||||
ArrayList<DynamicObject> receivableObjects = new ArrayList<>(); //所有存在电子回单的收款单
|
||||
ArrayList<String> receiptNos = new ArrayList<>();
|
||||
ArrayList<Long> orgIds = new ArrayList<Long>();
|
||||
ArrayList<DynamicObject> paymentObjects = new ArrayList<>(); //所有符合条件存在电子回单的付款单
|
||||
ArrayList<DynamicObject> receivableObjects = new ArrayList<>(); //所有符合条件存在电子回单的收款单
|
||||
ArrayList<Long> orgIds = new ArrayList<>();
|
||||
orgIds.add(2122671180270829568L);//1
|
||||
orgIds.add(2122671723777131520L);//2
|
||||
orgIds.add(2122671728936125440L);//3
|
||||
|
@ -216,39 +215,58 @@ public class PushTaskPlugin extends AbstractTask implements Plugin {
|
|||
if (!details.isEmpty()) {
|
||||
// 交易明细查询的电子回单关联标记字段
|
||||
if (details.get(0).get("receiptno") != null) {
|
||||
paymentObjects.add(dynamicObject);// 付款处理单据收集
|
||||
/**
|
||||
* 1、第一步 通过查询到的符合条件的收款或者付款单单据编号查到对应星空的对应单据的单据ID和单据编码
|
||||
* 2、推送电子回单至星空对应单据
|
||||
*/
|
||||
// 查
|
||||
DynamicObject[] objects = BusinessDataServiceHelper.load("shkd_apimapping", "id,billno," +
|
||||
"shkd_name,shkd_sourcenumber,shkd_domainname,shkd_appkey,shkd_appsecret,shkd_token,shkd_url,shkd_bodytype," +
|
||||
"shkd_sourcebill,shkd_targetsystem,entryentity,entryentity.shkd_tarfield,entryentity.shkd_tartier," +
|
||||
"entryentity.shkd_tartype,entryentity.shkd_parentfield,entryentity.shkd_soufield,entryentity.shkd_defaultdata," +
|
||||
"entryentity.shkd_required,entryentity.shkd_remarks,shkd_submiturl,shkd_xkusername,shkd_xkappid,shkd_xkacctid," +
|
||||
"shkd_xkappsec,shkd_xkserverurl",
|
||||
new QFilter("shkd_targetsystem", QCP.equals, "XK").toArray());
|
||||
String billNumber = dynamicObject.getString("billno");
|
||||
HashMap<String, Object> resultMap = getBillObject(objects[0], dynamicObject.getDataEntityType().getName(), billNumber);
|
||||
if ((boolean) resultMap.get("result")) {
|
||||
// 推
|
||||
DynamicObject[] dynamicObjects1 = BusinessDataServiceHelper.load("t_bei_elecreceipt", "id,receiptno", new QFilter("receiptno", QCP.equals, details.get(0).getString("receiptno")).toArray());
|
||||
DynamicObject dynamicObjectObj = BusinessDataServiceHelper.loadSingle(dynamicObjects1[0].getPkValue(), dynamicObjects1[0].getDynamicObjectType().getName());
|
||||
IFormView viewByDynamicObj = createViewByDynamicObj(dynamicObjectObj);
|
||||
List<String> errMsgList = new ArrayList<>();
|
||||
DynamicObjectCollection receipts = QueryServiceHelper.query("bei_elecreceipt", "id,bank," +
|
||||
"fileflag,filepath,biztype,bankcheckflag,fileserverurl,tcpurl,uploadfilename,username,password," +
|
||||
"bank.bank_cate bankcate", new QFilter[]{new QFilter("id", QCP.equals, dynamicObject.getPkValue())});
|
||||
String pdfUrl = getPdfUrl(viewByDynamicObj.getPageId(), receipts, errMsgList);
|
||||
Path path = Paths.get(dynamicObject.getString("filepath"));
|
||||
String upfileName = path.getFileName().toString();
|
||||
logger.info("电子回单查询 → 电子回单附件推送接口 → 获取pdf地址:{}", pdfUrl);
|
||||
|
||||
DynamicObject[] dynamicObjects1 = BusinessDataServiceHelper.load("t_bei_elecreceipt", "id,receiptno", new QFilter("receiptno", QCP.equals, details.get(0).getString("receiptno")).toArray());
|
||||
DynamicObject dynamicObjectObj = BusinessDataServiceHelper.loadSingle(dynamicObjects1[0].getPkValue(), dynamicObjects1[0].getDynamicObjectType().getName());
|
||||
IFormView viewByDynamicObj = createViewByDynamicObj(dynamicObjectObj);
|
||||
List<String> errMsgList = new ArrayList<>();
|
||||
DynamicObjectCollection receipts = QueryServiceHelper.query("bei_elecreceipt", "id,bank," +
|
||||
"fileflag,filepath,biztype,bankcheckflag,fileserverurl,tcpurl,uploadfilename,username,password," +
|
||||
"bank.bank_cate bankcate", new QFilter[]{new QFilter("id", QCP.equals, dynamicObject.getPkValue())});
|
||||
String pdfUrl = getPdfUrl(viewByDynamicObj.getPageId(), receipts, errMsgList);
|
||||
Path path = Paths.get(dynamicObject.getString("filepath"));
|
||||
String upfileName = path.getFileName().toString();
|
||||
logger.info("电子回单查询 → 电子回单附件推送接口 → 获取pdf地址:{}", pdfUrl);
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("FileName", upfileName);// 文件名
|
||||
jsonObject.put("FormId", "AP_PAYBILL");// 表单id(付款单:AP_PAYBILL)
|
||||
jsonObject.put("IsLast", true);// 是否最后一次上传
|
||||
jsonObject.put("InterId", "单据内码");// 单据内码
|
||||
jsonObject.put("BillNO", dynamicObject.getString("billno"));// 单据编码
|
||||
jsonObject.put("AliasFileName", upfileName);// 附件别名
|
||||
jsonObject.put("SendByte", attachmentBase64(pdfUrl));// 文件字节数组转base64后的字符串
|
||||
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("FileName", upfileName);// 文件名
|
||||
jsonObject.put("FormId", "AP_PAYBILL");// 表单id(付款单:AP_PAYBILL)
|
||||
jsonObject.put("IsLast", true);// 是否最后一次上传
|
||||
jsonObject.put("InterId", "单据内码");// 单据内码
|
||||
jsonObject.put("BillNO", dynamicObject.getString("billno"));// 单据编码
|
||||
jsonObject.put("AliasFileName", upfileName);// 附件别名
|
||||
jsonObject.put("SendByte", attachmentBase64(pdfUrl));// 文件字节数组转base64后的字符串
|
||||
|
||||
String uploadAttachmentResult = null;
|
||||
try {
|
||||
uploadAttachmentResult = k3CloudApi.attachmentUpload(jsonObject.toString());
|
||||
logger.info("付款处理 → 电子回单推送星空,单据编码:"+ dynamicObject.getString("billno") +"\n附件上传结果:" + uploadAttachmentResult);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
String uploadAttachmentResult;
|
||||
try {
|
||||
uploadAttachmentResult = k3CloudApi.attachmentUpload(jsonObject.toString());
|
||||
JSONObject resultJson = JSON.parseObject(uploadAttachmentResult);
|
||||
JSONObject Result = resultJson.getJSONObject("Result");
|
||||
JSONObject ResponseStatus = Result.getJSONObject("ResponseStatus");
|
||||
Boolean isSuccess = ResponseStatus.getBoolean("IsSuccess");
|
||||
if (isSuccess) {
|
||||
dynamicObject.set("shkd_xkfilestatus", "已推送");
|
||||
paymentObjects.add(dynamicObject);// 付款处理单据收集
|
||||
logger.info("付款处理 → 电子回单推送星空,单据编码:"+ dynamicObject.getString("billno") +"\n附件上传结果:" + uploadAttachmentResult);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -278,38 +296,62 @@ public class PushTaskPlugin extends AbstractTask implements Plugin {
|
|||
* 1、第一步 通过查询到的符合条件的收款或者付款单单据编号查到对应星空的对应单据的单据ID和单据编码
|
||||
* 2、推送电子回单至星空对应单据
|
||||
*/
|
||||
DynamicObject[] dynamicObjects1 = BusinessDataServiceHelper.load("t_bei_elecreceipt", "id,receiptno", new QFilter("receiptno", QCP.equals, details.get(0).getString("receiptno")).toArray());
|
||||
DynamicObject dynamicObjectObj = BusinessDataServiceHelper.loadSingle(dynamicObjects1[0].getPkValue(), dynamicObjects1[0].getDynamicObjectType().getName());
|
||||
IFormView viewByDynamicObj = createViewByDynamicObj(dynamicObjectObj);
|
||||
List<String> errMsgList = new ArrayList<>();
|
||||
DynamicObjectCollection receipts = QueryServiceHelper.query("bei_elecreceipt", "id,bank," +
|
||||
"fileflag,filepath,biztype,bankcheckflag,fileserverurl,tcpurl,uploadfilename,username,password," +
|
||||
"bank.bank_cate bankcate", new QFilter[]{new QFilter("id", QCP.equals, dynamicObject.getPkValue())});
|
||||
String pdfUrl = getPdfUrl(viewByDynamicObj.getPageId(), receipts, errMsgList);
|
||||
Path path = Paths.get(dynamicObject.getString("filepath"));
|
||||
String upfileName = path.getFileName().toString();
|
||||
logger.info("电子回单查询 → 电子回单附件推送接口 → 获取pdf地址:{}", pdfUrl);
|
||||
// 查
|
||||
DynamicObject[] objects = BusinessDataServiceHelper.load("shkd_apimapping", "id,billno," +
|
||||
"shkd_name,shkd_sourcenumber,shkd_domainname,shkd_appkey,shkd_appsecret,shkd_token,shkd_url,shkd_bodytype," +
|
||||
"shkd_sourcebill,shkd_targetsystem,entryentity,entryentity.shkd_tarfield,entryentity.shkd_tartier," +
|
||||
"entryentity.shkd_tartype,entryentity.shkd_parentfield,entryentity.shkd_soufield,entryentity.shkd_defaultdata," +
|
||||
"entryentity.shkd_required,entryentity.shkd_remarks,shkd_submiturl,shkd_xkusername,shkd_xkappid,shkd_xkacctid," +
|
||||
"shkd_xkappsec,shkd_xkserverurl",
|
||||
new QFilter("shkd_targetsystem", QCP.equals, "XK").toArray());
|
||||
String billNumber = dynamicObject.getString("billno");
|
||||
HashMap<String, Object> resultMap = getBillObject(objects[0], dynamicObject.getDataEntityType().getName(), billNumber);
|
||||
if ((boolean) resultMap.get("result")) {
|
||||
// 推
|
||||
DynamicObject[] dynamicObjects1 = BusinessDataServiceHelper.load("t_bei_elecreceipt", "id,receiptno", new QFilter("receiptno", QCP.equals, details.get(0).getString("receiptno")).toArray());
|
||||
DynamicObject dynamicObjectObj = BusinessDataServiceHelper.loadSingle(dynamicObjects1[0].getPkValue(), dynamicObjects1[0].getDynamicObjectType().getName());
|
||||
IFormView viewByDynamicObj = createViewByDynamicObj(dynamicObjectObj);
|
||||
List<String> errMsgList = new ArrayList<>();
|
||||
DynamicObjectCollection receipts = QueryServiceHelper.query("bei_elecreceipt", "id,bank," +
|
||||
"fileflag,filepath,biztype,bankcheckflag,fileserverurl,tcpurl,uploadfilename,username,password," +
|
||||
"bank.bank_cate bankcate", new QFilter[]{new QFilter("id", QCP.equals, dynamicObject.getPkValue())});
|
||||
String pdfUrl = getPdfUrl(viewByDynamicObj.getPageId(), receipts, errMsgList);
|
||||
Path path = Paths.get(dynamicObject.getString("filepath"));
|
||||
String upfileName = path.getFileName().toString();
|
||||
logger.info("电子回单查询 → 电子回单附件推送接口 → 获取pdf地址:{}", pdfUrl);
|
||||
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("FileName", upfileName);// 文件名
|
||||
jsonObject.put("FormId", "AP_PAYBILL");// 表单id(收款单:)
|
||||
jsonObject.put("IsLast", true);// 是否最后一次上传
|
||||
jsonObject.put("InterId", "单据内码");// 单据内码
|
||||
jsonObject.put("BillNO", dynamicObject.getString("billno"));// 单据编码
|
||||
jsonObject.put("AliasFileName", upfileName);// 附件别名
|
||||
jsonObject.put("SendByte", attachmentBase64(pdfUrl));// 文件字节数组转base64后的字符串
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("FileName", upfileName);// 文件名
|
||||
jsonObject.put("FormId", "AP_PAYBILL");// 表单id(收款单:)
|
||||
jsonObject.put("IsLast", true);// 是否最后一次上传
|
||||
jsonObject.put("InterId", "单据内码");// 单据内码
|
||||
jsonObject.put("BillNO", dynamicObject.getString("billno"));// 单据编码
|
||||
jsonObject.put("AliasFileName", upfileName);// 附件别名
|
||||
jsonObject.put("SendByte", attachmentBase64(pdfUrl));// 文件字节数组转base64后的字符串
|
||||
|
||||
String uploadAttachmentResult = null;
|
||||
try {
|
||||
uploadAttachmentResult = k3CloudApi.attachmentUpload(jsonObject.toString());
|
||||
logger.info("收款处理 → 电子回单推送星空,单据编码:"+ dynamicObject.getString("billno") +"\n附件上传结果:" + uploadAttachmentResult);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
String uploadAttachmentResult;
|
||||
try {
|
||||
uploadAttachmentResult = k3CloudApi.attachmentUpload(jsonObject.toString());
|
||||
|
||||
JSONObject resultJson = JSON.parseObject(uploadAttachmentResult);
|
||||
JSONObject Result = resultJson.getJSONObject("Result");
|
||||
JSONObject ResponseStatus = Result.getJSONObject("ResponseStatus");
|
||||
Boolean isSuccess = ResponseStatus.getBoolean("IsSuccess");
|
||||
if (isSuccess) {
|
||||
dynamicObject.set("shkd_xkfilestatus", "已推送");
|
||||
receivableObjects.add(dynamicObject);// 收款处理单据收集
|
||||
logger.info("收款处理 → 电子回单推送星空,单据编码:"+ dynamicObject.getString("billno") +"\n附件上传结果:" + uploadAttachmentResult);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
SaveServiceHelper.save(paymentObjects.toArray(new DynamicObject[0]));
|
||||
SaveServiceHelper.save(receivableObjects.toArray(new DynamicObject[0]));
|
||||
break;
|
||||
default:
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue