From c32e503cbebe93e6c67ea6e0391a0b24f42ee9e7 Mon Sep 17 00:00:00 2001 From: csx <1981897232@qq.com> Date: Wed, 21 Jan 2026 12:04:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BA=BA=EF=BC=9A=E9=99=88?= =?UTF-8?q?=E7=BB=8D=E9=91=AB=20=E6=97=A5=E6=9C=9F=EF=BC=9A2025/01/21=2010?= =?UTF-8?q?=EF=BC=9A30=20=E5=86=85=E5=AE=B9:=E6=B5=81=E6=B0=B4=E7=94=9F?= =?UTF-8?q?=E5=8D=95api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/SavePayByWorkflowApiPlugin.java | 53 +++++++++++++------ 1 file changed, 38 insertions(+), 15 deletions(-) diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/api/SavePayByWorkflowApiPlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/api/SavePayByWorkflowApiPlugin.java index d64755d..9d1b0ea 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/api/SavePayByWorkflowApiPlugin.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/api/SavePayByWorkflowApiPlugin.java @@ -5,20 +5,16 @@ import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.metadata.IDataEntityProperty; import kd.bos.dataentity.metadata.clr.DataEntityPropertyCollection; import kd.bos.dataentity.resource.ResManager; -import kd.bos.dataentity.serialization.DataEntitySerializer; import kd.bos.dataentity.serialization.DataEntitySerializerOption; import kd.bos.dataentity.serialization.SerializationUtils; import kd.bos.db.DB; import kd.bos.entity.EntityMetadataCache; import kd.bos.entity.botp.ConvertRuleElement; -import kd.bos.entity.datamodel.ListSelectedRow; -import kd.bos.entity.datamodel.ListSelectedRowCollection; import kd.bos.entity.operate.result.IOperateInfo; import kd.bos.entity.operate.result.OperateErrorInfo; import kd.bos.entity.operate.result.OperationResult; import kd.bos.entity.validate.ErrorLevel; import kd.bos.form.FormShowParameter; -import kd.bos.form.IPageCache; import kd.bos.form.ShowType; import kd.bos.logging.Log; import kd.bos.logging.LogFactory; @@ -58,24 +54,31 @@ public class SavePayByWorkflowApiPlugin implements Serializable { private static final Log logger = LogFactory.getLog(SavePayByWorkflowApiPlugin.class); @ApiPostMapping( - value = "/getsupplierforbizorg", - desc = "通过业务组织获取供应商信息" + value = "/SavePayByWorkflow", + desc = "根据流水生成收款处理单api" ) - public CustomApiResult SavePayByWorkflow(@Valid @NotNull @ApiParam(value = "Request") List Request){ + public CustomApiResult SavePayByWorkflow(@Valid @NotNull @ApiParam(value = "billnos") List Request, + @Valid @NotNull @ApiParam(value = "receivingtype") String reqreceivingtype, + @Valid @NotNull @ApiParam(value = "payertype") String reqpayertype, + @Valid @NotNull @ApiParam(value = "e_payerid") String reqe_payerid, + @Valid @NotNull @ApiParam(value = "e_payerid") String reqe_payername, + @Valid @NotNull @ApiParam(value = "fundflowitem") String reqfundflowitem, + @Valid @NotNull @ApiParam(value = "remark") String reqremark){ SavePayByWorkflowReturnModel model = new SavePayByWorkflowReturnModel(); List billnos = new ArrayList<>(); List billnoids = new ArrayList<>(); for (SavePayByWorkflowRequestModel savePayByWorkflowRequestModel : Request) { String billno = savePayByWorkflowRequestModel.getBillno(); + DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle("bei_intelrec", "id,billno", new QFilter("billno", QCP.equals, billno).toArray()); + if (dynamicObject==null){ + model.setMsg("生单失败:编号"+billno+"交易明细在系统中不存在"); + model.setSuccess(false); + return CustomApiResult.success(model); + } + billnoids.add(dynamicObject.getLong("id")); billnos.add(billno); } - QFilter qFilter = new QFilter("billno", QCP.in,billnos); - DynamicObject[] bei_intelrecs = BusinessDataServiceHelper.load("bei_intelrec", "id,billno", qFilter.toArray()); - for (DynamicObject bei_intelrec : bei_intelrecs) { - billnoids.add(bei_intelrec.getLong("id")); - } - - Map returnData=getreturnData(bei_intelrecs,Request); + Map returnData=getreturnData(Request,reqreceivingtype,reqpayertype,reqe_payerid,reqfundflowitem,reqremark,reqe_payername); HashMap returnDataMapmerge=(HashMap)returnData; if (EmptyUtil.isEmpty(returnDataMapmerge)) { model.setMsg("生单失败"); @@ -190,12 +193,32 @@ public class SavePayByWorkflowApiPlugin implements Serializable { } } - private Map getreturnData(DynamicObject[] bei_intelrecs, List request) { + private Map getreturnData(List request, String reqreceivingtype, String reqpayertype, String reqe_payerid, String reqfundflowitem, String reqremark,String reqe_payername) { Map returnData = new HashMap(); //初始化单据 DynamicObject dataEntity = BusinessDataServiceHelper.newDynamicObject("cas_recbizinfo"); dataEntity.set("handlebill","recbill");//入账单据 + DynamicObject cas_receivingbilltype = BusinessDataServiceHelper.loadSingle("cas_receivingbilltype", "id,number", new QFilter("number", QCP.equals, reqreceivingtype).toArray()); + dataEntity.set("receivingtype",cas_receivingbilltype);//收款类型 + + dataEntity.set("payertype",reqpayertype);//付款人类型 + + if (AsstActTypeEnum.OTHER.getValue().equals(reqpayertype)) { + dataEntity.set("e_payerbasetype",null);//付款人资料类型 + }else { + dataEntity.set("e_payerbasetype",reqpayertype);//付款人资料类型 + } + + dataEntity.set("e_payer",reqe_payername);//付款人(文本) + + if (AsstActTypeEnum.OTHER.getValue().equals(reqpayertype)) { + dataEntity.set("e_payerid",null);//付款人 + }else { + DynamicObject e_payerid = BusinessDataServiceHelper.loadSingle(reqpayertype, "id,number", new QFilter("number", QCP.equals, reqe_payerid).toArray()); + dataEntity.set("e_payerid",e_payerid);//付款人 + } + DataEntityPropertyCollection properties = dataEntity.getDataEntityType().getProperties(); for (IDataEntityProperty property : properties) { String remark = property.getName();