package shkd.repc.repmd.template; import kd.bos.context.RequestContext; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.dataentity.utils.StringUtils; import kd.bos.entity.ExtendedDataEntity; import kd.bos.entity.plugin.AbstractOperationServicePlugIn; import kd.bos.entity.plugin.AddValidatorsEventArgs; import kd.bos.entity.plugin.args.AfterOperationArgs; import kd.bos.entity.validate.AbstractValidator; import kd.bos.form.*; import kd.bos.form.control.Control; import kd.bos.form.control.EntryGrid; import kd.bos.form.control.events.ItemClickEvent; import kd.bos.form.events.MessageBoxClosedEvent; import kd.bos.form.plugin.AbstractFormPlugin; import kd.bos.orm.query.QCP; import kd.bos.orm.query.QFilter; import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.sdk.plugin.Plugin; import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import shkd.repc.repmd.template.util.ExportTemplateUtil; import shkd.repc.repmd.template.util.Template; import java.math.BigDecimal; import java.util.*; /** * 面积数据导出-二开插件 */ public class AreaDataExportPlugin extends AbstractFormPlugin implements Plugin { @Override public void registerListener(EventObject e) { super.registerListener(e); this.addItemClickListeners("qeug_advcontoolbarap"); } @Override public void itemClick(ItemClickEvent evt) { super.itemClick(evt); if (StringUtils.equals("qeug_areadataexport", evt.getItemKey())) { DynamicObjectCollection productEntry = this.getModel().getEntryEntity("productentry"); if (null==productEntry||productEntry.size()==0){ this.getView().showMessage("暂无可导出数据!"); return; } EntryGrid entryGrid = this.getControl("productentry"); int[] selectRows = entryGrid.getSelectRows(); String top="导出确认提示"; String body; //默认导出 if (selectRows.length==0){ body = "默认导出所有【产品构成】数据?"; this.showExportMessage(top,body,"default"); }else { body = "导出 " + selectRows.length + " 行【产品构成】数据?"; this.showExportMessage(top,body,"select"); } } } @Override public void confirmCallBack(MessageBoxClosedEvent evt) { super.confirmCallBack(evt); String callBackId = evt.getCallBackId(); StringBuilder tipsBuffer = new StringBuilder(); if (StringUtils.equalsIgnoreCase("export_area", callBackId) && evt.getResult().getValue() == 6) { String customValue = evt.getCustomVaule(); boolean isDefaultExport = "default".equals(customValue); // 获取模板 DynamicObject templateObj = getTemplate(); if (templateObj == null) { return; } // 读取系统模板 Control productView = this.getView().getControl("productentry"); Control areaView = this.getView().getControl("qeug_subentryentity"); List