Commit 1a5fc527 authored by xuzhang's avatar xuzhang

[feat][DOC]自动化任务Feign接口添加

parent 21ec4376
...@@ -8,6 +8,7 @@ import com.yonde.dcs.core.constants.Constants; ...@@ -8,6 +8,7 @@ import com.yonde.dcs.core.constants.Constants;
import com.yonde.dcs.core.service.ExtAutoTaskService; import com.yonde.dcs.core.service.ExtAutoTaskService;
import com.yonde.dcs.core.service.ExtSendFormLinkService; import com.yonde.dcs.core.service.ExtSendFormLinkService;
import com.yonde.dcs.core.util.ExtDocUtil; import com.yonde.dcs.core.util.ExtDocUtil;
import com.yonde.dcs.core.util.ExtWfcUtil;
import com.yonde.dcs.document.common.entity.vo.DxDocumentVO; import com.yonde.dcs.document.common.entity.vo.DxDocumentVO;
import com.yonde.dcs.plan.common.vo.ExtPlanVO; import com.yonde.dcs.plan.common.vo.ExtPlanVO;
import com.yonde.dex.basedata.entity.api.ApiResult; import com.yonde.dex.basedata.entity.api.ApiResult;
...@@ -21,9 +22,11 @@ import io.swagger.annotations.ApiOperation; ...@@ -21,9 +22,11 @@ import io.swagger.annotations.ApiOperation;
import lombok.SneakyThrows; import lombok.SneakyThrows;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.Date;
import java.util.Map; import java.util.Map;
/** /**
...@@ -86,13 +89,13 @@ public class ExtAutoTaskController { ...@@ -86,13 +89,13 @@ public class ExtAutoTaskController {
public ApiResult updatePdf(@PathVariable Long id) { public ApiResult updatePdf(@PathVariable Long id) {
DxDocumentVO documentVO = extDocUtil.findDocObjFileLinks(id); DxDocumentVO documentVO = extDocUtil.findDocObjFileLinks(id);
//重新生成设计图册签名 //重新生成设计图册签名
autoTaskService.generateQHTechDoc(documentVO, null); autoTaskService.generateQHTechDoc(String.valueOf(id), null);
if (Constants.OUTDATED_NOTIFY.equals(documentVO.getSubTypeName())) { if (Constants.OUTDATED_NOTIFY.equals(documentVO.getSubTypeName())) {
//特殊处理过时文件通知单 //特殊处理过时文件通知单
autoTaskService.generateOutdatedDocNotify(documentVO); autoTaskService.generateOutdatedDocNotify(documentVO);
} else { } else {
//重新生成单据签名 //重新生成单据签名
autoTaskService.generateDocWordSign(documentVO, null, "二"); autoTaskService.generateDocWordSign(String.valueOf(id), null, "二");
} }
return ApiResult.ok("更新成功!"); return ApiResult.ok("更新成功!");
} }
...@@ -111,10 +114,10 @@ public class ExtAutoTaskController { ...@@ -111,10 +114,10 @@ public class ExtAutoTaskController {
@ApiOperation(value = "设置提资审核", notes = "设置提资审核", httpMethod = "POST") @ApiOperation(value = "设置提资审核", notes = "设置提资审核", httpMethod = "POST")
@PostMapping(value = "/extSetProcessVariable") @PostMapping(value = "/extSetProcessVariable")
public void extSetProcessVariable(Map<String, Object> taskParticipant, public void extSetProcessVariable(@RequestBody Map<String, Object> taskParticipant,
@RequestParam("processInstId") String processInstId, @RequestParam("processInstId") String processInstId,
@RequestParam("key") String key, @RequestParam("key") String key,
Object value) { @RequestParam("value") String value) {
autoTaskService.extSetProcessVariable(taskParticipant, processInstId, key, value); autoTaskService.extSetProcessVariable(taskParticipant, processInstId, key, value);
} }
...@@ -164,22 +167,22 @@ public class ExtAutoTaskController { ...@@ -164,22 +167,22 @@ public class ExtAutoTaskController {
@ApiOperation(value = "生成NCR审查单word", notes = "生成NCR审查单word", httpMethod = "POST") @ApiOperation(value = "生成NCR审查单word", notes = "生成NCR审查单word", httpMethod = "POST")
@PostMapping(value = "/generateNcrReviewWord") @PostMapping(value = "/generateNcrReviewWord")
public void generateNcrReviewWord(@RequestBody DxDocumentVO documentVO, Map<String, Object> wfTaskContext) { public void generateNcrReviewWord(@RequestParam("documentId") String documentId, @RequestBody Map<String, Object> wfTaskContext) {
autoTaskService.generateNcrReviewWord(documentVO, wfTaskContext); autoTaskService.generateNcrReviewWord(documentId, wfTaskContext);
} }
@ApiOperation(value = "生成word签字", notes = "生成word签字", httpMethod = "POST") @ApiOperation(value = "生成word签字", notes = "生成word签字", httpMethod = "POST")
@PostMapping(value = "/generateDocWordSign") @PostMapping(value = "/generateDocWordSign")
public void generateDocWordSign(@RequestBody DxDocumentVO documentVO, public void generateDocWordSign(@RequestParam("documentId") String documentId,
Map<String, Object> wfTaskContext, @RequestBody Map<String, Object> wfTaskContext,
@RequestParam("fileName")String fileName) { @RequestParam("fileName") String fileName) {
autoTaskService.generateDocWordSign(documentVO, wfTaskContext,fileName); autoTaskService.generateDocWordSign(documentId, wfTaskContext, fileName);
} }
@ApiOperation(value = "内部接口-保存内部接口信息的总体室、审核签审信息值", notes = "内部接口-保存内部接口信息的总体室、审核签审信息值", httpMethod = "POST") @ApiOperation(value = "内部接口-保存内部接口信息的总体室、审核签审信息值", notes = "内部接口-保存内部接口信息的总体室、审核签审信息值", httpMethod = "POST")
@PostMapping(value = "/savedInterfaceWf") @PostMapping(value = "/savedInterfaceWf")
public void savedInterfaceWf(@RequestBody DxDocumentVO documentVO, Map<String, Object> wfTaskContext) { public void savedInterfaceWf(@RequestParam("documentId") String documentId, @RequestBody Map<String, Object> wfTaskContext) {
autoTaskService.savedInterfaceWf(documentVO, wfTaskContext); autoTaskService.savedInterfaceWf(documentId, wfTaskContext);
} }
@ApiOperation(value = "自动任务-编制节点后生成word方法", notes = "自动任务-编制节点后生成word方法", httpMethod = "POST") @ApiOperation(value = "自动任务-编制节点后生成word方法", notes = "自动任务-编制节点后生成word方法", httpMethod = "POST")
...@@ -196,8 +199,8 @@ public class ExtAutoTaskController { ...@@ -196,8 +199,8 @@ public class ExtAutoTaskController {
@ApiOperation(value = "自动任务-生成QH技术文件签审页", notes = "自动任务-生成QH技术文件签审页", httpMethod = "POST") @ApiOperation(value = "自动任务-生成QH技术文件签审页", notes = "自动任务-生成QH技术文件签审页", httpMethod = "POST")
@PostMapping(value = "/generateQHTechDoc") @PostMapping(value = "/generateQHTechDoc")
public void generateQHTechDoc(@RequestBody DxDocumentVO documentVO, Map<String, Object> wfTaskContext) { public void generateQHTechDoc(@RequestParam("documentId") String documentId, @RequestBody Map<String, Object> wfTaskContext) {
autoTaskService.generateQHTechDoc(documentVO,wfTaskContext); autoTaskService.generateQHTechDoc(documentId, wfTaskContext);
} }
//endProcess //endProcess
...@@ -216,14 +219,14 @@ public class ExtAutoTaskController { ...@@ -216,14 +219,14 @@ public class ExtAutoTaskController {
@ApiOperation(value = "申请内容 签名", notes = "申请内容 签名", httpMethod = "POST") @ApiOperation(value = "申请内容 签名", notes = "申请内容 签名", httpMethod = "POST")
@PostMapping(value = "/autoApplicantSign") @PostMapping(value = "/autoApplicantSign")
public void autoApplicantSign(@RequestBody ExtApplicantVO applicantVO, Map<String, Object> wfTaskContext) { public void autoApplicantSign(@RequestParam("applicantId") String applicantId, @RequestBody Map<String, Object> wfTaskContext) {
autoTaskService.autoApplicantSign(applicantVO,wfTaskContext); autoTaskService.autoApplicantSign(applicantId, wfTaskContext);
} }
@ApiOperation(value = "接口单签名", notes = "接口单签名", httpMethod = "POST") @ApiOperation(value = "接口单签名", notes = "接口单签名", httpMethod = "POST")
@PostMapping(value = "/autoInterFaceSign") @PostMapping(value = "/autoInterFaceSign")
public void autoInterFaceSign(@RequestBody ExtInterfaceVO extInterfaceVO, Map<String, Object> wfTaskContext) { public void autoInterFaceSign(@RequestParam("extInterfaceId") String extInterfaceId, @RequestBody Map<String, Object> wfTaskContext) {
autoTaskService.autoInterFaceSign(extInterfaceVO,wfTaskContext); autoTaskService.autoInterFaceSign(extInterfaceId, wfTaskContext);
} }
@ApiOperation(value = "签审对象的终止流程", notes = "签审对象的终止流程", httpMethod = "POST") @ApiOperation(value = "签审对象的终止流程", notes = "签审对象的终止流程", httpMethod = "POST")
...@@ -249,4 +252,12 @@ public class ExtAutoTaskController { ...@@ -249,4 +252,12 @@ public class ExtAutoTaskController {
public void stopAllExtApplicantFaceFlow(@RequestBody ExtInterfaceVO extInterfaceVO) { public void stopAllExtApplicantFaceFlow(@RequestBody ExtInterfaceVO extInterfaceVO) {
autoTaskService.stopAllExtApplicantFaceFlow(extInterfaceVO); autoTaskService.stopAllExtApplicantFaceFlow(extInterfaceVO);
} }
@ApiOperation(value = "设置接口单 的提资日期 (接口单流程走完第一个 提资节点后设置)", notes = "设置接口单 的提资日期 (接口单流程走完第一个 提资节点后设置)", httpMethod = "POST")
@PostMapping(value = "/autoSetTzri")
public void autoSetTzri(@RequestBody ExtInterfaceVO interfaceVO) {
autoTaskService.autoSetTzri(interfaceVO);
}
} }
package com.yonde.dcs.core.service; package com.yonde.dcs.core.service;
import com.yonde.dcs.common.vo.ExtApplicantVO; import com.yonde.dcs.common.vo.ExtApplicantVO;
import com.yonde.dcs.common.vo.ExtAuditObjectVO; import com.yonde.dcs.common.vo.ExtAuditObjectVO;
import com.yonde.dcs.common.vo.ExtInterfaceVO; import com.yonde.dcs.common.vo.ExtInterfaceVO;
...@@ -43,7 +41,7 @@ public interface ExtAutoTaskService extends ExtAutoTaskServiceFeign { ...@@ -43,7 +41,7 @@ public interface ExtAutoTaskService extends ExtAutoTaskServiceFeign {
* @param key * @param key
* @param value * @param value
*/ */
void extSetProcessVariable(Map<String, Object> taskParticipant, String processInstId, String key, Object value); void extSetProcessVariable(Map<String, Object> taskParticipant, String processInstId, String key, String value);
/** /**
* 设置提资人变量 * 设置提资人变量
...@@ -99,21 +97,21 @@ public interface ExtAutoTaskService extends ExtAutoTaskServiceFeign { ...@@ -99,21 +97,21 @@ public interface ExtAutoTaskService extends ExtAutoTaskServiceFeign {
/** /**
* 生成NCR审查单word * 生成NCR审查单word
*/ */
void generateNcrReviewWord(DxDocumentVO documentVO, Map<String, Object> wfTaskContext); void generateNcrReviewWord(String documentId, Map<String, Object> wfTaskContext);
/** /**
* 生成word签字 * 生成word签字
* *
* @param documentVO * @param documentId
* @param wfTaskContext * @param wfTaskContext
* @param fileName 同室审核完生成签名附件为(附件1),签审流程走完后生成签名附件为(附件2),没有是为""。 * @param fileName 同室审核完生成签名附件为(附件1),签审流程走完后生成签名附件为(附件2),没有是为""。
*/ */
void generateDocWordSign(DxDocumentVO documentVO, Map<String, Object> wfTaskContext, String fileName); void generateDocWordSign(String documentId, Map<String, Object> wfTaskContext, String fileName);
/** /**
* 内部接口-保存内部接口信息的总体室、审核签审信息值 * 内部接口-保存内部接口信息的总体室、审核签审信息值
*/ */
void savedInterfaceWf(DxDocumentVO documentVO, Map<String, Object> wfTaskContext); void savedInterfaceWf(String documentId, Map<String, Object> wfTaskContext);
/** /**
...@@ -129,7 +127,7 @@ public interface ExtAutoTaskService extends ExtAutoTaskServiceFeign { ...@@ -129,7 +127,7 @@ public interface ExtAutoTaskService extends ExtAutoTaskServiceFeign {
/** /**
* 自动任务-生成QH技术文件签审页 * 自动任务-生成QH技术文件签审页
*/ */
void generateQHTechDoc(DxDocumentVO documentVO, Map<String, Object> wfTaskContext); void generateQHTechDoc(String documentId, Map<String, Object> wfTaskContext);
/** /**
* 结束流程实例 * 结束流程实例
...@@ -146,6 +144,7 @@ public interface ExtAutoTaskService extends ExtAutoTaskServiceFeign { ...@@ -146,6 +144,7 @@ public interface ExtAutoTaskService extends ExtAutoTaskServiceFeign {
* @param documentVO * @param documentVO
*/ */
void generateOutdatedDocNotify(DxDocumentVO documentVO); void generateOutdatedDocNotify(DxDocumentVO documentVO);
/** /**
* 已发布后修改状态已过时 * 已发布后修改状态已过时
*/ */
...@@ -154,22 +153,23 @@ public interface ExtAutoTaskService extends ExtAutoTaskServiceFeign { ...@@ -154,22 +153,23 @@ public interface ExtAutoTaskService extends ExtAutoTaskServiceFeign {
/** /**
* 申请内容 签名 * 申请内容 签名
* *
* @param applicantVO * @param applicantId
* @param wfTaskContext * @param wfTaskContext
*/ */
@SneakyThrows @SneakyThrows
void autoApplicantSign(ExtApplicantVO applicantVO, Map<String, Object> wfTaskContext); void autoApplicantSign(String applicantId, Map<String, Object> wfTaskContext);
/** /**
* 接口单签名 * 接口单签名
* *
* @param extInterfaceVO * @param extInterfaceId
* @param wfTaskContext * @param wfTaskContext
*/ */
void autoInterFaceSign(ExtInterfaceVO extInterfaceVO, Map<String, Object> wfTaskContext); void autoInterFaceSign(String extInterfaceId, Map<String, Object> wfTaskContext);
/** /**
* 签审对象 关联的接口单 状态置为已终止 (签审对象的终止流程) * 签审对象 关联的接口单 状态置为已终止 (签审对象的终止流程)
*
* @param auditObjectVO * @param auditObjectVO
*/ */
@SneakyThrows @SneakyThrows
...@@ -177,6 +177,7 @@ public interface ExtAutoTaskService extends ExtAutoTaskServiceFeign { ...@@ -177,6 +177,7 @@ public interface ExtAutoTaskService extends ExtAutoTaskServiceFeign {
/** /**
* 申请内容走完流程后 自动启动 接口单的流程 * 申请内容走完流程后 自动启动 接口单的流程
*
* @param applicantVO 申请内容 * @param applicantVO 申请内容
*/ */
void startInterFaceFlow(ExtApplicantVO applicantVO); void startInterFaceFlow(ExtApplicantVO applicantVO);
...@@ -190,7 +191,15 @@ public interface ExtAutoTaskService extends ExtAutoTaskServiceFeign { ...@@ -190,7 +191,15 @@ public interface ExtAutoTaskService extends ExtAutoTaskServiceFeign {
/** /**
* 签审对象 扫描所有提资单 并更新状态 * 签审对象 扫描所有提资单 并更新状态
*
* @param extInterfaceVO * @param extInterfaceVO
*/ */
void stopAllExtApplicantFaceFlow(ExtInterfaceVO extInterfaceVO); void stopAllExtApplicantFaceFlow(ExtInterfaceVO extInterfaceVO);
/**
* 设置接口单 的提资日期 (接口单流程走完第一个 提资节点后设置)
* @param interfaceVO
*/
@SneakyThrows
void autoSetTzri(ExtInterfaceVO interfaceVO);
} }
...@@ -55,6 +55,7 @@ import org.apache.commons.collections.MapUtils; ...@@ -55,6 +55,7 @@ import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.http.client.utils.CloneUtils; import org.apache.http.client.utils.CloneUtils;
import org.joda.time.LocalDate;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
...@@ -68,6 +69,7 @@ import javax.annotation.Resource; ...@@ -68,6 +69,7 @@ import javax.annotation.Resource;
import java.io.*; import java.io.*;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -393,7 +395,7 @@ public class ExtAutoTaskServiceImpl implements ExtAutoTaskService { ...@@ -393,7 +395,7 @@ public class ExtAutoTaskServiceImpl implements ExtAutoTaskService {
recordVO.setDistributTime(new Date()); recordVO.setDistributTime(new Date());
//获取分发单位 //获取分发单位
DxOrganizationVO organizationVOS = dxOrganizationFeign.findOrgByUser(documentVO.getCreatorId()); DxOrganizationVO organizationVOS = dxOrganizationFeign.findOrgByUser(documentVO.getCreatorId());
if (null!=organizationVOS) { if (null != organizationVOS) {
//分发单位 //分发单位
recordVO.setDistributDepart(null); recordVO.setDistributDepart(null);
} else { } else {
...@@ -407,7 +409,7 @@ public class ExtAutoTaskServiceImpl implements ExtAutoTaskService { ...@@ -407,7 +409,7 @@ public class ExtAutoTaskServiceImpl implements ExtAutoTaskService {
//接收时间 //接收时间
recordVO.setReceiveTime(new Date()); recordVO.setReceiveTime(new Date());
DxOrganizationVO orgReceiver = dxOrganizationFeign.findOrgByUser(Long.valueOf(userId)); DxOrganizationVO orgReceiver = dxOrganizationFeign.findOrgByUser(Long.valueOf(userId));
if (null!=organizationVOS) { if (null != organizationVOS) {
//接收单位 //接收单位
recordVO.setReceiver(null); recordVO.setReceiver(null);
} else { } else {
...@@ -434,8 +436,8 @@ public class ExtAutoTaskServiceImpl implements ExtAutoTaskService { ...@@ -434,8 +436,8 @@ public class ExtAutoTaskServiceImpl implements ExtAutoTaskService {
*/ */
@Override @Override
public void sendContractDoc(DxDocumentVO documentVO, String contractName) { public void sendContractDoc(DxDocumentVO documentVO, String contractName) {
List<DxOrganizationVO> userRefByOrg = dxOrganizationFeign.findAllChildOrg(1626768664052L,true); List<DxOrganizationVO> userRefByOrg = dxOrganizationFeign.findAllChildOrg(1626768664052L, true);
if (CollectionUtils.isNotEmpty(userRefByOrg)){ if (CollectionUtils.isNotEmpty(userRefByOrg)) {
List<DxUserInfoVO> dxUserInfos = userRefByOrg.get(0).getDxUserInfos(); List<DxUserInfoVO> dxUserInfos = userRefByOrg.get(0).getDxUserInfos();
dxUserInfos.stream().forEach(item -> { dxUserInfos.stream().forEach(item -> {
//获取总体室技术文档管理员组的所有用户id //获取总体室技术文档管理员组的所有用户id
...@@ -451,7 +453,7 @@ public class ExtAutoTaskServiceImpl implements ExtAutoTaskService { ...@@ -451,7 +453,7 @@ public class ExtAutoTaskServiceImpl implements ExtAutoTaskService {
* @param * @param
*/ */
@Override @Override
public void extSetProcessVariable(Map<String, Object> taskParticipant, String processInstId, String key, Object value) { public void extSetProcessVariable(Map<String, Object> taskParticipant, String processInstId, String key, String value) {
if (!ObjectUtils.isEmpty(value) && value instanceof String) { if (!ObjectUtils.isEmpty(value) && value instanceof String) {
if (!org.springframework.util.StringUtils.isEmpty(taskParticipant.get("wf_act_TeamRole_FundingReview_userList"))) { if (!org.springframework.util.StringUtils.isEmpty(taskParticipant.get("wf_act_TeamRole_FundingReview_userList"))) {
//获取参与者人员 //获取参与者人员
...@@ -531,8 +533,8 @@ public class ExtAutoTaskServiceImpl implements ExtAutoTaskService { ...@@ -531,8 +533,8 @@ public class ExtAutoTaskServiceImpl implements ExtAutoTaskService {
taskParticipant.put("wf_act_TeamRole_Approver_userList", Objects.isNull(dynamicAttrs.get("approver")) ? new String[]{} : Convert.toLongArray(dynamicAttrs.get("approver").toString().split(","))); taskParticipant.put("wf_act_TeamRole_Approver_userList", Objects.isNull(dynamicAttrs.get("approver")) ? new String[]{} : Convert.toLongArray(dynamicAttrs.get("approver").toString().split(",")));
taskParticipant.put("wf_act_TeamRole_approve_userList", Objects.isNull(dynamicAttrs.get("verifier")) ? new String[]{} : Convert.toLongArray(dynamicAttrs.get("verifier").toString().split(","))); taskParticipant.put("wf_act_TeamRole_approve_userList", Objects.isNull(dynamicAttrs.get("verifier")) ? new String[]{} : Convert.toLongArray(dynamicAttrs.get("verifier").toString().split(",")));
Map<String, Object> taskMap = new HashMap<>(); Map<String, Object> taskMap = new HashMap<>();
taskMap.put("participantList",taskParticipant); taskMap.put("participantList", taskParticipant);
taskMap.put("routeSelect","pass"); taskMap.put("routeSelect", "pass");
this.taskService.setTaskVars(taskId, taskMap); this.taskService.setTaskVars(taskId, taskMap);
} }
...@@ -695,7 +697,6 @@ public class ExtAutoTaskServiceImpl implements ExtAutoTaskService { ...@@ -695,7 +697,6 @@ public class ExtAutoTaskServiceImpl implements ExtAutoTaskService {
Constants.CONTENT_TYPE_DOC, inputStreamDoc); Constants.CONTENT_TYPE_DOC, inputStreamDoc);
RepoFileVO field = fileManagerFeignService.uploadFile(multipartFile, Long.valueOf(Constants.BUCKET_NAME)); RepoFileVO field = fileManagerFeignService.uploadFile(multipartFile, Long.valueOf(Constants.BUCKET_NAME));
if (field == null) { if (field == null) {
log.error("文件上传失败!"); log.error("文件上传失败!");
...@@ -772,12 +773,12 @@ public class ExtAutoTaskServiceImpl implements ExtAutoTaskService { ...@@ -772,12 +773,12 @@ public class ExtAutoTaskServiceImpl implements ExtAutoTaskService {
/** /**
* 自动任务生成NCR审查单 * 自动任务生成NCR审查单
* *
* @param documentVo * @param documentId
* @param wfTaskContext * @param wfTaskContext
*/ */
@Override @Override
public void generateNcrReviewWord(DxDocumentVO documentVo, Map<String, Object> wfTaskContext) { public void generateNcrReviewWord(String documentId, Map<String, Object> wfTaskContext) {
DxDocumentVO documentVO = extDocUtil.findDocObjFileLinks(documentVo.getId()); DxDocumentVO documentVO = extDocUtil.findDocObjFileLinks(Long.valueOf(documentId));
try { try {
String templatePath = Constants.MTEMPLATE_ABSOLUTE_PATH; String templatePath = Constants.MTEMPLATE_ABSOLUTE_PATH;
String templateName = "NCRReview.docx"; String templateName = "NCRReview.docx";
...@@ -882,9 +883,9 @@ public class ExtAutoTaskServiceImpl implements ExtAutoTaskService { ...@@ -882,9 +883,9 @@ public class ExtAutoTaskServiceImpl implements ExtAutoTaskService {
} }
@Override @Override
public void generateDocWordSign(DxDocumentVO documentVo, Map<String, Object> wfTaskContext, String fileName) { public void generateDocWordSign(String documentId, Map<String, Object> wfTaskContext, String fileName) {
//深度查询展开ObjLink //深度查询展开ObjLink
DxDocumentVO documentVO = extDocUtil.findDocObjFileLinks(documentVo.getId()); DxDocumentVO documentVO = extDocUtil.findDocObjFileLinks(Long.valueOf(documentId));
log.info("自动任务======生成word签名开始"); log.info("自动任务======生成word签名开始");
// TODO: 2024/7/31 4.1返回对象不匹对 WfProcessInstVO // TODO: 2024/7/31 4.1返回对象不匹对 WfProcessInstVO
// WfProcessInstVO wfProcessInstVO = workFlowUtil.getWfProcessInst(documentVO); // WfProcessInstVO wfProcessInstVO = workFlowUtil.getWfProcessInst(documentVO);
...@@ -926,11 +927,12 @@ public class ExtAutoTaskServiceImpl implements ExtAutoTaskService { ...@@ -926,11 +927,12 @@ public class ExtAutoTaskServiceImpl implements ExtAutoTaskService {
/** /**
* 内部接口-保存内部接口信息的总体室、审核签审信息值 * 内部接口-保存内部接口信息的总体室、审核签审信息值
* *
* @param documentVO * @param documentId
* @param wfTaskContext * @param wfTaskContext
*/ */
@Override @Override
public void savedInterfaceWf(DxDocumentVO documentVO, Map<String, Object> wfTaskContext) { public void savedInterfaceWf(String documentId, Map<String, Object> wfTaskContext) {
DxDocumentVO documentVO = extDocUtil.findDocObjFileLinks(Long.valueOf(documentId));
DxWfTaskContext context = (DxWfTaskContext) wfTaskContext.get("context"); DxWfTaskContext context = (DxWfTaskContext) wfTaskContext.get("context");
String processId = context.getProcessId(); String processId = context.getProcessId();
// TODO: 2024/7/31 4.1此方法不存在 getProcessInstDetailById(processId) // TODO: 2024/7/31 4.1此方法不存在 getProcessInstDetailById(processId)
...@@ -1056,7 +1058,8 @@ public class ExtAutoTaskServiceImpl implements ExtAutoTaskService { ...@@ -1056,7 +1058,8 @@ public class ExtAutoTaskServiceImpl implements ExtAutoTaskService {
* 自动任务-生成QH技术文件签审页 * 自动任务-生成QH技术文件签审页
*/ */
@Override @Override
public void generateQHTechDoc(DxDocumentVO documentVO, Map<String, Object> wfTaskContext) { public void generateQHTechDoc(String documentId, Map<String, Object> wfTaskContext) {
DxDocumentVO documentVO = extDocUtil.findDocObjFileLinks(Long.valueOf(documentId));
if ((Constants.TECHNICAL_FILE.equals(documentVO.getDxDocumentExpand().getOneLevCategory()))) { if ((Constants.TECHNICAL_FILE.equals(documentVO.getDxDocumentExpand().getOneLevCategory()))) {
//TODO: 2024/7/31 4.1 不存在这个方法getWfProcessInst //TODO: 2024/7/31 4.1 不存在这个方法getWfProcessInst
// DxWfProcessVO wfProcessInstVO = workFlowUtil.getWfProcessInst(documentVO); // DxWfProcessVO wfProcessInstVO = workFlowUtil.getWfProcessInst(documentVO);
...@@ -1206,16 +1209,16 @@ public class ExtAutoTaskServiceImpl implements ExtAutoTaskService { ...@@ -1206,16 +1209,16 @@ public class ExtAutoTaskServiceImpl implements ExtAutoTaskService {
/** /**
* 接口单 签名 pdf是放在主内容里面 master_file * 接口单 签名 pdf是放在主内容里面 master_file
* *
* @param applicantVO * @param applicantId
* @param wfTaskContext * @param wfTaskContext
*/ */
@SneakyThrows @SneakyThrows
@Override @Override
public void autoApplicantSign(ExtApplicantVO applicantVO, Map<String, Object> wfTaskContext) { public void autoApplicantSign(String applicantId, Map<String, Object> wfTaskContext) {
DxWfTaskContext context = (DxWfTaskContext) wfTaskContext.get("context"); DxWfTaskContext context = (DxWfTaskContext) wfTaskContext.get("context");
SearchQueryCondition queryCondition = SearchUtil.buildQueryWithOpenAttr("id", SearchItem.Operator.EQ, applicantVO.getId(), "objFileLinks.target"); SearchQueryCondition queryCondition = SearchUtil.buildQueryWithOpenAttr("id", SearchItem.Operator.EQ, applicantId, "objFileLinks.target");
DxPageImpl<ExtApplicantVO> recursion = extApplicantService.findRecursion(queryCondition); DxPageImpl<ExtApplicantVO> recursion = extApplicantService.findRecursion(queryCondition);
applicantVO = recursion.getContent().get(0); ExtApplicantVO applicantVO = recursion.getContent().get(0);
//TODO 获取任务参与者信息,key:占位符,value:人名 节点名称还需要补充 //TODO 获取任务参与者信息,key:占位符,value:人名 节点名称还需要补充
// Map<String, String> taskMap = getTaskParticipants(context); // Map<String, String> taskMap = getTaskParticipants(context);
// //将签字后的pdf挂到接口单上面 // //将签字后的pdf挂到接口单上面
...@@ -1247,6 +1250,7 @@ public class ExtAutoTaskServiceImpl implements ExtAutoTaskService { ...@@ -1247,6 +1250,7 @@ public class ExtAutoTaskServiceImpl implements ExtAutoTaskService {
String processId = wfTaskContext.getProcessId(); String processId = wfTaskContext.getProcessId();
return getTaskParticipants(processId); return getTaskParticipants(processId);
} }
@SneakyThrows @SneakyThrows
public Map<String, String> getTaskParticipants(String processId) { public Map<String, String> getTaskParticipants(String processId) {
Map<String, String> data = new HashMap<>(); Map<String, String> data = new HashMap<>();
...@@ -1369,17 +1373,17 @@ public class ExtAutoTaskServiceImpl implements ExtAutoTaskService { ...@@ -1369,17 +1373,17 @@ public class ExtAutoTaskServiceImpl implements ExtAutoTaskService {
/** /**
* 接口单 签名 pdf是放在主内容里面 master_file * 接口单 签名 pdf是放在主内容里面 master_file
* *
* @param extInterfaceVO * @param extInterfaceId
* @param wfTaskContext * @param wfTaskContext
*/ */
@SneakyThrows @SneakyThrows
@Override @Override
public void autoInterFaceSign(ExtInterfaceVO extInterfaceVO, Map<String, Object> wfTaskContext) { public void autoInterFaceSign(String extInterfaceId, Map<String, Object> wfTaskContext) {
//TODO //TODO
// DxWfTaskContext context = (DxWfTaskContext) wfTaskContext.get("context"); // DxWfTaskContext context = (DxWfTaskContext) wfTaskContext.get("context");
// SearchQueryCondition queryCondition = SearchUtil.buildQueryWithOpenAttr("id", SearchItem.Operator.EQ, extInterfaceVO.getId(), "objFileLinks.target"); // SearchQueryCondition queryCondition = SearchUtil.buildQueryWithOpenAttr("id", SearchItem.Operator.EQ, extInterfaceId, "objFileLinks.target");
// DxPageImpl<ExtInterfaceVO> recursion = extInterfaceService.findRecursion(queryCondition); // DxPageImpl<ExtInterfaceVO> recursion = extInterfaceService.findRecursion(queryCondition);
// extInterfaceVO = recursion.getContent().get(0); // ExtInterfaceVO extInterfaceVO = recursion.getContent().get(0);
// //TODO 申请内容节点信息 // //TODO 申请内容节点信息
// ExtApplicantVO applicantVO = (ExtApplicantVO) extApplicantService.get(extInterfaceVO.getExtApplicantId()); // ExtApplicantVO applicantVO = (ExtApplicantVO) extApplicantService.get(extInterfaceVO.getExtApplicantId());
// Map<String, String> taskMap = ExtWfcUtil.getProcessTeam(ExtApplicantVO.class, applicantVO.getVersionId(), SignConstants.SignNodeMap); // Map<String, String> taskMap = ExtWfcUtil.getProcessTeam(ExtApplicantVO.class, applicantVO.getVersionId(), SignConstants.SignNodeMap);
...@@ -1388,7 +1392,7 @@ public class ExtAutoTaskServiceImpl implements ExtAutoTaskService { ...@@ -1388,7 +1392,7 @@ public class ExtAutoTaskServiceImpl implements ExtAutoTaskService {
// if (MapUtils.isNotEmpty(interFaceMap)){ // if (MapUtils.isNotEmpty(interFaceMap)){
// taskMap.putAll(interFaceMap); // taskMap.putAll(interFaceMap);
// } // }
//TODO 将签字后的pdf挂到接口单上面 // TODO 将签字后的pdf挂到接口单上面
// PapersVO papersVO = ObjFileLinkUtil.getAppointTypeFile(extInterfaceVO, Constants.MASTER_FILE).get(0); // PapersVO papersVO = ObjFileLinkUtil.getAppointTypeFile(extInterfaceVO, Constants.MASTER_FILE).get(0);
// String temDir = DxFileUtils.createRandomTemp("interface"); // String temDir = DxFileUtils.createRandomTemp("interface");
// String interFacePath = downPaperToLocal(papersVO, temDir); // String interFacePath = downPaperToLocal(papersVO, temDir);
...@@ -1567,6 +1571,7 @@ public class ExtAutoTaskServiceImpl implements ExtAutoTaskService { ...@@ -1567,6 +1571,7 @@ public class ExtAutoTaskServiceImpl implements ExtAutoTaskService {
/** /**
* 签审对象 扫描所有提资单 并更新状态 * 签审对象 扫描所有提资单 并更新状态
*
* @param extInterfaceVO * @param extInterfaceVO
*/ */
@Override @Override
...@@ -1576,12 +1581,12 @@ public class ExtAutoTaskServiceImpl implements ExtAutoTaskService { ...@@ -1576,12 +1581,12 @@ public class ExtAutoTaskServiceImpl implements ExtAutoTaskService {
.searchItems(SearchItems.builder() .searchItems(SearchItems.builder()
.item(new SearchItem("id", SearchItem.Operator.EQ, extInterfaceVO.getExtApplicantId(), null)).build()).build(); .item(new SearchItem("id", SearchItem.Operator.EQ, extInterfaceVO.getExtApplicantId(), null)).build()).build();
List<ExtApplicantVO> recursions = extApplicantService.findRecursion(condition).getContent(); List<ExtApplicantVO> recursions = extApplicantService.findRecursion(condition).getContent();
if(!CollectionUtil.isEmpty(recursions)){ if (!CollectionUtil.isEmpty(recursions)) {
Optional<ExtApplicantVO> first = recursions.stream().findFirst(); Optional<ExtApplicantVO> first = recursions.stream().findFirst();
List<ExtInterfaceVO> extInterfaces = first.get().getExtInterfaces(); List<ExtInterfaceVO> extInterfaces = first.get().getExtInterfaces();
List<ExtInterfaceVO> collect = extInterfaces.stream().filter(recursion -> Constants.PBULISHED.equals(recursion.getState()) && "gb".equals(recursion.getApplicantConfirm())).collect(Collectors.toList()); List<ExtInterfaceVO> collect = extInterfaces.stream().filter(recursion -> Constants.PBULISHED.equals(recursion.getState()) && "gb".equals(recursion.getApplicantConfirm())).collect(Collectors.toList());
if(!CollectionUtil.isEmpty(collect)&&!CollectionUtil.isEmpty(extInterfaces)){ if (!CollectionUtil.isEmpty(collect) && !CollectionUtil.isEmpty(extInterfaces)) {
if(extInterfaces.size()==collect.size()){ if (extInterfaces.size() == collect.size()) {
//TODO 申请内容关联的多个内部接口单 状态全部为“已发布(关闭)”后,应该自动将申请内容状态置为“全部关闭” //TODO 申请内容关联的多个内部接口单 状态全部为“已发布(关闭)”后,应该自动将申请内容状态置为“全部关闭”
//TODO extApplicantService.changeStatus(first.get(),Constants.CLOSE_ALL,true); //TODO extApplicantService.changeStatus(first.get(),Constants.CLOSE_ALL,true);
// extApplicantService.changeStatus(first.get(),Constants.OBSOLETE,true); // extApplicantService.changeStatus(first.get(),Constants.OBSOLETE,true);
...@@ -1590,4 +1595,18 @@ public class ExtAutoTaskServiceImpl implements ExtAutoTaskService { ...@@ -1590,4 +1595,18 @@ public class ExtAutoTaskServiceImpl implements ExtAutoTaskService {
} }
} }
/**
* 设置接口单 的提资日期 (接口单流程走完第一个 提资节点后设置)
*
* @param interfaceVO
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void autoSetTzri(ExtInterfaceVO interfaceVO) {
interfaceVO.setTzrq(LocalDateTime.now());
//TODO 设置提资人
Long processTiZiId = ExtWfcUtil.getProcessTiZiId(ExtInterfaceVO.class, interfaceVO.getVersionId());
interfaceVO.setProviderId(processTiZiId);
interfaceVO = (ExtInterfaceVO) extInterfaceService.update(interfaceVO);
}
} }
...@@ -34,10 +34,10 @@ public interface ExtAutoTaskServiceFeign { ...@@ -34,10 +34,10 @@ public interface ExtAutoTaskServiceFeign {
@ApiOperation(value = "设置提资审核", notes = "设置提资审核", httpMethod = "POST") @ApiOperation(value = "设置提资审核", notes = "设置提资审核", httpMethod = "POST")
@PostMapping(value = "/extSetProcessVariable") @PostMapping(value = "/extSetProcessVariable")
void extSetProcessVariable(Map<String, Object> taskParticipant, void extSetProcessVariable(@RequestBody Map<String, Object> taskParticipant,
@RequestParam("processInstId") String processInstId, @RequestParam("processInstId") String processInstId,
@RequestParam("key") String key, @RequestParam("key") String key,
Object value); @RequestParam("value") String value);
@ApiOperation(value = "设置提资人变量", notes = "设置提资人变量", httpMethod = "POST") @ApiOperation(value = "设置提资人变量", notes = "设置提资人变量", httpMethod = "POST")
@PostMapping(value = "/setInformativeUser") @PostMapping(value = "/setInformativeUser")
...@@ -71,15 +71,15 @@ public interface ExtAutoTaskServiceFeign { ...@@ -71,15 +71,15 @@ public interface ExtAutoTaskServiceFeign {
@ApiOperation(value = "生成NCR审查单word", notes = "生成NCR审查单word", httpMethod = "POST") @ApiOperation(value = "生成NCR审查单word", notes = "生成NCR审查单word", httpMethod = "POST")
@PostMapping(value = "/generateNcrReviewWord") @PostMapping(value = "/generateNcrReviewWord")
void generateNcrReviewWord(@RequestBody DxDocumentVO documentVO, Map<String, Object> wfTaskContext); void generateNcrReviewWord(@RequestParam("documentId") String documentId, @RequestBody Map<String, Object> wfTaskContext);
@ApiOperation(value = "生成word签字", notes = "生成word签字", httpMethod = "POST") @ApiOperation(value = "生成word签字", notes = "生成word签字", httpMethod = "POST")
@PostMapping(value = "/generateDocWordSign") @PostMapping(value = "/generateDocWordSign")
void generateDocWordSign(@RequestBody DxDocumentVO documentVO, Map<String, Object> wfTaskContext, @RequestParam("fileName") String fileName); void generateDocWordSign(@RequestParam("documentId") String documentId, @RequestBody Map<String, Object> wfTaskContext, @RequestParam("fileName") String fileName);
@ApiOperation(value = "内部接口-保存内部接口信息的总体室、审核签审信息值", notes = "内部接口-保存内部接口信息的总体室、审核签审信息值", httpMethod = "POST") @ApiOperation(value = "内部接口-保存内部接口信息的总体室、审核签审信息值", notes = "内部接口-保存内部接口信息的总体室、审核签审信息值", httpMethod = "POST")
@PostMapping(value = "/savedInterfaceWf") @PostMapping(value = "/savedInterfaceWf")
void savedInterfaceWf(@RequestBody DxDocumentVO documentVO, Map<String, Object> wfTaskContext); void savedInterfaceWf(@RequestParam("documentId") String documentId, @RequestBody Map<String, Object> wfTaskContext);
@ApiOperation(value = "自动任务-编制节点后生成word方法", notes = "自动任务-编制节点后生成word方法", httpMethod = "POST") @ApiOperation(value = "自动任务-编制节点后生成word方法", notes = "自动任务-编制节点后生成word方法", httpMethod = "POST")
@PostMapping(value = "/generateWordByAutoMethod") @PostMapping(value = "/generateWordByAutoMethod")
...@@ -91,7 +91,7 @@ public interface ExtAutoTaskServiceFeign { ...@@ -91,7 +91,7 @@ public interface ExtAutoTaskServiceFeign {
@ApiOperation(value = "自动任务-生成QH技术文件签审页", notes = "自动任务-生成QH技术文件签审页", httpMethod = "POST") @ApiOperation(value = "自动任务-生成QH技术文件签审页", notes = "自动任务-生成QH技术文件签审页", httpMethod = "POST")
@PostMapping(value = "/generateQHTechDoc") @PostMapping(value = "/generateQHTechDoc")
void generateQHTechDoc(@RequestBody DxDocumentVO documentVO, Map<String, Object> wfTaskContext); void generateQHTechDoc(@RequestParam("documentId") String documentId, @RequestBody Map<String, Object> wfTaskContext);
//endProcess //endProcess
...@@ -105,11 +105,11 @@ public interface ExtAutoTaskServiceFeign { ...@@ -105,11 +105,11 @@ public interface ExtAutoTaskServiceFeign {
@ApiOperation(value = "申请内容 签名", notes = "申请内容 签名", httpMethod = "POST") @ApiOperation(value = "申请内容 签名", notes = "申请内容 签名", httpMethod = "POST")
@PostMapping(value = "/autoApplicantSign") @PostMapping(value = "/autoApplicantSign")
void autoApplicantSign(@RequestBody ExtApplicantVO applicantVO, Map<String, Object> wfTaskContext); void autoApplicantSign(@RequestParam("applicantId") String applicantId, @RequestBody Map<String, Object> wfTaskContext);
@ApiOperation(value = "接口单签名", notes = "接口单签名", httpMethod = "POST") @ApiOperation(value = "接口单签名", notes = "接口单签名", httpMethod = "POST")
@PostMapping(value = "/autoInterFaceSign") @PostMapping(value = "/autoInterFaceSign")
void autoInterFaceSign(@RequestBody ExtInterfaceVO extInterfaceVO, Map<String, Object> wfTaskContext); void autoInterFaceSign(@RequestParam("extInterfaceId") String extInterfaceId, @RequestBody Map<String, Object> wfTaskContext);
@ApiOperation(value = "签审对象的终止流程", notes = "签审对象的终止流程", httpMethod = "POST") @ApiOperation(value = "签审对象的终止流程", notes = "签审对象的终止流程", httpMethod = "POST")
@PostMapping(value = "/autoInterfaceEnd") @PostMapping(value = "/autoInterfaceEnd")
...@@ -126,4 +126,8 @@ public interface ExtAutoTaskServiceFeign { ...@@ -126,4 +126,8 @@ public interface ExtAutoTaskServiceFeign {
@ApiOperation(value = "签审对象 扫描所有提资单 并更新状态", notes = "签审对象 扫描所有提资单 并更新状态", httpMethod = "POST") @ApiOperation(value = "签审对象 扫描所有提资单 并更新状态", notes = "签审对象 扫描所有提资单 并更新状态", httpMethod = "POST")
@PostMapping(value = "/stopAllExtApplicantFaceFlow") @PostMapping(value = "/stopAllExtApplicantFaceFlow")
void stopAllExtApplicantFaceFlow(@RequestBody ExtInterfaceVO extInterfaceVO); void stopAllExtApplicantFaceFlow(@RequestBody ExtInterfaceVO extInterfaceVO);
@ApiOperation(value = "设置接口单 的提资日期 (接口单流程走完第一个 提资节点后设置)", notes = "设置接口单 的提资日期 (接口单流程走完第一个 提资节点后设置)", httpMethod = "POST")
@PostMapping(value = "/autoSetTzri")
void autoSetTzri(@RequestBody ExtInterfaceVO interfaceVO);
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment