diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/TaskListBuildVoucherPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/TaskListBuildVoucherPlugin.java new file mode 100644 index 0000000..5eb9b8e --- /dev/null +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/TaskListBuildVoucherPlugin.java @@ -0,0 +1,90 @@ +package zcgj.zcdev.zcdev.fs.plugin.form; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.fasterxml.jackson.databind.ObjectMapper; +import kd.ai.ids.core.utils.JsonUtils; +import kd.bos.bill.AbstractBillPlugIn; +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.entity.datamodel.ListSelectedRow; +import kd.bos.entity.datamodel.ListSelectedRowCollection; +import kd.bos.form.control.events.ItemClickEvent; +import kd.bos.list.BillList; +import kd.bos.list.plugin.AbstractListPlugin; +import kd.bos.logging.Log; +import kd.bos.logging.LogFactory; +import kd.bos.openapi.common.result.OpenApiResult; +import kd.bos.openapi.common.util.JacksonUtil; +import kd.bos.openapi.common.util.JsonUtil; +import kd.bos.openapi.common.util.OpenApiSdkUtil; +import kd.bos.servicehelper.BusinessDataServiceHelper; +import kd.sdk.plugin.Plugin; + +import java.util.*; + +/** + * 共享任务中心-我的任务-批量生成凭证插件 + */ +public class TaskListBuildVoucherPlugin extends AbstractListPlugin implements Plugin { + private static final Log log = LogFactory.getLog(TaskListBuildVoucherPlugin.class); + + + @Override + public void itemClick(ItemClickEvent evt) { + super.itemClick(evt); + String itemKey = evt.getItemKey(); + if("zcgj_buildvoucher".equals(itemKey)) { + BillList billList = this.getView().getControl(AbstractListPlugin.BILLLISTID); + //获取到选中行的数据 + ListSelectedRowCollection selectedRows = billList.getSelectedRows(); + Map messageBill = new HashMap<>(); + + StringBuilder sb = new StringBuilder(); + Map par= new HashMap<>(); + par.put("$key$","");//冗余参数 + par.put("$value$","");//冗余参数 + Map> billMap = new HashMap>(); + int errorCount =0; + int allCount =0; + int successCount =0; + for (ListSelectedRow selectedRow : selectedRows) { + Long pk = (Long) selectedRow.getPrimaryKeyValue(); + DynamicObject taskobj = BusinessDataServiceHelper.loadSingle(pk, "task_task"); + DynamicObject billtype = taskobj.getDynamicObject("billtype"); + String entityName = billtype.getDynamicObject("bindbill").getString("number"); + String billid = taskobj.getString("billid"); + //messageBill.put(billid,taskobj.getString("billnumber")+":"+taskobj.getString("subject")); + log.info("TaskListBuildVoucherPlugin:billid:"+billid); + Map params = new HashMap(); + params.put("billType", entityName); + List idList = new ArrayList<>(); + idList.add(billid); + params.put("billIds", idList); + params.put("params", par); + OpenApiResult invoke = OpenApiSdkUtil.invoke("/v2/ai/buildVoucher", params); + Map map = invoke.toMap(); + if(map.get("status").toString().equals("true")){ + //JSONObject data = JSON.parseObject(String.valueOf(map.get("data"))); + log.info("TaskListBuildVoucherPlugin:success:"+invoke.getData()); + successCount++; + }else{ + errorCount++; + log.info("TaskListBuildVoucherPlugin:error:"+invoke.getMessage()); + } + allCount++; + } + if(errorCount == 0){//没有失败的,使用成功弹框提醒 + this.getView().showSuccessNotification(String.format("凭证生成完成,一共%d条,成功:%d条,失败:%d条。请在【财务云-总账-凭证】中查看已生成的凭证。",allCount,successCount,errorCount)); + }else{//有失败的,使用警告弹框提醒 + this.getView().showTipNotification(String.format("凭证生成完成,一共%d条,成功:%d条,失败:%d条。请在【财务云-总账-凭证】中查看已生成的凭证。",allCount,successCount,errorCount)); + } + this.getView().invokeOperation("refresh");//调用表单的刷新操作 + } + + } + + + +} + +