qa-prevention-gwj/src/main/java/com/zcloud/flow/xgf/JiTuan/JiTuanCharge.java

127 lines
4.7 KiB
Java

package com.zcloud.flow.xgf.JiTuan;
import com.yomahub.liteflow.annotation.LiteflowComponent;
import com.yomahub.liteflow.core.NodeSwitchComponent;
import com.zcloud.entity.PageData;
import com.zcloud.flow.xgf.util.XgfFlowDto;
import com.zcloud.mapper.datasource.xgf.XgfFlowsMapper;
import com.zcloud.mapper.datasource.xgf.XgfUserDetailsMapper;
import com.zcloud.mapper.datasource.xgf.XgfUserMapper;
import com.zcloud.service.xgf.XgfUserService;
import com.zcloud.util.DateUtil;
import org.apache.commons.lang3.StringUtils;
import javax.annotation.Resource;
@LiteflowComponent("JiTuanCharge")
public class JiTuanCharge extends NodeSwitchComponent {
@Resource
private XgfFlowsMapper xgfFlowsMapper;
@Resource
private XgfUserService xgfUserService;
@Resource
private XgfUserMapper xgfUserMapper;
@Resource
private XgfUserDetailsMapper xgfUserDetailsMapper;
@Override
public boolean isAccess() {
XgfFlowDto info = this.getRequestData();
// 如果指针没有数据,赋值后自动结束
if (StringUtils.isBlank(info.getIterator())) {
PageData condition = new PageData();
condition.put("FLOWS_ID", info.getFLOWS_ID());
PageData flows = xgfFlowsMapper.findById(condition);
info.setIterator("1");
flows.put("APPOINT_ONE_CORP_TYPE", "0");
flows.put("APPOINT_ONE_DEPARTMENT_ID", info.getAPPOINT_DEPARTMENT_ID());
flows.put("APPOINT_ONE_DEPARTMENT_NAME", info.getAPPOINT_DEPARTMENT_NAME());
flows.put("APPOINT_ONE_USER_ID", info.getAPPOINT_USER_ID());
flows.put("APPOINT_ONE_USER_NAME", info.getAPPOINT_USER_NAME());
flows.put("FLOWS_STEP", 1);
xgfFlowsMapper.edit(flows);
return false;
}
return super.isAccess();
}
@Override
@SuppressWarnings("all")
public String processSwitch() 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);
condition.clear();
condition.put("XGF_USER_ID", flows.getString("FLOWS_ID"));
PageData entity = xgfUserMapper.findById(condition);
condition.clear();
condition.put("XGF_USER_DETAILS_ID",flows.getString("FLOWS_ID"));
PageData userInfo = xgfUserDetailsMapper.findById(condition);
// 如果不是当前流程,进入下一流程判断
if (!"1".equals(info.getIterator())) {
if (userInfo.get("ATTORNEY") != null && StringUtils.isNotBlank(userInfo.getString("ATTORNEY"))){
return "WeiTuo";
}
return "JiTuanSupervise";
}
flows.put("APPOINT_ONE_CORP_ID", "1");
flows.put("APPOINT_ONE_CORP_NAME", "秦港股份有限公司");
flows.put("APPOINT_ONE_TIME", DateUtil.getTime());
flows.put("APPOINT_ONE_STATUS", info.getSTATUS());
flows.put("APPOINT_ONE_OPINION", info.getOPINION());
flows.put("OPINION",info.getOPINION());
if ("0".equals(info.getSTATUS())) {
// 打回至相关方端
xgfUserService.repulse(flows,info);
return "";
} else {
xgfFlowsMapper.edit(flows);
entity.put("CHECK_STATUS", 1);
entity.put("VALID_FLAG", "2");
entity.put("CHECK_STEP", Integer.parseInt(entity.get("CHECK_STEP").toString()) + 1);
// created by liu jun 2024-03-01 港务局开会后,将入场告知培训的有效期设置权限给发包单位
if (StringUtils.isNotBlank(info.getLIMIT_END_TIME())) {
entity.put("LIMIT_END_TIME", info.getLIMIT_END_TIME());
}
// created by liu jun 2024-02-04 如果有委托书则保存委托书
if (StringUtils.isNotBlank(info.getATTORNEY())) {
userInfo.put("ATTORNEY", info.getATTORNEY());
xgfUserDetailsMapper.edit(userInfo);
}
xgfUserMapper.edit(entity);
// 将指针清空
info.setIterator("");
}
// 保存操作记录
if (StringUtils.isNotBlank(info.getATTORNEY())){
xgfUserService.saveLog(info, "1", "0");
return "WeiTuo";
}else {
xgfUserService.saveLog(info, info.getSTATUS(), "0");
}
return "JiTuanSupervise";
}
@Override
public boolean isEnd() {
XgfFlowDto info = this.getRequestData();
if ("0".equals(info.getSTATUS()) && "1".equals(info.getIterator())) {
return true;
}
return super.isEnd();
}
}