Browse Source

Merge remote-tracking branch 'origin/master'

master
fanzongzhe0036 4 months ago
parent
commit
4c43f63df3
  1. 8
      yxt-oa/src/main/java/com/yxt/anrui/oa/api/OaFormRest.java
  2. 35
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormService.java
  3. 43
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyService.java

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

@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.oa.biz.oaform.*;
import com.yxt.anrui.oa.biz.oaform.flowable.*;
import com.yxt.anrui.oa.feign.flowable.flow.BusinessVariables;
import com.yxt.anrui.oa.feign.flowable.flow2.FlowDelegateQuery;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -35,11 +36,11 @@ public class OaFormRest {
return rb.success().setData(pv);
}
/*@ApiOperation("新增或修改")
@ApiOperation("新增或修改")
@PostMapping("/save")
ResultBean<String> save(@RequestBody OaFormDto dto) {
return oaFormService.saveOrUpdateForm(dto);
}*/
return oaFormService.saveOaForm(dto);
}
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
@ -106,5 +107,4 @@ public class OaFormRest {
return oaFormService.assignTask(query);
}
}

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

@ -87,7 +87,7 @@ public class OaFormService extends MybatisBaseService<OaFormMapper, OaForm> {
// 生成单据编号
BillNo b = new BillNo();
b.setOrgCode(orgVo.getOrgCode());
b.setBillType("BKSQ");
b.setBillType(dto.getBillNo());
String bill = Rule.getBill(b);
int i = baseMapper.selectNum(bill);
String billNo = Rule.getBillNo(bill, i);
@ -400,4 +400,37 @@ public class OaFormService extends MybatisBaseService<OaFormMapper, OaForm> {
public int updateFormType(OaForm oaForm) {
return baseMapper.updateById(oaForm);
}
public ResultBean submit(BusinessVariables bv) {
ResultBean<UpdateFlowFieldVo> voResultBean = flowFeign.startProcess(bv);
UpdateFlowFieldVo ufVo = voResultBean.getData();
OaFormFlowDto oaFormFlowDto = new OaFormFlowDto();
BeanUtil.copyProperties(ufVo, oaFormFlowDto);
updateFlow(oaFormFlowDto);
OaForm oaForm = fetchBySid(bv.getBusinessSid());
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
ExecutorService pool = new ThreadPoolExecutor(2, 100,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
Future future1 = pool.submit(() -> {
//极光推送
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap((Map<String, Object>) bv.getFormVariables().get("app"));
messageFlowableQuery.setBusinessSid(bv.getBusinessSid());
messageFlowableQuery.setModuleName(oaForm.getFormType());
messageFlowableQuery.setMsgContent(oaForm.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle(oaForm.getFormType());
messageFeign.pushMessage(messageFlowableQuery);
});
} catch (Exception e) {
e.printStackTrace();
}
return voResultBean;
}
}

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

@ -45,6 +45,8 @@ 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.common.base.config.component.FileUploadComponent;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
@ -148,19 +150,24 @@ public class OaMendApplyService extends MybatisBaseService<OaMendApplyMapper, Oa
ResultBean<String> rb = ResultBean.fireFail();
String sid = dto.getSid();
List<String> files = dto.getFiles();
if (StringUtils.isBlank(sid)) {
// 新建操作
OaMendApply entity = new OaMendApply();
BeanUtil.copyProperties(dto, entity, "sid");
OaFormDto oaFormDto = new OaFormDto();
BeanUtil.copyProperties(dto, oaFormDto, "sid");
oaFormDto.setBillNo("BKSQ");
ResultBean<String> resultBean = oaFormService.saveOaForm(oaFormDto);
if (!resultBean.getSuccess()) {
return rb;
}
entity.setFormSid(resultBean.getData());
baseMapper.insert(entity);
// 处理附件
saveFiles(sid, files);
sid = entity.getSid();
@ -180,7 +187,7 @@ public class OaMendApplyService extends MybatisBaseService<OaMendApplyMapper, Oa
private void saveFiles(String sid, List<String> files) {
files.removeAll(Collections.singleton(null));
List<OaAppendix> oaAppendixList = new ArrayList<>();
if (!files.isEmpty()) {
if(!files.isEmpty()){
for (String file : files) {
String filePath = file.replace(fileUploadComponent.getUrlPrefix(), "");
OaAppendix oaAppendix = new OaAppendix();
@ -190,6 +197,7 @@ public class OaMendApplyService extends MybatisBaseService<OaMendApplyMapper, Oa
oaAppendixList.add(oaAppendix);
}
}
oaAppendixService.saveOrUpdateFile(sid, oaAppendixList);
}
@ -250,38 +258,7 @@ public class OaMendApplyService extends MybatisBaseService<OaMendApplyMapper, Oa
bv.setNextNodeUserSids(organizationVo.getManagerSid());
bv.setFormVariables(variables);
if (r == 1) {
ResultBean<UpdateFlowFieldVo> voResultBean = flowFeign.startProcess(bv);
UpdateFlowFieldVo ufVo = voResultBean.getData();
OaFormFlowDto oaFormFlowDto = new OaFormFlowDto();
BeanUtil.copyProperties(ufVo, oaFormFlowDto);
oaFormService.updateFlow(oaFormFlowDto);
//==================================添加线程
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
ExecutorService pool = new ThreadPoolExecutor(2, 100,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
oaForm = oaFormService.fetchBySid(oaMendApply.getFormSid());
OaForm finalOaForm = oaForm;
Future future1 = pool.submit(() -> {
//极光推送
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName(finalOaForm.getFormType());
messageFlowableQuery.setMsgContent(finalOaForm.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle(finalOaForm.getFormType());
messageFeign.pushMessage(messageFlowableQuery);
});
} catch (Exception e) {
e.printStackTrace();
}
//==================================添加线程
return voResultBean;
return oaFormService.submit(bv);
}
if (r == 2) {
// ToDo:驳回到发起人后再次提交

Loading…
Cancel
Save