修复bug
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
<bean id="signTaskConfigProvider" class="com.seeyon.apps.src_signtask.config.SignTaskConfigProvider"/>
|
||||
<bean id="formCreateService" class="com.seeyon.apps.src_signtask.service.FormCreateService"/>
|
||||
<bean id="signTaskJob" class="com.seeyon.apps.src_signtask.job.SignTaskJob"/>
|
||||
<bean id="signTaskHandleFailJob" class="com.seeyon.apps.src_signtask.job.SignTaskHandleFailJob"/>
|
||||
<bean id="fileHandlerService" class="com.seeyon.apps.src_signtask.service.FileHandlerService"/>
|
||||
<bean id="esignCallbackFormBizService" class="com.seeyon.apps.src_signtask.callback.EsignCallbackFormBizService"/>
|
||||
<bean name="/signtaskcallback.do" class="com.seeyon.apps.src_signtask.controller.SignTaskCallBackController">
|
||||
|
||||
@@ -39,6 +39,7 @@ public class EsignCallbackFormBizService implements EsignCallbackBizService {
|
||||
conditions.add(FormWhereCondition.build().value(formId).fieldName("ID"));
|
||||
FormTableExecutor.update(tablename,updateFields,conditions);
|
||||
//调用第三方回调接口
|
||||
handleThireePartyCallback(formId,refId);
|
||||
}
|
||||
|
||||
private void handleThireePartyCallback(String formId,String refId) throws Exception {
|
||||
@@ -62,7 +63,9 @@ public class EsignCallbackFormBizService implements EsignCallbackBizService {
|
||||
List<FormWhereCondition> conditions = new ArrayList<>();
|
||||
List<FormUpdateField> updateFields = new ArrayList<>();
|
||||
updateFields.add(FormUpdateField.build().fieldName(status).value(enumItemId));
|
||||
conditions.add(FormWhereCondition.build().value(formId).fieldName("签署任务编号"));
|
||||
TableContext tableContext = FormTableExecutor.master(configProvider.getBizConfigByKey(SignTaskConstants.SIGNTASK_FORMNO));
|
||||
updateFields.add(FormUpdateField.build().fieldName(tableContext.getTableBean().getFieldBeanByDisplay("签署失败原因").getColumnName()).value(failMsg));
|
||||
conditions.add(FormWhereCondition.build().value(formId).fieldName("ID"));
|
||||
FormTableExecutor.update(tableName,updateFields,conditions);
|
||||
}
|
||||
|
||||
|
||||
@@ -60,7 +60,6 @@ public class SignTaskCallBackController extends BaseController {
|
||||
}
|
||||
//signLinkService.del(flowId);
|
||||
response.setStatus(HttpServletResponse.SC_OK);
|
||||
return;
|
||||
}else if(action.equals("SIGN_MISSON_COMPLETE") && callbackParams.getSignResult() == 2 && callbackParams.getSignOrder() == 2){
|
||||
//发送消息
|
||||
// MessageVo messageVo = new MessageVo();
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
package com.seeyon.apps.src_signtask.job;
|
||||
|
||||
|
||||
import com.seeyon.apps.esign.po.param.JsonParamSource;
|
||||
import com.seeyon.apps.esign.service.ContractCreateService;
|
||||
import com.seeyon.apps.ext.quartz.AbstractQuartzTask;
|
||||
import com.seeyon.apps.src_signtask.config.SignTaskConfigProvider;
|
||||
import com.seeyon.apps.src_signtask.constants.SignTaskConstants;
|
||||
import com.seeyon.ctp.common.AppContext;
|
||||
import com.seeyon.ctp.common.exceptions.BusinessException;
|
||||
import com.seeyon.utils.form.*;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class SignTaskHandleFailJob extends AbstractQuartzTask {
|
||||
|
||||
private static final Log log = LogFactory.getLog(SignTaskHandleFailJob.class);
|
||||
private SignTaskConfigProvider signTaskConfigProvider = (SignTaskConfigProvider) AppContext.getBean("signTaskConfigProvider");
|
||||
private ContractCreateService contractCreateService = (ContractCreateService) AppContext.getBean("contractCreateService");
|
||||
|
||||
@Override
|
||||
public String taskRun(String s) throws Exception {
|
||||
log.info("开始批量签署失败的任务");
|
||||
startHandleTask();
|
||||
log.info("批量签署失败的任务结束");
|
||||
return "";
|
||||
}
|
||||
|
||||
private void startHandleTask() throws BusinessException {
|
||||
Integer pageNum = 1;
|
||||
Integer pageSize = 20;
|
||||
Map<String,Object> dataMap = null;
|
||||
TableContext tableContext = FormTableExecutor.master(signTaskConfigProvider.getBizConfigByKey(SignTaskConstants.SIGNTASK_FORMNO));
|
||||
List<FormWhereCondition> conditionList = new ArrayList<>();
|
||||
conditionList.add(FormWhereCondition.build().display("签署状态").value(EnumMapUtils.getEnumItemValueByDisplayValue(tableContext.getTableBean(),"签署状态","签署失败")));
|
||||
List<FormColumn> formColumns = FormTableExecutor.pageQuery(tableContext, null, conditionList, pageNum, pageSize, true);
|
||||
if(formColumns.size() <= 0) {
|
||||
return;
|
||||
}
|
||||
do {
|
||||
for (FormColumn formColumn : formColumns) {
|
||||
try{
|
||||
List<FormWhereCondition> updateConditions = new ArrayList<FormWhereCondition>();
|
||||
updateConditions.add(FormWhereCondition.build().display("ID").value(formColumn.getId()));
|
||||
List<FormUpdateField> updateFields = new ArrayList<>();
|
||||
updateFields.add(FormUpdateField.build().display("E签宝流程编号").value("0"));
|
||||
updateFields.add(FormUpdateField.build().display("签署状态").value(EnumMapUtils.getEnumItemValueByDisplayValue(tableContext.getTableBean(),"签署状态","未签署")));
|
||||
FormTableExecutor.update(tableContext,updateFields,updateConditions);
|
||||
}catch (Exception e) {
|
||||
log.error(e.getMessage(),e);
|
||||
}
|
||||
}
|
||||
pageNum++;
|
||||
formColumns = FormTableExecutor.pageQuery(tableContext, null, conditionList, pageNum, pageSize, true);
|
||||
}while (formColumns.size() > 0 );
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "签署任务失败处理任务";
|
||||
}
|
||||
}
|
||||
@@ -38,6 +38,8 @@ public class SignTaskJob extends AbstractQuartzTask {
|
||||
TableContext tableContext = FormTableExecutor.master(signTaskConfigProvider.getBizConfigByKey(SignTaskConstants.SIGNTASK_FORMNO));
|
||||
List<FormWhereCondition> conditionList = new ArrayList<>();
|
||||
conditionList.add(FormWhereCondition.build().display("签署状态").value(EnumMapUtils.getEnumItemValueByDisplayValue(tableContext.getTableBean(),"签署状态","未签署")));
|
||||
conditionList.add(FormWhereCondition.build().display("E签宝流程编号").clauseFactor(ClauseFactor.NULL).startWithBracket(true).concatFactor(ClauseFactor.OR));
|
||||
conditionList.add(FormWhereCondition.build().display("E签宝流程编号").value("0").endWithBracket(true));
|
||||
List<FormColumn> formColumns = FormTableExecutor.pageQuery(tableContext, null, conditionList, pageNum, pageSize, true);
|
||||
if(formColumns.size() <= 0) {
|
||||
return;
|
||||
@@ -57,18 +59,24 @@ public class SignTaskJob extends AbstractQuartzTask {
|
||||
dataMap.put("signers",fieldsMap.get("签署方配置"));
|
||||
JsonParamSource jsonParamSource = new JsonParamSource(dataMap);
|
||||
jsonParamSource.setCallbackBaseUrl("/signtaskcallback.do?method=callback");
|
||||
List<FormWhereCondition> updateConditions = new ArrayList<FormWhereCondition>();
|
||||
List<FormUpdateField> updateFields = new ArrayList<>();
|
||||
updateConditions.add(FormWhereCondition.build().display("ID").value(formColumn.getId()));
|
||||
try{
|
||||
String flowId = contractCreateService.startSign(jsonParamSource);
|
||||
log.info("签署任务编号为"+fieldsMap.get("签署任务编号")+"的签署任务发起成功,流程编号为"+flowId);
|
||||
List<FormWhereCondition> updateConditions = new ArrayList<FormWhereCondition>();
|
||||
updateConditions.add(FormWhereCondition.build().display("ID").value(formColumn.getId()));
|
||||
List<FormUpdateField> updateFields = new ArrayList<>();
|
||||
updateFields.add(FormUpdateField.build().display("E签宝流程编号").value(flowId));
|
||||
FormTableExecutor.update(tableContext,updateFields,updateConditions);
|
||||
}catch (Exception e) {
|
||||
updateFields.add(FormUpdateField.build().display("签署失败原因").value(e.getMessage()));
|
||||
log.error(e.getMessage(),e);
|
||||
log.error("签署任务编号为"+fieldsMap.get("签署任务编号")+"的签署任务发起失败");
|
||||
}
|
||||
try {
|
||||
FormTableExecutor.update(tableContext,updateFields,updateConditions);
|
||||
}catch (Exception e) {
|
||||
log.error("更新签署任务档案底表失败:" + e.getMessage());
|
||||
log.error(e.getMessage(),e);
|
||||
}
|
||||
}
|
||||
pageNum++;
|
||||
formColumns = FormTableExecutor.pageQuery(tableContext, null, conditionList, pageNum, pageSize, true);
|
||||
|
||||
Reference in New Issue
Block a user