ExpenseAccountFileOpPlugin.java 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package fi.em.opplugin;
  2. import com.alibaba.fastjson.JSONObject;
  3. import kd.bos.dataentity.entity.DynamicObject;
  4. import kd.bos.dataentity.entity.DynamicObjectCollection;
  5. import kd.bos.entity.EntityMetadataCache;
  6. import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
  7. import kd.bos.entity.plugin.args.EndOperationTransactionArgs;
  8. import kd.bos.exception.KDBizException;
  9. import kd.bos.orm.query.QCP;
  10. import kd.bos.orm.query.QFilter;
  11. import kd.bos.servicehelper.BusinessDataServiceHelper;
  12. import java.math.BigDecimal;
  13. import java.util.ArrayList;
  14. import java.util.List;
  15. import java.util.Map;
  16. public class ExpenseAccountFileOpPlugin extends AbstractOperationServicePlugIn {
  17. @Override
  18. public void endOperationTransaction(EndOperationTransactionArgs e) {
  19. super.endOperationTransaction(e);
  20. //获取当前操作单据数组
  21. DynamicObject[] dynamicObjects = e.getDataEntities();
  22. for (int i = 0; i < dynamicObjects.length; i++) {
  23. JSONObject object = new JSONObject();
  24. //当前单头数据包
  25. DynamicObject info = BusinessDataServiceHelper.loadSingle(dynamicObjects[i].getPkValue(), dynamicObjects[i].getDynamicObjectType().getName());
  26. DynamicObjectCollection writeoffapply = info.getDynamicObjectCollection("contractentry");
  27. if(writeoffapply.size()<=0){
  28. QFilter nckd_orgamountFilter = new QFilter("fbilltype", QCP.equals, "er_publicreimbursebill");
  29. nckd_orgamountFilter.and("finterid", QCP.equals, info.getString("id"));
  30. Map<Object, DynamicObject> nckd_cas_arbilMap = BusinessDataServiceHelper.loadFromCache("bos_attachment", new QFilter[]{nckd_orgamountFilter});
  31. if(nckd_cas_arbilMap.size()<=0){
  32. throw new KDBizException("请上传费用申请附件!");
  33. }
  34. }
  35. }
  36. }
  37. }