1234567891011121314151617181920212223242526272829303132333435363738394041 |
- package fi.em.opplugin;
- import com.alibaba.fastjson.JSONObject;
- import kd.bos.dataentity.entity.DynamicObject;
- import kd.bos.dataentity.entity.DynamicObjectCollection;
- import kd.bos.entity.EntityMetadataCache;
- import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
- import kd.bos.entity.plugin.args.EndOperationTransactionArgs;
- import kd.bos.exception.KDBizException;
- import kd.bos.orm.query.QCP;
- import kd.bos.orm.query.QFilter;
- import kd.bos.servicehelper.BusinessDataServiceHelper;
- import java.math.BigDecimal;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Map;
- public class ExpenseAccountFileOpPlugin extends AbstractOperationServicePlugIn {
- @Override
- public void endOperationTransaction(EndOperationTransactionArgs e) {
- super.endOperationTransaction(e);
- //获取当前操作单据数组
- DynamicObject[] dynamicObjects = e.getDataEntities();
- for (int i = 0; i < dynamicObjects.length; i++) {
- JSONObject object = new JSONObject();
- //当前单头数据包
- DynamicObject info = BusinessDataServiceHelper.loadSingle(dynamicObjects[i].getPkValue(), dynamicObjects[i].getDynamicObjectType().getName());
- DynamicObjectCollection writeoffapply = info.getDynamicObjectCollection("contractentry");
- if(writeoffapply.size()<=0){
- QFilter nckd_orgamountFilter = new QFilter("fbilltype", QCP.equals, "er_publicreimbursebill");
- nckd_orgamountFilter.and("finterid", QCP.equals, info.getString("id"));
- Map<Object, DynamicObject> nckd_cas_arbilMap = BusinessDataServiceHelper.loadFromCache("bos_attachment", new QFilter[]{nckd_orgamountFilter});
- if(nckd_cas_arbilMap.size()<=0){
- throw new KDBizException("请上传费用申请附件!");
- }
- }
- }
- }
- }
|