|
|
@ -1,14 +1,13 @@ |
|
|
|
package com.yxt.anrui.oa.biz.oaform; |
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil; |
|
|
|
import cn.hutool.core.date.DateUtil; |
|
|
|
import com.alibaba.fastjson.JSON; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
import com.google.common.util.concurrent.ThreadFactoryBuilder; |
|
|
|
import com.yxt.anrui.oa.biz.oaform.flowable.DelegateQuery; |
|
|
|
import com.yxt.anrui.oa.biz.oaform.flowable.NodeQuery; |
|
|
|
import com.yxt.anrui.oa.biz.oaform.flowable.NodeVo; |
|
|
|
import com.yxt.anrui.oa.biz.oaform.flowable.TaskQuery; |
|
|
|
import com.yxt.anrui.oa.biz.oaform.flowable.*; |
|
|
|
import com.yxt.anrui.oa.feign.base.Rule; |
|
|
|
import com.yxt.anrui.oa.feign.flowable.flow.BusinessVariables; |
|
|
|
import com.yxt.anrui.oa.feign.flowable.flow.FlowableFeign; |
|
|
|
import com.yxt.anrui.oa.feign.flowable.flow.UpdateFlowFieldVo; |
|
|
@ -22,6 +21,9 @@ import com.yxt.anrui.oa.feign.message.MessageFlowVo; |
|
|
|
import com.yxt.anrui.oa.feign.message.MessageFlowableQuery; |
|
|
|
import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationFeign; |
|
|
|
import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationVo; |
|
|
|
import com.yxt.anrui.oa.feign.portal.sysstafforg.SysStaffOrgFeign; |
|
|
|
import com.yxt.anrui.oa.feign.sysuser.SysUserFeign; |
|
|
|
import com.yxt.anrui.oa.feign.sysuser.SysUserVo; |
|
|
|
import com.yxt.common.base.service.MybatisBaseService; |
|
|
|
import com.yxt.common.base.utils.PagerUtil; |
|
|
|
import com.yxt.common.base.utils.StringUtils; |
|
|
@ -54,8 +56,12 @@ public class OaFormService extends MybatisBaseService<OaFormMapper, OaForm> { |
|
|
|
private FlowTaskFeign flowTaskFeign; |
|
|
|
@Autowired |
|
|
|
private FlowableFeign flowableFeign; |
|
|
|
@Autowired |
|
|
|
private SysStaffOrgFeign sysStaffOrgFeign; |
|
|
|
@Autowired |
|
|
|
private SysUserFeign sysUserFeign; |
|
|
|
|
|
|
|
public ResultBean<String> saveOrUpdateForm(OaFormDto dto) { |
|
|
|
/* public ResultBean<String> saveOrUpdateForm(OaFormDto dto) { |
|
|
|
ResultBean<String> rb = ResultBean.fireFail(); |
|
|
|
String sid = dto.getSid(); |
|
|
|
if (StringUtils.isBlank(sid)) {//新增
|
|
|
@ -69,6 +75,49 @@ public class OaFormService extends MybatisBaseService<OaFormMapper, OaForm> { |
|
|
|
baseMapper.updateById(oaForm); |
|
|
|
} |
|
|
|
return rb.success().setData(sid); |
|
|
|
}*/ |
|
|
|
|
|
|
|
public ResultBean<String> saveOaForm(OaFormDto dto) { |
|
|
|
ResultBean<String> rb = ResultBean.fireFail(); |
|
|
|
OaForm oaForm = new OaForm(); |
|
|
|
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgSidPath()).getData(); |
|
|
|
SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData(); |
|
|
|
String deptName = ""; |
|
|
|
String deptSid = ""; |
|
|
|
List<String> split = Arrays.asList(dto.getOrgSidPath().split("/")); |
|
|
|
|
|
|
|
if (split.size() > 1) { |
|
|
|
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(split.size() - 2)).getData(); |
|
|
|
SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData(); |
|
|
|
deptName = sysOrganization1.getName(); |
|
|
|
deptSid = sysOrganization1.getSid(); |
|
|
|
} else { |
|
|
|
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData(); |
|
|
|
deptName = sysOrganization.getName(); |
|
|
|
deptSid = sysOrganization.getSid(); |
|
|
|
} |
|
|
|
// 生成单据编号
|
|
|
|
String billNo = dto.getBillNo() + useOrgSid + DateUtil.format(DateUtil.date(), "yyyyMM"); |
|
|
|
String i = selectNum(billNo); |
|
|
|
if (StringUtils.isNotBlank(i)) { |
|
|
|
billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue()); |
|
|
|
} else { |
|
|
|
billNo = Rule.getBillNo(billNo, 0); |
|
|
|
} |
|
|
|
|
|
|
|
oaForm.setUseOrgSid(useOrgSid); |
|
|
|
oaForm.setUseOrgName(organizationVo.getName()); |
|
|
|
oaForm.setDeptSid(deptSid); |
|
|
|
oaForm.setDeptName(deptName); |
|
|
|
oaForm.setBillNo(billNo); |
|
|
|
oaForm.setCreateOrgSid(useOrgSid); |
|
|
|
oaForm.setCreateOrgName(organizationVo.getName()); |
|
|
|
|
|
|
|
// 获取用户信息
|
|
|
|
SysUserVo sysUserVo = sysUserFeign.fetchBySid(dto.getCreateBySid()).getData(); |
|
|
|
oaForm.setCreateByName(sysUserVo.getName()); |
|
|
|
baseMapper.insert(oaForm); |
|
|
|
return rb.success().setData(oaForm.getSid()); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean<OaFormDetailsVo> fetchDetailsBySid(String sid) { |
|
|
@ -95,7 +144,14 @@ public class OaFormService extends MybatisBaseService<OaFormMapper, OaForm> { |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
|
|
|
|
|
public int updateFlow(Map<String, Object> map) { |
|
|
|
public int updateFlow(OaFormFlowDto oaFormFlowDto) { |
|
|
|
OaForm oaForm = fetchBySid(oaFormFlowDto.getSid()); |
|
|
|
if (StringUtils.isBlank(oaForm.getFormType())) { |
|
|
|
oaForm.setFormType(oaFormFlowDto.getName()); |
|
|
|
oaForm.setTitle(oaForm.getCreateByName() + "提交的" + oaFormFlowDto.getName()); |
|
|
|
updateFormType(oaForm); |
|
|
|
} |
|
|
|
Map<String, Object> map = BeanUtil.beanToMap(oaFormFlowDto); |
|
|
|
return baseMapper.updateFlowFiled(map); |
|
|
|
} |
|
|
|
|
|
|
@ -119,8 +175,9 @@ public class OaFormService extends MybatisBaseService<OaFormMapper, OaForm> { |
|
|
|
return rb.setMsg(resultBean.getMsg()); |
|
|
|
} |
|
|
|
UpdateFlowFieldVo ufVo = resultBean.getData(); |
|
|
|
//更新oaform中的流程数据
|
|
|
|
updateFlow(BeanUtil.beanToMap(ufVo)); |
|
|
|
OaFormFlowDto oaFormFlowDto = new OaFormFlowDto(); |
|
|
|
BeanUtil.copyProperties(ufVo, oaFormFlowDto); |
|
|
|
updateFlow(oaFormFlowDto); |
|
|
|
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { |
|
|
|
|
|
|
|
} else { |
|
|
@ -228,7 +285,9 @@ public class OaFormService extends MybatisBaseService<OaFormMapper, OaForm> { |
|
|
|
return rb.setMsg(resultBean.getMsg()); |
|
|
|
} |
|
|
|
UpdateFlowFieldVo ufVo = resultBean.getData(); |
|
|
|
updateFlow(BeanUtil.beanToMap(ufVo)); |
|
|
|
OaFormFlowDto oaFormFlowDto = new OaFormFlowDto(); |
|
|
|
BeanUtil.copyProperties(ufVo, oaFormFlowDto); |
|
|
|
updateFlow(oaFormFlowDto); |
|
|
|
//极光推送
|
|
|
|
oaForm = fetchBySid(businessSid); |
|
|
|
//==================================添加线程
|
|
|
@ -286,7 +345,9 @@ public class OaFormService extends MybatisBaseService<OaFormMapper, OaForm> { |
|
|
|
if (!resultBean.getSuccess()) { |
|
|
|
return rb.setMsg(resultBean.getMsg()); |
|
|
|
} |
|
|
|
updateFlow(BeanUtil.beanToMap(resultBean.getData())); |
|
|
|
OaFormFlowDto oaFormFlowDto = new OaFormFlowDto(); |
|
|
|
BeanUtil.copyProperties(resultBean.getData(), oaFormFlowDto); |
|
|
|
updateFlow(oaFormFlowDto); |
|
|
|
return rb.success().setData(resultBean.getData()); |
|
|
|
} |
|
|
|
} |
|
|
@ -314,7 +375,9 @@ public class OaFormService extends MybatisBaseService<OaFormMapper, OaForm> { |
|
|
|
if (!resultBean.getSuccess()) { |
|
|
|
return rb.setMsg(resultBean.getMsg()); |
|
|
|
} |
|
|
|
updateFlow(BeanUtil.beanToMap(resultBean.getData())); |
|
|
|
OaFormFlowDto oaFormFlowDto = new OaFormFlowDto(); |
|
|
|
BeanUtil.copyProperties(resultBean.getData(), oaFormFlowDto); |
|
|
|
updateFlow(oaFormFlowDto); |
|
|
|
return rb.success().setData(resultBean.getData()); |
|
|
|
} else { |
|
|
|
if (businessTaskId.equals(query.getTaskId())) { |
|
|
@ -324,7 +387,9 @@ public class OaFormService extends MybatisBaseService<OaFormMapper, OaForm> { |
|
|
|
if (!resultBean.getSuccess()) { |
|
|
|
return rb.setMsg(resultBean.getMsg()); |
|
|
|
} |
|
|
|
updateFlow(BeanUtil.beanToMap(resultBean.getData())); |
|
|
|
OaFormFlowDto oaFormFlowDto = new OaFormFlowDto(); |
|
|
|
BeanUtil.copyProperties(resultBean.getData(), oaFormFlowDto); |
|
|
|
updateFlow(oaFormFlowDto); |
|
|
|
return rb.success().setData(resultBean.getData()); |
|
|
|
} |
|
|
|
} |
|
|
@ -353,7 +418,7 @@ public class OaFormService extends MybatisBaseService<OaFormMapper, OaForm> { |
|
|
|
return baseMapper.updateById(oaForm); |
|
|
|
} |
|
|
|
|
|
|
|
public String selectNum(String billNo){ |
|
|
|
public String selectNum(String billNo) { |
|
|
|
return baseMapper.selectNum(billNo); |
|
|
|
} |
|
|
|
} |
|
|
|