PositionListHandlerEx.java 3.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. package com.kingdee.eas.custom.synctask.handler;
  2. import com.kingdee.bos.Context;
  3. import com.kingdee.eas.basedata.org.*;
  4. import com.kingdee.eas.custom.synctask.ActionTypeEnum;
  5. import com.kingdee.eas.custom.synctask.ISyncTranForIOTFacade;
  6. import com.kingdee.eas.custom.synctask.SyncTranForIOTFacadeFactory;
  7. import com.kingdee.eas.custom.synctask.SyncTranForOAFacadeFactory;
  8. import com.kingdee.eas.hr.ats.AtsUtil;
  9. import com.kingdee.eas.hr.org.web.handler.PositionListHandler;
  10. import com.kingdee.shr.base.syssetting.api.bean.BatchMessageTipsBody;
  11. import com.kingdee.shr.base.syssetting.api.bean.BatchMessageTipsHeader;
  12. import com.kingdee.shr.base.syssetting.context.SHRContext;
  13. import com.kingdee.shr.base.syssetting.exception.SHRWebException;
  14. import com.kingdee.shr.base.syssetting.exception.ShrWebBizException;
  15. import org.apache.commons.lang3.StringUtils;
  16. import org.springframework.ui.ModelMap;
  17. import javax.servlet.http.HttpServletRequest;
  18. import javax.servlet.http.HttpServletResponse;
  19. import java.util.*;
  20. /**
  21. * ְλÈÕ³£Î¬»¤list OAͬ²½
  22. *
  23. * @date 2024/10/23
  24. * @apiNote
  25. */
  26. public class PositionListHandlerEx extends PositionListHandler {
  27. public void syncOAPositionAction(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap) throws SHRWebException {
  28. Context ctx = SHRContext.getInstance().getContext();
  29. String billIds = request.getParameter("billIds");
  30. logger.error("syncOAPositionAction---billIds----" + billIds);
  31. try {
  32. Set<String> positionIds = null;
  33. if (StringUtils.isEmpty(billIds)) {
  34. IPosition iPosition = PositionFactory.getLocalInstance(ctx);
  35. PositionCollection positionCollection = iPosition.getPositionCollection("select id ,name,number");
  36. StringBuilder sb = new StringBuilder();
  37. for (int i = 0; i < positionCollection.size(); i++) {
  38. String positionId = positionCollection.get(i).getId().toString();
  39. sb.append(positionId).append(",");
  40. }
  41. sb.deleteCharAt(sb.lastIndexOf(","));
  42. billIds = sb.toString();
  43. }
  44. positionIds = AtsUtil.toSet(billIds);
  45. ISyncTranForIOTFacade iSyncTranForIOTFacade = SyncTranForIOTFacadeFactory.getLocalInstance(ctx);
  46. Map<String, List<Map<String, String>>> result = iSyncTranForIOTFacade.syncOrgUnitToIot(billIds);
  47. logger.error("result---" + result);
  48. List<Map<String, String>> list = result.get("data");
  49. int success = positionIds.size();
  50. int failure = 0;
  51. BatchMessageTipsHeader batchMessageTipsHeader = new BatchMessageTipsHeader();
  52. if (list.size() > 0) {
  53. failure = list.size();
  54. for (int i = 0; i < list.size(); i++) {
  55. BatchMessageTipsBody body = new BatchMessageTipsBody();
  56. Map<String, String> map = list.get(i);
  57. body.setId(map.get("id"));
  58. body.setMuitTipsState(Boolean.FALSE);
  59. body.setMuitTipsMessage(map.get("msg"));
  60. batchMessageTipsHeader.addResult(body);
  61. }
  62. success -= list.size();
  63. }
  64. logger.error("handleEnableWithTips----- >> ");
  65. batchMessageTipsHeader.setBillId(billIds);
  66. batchMessageTipsHeader.setFailureCount(failure);
  67. batchMessageTipsHeader.setSuccessCount(success);
  68. logger.error("batchMessageTipsHeader " + batchMessageTipsHeader.getSuccessCount());
  69. request.setAttribute("res_method_data", batchMessageTipsHeader);
  70. this.writeSuccessData(batchMessageTipsHeader);
  71. SyncTranForOAFacadeFactory.getLocalInstance(ctx).syncPositionToOA(billIds, ActionTypeEnum.ADD);
  72. } catch (Exception e) {
  73. e.printStackTrace();
  74. throw new ShrWebBizException(e);
  75. }
  76. }
  77. }