Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
yuezhihang
2022-01-06 17:45:40 +08:00
5 changed files with 193 additions and 0 deletions
@@ -61,9 +61,16 @@ public class WebServiceOAController extends BaseAction {
@Autowired
private WebServiceOAService webServiceOAService;
@ApiOperation(value = "强制删除OA待办", notes = "强制删除OA待办")
@GetMapping("/deleteOAByMandatory")
public void deleteOAByMandatory(String todoId,String assignee) {
webServiceOAService.deleteOAByMandatory(todoId,assignee);
}
@ApiOperation(value = "发送待办接口(")
@PostMapping("/sendTodo")
public NotifyTodoAppResult sendTodo() throws Exception{
return webServiceOAService.sendTodo(new BusProcessNew());
}
}
@@ -12,6 +12,8 @@ public interface WebServiceOAService {
void deleteOAByPid(String pId);
void deleteOAByMandatory(String todoId,String assignee);
void deleteOAByTaskIdResetTodo(BusProcessNew busProcessNew,String assignee);
void completeOA(Task task);
@@ -76,6 +76,51 @@ public class WebServiceOAServiceImpl implements WebServiceOAService {
credentials = Credentials.basic(api_key,api_secret);
}
/**
* 单个删除OA待办 业务处理
*/
@Override
@Async
public void deleteOAByMandatory(String todoId,String assignee){
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
log.info("--------------------------ESP 发送删除待办任务 及 再次发送待办----------------------------");
if(StringUtils.isNotBlank(todoId) && StringUtils.isNotBlank(assignee)){
QueryWrapper wrapper = new QueryWrapper();
wrapper.eq("TODO_ID",todoId);
wrapper.eq("MSG_TYPE","0");
List<SendTodoLog> list = sendTodoLogMapper.selectList(wrapper);
if(!list.isEmpty()){
net.sf.json.JSONObject fromObject = net.sf.json.JSONObject.fromObject(list.get(0).getMesg());
net.sf.json.JSONObject jsonObjectFilter = net.sf.json.JSONObject.fromObject(list.get(0).getMesg());
jsonObjectFilter = jsonObjectFilter.discard("PId");
jsonObjectFilter.put("pid",fromObject.getString("PId"));
BusProcessNew object = JSON.parseObject(jsonObjectFilter.toString(),BusProcessNew.class);
List<NotifyTodoSendContext> notifyTodoSendContexts = new ArrayList<>();
NotifyTodoSendContext notifyTodoSendContext = new NotifyTodoSendContext();
notifyTodoSendContext.setAppName("SRMS");
notifyTodoSendContext.setModelId(todoId);
notifyTodoSendContext.setModelName(object.getTaskInfo());
notifyTodoSendContext.setType("1");
notifyTodoSendContext.setOptType("2");
Map<String, Object> map = new HashMap<>();
ResponseMessage<UserVO> byId = lawsUserInfoService.getById(assignee);
map.put("LoginName",byId == null ? "" : byId.getData().getAccount());
JSONObject jsonLoginName = new JSONObject(map);
notifyTodoSendContext.setTargets(jsonLoginName.toJSONString());
notifyTodoSendContext.setUserId(assignee);
notifyTodoSendContexts.add(notifyTodoSendContext);
Map<String,Object> objectMap = new TreeMap<>();
objectMap.put("todoId",todoId);
objectMap.put("list",notifyTodoSendContexts);
net.sf.json.JSONObject jsonObject = net.sf.json.JSONObject.fromObject(objectMap);
oaService.setTodoDeleteMq(jsonObject.toString());
}
}
}
/**
* 单个删除OA待办 及 重发待办
*/
@@ -0,0 +1,98 @@
package com.ydw.bat.wkflow.listener.bussLibraryProduct;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
import com.ydw.bat.wkflow.business_main.datas.entity.Datas;
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService;
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService;
import com.ydw.bat.wkflow.business_main.datas.service.IDatasService;
import com.ydw.bat.wkflow.util.SpringContextUtil;
import org.activiti.engine.ActivitiException;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.apache.commons.lang.StringUtils;
import java.util.ArrayList;
import java.util.List;
/**
* 重新意见汇总及标准修改后
*/
public class BussLibraryProductC6After implements TaskListener{
@Override
public void notify(DelegateTask delegateTask) {
IDatasService datasService = SpringContextUtil.getBean(IDatasService.class);
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class);
QueryWrapper<Datas> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId());
Datas datas = datasService.getOne(queryWrapper);
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
delegateTask.setVariable("objectJson",object);
List<String> nextUserList = new ArrayList();
if(StringUtils.isNotBlank(object.getString("bussUser7"))){
delegateTask.setVariable("bussUser7",object.getString("bussUser7"));
nextUserList.add(object.getString("bussUser7"));
}else {
throw new ActivitiException("1#2标准化员不存在,请配置相关人员");
}
//截止时间 流程描述 创建人
String user = object.getString("prcCreateUser");
String username = object.getString("prcCreateUserName");
String prcName = "";
if(StringUtils.isNotBlank(object.getString("standName"))){
prcName = object.getString("standName") + "-企标制修订-产品标准";
}else {
prcName = "企标制修订-产品标准";
}
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
// one1.setOverTime(OVERTIME);
one1.setPrcType("buss2");
one1.setPrcName(prcName);
one1.setCreatUser(user);
one1.setCreatUserName(username);
busProcessNameService.saveOrUpdate(one1);
}
// 存储当前节点意见
BusProcessNew busProcessNew = new BusProcessNew();
busProcessNew.setMsgType("clause");
busProcessNew.setPId(delegateTask.getProcessInstanceId());
busProcessNew.setMesg(object.toJSONString());
busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey());
busProcessNew.setTaskId(delegateTask.getId());
busProcessNew.setCommitText(object.getString("commentText"));
busProcessNew.setFinishFlag("0");
busProcessNew.setTaskInfo(delegateTask.getName());
busBean.save(busProcessNew);
if(nextUserList != null && !nextUserList.isEmpty()){
for(String nextUser : nextUserList){
BusProcessNew busProcessNewNext = new BusProcessNew();
busProcessNewNext.setMsgType("clause");
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
busProcessNewNext.setMesg(object.toJSONString());
busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey());
busProcessNewNext.setFinishFlag("0");
busProcessNewNext.setTaskInfo(delegateTask.getName());
busProcessNewNext.setUserId(nextUser);
busProcessNewNext.setPrcName(prcName);
busBean.save(busProcessNewNext);
}
}
}
private String verifyObj(String str){
return (str == null || str.equals("")) ? "" : str;
}
}
@@ -0,0 +1,41 @@
package com.ydw.bat.wkflow.listener.bussLibraryProduct;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService;
import com.ydw.bat.wkflow.business_mq.service.CreateMQService;
import com.ydw.bat.wkflow.util.SpringContextUtil;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import java.util.List;
/**
* 意见汇总及标准修改前
*/
public class BussLibraryProductC6Before implements TaskListener{
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
QueryWrapper queryWrapper1 = new QueryWrapper();
queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId());
queryWrapper1.eq("USER_ID",delegateTask.getAssignee());
queryWrapper1.isNull("TASK_ID");
List<BusProcessNew> list = busBean.list(queryWrapper1);
if(!list.isEmpty()){
BusProcessNew one1 = list.get(0);
one1.setTaskId(delegateTask.getId());
busBean.saveOrUpdate(one1);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink("bussLibraryProductC6?prcType=buss2");
one1.setTaskInfo(delegateTask.getName());
oaService.sendTodoMq(one1);
}
}
}