Browse Source

yxt_oa中oaform修改

zhanglei
dimengzhe 5 months ago
parent
commit
b02460b060
  1. 4
      yxt-oa/src/main/java/com/yxt/anrui/oa/api/OaFormRest.java
  2. 2
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaForm.java
  3. 30
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormDto.java
  4. 91
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormService.java
  5. 27
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/OaFormFlowDto.java
  6. 5
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApply.java
  7. 4
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyDto.java
  8. 70
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyService.java

4
yxt-oa/src/main/java/com/yxt/anrui/oa/api/OaFormRest.java

@ -35,11 +35,11 @@ public class OaFormRest {
return rb.success().setData(pv);
}
@ApiOperation("新增或修改")
/*@ApiOperation("新增或修改")
@PostMapping("/save")
ResultBean<String> save(@RequestBody OaFormDto dto) {
return oaFormService.saveOrUpdateForm(dto);
}
}*/
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")

2
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaForm.java

@ -49,8 +49,6 @@ public class OaForm extends BaseEntity {
private String createOrgSid;
@ApiModelProperty("创建组织")
private String createOrgName;
@ApiModelProperty("关联审批单")
private String linkFormSids;
}

30
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormDto.java

@ -14,35 +14,7 @@ import java.util.Date;
@Data
public class OaFormDto {
private String sid;
private String createBySid;
@ApiModelProperty("创建人")
private String createByName;
private String orgSidPath;
private String billNo;
@ApiModelProperty("公司sid")
private String useOrgSid;
@ApiModelProperty("公司名称")
private String useOrgName;
@ApiModelProperty("部门sid")
private String deptSid;
@ApiModelProperty("部门名称")
private String deptName;
@ApiModelProperty("办结日期")
private String finishTime;
@ApiModelProperty("实例id")
private String procInstId;
@ApiModelProperty("流程定义id")
private String procDefId;
@ApiModelProperty("任务id")
private String taskId;
@ApiModelProperty("环节id")
private String nodeId;
@ApiModelProperty("流程状态")
private String nodeState;
@ApiModelProperty("创建组织sid")
private String createOrgSid;
@ApiModelProperty("创建组织")
private String createOrgName;
@ApiModelProperty("关联审批单")
private String linkFormSids;
}

91
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormService.java

@ -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);
}
}

27
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/OaFormFlowDto.java

@ -0,0 +1,27 @@
package com.yxt.anrui.oa.biz.oaform.flowable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2025/1/9
**/
@Data
public class OaFormFlowDto {
@ApiModelProperty("sid")
private String sid;
@ApiModelProperty("流程定义id")
private String procDefId;
@ApiModelProperty("流程状态")
private String nodeState;
@ApiModelProperty("流程实例id")
private String procInsId;
@ApiModelProperty("环节id")
private String taskDefKey;
@ApiModelProperty("任务id")
private String taskId;
@ApiModelProperty("流程名称")
private String name;
}

5
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApply.java

@ -60,8 +60,11 @@ public class OaMendApply extends BaseEntity {
@ApiModelProperty("补卡时间")
private String time;
@ApiModelProperty("关联审批单")
private String linkFormSids;
@TableField(exist = false)
private OaForm oaForm = new OaForm();
private OaForm oaForm;
/* @ApiModelProperty("单据编号")

4
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyDto.java

@ -58,11 +58,13 @@ public class OaMendApplyDto implements Dto {
private static final long serialVersionUID = -4536006302677264298L;
private String sid;
private String createBySid;
private String orgPath;
private String orgSidPath;
@ApiModelProperty("补卡原因")
private String remarks;
@ApiModelProperty("补卡时间")
private String time;
@ApiModelProperty("关联审批单")
private String linkFormSids;
@ApiModelProperty("图片")
private List<String> files = new ArrayList<>();

70
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyService.java

@ -26,7 +26,6 @@
package com.yxt.anrui.oa.biz.oamendapply;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
@ -35,14 +34,12 @@ import com.yxt.anrui.oa.biz.oaappendix.OaAppendixService;
import com.yxt.anrui.oa.biz.oaform.OaForm;
import com.yxt.anrui.oa.biz.oaform.OaFormDto;
import com.yxt.anrui.oa.biz.oaform.OaFormService;
import com.yxt.anrui.oa.feign.base.Rule;
import com.yxt.anrui.oa.biz.oaform.flowable.OaFormFlowDto;
import com.yxt.anrui.oa.feign.file.OaFileEnum;
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.ProcDefEnum;
import com.yxt.anrui.oa.feign.flowable.flow.UpdateFlowFieldVo;
import com.yxt.anrui.oa.feign.flowable.flow2.FlowFeign;
import com.yxt.anrui.oa.feign.flowable.flowtask.FlowTaskFeign;
import com.yxt.anrui.oa.feign.message.MessageFeign;
import com.yxt.anrui.oa.feign.message.MessageFlowVo;
import com.yxt.anrui.oa.feign.message.MessageFlowableQuery;
@ -50,7 +47,6 @@ 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.config.component.FileUploadComponent;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
@ -73,18 +69,10 @@ public class OaMendApplyService extends MybatisBaseService<OaMendApplyMapper, Oa
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private FlowableFeign flowableFeign;
@Autowired
private FlowTaskFeign flowTaskFeign;
@Autowired
private FlowFeign flowFeign;
@Autowired
private MessageFeign messageFeign;
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private FileUploadComponent fileUploadComponent;
@Autowired
private OaAppendixService oaAppendixService;
@ -167,48 +155,11 @@ public class OaMendApplyService extends MybatisBaseService<OaMendApplyMapper, Oa
// 新建操作
OaMendApply entity = new OaMendApply();
BeanUtil.copyProperties(dto, entity, "sid");
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()).getData();
SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData();
String deptName = "";
String deptSid = "";
List<String> split = Arrays.asList(dto.getOrgPath().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 = "QJSQ" + useOrgSid + DateUtil.format(DateUtil.date(), "yyyyMM");
String i = oaFormService.selectNum(billNo);
if (StringUtils.isNotBlank(i)) {
billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue());
} else {
billNo = Rule.getBillNo(billNo, 0);
}
OaForm oaForm = entity.getOaForm();
BeanUtil.copyProperties(dto, oaForm, "sid", "remarks");
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());
OaFormDto oaFormDto = new OaFormDto();
BeanUtil.copyProperties(oaForm, oaFormDto, "sid");
ResultBean<String> resultBean = oaFormService.saveOrUpdateForm(oaFormDto);
BeanUtil.copyProperties(dto, oaFormDto, "sid");
oaFormDto.setBillNo("BKSQ");
ResultBean<String> resultBean = oaFormService.saveOaForm(oaFormDto);
if (!resultBean.getSuccess()) {
return rb;
@ -305,16 +256,9 @@ public class OaMendApplyService extends MybatisBaseService<OaMendApplyMapper, Oa
if (r == 1) {
ResultBean<UpdateFlowFieldVo> voResultBean = flowFeign.startProcess(bv);
UpdateFlowFieldVo ufVo = voResultBean.getData();
//更新oaform中的流程数据
ufVo.setSid(oaMendApply.getFormSid());
oaFormService.updateFlow(BeanUtil.beanToMap(ufVo));
//极光推送
oaMendApply = fetchBySid(businessSid);
oaForm = oaFormService.fetchBySid(oaMendApply.getFormSid());
oaForm.setFormType(ufVo.getName());
oaFormService.updateFormType(oaForm);
oaMendApply.setOaForm(oaForm);
OaFormFlowDto oaFormFlowDto = new OaFormFlowDto();
BeanUtil.copyProperties(ufVo, oaFormFlowDto);
oaFormService.updateFlow(oaFormFlowDto);
//==================================添加线程
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()

Loading…
Cancel
Save