BusinessProcessingConvertPlugIn.java 4.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. package fi.em.formPlugin;
  2. import com.alibaba.fastjson.JSON;
  3. import com.alibaba.fastjson.JSONArray;
  4. import com.alibaba.fastjson.JSONObject;
  5. import kd.bos.entity.botp.plugin.AbstractConvertPlugIn;
  6. import kd.bos.entity.botp.plugin.args.BeforeBuildRowConditionEventArgs;
  7. import kd.bos.orm.query.QCP;
  8. import kd.bos.orm.query.QFilter;
  9. import kd.sdk.plugin.Plugin;
  10. //业务处理单基础资料选单过滤插件
  11. public class BusinessProcessingConvertPlugIn extends AbstractConvertPlugIn implements Plugin {
  12. @Override
  13. public void beforeBuildRowCondition(BeforeBuildRowConditionEventArgs e) {
  14. //获取页面插件传递过来的操作参数
  15. String orgnumber = this.getOption().getVariableValue("orgnumber");
  16. String jsonArray = this.getOption().getVariableValue("JSONArray");
  17. JSONArray objects = JSONArray.parseArray(jsonArray);
  18. String type = this.getOption().getVariableValue("type");//1
  19. if("drawyfgz".equals(type)){
  20. String billtype = this.getOption().getVariableValue("billtype");
  21. QFilter numberQFilter = new QFilter("ap_finapbill.org.number", QCP.equals, orgnumber);
  22. numberQFilter.and("ap_finapbill.billstatus", QCP.equals, "C");
  23. for(int i=0;i<objects.size();i++){
  24. JSONObject jsonObject = objects.getJSONObject(i);
  25. String id = jsonObject.getString("id");
  26. numberQFilter.and("ap_finapbill.id", QCP.not_equals2, Long.valueOf(id));
  27. }
  28. e.getCustQFilters().add(numberQFilter);
  29. }else if("drawysgz".equals(type)){
  30. String billtype = this.getOption().getVariableValue("billtype");
  31. QFilter numberQFilter = new QFilter("ar_finarbill.org.number", QCP.equals, orgnumber);
  32. numberQFilter.and("ar_finarbill.billstatus", QCP.equals, "C");
  33. for(int i=0;i<objects.size();i++){
  34. JSONObject jsonObject = objects.getJSONObject(i);
  35. String id = jsonObject.getString("id");
  36. numberQFilter.and("ar_finarbill.id", QCP.not_equals2, Long.valueOf(id));
  37. }
  38. e.getCustQFilters().add(numberQFilter);
  39. }else if("drawzlht".equals(type)){
  40. QFilter numberQFilter = new QFilter("fa_lease_contract.org.number", QCP.equals, orgnumber);
  41. // numberQFilter.and("fa_lease_contract.assetunit.number", QCP.equals,orgnumber);
  42. numberQFilter.and("fa_lease_contract.status", QCP.equals,"C");
  43. numberQFilter.and("fa_lease_contract.nckd_combofield", QCP.equals,"2");
  44. for(int i=0;i<objects.size();i++){
  45. JSONObject jsonObject = objects.getJSONObject(i);
  46. String id = jsonObject.getString("id");
  47. numberQFilter.and("fa_lease_contract.number", QCP.not_equals2, id);
  48. }
  49. e.getCustQFilters().add(numberQFilter);
  50. }else if("draw-yf".equals(type)){
  51. QFilter numberQFilter = new QFilter("er_prepaybill.costdept.number", QCP.equals, orgnumber);
  52. numberQFilter.and("er_prepaybill.billstatus", QCP.equals, "G");
  53. for(int i=0;i<objects.size();i++){
  54. JSONObject jsonObject = objects.getJSONObject(i);
  55. String id = jsonObject.getString("id");
  56. numberQFilter.and("er_prepaybill.billno", QCP.not_equals2, id);
  57. }
  58. e.getCustQFilters().add(numberQFilter);
  59. }else if("draw-ssysd".equals(type)){
  60. String customersid = this.getOption().getVariableValue("customersid");
  61. QFilter numberQFilter = new QFilter("ar_finarbill.asstact.id", QCP.equals, customersid);
  62. numberQFilter.and("ar_finarbill.billstatus", QCP.equals, "C");
  63. for(int i=0;i<objects.size();i++){
  64. JSONObject jsonObject = objects.getJSONObject(i);
  65. String id = jsonObject.getString("id");
  66. numberQFilter.and("ar_finarbill.id", QCP.not_equals2, Long.valueOf(id));
  67. }
  68. e.getCustQFilters().add(numberQFilter);
  69. }else if("draw-clyf".equals(type)){
  70. String userid = this.getOption().getVariableValue("userid");
  71. QFilter numberQFilter = new QFilter("er_prepaybill.billpayerid.id", QCP.equals, Long.valueOf(userid));
  72. numberQFilter.and("er_prepaybill.billstatus", QCP.equals, "G");
  73. for(int i=0;i<objects.size();i++){
  74. JSONObject jsonObject = objects.getJSONObject(i);
  75. String id = jsonObject.getString("id");
  76. numberQFilter.and("er_prepaybill.billno", QCP.not_equals2,id);
  77. }
  78. e.getCustQFilters().add(numberQFilter);
  79. }
  80. super.beforeBuildRowCondition(e);
  81. }
  82. }