PersonControllerBeanEx.java 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. package com.kingdee.eas.basedata.org.app;
  2. import com.kingdee.bos.BOSException;
  3. import com.kingdee.bos.Context;
  4. import com.kingdee.bos.dao.IObjectPK;
  5. import com.kingdee.bos.dao.IObjectValue;
  6. import com.kingdee.bos.metadata.entity.SelectorItemCollection;
  7. import com.kingdee.eas.basedata.person.PersonInfo;
  8. import com.kingdee.eas.basedata.person.app.PersonControllerBean;
  9. import com.kingdee.eas.common.EASBizException;
  10. import com.kingdee.eas.custom.synctask.ISyncTranForIOTFacade;
  11. import com.kingdee.eas.custom.synctask.SyncTranForIOTFacadeFactory;
  12. import com.kingdee.eas.custom.synctask.SyncTranForOAFacadeFactory;
  13. import org.apache.log4j.Logger;
  14. import java.util.List;
  15. import java.util.Map;
  16. /**
  17. * @author qingwu
  18. * @date 2024/10/25
  19. * @apiNote
  20. */
  21. public class PersonControllerBeanEx extends PersonControllerBean {
  22. private static Logger logger =
  23. Logger.getLogger(PersonControllerBeanEx.class);
  24. @Override
  25. protected IObjectPK _addnew(Context ctx, IObjectValue model) throws BOSException, EASBizException {
  26. logger.error("PersonControllerBeanEx--------------------_addnew");
  27. IObjectPK iObjectPK = super._addnew(ctx, model);
  28. PersonInfo info = (PersonInfo) model;
  29. String id = info.getId().toString();
  30. String number = info.getNumber().toString();
  31. personError(ctx, id, number);
  32. return iObjectPK;
  33. }
  34. @Override
  35. protected void _update(Context ctx, IObjectPK pk, IObjectValue model) throws BOSException, EASBizException {
  36. super._update(ctx, pk, model);
  37. logger.error("PersonControllerBeanEx--------------------_update");
  38. StringBuilder sb = new StringBuilder();
  39. PersonInfo personInfo = (PersonInfo) model;
  40. personError(ctx, personInfo.getId().toString(), personInfo.getNumber());
  41. }
  42. @Override
  43. protected void _updatePartial(Context ctx, IObjectValue model, SelectorItemCollection selector) throws BOSException, EASBizException {
  44. super._updatePartial(ctx, model, selector);
  45. logger.error("PersonControllerBeanEx--------------------_updatePartial");
  46. StringBuilder sb = new StringBuilder();
  47. PersonInfo personInfo = (PersonInfo) model;
  48. personError(ctx, personInfo.getId().toString(), personInfo.getNumber());
  49. }
  50. private void personError(Context ctx, String id, String number) throws BOSException, EASBizException {
  51. StringBuilder sb = new StringBuilder();
  52. //同步人员到OA
  53. Map<String, Map<String, String>> oaMap = SyncTranForOAFacadeFactory.getLocalInstance(ctx).syncPersonToOA(id, null);
  54. Map<String, String> result = oaMap.get(number);
  55. logger.error("PersonControllerBeanEx------------result--------" + result);
  56. if (result != null) {
  57. if (!result.get("state").equals("success")) {
  58. //throw new BOSException(map.get("msg").toString());
  59. sb.append("OA同步错误信息:").append(oaMap.get("msg").toString());
  60. }
  61. }
  62. ////同步人员到IOT
  63. //Map<String, String> iotMap = SyncTranForIOTFacadeFactory.getLocalInstance(ctx).syncPersonToIot(id);
  64. //logger.error("PersonControllerBeanEx------------iotMap--------" + iotMap);
  65. //logger.error("PersonControllerBeanEx------------number--------" + number);
  66. //if (iotMap.containsKey(number)) {
  67. // sb.append("Iot同步错误信息:").append(iotMap.get(number));
  68. //}
  69. if (sb.length() > 0) {
  70. throw new BOSException(sb.toString());
  71. }
  72. }
  73. }