ExspenseBeforeShareEXOpPlugin.java 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. package fi.er.opplugin;
  2. import kd.bos.dataentity.entity.DynamicObject;
  3. import kd.bos.dataentity.entity.DynamicObjectCollection;
  4. import kd.bos.entity.ExtendedDataEntity;
  5. import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
  6. import kd.bos.entity.plugin.AddValidatorsEventArgs;
  7. import kd.bos.entity.plugin.PreparePropertysEventArgs;
  8. import kd.bos.entity.plugin.args.BeforeOperationArgs;
  9. import kd.bos.entity.validate.AbstractValidator;
  10. import kd.fi.er.business.share.ERHandleBeforeShareService;
  11. import fi.er.opplugin.ErVerifyShareRuleHelperNew;
  12. import kd.fi.er.business.utils.OperateUtils;
  13. import org.apache.commons.lang3.StringUtils;
  14. public class ExspenseBeforeShareEXOpPlugin extends AbstractOperationServicePlugIn {
  15. public ExspenseBeforeShareEXOpPlugin() {
  16. }
  17. public void onPreparePropertys(PreparePropertysEventArgs e) {
  18. super.onPreparePropertys(e);
  19. OperateUtils.addAllFields(e, this.billEntityType, this.operateMeta);
  20. }
  21. public void onAddValidators(AddValidatorsEventArgs e) {
  22. super.onAddValidators(e);
  23. e.addValidator(new AbstractValidator() {
  24. public void validate() {
  25. ExtendedDataEntity[] billEntitys = this.getDataEntities();
  26. ExtendedDataEntity[] var2 = billEntitys;
  27. int var3 = billEntitys.length;
  28. for(int var4 = 0; var4 < var3; ++var4) {
  29. ExtendedDataEntity billEntity = var2[var4];
  30. DynamicObject bill = billEntity.getDataEntity();
  31. Boolean isShare = bill.getBoolean("isbeforeshare");
  32. if (!isShare) {
  33. bill.set("sharerule_startdate", (Object)null);
  34. bill.set("sharerule_enddate", (Object)null);
  35. bill.set("isshared", false);
  36. DynamicObjectCollection shareEntrys = bill.getDynamicObjectCollection("expenseentryentity_rule");
  37. if (shareEntrys != null && shareEntrys.size() > 0) {
  38. shareEntrys.clear();
  39. }
  40. DynamicObjectCollection shareDetailEntrys = bill.getDynamicObjectCollection("sharedetailentry");
  41. if (shareDetailEntrys != null && shareDetailEntrys.size() > 0) {
  42. shareDetailEntrys.clear();
  43. }
  44. return;
  45. }
  46. String msg = ErVerifyShareRuleHelperNew.getVerifyShareRuleMsg(bill);
  47. if (StringUtils.isNotBlank(msg)) {
  48. this.addErrorMessage(billEntity, msg);
  49. return;
  50. }
  51. }
  52. }
  53. });
  54. }
  55. public void beforeExecuteOperationTransaction(BeforeOperationArgs e) {
  56. super.beforeExecuteOperationTransaction(e);
  57. DynamicObject[] var2 = e.getDataEntities();
  58. int var3 = var2.length;
  59. for(int var4 = 0; var4 < var3; ++var4) {
  60. DynamicObject bill = var2[var4];
  61. ERHandleBeforeShareService.buildAndGetDoneEntrys(bill, false);
  62. }
  63. }
  64. }