BusinessProcessingUnAuditEditPlugin.java 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. package fi.em.formPlugin;
  2. import com.alibaba.fastjson.JSONArray;
  3. import com.alibaba.fastjson.JSONObject;
  4. import kd.bos.dataentity.entity.DynamicObject;
  5. import kd.bos.dataentity.entity.DynamicObjectCollection;
  6. import kd.bos.exception.KDBizException;
  7. import kd.bos.form.events.BeforeDoOperationEventArgs;
  8. import kd.bos.form.operate.botp.Draw;
  9. import kd.bos.list.plugin.AbstractListPlugin;
  10. import kd.sdk.plugin.Plugin;
  11. public class BusinessProcessingUnAuditEditPlugin extends AbstractListPlugin implements Plugin {
  12. public static String deleteentryys = "deleteentryys"; //冲应收挂账
  13. //业务处理单基础资料选单过滤插件
  14. @Override
  15. public void beforeDoOperation(BeforeDoOperationEventArgs args) {
  16. if (args.getSource() instanceof Draw) {
  17. Draw draw = (Draw) args.getSource();
  18. if (draw.getOperateKey().equals("drawysgz")) {
  19. // StringBuilder numbers = new StringBuilder();
  20. Object value = this.getModel().getValue("nckd_payeenamev");//获取当前单据付款人
  21. DynamicObject dynamicObject = (DynamicObject) value;
  22. Object nckd_orgv = this.getModel().getValue("nckd_orgfield");//获取当前单据付款人
  23. DynamicObject orgv = (DynamicObject) nckd_orgv;
  24. if ( orgv== null) {
  25. throw new KDBizException("核算组织为空!");
  26. }
  27. if (dynamicObject == null) {
  28. throw new KDBizException("收款信息收款人为空!");
  29. }
  30. String nckdItemclasstypefield1 = this.getModel().getValue("nckd_itemclasstypefield1").toString();//基础资料类型
  31. draw.getOption().setVariableValue("billtype", nckdItemclasstypefield1);
  32. DynamicObjectCollection nckdEntryentity1 = this.getModel().getEntryEntity("nckd_entryentity1");
  33. JSONArray jSONArray = new JSONArray();
  34. for(int i=0;i<nckdEntryentity1.size();i++){
  35. JSONObject jsonObject = new JSONObject();
  36. DynamicObject dynamicObject1 = nckdEntryentity1.get(i);
  37. String nckdTextfield7 = dynamicObject1.getString("nckd_textfield7");
  38. jsonObject.put("id",nckdTextfield7);
  39. jSONArray.add(jsonObject);
  40. }
  41. draw.getOption().setVariableValue("JSONArray", jSONArray.toString());
  42. String bdsupplier = dynamicObject.getString("id");//当前单据付款供应商 11
  43. draw.getOption().setVariableValue("bdsupplier", bdsupplier);
  44. String orgnumber = orgv.getString("number");
  45. draw.getOption().setVariableValue("orgnumber", orgnumber);
  46. draw.getOption().setVariableValue("type", "drawysgz");
  47. } else if (draw.getOperateKey().equals("drawyfgz")) {
  48. Object value = this.getModel().getValue("nckd_payeenamevs");//获取当前单据付款人
  49. Object nckd_orgvs = this.getModel().getValue("nckd_orgfield");//获取当前单据收款人
  50. DynamicObject dynamicObject = (DynamicObject) value;
  51. DynamicObject orgvs = (DynamicObject) nckd_orgvs;
  52. if (dynamicObject == null) {
  53. throw new KDBizException("核算组织为空!");
  54. }
  55. if (orgvs == null) {
  56. throw new KDBizException("付款信息付款人为空!");
  57. }
  58. String nckdItemclasstypefield1 = this.getModel().getValue("nckd_itemclasstypefield").toString();//基础资料类型
  59. draw.getOption().setVariableValue("billtype", nckdItemclasstypefield1);
  60. DynamicObjectCollection nckdEntryentity1 = this.getModel().getEntryEntity("nckd_entryentity2");
  61. JSONArray jSONArray = new JSONArray();
  62. for(int i=0;i<nckdEntryentity1.size();i++){
  63. JSONObject jsonObject = new JSONObject();
  64. DynamicObject dynamicObject1 = nckdEntryentity1.get(i);
  65. String nckdTextfield7 = dynamicObject1.getString("nckd_bigintfield");
  66. jsonObject.put("id",nckdTextfield7);
  67. jSONArray.add(jsonObject);
  68. }
  69. draw.getOption().setVariableValue("JSONArray", jSONArray.toString());
  70. String bdsupplier = dynamicObject.getString("id");//当前单据付款供应商
  71. draw.getOption().setVariableValue("bdsupplier", bdsupplier);
  72. String orgnumber = orgvs.getString("number");
  73. draw.getOption().setVariableValue("orgnumber", orgnumber);
  74. draw.getOption().setVariableValue("type", "drawyfgz");
  75. }else if (draw.getOperateKey().equals("drawzlht")) {
  76. Object value = this.getModel().getValue("nckd_orgfield");//获取当前单据核算组织
  77. Object nckd_payeenamevs = this.getModel().getValue("nckd_payeenamev");//获取当前单据付款人
  78. DynamicObject dynamicObject = (DynamicObject) value;
  79. DynamicObject payeenamevs = (DynamicObject) nckd_payeenamevs;
  80. if (dynamicObject == null) {
  81. throw new KDBizException("核算组织为空!");
  82. }
  83. if (payeenamevs == null) {
  84. throw new KDBizException("收款信息付款人为空!");
  85. }
  86. String nckdItemclasstypefield1 = this.getModel().getValue("nckd_itemclasstypefield1").toString();//基础资料类型
  87. draw.getOption().setVariableValue("billtype", nckdItemclasstypefield1);
  88. DynamicObjectCollection nckdEntryentity1 = this.getModel().getEntryEntity("nckd_entryentity3");
  89. JSONArray jSONArray = new JSONArray();
  90. for(int i=0;i<nckdEntryentity1.size();i++){
  91. JSONObject jsonObject = new JSONObject();
  92. DynamicObject dynamicObject1 = nckdEntryentity1.get(i);
  93. String nckdTextfield7 = dynamicObject1.getString("nckd_pzhthth");
  94. jsonObject.put("id",nckdTextfield7);
  95. jSONArray.add(jsonObject);
  96. }
  97. draw.getOption().setVariableValue("JSONArray", jSONArray.toString());
  98. String bdsupplier = payeenamevs.getString("number");//当前单据付款供应商
  99. draw.getOption().setVariableValue("bdsupplier", bdsupplier);
  100. String orgnumber = dynamicObject.getString("number");
  101. draw.getOption().setVariableValue("orgnumber", orgnumber);
  102. draw.getOption().setVariableValue("type", "drawzlht");
  103. }else if (draw.getOperateKey().equals("draw-ssysd")) {
  104. //诉讼核销
  105. Object values = this.getModel().getValue("nckd_payeenamev");//获取当前单据付款人
  106. DynamicObject dynamicObjects = (DynamicObject) values;
  107. Object value = this.getModel().getValue("nckd_orgfield");//获取当前单据付款人
  108. DynamicObject dynamicObject = (DynamicObject) value;
  109. if (dynamicObject == null) {
  110. throw new KDBizException("核算组织为空!");
  111. }
  112. if (dynamicObjects == null) {
  113. throw new KDBizException("收款信息收款人为空!");
  114. }
  115. DynamicObjectCollection nckdEntryentity1 = this.getModel().getEntryEntity("nckd_entryentity11");
  116. JSONArray jSONArray = new JSONArray();
  117. for(int i=0;i<nckdEntryentity1.size();i++){
  118. JSONObject jsonObject = new JSONObject();
  119. DynamicObject dynamicObject1 = nckdEntryentity1.get(i);
  120. String nckdTextfield7 = dynamicObject1.getString("nckd_textfield21");
  121. jsonObject.put("id",nckdTextfield7);
  122. jSONArray.add(jsonObject);
  123. }
  124. String bdsupplier = dynamicObjects.getString("id");//当前单据付款供应商 11
  125. draw.getOption().setVariableValue("bdsupplier", bdsupplier);
  126. String number = dynamicObject.getString("number");
  127. draw.getOption().setVariableValue("orgnumber", number);
  128. draw.getOption().setVariableValue("JSONArray", jSONArray.toString());
  129. draw.getOption().setVariableValue("type", "draw-ssysd");
  130. }else if (draw.getOperateKey().equals("draw-clyf")) {
  131. //诉讼核销
  132. Object values = this.getModel().getValue("applier");//获取当前单据报销人
  133. DynamicObject dynamicObjects = (DynamicObject) values;
  134. if (dynamicObjects == null) {
  135. throw new KDBizException("报销人为空!");
  136. }
  137. DynamicObjectCollection nckdEntryentity1 = this.getModel().getEntryEntity("nckd_clearloanentry");
  138. JSONArray jSONArray = new JSONArray();
  139. for(int i=0;i<nckdEntryentity1.size();i++){
  140. JSONObject jsonObject = new JSONObject();
  141. DynamicObject dynamicObject1 = nckdEntryentity1.get(i);
  142. String nckdTextfield7 = dynamicObject1.getString("nckd_billno");
  143. jsonObject.put("id",nckdTextfield7);
  144. jSONArray.add(jsonObject);
  145. }
  146. String userid = dynamicObjects.getString("id");//当前单据报销人id
  147. draw.getOption().setVariableValue("userid", userid);
  148. draw.getOption().setVariableValue("orgnumber", userid);
  149. draw.getOption().setVariableValue("JSONArray", jSONArray.toString());
  150. draw.getOption().setVariableValue("type", "draw-clyf");
  151. }
  152. }
  153. super.beforeDoOperation(args);
  154. }
  155. }