dobe_comic8/main/java/shkd/repc/repmd/template/AreaDataImportPlugin.java

92 lines
3.7 KiB
Java

package shkd.repc.repmd.template;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.dataentity.utils.StringUtils;
import kd.bos.form.CloseCallBack;
import kd.bos.form.FormShowParameter;
import kd.bos.form.ShowType;
import kd.bos.form.StyleCss;
import kd.bos.form.control.Control;
import kd.bos.form.control.events.ItemClickEvent;
import kd.bos.form.events.ClosedCallBackEvent;
import kd.bos.form.plugin.AbstractFormPlugin;
import kd.bos.list.ListShowParameter;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.sdk.plugin.Plugin;
import shkd.repc.repmd.template.util.ExportTemplateUtil;
import java.util.EventObject;
import java.util.HashMap;
import java.util.List;
public class AreaDataImportPlugin 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_templatedownload", evt.getItemKey())) {
FormShowParameter showParameter = createFormParameter();
this.getView().showForm(showParameter);
}
}
private FormShowParameter createFormParameter() {
HashMap<String, Object> map = new HashMap<>(2);
map.put("logotype", "areaTemplate");
FormShowParameter showParameter = new FormShowParameter();
showParameter.setFormId("qeug_dynamicbill");
showParameter.setCaption("面积数据模板列表");
StyleCss inlineStyleCss = new StyleCss();
inlineStyleCss.setHeight("580");
inlineStyleCss.setWidth("960");
showParameter.getOpenStyle().setInlineStyleCss(inlineStyleCss);
showParameter.getOpenStyle().setShowType(ShowType.Modal);
showParameter.setCustomParams(map);
showParameter.setCloseCallBack(new CloseCallBack(this, "template"));
return showParameter;
}
@Override
public void closedCallBack(ClosedCallBackEvent e) {
super.closedCallBack(e);
String callBackId = e.getActionId();
if ("template".equals(callBackId)) {
DynamicObjectCollection returnData = (DynamicObjectCollection) e.getReturnData();
if (null != returnData && returnData.size() != 0) {
for (int i = 0; i < returnData.size(); i++) {
Long id = Long.parseLong(returnData.get(i).getString("qeug_id"));
DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(id, "qeug_areatemplate");
if (null!=dynamicObject){
DynamicObjectCollection areaEntry = dynamicObject.getDynamicObjectCollection("qeug_entryentity");
Control productView= this.getView().getControl("productentry");
Control areaView= this.getView().getControl("qeug_subentryentity");
StringBuilder message =new StringBuilder();
String url;
if (areaEntry.size()!=0){
//导出自定义模板
url = ExportTemplateUtil.exportTemplate(areaEntry, message, productView, areaView);
}else {
//导出默认模板
url = ExportTemplateUtil.exportTemplate(message, productView, areaView);
}
if (null!=url){
this.getView().openUrl(url);
}
}
}
}
}
}
}