lc/lc123/cloud/app/plugin/form/sys/GoodlotManageBillPlugin.java

146 lines
6.2 KiB
Java

package tqq9.lc123.cloud.app.plugin.form.sys;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.utils.StringUtils;
import kd.bos.entity.datamodel.ListSelectedRowCollection;
import kd.bos.form.CloseCallBack;
import kd.bos.form.FormShowParameter;
import kd.bos.form.ShowType;
import kd.bos.form.control.events.BeforeItemClickEvent;
import kd.bos.form.control.events.ItemClickEvent;
import kd.bos.form.events.ClosedCallBackEvent;
import kd.bos.form.events.HyperLinkClickArgs;
import kd.bos.list.BillList;
import kd.bos.list.IListView;
import kd.bos.list.plugin.AbstractListPlugin;
import kd.bos.logging.Log;
import kd.bos.logging.LogFactory;
import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.bos.servicehelper.operation.SaveServiceHelper;
import kd.sdk.plugin.Plugin;
import java.util.ArrayList;
import java.util.Date;
import java.util.EventObject;
import java.util.HashMap;
/**
* 商品批次注册证管理界面插件
*/
public class GoodlotManageBillPlugin extends AbstractListPlugin implements Plugin {
private final static Log logger = LogFactory.getLog(GoodlotManageBillPlugin.class);
/**
* 控件监听
*/
@Override
public void registerListener(EventObject e) {
super.registerListener(e);
this.addItemClickListeners("tbmain");
this.addClickListeners("tqq9_lotcheck", "tqq9_customcheck");
}
/**
* 点击前事件,校验是否选择单行数据
*/
@Override
public void beforeItemClick(BeforeItemClickEvent evt) {
super.beforeItemClick(evt);
String itemKey = evt.getItemKey();
if (StringUtils.equals(itemKey, "tqq9_lotchecktb") || StringUtils.equals(itemKey, "tqq9_customchecktb")) {
BillList billList = (BillList) this.getControl("billlistap");
ListSelectedRowCollection selectedRows = billList.getSelectedRows();
if (selectedRows.size() > 1) {
evt.setCancel(true);
this.getView().showMessage("请选择单行信息");
} else if (selectedRows.size() == 0) {
evt.setCancel(true);
this.getView().showMessage("请选择要执的单行信息");
}
}
}
/**
* 点击跳转附件上传页面
*/
@Override
public void itemClick(ItemClickEvent evt) {
super.itemClick(evt);
String itemKey = evt.getItemKey();
if (StringUtils.equals(itemKey, "tqq9_lotchecktb") || StringUtils.equals(itemKey, "tqq9_customchecktb")) {
BillList billList = (BillList) this.getControl("billlistap");
ListSelectedRowCollection selectedRows = billList.getSelectedRows();
Object[] ids = selectedRows.getPrimaryKeyValues();
Object id = ids[0];
FormShowParameter param = new FormShowParameter();
param.setFormId("tqq9_upload");
param.setCloseCallBack(new CloseCallBack(this, "tqq9_upload"));
param.getOpenStyle().setShowType(ShowType.Modal);
param.setCustomParam("buttontype", itemKey);
param.setCustomParam("id", id);
this.getView().showForm(param);
}
}
/**
* 附件上传页面回传附件信息
*/
@Override
public void closedCallBack(ClosedCallBackEvent closedCallBackEvent) {
super.closedCallBack(closedCallBackEvent);
String actionId = closedCallBackEvent.getActionId();
Object returnData = closedCallBackEvent.getReturnData();
if (returnData != null) {
if (StringUtils.equals("tqq9_upload", actionId)) {
ArrayList attachmentData = (ArrayList) ((HashMap) returnData).get("attachmentData");
HashMap<String, Object> map = (HashMap) attachmentData.get(0);
String url = map.get("url").toString();
HashMap creator = (HashMap) map.get("creator");
String name = creator.get("zh_CN").toString();
DynamicObject user = BusinessDataServiceHelper.loadSingle("bos_user", new QFilter[]{new QFilter("name", QCP.equals, name)});
Long uploadTime = (Long) map.get("uploadTime");
Date date = new Date(uploadTime);
String buttontype = ((HashMap) returnData).get("buttontype").toString();
Object id = ((HashMap) returnData).get("id");
DynamicObject tqq9_goodlotmanage = BusinessDataServiceHelper.loadSingle(id, "tqq9_goodlotmanage");
if (StringUtils.equals("tqq9_lotchecktb", buttontype)) {
tqq9_goodlotmanage.set("tqq9_lotcheck", url);//中台批次检测文件
tqq9_goodlotmanage.set("tqq9_lotcheckdate", date);//批次检测报告操作时间
tqq9_goodlotmanage.set("tqq9_lotcheckperson", user);//批次检测报表操作人
SaveServiceHelper.save(new DynamicObject[]{tqq9_goodlotmanage});
} else if (StringUtils.equals("tqq9_customchecktb", buttontype)) {
tqq9_goodlotmanage.set("tqq9_customcheck", url);//中台报关单文件
tqq9_goodlotmanage.set("tqq9_customcheckdate", date);//报关单操作时间
tqq9_goodlotmanage.set("tqq9_customcheckperson", user);//报关单操作人
SaveServiceHelper.save(new DynamicObject[]{tqq9_goodlotmanage});
}
getView().updateView();
}
}
}
/**
* 点击链接下载
*/
@Override
public void billListHyperLinkClick(HyperLinkClickArgs args) {
super.billListHyperLinkClick(args);
String fieldName = args.getFieldName();
args.setCancel(true);
if (StringUtils.equals("tqq9_lotcheck", fieldName) || StringUtils.equals("tqq9_customcheck", fieldName)) {
ListSelectedRowCollection selectedRows = ((IListView) this.getView()).getSelectedRows();
Object id = selectedRows.getPrimaryKeyValues()[0];
DynamicObject tqq9_goodlotmanage = BusinessDataServiceHelper.loadSingle(id, "tqq9_goodlotmanage");
String url = tqq9_goodlotmanage.getString(fieldName);
if (url != null) {
this.getView().download(url);
}
}
}
}