相关方人员审批可指定打回至特殊节点。

liujun0703-新项目开发^2^2
liujun 2024-06-11 14:31:06 +08:00
parent 6d152e28ee
commit 813fd36a88
13 changed files with 45 additions and 29 deletions

View File

@ -84,7 +84,7 @@ public class GuFenCharge extends NodeSwitchComponent {
flows.put("OPINION", info.getOPINION()); flows.put("OPINION", info.getOPINION());
if ("0".equals(info.getSTATUS())) { if ("0".equals(info.getSTATUS())) {
// 打回至相关方端 // 打回至相关方端
xgfUserService.repulse(flows); xgfUserService.repulse(flows, info);
return ""; return "";
} else { } else {
xgfFlowsMapper.edit(flows); xgfFlowsMapper.edit(flows);

View File

@ -70,7 +70,7 @@ public class GuFenSupervise extends NodeComponent {
flows.put("OPINION",info.getOPINION()); flows.put("OPINION",info.getOPINION());
if ("0".equals(info.getSTATUS())) { if ("0".equals(info.getSTATUS())) {
// 打回至相关方端 // 打回至相关方端
xgfUserService.repulse(flows); xgfUserService.repulse(flows,info);
// 保存操作记录 // 保存操作记录
xgfUserService.saveLog(info, info.getSTATUS(), "0"); xgfUserService.saveLog(info, info.getSTATUS(), "0");

View File

@ -93,7 +93,7 @@ public class GuFenWeiTuoCharge extends NodeComponent {
if ("0".equals(info.getSTATUS())) { if ("0".equals(info.getSTATUS())) {
// 打回至相关方端 // 打回至相关方端
xgfUserService.repulse(flows); xgfUserService.repulse(flows,info);
} else { } else {
xgfFlowsMapper.edit(flows); xgfFlowsMapper.edit(flows);
condition.clear(); condition.clear();

View File

@ -73,7 +73,7 @@ public class GuFenWeiTuoSupervise extends NodeComponent {
flows.put("OPINION", info.getOPINION()); flows.put("OPINION", info.getOPINION());
if ("0".equals(info.getSTATUS())) { if ("0".equals(info.getSTATUS())) {
// 打回至相关方端 // 打回至相关方端
xgfUserService.repulse(flows); xgfUserService.repulse(flows,info);
// 保存操作记录 // 保存操作记录
xgfUserService.saveLog(info, info.getSTATUS(), "0"); xgfUserService.saveLog(info, info.getSTATUS(), "0");
} else { } else {

View File

@ -84,7 +84,7 @@ public class JiTuanCharge extends NodeSwitchComponent {
flows.put("OPINION",info.getOPINION()); flows.put("OPINION",info.getOPINION());
if ("0".equals(info.getSTATUS())) { if ("0".equals(info.getSTATUS())) {
// 打回至相关方端 // 打回至相关方端
xgfUserService.repulse(flows); xgfUserService.repulse(flows,info);
return ""; return "";
} else { } else {
xgfFlowsMapper.edit(flows); xgfFlowsMapper.edit(flows);

View File

@ -70,7 +70,7 @@ public class JiTuanSupervise extends NodeComponent {
flows.put("OPINION", info.getOPINION()); flows.put("OPINION", info.getOPINION());
if ("0".equals(info.getSTATUS())) { if ("0".equals(info.getSTATUS())) {
// 打回至相关方端 // 打回至相关方端
xgfUserService.repulse(flows); xgfUserService.repulse(flows,info);
// 保存操作记录 // 保存操作记录
xgfUserService.saveLog(info, info.getSTATUS(), "0"); xgfUserService.saveLog(info, info.getSTATUS(), "0");

View File

@ -75,7 +75,7 @@ public class JiTuanWeiTuoCharge extends NodeComponent {
if ("0".equals(info.getSTATUS())) { if ("0".equals(info.getSTATUS())) {
// 打回至相关方端 // 打回至相关方端
xgfUserService.repulse(flows); xgfUserService.repulse(flows,info);
} else { } else {
xgfFlowsMapper.edit(flows); xgfFlowsMapper.edit(flows);
condition.clear(); condition.clear();

View File

@ -72,7 +72,7 @@ public class JiTuanWeiTuoSupervise extends NodeComponent {
flows.put("OPINION", info.getOPINION()); flows.put("OPINION", info.getOPINION());
if ("0".equals(info.getSTATUS())) { if ("0".equals(info.getSTATUS())) {
// 打回至相关方端 // 打回至相关方端
xgfUserService.repulse(flows); xgfUserService.repulse(flows,info);
// 保存操作记录 // 保存操作记录
xgfUserService.saveLog(info, info.getSTATUS(), "0"); xgfUserService.saveLog(info, info.getSTATUS(), "0");
} else { } else {

View File

@ -71,7 +71,7 @@ public class YiBanCharge extends NodeComponent {
flows.put("OPINION",info.getOPINION()); flows.put("OPINION",info.getOPINION());
if ("0".equals(info.getSTATUS())) { if ("0".equals(info.getSTATUS())) {
// 打回至相关方端 // 打回至相关方端
xgfUserService.repulse(flows); xgfUserService.repulse(flows,info);
} else { } else {
xgfFlowsMapper.edit(flows); xgfFlowsMapper.edit(flows);
condition.clear(); condition.clear();

View File

@ -105,7 +105,7 @@ public class YiBanSupervise extends NodeComponent {
flows.put("OPINION",info.getOPINION()); flows.put("OPINION",info.getOPINION());
if ("0".equals(info.getSTATUS())) { if ("0".equals(info.getSTATUS())) {
// 打回至相关方端 // 打回至相关方端
xgfUserService.repulse(flows); xgfUserService.repulse(flows,info);
// 保存操作记录 // 保存操作记录
xgfUserService.saveLog(info, info.getSTATUS(), "0"); xgfUserService.saveLog(info, info.getSTATUS(), "0");
} else { } else {

View File

@ -46,4 +46,7 @@ public class XgfFlowDto {
// 获取节点需要填写的信息 // 获取节点需要填写的信息
private Map<String,String> map; private Map<String,String> map;
// 打回节点游标
private String BACK_STEP;
} }

View File

@ -39,7 +39,7 @@ public interface XgfUserService {
void saveLog(PageData info, String status, String endFlag) throws Exception; void saveLog(PageData info, String status, String endFlag) throws Exception;
void saveLog(XgfFlowDto info, String status, String endFlag) throws Exception; void saveLog(XgfFlowDto info, String status, String endFlag) throws Exception;
void repulse(PageData flows) throws Exception; void repulse(PageData flows, XgfFlowDto info) throws Exception;
void approveMax(PageData request, MultipartFile[] chengNuoShu) throws Exception; void approveMax(PageData request, MultipartFile[] chengNuoShu) throws Exception;

View File

@ -991,25 +991,38 @@ public class XgfUserServiceImpl implements XgfUserService {
} }
@Override @Override
public void repulse(PageData flows) throws Exception { public void repulse(PageData flows, XgfFlowDto info) throws Exception {
PageData condition = new PageData(); // add by liu jun 相关方可指定打回至指定节点 -1 为默认打回至相关方端
condition.put("XGF_USER_ID", flows.getString("FLOWS_ID")); if ("-1".equals(info.getBACK_STEP())){
PageData entity = xgfUserMapper.findById(condition); PageData condition = new PageData();
entity.put("STATUS", "0"); condition.put("XGF_USER_ID", flows.getString("FLOWS_ID"));
entity.put("VALID_FLAG", "0"); PageData entity = xgfUserMapper.findById(condition);
entity.put("CHECK_STATUS", "-2"); entity.put("STATUS", "0");
PageData key = new PageData(); entity.put("VALID_FLAG", "0");
key.putAll(entity); entity.put("CHECK_STATUS", "-2");
key.put("USER_ID", condition.get("XGF_USER_ID")); PageData key = new PageData();
key.put("STATUS", "1"); key.putAll(entity);
key.put("OPINION", flows.get("OPINION")); key.put("USER_ID", condition.get("XGF_USER_ID"));
Map result = HttpClientService.doPost(prevention_xgf_url + "openApi/user/approve", key); key.put("STATUS", "1");
if (result == null || !"succeed".equals(result.get("result"))) { key.put("OPINION", flows.get("OPINION"));
throw new RuntimeException("请求失败"); Map result = HttpClientService.doPost(prevention_xgf_url + "openApi/user/approve", key);
if (result == null || !"succeed".equals(result.get("result"))) {
throw new RuntimeException("请求失败");
}
xgfUserMapper.edit(entity);
this.clearInfo(flows);
xgfFlowsMapper.edit(flows);
} else {
// 1、判断不能自己打回到自己
PageData condition = new PageData();
condition.put("FLOWS_ID",flows.getString("FLOWS_ID"));
PageData flowEntity = xgfFlowsMapper.findById(condition);
if (flowEntity != null && flowEntity.size() > 0 && flowEntity.getString("FLOWS_STEP").equals(info.getBACK_STEP())){
throw new RuntimeException("不能自己打回到自己");
}
flowEntity.put("FLOWS_STEP", info.getBACK_STEP());
xgfFlowsMapper.edit(flowEntity);
} }
xgfUserMapper.edit(entity);
this.clearInfo(flows);
xgfFlowsMapper.edit(flows);
} }
@Override @Override