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