Merge remote-tracking branch 'origin/feature/develop1.0' into feature/develop1.0
This commit is contained in:
commit
d7a1af6d84
|
@ -82,6 +82,10 @@ public class SysOaLeaveController extends BaseController
|
|||
startPage();
|
||||
SysUser sysUser = ShiroUtils.getSysUser();
|
||||
sysOaLeave.setCreateBy(sysUser.getUserName());
|
||||
//管理员权限判断
|
||||
if(!ShiroUtils.getSysUser().isAdmin()){
|
||||
sysOaLeave.setCreateBy(String.valueOf(sysUser.getUserId()));
|
||||
}
|
||||
List<SysOaLeave> list = sysOaLeaveService.selectSysOaLeaveList(sysOaLeave);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
@ -130,7 +134,7 @@ public class SysOaLeaveController extends BaseController
|
|||
}
|
||||
//生成请假单
|
||||
String leaveNo = sequenceService.getNewSequenceNo(SequenceContants.OA_LEAVE_SEQUENCE);
|
||||
sysOaLeave.setCreateBy(sysUser.getUserName());
|
||||
sysOaLeave.setCreateBy(String.valueOf(sysUser.getUserId()));
|
||||
sysOaLeave.setLeaveNo(leaveNo);
|
||||
int i = sysOaLeaveService.insertSysOaLeave(sysOaLeave);
|
||||
return toAjax(i);
|
||||
|
|
|
@ -90,18 +90,11 @@
|
|||
field: 'name',
|
||||
title: '请假名称'
|
||||
},
|
||||
/*
|
||||
{
|
||||
field: 'startTime',
|
||||
title: '开始时间'
|
||||
},
|
||||
{
|
||||
field: 'endTime',
|
||||
title: '结束时间'
|
||||
},*/
|
||||
|
||||
|
||||
{
|
||||
field: 'processStatus',
|
||||
title: '流程状态',
|
||||
title: '审批状态',
|
||||
formatter: function(value, row, index) {
|
||||
return $.table.selectDictLabel(processStatusDatas, value);
|
||||
}
|
||||
|
@ -110,7 +103,10 @@
|
|||
field: 'applyPerson',
|
||||
title: '申请人'
|
||||
},
|
||||
|
||||
{
|
||||
field: 'createTime',
|
||||
title: '创建时间'
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
align: 'center',
|
||||
|
|
|
@ -21,7 +21,7 @@ public class WorkRecodeService implements ISyncDingTalkInfo {
|
|||
private WorkRecodeServiceImpl workRecodeService=SpringUtils.getBean(WorkRecodeServiceImpl.class);
|
||||
@Override
|
||||
public void syncDingTalkInfoEvent(SyncEvent syncEvent) {
|
||||
log.info("调用工作通知传入的原始参数:{}"+JSON.toJSONString(syncEvent));
|
||||
log.info("调用工作通知传入的原始参数:{}",JSON.toJSONString(syncEvent));
|
||||
DingTalkListenerType eventType =(DingTalkListenerType) syncEvent.getT();
|
||||
Integer code = eventType.getCode();
|
||||
if(code.equals(DingTalkListenerType.WORK_RECODE_CREATE.getCode())){
|
||||
|
|
|
@ -54,7 +54,7 @@ public class UserServiceImpl extends BaseService implements UserService {
|
|||
req.setWorkPlace(sysUser.getWorkPlace());
|
||||
req.setRemark(sysUser.getRemark());
|
||||
//部门list
|
||||
req.setDeptIdList(JSON.toJSONString(sysUser.getDept().getDeptId()));
|
||||
req.setDeptIdList(JSON.toJSONString(sysUser.getDeptId()));
|
||||
List<OapiV2UserCreateRequest.DeptOrder> list2 = new ArrayList<>();
|
||||
//员工在对应的部门中的职位
|
||||
List<OapiV2UserCreateRequest.DeptTitle> deptTitleList = new ArrayList<>();
|
||||
|
|
|
@ -38,7 +38,6 @@ public class WorkRecodeServiceImpl extends BaseService {
|
|||
* @param workrecordAddRequest
|
||||
* @return
|
||||
*/
|
||||
@SyncLog(dingTalkListenerType = DingTalkListenerType.WORK_RECODE_CREATE,dingTalkUrl=BaseConstantUrl.WORK_RECORD_CREATE)
|
||||
public String create(WorkrecordAddRequest workrecordAddRequest){
|
||||
DingTalkClient client = new DefaultDingTalkClient(BaseConstantUrl.WORK_RECORD_CREATE);
|
||||
OapiWorkrecordAddRequest req = new OapiWorkrecordAddRequest();
|
||||
|
|
|
@ -259,28 +259,12 @@ public abstract class AbstractEventListener extends AbstractFlowableEventListen
|
|||
//在流程中存在的才监听
|
||||
if(flowDefEnum.getCode().equals(key)){
|
||||
initEngineEventType(flowableEngineEvent);
|
||||
//会监听多次
|
||||
execute(flowableEngineEvent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
protected void execute(FlowableEngineEvent flowableEngineEvent) {
|
||||
try {
|
||||
process(flowableEngineEvent);
|
||||
} catch (RuntimeException e) {
|
||||
log.error("执行监听异常", e);
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 抽象需要执行的程序类
|
||||
*/
|
||||
protected abstract void process(FlowableEngineEvent flowableEngineEvent);
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
|
|
|
@ -13,6 +13,7 @@ import com.snow.flowable.service.FlowableService;
|
|||
import com.snow.system.domain.SysUser;
|
||||
import com.snow.system.event.SyncEvent;
|
||||
import com.snow.system.mapper.SysUserMapper;
|
||||
import com.snow.system.service.impl.SysUserServiceImpl;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.flowable.common.engine.api.delegate.event.FlowableEngineEntityEvent;
|
||||
import org.flowable.common.engine.api.delegate.event.FlowableEngineEvent;
|
||||
|
@ -29,10 +30,7 @@ import org.springframework.util.CollectionUtils;
|
|||
import org.springframework.util.StringUtils;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.LinkedBlockingQueue;
|
||||
import java.util.concurrent.ThreadPoolExecutor;
|
||||
|
||||
|
@ -59,13 +57,6 @@ public class SendMessageEventLister extends AbstractEventListener {
|
|||
)));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void process(FlowableEngineEvent flowableEngineEvent) {
|
||||
DelegateExecution execution = getExecution(flowableEngineEvent);
|
||||
log.info("process========>{}",JSON.toJSONString(execution));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
protected void taskCreated(FlowableEngineEntityEvent event) {
|
||||
|
@ -119,7 +110,7 @@ public class SendMessageEventLister extends AbstractEventListener {
|
|||
|
||||
/**
|
||||
* 组装参数
|
||||
* @param userId
|
||||
* @param userId 需要发送通知的人
|
||||
* @param event
|
||||
* @return
|
||||
*/
|
||||
|
@ -129,31 +120,41 @@ public class SendMessageEventLister extends AbstractEventListener {
|
|||
TaskEntity entity = (TaskEntity)event.getEntity();
|
||||
ProcessDefinition processDefinition = getProcessDefinition(event.getProcessDefinitionId());
|
||||
WorkrecordAddRequest workrecordAddRequest=new WorkrecordAddRequest();
|
||||
workrecordAddRequest.setUserid(userId);
|
||||
workrecordAddRequest.setBizId(processInstance.getBusinessKey());
|
||||
SysUser userInfo = getUserInfo(userId);
|
||||
workrecordAddRequest.setUserid(userInfo.getDingUserId());
|
||||
// workrecordAddRequest.setBizId(processInstance.getBusinessKey());
|
||||
workrecordAddRequest.setUrl(entity.getFormKey());
|
||||
workrecordAddRequest.setPcUrl(entity.getFormKey());
|
||||
workrecordAddRequest.setSourceName("DING-FLOW");
|
||||
workrecordAddRequest.setPcOpenType(2L);
|
||||
workrecordAddRequest.setTitle(entity.getName());
|
||||
workrecordAddRequest.setTitle(processDefinition.getName());
|
||||
workrecordAddRequest.setCreateTime(entity.getCreateTime().getTime());
|
||||
List<WorkrecordAddRequest.FormItemVo> formItemList=Lists.newArrayList();
|
||||
WorkrecordAddRequest.FormItemVo formItemVo = new WorkrecordAddRequest.FormItemVo();
|
||||
formItemVo.setTitle("流程名称:");
|
||||
formItemVo.setContent(processDefinition.getName());
|
||||
formItemVo.setTitle("请假单号");
|
||||
formItemVo.setContent(processInstance.getBusinessKey());
|
||||
formItemList.add(formItemVo);
|
||||
WorkrecordAddRequest.FormItemVo formItemVo3 = new WorkrecordAddRequest.FormItemVo();
|
||||
formItemVo3.setTitle("审批节点");
|
||||
formItemVo3.setContent(entity.getName());
|
||||
formItemList.add(formItemVo3);
|
||||
WorkrecordAddRequest.FormItemVo formItemVo1 = new WorkrecordAddRequest.FormItemVo();
|
||||
formItemVo1.setTitle("创建时间:");
|
||||
formItemVo1.setTitle("创建时间");
|
||||
formItemVo1.setContent(DateUtil.format(entity.getCreateTime(),"yyyy-MM-dd HH:mm:ss"));
|
||||
formItemList.add(formItemVo1);
|
||||
WorkrecordAddRequest.FormItemVo formItemVo2 = new WorkrecordAddRequest.FormItemVo();
|
||||
formItemVo2.setTitle("发起人:");
|
||||
formItemVo2.setContent(processInstance.getStartUserId());
|
||||
formItemVo2.setTitle("发起人");
|
||||
formItemVo2.setContent(getUserInfo(processInstance.getStartUserId()).getUserName());
|
||||
formItemList.add(formItemVo2);
|
||||
workrecordAddRequest.setFormItemList(formItemList);
|
||||
return workrecordAddRequest;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取流程定义信息
|
||||
* @param processDefinitionId
|
||||
* @return
|
||||
*/
|
||||
protected ProcessDefinition getProcessDefinition(String processDefinitionId) {
|
||||
RepositoryService repositoryService = (RepositoryService)SpringContextUtil.getBean(RepositoryService.class);
|
||||
return repositoryService.createProcessDefinitionQuery()
|
||||
|
@ -161,5 +162,17 @@ public class SendMessageEventLister extends AbstractEventListener {
|
|||
.singleResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取用户信息
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
protected SysUser getUserInfo(String userId) {
|
||||
SysUserServiceImpl sysUserService = (SysUserServiceImpl)SpringContextUtil.getBean(SysUserServiceImpl.class);
|
||||
return Optional.ofNullable(sysUserService.selectUserById(Long.parseLong(userId))).orElse(
|
||||
new SysUser(1L,"System","manager4480")
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -43,11 +43,6 @@ public class ManagerTaskEventListener extends AbstractEventListener {
|
|||
)));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void process(FlowableEngineEvent flowableEngineEvent) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
|
@ -63,9 +58,9 @@ public class ManagerTaskEventListener extends AbstractEventListener {
|
|||
|
||||
@Override
|
||||
protected void taskCompleted(FlowableEngineEntityEvent event) {
|
||||
SysOaLeaveServiceImpl sysOaLeaveService = (SysOaLeaveServiceImpl)SpringContextUtil.getBean(SysOaLeaveServiceImpl.class);
|
||||
//任务完成做一些业务处理
|
||||
log.info("ManagerTaskEventListener----taskCompleted任务完成监听:{}",JSON.toJSONString(event));
|
||||
SysOaLeaveServiceImpl sysOaLeaveService = (SysOaLeaveServiceImpl)SpringContextUtil.getBean(SysOaLeaveServiceImpl.class);
|
||||
TaskEntity entity = (TaskEntity)event.getEntity();
|
||||
DelegateExecution execution = getExecution(event);
|
||||
SysOaLeave sysOaLeave=new SysOaLeave();
|
||||
|
|
|
@ -135,6 +135,10 @@ public class SysUser extends BaseEntity
|
|||
*/
|
||||
private String orgEmail;
|
||||
|
||||
/**
|
||||
* 钉钉用户ID
|
||||
*/
|
||||
private String dingUserId;
|
||||
|
||||
public SysUser()
|
||||
{
|
||||
|
@ -145,7 +149,12 @@ public class SysUser extends BaseEntity
|
|||
{
|
||||
this.userId = userId;
|
||||
}
|
||||
|
||||
public SysUser(Long userId,String userName,String dingUserId)
|
||||
{
|
||||
this.userId = userId;
|
||||
this.userName=userName;
|
||||
this.dingUserId=dingUserId;
|
||||
}
|
||||
public Long getUserId()
|
||||
{
|
||||
return userId;
|
||||
|
@ -440,6 +449,14 @@ public class SysUser extends BaseEntity
|
|||
this.orgEmail = orgEmail;
|
||||
}
|
||||
|
||||
public String getDingUserId() {
|
||||
return dingUserId;
|
||||
}
|
||||
|
||||
public void setDingUserId(String dingUserId) {
|
||||
this.dingUserId = dingUserId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||
|
|
|
@ -31,6 +31,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<result property="tel" column="tel" />
|
||||
<result property="hiredDate" column="hired_date" />
|
||||
<result property="orgEmail" column="org_email" />
|
||||
<result property="dingUserId" column="ding_user_id" />
|
||||
|
||||
<association property="dept" column="dept_id" javaType="SysDept" resultMap="deptResult" />
|
||||
<collection property="roles" javaType="java.util.List" resultMap="RoleResult" />
|
||||
</resultMap>
|
||||
|
@ -56,7 +58,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<sql id="selectUserVo">
|
||||
select u.user_id, u.dept_id, u.login_name, u.user_name, u.user_type, u.email, u.avatar, u.phonenumber, u.sex, u.password, u.salt, u.status, u.del_flag, u.login_ip, u.login_date, u.create_time, u.remark,
|
||||
d.dept_id, d.parent_id, d.dept_name, d.order_num, d.leader, d.status as dept_status,
|
||||
r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status
|
||||
r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status,
|
||||
u.ding_user_id
|
||||
from sys_user u
|
||||
left join sys_dept d on u.dept_id = d.dept_id
|
||||
left join sys_user_role ur on u.user_id = ur.user_id
|
||||
|
@ -64,7 +67,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
</sql>
|
||||
|
||||
<select id="selectUserList" parameterType="SysUser" resultMap="SysUserResult">
|
||||
select u.user_id, u.dept_id, u.login_name, u.user_name, u.user_type, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.salt, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user u
|
||||
select u.user_id, u.dept_id, u.login_name, u.user_name, u.user_type, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.salt, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader,u.ding_user_id from sys_user u
|
||||
left join sys_dept d on u.dept_id = d.dept_id
|
||||
where u.del_flag = '0'
|
||||
<if test="loginName != null and loginName != ''">
|
||||
|
@ -200,7 +203,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="tel != null">tel = #{tel},</if>
|
||||
<if test="hiredDate != null">hired_date = #{hiredDate},</if>
|
||||
<if test="orgEmail != null">org_email = #{orgEmail},</if>
|
||||
|
||||
<if test="dingUserId != null">ding_user_id = #{dingUserId},</if>
|
||||
update_time = sysdate()
|
||||
</set>
|
||||
where user_id = #{userId}
|
||||
|
@ -228,6 +231,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="tel != null">tel ,</if>
|
||||
<if test="hiredDate != null">hired_date,</if>
|
||||
<if test="orgEmail != null">org_email,</if>
|
||||
<if test="dingUserId != null">ding_user_id,</if>
|
||||
create_time
|
||||
)values(
|
||||
<if test="userId != null and userId != ''">#{userId},</if>
|
||||
|
@ -250,6 +254,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="tel != null and tel!=''">#{tel},</if>
|
||||
<if test="hiredDate != null and hiredDate !='' ">#{hiredDate},</if>
|
||||
<if test="orgEmail != null and orgEmail !=''"> #{orgEmail},</if>
|
||||
<if test="dingUserId != null">#{dingUserId},</if>
|
||||
sysdate()
|
||||
)
|
||||
</insert>
|
||||
|
|
Loading…
Reference in New Issue