通知公告,添加超链打开,添加过滤

This commit is contained in:
ptt 2025-07-11 15:21:51 +08:00
parent 9127fe4aba
commit 1a5f29065c
1 changed files with 82 additions and 0 deletions

View File

@ -0,0 +1,82 @@
package shkd.repc.resp.portal;
import kd.bos.bill.OperationStatus;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.entity.datamodel.events.BeforePackageDataEvent;
import kd.bos.entity.list.events.BeforePackageDataListener;
import kd.bos.form.CloseCallBack;
import kd.bos.form.FormShowParameter;
import kd.bos.form.IFormView;
import kd.bos.form.ShowType;
import kd.bos.form.events.HyperLinkClickEvent;
import kd.bos.form.events.HyperLinkClickListener;
import kd.bos.form.events.SetFilterEvent;
import kd.bos.form.plugin.AbstractFormPlugin;
import kd.bos.list.BillList;
import kd.bos.orm.query.QFilter;
import kd.bos.util.StringUtils;
import kd.repc.common.enums.resm.AnnoRecruitEnum;
import java.util.Calendar;
import java.util.Date;
import java.util.EventObject;
import java.util.Iterator;
public class PortalCardNoticePlugin extends AbstractFormPlugin implements HyperLinkClickListener, BeforePackageDataListener {
@Override
public void beforePackageData(BeforePackageDataEvent arg0) {
DynamicObjectCollection pageData = arg0.getPageData();
Iterator var3 = pageData.iterator();
while(var3.hasNext()) {
DynamicObject data = (DynamicObject)var3.next();
Date auditdate = data.getDate("auditdate");
if (this.judgeDateIsNow(auditdate)) {
data.set("billstatus", "N");
} else {
data.set("billstatus", (Object)null);
}
}
}
public boolean judgeDateIsNow(Date date) {
Calendar now = Calendar.getInstance();
Calendar currentDate = Calendar.getInstance();
currentDate.setTime(date);
return now.get(1) == currentDate.get(1) && now.get(2) == currentDate.get(2) && now.get(5) == currentDate.get(5);
}
@Override
public void initialize() {
((BillList)this.getControl("qeug_billlistap")).addSetFilterListener((setFilterEvent) -> {
this.setFilter(setFilterEvent);
});
((BillList)this.getControl("qeug_billlistap")).addBeforePackageDataListener((BeforePackageDataEvent) -> {
this.beforePackageData(BeforePackageDataEvent);
});
}
public void setFilter(SetFilterEvent e) {
QFilter qfilter = new QFilter("billstatus", "=", "RELEASED");
e.getQFilters().add(qfilter);
}
public void hyperLinkClick(HyperLinkClickEvent hyperlinkclickevent) {
BillList grid = (BillList)hyperlinkclickevent.getSource();
Long annoId = (Long)grid.getFocusRowPkId();
FormShowParameter showParameter = new FormShowParameter();
showParameter.setFormId("resm_notification_view");
showParameter.getOpenStyle().setShowType(ShowType.NewWindow);
showParameter.setHasRight(true);
showParameter.setStatus(OperationStatus.VIEW);
showParameter.setCustomParam("notificationId", annoId);
this.getView().showForm(showParameter);
}
public void registerListener(EventObject eventobject) {
super.registerListener(eventobject);
BillList billList = (BillList)this.getView().getControl("qeug_billlistap");
billList.addHyperClickListener(this);
}
}