From 3cd1db2e54b6c3e70e0685bc41a9a431a9279174 Mon Sep 17 00:00:00 2001 From: mzr Date: Fri, 28 Nov 2025 19:24:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=94=E4=BB=98=E5=8D=95=E8=B7=B3=E8=BD=AC?= =?UTF-8?q?=E6=97=97=E8=88=B0=E7=89=88=E6=8C=89=E9=92=AE-=E5=90=8E?= =?UTF-8?q?=E7=AB=AF=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../arap/arappub/action/LinkBipAction.java | 59 ++++++++++++++++++ .../action/LinkOtherPurInvoiceAction.java | 61 +++++++++++++++++++ .../app/config/authorize/arap_authorize.xml | 2 + .../arappub/config/action/arapbaseconfig.xml | 6 ++ 4 files changed, 128 insertions(+) create mode 100644 arap/src/client/nccloud/web/arap/arappub/action/LinkBipAction.java create mode 100644 arap/src/client/nccloud/web/arap/arappub/action/LinkOtherPurInvoiceAction.java diff --git a/arap/src/client/nccloud/web/arap/arappub/action/LinkBipAction.java b/arap/src/client/nccloud/web/arap/arappub/action/LinkBipAction.java new file mode 100644 index 00000000..d63c8f60 --- /dev/null +++ b/arap/src/client/nccloud/web/arap/arappub/action/LinkBipAction.java @@ -0,0 +1,59 @@ +package nccloud.web.arap.arappub.action; + +import nc.bs.framework.common.InvocationInfoProxy; +import nc.bs.framework.common.NCLocator; +import nc.itf.scmpub.reference.uap.rbac.UserManageQuery; +import nc.itf.uif.pub.IUifService; +import nc.vo.bc.pub.util.SysParaInitQuery; +import nc.vo.bd.psn.PsndocVO; +import nccloud.baseapp.core.log.NCCForUAPLogger; +import nccloud.framework.web.container.IRequest; +import nccloud.web.action.NCCAction; +import nccloud.web.uapbd.commons.web.ParamUtils; + +public class LinkBipAction extends NCCAction { + private IUifService uifservice = NCLocator.getInstance().lookup(IUifService.class); + // JwtUtil util = new JwtUtil(); + + @Override + public Object execute(IRequest request, T para) throws Exception { + + ParamUtils param = new ParamUtils(request); + String bip_pk = param.getString("bip_pk", null); + String bip_no = param.getString("bip_no", null); + // String pk_group = param.getString("pk_group", null); + String redirctCode = "purinv"; + String userid = InvocationInfoProxy.getInstance().getUserId(); + String psnid = UserManageQuery.queryPsndocByUserid(userid); + // String linkbipurl = SysParaInitQuery.getParaString("GLOBLE00000000000000", "LinkBIPUrl"); + String linkbipurl = ""; + linkbipurl = "https://www.tkkfbip.com/c-kk-lszz-znpt/commontthirdLogin"; + // if (psnid == null || psnid.isEmpty()) { + // throw new RuntimeException("当前用户无人员信息,请检查"); + // } + try { + // PsndocVO vo = (PsndocVO) uifservice.queryByPrimaryKey(PsndocVO.class, psnid); + // String key = SysParaInitQuery.getParaString("GLOBLE00000000000000", "LinkBIPKey");// 密钥 + // String[] bipkey = key.split("/"); + // if (bipkey == null || bipkey.length != 2) { + // throw new RuntimeException("LinkBIPKey格式不对,请检查!"); + // } + // String userCode = util.encrypt(vo.getCode(), bipkey[0]); + // Map map = new HashMap<>(); + // map.put("userCode", userCode); + // map.put("secretKey", bipkey[1]); + // map.put("ttlMillis", 60000 * 1);// 设置过期时间1分钟 + // String token = util.createJWT(map); + // String url = "?token=" + token + "&redirctCode=" + redirctCode + "&billId=" + bip_pk; + // bip_pk = "2385789401874563081";// 测试环境 + bip_pk = "2414583154678431746";//开发环境 + String url = "?redirctCode=" + redirctCode + "&billId=" + bip_pk; + linkbipurl = linkbipurl + url; + NCCForUAPLogger.debug("LinkBipAction-linkbipurl = " + linkbipurl); + return linkbipurl; + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + +} diff --git a/arap/src/client/nccloud/web/arap/arappub/action/LinkOtherPurInvoiceAction.java b/arap/src/client/nccloud/web/arap/arappub/action/LinkOtherPurInvoiceAction.java new file mode 100644 index 00000000..b023305b --- /dev/null +++ b/arap/src/client/nccloud/web/arap/arappub/action/LinkOtherPurInvoiceAction.java @@ -0,0 +1,61 @@ +package nccloud.web.arap.arappub.action; + +import com.alibaba.fastjson.JSONObject; +import nc.bs.dao.BaseDAO; +import nc.itf.arap.pub.IArapBillService; +import nc.jdbc.framework.processor.MapProcessor; +import nc.util.mmf.framework.base.MMValueCheck; +import nc.vo.arap.basebill.BaseAggVO; +import nc.vo.arap.basebill.BaseItemVO; +import nc.vo.pub.BusinessException; +import nccloud.baseapp.core.log.NCCForUAPLogger; +import nccloud.framework.core.exception.ExceptionUtils; +import nccloud.framework.core.json.IJson; +import nccloud.framework.service.ServiceLocator; +import nccloud.framework.web.action.itf.ICommonAction; +import nccloud.framework.web.container.IRequest; +import nccloud.framework.web.json.JsonFactory; +import nccloud.web.arap.arappub.info.CommonInfo; +import nccloud.web.arap.arappub.util.BillActionUtils; + +import java.util.Map; + +public class LinkOtherPurInvoiceAction implements ICommonAction { + public LinkOtherPurInvoiceAction() { + } + + public Object doAction(IRequest request) { + String str = request.read(); + (new BillActionUtils()).setBusiInfoParm(str); + IJson json = JsonFactory.create(); + CommonInfo info = json.fromJson(str, CommonInfo.class); + try { + String pkBill = info.getPk_bill(); + String billType = info.getBillType(); + NCCForUAPLogger.debug("pkBill:" + pkBill + " billType:" + billType); + BaseAggVO[] vos = ServiceLocator.find(IArapBillService.class).queryArapBillByPKs(new String[]{pkBill}, billType); + if (MMValueCheck.isEmpty(vos)) { + ExceptionUtils.wrapBusinessException("δҵ"); + } + BaseAggVO vo = vos[0]; + BaseItemVO[] itemVOS = vo.getItems(); + BaseItemVO itemVO = itemVOS[0]; + String topBillid = itemVO.getTop_billid(); + String topTradetype = itemVO.getTop_tradetype(); + NCCForUAPLogger.debug("topBillid:" + topBillid + " topTradetype:" + topTradetype); + String sql = "SELECT a.pk_invoice,a.vbillcode," + + " b.cextsrcbilltype, b.vextsrcbillcode, b.cextsrcid, b.cextsrcbid" + + " FROM po_invoice_b b" + + " LEFT JOIN po_invoice a ON a.pk_invoice = b.pk_invoice" + + " WHERE " + + " a.pk_invoice = '" + topBillid + "'"; + Map map = (Map) new BaseDAO().executeQuery(sql, new MapProcessor()); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("data", map); + return jsonObject; + } catch (BusinessException e) { + ExceptionUtils.wrapException(e); + return null; + } + } +} diff --git a/arap/src/client/yyconfig/modules/arap/app/config/authorize/arap_authorize.xml b/arap/src/client/yyconfig/modules/arap/app/config/authorize/arap_authorize.xml index 82295b7d..a989b5f6 100644 --- a/arap/src/client/yyconfig/modules/arap/app/config/authorize/arap_authorize.xml +++ b/arap/src/client/yyconfig/modules/arap/app/config/authorize/arap_authorize.xml @@ -508,6 +508,8 @@ arap.confirmpayablebill.queryconferwidget arap.retention.qryrmcdmoney + + arap.arappub.linkBip diff --git a/arap/src/client/yyconfig/modules/arap/arappub/config/action/arapbaseconfig.xml b/arap/src/client/yyconfig/modules/arap/arappub/config/action/arapbaseconfig.xml index c990cbfa..1936ad21 100644 --- a/arap/src/client/yyconfig/modules/arap/arappub/config/action/arapbaseconfig.xml +++ b/arap/src/client/yyconfig/modules/arap/arappub/config/action/arapbaseconfig.xml @@ -575,4 +575,10 @@ nccloud.web.arap.arappub.action.BillSaveCheckAgainAction Save + + arap.arappub.linkBip + + nccloud.web.arap.arappub.action.LinkBipAction + Save +