59 lines
2.6 KiB
Java
59 lines
2.6 KiB
Java
package tqq9.lc123.cloud.app.plugin.form.sys;
|
|
|
|
import kd.bos.bill.AbstractBillPlugIn;
|
|
import kd.bos.dataentity.OperateOption;
|
|
import kd.bos.dataentity.entity.DynamicObject;
|
|
import kd.bos.dataentity.resource.ResManager;
|
|
import kd.bos.dataentity.utils.StringUtils;
|
|
import kd.bos.entity.operate.result.OperationResult;
|
|
import kd.bos.form.IFormView;
|
|
import kd.bos.form.events.BeforeDoOperationEventArgs;
|
|
import kd.bos.form.operate.FormOperate;
|
|
import kd.bos.logging.Log;
|
|
import kd.bos.logging.LogFactory;
|
|
import kd.bos.orm.query.QFilter;
|
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
|
import kd.bos.servicehelper.operation.OperationServiceHelper;
|
|
import kd.sdk.plugin.Plugin;
|
|
import tqq9.lc123.cloud.app.plugin.operate.sys.MaterialSaveOp;
|
|
|
|
/**
|
|
* 单据界面插件
|
|
* 物料保存后关闭单据的插件
|
|
*/
|
|
public class MaterialSaveClosePlugin extends AbstractBillPlugIn implements Plugin {
|
|
private static final Log log = LogFactory.getLog(MaterialSaveClosePlugin.class);
|
|
@Override
|
|
public void beforeDoOperation(BeforeDoOperationEventArgs args) {
|
|
super.beforeDoOperation(args);
|
|
FormOperate operation = (FormOperate) args.getSource();
|
|
String key = operation.getOperateKey();
|
|
if (StringUtils.equals("save", key)) {
|
|
args.setCancel(Boolean.TRUE);
|
|
//保存校验 当前单据数据
|
|
DynamicObject dataEntity = this.getModel().getDataEntity(true);
|
|
OperationResult result = OperationServiceHelper.executeOperate("save", "bd_material", new DynamicObject[]{dataEntity}, OperateOption.create());
|
|
if (result.isSuccess()) {
|
|
log.info(dataEntity.getString("number") + "保存成功");
|
|
} else {
|
|
getView().showErrorNotification("保存失败");
|
|
log.info(dataEntity.getString("number") + "保存失败,原因:" + result);
|
|
return;
|
|
}
|
|
}
|
|
// 弹出操作成功提示消息
|
|
boolean showInParentView = true;
|
|
IFormView view = this.getView().getViewNoPlugin(this.getView().getFormShowParameter().getParentPageId());
|
|
if (view == null) {
|
|
view = this.getView();
|
|
showInParentView = false;
|
|
}
|
|
view.showSuccessNotification(String.format(ResManager.loadKDString("保存成功", "DefaultEntityOperate_5", "bos-entity-business", new Object[0]), operation.getOperateName().toString()));
|
|
if (showInParentView) {
|
|
this.getView().sendFormAction(view);
|
|
}
|
|
this.getModel().setDataChanged(Boolean.FALSE);
|
|
// 关闭新增窗口
|
|
this.getView().close();
|
|
}
|
|
} |