付款电子回单查询
This commit is contained in:
parent
5f5313b248
commit
76b7a43975
|
|
@ -1,15 +1,16 @@
|
|||
package shjh.jhzj7.fi.fi.plugin.form;
|
||||
|
||||
import kd.bos.context.RequestContext;
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.form.events.SetFilterEvent;
|
||||
import kd.bos.list.plugin.AbstractListPlugin;
|
||||
import kd.bos.orm.query.QCP;
|
||||
import kd.bos.orm.query.QFilter;
|
||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||
import kd.bos.servicehelper.permission.PermissionServiceHelper;
|
||||
import kd.sdk.plugin.Plugin;
|
||||
|
||||
import java.util.EventObject;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* 列表插件-清账明细单-过滤创建人
|
||||
|
|
@ -17,7 +18,9 @@ import java.util.Set;
|
|||
*/
|
||||
public class ClearDetailBillListPlugin extends AbstractListPlugin implements Plugin {
|
||||
|
||||
private boolean isArRole = false;//是否应收角色
|
||||
private boolean isArRole = false;//是否属于应收组
|
||||
|
||||
private static final String entityName = "bos_usergroupstaff";//用户组职员关系 T_SEC_UserGroupStaff
|
||||
|
||||
@Override
|
||||
public void setFilter(SetFilterEvent e) {
|
||||
|
|
@ -29,12 +32,28 @@ public class ClearDetailBillListPlugin extends AbstractListPlugin implements Plu
|
|||
}
|
||||
|
||||
private void setArRole(){
|
||||
//判断当前用户的角色是否是应收,是应收返回true
|
||||
// PermissionServiceHelper.getUsersByRoleNum("source_quality_DJ");//根据角色编号查找下属所有用户
|
||||
Set<String> roles = PermissionServiceHelper.getRolesByUser(RequestContext.get().getCurrUserId());//根据用户ID查找所属角色集合
|
||||
//TODO 再判断集合中是否包含应收角色
|
||||
if(roles.contains("ar000")){
|
||||
//如果是全功能用户返回true
|
||||
if(PermissionServiceHelper.isSuperUser(RequestContext.get().getCurrUserId())){
|
||||
isArRole = true;
|
||||
return;
|
||||
}
|
||||
// PermissionServiceHelper.getUsersByRoleNum("source_quality_DJ");//根据角色编号查找下属所有用户
|
||||
// Set<String> roles = PermissionServiceHelper.getRolesByUser(RequestContext.get().getCurrUserId());//根据用户ID查找所属角色集合
|
||||
// //再判断集合中是否包含应收角色
|
||||
// if(roles.contains("ar000")){
|
||||
// isArRole = true;
|
||||
// }
|
||||
|
||||
//判断当前用户的用户组是否是应收,是应收返回true
|
||||
DynamicObject[] ddos = BusinessDataServiceHelper.load(entityName, "usergroup.id,usergroup.number,usergroup.name",
|
||||
new QFilter[]{new QFilter("user", QCP.equals, RequestContext.get().getCurrUserId())});
|
||||
DynamicObject groupinfo;
|
||||
for (DynamicObject ddo : ddos) {
|
||||
groupinfo = ddo.getDynamicObject("usergroup");
|
||||
if("应收组".equals(groupinfo.getString("name"))){
|
||||
isArRole = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -239,10 +239,11 @@ public class FundPlanCollectionTask extends AbstractTask implements Plugin {
|
|||
QFilter startDateFilter = new QFilter("shjh_begindate", QCP.less_equals, currentDate);
|
||||
QFilter endDateFilter = new QFilter("shjh_enddate", QCP.large_equals, currentDate);
|
||||
QFilter newFilter = qFilter.and(startDateFilter).and(endDateFilter);
|
||||
accounts = BusinessDataServiceHelper.load(payReceName, "id", newFilter.toArray());
|
||||
//多个条件时根据优先级排序,拿到优先级最高的
|
||||
accounts = BusinessDataServiceHelper.load(payReceName, "id", newFilter.toArray(),"shjh_priority");
|
||||
}
|
||||
if (accounts.length > 0) {
|
||||
// 处理找到符合条件的账户
|
||||
// 处理找到符合条件的资金科目
|
||||
DynamicObject account = accounts[0];
|
||||
account = BusinessDataServiceHelper.loadSingle(account.getPkValue(), payReceName);
|
||||
return account.getDynamicObject("shjh_membersubject").getString("number");
|
||||
|
|
|
|||
|
|
@ -6,8 +6,6 @@ import com.alibaba.fastjson.JSONObject;
|
|||
import com.drew.lang.annotations.NotNull;
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||
import kd.bos.fileservice.FileService;
|
||||
import kd.bos.fileservice.FileServiceFactory;
|
||||
import kd.bos.logging.Log;
|
||||
import kd.bos.logging.LogFactory;
|
||||
import kd.bos.openapi.common.custom.annotation.ApiController;
|
||||
|
|
@ -17,14 +15,12 @@ import kd.bos.openapi.common.result.CustomApiResult;
|
|||
import kd.bos.orm.query.QCP;
|
||||
import kd.bos.orm.query.QFilter;
|
||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||
import kd.bos.util.ExceptionUtils;
|
||||
import kd.bos.util.StringUtils;
|
||||
import kd.tmc.bei.common.helper.ReceiptPrintHelper;
|
||||
import shjh.jhzj7.fi.fi.utils.JhzjUtils;
|
||||
import shjh.jhzj7.fi.fi.webapi.model.ApiResultExt;
|
||||
import shjh.jhzj7.fi.fi.webapi.model.PayreceiptQueryModel;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.io.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -37,8 +33,11 @@ import static shjh.jhzj7.fi.fi.webapi.ApplyAdjustBillControler.loadOrgByCompanyN
|
|||
public class PayreceiptQueryControler {
|
||||
|
||||
private static final String Apimenthod = "付款电子回单查询接口";
|
||||
private static final Log log = LogFactory.getLog(PayreceiptQueryControler.class);
|
||||
private static final Log logger = LogFactory.getLog(PayreceiptQueryControler.class);
|
||||
private static final String apimenthod = "/payreceipt_query";
|
||||
private static final String detailName = "bei_intelpay";//交易明细标识
|
||||
private static final String elecreceiptName = "bei_elecreceipt";//电子回单标识
|
||||
private static final String paybillName = "cas_paybill";//付款单标识 T_CAS_PaymentBill
|
||||
|
||||
@ApiPostMapping(value = apimenthod, desc = "付款电子回单查询接口")
|
||||
public CustomApiResult<ApiResultExt> paybill_vouchernum(@NotNull @Valid @ApiRequestBody(value = "入参json格式数据") PayreceiptQueryModel PayreceiptQuerybill) {
|
||||
|
|
@ -47,7 +46,7 @@ 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 = null;
|
||||
String jsonBodyString;
|
||||
try {
|
||||
// 解析入参,如果格式不正确,日志记录,并反馈esb7.4.1
|
||||
json_body = (JSONObject) JSON.toJSON(PayreceiptQuerybill);
|
||||
|
|
@ -64,27 +63,35 @@ public class PayreceiptQueryControler {
|
|||
String fkBillID = item.getFkBillID();//费控单据主表ID
|
||||
String fkEntryID = item.getFkEntryID();//费控单据分录ID
|
||||
String fkBillNumber = item.getFkBillNumber();//费控单据编号
|
||||
String voucherNum = item.getVoucherNum();//付款凭证号
|
||||
String voucherYear = item.getVoucherYear();//付款凭证会计年度
|
||||
|
||||
DynamicObject org = loadOrgByCompanyNum(companyNum);
|
||||
if (org == null) {
|
||||
return handleErrorAndReturn("同步失败,费控单据编号:" + fkBillNumber + "的组织编码不存在", fkBillNumber, jsonBodyString,apiResultExt);
|
||||
return handleErrorAndReturn("查询失败,费控单据编号:" + fkBillNumber + "的组织编码不存在", fkBillNumber, jsonBodyString,apiResultExt);
|
||||
}
|
||||
|
||||
QFilter q1 = new QFilter("openorg.number", QCP.equals, companyNum);
|
||||
QFilter q1 = new QFilter("openorg.number", QCP.equals, companyNum);//公司编号
|
||||
if (kdPayBillID != null && !kdPayBillID.isEmpty()) {
|
||||
q1 = addFilterIfNotNull(q1, "id", Long.valueOf(kdPayBillID));
|
||||
q1 = addFilterIfNotNull(q1, "id", Long.valueOf(kdPayBillID));//金蝶付款单ID
|
||||
}
|
||||
q1 = addFilterIfNotEmpty(q1, "shjh_fkbillid", fkBillID);
|
||||
q1 = addFilterIfNotEmpty(q1, "shjh_fkentryid", fkEntryID);
|
||||
DynamicObject paybill = BusinessDataServiceHelper.loadSingle("cas_paybill", new QFilter[]{q1});
|
||||
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);//付款凭证号
|
||||
DynamicObject paybill = BusinessDataServiceHelper.loadSingle(paybillName, new QFilter[]{q1});
|
||||
if (null == paybill) {
|
||||
return handleErrorAndReturn("同步失败:付款单不存在", fkEntryID, jsonBodyString,apiResultExt);
|
||||
return handleErrorAndReturn("查询失败:付款单不存在", fkEntryID, jsonBodyString,apiResultExt);
|
||||
}
|
||||
//申明此次查询的返回值
|
||||
ApiResultExt.EntryBean entryBean = new ApiResultExt.EntryBean();
|
||||
entryBean.setCompanyNum(companyNum);
|
||||
entryBean.setKdPayBillID(String.valueOf(paybill.getPkValue()));
|
||||
entryBean.setFkBillID(paybill.getString("shjh_fkbillid"));
|
||||
entryBean.setFkEntryID(paybill.getString("shjh_fkentryid"));
|
||||
entryBean.setCompanyNum(companyNum);//公司编号
|
||||
entryBean.setKdPayBillID(String.valueOf(paybill.getPkValue()));//金蝶付款单ID
|
||||
entryBean.setFkBillID(paybill.getString("shjh_fkbillid"));//费控单据主表ID
|
||||
entryBean.setFkEntryID(paybill.getString("shjh_fkentryid"));//费控单据分录ID
|
||||
entryBean.setFkBillNumber(fkBillNumber);//费控单据编号
|
||||
entryBean.setVoucherNum(voucherNum);//付款凭证号
|
||||
entryBean.setVoucherYear(voucherYear);//付款凭证会计年度
|
||||
//查询电子回单,返回pdf url
|
||||
//1.付款单查询明细
|
||||
DynamicObjectCollection bankcheckentity = paybill.getDynamicObjectCollection("bankcheckentity");//交易明细分录
|
||||
|
|
@ -92,95 +99,65 @@ public class PayreceiptQueryControler {
|
|||
for (DynamicObject dynamicObject : bankcheckentity) {
|
||||
String edetailbillno = dynamicObject.getString("edetailbillno");//交易明细编号
|
||||
QFilter qFilter = new QFilter("billno", QCP.equals, edetailbillno);
|
||||
//被动付款入账
|
||||
DynamicObject beiIntelpay = BusinessDataServiceHelper.loadSingle("bei_intelpay",
|
||||
//被动付款入账-交易明细
|
||||
DynamicObject beiIntelpay = BusinessDataServiceHelper.loadSingle(detailName,
|
||||
"id,billno,matchreceiptentry,matchreceiptentry.e_receiptid", qFilter.toArray());
|
||||
if (beiIntelpay != null) {
|
||||
//电子回单关联信息分录
|
||||
DynamicObjectCollection matchreceiptentry = beiIntelpay.getDynamicObjectCollection("matchreceiptentry");
|
||||
if (!matchreceiptentry.isEmpty()) {
|
||||
for (DynamicObject object : matchreceiptentry) {
|
||||
Long eReceiptid = object.getLong("e_receiptid");//电子回单ID
|
||||
QFilter qFilter1 = new QFilter("id", QCP.equals, eReceiptid);
|
||||
//电子回单信息
|
||||
DynamicObject receipt = BusinessDataServiceHelper.loadSingle("bei_elecreceipt",
|
||||
"id,uploadfilename", qFilter1.toArray());
|
||||
if (null != receipt) {
|
||||
|
||||
String realUploadUrl = getRealUploadUrl(receipt);
|
||||
String[] split = realUploadUrl.split("/");
|
||||
String fileName = split[split.length - 1];
|
||||
String desPlace = "./".concat(fileName);
|
||||
OutputStream out = downloadFile(desPlace, realUploadUrl);
|
||||
File ofdFile = getFile(out, realUploadUrl, desPlace);
|
||||
System.out.println("");
|
||||
DynamicObjectCollection mentrys = beiIntelpay.getDynamicObjectCollection("matchreceiptentry");
|
||||
if (!mentrys.isEmpty()) {
|
||||
// for (DynamicObject object : matchreceiptentry) {
|
||||
// }
|
||||
Long eReceiptid = mentrys.get(0).getLong("e_receiptid");//电子回单ID
|
||||
//电子回单信息
|
||||
DynamicObject receipt = BusinessDataServiceHelper.loadSingle(eReceiptid,elecreceiptName,"id,fileflag,receiptno,uploadfilename");
|
||||
if (null != receipt) {
|
||||
String receiptNo = receipt.getString("receiptno");
|
||||
if (receipt.getBoolean("fileflag")) {
|
||||
try {
|
||||
String realUploadUrl = ReceiptPrintHelper.getRealUploadUrl(receipt);//电子回单真实路径
|
||||
realUploadUrl = ReceiptPrintHelper.getFilePreviewUrl(realUploadUrl);
|
||||
entryBean.setReceipturl(realUploadUrl);
|
||||
logger.info("电子回单预览URL: "+realUploadUrl);
|
||||
// new ViewReceiptService().getElecByReceiptno();//可获得电子回单的查看URL kd.tmc.bei.business.opservice.elec
|
||||
// byte[] stream = BeiHelper.getPdfPutStream(realUploadUrl);//电子回单字节数组
|
||||
// if (stream.length <= 1) {
|
||||
// logger.warn(receiptNo + "下载回单文件流为空,请检查回单文件路径值。");
|
||||
// } else {
|
||||
// entryBean.setFileName(realUploadUrl.substring(realUploadUrl.lastIndexOf("/")+1));
|
||||
// entryBean.setFileData(stream);
|
||||
// logger.info("电子回单文件下载成功: "+entryBean.getFileName());
|
||||
// entryBean.setErrormsg(realUploadUrl);
|
||||
// String[] split = realUploadUrl.split("\\.");
|
||||
// resultMap.put(receiptNo, new OpenApiFile(realUploadUrl, split[split.length - 1], true, stream));
|
||||
// }
|
||||
} catch (Exception var11) {
|
||||
logger.error("电子回单获取文件路径异常: " + var11.getMessage());
|
||||
return handleErrorAndReturn("查询失败:电子回单获取文件路径异常", eReceiptid+"", jsonBodyString,apiResultExt);
|
||||
}
|
||||
} else {
|
||||
logger.warn(receiptNo + "回单为非文件类回单");
|
||||
return handleErrorAndReturn("查询失败:回单为非文件类回单", eReceiptid+"", jsonBodyString,apiResultExt);
|
||||
}
|
||||
}else{
|
||||
return handleErrorAndReturn("查询失败:电子回单不存在", eReceiptid+"", jsonBodyString,apiResultExt);
|
||||
}
|
||||
}else{
|
||||
return handleErrorAndReturn("查询失败:交易明细未关联电子回单", edetailbillno, jsonBodyString,apiResultExt);
|
||||
}
|
||||
}else{
|
||||
return handleErrorAndReturn("查询失败:交易明细编号不存在", edetailbillno, jsonBodyString,apiResultExt);
|
||||
}
|
||||
}
|
||||
}else{
|
||||
return handleErrorAndReturn("查询失败:付款单未关联交易明细", fkEntryID, jsonBodyString,apiResultExt);
|
||||
}
|
||||
|
||||
entryBean.setReceipturl("https://fm-test.jahwa.com.cn/ierp/?formId=home_page");
|
||||
entryBeans.add(entryBean);
|
||||
}
|
||||
return handleSuccessAndReturn(apiResultExt, entryBeans);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取文件真实路径
|
||||
*/
|
||||
public static String getRealUploadUrl(DynamicObject receipt) {
|
||||
String uploadFilName = receipt.getString("uploadfilename");
|
||||
String realPath = "";
|
||||
if (StringUtils.isNotEmpty(uploadFilName)) {
|
||||
realPath = uploadFilName;
|
||||
if (!uploadFilName.contains(".") && !uploadFilName.contains("/")) {
|
||||
//不是以路径结尾的, 作为查询条件去查实际路径
|
||||
try {
|
||||
FileService attachmentFileService = FileServiceFactory.getAttachmentFileService();
|
||||
realPath = attachmentFileService.getFileServiceExt().getRealPath(uploadFilName);
|
||||
}catch (Exception e) {
|
||||
log.error("获取文件真实路径失败" + ExceptionUtils.getExceptionStackTraceMessage(e));
|
||||
}
|
||||
}
|
||||
}
|
||||
return realPath;
|
||||
}
|
||||
|
||||
public static OutputStream downloadFile(String desPlace, String realUploadUrl) {
|
||||
OutputStream out = null;
|
||||
try {
|
||||
FileService fs = FileServiceFactory.getAttachmentFileService();
|
||||
String userAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36";
|
||||
try {
|
||||
out = new FileOutputStream(desPlace);
|
||||
} catch (FileNotFoundException e) {
|
||||
log.error("根据目标路径创建文件输出流出错 {}", e.getMessage());
|
||||
}
|
||||
fs.download(realUploadUrl, out, userAgent);
|
||||
} catch (Exception e) {
|
||||
log.error("执行download下载操作出错 {}", e.getMessage());
|
||||
}
|
||||
return out;
|
||||
}
|
||||
|
||||
public static File getFile(OutputStream outStream, String relativeUrl, String targetPdfRoute){
|
||||
FileService fileService = FileServiceFactory.getAttachmentFileService();
|
||||
try (InputStream inputStream = fileService.getInputStream(relativeUrl)){
|
||||
byte[] buffer = new byte[inputStream.available()];
|
||||
inputStream.read(buffer);
|
||||
File targetFile = new File(targetPdfRoute);
|
||||
outStream.write(buffer);
|
||||
return targetFile;
|
||||
}catch (Exception e) {
|
||||
log.error("从容器获取电子回单pdf失败 {}", e.getMessage());
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private static QFilter addFilterIfNotNull(QFilter baseFilter, String field, Long value) {
|
||||
private QFilter addFilterIfNotNull(QFilter baseFilter, String field, Long value) {
|
||||
if (value != null) {
|
||||
QFilter newFilter = new QFilter(field, QCP.equals, value);
|
||||
return baseFilter.and(newFilter);
|
||||
|
|
@ -188,7 +165,7 @@ public class PayreceiptQueryControler {
|
|||
return baseFilter;
|
||||
}
|
||||
|
||||
private static QFilter addFilterIfNotEmpty(QFilter baseFilter, String field, String value) {
|
||||
private QFilter addFilterIfNotEmpty(QFilter baseFilter, String field, String value) {
|
||||
if (value != null && !value.isEmpty()) {
|
||||
QFilter newFilter = new QFilter(field, QCP.equals, value);
|
||||
return baseFilter.and(newFilter);
|
||||
|
|
@ -204,7 +181,7 @@ public class PayreceiptQueryControler {
|
|||
* @param jsonBodyString 入参JSON字符串
|
||||
* @return 失败的CustomApiResult对象
|
||||
*/
|
||||
public static CustomApiResult<ApiResultExt> handleErrorAndReturn(String errorMessage, String fkBillNum, String jsonBodyString,ApiResultExt apiResultExt) {
|
||||
public CustomApiResult<ApiResultExt> handleErrorAndReturn(String errorMessage, String fkBillNum, String jsonBodyString,ApiResultExt apiResultExt) {
|
||||
handleError(errorMessage, fkBillNum, jsonBodyString);
|
||||
apiResultExt.setErrorCode("400");
|
||||
apiResultExt.setStatus(false);
|
||||
|
|
@ -217,7 +194,7 @@ public class PayreceiptQueryControler {
|
|||
* 处理成功并返回结果
|
||||
* @return 成功的CustomApiResult对象
|
||||
*/
|
||||
public static CustomApiResult<ApiResultExt> handleSuccessAndReturn(ApiResultExt apiResultExt, List<ApiResultExt.EntryBean> entryBeans) {
|
||||
public CustomApiResult<ApiResultExt> handleSuccessAndReturn(ApiResultExt apiResultExt, List<ApiResultExt.EntryBean> entryBeans) {
|
||||
apiResultExt.setErrorCode("0");
|
||||
apiResultExt.setStatus(true);
|
||||
apiResultExt.setData(entryBeans);
|
||||
|
|
@ -232,8 +209,8 @@ public class PayreceiptQueryControler {
|
|||
* @param fkBillNum 费控单据编号
|
||||
* @param jsonBodyString 入参JSON字符串
|
||||
*/
|
||||
public static void handleError(String errorMessage, String fkBillNum, String jsonBodyString) {
|
||||
log.error(errorMessage);
|
||||
public void handleError(String errorMessage, String fkBillNum, String jsonBodyString) {
|
||||
logger.error(errorMessage);
|
||||
// 可以添加更多的错误处理逻辑,如记录到数据库等
|
||||
JhzjUtils.saveLog(fkBillNum, Apimenthod, jsonBodyString, errorMessage, false, "API");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,7 +30,13 @@ public class ApiResultExt implements Serializable {
|
|||
private String fkBillID;
|
||||
@ApiParam("费控单据分录ID")
|
||||
private String fkEntryID;
|
||||
@ApiParam("电子回单的URL,有可能为空")
|
||||
@ApiParam("费控单据编号")
|
||||
private String fkBillNumber;
|
||||
@ApiParam("付款凭证号")
|
||||
private String voucherNum;
|
||||
@ApiParam("付款凭证会计年度")
|
||||
private String voucherYear;
|
||||
@ApiParam("电子回单的预览URL,有可能为空")
|
||||
private String receipturl;
|
||||
|
||||
public String getCompanyNum() {
|
||||
|
|
@ -65,6 +71,22 @@ public class ApiResultExt implements Serializable {
|
|||
this.fkEntryID = fkEntryID;
|
||||
}
|
||||
|
||||
public String getVoucherNum() {
|
||||
return voucherNum;
|
||||
}
|
||||
|
||||
public void setVoucherNum(String voucherNum) {
|
||||
this.voucherNum = voucherNum;
|
||||
}
|
||||
|
||||
public String getVoucherYear() {
|
||||
return voucherYear;
|
||||
}
|
||||
|
||||
public void setVoucherYear(String voucherYear) {
|
||||
this.voucherYear = voucherYear;
|
||||
}
|
||||
|
||||
public String getReceipturl() {
|
||||
return receipturl;
|
||||
}
|
||||
|
|
@ -72,6 +94,15 @@ public class ApiResultExt implements Serializable {
|
|||
public void setReceipturl(String receipturl) {
|
||||
this.receipturl = receipturl;
|
||||
}
|
||||
|
||||
public String getFkBillNumber() {
|
||||
return fkBillNumber;
|
||||
}
|
||||
|
||||
public void setFkBillNumber(String fkBillNumber) {
|
||||
this.fkBillNumber = fkBillNumber;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public Boolean getStatus() {
|
||||
|
|
|
|||
|
|
@ -25,6 +25,26 @@ public class PayreceiptQueryModel implements Serializable{
|
|||
private String fkEntryID;
|
||||
@ApiParam(value = "费控单据编号", required = false, position = 5)
|
||||
private String fkBillNumber;
|
||||
@ApiParam(value = "付款凭证号", required = false, position = 6)
|
||||
private String voucherNum;
|
||||
@ApiParam(value = "付款凭证会计年度", required = false, position = 7)
|
||||
private String voucherYear;
|
||||
|
||||
public String getVoucherNum() {
|
||||
return voucherNum;
|
||||
}
|
||||
|
||||
public void setVoucherNum(String voucherNum) {
|
||||
this.voucherNum = voucherNum;
|
||||
}
|
||||
|
||||
public String getVoucherYear() {
|
||||
return voucherYear;
|
||||
}
|
||||
|
||||
public void setVoucherYear(String voucherYear) {
|
||||
this.voucherYear = voucherYear;
|
||||
}
|
||||
|
||||
public String getCompanyNum() {
|
||||
return companyNum;
|
||||
|
|
|
|||
Loading…
Reference in New Issue