60 lines
2.5 KiB
Java
60 lines
2.5 KiB
Java
package shkd.repc.repmd.formplugin;
|
|
|
|
import kd.bos.dataentity.entity.DynamicObject;
|
|
import kd.bos.dataentity.entity.OrmLocaleValue;
|
|
import kd.bos.form.FormShowParameter;
|
|
import kd.bos.form.field.BasedataEdit;
|
|
import kd.bos.form.field.events.BeforeQuickAddNewEvent;
|
|
import kd.bos.form.field.events.BeforeQuickAddNewListener;
|
|
import kd.bos.form.operate.FormOperate;
|
|
import kd.bos.form.plugin.AbstractFormPlugin;
|
|
|
|
import java.util.EventObject;
|
|
|
|
public class ProjectBillPlugin extends AbstractFormPlugin implements BeforeQuickAddNewListener {
|
|
|
|
@Override
|
|
public void registerListener(EventObject e) {
|
|
super.registerListener(e);
|
|
BasedataEdit qeug_gcl = this.getControl("qeug_gcl");
|
|
qeug_gcl.addBeforeQuickAddNewListener(this);
|
|
}
|
|
|
|
@Override
|
|
public void beforeQuickAddNew(BeforeQuickAddNewEvent beforeQuickAddNewEvent) {
|
|
|
|
BasedataEdit operate = (BasedataEdit)beforeQuickAddNewEvent.getSource();
|
|
String operateKey = String.valueOf(operate.getDisplayName());
|
|
int productentry = this.getModel().getEntryCurrentRowIndex("productentry");
|
|
if (operateKey.equals("工程量")){
|
|
FormShowParameter showParameter = beforeQuickAddNewEvent.getShowParameter();
|
|
|
|
String billno = (String) this.getModel().getValue("billno");
|
|
if (billno == null || billno.isEmpty()) {
|
|
beforeQuickAddNewEvent.setCancel(true);
|
|
this.getView().showSuccessNotification("请填写项目编号");
|
|
return;
|
|
}
|
|
OrmLocaleValue billname = (OrmLocaleValue) this.getModel().getValue("billname");
|
|
String zh_cn = billname.get("zh_CN");
|
|
if (billname.size()==0) {
|
|
beforeQuickAddNewEvent.setCancel(true);
|
|
this.getView().showSuccessNotification("请填写项目名称");
|
|
return;
|
|
}
|
|
DynamicObject productentry_producttype = (DynamicObject) this.getModel().getValue("productentry_producttype",productentry);
|
|
if (productentry_producttype==null){
|
|
beforeQuickAddNewEvent.setCancel(true);
|
|
this.getView().showSuccessNotification("请填写对应行的产品类型");
|
|
return;
|
|
}
|
|
showParameter.setCustomParam("billno",billno);
|
|
showParameter.setCustomParam("billname",zh_cn);
|
|
showParameter.setCustomParam("productentry_producttype",productentry_producttype.getPkValue().toString());
|
|
showParameter.setCustomParam("operateKey",operateKey);
|
|
|
|
}
|
|
}
|
|
|
|
}
|