2024-03-19 08:42:16 +08:00
|
|
|
package com.zcloud.flow.xgf.JiTuan;
|
|
|
|
|
|
|
|
import com.yomahub.liteflow.annotation.LiteflowComponent;
|
|
|
|
import com.yomahub.liteflow.core.NodeComponent;
|
|
|
|
import com.zcloud.entity.PageData;
|
|
|
|
import com.zcloud.flow.xgf.util.XgfFlowDto;
|
|
|
|
import com.zcloud.mapper.datasource.bus.CorpInfoMapper;
|
|
|
|
import com.zcloud.mapper.datasource.xgf.XgfFlowsMapper;
|
|
|
|
import com.zcloud.mapper.datasource.xgf.XgfUserMapper;
|
|
|
|
import com.zcloud.service.xgf.XgfUserService;
|
|
|
|
import com.zcloud.util.DateUtil;
|
|
|
|
import com.zcloud.util.Jurisdiction;
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
|
|
|
@LiteflowComponent("JiTuanWeiTuoSupervise")
|
|
|
|
public class JiTuanWeiTuoSupervise extends NodeComponent {
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
private XgfFlowsMapper xgfFlowsMapper;
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
private XgfUserService xgfUserService;
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
private XgfUserMapper xgfUserMapper;
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
private CorpInfoMapper corpInfoMapper;
|
|
|
|
|
|
|
|
@Override
|
2024-03-20 10:34:33 +08:00
|
|
|
public boolean isAccess() {
|
2024-03-19 08:42:16 +08:00
|
|
|
XgfFlowDto info = this.getRequestData();
|
|
|
|
// 如果指针没有数据,赋值后自动结束
|
|
|
|
if (StringUtils.isBlank(info.getIterator())) {
|
2024-03-20 10:34:33 +08:00
|
|
|
PageData condition = new PageData();
|
|
|
|
condition.put("FLOWS_ID", info.getFLOWS_ID());
|
|
|
|
PageData flows = xgfFlowsMapper.findById(condition);
|
2024-03-19 08:42:16 +08:00
|
|
|
info.setIterator("3");
|
|
|
|
flows.put("APPOINT_THREE_CORP_TYPE", "0");
|
|
|
|
flows.put("APPOINT_THREE_DEPARTMENT_ID", info.getAPPOINT_DEPARTMENT_ID());
|
|
|
|
flows.put("APPOINT_THREE_DEPARTMENT_NAME", info.getAPPOINT_DEPARTMENT_NAME());
|
|
|
|
flows.put("APPOINT_THREE_USER_ID", info.getAPPOINT_USER_ID());
|
|
|
|
flows.put("APPOINT_THREE_USER_NAME", info.getAPPOINT_USER_NAME());
|
|
|
|
flows.put("FLOWS_STEP", 3);
|
|
|
|
xgfFlowsMapper.edit(flows);
|
2024-03-20 10:34:33 +08:00
|
|
|
return false;
|
2024-03-19 08:42:16 +08:00
|
|
|
}
|
2024-03-20 10:34:33 +08:00
|
|
|
return "3".equals(info.getIterator());
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void process() throws Exception {
|
|
|
|
System.out.println(getName() + "节点");
|
|
|
|
|
|
|
|
XgfFlowDto info = this.getRequestData();
|
|
|
|
PageData condition = new PageData();
|
|
|
|
|
|
|
|
condition.put("FLOWS_ID", info.getFLOWS_ID());
|
|
|
|
PageData flows = xgfFlowsMapper.findById(condition);
|
2024-03-19 08:42:16 +08:00
|
|
|
|
|
|
|
condition.clear();
|
|
|
|
condition.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID());
|
|
|
|
PageData corpEntity = corpInfoMapper.findById(condition);
|
|
|
|
|
|
|
|
flows.put("APPOINT_THREE_CORP_ID", Jurisdiction.getCORPINFO_ID());
|
|
|
|
flows.put("APPOINT_THREE_CORP_NAME", corpEntity.getString("CORP_NAME"));
|
|
|
|
flows.put("APPOINT_THREE_TIME", DateUtil.getTime());
|
|
|
|
flows.put("APPOINT_THREE_STATUS", info.getSTATUS());
|
|
|
|
flows.put("APPOINT_THREE_OPINION", info.getOPINION());
|
2024-03-20 10:34:33 +08:00
|
|
|
flows.put("OPINION", info.getOPINION());
|
2024-03-19 08:42:16 +08:00
|
|
|
if ("0".equals(info.getSTATUS())) {
|
|
|
|
// 打回至相关方端
|
2024-06-11 14:27:19 +08:00
|
|
|
xgfUserService.repulse(flows);
|
2024-03-19 08:42:16 +08:00
|
|
|
// 保存操作记录
|
|
|
|
xgfUserService.saveLog(info, info.getSTATUS(), "0");
|
|
|
|
} else {
|
|
|
|
xgfFlowsMapper.edit(flows);
|
|
|
|
condition.clear();
|
|
|
|
condition.put("XGF_USER_ID", flows.getString("FLOWS_ID"));
|
|
|
|
PageData entity = xgfUserMapper.findById(condition);
|
|
|
|
entity.put("CHECK_STATUS", 2);
|
|
|
|
entity.put("VALID_FLAG", "1");
|
|
|
|
entity.put("STATUS", "2");
|
|
|
|
entity.put("CHECK_STEP", Integer.parseInt(entity.get("CHECK_STEP").toString()) + 1);
|
|
|
|
xgfUserMapper.edit(entity);
|
|
|
|
|
|
|
|
// 保存操作记录
|
|
|
|
xgfUserService.saveLog(info, info.getSTATUS(), "1");
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
2024-03-20 16:44:51 +08:00
|
|
|
|
|
|
|
@Override
|
|
|
|
public boolean isEnd() {
|
|
|
|
XgfFlowDto info = this.getRequestData();
|
2024-03-21 13:23:51 +08:00
|
|
|
if ("0".equals(info.getSTATUS()) && "3".equals(info.getIterator())) {
|
2024-03-20 16:44:51 +08:00
|
|
|
return true;
|
|
|
|
}
|
|
|
|
return super.isEnd();
|
|
|
|
}
|
2024-03-19 08:42:16 +08:00
|
|
|
}
|