|
|
@@ -4,6 +4,7 @@ import com.lc.ibps.api.base.model.User;
|
|
|
import com.lc.ibps.base.core.exception.BaseException;
|
|
|
import com.lc.ibps.base.core.util.BeanUtils;
|
|
|
import com.lc.ibps.base.core.util.string.StringValidator;
|
|
|
+import com.lc.ibps.base.framework.table.ICommonDao;
|
|
|
import com.lc.ibps.base.saas.context.TenantContext;
|
|
|
import com.lc.ibps.base.web.context.ContextUtil;
|
|
|
import com.lc.ibps.bpmn.api.cmd.ActionCmd;
|
|
|
@@ -32,6 +33,8 @@ import com.lc.ibps.org.api.IPartyUserService;
|
|
|
import com.lc.ibps.org.party.persistence.entity.PartyUserPo;
|
|
|
import org.activiti.engine.impl.entity.SubProcessStartOrEndEventModel;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.slf4j.Logger;
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.context.ApplicationListener;
|
|
|
import org.springframework.core.Ordered;
|
|
|
@@ -57,6 +60,8 @@ import java.util.*;
|
|
|
@Service
|
|
|
public class ProcEndEventListener implements ApplicationListener<ProcEndEvent>,Ordered {
|
|
|
|
|
|
+ private static final Logger LOGGER = LoggerFactory.getLogger(ProcStartEventListener.class);
|
|
|
+
|
|
|
@Resource
|
|
|
private BpmInstHisRepository bpmInstHisRepository;
|
|
|
@Resource
|
|
|
@@ -69,6 +74,8 @@ public class ProcEndEventListener implements ApplicationListener<ProcEndEvent>,O
|
|
|
private BpmOperNotifyRepository bpmOperNotifyRepository;
|
|
|
@Autowired
|
|
|
private IPartyUserService partyUserService;
|
|
|
+ @Autowired
|
|
|
+ private ICommonDao<?> commonDao;
|
|
|
|
|
|
@Override
|
|
|
public void onApplicationEvent(ProcEndEvent ev) {
|
|
|
@@ -168,6 +175,7 @@ public class ProcEndEventListener implements ApplicationListener<ProcEndEvent>,O
|
|
|
BpmInst bpmInstDomain = bpmInstRepository.newInstance();
|
|
|
bpmInstDomain.createHistory(instId);
|
|
|
bpmInstDomain.delete(instId);
|
|
|
+ this.updateFlowStatus(instId);
|
|
|
Map<String, Object> var = new HashMap<>();
|
|
|
var.put("userId",ContextUtil.getCurrentUserId());
|
|
|
var.put("instId",instId);
|
|
|
@@ -175,6 +183,23 @@ public class ProcEndEventListener implements ApplicationListener<ProcEndEvent>,O
|
|
|
return instance;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 流程结束修改数据状态
|
|
|
+ * @param instId
|
|
|
+ */
|
|
|
+ private void updateFlowStatus(String instId){
|
|
|
+ Map<String, Object> hisMap = commonDao.queryOne("SELECT PROC_DEF_KEY_,BIZ_KEY_ FROM ibps_bpm_inst_his WHERE id_ = '" + instId + "' ");
|
|
|
+ if (BeanUtils.isNotEmpty(hisMap)){
|
|
|
+ Map<String, Object> defMap = commonDao.queryOne("select BO_CODE_ from ibps_bpm_def where DEF_KEY_ = '" + hisMap.get("PROC_DEF_KEY_") + "' ");
|
|
|
+ if (BeanUtils.isNotEmpty(defMap)) {
|
|
|
+ commonDao.execute("update t_" + defMap.get("BO_CODE_") + " set shi_fou_guo_shen_ = '已完成' where id_ = '" + hisMap.get("BIZ_KEY_") + "' ");
|
|
|
+ LOGGER.warn("Update Status BIZ_KEY_=" + hisMap.get("BIZ_KEY_"));
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ LOGGER.warn("Query His By instId is null instId=" +instId);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private DefaultMessage buildSnapshotMessage(Map<String, Object> var){
|
|
|
DefaultMessage<String> message = new DefaultMessage<String>();
|
|
|
|