BusinessProcessingConvertPlugIn.java 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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. public class BusinessProcessingConvertPlugIn extends AbstractConvertPlugIn implements Plugin {
  11. @Override
  12. public void beforeBuildRowCondition(BeforeBuildRowConditionEventArgs e) {
  13. //获取页面插件传递过来的操作参数
  14. String orgnumber = this.getOption().getVariableValue("orgnumber");
  15. String jsonArray = this.getOption().getVariableValue("JSONArray");
  16. JSONArray objects = JSONArray.parseArray(jsonArray);
  17. String type = this.getOption().getVariableValue("type");//1
  18. if("drawyfgz".equals(type)){
  19. String bdsupplier = this.getOption().getVariableValue("bdsupplier");
  20. String billtype = this.getOption().getVariableValue("billtype");
  21. QFilter numberQFilter = new QFilter("ap_finapbill.org.number", QCP.equals, orgnumber);
  22. // numberQFilter.and("ap_finapbill.asstacttype", QCP.equals, billtype);
  23. numberQFilter.and("ap_finapbill.asstact.id", QCP.equals, Long.valueOf(bdsupplier));
  24. for(int i=0;i<objects.size();i++){
  25. JSONObject jsonObject = objects.getJSONObject(i);
  26. String id = jsonObject.getString("id");
  27. numberQFilter.and("ap_finapbill.id", QCP.not_equals2, Long.valueOf(id));
  28. }
  29. e.getCustQFilters().add(numberQFilter);
  30. }else if("drawysgz".equals(type)){
  31. String bdsupplier = this.getOption().getVariableValue("bdsupplier");
  32. String billtype = this.getOption().getVariableValue("billtype");
  33. QFilter numberQFilter = new QFilter("ar_finarbill.org.number", QCP.equals, orgnumber);
  34. // numberQFilter.and("ar_finarbill.asstacttype", QCP.equals, billtype);
  35. numberQFilter.and("ar_finarbill.asstact.id", QCP.equals, Long.valueOf(bdsupplier));
  36. for(int i=0;i<objects.size();i++){
  37. JSONObject jsonObject = objects.getJSONObject(i);
  38. String id = jsonObject.getString("id");
  39. numberQFilter.and("ar_finarbill.id", QCP.not_equals2, Long.valueOf(id));
  40. }
  41. e.getCustQFilters().add(numberQFilter);
  42. }else if("drawzlht".equals(type)){
  43. String bdsupplier = this.getOption().getVariableValue("bdsupplier");
  44. String billtype = this.getOption().getVariableValue("billtype");
  45. QFilter numberQFilter = new QFilter("fa_lease_contract.org.number", QCP.equals, orgnumber);
  46. // numberQFilter.and("fa_lease_contract.asstacttype", QCP.equals, billtype);
  47. numberQFilter.and("fa_lease_contract.leaser.number", QCP.equals, bdsupplier);
  48. for(int i=0;i<objects.size();i++){
  49. JSONObject jsonObject = objects.getJSONObject(i);
  50. String id = jsonObject.getString("id");
  51. numberQFilter.and("fa_lease_contract.number", QCP.not_equals2, id);
  52. }
  53. e.getCustQFilters().add(numberQFilter);
  54. }else if("draw-yf".equals(type)){
  55. QFilter numberQFilter = new QFilter("er_prepaybill.costdept.number", QCP.equals, orgnumber);
  56. for(int i=0;i<objects.size();i++){
  57. JSONObject jsonObject = objects.getJSONObject(i);
  58. String id = jsonObject.getString("id");
  59. numberQFilter.and("er_prepaybill.billno", QCP.not_equals2, id);
  60. }
  61. e.getCustQFilters().add(numberQFilter);
  62. }else if("draw-ssysd".equals(type)){
  63. QFilter numberQFilter = new QFilter("ar_finarbill.org.number", QCP.equals, orgnumber);
  64. for(int i=0;i<objects.size();i++){
  65. JSONObject jsonObject = objects.getJSONObject(i);
  66. String id = jsonObject.getString("id");
  67. numberQFilter.and("ar_finarbill.id", QCP.not_equals2, Long.valueOf(id));
  68. }
  69. e.getCustQFilters().add(numberQFilter);
  70. }
  71. super.beforeBuildRowCondition(e);
  72. }
  73. }