fix: 修改任务多级审批 #119

Merged
sunchenliang merged 1 commits from fix/UpdateFlowComplete20240416 into test 1 year ago

@ -5,6 +5,7 @@ import cn.jyjz.xiaoyao.common.base.vo.User;
import cn.jyjz.xiaoyao.common.base.vo.UserToken; import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
@ -23,6 +24,8 @@ public interface UserTokenService {
*/ */
User findByLoginname(String loginname); User findByLoginname(String loginname);
List<User> findByLoginNameList(String[] loginname);
/** /**
* *
* @param phone * @param phone

@ -26,10 +26,8 @@ import cn.jyjz.xiaoyao.common.base.exception.MyTokenExpiredException;
import cn.jyjz.xiaoyao.framework.security.model.AdminUserModel; import cn.jyjz.xiaoyao.framework.security.model.AdminUserModel;
import cn.jyjz.xiaoyao.framework.security.service.FlowableUserLoginService; import cn.jyjz.xiaoyao.framework.security.service.FlowableUserLoginService;
import cn.jyjz.xiaoyao.framework.security.utils.JwtUtils; import cn.jyjz.xiaoyao.framework.security.utils.JwtUtils;
import java.util.HashSet;
import java.util.List; import java.util.*;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
@ -102,6 +100,16 @@ public class UserTokenServiceImpl implements UserTokenService {
return user; return user;
} }
@Override
public List<User> findByLoginNameList(String[] loginname) {
List<User> userList = new ArrayList<>();
for (String userName : loginname) {
User user = this.findByLoginname(userName);
userList.add(user);
}
return userList;
}
public User findByPhone(String phone) { public User findByPhone(String phone) {
cn.jyjz.xiaoyao.admin.dataobject.User userData = userService.findByPhone(phone); cn.jyjz.xiaoyao.admin.dataobject.User userData = userService.findByPhone(phone);

@ -558,30 +558,34 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
//发送消息 //发送消息
public void sendMsg(OcrTaskchildPicture model, UserToken userToken) { public void sendMsg(OcrTaskchildPicture model, UserToken userToken) {
cn.jyjz.xiaoyao.common.base.vo.User byLoginname = userTokenService.findByLoginname(model.getAssignee()); String[] split = model.getAssignee().split(",");
OcrMsg msg = new OcrMsg(); List<cn.jyjz.xiaoyao.common.base.vo.User> userList = userTokenService.findByLoginNameList(split);
msg.setCreateTime(System.currentTimeMillis()); for (cn.jyjz.xiaoyao.common.base.vo.User user : userList) {
msg.setSendTime(System.currentTimeMillis()); OcrMsg msg = new OcrMsg();
msg.setReceiveUserIds(byLoginname.getId().toString()); msg.setCreateTime(System.currentTimeMillis());
msg.setTitile(model.getFromtaskname()); msg.setSendTime(System.currentTimeMillis());
msg.setSender(Long.valueOf(userToken.getUserid())); msg.setReceiveUserIds(user.getId().toString());
JSONObject jsonObject = new JSONObject(); msg.setTitile(model.getFromtaskname());
jsonObject.put("taskId", model.getFromtaskid()); msg.setSender(Long.valueOf(userToken.getUserid()));
jsonObject.put("nodeName", model.getTaskname()); JSONObject jsonObject = new JSONObject();
jsonObject.put("states", 1); jsonObject.put("taskId", model.getFromtaskid());
jsonObject.put("statesName", "待审批"); jsonObject.put("nodeName", model.getTaskname());
jsonObject.put("sendUserId", userToken.getUserid()); jsonObject.put("states", 1);
jsonObject.put("sendUserName", userToken.getUsername()); jsonObject.put("statesName", "待审批");
jsonObject.put("sendTime", System.currentTimeMillis()); jsonObject.put("sendUserId", userToken.getUserid());
jsonObject.put("fromId", model.getId().toString()); jsonObject.put("sendUserName", userToken.getUsername());
jsonObject.put("taskName", model.getFromtaskname()); jsonObject.put("sendTime", System.currentTimeMillis());
jsonObject.put("pictureId", model.getPictureid()); jsonObject.put("fromId", model.getId().toString());
jsonObject.put("packageId", model.getPackageid()); jsonObject.put("taskName", model.getFromtaskname());
msg.setBusJson(jsonObject.toJSONString()); jsonObject.put("pictureId", model.getPictureid());
msg.setCreateBy(Long.valueOf(userToken.getUserid())); jsonObject.put("packageId", model.getPackageid());
msg.setCreateTime(System.currentTimeMillis()); msg.setBusJson(jsonObject.toJSONString());
msg.setSendStatus("1"); msg.setCreateBy(Long.valueOf(userToken.getUserid()));
ocrMsgService.save(msg); msg.setCreateTime(System.currentTimeMillis());
msg.setSendStatus("1");
ocrMsgService.save(msg);
}
} }
/** /**

@ -127,7 +127,7 @@ public class ApiTestController {
PictureSourceParameter pictureSourceParameter = new PictureSourceParameter(); PictureSourceParameter pictureSourceParameter = new PictureSourceParameter();
pictureSourceParameter.setPageSize(Integer.parseInt(pageSize)); pictureSourceParameter.setPageSize(Integer.parseInt(pageSize));
pictureSourceParameter.setTenantNo(1714548920583360512L); pictureSourceParameter.setTenantNo(1714548920583360512L);
pictureSourceParameter.setAccountNo(1714887674875514880L); pictureSourceParameter.setAccountNo(1714559323824623616L);
List<String> notAddedToQueueTaskIds = new ArrayList<>(); List<String> notAddedToQueueTaskIds = new ArrayList<>();

@ -239,7 +239,7 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
//目前没有做其他信息返回,如果需要再做修改 //目前没有做其他信息返回,如果需要再做修改
for (OcrTaskchildPicture ocrTaskchildPicture : list) { for (OcrTaskchildPicture ocrTaskchildPicture : list) {
//判断审批人是否为当前登录用户 //判断审批人是否为当前登录用户
if (userToken.getLoginname().equals(ocrTaskchildPicture.getAssignee()) && if (ocrTaskchildPicture.getAssignee().contains(userToken.getLoginname()) &&
(ocrTaskchildPicture.getStates().intValue() != SystemConstantsOa.OA_STATUS_TYPE_END (ocrTaskchildPicture.getStates().intValue() != SystemConstantsOa.OA_STATUS_TYPE_END
&& ocrTaskchildPicture.getStates().intValue() != SystemConstantsOa.OA_STATUS_TYPE_REFUSE)) { && ocrTaskchildPicture.getStates().intValue() != SystemConstantsOa.OA_STATUS_TYPE_REFUSE)) {
formIds.add(ocrTaskchildPicture.getId().toString()); formIds.add(ocrTaskchildPicture.getId().toString());

@ -624,18 +624,18 @@
select tcp.* from ( select tcp.* from (
select tc.*, select tc.*,
uf.COMMENTHIS, uf.COMMENTHIS,
uf.TASKNAME as TASKNAMEHIS, uf.TASKNAME as TASKNAMEHIS,
uf.STATSHIS, uf.STATSHIS,
uf.TASKNO, uf.TASKNO,
op.field6 as fromCustomerLevel, op.field6 as fromCustomerLevel,
op.releaseArea as fromCity, op.releaseArea as fromCity,
op.is_repeat, op.is_repeat,
tc.is_repeated_nodules as isRepeatedNodules tc.is_repeated_nodules as isRepeatedNodules
from ocr_taskchild_picture tc from ocr_taskchild_picture tc
LEFT JOIN OA_USERAPPROVE_T uf ON tc.ID = uf.ID LEFT JOIN OA_USERAPPROVE_T uf ON tc.ID = uf.ID
left join ocr_picture op on tc.PICTUREID = op.ID left join ocr_picture op on tc.PICTUREID = op.ID
where tc.ASSIGNEE = #{searchassignee} where FIND_IN_SET(#{searchassignee}, tc.ASSIGNEE)
and tc.TENANTID = #{searchtenantid} and tc.TENANTID = #{searchtenantid}
and tc.STATES = 2 and tc.STATES = 2
and op.suspiciousfile = 0 and op.suspiciousfile = 0
@ -646,7 +646,7 @@
) )
</if> </if>
UNION UNION
select tc.*, uf.COMMENTHIS, uf.TASKNAME as TASKNAMEHIS, uf.STATSHIS, uf.TASKNO, op.field6 as fromCustomerLevel, op.releaseArea as fromCity, op.is_repeat,tc.is_repeated_nodules as isRepeatedNodules select tc.*, uf.COMMENTHIS, uf.TASKNAME as TASKNAMEHIS, uf.STATSHIS, uf.TASKNO, op.field6 as fromCustomerLevel, op.releaseArea as fromCity, op.is_repeat, tc.is_repeated_nodules as isRepeatedNodules
from ocr_taskchild_picture tc, OA_USERAPPROVE_T uf, ocr_picture op from ocr_taskchild_picture tc, OA_USERAPPROVE_T uf, ocr_picture op
where tc.ID = uf.FORMID where tc.ID = uf.FORMID
and tc.PICTUREID = op.ID and tc.PICTUREID = op.ID
@ -686,7 +686,7 @@
from ocr_taskchild_picture tc from ocr_taskchild_picture tc
LEFT JOIN OA_USERAPPROVE_T uf ON tc.ID = uf.ID LEFT JOIN OA_USERAPPROVE_T uf ON tc.ID = uf.ID
left join ocr_picture op on tc.PICTUREID = op.ID left join ocr_picture op on tc.PICTUREID = op.ID
where tc.ASSIGNEE = #{searchassignee} where FIND_IN_SET(#{searchassignee}, tc.ASSIGNEE)
and tc.TENANTID = #{searchtenantid} and tc.TENANTID = #{searchtenantid}
and tc.STATES = 2 and tc.STATES = 2
and op.suspiciousfile = 0 and op.suspiciousfile = 0

Loading…
Cancel
Save