FaChangeDeptBillOpPlugin.java 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. package fi.fa.opplugin;
  2. import com.alibaba.druid.util.StringUtils;
  3. import kd.bos.dataentity.entity.DynamicObject;
  4. import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
  5. import kd.bos.entity.plugin.args.BeginOperationTransactionArgs;
  6. import kd.bos.orm.query.QCP;
  7. import kd.bos.orm.query.QFilter;
  8. import kd.bos.servicehelper.BusinessDataServiceHelper;
  9. import kd.bos.servicehelper.operation.SaveServiceHelper;
  10. //资产变更单
  11. public class FaChangeDeptBillOpPlugin extends AbstractOperationServicePlugIn {
  12. @Override
  13. public void beginOperationTransaction(BeginOperationTransactionArgs e) {
  14. DynamicObject[] dynamicObjects = e.getDataEntities();
  15. for (int i = 0; i < dynamicObjects.length; i++) {
  16. if (StringUtils.equals(e.getOperationKey(),"audit")) {
  17. DynamicObject info = BusinessDataServiceHelper.loadSingle(dynamicObjects[i].getPkValue(), dynamicObjects[i].getDynamicObjectType().getName());
  18. Long queryChangeType = Long.parseLong("733953285719123968");
  19. Long changetype = info.getDynamicObject("changetype").getLong("id");
  20. if (queryChangeType.equals(changetype)) {
  21. Long deptId = null;
  22. Long user = null;
  23. String number = null;
  24. DynamicObject userInfo = null;
  25. for (DynamicObject fieldentry : info.getDynamicObjectCollection("fieldentry")) {
  26. if ("fa_card_real.headusedept".equals(fieldentry.getString("field")) && !StringUtils.isEmpty(fieldentry.getString("aftervalue"))) {
  27. deptId = Long.parseLong(fieldentry.getString("aftervalue"));
  28. }
  29. if ("fa_card_real.headuseperson".equals(fieldentry.getString("field")) && !StringUtils.isEmpty(fieldentry.getString("aftervalue"))) {
  30. user = Long.parseLong(fieldentry.getString("aftervalue"));
  31. userInfo = getUser(user);
  32. }
  33. number = fieldentry.getString("assetnumber");
  34. }
  35. if (!StringUtils.isEmpty(number)) {
  36. //查询e管家实物卡片清单
  37. QFilter filter = new QFilter("nckd_card_real_code", QCP.equals,number);
  38. DynamicObject[] cardObjects = BusinessDataServiceHelper.load("nckd_fa_card_real_list","id",new QFilter[] {filter});
  39. for (int j = 0; j < cardObjects.length; j++) {
  40. DynamicObject cardInfo = BusinessDataServiceHelper.loadSingle(cardObjects[j].getPkValue(), cardObjects[j].getDynamicObjectType().getName());
  41. //回写e管家实物清单字段
  42. cardInfo.set("nckd_dept", deptId);//归属部门
  43. if (userInfo != null) {
  44. cardInfo.set("nckd_use_name", userInfo.getString("number"));//使用人
  45. }
  46. SaveServiceHelper.save(new DynamicObject[]{cardInfo});
  47. }
  48. }
  49. }
  50. }
  51. else if (StringUtils.equals(e.getOperationKey(),"unaudit")) {
  52. DynamicObject info = BusinessDataServiceHelper.loadSingle(dynamicObjects[i].getPkValue(), dynamicObjects[i].getDynamicObjectType().getName());
  53. Long queryChangeType = Long.parseLong("733953285719123968");
  54. Long changetype = info.getDynamicObject("changetype").getLong("id");
  55. if (queryChangeType.equals(changetype)) {
  56. Long deptId = null;
  57. Long user = null;
  58. String number = null;
  59. DynamicObject userInfo = null;
  60. for (DynamicObject fieldentry : info.getDynamicObjectCollection("fieldentry")) {
  61. if ("fa_card_real.headusedept".equals(fieldentry.getString("field")) && !StringUtils.isEmpty(fieldentry.getString("aftervalue"))) {
  62. deptId = Long.parseLong(fieldentry.getString("beforevalue"));
  63. }
  64. if ("fa_card_real.headuseperson".equals(fieldentry.getString("field")) && !StringUtils.isEmpty(fieldentry.getString("aftervalue"))) {
  65. user = Long.parseLong(fieldentry.getString("beforevalue"));
  66. userInfo = getUser(user);
  67. }
  68. number = fieldentry.getString("assetnumber");
  69. }
  70. if (!StringUtils.isEmpty(number)) {
  71. //查询e管家实物卡片清单
  72. QFilter filter = new QFilter("nckd_card_real_code", QCP.equals,number);
  73. DynamicObject[] cardObjects = BusinessDataServiceHelper.load("nckd_fa_card_real_list","id",new QFilter[] {filter});
  74. for (int j = 0; j < cardObjects.length; j++) {
  75. DynamicObject cardInfo = BusinessDataServiceHelper.loadSingle(cardObjects[j].getPkValue(), cardObjects[j].getDynamicObjectType().getName());
  76. //回写e管家实物清单字段
  77. cardInfo.set("nckd_dept", deptId);//归属部门
  78. if (userInfo != null) {
  79. cardInfo.set("nckd_use_name", userInfo.getString("number"));//使用人
  80. }
  81. SaveServiceHelper.save(new DynamicObject[]{cardInfo});
  82. }
  83. }
  84. }
  85. }
  86. }
  87. }
  88. /**
  89. * @description 查询用户表获取用户
  90. * @param id
  91. * @return Long
  92. */
  93. private DynamicObject getUser(Long id) {
  94. QFilter filter = new QFilter("id", QCP.in, id);
  95. DynamicObject[] user = BusinessDataServiceHelper.load("bos_user","id",new QFilter[] {filter});
  96. if (user.length > 0) {
  97. DynamicObject userInfo = BusinessDataServiceHelper.loadSingle(user[0].getPkValue(), user[0].getDynamicObjectType().getName());
  98. return userInfo;
  99. }
  100. return null;
  101. }
  102. }