AgpaybillButPlugin.java 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package fi.cas.formplugin;
  2. import kd.bos.dataentity.entity.DynamicObject;
  3. import kd.bos.form.plugin.AbstractFormPlugin;
  4. import kd.sdk.plugin.Plugin;
  5. import java.util.EventObject;
  6. /**
  7. * @author cjz
  8. * @date 2024/11/6 14:52
  9. * @description:代发处理单,控制按钮显隐
  10. */
  11. public class AgpaybillButPlugin extends AbstractFormPlugin implements Plugin {
  12. @Override
  13. public void afterBindData(EventObject e) {
  14. super.afterBindData(e);
  15. //设置付款给前置按钮不可见
  16. this.getView().setVisible(false,"nckd_payforfront");
  17. //设置付款执行按钮不可见
  18. this.getView().setVisible(false,"nckd_payzx");
  19. //设置重新支付按钮不可见
  20. this.getView().setVisible(false,"nckd_cxzf");
  21. //设置支付关闭按钮不可见
  22. this.getView().setVisible(false,"nckd_payclose");
  23. //获取当前单据
  24. DynamicObject dynamicObject=this.getModel().getDataEntity(true);
  25. //单据状态
  26. String billstatus = dynamicObject.getString("billstatus");
  27. //支付状态
  28. String paystatus=dynamicObject.getString("nckd_paystatus");
  29. //核心状态
  30. String nckdHxzt = dynamicObject.getString("nckd_hxzt");
  31. //已审核,支付状态未支付,或者支付状态为空,或者支付失败才可看到付款给前置按钮,核心状态未登记
  32. if ("C".equals(billstatus)&&"E".equals(nckdHxzt)&&(paystatus.isEmpty()|| "A".equals(paystatus)|| "D".equals(paystatus))) {
  33. this.getView().setVisible(true,"nckd_payforfront");
  34. }
  35. //核心状态为已登记执行失败,已审批,才能看到付款执行按钮
  36. if ( "A".equals(nckdHxzt)&&"C".equals(billstatus)) {
  37. this.getView().setVisible(true,"nckd_payzx");
  38. }
  39. //支付状态--支付中,已审批,核心状态--支付处理部分成功才能看到重新支付按钮
  40. if ("B".equals(paystatus)&&"C".equals(billstatus)&&"B".equals(nckdHxzt)) {
  41. this.getView().setVisible(true,"nckd_cxzf");
  42. }
  43. //支付状态--支付中,核心状态--支付处理部分成功或执行失败才能看到支付关闭按钮
  44. if ("B".equals(paystatus)&&"B".equals(nckdHxzt)||"A".equals(nckdHxzt)) {
  45. this.getView().setVisible(true,"nckd_payclose");
  46. }
  47. }
  48. }