| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256 |
- package com.kingdee.eas.custom.esign.handler;
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.JSONObject;
- import com.google.common.collect.Lists;
- import com.kingdee.bos.Context;
- import com.kingdee.bos.dao.ormapping.ObjectUuidPK;
- import com.kingdee.bos.metadata.entity.SelectorItemCollection;
- import com.kingdee.bos.metadata.entity.SelectorItemInfo;
- import com.kingdee.eas.basedata.person.PersonInfo;
- import com.kingdee.eas.custom.esign.ESignGlobalStatusOverviewFactory;
- import com.kingdee.eas.custom.esign.ESignGlobalStatusOverviewInfo;
- import com.kingdee.eas.custom.esign.IESignGlobalStatusOverview;
- import com.kingdee.eas.custom.esign.bizEnum.SendStatusEnum;
- import com.kingdee.eas.custom.esign.tsign.hz.comm.EsignHttpResponse;
- import com.kingdee.eas.custom.esign.tsign.hz.exception.EsignException;
- import com.kingdee.eas.custom.esign.util.EsignHttpUtil;
- import com.kingdee.shr.base.syssetting.api.bean.BatchMessageTipsBody;
- import com.kingdee.shr.base.syssetting.api.bean.BatchMessageTipsHeader;
- import com.kingdee.shr.base.syssetting.context.SHRContext;
- import com.kingdee.shr.base.syssetting.exception.SHRWebException;
- import com.kingdee.shr.base.syssetting.exception.ShrWebBizException;
- import com.kingdee.shr.base.syssetting.web.handler.ListHandler;
- import org.springframework.ui.ModelMap;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.util.List;
- /**
- * description: ESignGlobalStatusOverviewHandler <br>
- * date: 21/11/2025 下午 4:19 <br>
- * author: lhbj <br>
- * version: 1.0 <br>
- */
- public class ESignGlobalStatusOverviewListHandler extends ListHandler {
- public Context getCtx() {
- return SHRContext.getInstance().getContext();
- }
- /**
- * 基于文件发起签署
- * @param request
- * @param response
- * @param modelMap
- * @return
- * @throws SHRWebException
- */
- public String create_by_fileAction(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap) throws SHRWebException {
- BatchMessageTipsHeader batchMessageTipsHeader = new BatchMessageTipsHeader();
- String billId = this.getBillId(request);
- int failure = 0;
- int success = 0;
- try {
- if(billId.indexOf(",")>=0){
- throw new EsignException("请选择一行记录发起签署");
- }
- IESignGlobalStatusOverview globalStatusOverview = ESignGlobalStatusOverviewFactory.getLocalInstance(this.getCtx());
- SelectorItemCollection selectorItemCollection = new SelectorItemCollection();
- selectorItemCollection.add(new SelectorItemInfo("*"));
- selectorItemCollection.add(new SelectorItemInfo("person.id"));
- selectorItemCollection.add(new SelectorItemInfo("operator.id"));
- ESignGlobalStatusOverviewInfo info = globalStatusOverview.getESignGlobalStatusOverviewInfo(new ObjectUuidPK(billId));
- PersonInfo person = info.getPerson();
- PersonInfo operator = info.getOperator();
- String personId=null;
- if(null!=person&&null!=person.getId()){
- personId=person.getId().toString();
- }
- String operatorId=null;
- if(null!=operator&&null!=operator.getId()){
- operatorId=operator.getId().toString();
- }
- EsignHttpResponse httpRes =EsignHttpUtil.create_by_file(this.getCtx(),personId,info.getFileName(),operatorId,info.getEfileId(),
- info.getEsignStatus(),info.getRequestParams());
- if(httpRes.getStatus()>=200&&httpRes.getStatus()<300) {
- JSONObject object = JSON.parseObject(httpRes.getBody());
- if("0".equals(String.valueOf(object.get("code")))) {
- BatchMessageTipsBody body = new BatchMessageTipsBody();
- body.setMuitTipsState(Boolean.TRUE);
- body.setMuitTipsMessage(httpRes.getBody());
- body.setId(billId);
- batchMessageTipsHeader.addResult(body);
- success++;
- }else {
- BatchMessageTipsBody body = new BatchMessageTipsBody();
- body.setMuitTipsState(Boolean.FALSE);
- body.setMuitTipsMessage(httpRes.getBody());
- body.setId(billId);
- batchMessageTipsHeader.addResult(body);
- }
- }else {
- BatchMessageTipsBody body = new BatchMessageTipsBody();
- body.setMuitTipsState(Boolean.FALSE);
- body.setMuitTipsMessage(httpRes.getBody());
- body.setId(billId);
- batchMessageTipsHeader.addResult(body);
- }
- batchMessageTipsHeader.setBillId(billId);
- batchMessageTipsHeader.setFailureCount((success>0?1:0));
- batchMessageTipsHeader.setSuccessCount(success);
- this.writeSuccessData(batchMessageTipsHeader);
- }catch (EsignException e){
- e.printStackTrace();
- throw new ShrWebBizException(e);
- }catch (Exception e){
- e.printStackTrace();
- throw new ShrWebBizException(e);
- }
- return null;
- }
- /**
- * 撤销签署流程
- * @param request
- * @param response
- * @param modelMap
- * @return
- * @throws SHRWebException
- */
- public String revoke_by_fileAction(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap) throws SHRWebException {
- BatchMessageTipsHeader batchMessageTipsHeader = new BatchMessageTipsHeader();
- String billId = this.getBillId(request);
- String revokeReason =request.getParameter("revokeReason");
- int failure = 0;
- int success = 0;
- try {
- if(billId.indexOf(",")>=0){
- throw new EsignException("请选择一行记录发起签署");
- }
- IESignGlobalStatusOverview globalStatusOverview = ESignGlobalStatusOverviewFactory.getLocalInstance(this.getCtx());
- SelectorItemCollection selectorItemCollection = new SelectorItemCollection();
- selectorItemCollection.add(new SelectorItemInfo("*"));
- selectorItemCollection.add(new SelectorItemInfo("person.id"));
- selectorItemCollection.add(new SelectorItemInfo("operator.id"));
- ESignGlobalStatusOverviewInfo info = globalStatusOverview.getESignGlobalStatusOverviewInfo(new ObjectUuidPK(billId));
- PersonInfo person = info.getPerson();
- PersonInfo operator = info.getOperator();
- String personId=null;
- if(null!=person&&null!=person.getId()){
- personId=person.getId().toString();
- }
- String operatorId=null;
- if(null!=operator&&null!=operator.getId()){
- operatorId=operator.getId().toString();
- }
- EsignHttpResponse httpRes =EsignHttpUtil.revoke_by_file(this.getCtx(),info.getSignFlowId(),revokeReason,info.getEfileId());
- if(httpRes.getStatus()>=200&&httpRes.getStatus()<300) {
- JSONObject object = JSON.parseObject(httpRes.getBody());
- if("0".equals(String.valueOf(object.get("code")))) {
- BatchMessageTipsBody body = new BatchMessageTipsBody();
- body.setMuitTipsState(Boolean.TRUE);
- body.setMuitTipsMessage(httpRes.getBody());
- body.setId(billId);
- batchMessageTipsHeader.addResult(body);
- success++;
- }else {
- BatchMessageTipsBody body = new BatchMessageTipsBody();
- body.setMuitTipsState(Boolean.FALSE);
- body.setMuitTipsMessage(httpRes.getBody());
- body.setId(billId);
- batchMessageTipsHeader.addResult(body);
- }
- }else {
- BatchMessageTipsBody body = new BatchMessageTipsBody();
- body.setMuitTipsState(Boolean.FALSE);
- body.setMuitTipsMessage(httpRes.getBody());
- body.setId(billId);
- batchMessageTipsHeader.addResult(body);
- }
- batchMessageTipsHeader.setBillId(billId);
- batchMessageTipsHeader.setFailureCount((success>0?1:0));
- batchMessageTipsHeader.setSuccessCount(success);
- this.writeSuccessData(batchMessageTipsHeader);
- }catch (EsignException e){
- e.printStackTrace();
- throw new ShrWebBizException(e);
- }catch (Exception e){
- e.printStackTrace();
- throw new ShrWebBizException(e);
- }
- return null;
- }
- /**
- * 催签流程中签署人
- * @param request
- * @param response
- * @param modelMap
- * @return
- * @throws SHRWebException
- */
- public String urge_by_fileAction(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap) throws SHRWebException {
- BatchMessageTipsHeader batchMessageTipsHeader = new BatchMessageTipsHeader();
- String billId = this.getBillId(request);
- int failure = 0;
- int success = 0;
- try {
- if(billId.indexOf(",")>=0){
- throw new EsignException("请选择一行记录发起签署");
- }
- IESignGlobalStatusOverview globalStatusOverview = ESignGlobalStatusOverviewFactory.getLocalInstance(this.getCtx());
- SelectorItemCollection selectorItemCollection = new SelectorItemCollection();
- selectorItemCollection.add(new SelectorItemInfo("*"));
- selectorItemCollection.add(new SelectorItemInfo("person.id"));
- selectorItemCollection.add(new SelectorItemInfo("person.id"));
- ESignGlobalStatusOverviewInfo info = globalStatusOverview.getESignGlobalStatusOverviewInfo(new ObjectUuidPK(billId));
- PersonInfo person = info.getPerson();
- PersonInfo operator = info.getOperator();
- String personId=null;
- if(null!=person&&null!=person.getId()){
- personId=person.getId().toString();
- }
- String operatorId=null;
- if(null!=operator&&null!=operator.getId()){
- operatorId=operator.getId().toString();
- }
- EsignHttpResponse httpRes =EsignHttpUtil.urge_by_file(this.getCtx(),info.getSignFlowId(),null,info.getEfileId());
- if(httpRes.getStatus()>=200&&httpRes.getStatus()<300) {
- JSONObject object = JSON.parseObject(httpRes.getBody());
- if("0".equals(String.valueOf(object.get("code")))) {
- BatchMessageTipsBody body = new BatchMessageTipsBody();
- body.setMuitTipsState(Boolean.TRUE);
- body.setMuitTipsMessage(httpRes.getBody());
- body.setId(billId);
- batchMessageTipsHeader.addResult(body);
- success++;
- }else {
- BatchMessageTipsBody body = new BatchMessageTipsBody();
- body.setMuitTipsState(Boolean.FALSE);
- body.setMuitTipsMessage(httpRes.getBody());
- body.setId(billId);
- batchMessageTipsHeader.addResult(body);
- }
- }else {
- BatchMessageTipsBody body = new BatchMessageTipsBody();
- body.setMuitTipsState(Boolean.FALSE);
- body.setMuitTipsMessage(httpRes.getBody());
- body.setId(billId);
- batchMessageTipsHeader.addResult(body);
- }
- batchMessageTipsHeader.setBillId(billId);
- batchMessageTipsHeader.setFailureCount((success>0?1:0));
- batchMessageTipsHeader.setSuccessCount(success);
- this.writeSuccessData(batchMessageTipsHeader);
- }catch (EsignException e){
- e.printStackTrace();
- throw new ShrWebBizException(e);
- }catch (Exception e){
- e.printStackTrace();
- throw new ShrWebBizException(e);
- }
- return null;
- }
- }
|