电子回单查询接口优化入参
This commit is contained in:
parent
dd9d816ef8
commit
94026016a5
|
|
@ -1,6 +1,7 @@
|
||||||
package shjh.jhzj7.fi.fi.webapi;
|
package shjh.jhzj7.fi.fi.webapi;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONException;
|
import com.alibaba.fastjson.JSONException;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.drew.lang.annotations.NotNull;
|
import com.drew.lang.annotations.NotNull;
|
||||||
|
|
@ -46,44 +47,55 @@ public class PayreceiptQueryControler {
|
||||||
//select * from T_CAS_PaymentBill where fbillno = 'FKZJ2025030006'; 2168985504052162560
|
//select * from T_CAS_PaymentBill where fbillno = 'FKZJ2025030006'; 2168985504052162560
|
||||||
//select * from t_org_org where fid = 2116753963226241024;
|
//select * from t_org_org where fid = 2116753963226241024;
|
||||||
JSONObject json_body;
|
JSONObject json_body;
|
||||||
String jsonBodyString;
|
|
||||||
try {
|
try {
|
||||||
// 解析入参,如果格式不正确,日志记录,并反馈esb7.4.1
|
// 解析入参,如果格式不正确,日志记录,并反馈esb7.4.1
|
||||||
json_body = (JSONObject) JSON.toJSON(PayreceiptQuerybill);
|
json_body = (JSONObject) JSON.toJSON(PayreceiptQuerybill);
|
||||||
jsonBodyString = JSON.toJSONString(json_body);
|
|
||||||
} catch (JSONException e) {
|
} catch (JSONException e) {
|
||||||
return handleErrorAndReturn("付款电子回单查询接口入参异常:" + e.getMessage(), Apimenthod, null,apiResultExt);
|
return handleErrorAndReturn("付款电子回单查询接口入参异常:" + e.getMessage(), Apimenthod, null,apiResultExt);
|
||||||
}
|
}
|
||||||
|
|
||||||
List<ApiResultExt.EntryBean> entryBeans = new ArrayList<>();
|
List<ApiResultExt.EntryBean> entryBeans = new ArrayList<>();//结果返回值
|
||||||
List<PayreceiptQueryModel.EntryBean> items = PayreceiptQuerybill.getItems();
|
JSONArray itemarray = json_body.getJSONArray("items");
|
||||||
for (PayreceiptQueryModel.EntryBean item : items) {
|
JSONObject json_item;
|
||||||
String companyNum = item.getCompanyNum();//公司编号
|
String companyNum;
|
||||||
String kdPayBillID = item.getKdPayBillID();//金蝶付款单ID
|
String kdPayBillID;
|
||||||
String fkBillID = item.getFkBillID();//费控单据主表ID
|
String fkBillID;
|
||||||
String fkEntryID = item.getFkEntryID();//费控单据分录ID
|
String fkEntryID;
|
||||||
String fkBillNumber = item.getFkBillNumber();//费控单据编号
|
String fkBillNumber;
|
||||||
String voucherNum = item.getVoucherNum();//付款凭证号
|
String voucherNum;
|
||||||
String voucherYear = item.getVoucherYear();//付款凭证会计年度
|
String voucherYear;
|
||||||
|
DynamicObject orginfo;
|
||||||
|
DynamicObject paybill;
|
||||||
|
ApiResultExt.EntryBean entryBean;
|
||||||
|
for (int i = 0; i < itemarray.size(); i++) {
|
||||||
|
json_item = itemarray.getJSONObject(i);
|
||||||
|
companyNum = json_item.getString("companyNum");//公司编号
|
||||||
|
kdPayBillID = json_item.getString("kdPayBillID");//金蝶付款单ID
|
||||||
|
fkBillID = json_item.getString("fkBillID");//费控单据主表ID
|
||||||
|
fkEntryID = json_item.getString("fkEntryID");//费控单据分录ID
|
||||||
|
fkBillNumber = json_item.getString("fkBillNumber");//费控单据编号
|
||||||
|
voucherNum = json_item.getString("voucherNum");//付款凭证号
|
||||||
|
voucherYear = json_item.getString("voucherYear");//付款凭证会计年度
|
||||||
|
|
||||||
DynamicObject org = loadOrgByCompanyNum(companyNum);
|
orginfo = loadOrgByCompanyNum(companyNum);
|
||||||
if (org == null) {
|
if (orginfo == null) {
|
||||||
handleError("查询失败,费控单据编号:" + fkBillNumber + "的组织编码不存在", fkBillNumber, jsonBodyString);
|
handleError("查询失败,费控单据编号:" + fkBillNumber + "的组织编码不存在", fkBillNumber, json_item.toJSONString());
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
QFilter q1 = new QFilter("openorg.number", QCP.equals, companyNum);//公司编号
|
QFilter q1 = new QFilter("openorg.number", QCP.equals, companyNum);//公司编号
|
||||||
if (kdPayBillID != null && !kdPayBillID.isEmpty()) {
|
if (!JhzjUtils.isEmpty(kdPayBillID)) {
|
||||||
q1 = addFilterIfNotNull(q1, "id", Long.valueOf(kdPayBillID));//金蝶付款单ID
|
q1 = addFilterIfNotNull(q1, "id", Long.valueOf(kdPayBillID));//金蝶付款单ID
|
||||||
}
|
}
|
||||||
q1 = addFilterIfNotEmpty(q1, "shjh_fkbillid", fkBillID);//费控单据主表ID
|
q1 = addFilterIfNotEmpty(q1, "shjh_fkbillid", fkBillID);//费控单据主表ID
|
||||||
q1 = addFilterIfNotEmpty(q1, "shjh_fkentryid", fkEntryID);//费控单据分录ID
|
q1 = addFilterIfNotEmpty(q1, "shjh_fkentryid", fkEntryID);//费控单据分录ID
|
||||||
q1 = addFilterIfNotEmpty(q1, "entry.shjh_fkdjbh", fkBillNumber);//费控单据编号-外部系统单号
|
q1 = addFilterIfNotEmpty(q1, "entry.shjh_fkdjbh", fkBillNumber);//费控单据编号-外部系统单号
|
||||||
q1 = addFilterIfNotEmpty(q1, "shjh_credentialnum", voucherNum);//付款凭证号
|
q1 = addFilterIfNotEmpty(q1, "entry.shjh_vouchernums", voucherNum);//应付凭证号
|
||||||
q1 = addFilterIfNotEmpty(q1, "shjh_sapfiscalyear", voucherYear);//付款凭证年份
|
q1 = addFilterIfNotEmpty(q1, "entry.shjh_voucheryear", voucherYear);//应付凭证年份
|
||||||
DynamicObject paybill = BusinessDataServiceHelper.loadSingle(paybillName, new QFilter[]{q1});
|
paybill = BusinessDataServiceHelper.loadSingle(paybillName, new QFilter[]{q1});
|
||||||
|
|
||||||
//申明此次查询的返回值
|
//申明此次查询的返回值
|
||||||
ApiResultExt.EntryBean entryBean = new ApiResultExt.EntryBean();
|
entryBean = new ApiResultExt.EntryBean();
|
||||||
entryBean.setCompanyNum(companyNum);//公司编号
|
entryBean.setCompanyNum(companyNum);//公司编号
|
||||||
entryBean.setKdPayBillID(kdPayBillID);//金蝶付款单ID
|
entryBean.setKdPayBillID(kdPayBillID);//金蝶付款单ID
|
||||||
entryBean.setFkBillID(fkBillID);//费控单据主表ID
|
entryBean.setFkBillID(fkBillID);//费控单据主表ID
|
||||||
|
|
@ -94,7 +106,11 @@ public class PayreceiptQueryControler {
|
||||||
entryBean.setReceipturl("");//电子回单路径
|
entryBean.setReceipturl("");//电子回单路径
|
||||||
entryBeans.add(entryBean);
|
entryBeans.add(entryBean);
|
||||||
if (null == paybill) {
|
if (null == paybill) {
|
||||||
handleError("查询失败:付款单不存在", fkEntryID, jsonBodyString);
|
if(JhzjUtils.isEmpty(fkEntryID)){
|
||||||
|
//说明本次是sap来查询的,不是费控来查询的
|
||||||
|
fkEntryID = voucherNum;
|
||||||
|
}
|
||||||
|
handleError("查询失败:付款单不存在", fkEntryID, json_item.toJSONString());
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
//查询电子回单,返回pdf url
|
//查询电子回单,返回pdf url
|
||||||
|
|
@ -141,23 +157,27 @@ public class PayreceiptQueryControler {
|
||||||
// }
|
// }
|
||||||
} catch (Exception var11) {
|
} catch (Exception var11) {
|
||||||
logger.error("电子回单获取文件路径异常: " + var11.getMessage());
|
logger.error("电子回单获取文件路径异常: " + var11.getMessage());
|
||||||
handleError("查询失败:电子回单获取文件路径异常", receiptNo, jsonBodyString);
|
handleError("查询失败:电子回单获取文件路径异常", receiptNo, json_item.toJSONString());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
logger.warn(receiptNo + "回单为非文件类回单");
|
logger.warn(receiptNo + "回单为非文件类回单");
|
||||||
handleError("查询失败:回单为非文件类回单", receiptNo, jsonBodyString);
|
handleError("查询失败:回单为非文件类回单", receiptNo, json_item.toJSONString());
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
handleError("查询失败:电子回单不存在", eReceiptid+"", jsonBodyString);
|
handleError("查询失败:电子回单不存在", eReceiptid+"", json_item.toJSONString());
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
handleError("查询失败:交易明细未关联电子回单", edetailbillno, jsonBodyString);
|
handleError("查询失败:交易明细未关联电子回单", edetailbillno, json_item.toJSONString());
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
handleError("查询失败:交易明细编号不存在", edetailbillno, jsonBodyString);
|
handleError("查询失败:交易明细编号不存在", edetailbillno, json_item.toJSONString());
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
handleError("查询失败:付款单未关联交易明细", fkEntryID, jsonBodyString);
|
if(JhzjUtils.isEmpty(fkEntryID)){
|
||||||
|
//说明本次是sap来查询的,不是费控来查询的
|
||||||
|
fkEntryID = voucherNum;
|
||||||
|
}
|
||||||
|
handleError("查询失败:付款单未关联交易明细", fkEntryID, json_item.toJSONString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return handleSuccessAndReturn(apiResultExt, entryBeans);
|
return handleSuccessAndReturn(apiResultExt, entryBeans);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue