diff --git a/common/common-association/src/main/java/apelet/association/plugin/businessOpportunities/BusinessSaveOpPlugin.java b/common/common-association/src/main/java/apelet/association/plugin/businessOpportunities/BusinessSaveOpPlugin.java new file mode 100644 index 0000000..e9b49a3 --- /dev/null +++ b/common/common-association/src/main/java/apelet/association/plugin/businessOpportunities/BusinessSaveOpPlugin.java @@ -0,0 +1,60 @@ +package apelet.association.plugin.businessOpportunities; + +import apelet.common.core.object.ObjectCollection; +import apelet.common.core.object.ObjectValue; +import apelet.common.core.util.ApplicationContextHolder; +import apelet.common.generator.utils.OrmGenDataSourceUtil; +import apelet.common.online.plugin.BeginOperationTransactionArgs; +import apelet.common.online.plugin.OperationResult; +import apelet.common.online.plugin.OperationServicePlugIn; +import apelet.common.online.plugin.OperationServicePlugInArgs; +import apelet.common.online.service.impl.OnlineFormServiceImpl; +import apelet.common.orm.impl.Filter; +import apelet.common.orm.impl.FilterItem; +import apelet.common.orm.impl.Selector; +import apelet.common.orm.impl.SelectorItem; + +public class BusinessSaveOpPlugin extends OperationServicePlugIn { + private OnlineFormServiceImpl onlineFormService; + private OrmGenDataSourceUtil ormGenDataSourceUtil; + + public void AuditOperationServicePlugIn() { + onlineFormService = ApplicationContextHolder.getBean("onlineFormService"); + ormGenDataSourceUtil = ApplicationContextHolder.getBean("ormGenDataSourceUtil"); + } + @Override + public void onPreparePropertys(OperationServicePlugInArgs e) { + e.addFiledKey("id"); +// e.addFiledKey("clue_type"); + e.addFiledKey("number"); + } + @Override + public void beginOperationTransaction(BeginOperationTransactionArgs e){ + super.beginOperationTransaction(e); + ObjectCollection modelCollcetion = e.getModelCollcetion(); + + if(modelCollcetion != null && !modelCollcetion.isEmpty()){ + for (int i = 0; i < modelCollcetion.size(); i++) { + try { + // 获取单据对象 + ObjectValue bill = modelCollcetion.getObject(i); + Selector selectorClue = new Selector(); + selectorClue.getList().add(new SelectorItem("number")); + selectorClue.getList().add(new SelectorItem("clue_type")); + Filter filter = new Filter(); + filter.add(new FilterItem("number","=",bill.get("number"))); + ObjectCollection clue = ormGenDataSourceUtil().query("member_clue",filter,selectorClue); + if(clue.size() == 1){ + ObjectValue clueItem = clue.getObject(0); + clueItem.put("clue_type","4"); + ormGenDataSourceUtil().update("member_clue", clueItem, selectorClue); + } + + }catch (Exception ex) { + throw new RuntimeException(ex); + } + } + } + } + +}