ESignTemplateEditHandler.java 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. package com.kingdee.eas.custom.esign.handler;
  2. import com.kingdee.bos.BOSException;
  3. import com.kingdee.bos.Context;
  4. import com.kingdee.eas.common.EASBizException;
  5. import com.kingdee.eas.custom.esign.*;
  6. import com.kingdee.eas.custom.esign.bizEnum.SyncStatusEnum;
  7. import com.kingdee.eas.framework.CoreBaseInfo;
  8. import com.kingdee.shr.base.syssetting.BaseItemStateEnum;
  9. import com.kingdee.shr.base.syssetting.api.bean.BatchMessageTipsBody;
  10. import com.kingdee.shr.base.syssetting.api.bean.BatchMessageTipsHeader;
  11. import com.kingdee.shr.base.syssetting.exception.SHRWebException;
  12. import com.kingdee.shr.base.syssetting.exception.ShrWebBizException;
  13. import com.kingdee.shr.base.syssetting.web.handler.EditHandler;
  14. import com.kingdee.util.StringUtils;
  15. import org.springframework.ui.ModelMap;
  16. import javax.servlet.http.HttpServletRequest;
  17. import javax.servlet.http.HttpServletResponse;
  18. /**
  19. * @Description 电子签模板表单Handler
  20. * @Date 2025/11/17 16:43
  21. * @Created by 禾源
  22. */
  23. public class ESignTemplateEditHandler extends EditHandler {
  24. /**
  25. * 创建新的分录模型对象
  26. *
  27. * @param request HTTP请求对象
  28. * @param response HTTP响应对象
  29. * @param modelMap 模型映射对象
  30. * @return CoreBaseInfo 返回创建的条目信息对象
  31. * @throws SHRWebException 当创建过程中发生错误时抛出异常
  32. */
  33. protected CoreBaseInfo createNewEntryModel(
  34. HttpServletRequest request,
  35. HttpServletResponse response,
  36. ModelMap modelMap
  37. ) throws SHRWebException {
  38. ESignTemplateFileEntryInfo entryInfo =
  39. (ESignTemplateFileEntryInfo) super.createNewEntryModel(request, response, modelMap);
  40. if (entryInfo == null) {
  41. entryInfo = new ESignTemplateFileEntryInfo();
  42. }
  43. //设置默认状态为启用
  44. entryInfo.setState(BaseItemStateEnum.ENABLE);
  45. entryInfo.setSyncStatus(SyncStatusEnum.UNSYNCED);
  46. return entryInfo;
  47. }
  48. /**
  49. * 创建新的入口模型通过服务器
  50. *
  51. * @return boolean 返回true表示成功创建新的入口模型,false表示创建失败
  52. */
  53. @Override
  54. protected boolean createNewEntryModelByServer() {
  55. return true;
  56. }
  57. /**
  58. * 同步模板字段
  59. *
  60. * @param request
  61. * @param response
  62. * @param modelMap
  63. * @throws SHRWebException
  64. */
  65. public void syncTemplateFieldsAction(
  66. HttpServletRequest request,
  67. HttpServletResponse response,
  68. ModelMap modelMap
  69. ) throws SHRWebException {
  70. Context ctx = this.getContext();
  71. String billId = this.getBillId(request);
  72. if (StringUtils.isEmpty(billId)) {
  73. throw new ShrWebBizException("单据id不能为空!");
  74. }
  75. try {
  76. ESignTemplateFactory.getLocalInstance(ctx).syncTemplateFields(billId);
  77. } catch (Exception e) {
  78. throw new ShrWebBizException(e);
  79. }
  80. // int sucess = 0;
  81. // int failure = 0;
  82. // BatchMessageTipsHeader batchMessageTipsHeader = new BatchMessageTipsHeader();
  83. // try {
  84. // String[] entryIdArr = entryIds.split(",");
  85. // IESignTemplateFileEntry iESignTemplateFileEntry = ESignTemplateFileEntryFactory.getLocalInstance(ctx);
  86. // for (int i = 0; i < entryIdArr.length; i++) {
  87. // BatchMessageTipsBody body = new BatchMessageTipsBody();
  88. // String entryId = entryIdArr[i];
  89. // body.setId(entryId);
  90. // try {
  91. // iESignTemplateFileEntry.syncTemplateFields(entryId);
  92. // iESignTemplateFileEntry.syncSuccess(entryId, null);
  93. // ++sucess;
  94. // } catch (Exception e) {
  95. // e.printStackTrace();
  96. // ++failure;
  97. // iESignTemplateFileEntry.syncFail(entryId, e.getMessage());
  98. // body.setMuitTipsState(Boolean.FALSE);
  99. // body.setMuitTipsMessage(e.getMessage());
  100. // }
  101. // batchMessageTipsHeader.addResult(body);
  102. // }
  103. // batchMessageTipsHeader.setBillId(entryIds);
  104. // batchMessageTipsHeader.setFailureCount(failure);
  105. // batchMessageTipsHeader.setSuccessCount(sucess);
  106. // this.writeSuccessData(batchMessageTipsHeader);
  107. // } catch (Exception e) {
  108. // e.printStackTrace();
  109. // throw new ShrWebBizException(e.getMessage(), e);
  110. // }
  111. }
  112. }