合并分支 'FOTON' 到 'master'
Foton 查看合并请求 laws-foton-slrs/foton-wkflow-rest!14
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
ALTER TABLE `foton-bat-wkflow`.`bus_process_name`
|
||||
MODIFY COLUMN `PRC_NAME` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT '' COMMENT '流程名称' AFTER `ID`;
|
||||
|
||||
ALTER TABLE `foton-bat-wkflow`.`bus_process_new`
|
||||
MODIFY COLUMN `PRC_NAME` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '流程名称' AFTER `SUB_ID`;
|
||||
|
||||
ALTER TABLE `foton-bat-wkflow`.`bus_process_entrust`
|
||||
MODIFY COLUMN `PRC_NAME` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL AFTER `TASK_NAME`;
|
||||
|
||||
ALTER TABLE `foton-bat-wkflow`.`bus_process_model_his`
|
||||
MODIFY COLUMN `PRC_NAME` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '流程名称' AFTER `P_ID`;
|
||||
|
||||
ALTER TABLE `foton-bat-wkflow`.`bus_process_evaluation_his`
|
||||
MODIFY COLUMN `PRC_NAME` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '流程名称' AFTER `P_ID`;
|
||||
@@ -0,0 +1,10 @@
|
||||
CREATE TABLE `es_prc_relation` (
|
||||
`id` varchar(32) NOT NULL,
|
||||
`es_id` varchar(32) DEFAULT NULL COMMENT '企标计划ID',
|
||||
`prc_id` varchar(33) DEFAULT NULL COMMENT '企标制修订技术标准流程实例ID',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '修改时间',
|
||||
`oa_flag` varchar(2) DEFAULT NULL COMMENT 'OA待办标识 0-已办,1-待办',
|
||||
`prc_id_gk` varchar(33) DEFAULT NULL COMMENT '企标计划管控流程的实例ID',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='企标计划和企标制修订流程关联表';
|
||||
@@ -0,0 +1,8 @@
|
||||
CREATE TABLE `es_tech_relation` (
|
||||
`id` varchar(32) NOT NULL,
|
||||
`es_id` varchar(32) DEFAULT NULL COMMENT '企标计划ID',
|
||||
`prc_id` varchar(33) DEFAULT NULL COMMENT '复审流程实例ID',
|
||||
`finish` varchar(10) DEFAULT NULL COMMENT '流程是否结束',
|
||||
`prc_tech_id` varchar(33) DEFAULT NULL COMMENT '企标制修订技术标准流程实例ID',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
@@ -29,17 +29,35 @@
|
||||
<artifactId>fk-util</artifactId>
|
||||
<version>1.0.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-mail</artifactId>
|
||||
</dependency>
|
||||
<!-- scheduled所属资源为spring-context-support -->
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-context-support</artifactId>
|
||||
</dependency>
|
||||
<!-- Eureka -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
|
||||
<version>2.0.0.RELEASE</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-amqp</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.amqp</groupId>
|
||||
<artifactId>spring-rabbit-test</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<!-- Feign客户端 -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-openfeign</artifactId>
|
||||
<version>2.0.2.RELEASE</version>
|
||||
<version>2.2.0.RELEASE</version>
|
||||
</dependency>
|
||||
<!-- DB 相关 -->
|
||||
<dependency>
|
||||
@@ -71,6 +89,29 @@
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
</dependency>
|
||||
<!-- CXF webservice -->
|
||||
<dependency>
|
||||
<groupId>org.apache.cxf</groupId>
|
||||
<artifactId>cxf-spring-boot-starter-jaxws</artifactId>
|
||||
<version>3.3.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.cxf</groupId>
|
||||
<artifactId>cxf-rt-transports-http</artifactId>
|
||||
<version>3.3.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.cxf</groupId>
|
||||
<artifactId>cxf-rt-features-logging</artifactId>
|
||||
<version>3.3.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<!-- CXF webservice -->
|
||||
<dependency>
|
||||
<groupId>com.squareup.okhttp3</groupId>
|
||||
<artifactId>okhttp</artifactId>
|
||||
<version>3.6.0</version>
|
||||
</dependency>
|
||||
<!-- lombok -->
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
@@ -106,6 +147,13 @@
|
||||
<artifactId>activiti-modeler</artifactId>
|
||||
<version>${activiti.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>net.sf.json-lib</groupId>
|
||||
<artifactId>json-lib</artifactId>
|
||||
<version>2.4</version>
|
||||
<classifier>jdk15</classifier>
|
||||
</dependency>
|
||||
<!-- <dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-configuration-processor</artifactId>
|
||||
@@ -117,12 +165,49 @@
|
||||
<artifactId>spring-boot-devtools</artifactId>
|
||||
<optional>true</optional> <!-- 这个需要为 true 热部署才有效 -->
|
||||
</dependency>
|
||||
<!-- poi -->
|
||||
<dependency>
|
||||
<groupId>org.apache.poi</groupId>
|
||||
<artifactId>poi</artifactId>
|
||||
<version>4.1.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.poi</groupId>
|
||||
<artifactId>poi-ooxml</artifactId>
|
||||
<version>4.1.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.poi</groupId>
|
||||
<artifactId>poi-ooxml-schemas</artifactId>
|
||||
<version>4.1.2</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>xerces</groupId>
|
||||
<artifactId>xercesImpl</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.poi</groupId>
|
||||
<artifactId>poi-scratchpad</artifactId>
|
||||
<version>4.1.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.deepoove</groupId>
|
||||
<artifactId>poi-tl</artifactId>
|
||||
<version>1.9.1</version>
|
||||
</dependency>
|
||||
<!-- Test -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.google.code.gson</groupId>
|
||||
<artifactId>gson</artifactId>
|
||||
<version>2.8.6</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package com.ydw.bat.wkflow;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.mybatis.spring.annotation.MapperScan;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
@@ -18,8 +20,7 @@ import org.springframework.scheduling.annotation.EnableScheduling;
|
||||
*/
|
||||
@EnableEurekaClient
|
||||
@EnableFeignClients
|
||||
@SpringBootApplication
|
||||
@EnableAutoConfiguration(exclude = {
|
||||
@SpringBootApplication(exclude = {
|
||||
org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class,
|
||||
org.activiti.spring.boot.SecurityAutoConfiguration.class })
|
||||
@MapperScan("com.ydw.bat.wkflow.business.*.mapper")
|
||||
@@ -28,6 +29,8 @@ public class BatWkflowApplication {
|
||||
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(BatWkflowApplication.class, args);
|
||||
// JSONObject jsonObject= JSON.parseObject("{\"startUser\":\"WY8J26MH23\",\"engineer\":\"engineer\",\"dockUserList\":[{\"id\":\"zqazqazqa\"},{\"id\":\"xwsxwsxws\"},{\"id\":\"cedcedced\"}],\"actionFlag\":\"0\",\"responUserList\":[{\"id\":\"zqazqazqa\"},{\"id\":\"xwsxwsxws\"},{\"id\":\"cedcedced\"}]}");
|
||||
// System.out.println(jsonObject.toJSONString());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+59
-29
@@ -9,6 +9,7 @@ import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.ydw.bat.wkflow.business_activiti.dto.ProcessRollBackEO;
|
||||
import com.ydw.bat.wkflow.business_auth.LawsUserInfoService;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.ResponseMessage;
|
||||
@@ -25,6 +26,8 @@ import org.activiti.engine.runtime.ProcessInstance;
|
||||
import org.activiti.engine.task.Task;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import com.tmsps.fk.common.base.action.BaseAction;
|
||||
@@ -124,7 +127,7 @@ public class ActivitDefineController extends BaseAction {
|
||||
// 创建查询对象
|
||||
ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery();
|
||||
// 使用流程定义的名称模糊查询
|
||||
processDefinitionQuery.processDefinitionCategory("4bdf0b396b4aa6ea10dd5e19956a1e22");
|
||||
processDefinitionQuery.processDefinitionCategory("e05707228fa5ed7b549198208ab19d97");
|
||||
long total = processDefinitionQuery.count();
|
||||
List<ProcessDefinition> list = processDefinitionQuery.orderByProcessDefinitionKey().asc().list();
|
||||
List<Map<String, Object>> definitions = ActivitiTools.turnProcessDefinitions(list);
|
||||
@@ -155,7 +158,7 @@ public class ActivitDefineController extends BaseAction {
|
||||
// 创建查询对象
|
||||
ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery();
|
||||
// 使用流程定义的名称模糊查询
|
||||
processDefinitionQuery.processDefinitionCategory("4bdf0b396b4aa6ea10dd5e19956a1e22");
|
||||
processDefinitionQuery.processDefinitionCategory("e05707228fa5ed7b549198208ab19d97");
|
||||
long total = processDefinitionQuery.count();
|
||||
List<ProcessDefinition> list = processDefinitionQuery.orderByProcessDefinitionKey().asc().list();
|
||||
List<Map<String, Object>> definitions = ActivitiTools.turnProcessDefinitions(list);
|
||||
@@ -182,37 +185,64 @@ public class ActivitDefineController extends BaseAction {
|
||||
ResponseMessage<UserVO> byId = lawsUserInfoService.getById(userId);
|
||||
busProcessName.setCreatUserName(byId.getData().getUname());
|
||||
busProcessName.setPrcNum(new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()));
|
||||
if(id.equals("bzhyhhgllc")){
|
||||
String prcName = bpnId;
|
||||
busProcessName.setPrcType("16");
|
||||
busProcessName.setPrcName(prcName);
|
||||
}
|
||||
ibusprocessnameService.save(busProcessName);
|
||||
}else {
|
||||
if (bpnId.indexOf("会议会后") != -1) {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
BusProcessName busProcessName = new BusProcessName();
|
||||
busProcessName.setPrcId(pi.getId());
|
||||
busProcessName.setCreatTime(sdf.format(new Date()));
|
||||
busProcessName.setCreatUser(userId);
|
||||
ResponseMessage<UserVO> byId = lawsUserInfoService.getById(userId);
|
||||
busProcessName.setCreatUserName(byId.getData().getUname());
|
||||
busProcessName.setPrcNum(new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()));
|
||||
if (id.equals("bzhyhhgllc")) {
|
||||
String prcName = bpnId;
|
||||
busProcessName.setPrcType("16");
|
||||
busProcessName.setPrcName(prcName);
|
||||
}
|
||||
ibusprocessnameService.save(busProcessName);
|
||||
} else {
|
||||
QueryWrapper<BusProcessName> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("ID", bpnId);
|
||||
BusProcessName one = ibusprocessnameService.getOne(queryWrapper);
|
||||
one.setPrcNum(new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()));
|
||||
one.setPrcId(pi.getId());
|
||||
ibusprocessnameService.saveOrUpdate(one);
|
||||
QueryWrapper<BusProcessName> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("ID", bpnId);
|
||||
BusProcessName one = ibusprocessnameService.getOne(queryWrapper);
|
||||
one.setPrcNum(new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()));
|
||||
one.setPrcId(pi.getId());
|
||||
ibusprocessnameService.saveOrUpdate(one);
|
||||
}
|
||||
logger.info("启动流程实例,获取id-->{},实例名称-->{}", pi.getId(), pd.getName());
|
||||
return WrapMapper.ok(task.getId());
|
||||
}
|
||||
|
||||
@ApiOperation(value = "启动流程-以流程定义id")
|
||||
@ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "流程定义Id"),
|
||||
@ApiImplicitParam(name = "userId", value = "流程发起人Id") })
|
||||
@PostMapping("/activiti_define_start_user_rollBack")
|
||||
public Wrapper<String> activiti_define_start_user_rollBack(@RequestBody ProcessRollBackEO processRollBackEO) {
|
||||
// 创建查询对象
|
||||
ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery();
|
||||
// 使用流程定义的名称模糊查询
|
||||
processDefinitionQuery.processDefinitionCategory("e05707228fa5ed7b549198208ab19d97");
|
||||
long total = processDefinitionQuery.count();
|
||||
List<ProcessDefinition> list = processDefinitionQuery.orderByProcessDefinitionKey().asc().list();
|
||||
List<Map<String, Object>> definitions = ActivitiTools.turnProcessDefinitions(list);
|
||||
String pid = "";
|
||||
for(Map<String, Object> map:definitions){
|
||||
if(map.get("key").toString().equals(processRollBackEO.getId())){
|
||||
pid = map.get("id").toString();
|
||||
}
|
||||
}
|
||||
|
||||
ProcessDefinition pd = repositoryService.createProcessDefinitionQuery().processDefinitionId(pid).singleResult();
|
||||
|
||||
ProcessInstance pi = runtimeService.startProcessInstanceById(pid);
|
||||
Task task = taskService.createTaskQuery().processInstanceId(pi.getId()).singleResult();
|
||||
task.setAssignee(processRollBackEO.getUserId());
|
||||
taskService.saveTask(task);
|
||||
|
||||
if(processRollBackEO.getBpnId() == null) {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
BusProcessName busProcessName = new BusProcessName();
|
||||
busProcessName.setPrcId(pi.getId());
|
||||
busProcessName.setCreatTime(sdf.format(new Date()));
|
||||
busProcessName.setCreatUser(processRollBackEO.getUserId());
|
||||
ResponseMessage<UserVO> byId = lawsUserInfoService.getById(processRollBackEO.getUserId());
|
||||
busProcessName.setCreatUserName(byId.getData().getUname());
|
||||
busProcessName.setPrcNum(new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()));
|
||||
busProcessName.setMes(processRollBackEO.getJson());
|
||||
ibusprocessnameService.save(busProcessName);
|
||||
}else {
|
||||
QueryWrapper<BusProcessName> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("ID", processRollBackEO.getBpnId());
|
||||
BusProcessName one = ibusprocessnameService.getOne(queryWrapper);
|
||||
one.setPrcNum(new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()));
|
||||
one.setPrcId(pi.getId());
|
||||
ibusprocessnameService.saveOrUpdate(one);
|
||||
}
|
||||
logger.info("启动流程实例,获取id-->{},实例名称-->{}", pi.getId(), pd.getName());
|
||||
return WrapMapper.ok(task.getId());
|
||||
}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.ydw.bat.wkflow.business_activiti.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class ProcessRollBackEO {
|
||||
|
||||
private String json;
|
||||
|
||||
private String type;
|
||||
|
||||
private String id;
|
||||
|
||||
private String userId;
|
||||
|
||||
private String bpnId;
|
||||
}
|
||||
@@ -22,7 +22,7 @@ public class ProjectAssessDTO {
|
||||
private String saleMarket;
|
||||
private Date modifyTime;
|
||||
private String targetMarket;
|
||||
// private Children children;
|
||||
// private PCAchildren children;
|
||||
private List<Children> children;
|
||||
private String id;
|
||||
private String productType;
|
||||
|
||||
+6
-2
@@ -4,6 +4,7 @@ import java.io.InputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
||||
import org.activiti.bpmn.model.BpmnModel;
|
||||
import org.activiti.engine.HistoryService;
|
||||
import org.activiti.engine.RepositoryService;
|
||||
@@ -11,6 +12,7 @@ import org.activiti.engine.history.HistoricActivityInstance;
|
||||
import org.activiti.engine.history.HistoricProcessInstance;
|
||||
import org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity;
|
||||
import org.activiti.image.impl.DefaultProcessDiagramGenerator;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -20,7 +22,7 @@ import org.springframework.stereotype.Service;
|
||||
public class InstanceService {
|
||||
|
||||
protected Logger logger = LoggerFactory.getLogger(this.getClass());
|
||||
|
||||
|
||||
@Autowired
|
||||
private RepositoryService repositoryService;
|
||||
|
||||
@@ -48,7 +50,9 @@ public class InstanceService {
|
||||
int index = 1;
|
||||
logger.info("获取已经执行的节点ID");
|
||||
for (HistoricActivityInstance activityInstance : historicActivityInstanceList) {
|
||||
executedActivityIdList.add(activityInstance.getActivityId());
|
||||
if (ObjectUtils.isNotEmpty(activityInstance.getEndTime())) {
|
||||
executedActivityIdList.add(activityInstance.getActivityId());
|
||||
}
|
||||
logger.info("第[" + index + "]个已执行节点=" + activityInstance.getActivityId() + " : "
|
||||
+ activityInstance.getActivityName());
|
||||
index++;
|
||||
|
||||
@@ -3,13 +3,10 @@ package com.ydw.bat.wkflow.business_activiti.task;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.ydw.bat.wkflow.business_auth.LawsUserInfoService;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.*;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessEntrustService;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.*;
|
||||
import org.activiti.engine.HistoryService;
|
||||
import org.activiti.engine.history.HistoricTaskInstance;
|
||||
import org.activiti.engine.history.HistoricTaskInstanceQuery;
|
||||
@@ -42,9 +39,46 @@ public class TaskController {
|
||||
private IBusProcessNameService iBusProcessNameService;
|
||||
@Autowired
|
||||
private IBusProcessNewService iBusProcessNewService;
|
||||
@Autowired
|
||||
private IOaTaskExecService oaTaskExecService;
|
||||
@Autowired
|
||||
private ISendTodoLogService sendTodoLogService;
|
||||
@Autowired
|
||||
private IBusProcessEntrustService iBusProcessEntrustService;
|
||||
|
||||
@ApiOperation(value = "流程实例明细验证是否完成")
|
||||
@GetMapping("/get_verify_by_instance")
|
||||
public Map<String,Object> get_verify_by_instance(String taskId,String pId) {
|
||||
Map<String,Object> map = new TreeMap<>();
|
||||
HistoricTaskInstanceQuery historicTaskInstanceQuery = historyService.createHistoricTaskInstanceQuery()
|
||||
.processInstanceId(pId).taskId(taskId).finished();
|
||||
List<HistoricTaskInstance> list = historicTaskInstanceQuery.list();
|
||||
long count = 0;
|
||||
if(!list.isEmpty()){
|
||||
count = list.size();
|
||||
}
|
||||
map.put("hisCount",count);
|
||||
QueryWrapper queryWrapper = new QueryWrapper();
|
||||
queryWrapper.eq("TASK_ID",taskId);
|
||||
queryWrapper.eq("P_ID",pId);
|
||||
List<BusProcessNew> list1 = iBusProcessNewService.list(queryWrapper);
|
||||
long count1 = 0;
|
||||
if(!list1.isEmpty()){
|
||||
QueryWrapper wrapper = new QueryWrapper();
|
||||
wrapper.eq("TODO_ID",list1.get(0).getId());
|
||||
count1 = oaTaskExecService.count(wrapper);
|
||||
}
|
||||
map.put("commitStatus",count1);
|
||||
// OA 流程 是否置为 已办 (用于干活流程 接收逻辑)
|
||||
QueryWrapper wrapper = new QueryWrapper();
|
||||
wrapper.eq("TODO_ID",list1.get(0).getId());
|
||||
wrapper.eq("MSG_TYPE","1");
|
||||
long count2 = sendTodoLogService.count(wrapper);
|
||||
map.put("isNotFinished",count2);
|
||||
return map;
|
||||
|
||||
}
|
||||
|
||||
@ApiOperation(value = "流程实例明细列表")
|
||||
@ApiImplicitParam(name = "prcNum", value = "流程实例id")
|
||||
@GetMapping("/get_list_by_instance")
|
||||
@@ -53,8 +87,16 @@ public class TaskController {
|
||||
queryWrapper.eq("PRC_NUM",prcNum);
|
||||
BusProcessName one = iBusProcessNameService.getOne(queryWrapper);
|
||||
HistoricTaskInstanceQuery historicTaskInstanceQuery = historyService.createHistoricTaskInstanceQuery()
|
||||
.processInstanceId(one.getPrcId()).orderByTaskCreateTime().asc();
|
||||
.processInstanceId(one.getPrcId()).orderByHistoricTaskInstanceEndTime().asc();
|
||||
List<HistoricTaskInstance> list2 = historicTaskInstanceQuery.list();
|
||||
List<HistoricTaskInstance> middle =new ArrayList<>();
|
||||
list2.forEach(historicTaskInstance -> {
|
||||
if (null==historicTaskInstance.getEndTime()){
|
||||
middle.add(historicTaskInstance);
|
||||
}
|
||||
});
|
||||
list2.removeAll(middle);
|
||||
list2.addAll(middle);
|
||||
List<Map<String,Object>> list = ActivitiTools.turnHistoricTaskInstance(list2);
|
||||
for (Map<String, Object> historicTaskInstance : list) {
|
||||
// if(ChkUtil.isNull(historicTaskInstance.get("assignee"))) {
|
||||
@@ -65,9 +107,13 @@ public class TaskController {
|
||||
// if(ChkUtil.isNotNull(map)) {
|
||||
// historicTaskInstance.put("assignee", map.get("USR_NAME"));
|
||||
// }
|
||||
if(StringUtils.isNotBlank(one.getId())){
|
||||
historicTaskInstance.put("bpnId",one.getId());
|
||||
}
|
||||
if(ChkUtil.isNull(historicTaskInstance.get("assignee"))) {
|
||||
ResponseMessage<List<OrgEO>> listUser = lawsUserInfoService.getManagerByOrgIdNew("企业标准管理工程师");
|
||||
if(listUser.getData()!=null){
|
||||
// ResponseMessage<List<OrgEO>> listUser = lawsUserInfoService.getManagerByOrgIdNew("企业标准管理工程师");
|
||||
ResponseMessage<List<OrgEO>> listUser = new ResponseMessage<>();
|
||||
if(false){
|
||||
List<String> qbgcs = new ArrayList<>();
|
||||
for (OrgEO orgEO : listUser.getData()) {
|
||||
qbgcs.add(orgEO.getUserName());
|
||||
@@ -83,12 +129,12 @@ public class TaskController {
|
||||
historicTaskInstance.put("assigneeId", assignee.getData().getUsid());
|
||||
QueryWrapper queryWrapper2 = new QueryWrapper();
|
||||
queryWrapper2.eq("TASK_ID",historicTaskInstance.get("id"));
|
||||
queryWrapper2.orderByAsc("CREATE_TIME");
|
||||
queryWrapper2.orderByDesc("CREATE_TIME");
|
||||
List<BusProcessEntrust> list1 = iBusProcessEntrustService.list(queryWrapper2);
|
||||
String str = "";
|
||||
if(list1.size()>0){
|
||||
ResponseMessage<UserVO> assignee1 = lawsUserInfoService.getById(list1.get(0).getUserId());
|
||||
historicTaskInstance.put("assignee", assignee.getData().getUname()+"("+assignee1.getData().getUname()+" 委托)");
|
||||
historicTaskInstance.put("assignee", assignee.getData().getUname()+"("+assignee1.getData().getUname()+" 转办)");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -97,8 +143,10 @@ public class TaskController {
|
||||
historicTaskInstance.put("prcNum",one.getPrcNum());
|
||||
QueryWrapper queryWrapper1 = new QueryWrapper();
|
||||
queryWrapper1.eq("TASK_ID",historicTaskInstance.get("id"));
|
||||
queryWrapper1.eq("TASK_INFO",historicTaskInstance.get("name"));
|
||||
queryWrapper1.isNotNull("COMMIT_TEXT");
|
||||
List<BusProcessNew> list1 = iBusProcessNewService.list(queryWrapper1);
|
||||
if(list1.size()>0){
|
||||
if(!list1.isEmpty()){
|
||||
historicTaskInstance.put("comment",list1.get(0).getCommitFlag());
|
||||
historicTaskInstance.put("commentText",list1.get(0).getCommitText());
|
||||
}else{
|
||||
@@ -130,4 +178,140 @@ public class TaskController {
|
||||
}
|
||||
return list;
|
||||
}
|
||||
}
|
||||
@ApiOperation(value = "流程实例汇总列表")
|
||||
@ApiImplicitParam(name = "prcNum", value = "流程实例id")
|
||||
@GetMapping("/get_gather_by_instance")
|
||||
public List<Map<String, Object>> get_gather_by_instance(String prcNum,String sortWord,String shunxu) {
|
||||
QueryWrapper queryWrapper = new QueryWrapper();
|
||||
queryWrapper.eq("PRC_NUM",prcNum);
|
||||
Boolean isGather=false;
|
||||
Integer index=-1;
|
||||
Map<String,String> typeData=new HashMap<>();
|
||||
typeData.put("1","起草");// 标准入库流程数据
|
||||
typeData.put("buss1","批准");//企标入库
|
||||
typeData.put("buss2","意见汇总修订");//企标入库
|
||||
typeData.put("buss3","汇总");//企标复审
|
||||
typeData.put("4","起草");//标准清单发布流程数据
|
||||
typeData.put("5","批准");//标准项目合规评估
|
||||
typeData.put("6","批准");//标准项目合规评估 项目维度
|
||||
typeData.put("8","合规排查(上传合规举证材料)");// 未符合项整改
|
||||
typeData.put("9","批准");// 标准解读流程
|
||||
typeData.put("2","调研结果处理");//标准调研流程
|
||||
typeData.put("3","意见处理");//标准征求意见
|
||||
typeData.put("10","清单发布");//项目清单确认
|
||||
typeData.put("24","起草人修改标准状态");//企标废止
|
||||
typeData.put("25","起草");//企标制修订计划管控
|
||||
typeData.put("26","起草");//企标制修订立项计划
|
||||
typeData.put("23","汇总");//企标复审
|
||||
BusProcessName one = iBusProcessNameService.getOne(queryWrapper);
|
||||
HistoricTaskInstanceQuery historicTaskInstanceQuery = historyService.createHistoricTaskInstanceQuery()
|
||||
.processInstanceId(one.getPrcId()).orderByHistoricTaskInstanceEndTime().asc();
|
||||
List<HistoricTaskInstance> list2 = historicTaskInstanceQuery.list();
|
||||
List<HistoricTaskInstance> middle =new ArrayList<>();
|
||||
list2.forEach(historicTaskInstance -> {
|
||||
if (null==historicTaskInstance.getEndTime()){
|
||||
middle.add(historicTaskInstance);
|
||||
}
|
||||
});
|
||||
list2.removeAll(middle);
|
||||
list2.addAll(middle);
|
||||
List<Map<String,Object>> list = ActivitiTools.turnHistoricTaskInstance(list2);
|
||||
for(int i=0;i<list.size();i++){
|
||||
Map<String, Object> historicTaskInstance= list.get(i);
|
||||
// if(ChkUtil.isNull(historicTaskInstance.get("assignee"))) {
|
||||
// continue;
|
||||
// }
|
||||
//需要修改 根据当前表结构查询
|
||||
// Map<String, Object> map = jt.queryForMap("select t.USR_NAME from view_t_au_usr t where t.OBJECT_ID=?", historicTaskInstance.get("assignee"));
|
||||
// if(ChkUtil.isNotNull(map)) {
|
||||
// historicTaskInstance.put("assignee", map.get("USR_NAME"));
|
||||
// }
|
||||
if(StringUtils.isNotBlank(one.getId())){
|
||||
historicTaskInstance.put("bpnId",one.getId());
|
||||
}
|
||||
if(ChkUtil.isNull(historicTaskInstance.get("assignee"))) {
|
||||
// ResponseMessage<List<OrgEO>> listUser = lawsUserInfoService.getManagerByOrgIdNew("企业标准管理工程师");
|
||||
ResponseMessage<List<OrgEO>> listUser = new ResponseMessage<>();
|
||||
if(false){
|
||||
List<String> qbgcs = new ArrayList<>();
|
||||
for (OrgEO orgEO : listUser.getData()) {
|
||||
qbgcs.add(orgEO.getUserName());
|
||||
}
|
||||
String str= StringUtils.join(qbgcs, ",");
|
||||
historicTaskInstance.put("assignee", str);
|
||||
}
|
||||
}else{
|
||||
ResponseMessage<UserVO> assignee = lawsUserInfoService.getById(historicTaskInstance.get("assignee").toString());
|
||||
|
||||
if(assignee.getData()!=null){
|
||||
historicTaskInstance.put("assignee", assignee.getData().getUname());
|
||||
historicTaskInstance.put("assigneeId", assignee.getData().getUsid());
|
||||
QueryWrapper queryWrapper2 = new QueryWrapper();
|
||||
queryWrapper2.eq("TASK_ID",historicTaskInstance.get("id"));
|
||||
queryWrapper2.orderByDesc("CREATE_TIME");
|
||||
List<BusProcessEntrust> list1 = iBusProcessEntrustService.list(queryWrapper2);
|
||||
String str = "";
|
||||
if(list1.size()>0){
|
||||
ResponseMessage<UserVO> assignee1 = lawsUserInfoService.getById(list1.get(0).getUserId());
|
||||
historicTaskInstance.put("assignee", assignee.getData().getUname()+"("+assignee1.getData().getUname()+" 转办)");
|
||||
}
|
||||
}
|
||||
}
|
||||
historicTaskInstance.put("prcType",one.getPrcType());
|
||||
historicTaskInstance.put("prcName",one.getPrcName());
|
||||
historicTaskInstance.put("prcNum",one.getPrcNum());
|
||||
QueryWrapper queryWrapper1 = new QueryWrapper();
|
||||
queryWrapper1.eq("TASK_ID",historicTaskInstance.get("id"));
|
||||
queryWrapper1.eq("TASK_INFO",historicTaskInstance.get("name"));
|
||||
queryWrapper1.isNotNull("COMMIT_TEXT");
|
||||
List<BusProcessNew> list1 = iBusProcessNewService.list(queryWrapper1);
|
||||
if(!list1.isEmpty()){
|
||||
historicTaskInstance.put("comment",list1.get(0).getCommitFlag());
|
||||
historicTaskInstance.put("commentText",list1.get(0).getCommitText());
|
||||
}else{
|
||||
historicTaskInstance.put("comment","");
|
||||
historicTaskInstance.put("commentText","");
|
||||
}
|
||||
//判断是否可汇总功能
|
||||
String prcType=historicTaskInstance.get("prcType").toString();
|
||||
String name=historicTaskInstance.get("name").toString();
|
||||
Boolean endTime=historicTaskInstance.get("endTime")!=null;
|
||||
if (typeData.get(prcType).equals(name)) {
|
||||
if(endTime) {
|
||||
isGather = true;
|
||||
index = i;
|
||||
}else{
|
||||
isGather=false;
|
||||
index=-1;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(StringUtils.isNotBlank(sortWord)){
|
||||
Collections.sort(list, new Comparator<Map<String, Object>>() {
|
||||
public int compare(Map<String, Object> o1, Map<String, Object> o2) {
|
||||
String id1="";
|
||||
String id2="";
|
||||
if(sortWord.equals("startTime")){
|
||||
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
id1 = df.format(o1.get(sortWord));
|
||||
id2 = df.format(o2.get(sortWord));
|
||||
}else{
|
||||
id1 = (String) o1.get(sortWord);
|
||||
id2 = (String) o2.get(sortWord);
|
||||
}
|
||||
if(shunxu.equals("desc")){
|
||||
return id2.compareTo(id1);
|
||||
}else{
|
||||
return id1.compareTo(id2);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
Map<String,Object> m=new HashMap<>();
|
||||
m.put("isGather",isGather);
|
||||
m.put("index",index);
|
||||
list.add(m);
|
||||
return list;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -22,8 +22,16 @@ import com.alibaba.fastjson.JSONObject;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessEntrustService;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.IOaTaskExecService;
|
||||
import com.ydw.bat.wkflow.business_mq.service.CreateMQService;
|
||||
import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService;
|
||||
import com.ydw.bat.wkflow.business_oa.webService.todoContent.NotifyTodoSendContext;
|
||||
import com.ydw.bat.wkflow.business_oa.webService.todoResult.NotifyTodoAppResult;
|
||||
import com.ydw.bat.wkflow.business_wkflow.form.dto.FormSubmitDto;
|
||||
import com.ydw.bat.wkflow.business_wkflow.form.service.FormValsService;
|
||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
import org.activiti.bpmn.model.BpmnModel;
|
||||
import org.activiti.bpmn.model.FlowNode;
|
||||
import org.activiti.engine.*;
|
||||
import org.activiti.engine.history.*;
|
||||
import org.activiti.engine.repository.ProcessDefinition;
|
||||
@@ -34,10 +42,9 @@ import org.activiti.engine.task.Task;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import com.tmsps.fk.common.base.action.BaseAction;
|
||||
import com.tmsps.fk.common.util.ChkUtil;
|
||||
@@ -55,6 +62,9 @@ import io.swagger.annotations.ApiOperation;
|
||||
@RestController
|
||||
public class TodoTaskController extends BaseAction {
|
||||
|
||||
@Value("${oa.flag}")
|
||||
private Boolean oaFlag;
|
||||
|
||||
@Autowired
|
||||
private TaskService taskService;
|
||||
@Autowired
|
||||
@@ -83,6 +93,15 @@ public class TodoTaskController extends BaseAction {
|
||||
@Autowired
|
||||
private LawsUserInfoService lawsUserInfoService;
|
||||
|
||||
@Autowired
|
||||
private IOaTaskExecService oaTaskExecService;
|
||||
|
||||
@Autowired
|
||||
private WebServiceOAService webServiceOAService;
|
||||
|
||||
@Autowired
|
||||
private CreateMQService mqService;
|
||||
|
||||
@ApiOperation(value = "我的待办任务列表")
|
||||
@ApiImplicitParams({@ApiImplicitParam(name = "name", value = "名称"),
|
||||
@ApiImplicitParam(name = "current", value = "当前页"),
|
||||
@@ -144,21 +163,44 @@ public class TodoTaskController extends BaseAction {
|
||||
BusProcessName busProcessName = iBusProcessNameService.getOne(queryWrapper);
|
||||
String taskIds = "";
|
||||
for (Map<String, Object> map : entry.getValue()) {
|
||||
taskIds += map.get("id").toString() + ",";
|
||||
}
|
||||
if (busProcessName != null) {
|
||||
busProcessName.setTaskIds(taskIds);
|
||||
busProcessName.setTaskInfo(entry.getValue().get(0).get("name").toString());
|
||||
busProcessName.setMes(null);
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
String data = sdf.format(entry.getValue().get(0).get("createTime"));
|
||||
busProcessName.setAcceptTime(data);
|
||||
todoList.add(busProcessName);
|
||||
if (busProcessName != null) {
|
||||
BusProcessName res=new BusProcessName();
|
||||
BeanUtils.copyProperties(busProcessName,res);
|
||||
res.setTaskIds(map.get("id").toString());
|
||||
res.setTaskInfo(entry.getValue().get(0).get("name").toString());
|
||||
res.setTaskAssignee(entry.getValue().get(0).get("assignee").toString());
|
||||
res.setMes(null);
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
String data = sdf.format(entry.getValue().get(0).get("createTime"));
|
||||
res.setAcceptTime(data);
|
||||
// //获取新的流程名称
|
||||
// QueryWrapper<BusProcessNew> queryWrapper1=new QueryWrapper<>();
|
||||
// queryWrapper1.eq("P_ID",res.getPrcId());
|
||||
// queryWrapper1.eq("TASK_ID",res.getTaskIds());
|
||||
// BusProcessNew busProcessNew=iBusProcessNewService.getOne(queryWrapper1);
|
||||
// res.setPrcName(busProcessNew != null ? (StringUtils.isNotBlank(busProcessNew.getPrcName()) ? busProcessNew.getPrcName() : "") : "" );
|
||||
todoList.add(res);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return todoList;
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value = "我的待办任务列表速度优化项")
|
||||
@ApiImplicitParams({@ApiImplicitParam(name = "name", value = "名称"),
|
||||
@ApiImplicitParam(name = "current", value = "当前页"),
|
||||
@ApiImplicitParam(name = "size", value = "每页条数"),
|
||||
@ApiImplicitParam(name = "userId", value = "用户Id")})
|
||||
@PostMapping("/todoTaskListNew")
|
||||
public List<BusProcessName> todoTaskListByUserIdNew(@RequestBody TaskCommonQuery taskCommonQuery) {
|
||||
// 创建查询对象
|
||||
List<BusProcessName> busProcessNames=new ArrayList<>();
|
||||
busProcessNames=iBusProcessNameService.todoTask(taskCommonQuery);
|
||||
return busProcessNames;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "改派任务")
|
||||
@ApiImplicitParams({@ApiImplicitParam(name = "taskId", value = "任务id"),
|
||||
@ApiImplicitParam(name = "assignee", value = "改派人员")})
|
||||
@@ -192,6 +234,7 @@ public class TodoTaskController extends BaseAction {
|
||||
List<BusProcessNew> list1 = iBusProcessNewService.list(queryWrapper1);
|
||||
if (list1.size() > 0) {
|
||||
for (BusProcessNew busProcessNew : list1) {
|
||||
webServiceOAService.deleteOAByTaskIdResetTodo(busProcessNew,assignee);
|
||||
busProcessNew.setUserId(assignee);
|
||||
iBusProcessNewService.saveOrUpdate(busProcessNew);
|
||||
}
|
||||
@@ -209,86 +252,86 @@ public class TodoTaskController extends BaseAction {
|
||||
}
|
||||
|
||||
//发送邮件
|
||||
QueryWrapper queryWrapper = new QueryWrapper();
|
||||
queryWrapper.eq("PRC_ID", pId);
|
||||
BusProcessName name = iBusProcessNameService.getOne(queryWrapper);
|
||||
String type = name.getPrcType();
|
||||
Integer typeInt = 99;
|
||||
if (StringUtils.isNotEmpty(type)){
|
||||
typeInt = Integer.valueOf(type);
|
||||
}
|
||||
switch (typeInt){
|
||||
case 1:
|
||||
type = "法规入库及评估流程";
|
||||
break;
|
||||
case 2:
|
||||
type = "标准法规技术储备评估流程";
|
||||
break;
|
||||
case 3:
|
||||
type = "项目评估流程";
|
||||
break;
|
||||
case 4:
|
||||
type = "企标制修订流程";
|
||||
break;
|
||||
case 5:
|
||||
type = "未符合项跟踪流程";
|
||||
break;
|
||||
case 6:
|
||||
type = "企标制修订申请流程";
|
||||
break;
|
||||
case 7:
|
||||
type = "企标废止流程";
|
||||
break;
|
||||
case 8:
|
||||
type = "企标延期制修订申请流程";
|
||||
break;
|
||||
case 9:
|
||||
type = "标准采购流程";
|
||||
break;
|
||||
case 10:
|
||||
type = "工作组会前申请流程";
|
||||
break;
|
||||
case 11:
|
||||
type = "企标制修订评估流程";
|
||||
break;
|
||||
case 12:
|
||||
type = "企标勘误流程";
|
||||
break;
|
||||
case 13:
|
||||
type = "行政管理要求评估流程";
|
||||
break;
|
||||
case 14:
|
||||
type = "政策入库及评估流程";
|
||||
break;
|
||||
case 15:
|
||||
type = "标准翻译申请流程";
|
||||
break;
|
||||
case 16:
|
||||
type = "工作组会后管理流程";
|
||||
break;
|
||||
case 17:
|
||||
type = "企标备案流程";
|
||||
break;
|
||||
case 18:
|
||||
type = "标准法规清单发布/更新流程";
|
||||
break;
|
||||
case 19:
|
||||
type = "企标复审流程";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
ResponseMessage<UserVO> userVOResponseMessage = lawsUserInfoService.getById(userId);
|
||||
UserVO userVO = userVOResponseMessage.getData();
|
||||
String userName = "";
|
||||
if (null != userVO) {
|
||||
userName = userVO.getUname();
|
||||
}
|
||||
String content = "您好,"+name.getPrcNum()+"-"+ name.getPrcName() +" "+ userName +"委托您处理待办任务 ,请登录全球标准法规管理系统 ( http://39.98.140.126:10005/#/login ) 办理:链接( http://39.98.140.126:10005/#/processCenter?tabsName=ProcessCenter )。\n" +
|
||||
" ——来自 全球标准法规管理系统";
|
||||
lawsUserInfoService.sendEmail(userId,content,"GSRM——【待办任务】["+type+"]有您的待办任务");
|
||||
|
||||
logger.info("task {} find " + taskId);
|
||||
// QueryWrapper queryWrapper = new QueryWrapper();
|
||||
// queryWrapper.eq("PRC_ID", pId);
|
||||
// BusProcessName name = iBusProcessNameService.getOne(queryWrapper);
|
||||
// String type = name.getPrcType();
|
||||
// Integer typeInt = 99;
|
||||
// if (StringUtils.isNotEmpty(type)){
|
||||
// typeInt = Integer.valueOf(type);
|
||||
// }
|
||||
// switch (typeInt){
|
||||
// case 1:
|
||||
// type = "法规入库及评估流程";
|
||||
// break;
|
||||
// case 2:
|
||||
// type = "标准法规技术储备评估流程";
|
||||
// break;
|
||||
// case 3:
|
||||
// type = "项目评估流程";
|
||||
// break;
|
||||
// case 4:
|
||||
// type = "企标制修订流程";
|
||||
// break;
|
||||
// case 5:
|
||||
// type = "未符合项跟踪流程";
|
||||
// break;
|
||||
// case 6:
|
||||
// type = "企标制修订申请流程";
|
||||
// break;
|
||||
// case 7:
|
||||
// type = "企标废止流程";
|
||||
// break;
|
||||
// case 8:
|
||||
// type = "企标延期制修订申请流程";
|
||||
// break;
|
||||
// case 9:
|
||||
// type = "标准采购流程";
|
||||
// break;
|
||||
// case 10:
|
||||
// type = "工作组会前申请流程";
|
||||
// break;
|
||||
// case 11:
|
||||
// type = "企标制修订评估流程";
|
||||
// break;
|
||||
// case 12:
|
||||
// type = "企标勘误流程";
|
||||
// break;
|
||||
// case 13:
|
||||
// type = "行政管理要求评估流程";
|
||||
// break;
|
||||
// case 14:
|
||||
// type = "政策入库及评估流程";
|
||||
// break;
|
||||
// case 15:
|
||||
// type = "标准翻译申请流程";
|
||||
// break;
|
||||
// case 16:
|
||||
// type = "工作组会后管理流程";
|
||||
// break;
|
||||
// case 17:
|
||||
// type = "企标备案流程";
|
||||
// break;
|
||||
// case 18:
|
||||
// type = "标准法规清单发布/更新流程";
|
||||
// break;
|
||||
// case 19:
|
||||
// type = "企标复审流程";
|
||||
// break;
|
||||
// default:
|
||||
// break;
|
||||
// }
|
||||
// ResponseMessage<UserVO> userVOResponseMessage = lawsUserInfoService.getById(userId);
|
||||
// UserVO userVO = userVOResponseMessage.getData();
|
||||
// String userName = "";
|
||||
// if (null != userVO) {
|
||||
// userName = userVO.getUname();
|
||||
// }
|
||||
// String content = "您好,"+name.getPrcNum()+"-"+ name.getPrcName() +" "+ userName +"委托您处理待办任务 ,请登录全球标准法规管理系统 ( http://39.98.140.126:10005/#/login ) 办理:链接( http://39.98.140.126:10005/#/processCenter?tabsName=ProcessCenter )。\n" +
|
||||
// " ——来自 全球标准法规管理系统";
|
||||
// lawsUserInfoService.sendEmail(userId,content,"GSRM——【待办任务】["+type+"]有您的待办任务");
|
||||
//
|
||||
// logger.info("task {} find " + taskId);
|
||||
return WrapMapper.ok("改派成功");
|
||||
}
|
||||
|
||||
@@ -299,10 +342,12 @@ public class TodoTaskController extends BaseAction {
|
||||
public Wrapper<String> completeTaskByUserId(@RequestBody BusMes busMes) {
|
||||
logger.info("!!!!!!!!!!!!!TaskId!!!!!!!!!!!!!!!"+busMes.getTaskId());
|
||||
logger.info("!!!!!!!!!!!!!!TaskIds!!!!!!!!!!!!!!"+busMes.getTaskIds());
|
||||
|
||||
if (busMes.getTaskId() != null && !busMes.getTaskId().equals("")) {
|
||||
if (busMes.getTaskId().indexOf(",") > -1) {
|
||||
String taskIdsrc = busMes.getTaskId().substring(0, busMes.getTaskId().length() - 1);
|
||||
busMes.setTaskId(taskIdsrc);
|
||||
|
||||
}
|
||||
logger.info("taskId--> " + busMes.getTaskId());
|
||||
Task task = taskService.createTaskQuery().taskId(busMes.getTaskId()).singleResult();
|
||||
@@ -317,6 +362,15 @@ public class TodoTaskController extends BaseAction {
|
||||
|
||||
formValsService.saveFormVals(formSubmitDto, task.getTaskDefinitionKey());
|
||||
|
||||
//发送OA已办
|
||||
try {
|
||||
if(oaFlag){
|
||||
//发送OA已办
|
||||
webServiceOAService.completeOA(task);
|
||||
}
|
||||
}catch (Exception e){
|
||||
logger.error(e.toString());
|
||||
}
|
||||
taskService.complete(busMes.getTaskId());
|
||||
}
|
||||
return WrapMapper.ok(task.getProcessInstanceId());
|
||||
@@ -337,11 +391,62 @@ public class TodoTaskController extends BaseAction {
|
||||
formSubmitDto.setForm(busMes.getJson());
|
||||
formSubmitDto.setTask_id(taskId);
|
||||
formValsService.saveFormVals(formSubmitDto, task.getTaskDefinitionKey());
|
||||
|
||||
try {
|
||||
if(oaFlag){
|
||||
//发送OA已办
|
||||
webServiceOAService.completeOA(task);
|
||||
}
|
||||
|
||||
}catch (Exception e){
|
||||
logger.error(e.toString());
|
||||
}
|
||||
taskService.complete(taskId);
|
||||
}
|
||||
}
|
||||
return WrapMapper.ok(prcid);
|
||||
}
|
||||
//
|
||||
// if(notifyTodoAppResult != null){
|
||||
// if(notifyTodoAppResult.getSIGN().equals("0") && notifyTodoAppResult.getMASSAGE().equals("操作成功")){
|
||||
//
|
||||
// }else {
|
||||
// logger.error("SIGN: "+notifyTodoAppResult.getSIGN()+",MASSAGE: "+notifyTodoAppResult.getMASSAGE());
|
||||
// return WrapMapper.error("ESP 发送待办任务异常 :" +notifyTodoAppResult.getMASSAGE());
|
||||
// }
|
||||
// }else {
|
||||
// logger.error("--------------------ESP 发送待办任务异常----------------------");
|
||||
// }
|
||||
// return WrapMapper.error("ESP 发送待办任务异常");
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value = "完成任务", notes = "流程单个节点任务,直接完成任务,外加部分特殊处理节点更改草稿内容")
|
||||
@ApiImplicitParams({@ApiImplicitParam(name = "taskId", value = "任务id"),
|
||||
@ApiImplicitParam(name = "userId", value = "完成任务用户Id")})
|
||||
@PostMapping("/completeTaskNew")
|
||||
public Wrapper<String> completeTaskByUserIdNew(@RequestBody BusMesSpecial busMes) {
|
||||
BusMes busMes1=new BusMes();
|
||||
BeanUtils.copyProperties(busMes,busMes1);
|
||||
QueryWrapper<BusProcessNew> queryWrapper=new QueryWrapper<>();
|
||||
if (null!=busMes.getTaskId() && !busMes.getTaskId().isEmpty()){
|
||||
queryWrapper.eq("TASK_ID",busMes.getTaskId());
|
||||
}else {
|
||||
queryWrapper.eq("TASK_ID",busMes.getTaskIds());
|
||||
}
|
||||
BusProcessNew busProcessNew=iBusProcessNewService.getOne(queryWrapper);
|
||||
if (null!=busMes.getSpecialJson()){
|
||||
QueryWrapper<BusProcessName> queryWrapper1=new QueryWrapper<>();
|
||||
queryWrapper1.eq("PRC_ID",busProcessNew.getPId());
|
||||
BusProcessName busProcessName=iBusProcessNameService.getOne(queryWrapper1);
|
||||
busProcessName.setMes(busMes.getSpecialJson());
|
||||
iBusProcessNameService.update(busProcessName,queryWrapper1);
|
||||
}
|
||||
return this.completeTaskByUserId(busMes1);
|
||||
}
|
||||
|
||||
private void completeOA(Task task){
|
||||
|
||||
}
|
||||
|
||||
@ApiOperation(value = "查询流程编号", notes = "根据流程实例ID查询流程编号")
|
||||
@@ -477,6 +582,7 @@ public class TodoTaskController extends BaseAction {
|
||||
public BusProcessNew inboundLiaisonDetail(String taskIds, String pId) {
|
||||
|
||||
List<String> taskIdList = new ArrayList<>(Arrays.asList(taskIds.split(",")));
|
||||
|
||||
List<BusProcessNew> list = iBusProcessNewService.findNoExecuteBusProcessNewForEnd(taskIdList);
|
||||
if (list.isEmpty()) {
|
||||
return null;
|
||||
@@ -484,56 +590,25 @@ public class TodoTaskController extends BaseAction {
|
||||
BusProcessNew processNew = new BusProcessNew();
|
||||
BeanUtils.copyProperties(list.get(0), processNew);
|
||||
|
||||
if(StringUtils.isNotBlank(pId)){
|
||||
List<Task> list2 = taskService.createTaskQuery().processInstanceId(pId).active().list();
|
||||
if(!list2.isEmpty()){
|
||||
processNew.setNowTaskInfo(list2.get(0).getName());
|
||||
}
|
||||
}
|
||||
|
||||
JSONObject object3 = JSONObject.parseObject(list.get(0).getMesg());
|
||||
JSONArray arr2 = new JSONArray();
|
||||
object3.put("taskBreak", arr2);
|
||||
processNew.setMesg(object3.toJSONString());
|
||||
for (BusProcessNew busProcessNew : list) {
|
||||
JSONObject object = JSONObject.parseObject(busProcessNew.getMesg());
|
||||
JSONArray array = object.getJSONArray("taskBreak");
|
||||
JSONArray itemsList = ((JSONObject) array.get(0)).getJSONArray("itemsList");
|
||||
if (itemsList != null && itemsList.size() > 0) {
|
||||
|
||||
itemsList.getJSONObject(0).put("taskId", busProcessNew.getTaskId());
|
||||
JSONObject objectOld = JSONObject.parseObject(processNew.getMesg());
|
||||
for (Object obj : objectOld.getJSONArray("taskBreak")) {
|
||||
if (((Map) obj).get("id").toString().equals(((JSONObject) array.get(0)).getString("id"))) {
|
||||
JSONArray itemsList1 = ((JSONObject) obj).getJSONArray("itemsList");
|
||||
itemsList1.add(itemsList.get(0));
|
||||
}
|
||||
}
|
||||
|
||||
if (objectOld.getJSONArray("taskBreak").size() == 0) {
|
||||
object.put("itemsList", array);
|
||||
JSONObject object2 = JSONObject.parseObject(processNew.getMesg());
|
||||
JSONArray arr = object2.getJSONArray("taskBreak");
|
||||
arr.add(array.get(0));
|
||||
processNew.setMesg(object2.toJSONString());
|
||||
} else {
|
||||
processNew.setMesg(objectOld.toJSONString());
|
||||
}
|
||||
} else {
|
||||
JSONArray array1 = object.getJSONArray("taskBreak");
|
||||
((JSONObject) array1.get(0)).put("taskId", busProcessNew.getTaskId());
|
||||
JSONObject object2 = JSONObject.parseObject(processNew.getMesg());
|
||||
JSONArray arr = object2.getJSONArray("taskBreak");
|
||||
Task task = taskService.createTaskQuery().taskId(busProcessNew.getTaskId()).singleResult();
|
||||
if(task!=null){
|
||||
if(task.getName().equals("再次下发")){
|
||||
// if(arr.size()==0){
|
||||
arr.add(array1.get(0));
|
||||
// }
|
||||
}else{
|
||||
arr.add(array1.get(0));
|
||||
}
|
||||
}else{
|
||||
arr.add(array1.get(0));
|
||||
}
|
||||
processNew.setMesg(object2.toJSONString());
|
||||
}
|
||||
|
||||
}
|
||||
QueryWrapper wrapper = new QueryWrapper();
|
||||
wrapper.eq("TODO_ID",processNew.getId());
|
||||
wrapper.eq("EXEC_TYPE",2);
|
||||
wrapper.eq("EXEC_STATUS",0);
|
||||
long count = oaTaskExecService.count(wrapper);
|
||||
processNew.setCommitStatus(count);
|
||||
return processNew;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -770,7 +845,7 @@ public class TodoTaskController extends BaseAction {
|
||||
}
|
||||
ProjectAssessDTO projectAssess = projectAssessDTOList.get(0);
|
||||
projectAssess.setChildren(children);
|
||||
// List<Children> childrenList = projectAssess.getChildren();
|
||||
// List<PCAchildren> childrenList = projectAssess.getChildren();
|
||||
// childrenList.get(0).setItemsList(itemsLists);
|
||||
// projectAssess.setChildren(childrenList);
|
||||
projectAssessResultList.add(projectAssess);
|
||||
@@ -1700,6 +1775,120 @@ public class TodoTaskController extends BaseAction {
|
||||
}
|
||||
}
|
||||
|
||||
private Double itemNumPro(String str){
|
||||
String temp="";
|
||||
Boolean flag=true;
|
||||
if(str==null||str.isEmpty())return Double.MAX_VALUE;
|
||||
for (int i = 0; i < str.length(); i++) {
|
||||
if(str.charAt(i)>='0'&&str.charAt(i)<='9'){
|
||||
temp+=str.charAt(i);
|
||||
}else if(flag && str.charAt(i)=='.'){
|
||||
temp+=str.charAt(i);
|
||||
flag=false;
|
||||
}
|
||||
}
|
||||
if(temp.isEmpty()){
|
||||
return Double.MAX_VALUE;
|
||||
}
|
||||
return Double.valueOf(temp);
|
||||
}
|
||||
@ApiOperation(value = "解读流程汇总详情")
|
||||
@GetMapping("/decodeDetail")
|
||||
public BusProcessNew Detail(String taskIds, String pId) {
|
||||
QueryWrapper<BusProcessNew> q=new QueryWrapper<>();
|
||||
Set<JSONObject> msgData =new HashSet<>();
|
||||
List<BusProcessNew> listData = iBusProcessNewService.list(q.eq("P_ID", pId));
|
||||
//取出此任务中所有审核mesg数据
|
||||
for (BusProcessNew bpn:listData) {
|
||||
String mesg = bpn.getMesg();
|
||||
JSONObject object = JSONObject.parseObject(mesg);
|
||||
String resolveFlag = object.getString("resolveFlag");
|
||||
if(bpn.getTaskInfo().equals("审核")&&resolveFlag.equals("1")){
|
||||
msgData.add(object);
|
||||
}
|
||||
}
|
||||
//将所有mesg数据进行整合
|
||||
JSONArray jsonArray=new JSONArray();
|
||||
for (JSONObject jo:msgData) {
|
||||
jsonArray.addAll(jo.getJSONArray("itemList"));
|
||||
}
|
||||
//将mesg数据进行去重
|
||||
// for (int i = 0; i < jsonArray.size()-1; i++) { //双循环法
|
||||
// for (int j = i+1; j < jsonArray.size(); j++) {
|
||||
// if(jsonArray.get(i).equals(jsonArray.get(j))){
|
||||
// jsonArray.remove(j);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
Set<JSONObject> set = new HashSet<>();//hashset法
|
||||
for(int i = 0 ; i<jsonArray.size();i++){
|
||||
set.add(jsonArray.getJSONObject(i));
|
||||
}
|
||||
jsonArray = JSONArray.parseArray(set.toString());
|
||||
//将mesg数据进行排序
|
||||
boolean f=false;
|
||||
for (int i = 0; i < jsonArray.size()-1; i++) {
|
||||
for (int j = 0; j < jsonArray.size()-1-i; j++) {
|
||||
Double itemNum = itemNumPro(jsonArray.getJSONObject(j).getString("itemsNum"));
|
||||
Double itemNumN= itemNumPro(jsonArray.getJSONObject(j+1).getString("itemsNum"));
|
||||
if(itemNum>itemNumN){
|
||||
JSONObject temp=jsonArray.getJSONObject(j);
|
||||
jsonArray.set(j,jsonArray.getJSONObject(j+1));
|
||||
jsonArray.set(j+1,temp);
|
||||
f=true;
|
||||
}
|
||||
}
|
||||
if(!f){break;}
|
||||
}
|
||||
//后处理
|
||||
List<String> taskIdList = new ArrayList<>(Arrays.asList(taskIds.split(",")));
|
||||
List<BusProcessNew> list = iBusProcessNewService.findNoExecuteBusProcessNewForEnd(taskIdList);
|
||||
if (list.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
BusProcessNew processNew = new BusProcessNew();
|
||||
BeanUtils.copyProperties(list.get(0), processNew);
|
||||
if(StringUtils.isNotBlank(pId)){
|
||||
List<Task> list2 = taskService.createTaskQuery().processInstanceId(pId).active().list();
|
||||
if(!list2.isEmpty()){
|
||||
processNew.setNowTaskInfo(list2.get(0).getName());
|
||||
}
|
||||
}
|
||||
|
||||
JSONObject object3 = JSONObject.parseObject(list.get(0).getMesg());
|
||||
JSONArray arr2 = new JSONArray();
|
||||
object3.put("taskBreak", arr2);
|
||||
object3.put("itemList",jsonArray);
|
||||
processNew.setMesg(object3.toJSONString());
|
||||
QueryWrapper wrapper = new QueryWrapper();
|
||||
wrapper.eq("TODO_ID",processNew.getId());
|
||||
wrapper.eq("EXEC_TYPE",2);
|
||||
wrapper.eq("EXEC_STATUS",0);
|
||||
long count = oaTaskExecService.count(wrapper);
|
||||
processNew.setCommitStatus(count);
|
||||
return processNew;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询 taskIds项
|
||||
* @param prcId
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value = "查询汇总项")
|
||||
@GetMapping("/queryTaskIndex")
|
||||
public BusProcessNew queryTaskIndex(String prcId,String taskIds) {
|
||||
QueryWrapper<BusProcessNew> q=new QueryWrapper<>();
|
||||
List<BusProcessNew> list = iBusProcessNewService.list(q.eq("P_ID", prcId));
|
||||
if (list.size()>0) {
|
||||
for (BusProcessNew bpn:list) {
|
||||
if (bpn.getTaskId().equals(taskIds)) return bpn;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询草稿
|
||||
*
|
||||
@@ -1843,7 +2032,15 @@ public class TodoTaskController extends BaseAction {
|
||||
return "0";
|
||||
}
|
||||
}else {
|
||||
return "0";
|
||||
QueryWrapper<BusProcessName> queryWrapper2 = new QueryWrapper<>();
|
||||
queryWrapper2.eq("PRC_ID", pId);
|
||||
queryWrapper2.isNotNull("OVER_TIME");
|
||||
BusProcessName one = iBusProcessNameService.getOne(queryWrapper2);
|
||||
if (null!=one){
|
||||
return "1";
|
||||
}else {
|
||||
return "0";
|
||||
}
|
||||
}
|
||||
} else {
|
||||
return "1";
|
||||
@@ -1917,19 +2114,32 @@ public class TodoTaskController extends BaseAction {
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
String end = this.isEnd(busProcessName.getPrcId());
|
||||
if(end.equals("0")){
|
||||
ResponseMessage<List<OrgEO>> listUser = lawsUserInfoService.getManagerByOrgIdNew("企业标准管理工程师");
|
||||
if(listUser.getData()!=null){
|
||||
// List<String> qbgcs = new ArrayList<>();
|
||||
for (OrgEO orgEO : listUser.getData()) {
|
||||
assignee+=orgEO.getRoleName()+"-"+orgEO.getUserName();
|
||||
}
|
||||
// String str= StringUtils.join(qbgcs, ",");
|
||||
// assignee+=str;
|
||||
}
|
||||
}
|
||||
// String end = this.isEnd(busProcessName.getPrcId());
|
||||
// if(end.equals("0")){
|
||||
// ResponseMessage<List<OrgEO>> listUser = lawsUserInfoService.getManagerByOrgIdNew("企业标准管理工程师");
|
||||
// if(listUser.getData()!=null){
|
||||
//// List<String> qbgcs = new ArrayList<>();
|
||||
// for (OrgEO orgEO : listUser.getData()) {
|
||||
// assignee+=orgEO.getRoleName()+"-"+orgEO.getUserName();
|
||||
// }
|
||||
//// String str= StringUtils.join(qbgcs, ",");
|
||||
//// assignee+=str;
|
||||
// }
|
||||
// }
|
||||
}
|
||||
// //获取新的流程名称·
|
||||
// QueryWrapper<BusProcessNew> queryWrapper1=new QueryWrapper<>();
|
||||
// queryWrapper1.eq("P_ID",busProcessName.getPrcId());
|
||||
// queryWrapper1.eq("TASK_ID",task.getId());
|
||||
// BusProcessNew busProcessNew=iBusProcessNewService.getOne(queryWrapper1);
|
||||
// if (null!=busProcessNew) {
|
||||
// if (null != busProcessNew.getPrcName()) {
|
||||
// busProcessName.setPrcName(busProcessNew.getPrcName());
|
||||
// } else {
|
||||
// busProcessNew.setPrcName("");
|
||||
// }
|
||||
// }
|
||||
|
||||
}
|
||||
}
|
||||
if (assignee != null && !assignee.equals("")) {
|
||||
@@ -2024,20 +2234,34 @@ public class TodoTaskController extends BaseAction {
|
||||
assignee += ((byId.getData().getOrgName() != null && !byId.getData().getOrgName().equals("")) ? byId.getData().getOrgName() + "-" + byId.getData().getUname() : byId.getData().getUname()) + ",";
|
||||
}
|
||||
}
|
||||
}else{
|
||||
String end = this.isEnd(busProcessName.getPrcId());
|
||||
if(end.equals("0")){
|
||||
ResponseMessage<List<OrgEO>> listUser = lawsUserInfoService.getManagerByOrgIdNew("企业标准管理工程师");
|
||||
if(listUser.getData()!=null){
|
||||
}
|
||||
else{
|
||||
// String end = this.isEnd(busProcessName.getPrcId());
|
||||
// if(end.equals("0")){
|
||||
//// ResponseMessage<List<OrgEO>> listUser = lawsUserInfoService.getManagerByOrgIdNew("企业标准管理工程师");
|
||||
// ResponseMessage<List<OrgEO>> listUser=new ResponseMessage<>();
|
||||
// if(false){
|
||||
// List<String> qbgcs = new ArrayList<>();
|
||||
for (OrgEO orgEO : listUser.getData()) {
|
||||
assignee+=orgEO.getRoleName()+"-"+orgEO.getUserName();
|
||||
}
|
||||
// for (OrgEO orgEO : listUser.getData()) {
|
||||
// assignee+=orgEO.getRoleName()+"-"+orgEO.getUserName();
|
||||
// }
|
||||
// String str= StringUtils.join(qbgcs, ",");
|
||||
// assignee+=str;
|
||||
}
|
||||
}
|
||||
// }
|
||||
// }
|
||||
}
|
||||
// //获取新的流程名称·
|
||||
// QueryWrapper<BusProcessNew> queryWrapper1=new QueryWrapper<>();
|
||||
// queryWrapper1.eq("P_ID",busProcessName.getPrcId());
|
||||
// queryWrapper1.eq("TASK_ID",task.getId());
|
||||
// BusProcessNew busProcessNew=iBusProcessNewService.getOne(queryWrapper1);
|
||||
// if (null!=busProcessNew) {
|
||||
// if (null != busProcessNew.getPrcName()) {
|
||||
// busProcessName.setPrcName(busProcessNew.getPrcName());
|
||||
// } else {
|
||||
// busProcessNew.setPrcName("");
|
||||
// }
|
||||
// }
|
||||
}
|
||||
}
|
||||
if (assignee != null && !assignee.equals("")) {
|
||||
@@ -2124,24 +2348,24 @@ public class TodoTaskController extends BaseAction {
|
||||
for (Task task : list2) {
|
||||
if (task.getAssignee() != null && !task.getAssignee().equals("")) {
|
||||
ResponseMessage<UserVO> byId = lawsUserInfoService.getById(task.getAssignee());
|
||||
if (byId.getData() != null) {
|
||||
if (byId.getData() != null && byId.getData().getUname() != null) {
|
||||
if (assignee.indexOf(byId.getData().getUname()) == -1) {
|
||||
assignee += ((byId.getData().getOrgName() != null && !byId.getData().getOrgName().equals("")) ? byId.getData().getOrgName() + "-" + byId.getData().getUname() : byId.getData().getUname()) + ",";
|
||||
}
|
||||
}
|
||||
}else{
|
||||
String end = this.isEnd(busProcessName.getPrcId());
|
||||
if(end.equals("0")){
|
||||
ResponseMessage<List<OrgEO>> listUser = lawsUserInfoService.getManagerByOrgIdNew("企业标准管理工程师");
|
||||
if(listUser.getData()!=null){
|
||||
// List<String> qbgcs = new ArrayList<>();
|
||||
for (OrgEO orgEO : listUser.getData()) {
|
||||
assignee+=orgEO.getRoleName()+"-"+orgEO.getUserName();
|
||||
}
|
||||
// String str= StringUtils.join(qbgcs, ",");
|
||||
// assignee+=str;
|
||||
}
|
||||
}
|
||||
// String end = this.isEnd(busProcessName.getPrcId());
|
||||
// if(end.equals("0")){
|
||||
// ResponseMessage<List<OrgEO>> listUser = lawsUserInfoService.getManagerByOrgIdNew("企业标准管理工程师");
|
||||
// if(listUser.getData()!=null){
|
||||
//// List<String> qbgcs = new ArrayList<>();
|
||||
// for (OrgEO orgEO : listUser.getData()) {
|
||||
// assignee+=orgEO.getRoleName()+"-"+orgEO.getUserName();
|
||||
// }
|
||||
//// String str= StringUtils.join(qbgcs, ",");
|
||||
//// assignee+=str;
|
||||
// }
|
||||
// }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2233,7 +2457,34 @@ public class TodoTaskController extends BaseAction {
|
||||
@ApiOperation(value = "强制撤回", notes = "强制撤回")
|
||||
@GetMapping("/forceRecall")
|
||||
public Wrapper<String> forceRecall(String prcId) {
|
||||
|
||||
List<Task> list2 = taskService.createTaskQuery().processInstanceId(prcId).active().list();
|
||||
|
||||
QueryWrapper<BusProcessName> wrapper=new QueryWrapper<>();
|
||||
wrapper.eq("PRC_ID",prcId);
|
||||
List<BusProcessName> busProcessNames=iBusProcessNameService.list(wrapper);
|
||||
if (!busProcessNames.isEmpty()){
|
||||
BusProcessName busProcessName=busProcessNames.get(0);
|
||||
if ("3".equals(busProcessName.getPrcType())){
|
||||
QueryWrapper<BusProcessNew> wrapper1=new QueryWrapper<>();
|
||||
wrapper1.eq("P_ID",prcId).eq("TASK_INFO","起草");
|
||||
List<BusProcessNew> list=iBusProcessNewService.list(wrapper1);
|
||||
if (!list.isEmpty()){
|
||||
JSONObject object=JSONObject.parseObject(list.get(0).getMesg());
|
||||
lawsUserInfoService.deletePublicIdea(object.getString("uniques"));
|
||||
}
|
||||
}else if("buss1".equals(busProcessName.getPrcType()) || "buss2".equals(busProcessName.getPrcType())){
|
||||
if(!list2.isEmpty() && "发布".equals(list2.get(0).getName())){
|
||||
lawsUserInfoService.modSnByProcess(list2.get(0).getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
runtimeService.deleteProcessInstance(prcId, "用户强制撤回");
|
||||
if(StringUtils.isNotBlank(prcId)){
|
||||
webServiceOAService.deleteOAByPid(prcId);
|
||||
}
|
||||
|
||||
Map map = new HashMap();
|
||||
map.put("P_ID", prcId);
|
||||
iBusProcessNewService.removeByMap(map);
|
||||
@@ -2447,6 +2698,19 @@ public class TodoTaskController extends BaseAction {
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value = "删除草稿")
|
||||
@PostMapping("/delCG")
|
||||
public String delCG(@RequestParam("id") String id) {
|
||||
List<String> strings=new ArrayList<>();
|
||||
if (id.contains(",")){
|
||||
strings.addAll(new ArrayList<>(Arrays.asList(id.split(","))));
|
||||
}else {
|
||||
strings.add(id);
|
||||
}
|
||||
return iBusProcessNameService.delDB(strings);
|
||||
}
|
||||
|
||||
|
||||
// @ApiOperation(value = "查询流程信息", notes = "根据流程流程编号查询名称等信息")
|
||||
// @ApiImplicitParams({@ApiImplicitParam(name = "prcNum", value = "流程编号")})
|
||||
// @PostMapping("/findProcessNameByPrcNum")
|
||||
|
||||
@@ -1,25 +1,34 @@
|
||||
package com.ydw.bat.wkflow.business_auth;
|
||||
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.tmsps.fk.common.wrapper.Wrapper;
|
||||
|
||||
import com.ydw.bat.wkflow.business_main.datas.dto.*;
|
||||
import com.ydw.bat.wkflow.business_main.datas.dto.WG.BusinessDeptIssue;
|
||||
import com.ydw.bat.wkflow.business_main.datas.dto.WG.NewsFeed;
|
||||
import com.ydw.bat.wkflow.business_main.datas.dto.WG.ProductDeptIssue;
|
||||
import com.ydw.bat.wkflow.business_main.datas.dto.WG.WgWorkGroupShowDTO;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.*;
|
||||
import feign.Headers;
|
||||
import feign.Param;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.standState.ModelData;
|
||||
import com.ydw.bat.wkflow.business_slrs.dao.*;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
@Component
|
||||
@FeignClient(value = "LAWSSystem2",path="/api",url="")
|
||||
//@FeignClient(value = "FotonLAWSSystem-qk",path="/api",url="")
|
||||
//线上部署用
|
||||
@FeignClient(value = "FotonLAWSSystem",path="/api",url="")
|
||||
@RequestMapping("/")
|
||||
public interface LawsUserInfoService {
|
||||
|
||||
@GetMapping("/sarBussStandSn/sar-buss-stand-sn/modSnByProcess")
|
||||
public ResponseMessage<Object> modSnByProcess(@RequestParam("taskId") String taskId);
|
||||
|
||||
@GetMapping("sys/org/getManagerByOrgId")
|
||||
public ResponseMessage<List<OrgEO>> getManagerByOrgId(@RequestParam("roleName") String currentUsrId, @RequestParam("orgId") String orgId);
|
||||
|
||||
@@ -28,7 +37,17 @@ public interface LawsUserInfoService {
|
||||
|
||||
/**
|
||||
* 废止(企标复审)
|
||||
* @param standCode
|
||||
* @param
|
||||
* @param page
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/lawss/sarBussionessStandState/getSarBussionessStandStateProcessList")
|
||||
public List<ModelData> getSarBussionessStandStateProcessList(SarBussionessStandStatePage page);
|
||||
|
||||
|
||||
/**
|
||||
* 废止(企标复审)
|
||||
* @param
|
||||
* @param standName
|
||||
* @return
|
||||
*/
|
||||
@@ -84,4 +103,114 @@ public interface LawsUserInfoService {
|
||||
|
||||
@GetMapping("lawss/mail/sendMailByUserIdFeign")
|
||||
public ResponseMessage sendEmail(@RequestParam("userId") String userId, @RequestParam("msg") String msg, @RequestParam("title") String title);
|
||||
|
||||
@PutMapping("sarLawsDetailedList/sar-laws-detailed-list/updateList")
|
||||
public ResponseMessage updateLaws(@RequestBody DetailedUpDto addDetailedDto);
|
||||
|
||||
//合规评估流程
|
||||
|
||||
@PostMapping("sarStandUnqualified/sar-stand-unqualified/add")
|
||||
public ResponseMessage addsarStandUnqualified(@RequestBody List<SarStandUnqualified> sarStandUnqualifieds);
|
||||
|
||||
@PostMapping("sarStandardComplianceAssessResult/add")
|
||||
public ResponseMessage addProduct(@RequestBody List<SarStandardComplianceProductAssess> sarStandardComplianceProductAssesses);
|
||||
|
||||
|
||||
@PostMapping(value = "sarLawsDetailedList/sar-laws-detailed-list/getStandById")
|
||||
public SarLawsDetailedList getStandById(@RequestParam("id") String id);
|
||||
|
||||
@PostMapping("slrs/sar-public-idea/addSarPublicIdea")
|
||||
public com.ydw.bat.wkflow.util.http.ResponseMessage addSarPublicIdea(@RequestBody SarPublicIdea sarPublicIdea);
|
||||
|
||||
@GetMapping("slrs/sar-public-idea-all/getAllStandById")
|
||||
public List<SarPublicIdeaAll> getAllStandById(@RequestParam("ideaId") String ideaId);
|
||||
|
||||
@PostMapping("slrs/sar-public-idea-all/saveBatchByWk")
|
||||
public com.ydw.bat.wkflow.util.http.ResponseMessage savePublicIdeaBatch(@RequestBody List<SarPublicIdeaAll> sarPublicIdea);
|
||||
|
||||
|
||||
|
||||
@PostMapping("/SarStandItems/sar-stand-items/saveBatch")
|
||||
public String sarStandItemsSaveBatch(@RequestBody List<SarStandItems> sarStandItems);
|
||||
|
||||
|
||||
@PostMapping("/sarStandardComplianceAssessResult/sar-interpretation-national-standard/saveBatch")
|
||||
public String SarInterpretationNationalStandardSaveBatch(@RequestBody List<SarInterpretationNationalStandard> standards);
|
||||
|
||||
|
||||
@PostMapping("/lawss/sarFileSplitInfo/updateSarFileSplitInfo")
|
||||
public String updateSarFileSplitInfo(@RequestBody SarFileSplitInfoEO standards);
|
||||
|
||||
|
||||
@PostMapping("/sarStandProjectLibrary/batchInsert")
|
||||
public String batchInsert(@RequestBody List<StandProjectRelationDto> standProjectRelationDtos);
|
||||
|
||||
|
||||
@PostMapping("/WgDept/saveBatch")
|
||||
public String wgDeptSaveBatch(@RequestBody List<WgDept> wgdepts);
|
||||
/**
|
||||
* 日历显示会议日程--流程结束生成会议 (标准化活动,政策课题组)
|
||||
* @param sapMeeting (id, title, type, ...) type: 1,标准化活动;2,政策课题组
|
||||
* @return 是否插入成功 int
|
||||
*/
|
||||
@PostMapping("/sapMeetInfo/addMeeting")
|
||||
int addMeeting(@RequestBody SapMeeting sapMeeting);
|
||||
|
||||
|
||||
@GetMapping("/sapMeetInfo/getMeetingsByMonth")
|
||||
public List<SapMeeting> getMeetingsByMonth(@RequestParam("date") @DateTimeFormat(pattern = "yyyy-MM-dd") Date date);
|
||||
|
||||
@GetMapping("/sapMeetInfo/getMeetingsByMonthType")
|
||||
public List<SapMeeting> getMeetingsByMonthType(@RequestParam("date") @DateTimeFormat(pattern = "yyyy-MM-dd") Date date,@RequestParam("type") int type);
|
||||
|
||||
@GetMapping("/sapMeetInfo/getMeetingsByDate")
|
||||
public List<SapMeeting> getMeetingsByDate(@RequestParam("date") @DateTimeFormat(pattern = "yyyy-MM-dd") Date date,@RequestParam("type") int type);
|
||||
|
||||
@GetMapping("/sapMeetInfo/getOneById")
|
||||
public SapMeeting getOneById(@RequestParam("id") String id);
|
||||
|
||||
@PostMapping("/sapMeetInfo/getDateMeeting")
|
||||
public int getDateMeeting(@RequestParam("date") @DateTimeFormat(pattern = "yyyy-MM-dd") Date date,@RequestParam("id") String id,@RequestParam("type") int type);
|
||||
|
||||
@PostMapping("/esRevisePlan/es-revise-plan/modPlanByWk")
|
||||
public ResponseMessage<Object> modPlan(@RequestBody EsRevisePlanDTO esRevisePlan);
|
||||
|
||||
@PostMapping("/esRevisePlan/es-revise-plan/modPlanByProcess")
|
||||
public ResponseMessage<Object> modStatePlan(@RequestBody EsRevisePlanDTO esRevisePlan);
|
||||
|
||||
@PostMapping("/esRevisePlan/es-revise-plan/addPlanByWk")
|
||||
public ResponseMessage<Object> addPlan(@RequestBody EsRevisePlanDTO esRevisePlan);
|
||||
|
||||
@GetMapping("/esRevisePlan/es-revise-plan/delPlanByWk")
|
||||
public ResponseMessage<Object> delPlan(@RequestParam("id") String id);
|
||||
|
||||
|
||||
@GetMapping("/lawss/sarBussionessStand/updateSarBussionessStand")
|
||||
public ResponseMessage<Object> updateSarBussionessStand(@RequestBody SarBussionessStand sarBussionessStandEO);
|
||||
|
||||
@GetMapping("/lawss/SarBussStandAttrInfo/getBussAttrInfo")
|
||||
public Map<String,Object> getBussAttrInfo(@RequestParam("standId") String standId);
|
||||
|
||||
|
||||
@PostMapping("/sarStandUnqualified/sar-stand-unqualified/updateBatch")
|
||||
public ResponseMessage<Object> updateBatch(@RequestBody List<SarStandUnqualified> sarStandUnqualified);
|
||||
|
||||
@PostMapping("/wg_work_group/updateDataByWk")
|
||||
public ResponseMessage<Object> wg_work_group_update(@RequestBody WgWorkGroupShowDTO wgWorkGroupShowDTO);
|
||||
|
||||
@GetMapping("/slrs/sar-public-idea/deletePublicIdea")
|
||||
public ResponseMessage<Object> deletePublicIdea(@RequestParam("id") String id);
|
||||
|
||||
@PostMapping("/sarStandUnqualified/businessDeptIssue/saveBatch")
|
||||
public ResponseMessage<Object> businessDeptIssueSaveBatch(@RequestBody List<BusinessDeptIssue> issue);
|
||||
|
||||
|
||||
@RequestMapping(value = "/sarStandUnqualified/productDeptIssue/saveBatch",method = RequestMethod.POST)
|
||||
public ResponseMessage productDeptIssue(@RequestBody List<ProductDeptIssue> issue);
|
||||
|
||||
@PostMapping(value = "/lawss/NewsFeed/insertNewsFeed")
|
||||
public ResponseMessage<Object> insertNewsFeed(NewsFeed newsFeed);
|
||||
|
||||
@GetMapping("/esRevisePlan/es-revise-plan/getAllPlansByWk")
|
||||
public List<EsRevisePlanDTO> getAllPlansByWk(@RequestParam("esName") String esName);
|
||||
}
|
||||
|
||||
+53
@@ -0,0 +1,53 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.controller;
|
||||
|
||||
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessEvaluationHis;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessEvaluationHisService;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 流程评分历史表 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author super_liu
|
||||
* @since 2021-09-17
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/busProcessEvaluation")
|
||||
public class BusProcessEvaluationHisController {
|
||||
|
||||
@Autowired
|
||||
private IBusProcessEvaluationHisService busProcessEvaluationHisService;
|
||||
|
||||
@GetMapping("/evaluationHisListRepSum")
|
||||
public Map<String,Integer> evaluationHisListRepSum(String pid) {
|
||||
return busProcessEvaluationHisService.evaluationHisListRepSum(pid);
|
||||
}
|
||||
|
||||
@GetMapping("/evaluationHisListByOne")
|
||||
public BusProcessEvaluationHis evaluationHisListByOne(String pid,String taskInfo) {
|
||||
BusProcessEvaluationHis processEvaluationHis = busProcessEvaluationHisService.evaluationHisListByOne(pid,taskInfo);
|
||||
return processEvaluationHis;
|
||||
}
|
||||
|
||||
@GetMapping("/evaluationHisListRep")
|
||||
public List<BusProcessEvaluationHis> evaluationHisListRep(String pid) {
|
||||
List<BusProcessEvaluationHis> processEvaluationHis = busProcessEvaluationHisService.evaluationHisListRep(pid);
|
||||
return processEvaluationHis;
|
||||
}
|
||||
|
||||
@GetMapping("/evaluationHisList")
|
||||
public List<BusProcessEvaluationHis> evaluationHisList(String pid) {
|
||||
List<BusProcessEvaluationHis> processEvaluationHis = busProcessEvaluationHisService.evaluationHisList(pid);
|
||||
return processEvaluationHis;
|
||||
}
|
||||
}
|
||||
|
||||
+236
@@ -0,0 +1,236 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.controller;
|
||||
|
||||
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessEvaluationHis;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessModelHis;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessEvaluationHisService;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessModelHisService;
|
||||
import com.ydw.bat.wkflow.util.Utils;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.*;
|
||||
import java.net.URL;
|
||||
import java.net.URLConnection;
|
||||
import java.net.URLEncoder;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Scanner;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 流程模块历史表 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author super_liu
|
||||
* @since 2021-09-17
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/busProcessModel")
|
||||
public class BusProcessModelHisController {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(BusProcessModelHisController.class);
|
||||
|
||||
@Value("${buss.edit.file.path}")
|
||||
private String standEditFilePath;//文件存储路径
|
||||
|
||||
@Autowired
|
||||
private IBusProcessModelHisService busProcessModelHisService;
|
||||
|
||||
@ApiOperation(value = "|onlyOffice接收文件")
|
||||
@PostMapping("/recieveFile")
|
||||
public void recieveFile(HttpServletRequest request, HttpServletResponse response, String fileNm, String standNo, String fileId){
|
||||
logger.info("**********进入onlyoffice接收文档接口************");
|
||||
try {
|
||||
PrintWriter writer = response.getWriter();
|
||||
String body = "";
|
||||
try {
|
||||
Scanner scanner = new Scanner(request.getInputStream());
|
||||
scanner.useDelimiter("\\A");
|
||||
body = scanner.hasNext() ? scanner.next() : "";
|
||||
scanner.close();
|
||||
} catch (Exception ex) {
|
||||
writer.write("get request.getInputStream error:" + ex.getMessage());
|
||||
return;
|
||||
}
|
||||
|
||||
if (body.isEmpty()) {
|
||||
writer.write("empty request.getInputStream");
|
||||
return;
|
||||
}
|
||||
|
||||
net.sf.json.JSONObject jsonObj = net.sf.json.JSONObject.fromObject(body);
|
||||
logger.info("**********onlyoffice接收文档接口获得结果body************" + body);
|
||||
int status = (Integer) jsonObj.get("status");
|
||||
|
||||
int saved = 0;
|
||||
if (status == 2 || status == 3)//MustSave, Corrupted
|
||||
{
|
||||
String downloadUri = (String) jsonObj.get("url");
|
||||
|
||||
try {
|
||||
logger.info("**********onlyoffice接收文档接口获得downloadUri************" + downloadUri);
|
||||
if (StringUtils.isNotEmpty(downloadUri)) {
|
||||
StringBuilder builder=new StringBuilder();
|
||||
builder.append(standEditFilePath);
|
||||
builder.append(standNo).append("/");
|
||||
builder.append(fileNm);
|
||||
String saveFileUrl = builder.toString();
|
||||
File file = new File(saveFileUrl);
|
||||
downloadNetFile(downloadUri, file);
|
||||
// 更新在线编辑当前节点编辑状态
|
||||
busProcessModelHisService.modelHisOneUpdStatusById(fileId);
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
saved = 1;
|
||||
logger.info("**********onlyoffice接收文档接口异常************" + ex.getMessage());
|
||||
logger.error(ex.getMessage(),ex);
|
||||
}
|
||||
} else if (status == 4) {
|
||||
logger.info("**********onlyoffice接收文档接口开始修改文件状态状态4************");
|
||||
|
||||
logger.info("**********onlyoffice接收文档接口修改文件状态成功状态4************");
|
||||
}
|
||||
logger.info("onlyoffice编辑完成--------------");
|
||||
writer.write("{\"error\":" + saved + "}");
|
||||
|
||||
} catch (IOException e) {
|
||||
logger.info("**********onlyoffice接收文档接口异常************" + e.getMessage());
|
||||
logger.error(e.getMessage(),e);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@ApiOperation(value = "|onlyOffice接收文件")
|
||||
@PostMapping("/recieveFileBefore")
|
||||
public void recieveFileBefore(HttpServletRequest request, HttpServletResponse response, String fileNm, String standNo, String pid, String taskId){
|
||||
logger.info("**********进入onlyoffice接收文档接口************");
|
||||
try {
|
||||
PrintWriter writer = response.getWriter();
|
||||
String body = "";
|
||||
try {
|
||||
Scanner scanner = new Scanner(request.getInputStream());
|
||||
scanner.useDelimiter("\\A");
|
||||
body = scanner.hasNext() ? scanner.next() : "";
|
||||
scanner.close();
|
||||
} catch (Exception ex) {
|
||||
writer.write("get request.getInputStream error:" + ex.getMessage());
|
||||
return;
|
||||
}
|
||||
|
||||
if (body.isEmpty()) {
|
||||
writer.write("empty request.getInputStream");
|
||||
return;
|
||||
}
|
||||
|
||||
net.sf.json.JSONObject jsonObj = net.sf.json.JSONObject.fromObject(body);
|
||||
logger.info("**********onlyoffice接收文档接口获得结果body************" + body);
|
||||
int status = (Integer) jsonObj.get("status");
|
||||
|
||||
int saved = 0;
|
||||
if (status == 2 || status == 3)//MustSave, Corrupted
|
||||
{
|
||||
String downloadUri = (String) jsonObj.get("url");
|
||||
|
||||
try {
|
||||
logger.info("**********onlyoffice接收文档接口获得downloadUri************" + downloadUri);
|
||||
if (StringUtils.isNotEmpty(downloadUri)) {
|
||||
StringBuilder builder=new StringBuilder();
|
||||
builder.append(standEditFilePath);
|
||||
builder.append(standNo).append("/");
|
||||
builder.append(fileNm);
|
||||
String saveFileUrl = builder.toString();
|
||||
File file = new File(saveFileUrl);
|
||||
downloadNetFile(downloadUri, file);
|
||||
// 更新在线编辑当前节点编辑状态
|
||||
busProcessModelHisService.modelHisOneUpdStatus(pid,taskId);
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
saved = 1;
|
||||
logger.info("**********onlyoffice接收文档接口异常************" + ex.getMessage());
|
||||
logger.error(ex.getMessage(),ex);
|
||||
}
|
||||
} else if (status == 4) {
|
||||
logger.info("**********onlyoffice接收文档接口开始修改文件状态状态4************");
|
||||
|
||||
logger.info("**********onlyoffice接收文档接口修改文件状态成功状态4************");
|
||||
}
|
||||
logger.info("onlyoffice编辑完成--------------");
|
||||
writer.write("{\"error\":" + saved + "}");
|
||||
|
||||
} catch (IOException e) {
|
||||
logger.info("**********onlyoffice接收文档接口异常************" + e.getMessage());
|
||||
logger.error(e.getMessage(),e);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
public void downloadNetFile(String downloadUrl, File file) {
|
||||
try {
|
||||
FileOutputStream fileOutputStream = new FileOutputStream(file);
|
||||
URL url = new URL(downloadUrl);
|
||||
URLConnection connection = url.openConnection();
|
||||
InputStream inputStream = connection.getInputStream();
|
||||
int length = 0;
|
||||
byte[] bytes = new byte[1024];
|
||||
while ((length = inputStream.read(bytes)) != -1) {
|
||||
fileOutputStream.write(bytes, 0, length);
|
||||
}
|
||||
fileOutputStream.close();
|
||||
inputStream.close();
|
||||
} catch (IOException e) {
|
||||
logger.error("download error ! url :{}, exception:{}", downloadUrl, e);
|
||||
}
|
||||
}
|
||||
|
||||
@GetMapping("/processEditFile")
|
||||
public BusProcessModelHis processEditFile(String id) {
|
||||
BusProcessModelHis modelHisOne = busProcessModelHisService.processEditFile(id);
|
||||
return modelHisOne;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "|model| 传入 模板文档名称(不带后缀)默认 docx")
|
||||
@GetMapping("/saveEditFile")
|
||||
public BusProcessModelHis saveEditFile(String model) {
|
||||
return busProcessModelHisService.saveEditFile(model);
|
||||
}
|
||||
|
||||
@GetMapping("/processModelHisOneUpdStatus")
|
||||
public BusProcessModelHis modelHisOneUpdStatus(String pid,String taskId) {
|
||||
BusProcessModelHis modelHisOne = busProcessModelHisService.modelHisOneUpdStatus(pid,taskId);
|
||||
return modelHisOne;
|
||||
}
|
||||
|
||||
@GetMapping("/processModelHisOneCount")
|
||||
public BusProcessModelHis modelHisOneCount(String pid) {
|
||||
BusProcessModelHis modelHisOne = busProcessModelHisService.modelHisOneCount(pid);
|
||||
return modelHisOne;
|
||||
}
|
||||
|
||||
@GetMapping("/processModelHisOne")
|
||||
public BusProcessModelHis modelHisOne(String pid,String taskId) {
|
||||
BusProcessModelHis modelHisOne = busProcessModelHisService.modelHisOne(pid,taskId);
|
||||
return modelHisOne;
|
||||
}
|
||||
|
||||
@GetMapping("/processModelHisList")
|
||||
public List<BusProcessModelHis> evaluationHisList(String pid) {
|
||||
List<BusProcessModelHis> processModelHisList = busProcessModelHisService.modelHisList(pid);
|
||||
return processModelHisList;
|
||||
}
|
||||
}
|
||||
|
||||
+15
@@ -47,5 +47,20 @@ public class BusProcessNewController extends BaseAction {
|
||||
return findtodotask;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "每天十点需要启动 政策课题后续流程")
|
||||
@GetMapping("/everyDayTenOlock")
|
||||
public List<BusProcessNew> everyDayTenOlock() {
|
||||
List<BusProcessNew> findtodotask = iBusProcessNewService.everyDayTenOlock();
|
||||
return findtodotask;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "每天十点需要启动 标准化活动参会流程")
|
||||
@GetMapping("/everyDayTenOlockSAM")
|
||||
public List<BusProcessNew> everyDayTenOlockSAM() {
|
||||
List<BusProcessNew> findtodotask = iBusProcessNewService.everyDayTenOlockSAM();
|
||||
return findtodotask;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
+119
@@ -0,0 +1,119 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.controller;
|
||||
|
||||
import com.ydw.bat.wkflow.business_auth.LawsUserInfoService;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.EsPrcRelation;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.EsRevisePlanDTO;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.IEsPrcRelationService;
|
||||
import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService;
|
||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.activiti.engine.TaskService;
|
||||
import org.activiti.engine.task.Task;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.util.ObjectUtils;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Api(description = "管控流程接受任务")
|
||||
@RestController
|
||||
@RequestMapping("/esPrcRelation")
|
||||
public class EsPrcRelationController {
|
||||
private static final Logger logger = LoggerFactory.getLogger(EsPrcRelationController.class);
|
||||
|
||||
@Value("${oa.flag}")
|
||||
private Boolean OAFlag;
|
||||
|
||||
@Autowired
|
||||
private TaskService taskService;
|
||||
@Autowired
|
||||
private IEsPrcRelationService esPrcRelationService;
|
||||
@Autowired
|
||||
private WebServiceOAService webServiceOAService;
|
||||
|
||||
@ApiOperation(value = "接受任务")
|
||||
@GetMapping("/acceptTask")
|
||||
public Integer acceptTack(String nowEsId, String oaFlag, String taskId) {
|
||||
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
||||
if(task!=null) {
|
||||
//发送OA已办
|
||||
try {
|
||||
if (OAFlag) {
|
||||
//发送OA已办
|
||||
webServiceOAService.completeOA(task);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error(e.toString());
|
||||
}
|
||||
}
|
||||
|
||||
return esPrcRelationService.modifyEsPrcRelation(nowEsId, null, oaFlag, null);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "判断是否已经接受任务")
|
||||
@GetMapping("/judgeAcceptTask")
|
||||
public Boolean judgeAcceptTask(String nowEsId, String oaFlag, String prcIdGk) {
|
||||
|
||||
EsPrcRelation esPrcRelation = new EsPrcRelation();
|
||||
esPrcRelation.setEsId(nowEsId);
|
||||
esPrcRelation.setOaFlag(oaFlag);
|
||||
esPrcRelation.setPrcIdGk(prcIdGk);
|
||||
return esPrcRelationService.listJudge(esPrcRelation);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "定时任务调试")
|
||||
@GetMapping("/testAcceptTack")
|
||||
public String testAcceptTack() {
|
||||
LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class);
|
||||
IEsPrcRelationService esPrcRelationService = SpringContextUtil.getBean(IEsPrcRelationService.class);
|
||||
TaskService taskService = SpringContextUtil.getBean(TaskService.class);
|
||||
|
||||
List<EsRevisePlanDTO> esRevisePlanDTOList = lawsUserInfoService.getAllPlansByWk(null); // 查询 制定中,修订中的企标计划
|
||||
// 计划标准初稿时间前一个月的企标计划
|
||||
SimpleDateFormat sdfQuery = new SimpleDateFormat("yyyy-MM-dd");
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.add(Calendar.MONTH, -1);
|
||||
String endDate = sdfQuery.format(calendar.getTime());
|
||||
List<EsRevisePlanDTO> esRevisePlanDTOList2 = esRevisePlanDTOList.stream()
|
||||
.filter(e -> !ObjectUtils.isEmpty(e.getDraftTime()) && endDate.equals(sdfQuery.format(e.getDraftTime())))
|
||||
.collect(Collectors.toList());
|
||||
if (!esRevisePlanDTOList2.isEmpty()) {
|
||||
for (EsRevisePlanDTO esRevisePlanDTO : esRevisePlanDTOList2) {
|
||||
List<EsPrcRelation> esPrcRelationList = esPrcRelationService.list(esRevisePlanDTO.getId());
|
||||
if (esPrcRelationList.isEmpty()) {
|
||||
continue;
|
||||
}
|
||||
String esId = esPrcRelationList.get(0).getEsId();
|
||||
String prcIdGk = esPrcRelationList.get(0).getPrcIdGk();
|
||||
String oaFlag = esPrcRelationList.get(0).getOaFlag();
|
||||
// 判断对应 管控流程是否还在 技术标准起草节点, 且之前点过接受任务
|
||||
if (StringUtils.isNotBlank(prcIdGk)) {
|
||||
List<Task> list2 = taskService.createTaskQuery().processInstanceId(prcIdGk).active().list();
|
||||
if (!list2.isEmpty()) {
|
||||
String nowTaskInfo = list2.get(0).getName();
|
||||
if ("技术标准起草".equals(nowTaskInfo) && "0".equals(oaFlag)) {
|
||||
// 再次发送待办
|
||||
logger.info("============再次发送待办,企标计划" + esRevisePlanDTO.getEsName() +"===========");
|
||||
// sendOATodo(list2.get(0));
|
||||
|
||||
// 更新 状态为待办
|
||||
esPrcRelationService.modifyEsPrcRelation(esId, null, "1", null);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return "定时任务完成";
|
||||
}
|
||||
|
||||
}
|
||||
+48
@@ -0,0 +1,48 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.EsTechRelation;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.IEsTechRelationService;
|
||||
import com.ydw.bat.wkflow.business_mq.service.CreateMQService;
|
||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/esTechRelation")
|
||||
public class EsTechRelationController {
|
||||
private static final Logger logger = LoggerFactory.getLogger(EsPrcRelationController.class);
|
||||
|
||||
@Autowired
|
||||
private IEsTechRelationService esTechRelationService;
|
||||
|
||||
|
||||
@PostMapping("/setRelation")
|
||||
public void setRelation(String esPlanId, String prcId, String finish) {
|
||||
EsTechRelation esTechRelation = new EsTechRelation();
|
||||
esTechRelation.setEsId(esPlanId);
|
||||
esTechRelation.setPrcId(prcId);
|
||||
esTechRelation.setFinish(finish);
|
||||
esTechRelationService.save(esTechRelation);
|
||||
}
|
||||
|
||||
@GetMapping("/getEsByWk")
|
||||
public String getEsByWk(String prcId) {
|
||||
QueryWrapper<EsTechRelation> esTechRelationQueryWrapper = new QueryWrapper<>();
|
||||
esTechRelationQueryWrapper.eq("prc_id", prcId);
|
||||
List<EsTechRelation> list = esTechRelationService.list(esTechRelationQueryWrapper);
|
||||
if (list!=null&&list.size()>0) {
|
||||
return list.get(0).getEsId();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.controller;
|
||||
|
||||
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.IOaTaskExecService;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* OA 干活任务执行表 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author Super_liu
|
||||
* @since 2021-09-24
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/oaTaskExec")
|
||||
public class OaTaskExecController {
|
||||
|
||||
@Autowired
|
||||
private IOaTaskExecService oaTaskExecService;
|
||||
|
||||
@ApiOperation(value = "查询历史")
|
||||
@GetMapping("/queryEndTime")
|
||||
public String queryEndTime(String pId) {
|
||||
String endTime = oaTaskExecService.endTime(pId);
|
||||
return endTime;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "接受任务")
|
||||
@GetMapping("/execTask")
|
||||
public Map<String,Object> execTask(String todoId) {
|
||||
Map<String,Object> map = oaTaskExecService.execTask(todoId);
|
||||
return map;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.controller;
|
||||
|
||||
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* OA日志表 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author super_liu
|
||||
* @since 2021-09-17
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/sendTodoLog")
|
||||
public class SendTodoLogController {
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,94 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.controller;
|
||||
|
||||
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.TbTask;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.ITbTaskService;
|
||||
import com.ydw.bat.wkflow.config.SchedulerConf;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 动态定时任务表 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author super_liu
|
||||
* @since 2022-05-27
|
||||
*/
|
||||
@RestController
|
||||
@Api(tags = "动态定时任务表")
|
||||
@RequestMapping("/tsTask")
|
||||
public class TbTaskController{
|
||||
|
||||
@Autowired
|
||||
private SchedulerConf schedulerConf;
|
||||
|
||||
@Autowired
|
||||
private ITbTaskService iTbTaskService;
|
||||
|
||||
/**
|
||||
* 启动一个动态定时任务
|
||||
* http://localhost:10085/tbTask/start/2
|
||||
*/
|
||||
@GetMapping("start/{taskId}")
|
||||
public String start(@PathVariable("taskId") String taskId){
|
||||
schedulerConf.start(taskId);
|
||||
return "操作成功";
|
||||
}
|
||||
|
||||
/**
|
||||
* 停止一个动态定时任务
|
||||
* http://localhost:10085/tbTask/stop/2
|
||||
*/
|
||||
@GetMapping("stop/{taskId}")
|
||||
public String stop(@PathVariable("taskId") String taskId){
|
||||
schedulerConf.stop(taskId);
|
||||
return "操作成功";
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新一个动态定时任务
|
||||
* http://localhost:10085/tbTask/save?taskId=2&taskExp=0/2 * * * * ?&taskClass=cn.huanzi.qch.springboottimer.task.MyRunnable3
|
||||
*/
|
||||
@PostMapping("save")
|
||||
public String save(TbTask task) throws IllegalAccessException {
|
||||
//先更新表数据
|
||||
TbTask tbTask = iTbTaskService.getById(task.getId());
|
||||
|
||||
//null值忽略
|
||||
List<String> ignoreProperties = new ArrayList<>(7);
|
||||
|
||||
//反射获取Class的属性(Field表示类中的成员变量)
|
||||
for (Field field : task.getClass().getDeclaredFields()) {
|
||||
//获取授权
|
||||
field.setAccessible(true);
|
||||
//属性名称
|
||||
String fieldName = field.getName();
|
||||
//属性的值
|
||||
Object fieldValue = field.get(task);
|
||||
|
||||
//找出值为空的属性,我们复制的时候不进行赋值
|
||||
if(null == fieldValue){
|
||||
ignoreProperties.add(fieldName);
|
||||
}
|
||||
}
|
||||
|
||||
//org.springframework.beans BeanUtils.copyProperties(A,B):A中的值付给B
|
||||
BeanUtils.copyProperties(task, tbTask,ignoreProperties.toArray(new String[0]));
|
||||
iTbTaskService.updateById(tbTask);
|
||||
schedulerConf.tasks.clear();
|
||||
|
||||
//停止旧任务
|
||||
schedulerConf.stop(tbTask.getId());
|
||||
|
||||
//重新启动
|
||||
schedulerConf.start(tbTask.getId());
|
||||
return "操作成功";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
/**
|
||||
* //TODO 添加类、接口描述
|
||||
*
|
||||
* @author ZhangZhiYuan
|
||||
* @date 2021-06-24
|
||||
*/
|
||||
@Data
|
||||
public class AddDetailedDto {
|
||||
|
||||
@ApiModelProperty(value = "国家或地区")
|
||||
private String countryArea;
|
||||
@ApiModelProperty(value = "项目名称")
|
||||
private String projectName;
|
||||
@ApiModelProperty(value = "清单类别")
|
||||
private String detailedList;
|
||||
@ApiModelProperty(value = "区分,国家地区为1,项目名称为2,清单类别为3")
|
||||
private String sortKey;
|
||||
@ApiModelProperty(value = "清单名称")
|
||||
private String detailedListName;
|
||||
|
||||
@ApiModelProperty(value = "清单详情")
|
||||
private String remark;
|
||||
|
||||
@ApiModelProperty(value = "清单状态,1为未发布,2为发布")
|
||||
private String detailedListState;
|
||||
@ApiModelProperty(value = "适用领域")
|
||||
private String applicationScope;
|
||||
@ApiModelProperty(value = "更新人")
|
||||
private String updatePeople;
|
||||
@ApiModelProperty(value = "上传的附件")
|
||||
private MultipartFile[] files;
|
||||
@ApiModelProperty(value = "要添加的清单id")
|
||||
private String[] lawsIds;
|
||||
|
||||
|
||||
public MultipartFile getFiles(int i) {
|
||||
return files[i];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
/**
|
||||
* Copyright 2021 bejson.com
|
||||
*/
|
||||
package com.ydw.bat.wkflow.business_main.datas.dto;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* Auto-generated: 2021-07-09 16:11:32
|
||||
*
|
||||
* @author bejson.com (i@bejson.com)
|
||||
* @website http://www.bejson.com/java2pojo/
|
||||
*/
|
||||
@Data
|
||||
public class BreakdownList {
|
||||
|
||||
private String id;
|
||||
private String svpps;
|
||||
private String standId;
|
||||
private String itemsNum;
|
||||
private String claimType;
|
||||
private String itemsName;
|
||||
private String applyArctic;
|
||||
private String busStandCover;
|
||||
private String responsibleUnit;
|
||||
private String responsibleEngineer;
|
||||
private String technicalRequir;
|
||||
private String changePoint;
|
||||
private String xcxssrq;
|
||||
private String zccssrq;
|
||||
public void setId(String id) {
|
||||
this.id = id;
|
||||
}
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setSvpps(String svpps) {
|
||||
this.svpps = svpps;
|
||||
}
|
||||
public String getSvpps() {
|
||||
return svpps;
|
||||
}
|
||||
|
||||
public void setStandId(String standId) {
|
||||
this.standId = standId;
|
||||
}
|
||||
public String getStandId() {
|
||||
return standId;
|
||||
}
|
||||
|
||||
public void setItemsNum(String itemsNum) {
|
||||
this.itemsNum = itemsNum;
|
||||
}
|
||||
public String getItemsNum() {
|
||||
return itemsNum;
|
||||
}
|
||||
|
||||
public void setClaimType(String claimType) {
|
||||
this.claimType = claimType;
|
||||
}
|
||||
public String getClaimType() {
|
||||
return claimType;
|
||||
}
|
||||
|
||||
public void setItemsName(String itemsName) {
|
||||
this.itemsName = itemsName;
|
||||
}
|
||||
public String getItemsName() {
|
||||
return itemsName;
|
||||
}
|
||||
|
||||
public void setApplyArctic(String applyArctic) {
|
||||
this.applyArctic = applyArctic;
|
||||
}
|
||||
public String getApplyArctic() {
|
||||
return applyArctic;
|
||||
}
|
||||
|
||||
public void setBusStandCover(String busStandCover) {
|
||||
this.busStandCover = busStandCover;
|
||||
}
|
||||
public String getBusStandCover() {
|
||||
return busStandCover;
|
||||
}
|
||||
|
||||
public void setResponsibleUnit(String responsibleUnit) {
|
||||
this.responsibleUnit = responsibleUnit;
|
||||
}
|
||||
public String getResponsibleUnit() {
|
||||
return responsibleUnit;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
/**
|
||||
* Copyright 2021 bejson.com
|
||||
*/
|
||||
package com.ydw.bat.wkflow.business_main.datas.dto;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Auto-generated: 2021-07-09 16:11:32
|
||||
*
|
||||
* @author bejson.com (i@bejson.com)
|
||||
* @website http://www.bejson.com/java2pojo/
|
||||
*/
|
||||
@Data
|
||||
public class DataList {
|
||||
|
||||
private String uname;
|
||||
private String productLine;
|
||||
private String distributePerson;
|
||||
private String distributePersonId;
|
||||
private String projectManager;
|
||||
|
||||
//合规评估添加的数据
|
||||
|
||||
private String itemNum;
|
||||
private String xCXSSRQ;
|
||||
private String zCCSSRQ;
|
||||
private String itemsName;
|
||||
private String standName;
|
||||
private String implementer;
|
||||
private String projectName;
|
||||
private String standNumber;
|
||||
private String noCompliance;
|
||||
private String implementerId;
|
||||
private String projectNumber;
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date completionTime;
|
||||
private String zcNoCompliance;
|
||||
private String countermeasures;
|
||||
private String qualityEngineer;
|
||||
private String responsibleUnit;
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date zcCompletionTime;
|
||||
private String certifiedEngineer;
|
||||
private String complianceReasons;
|
||||
private String zcCountermeasures;
|
||||
private String responsibleEngineer;
|
||||
private String zcComplianceReasons;
|
||||
private String technicalRequir;
|
||||
private String changePoint;
|
||||
|
||||
private List<SarStandProjectLibraries> sarStandProjectLibraries;
|
||||
public void setUname(String uname) {
|
||||
this.uname = uname;
|
||||
}
|
||||
public String getUname() {
|
||||
return uname;
|
||||
}
|
||||
|
||||
public void setProductLine(String productLine) {
|
||||
this.productLine = productLine;
|
||||
}
|
||||
public String getProductLine() {
|
||||
return productLine;
|
||||
}
|
||||
|
||||
public void setSarStandProjectLibraries(List<SarStandProjectLibraries> sarStandProjectLibraries) {
|
||||
this.sarStandProjectLibraries = sarStandProjectLibraries;
|
||||
}
|
||||
public List<SarStandProjectLibraries> getSarStandProjectLibraries() {
|
||||
return sarStandProjectLibraries;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* //TODO 添加类、接口描述
|
||||
*
|
||||
* @author ZhangZhiYuan
|
||||
* @date 2021-06-25
|
||||
*/
|
||||
@Data
|
||||
public class DetailedUpDto {
|
||||
|
||||
@ApiModelProperty(value = "主键")
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "国家或地区")
|
||||
private String countryArea;
|
||||
|
||||
@ApiModelProperty(value = "项目名称")
|
||||
private String projectName;
|
||||
|
||||
@ApiModelProperty(value = "清单类别")
|
||||
private String detailedList;
|
||||
|
||||
@ApiModelProperty(value = "区分,国家地区为1,项目名称为2,清单类别为3")
|
||||
private String sortKey;
|
||||
|
||||
@ApiModelProperty(value = "清单名称")
|
||||
private String detailedListName;
|
||||
|
||||
@ApiModelProperty(value = "清单状态,1为未发布,2为发布")
|
||||
private String detailedListState;
|
||||
|
||||
@ApiModelProperty(value = "清单版本,默认V0")
|
||||
private String detailedListVision;
|
||||
|
||||
@ApiModelProperty(value = "适用领域")
|
||||
private String applicationScope;
|
||||
|
||||
@ApiModelProperty(value = "附件id")
|
||||
private String fileIds;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private Date reNewTime;
|
||||
|
||||
@ApiModelProperty(value = "更新人")
|
||||
private String reNewPeople;
|
||||
|
||||
@ApiModelProperty(value = "要添加的清单id")
|
||||
private String inforlist;
|
||||
|
||||
@ApiModelProperty(value = "清单详情")
|
||||
private String remark;
|
||||
|
||||
@ApiModelProperty(value = "实施时间")
|
||||
private String inforlist1;
|
||||
|
||||
@ApiModelProperty(value = "在产车实施时间")
|
||||
private String inforlist2;
|
||||
|
||||
@ApiModelProperty(value = "新车型实施时间")
|
||||
private String inforlist3;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
/**
|
||||
* Copyright 2021 bejson.com
|
||||
*/
|
||||
package com.ydw.bat.wkflow.business_main.datas.dto.PCA;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* Auto-generated: 2021-07-22 18:56:38
|
||||
*
|
||||
* @author bejson.com (i@bejson.com)
|
||||
* @website http://www.bejson.com/java2pojo/
|
||||
*/
|
||||
@Data
|
||||
public class PCAbreakdownList {
|
||||
|
||||
private String id;
|
||||
private String svpps;
|
||||
private String standId;
|
||||
private String xcxssrq;
|
||||
private String zccssrq;
|
||||
private String itemsNum;
|
||||
private String claimType;
|
||||
private String itemsName;
|
||||
private String applyArctic;
|
||||
private String busStandCover;
|
||||
private String responsibleUnit;
|
||||
private String responsibleEngineer;
|
||||
private String productLine;
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
/**
|
||||
* Copyright 2021 bejson.com
|
||||
*/
|
||||
package com.ydw.bat.wkflow.business_main.datas.dto.PCA;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* Auto-generated: 2021-07-27 14:7:5
|
||||
*
|
||||
* @author bejson.com (i@bejson.com)
|
||||
* @website http://www.bejson.com/java2pojo/
|
||||
*/
|
||||
@Data
|
||||
public class PCAchildren {
|
||||
private String id;
|
||||
private String key;
|
||||
private String standId;
|
||||
private String itemsNum;
|
||||
private String itemsName;
|
||||
private String workPeople;
|
||||
private String workPeopleId;
|
||||
|
||||
private String noCompliance;
|
||||
private String zcNoCompliance;
|
||||
private String complianceReasons;
|
||||
private String countermeasures;
|
||||
private String zcCountermeasures;
|
||||
private Date zcCompletionTime;
|
||||
private Date completionTime;
|
||||
private String zcComplianceReasons;
|
||||
private String typeId;
|
||||
private String xcxssrq;
|
||||
private String zccssrq;
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
/**
|
||||
* Copyright 2021 bejson.com
|
||||
*/
|
||||
package com.ydw.bat.wkflow.business_main.datas.dto.PCA;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Auto-generated: 2021-07-22 18:56:38
|
||||
*
|
||||
* @author bejson.com (i@bejson.com)
|
||||
* @website http://www.bejson.com/java2pojo/
|
||||
*/
|
||||
@Data
|
||||
public class PCAdataList {
|
||||
|
||||
private String ssrq;
|
||||
private String zrbm;
|
||||
private String standId;
|
||||
private String productLineId;
|
||||
private String productId;
|
||||
private String productName;
|
||||
private String standType;
|
||||
private String standSort;
|
||||
private String standNumber;
|
||||
private String standYear;
|
||||
private String cycvppsbm;
|
||||
private String cycvppscn;
|
||||
private String kccvppsbm;
|
||||
private String kccvppscn;
|
||||
private String standName;
|
||||
private String xcxssrq;
|
||||
private String zccssrq;
|
||||
private String standEnName;
|
||||
private String liablePeople;
|
||||
private String liablePeopleId;
|
||||
private String workPeople;
|
||||
private String workPeopleId;
|
||||
private List<PCAchildren> children;
|
||||
|
||||
private String noCompliance;
|
||||
private String zcNoCompliance;
|
||||
private String complianceReasons;
|
||||
private String countermeasures;
|
||||
private String zcCountermeasures;
|
||||
private Date zcCompletionTime;
|
||||
private Date completionTime;
|
||||
private String zcComplianceReasons;
|
||||
private String itemNum;
|
||||
private String itemsName;
|
||||
|
||||
private String typeId;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
/**
|
||||
* Copyright 2021 bejson.com
|
||||
*/
|
||||
package com.ydw.bat.wkflow.business_main.datas.dto.PCA;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Auto-generated: 2021-07-22 18:56:38
|
||||
*
|
||||
* @author bejson.com (i@bejson.com)
|
||||
* @website http://www.bejson.com/java2pojo/
|
||||
*/
|
||||
@Data
|
||||
public class PCAtotal {
|
||||
|
||||
private String BZFlag;
|
||||
private String jgUser;
|
||||
private List<PCAdataList> dataList;
|
||||
private String jgUserId;
|
||||
private String startUser;
|
||||
private List<String> taskBreak;
|
||||
private String commentText;
|
||||
private String projectName;
|
||||
private List<PCAbreakdownList> breakdownList;
|
||||
private String prcCreateUser;
|
||||
private String projectNumber;
|
||||
private String projectLine;
|
||||
private String productLine;
|
||||
private String startUserName;
|
||||
private String serviceManager;
|
||||
private String statuteMinister;
|
||||
private String prcCreateUserName;
|
||||
private String engineeringManager;
|
||||
private String serviceManagerName;
|
||||
private String statuteMinisterName;
|
||||
private String engineeringManagerName;
|
||||
private String bZFlag;
|
||||
private List<PCAchildren> children;
|
||||
}
|
||||
@@ -0,0 +1,134 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.dto;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class PEPDTO {
|
||||
|
||||
private String id;
|
||||
private List<DataList> dataList;
|
||||
private SarStandProjectLibraries sarStandProjectLibraries;
|
||||
private String jlUserId;
|
||||
private String passFlag;
|
||||
private String zrUserId;
|
||||
private String standName;
|
||||
private String standNumber;
|
||||
private List<BreakdownList> breakdownList;
|
||||
private String prcCreateUser;
|
||||
private String applyUpdUserId;
|
||||
private String approvalOpinion;
|
||||
private String qualityEngineer;
|
||||
private String qualityEngineerName;
|
||||
private String certifiedEngineer;
|
||||
private String certifiedEngineerName;
|
||||
private String prcCreateUserName;
|
||||
//返回分发责任人
|
||||
private String distributePerson;
|
||||
private String distributePersonId;
|
||||
private String uname;
|
||||
private String projectManager;
|
||||
//责任人 (对应到每条数据一个责任人)
|
||||
private String workPeople;
|
||||
//在研在产字段!!! 待定中 下发落实人需要使用
|
||||
//时间字段
|
||||
private String ZCCSSRQ;
|
||||
private String XCXSSRQ;
|
||||
|
||||
private String commentText;
|
||||
|
||||
private List<Step3DTO> step3DTOS;
|
||||
public void setId(String id) {
|
||||
this.id = id;
|
||||
}
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setDataList(List<DataList> dataList) {
|
||||
this.dataList = dataList;
|
||||
}
|
||||
public List<DataList> getDataList() {
|
||||
return dataList;
|
||||
}
|
||||
|
||||
public void setJlUserId(String jlUserId) {
|
||||
this.jlUserId = jlUserId;
|
||||
}
|
||||
public String getJlUserId() {
|
||||
return jlUserId;
|
||||
}
|
||||
|
||||
public void setZrUserId(String zrUserId) {
|
||||
this.zrUserId = zrUserId;
|
||||
}
|
||||
public String getZrUserId() {
|
||||
return zrUserId;
|
||||
}
|
||||
|
||||
public void setStandName(String standName) {
|
||||
this.standName = standName;
|
||||
}
|
||||
public String getStandName() {
|
||||
return standName;
|
||||
}
|
||||
|
||||
public void setStandNumber(String standNumber) {
|
||||
this.standNumber = standNumber;
|
||||
}
|
||||
public String getStandNumber() {
|
||||
return standNumber;
|
||||
}
|
||||
|
||||
public void setBreakdownList(List<BreakdownList> breakdownList) {
|
||||
this.breakdownList = breakdownList;
|
||||
}
|
||||
public List<BreakdownList> getBreakdownList() {
|
||||
return breakdownList;
|
||||
}
|
||||
|
||||
public void setPrcCreateUser(String prcCreateUser) {
|
||||
this.prcCreateUser = prcCreateUser;
|
||||
}
|
||||
public String getPrcCreateUser() {
|
||||
return prcCreateUser;
|
||||
}
|
||||
|
||||
public void setApplyUpdUserId(String applyUpdUserId) {
|
||||
this.applyUpdUserId = applyUpdUserId;
|
||||
}
|
||||
public String getApplyUpdUserId() {
|
||||
return applyUpdUserId;
|
||||
}
|
||||
|
||||
public void setApprovalOpinion(String approvalOpinion) {
|
||||
this.approvalOpinion = approvalOpinion;
|
||||
}
|
||||
public String getApprovalOpinion() {
|
||||
return approvalOpinion;
|
||||
}
|
||||
|
||||
public void setQualityEngineer(String qualityEngineer) {
|
||||
this.qualityEngineer = qualityEngineer;
|
||||
}
|
||||
public String getQualityEngineer() {
|
||||
return qualityEngineer;
|
||||
}
|
||||
|
||||
public void setCertifiedEngineer(String certifiedEngineer) {
|
||||
this.certifiedEngineer = certifiedEngineer;
|
||||
}
|
||||
public String getCertifiedEngineer() {
|
||||
return certifiedEngineer;
|
||||
}
|
||||
|
||||
public void setPrcCreateUserName(String prcCreateUserName) {
|
||||
this.prcCreateUserName = prcCreateUserName;
|
||||
}
|
||||
public String getPrcCreateUserName() {
|
||||
return prcCreateUserName;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class PEPres {
|
||||
|
||||
private List<PEPDTO> pepdtos;
|
||||
|
||||
|
||||
private List<Step3DTO> step3DTOS;
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.dto;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.*;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author szc
|
||||
* @since 2021-06-15
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value="SarLawsDetailedList对象", description="")
|
||||
public class SarLawsDetailedList {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "主键")
|
||||
@TableId("id")
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "国家或地区")
|
||||
private String countryArea;
|
||||
|
||||
@ApiModelProperty(value = "项目名称")
|
||||
private String projectName;
|
||||
|
||||
@ApiModelProperty(value = "清单类别")
|
||||
private String detailedList;
|
||||
|
||||
@ApiModelProperty(value = "区分,国家地区为1,项目名称为2,清单类别为3")
|
||||
private String sortKey;
|
||||
|
||||
@ApiModelProperty(value = "清单名称")
|
||||
private String detailedListName;
|
||||
|
||||
@ApiModelProperty(value = "清单状态,1为未发布,2为发布")
|
||||
private String detailedListState;
|
||||
|
||||
@ApiModelProperty(value = "清单版本,默认V0")
|
||||
private String detailedListVision;
|
||||
|
||||
@ApiModelProperty(value = "适用领域")
|
||||
private String applicationScope;
|
||||
|
||||
@ApiModelProperty(value = "清单列表")
|
||||
private String remark;
|
||||
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private Date updateTime;
|
||||
|
||||
@ApiModelProperty(value = "更新人")
|
||||
private String updatePeople;
|
||||
|
||||
@ApiModelProperty(value = "附件id")
|
||||
private String fileId;
|
||||
|
||||
|
||||
}
|
||||
+127
@@ -0,0 +1,127 @@
|
||||
/**
|
||||
* Copyright 2021 bejson.com
|
||||
*/
|
||||
package com.ydw.bat.wkflow.business_main.datas.dto;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* Auto-generated: 2021-07-09 16:11:32
|
||||
*
|
||||
* @author bejson.com (i@bejson.com)
|
||||
* @website http://www.bejson.com/java2pojo/
|
||||
*/
|
||||
public class SarStandProjectLibraries {
|
||||
|
||||
private String id;
|
||||
private String uname;
|
||||
private String currentNode;
|
||||
private String productLine;
|
||||
private String projectName;
|
||||
private String projectGroup;
|
||||
private String projectLevel;
|
||||
private String projectNumber;
|
||||
private String projectStatus;
|
||||
private Date projectEndDate;
|
||||
private String projectManager;
|
||||
private String projectPlatfor;
|
||||
private Date projectStartDate;
|
||||
private String projectClassification;
|
||||
public void setId(String id) {
|
||||
this.id = id;
|
||||
}
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setUname(String uname) {
|
||||
this.uname = uname;
|
||||
}
|
||||
public String getUname() {
|
||||
return uname;
|
||||
}
|
||||
|
||||
public void setCurrentNode(String currentNode) {
|
||||
this.currentNode = currentNode;
|
||||
}
|
||||
public String getCurrentNode() {
|
||||
return currentNode;
|
||||
}
|
||||
|
||||
public void setProductLine(String productLine) {
|
||||
this.productLine = productLine;
|
||||
}
|
||||
public String getProductLine() {
|
||||
return productLine;
|
||||
}
|
||||
|
||||
public void setProjectName(String projectName) {
|
||||
this.projectName = projectName;
|
||||
}
|
||||
public String getProjectName() {
|
||||
return projectName;
|
||||
}
|
||||
|
||||
public void setProjectGroup(String projectGroup) {
|
||||
this.projectGroup = projectGroup;
|
||||
}
|
||||
public String getProjectGroup() {
|
||||
return projectGroup;
|
||||
}
|
||||
|
||||
public void setProjectLevel(String projectLevel) {
|
||||
this.projectLevel = projectLevel;
|
||||
}
|
||||
public String getProjectLevel() {
|
||||
return projectLevel;
|
||||
}
|
||||
|
||||
public void setProjectNumber(String projectNumber) {
|
||||
this.projectNumber = projectNumber;
|
||||
}
|
||||
public String getProjectNumber() {
|
||||
return projectNumber;
|
||||
}
|
||||
|
||||
public void setProjectStatus(String projectStatus) {
|
||||
this.projectStatus = projectStatus;
|
||||
}
|
||||
public String getProjectStatus() {
|
||||
return projectStatus;
|
||||
}
|
||||
|
||||
public void setProjectEndDate(Date projectEndDate) {
|
||||
this.projectEndDate = projectEndDate;
|
||||
}
|
||||
public Date getProjectEndDate() {
|
||||
return projectEndDate;
|
||||
}
|
||||
|
||||
public void setProjectManager(String projectManager) {
|
||||
this.projectManager = projectManager;
|
||||
}
|
||||
public String getProjectManager() {
|
||||
return projectManager;
|
||||
}
|
||||
|
||||
public void setProjectPlatfor(String projectPlatfor) {
|
||||
this.projectPlatfor = projectPlatfor;
|
||||
}
|
||||
public String getProjectPlatfor() {
|
||||
return projectPlatfor;
|
||||
}
|
||||
|
||||
public void setProjectStartDate(Date projectStartDate) {
|
||||
this.projectStartDate = projectStartDate;
|
||||
}
|
||||
public Date getProjectStartDate() {
|
||||
return projectStartDate;
|
||||
}
|
||||
|
||||
public void setProjectClassification(String projectClassification) {
|
||||
this.projectClassification = projectClassification;
|
||||
}
|
||||
public String getProjectClassification() {
|
||||
return projectClassification;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,107 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.dto;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author super_liu
|
||||
* @since 2021-06-15
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value="SarStandUnqualified对象", description="")
|
||||
public class SarStandUnqualified {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "产品线编号")
|
||||
private String productId;
|
||||
|
||||
@ApiModelProperty(value = "标准ID")
|
||||
private String standId;
|
||||
|
||||
@ApiModelProperty(value = "标准号")
|
||||
@TableField("STAND_SERIAL_NUMBER")
|
||||
private String standSerialNumber;
|
||||
|
||||
@ApiModelProperty(value = "标准名称")
|
||||
private String standName;
|
||||
|
||||
@ApiModelProperty(value = "条款号")
|
||||
private String itemsNum;
|
||||
|
||||
@ApiModelProperty(value = "条款名称")
|
||||
private String itemsName;
|
||||
|
||||
@ApiModelProperty(value = "产品线")
|
||||
@TableField("PRODUCT_LINE")
|
||||
private String productLine;
|
||||
|
||||
@ApiModelProperty(value = "责任部门")
|
||||
private String responsibleUnit;
|
||||
|
||||
@ApiModelProperty(value = "项目名称")
|
||||
private String productName;
|
||||
|
||||
@ApiModelProperty(value = "创建部门")
|
||||
private String createDeptId;
|
||||
|
||||
@ApiModelProperty(value = "创建人")
|
||||
private String createById;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "关闭状态(1为开启,2为关闭)")
|
||||
@TableField("CLOSE_STATE")
|
||||
private Integer closeState;
|
||||
|
||||
@ApiModelProperty(value = "实际关闭时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date actualCloseTime;
|
||||
|
||||
@ApiModelProperty(value = "计划关闭时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date planCloseTime;
|
||||
|
||||
@ApiModelProperty(value = "未符合原因")
|
||||
private String reason;
|
||||
|
||||
@ApiModelProperty(value = "质量工程师")
|
||||
@TableField("QA_ENGINEER")
|
||||
private String qaEngineer;
|
||||
|
||||
@ApiModelProperty(value = "认证工程师")
|
||||
@TableField("AUTH_ENGINEER")
|
||||
private String authEngineer;
|
||||
|
||||
@ApiModelProperty(value = "责任工程师")
|
||||
@TableField("DUTY_ENGINEER")
|
||||
private String dutyEngineer;
|
||||
|
||||
// @ApiModelProperty(value = "产品类型(research为在研产品,product为在产产品)")
|
||||
// private String productType;
|
||||
|
||||
@ApiModelProperty(value = "主键")
|
||||
private String id;
|
||||
|
||||
|
||||
}
|
||||
+137
@@ -0,0 +1,137 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.dto;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author zyl
|
||||
* @since 2021-06-18
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value="SarStandardComplianceProductAssess对象", description="")
|
||||
public class SarStandardComplianceProductAssess {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "'产品线'")
|
||||
private String productLineId;
|
||||
|
||||
@ApiModelProperty(value = "'项目id'")
|
||||
private String productId;
|
||||
|
||||
@ApiModelProperty(value = "'项目名称'")
|
||||
private String productName;
|
||||
|
||||
@ApiModelProperty(value = "标准ID")
|
||||
@TableField("STAND_ID")
|
||||
private String standId;
|
||||
|
||||
@ApiModelProperty(value = "标准编号")
|
||||
@TableField("STAND_NUMBER")
|
||||
private String standNumber;
|
||||
|
||||
@ApiModelProperty(value = "'标准名称'")
|
||||
@TableField("STAND_NAME")
|
||||
private String standName;
|
||||
|
||||
@ApiModelProperty(value = "'标准章条'")
|
||||
private String standardItem;
|
||||
|
||||
@ApiModelProperty(value = "标准类型")
|
||||
@TableField("STAND_TYPE")
|
||||
private String standType;
|
||||
|
||||
@ApiModelProperty(value = "标准主要内容")
|
||||
private String standardInfo;
|
||||
|
||||
@ApiModelProperty(value = "1是在产,0是在研")
|
||||
private Integer productType;
|
||||
|
||||
@ApiModelProperty(value = "在研产品实施时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date researchImplementationTime;
|
||||
|
||||
@ApiModelProperty(value = "在研产品合规信息")
|
||||
private String researchCompliance;
|
||||
|
||||
@ApiModelProperty(value = "在研产品不合规项目")
|
||||
private String researchNonCompliance;
|
||||
|
||||
@ApiModelProperty(value = "在研产品不合规应对措施")
|
||||
private String researchCountermeasures;
|
||||
|
||||
@ApiModelProperty(value = "在研产品不合规完成时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date researchCompletionTime;
|
||||
|
||||
@ApiModelProperty(value = "在产产品实施时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date productionImplementationTime;
|
||||
|
||||
@ApiModelProperty(value = "在产产品合规信息")
|
||||
private String productionCompliance;
|
||||
|
||||
@ApiModelProperty(value = "在产产品不合规信息")
|
||||
@TableField("production_non_compliance")
|
||||
private String productionNonCompliance;
|
||||
|
||||
@ApiModelProperty(value = "在产产品不合规应对措施")
|
||||
private String productionCountermeasures;
|
||||
|
||||
@ApiModelProperty(value = "在产产品不合规完成时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date productionCompletionTime;
|
||||
|
||||
@ApiModelProperty(value = "审查状态")
|
||||
@TableField("INTERPRETATION_STATE")
|
||||
private String interpretationState;
|
||||
|
||||
@ApiModelProperty(value = "审查时间")
|
||||
@TableField("INTERPRETATION_TIME")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date interpretationTime;
|
||||
|
||||
@ApiModelProperty(value = "条款名称")
|
||||
@TableField("clause_name")
|
||||
private String clauseName;
|
||||
|
||||
@ApiModelProperty(value = "流程UUID")
|
||||
@TableField("type")
|
||||
private String type;
|
||||
|
||||
@ApiModelProperty(value = "评估时间")
|
||||
@TableField("evaluation_time")
|
||||
private String evaluationTime;
|
||||
|
||||
@ApiModelProperty(value = "评估人")
|
||||
@TableField("evaluation_people")
|
||||
private String evaluationPeople;
|
||||
|
||||
@ApiModelProperty(value = "评估人")
|
||||
@TableField("evaluation_people_name")
|
||||
private String evaluationPeopleName;
|
||||
|
||||
@ApiModelProperty(value = "不涉及理由")
|
||||
@TableField("no_involve")
|
||||
private String noInvolve;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
/**
|
||||
* Copyright 2021 bejson.com
|
||||
*/
|
||||
package com.ydw.bat.wkflow.business_main.datas.dto;
|
||||
import lombok.Data;
|
||||
/**
|
||||
* Auto-generated: 2021-07-12 17:52:47
|
||||
*
|
||||
* @author bejson.com (i@bejson.com)
|
||||
* @website http://www.bejson.com/java2pojo/
|
||||
*/
|
||||
@Data
|
||||
public class Step3DTO {
|
||||
|
||||
private String id;
|
||||
private String uname;
|
||||
private String itemNum;
|
||||
private String itemsName;
|
||||
private String standName;
|
||||
private String implementer;
|
||||
private String productLine;
|
||||
private String projectName;
|
||||
private String standNumber;
|
||||
private String implementerId;
|
||||
private String projectNumber;
|
||||
private String projectManager;
|
||||
private String qualityEngineer;
|
||||
private String qualityEngineerName;
|
||||
private String qaEngineer;
|
||||
private String distributePerson;
|
||||
private String certifiedEngineer;
|
||||
private String certifiedEngineerName;
|
||||
private String authEngineer;
|
||||
private String distributePersonId;
|
||||
private String zCCSSRQ;
|
||||
private String xCXSSRQ;
|
||||
private String responsibleUnit;
|
||||
private String responsibleEngineer;
|
||||
private String dutyEngineer;
|
||||
private String standId;
|
||||
private String standardInfo;
|
||||
private String typeId;
|
||||
|
||||
private String technicalRequir;
|
||||
private String changePoint;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.dto.WG;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
public class BusinessDeptIssue implements Serializable {
|
||||
|
||||
@TableId(value = "id", type = IdType.UUID)
|
||||
private String id;
|
||||
|
||||
|
||||
@TableField("law_id")
|
||||
private String lawId;
|
||||
|
||||
|
||||
@TableField(exist = false)
|
||||
private String lawNumber;
|
||||
|
||||
|
||||
@TableField(exist = false)
|
||||
private String lawName;
|
||||
|
||||
|
||||
@TableField("product_type")
|
||||
private String productType;
|
||||
|
||||
|
||||
@TableField("impl_time")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-mm-dd")
|
||||
private Date implTime;
|
||||
|
||||
|
||||
@TableField("impl_require")
|
||||
private String implRequire;
|
||||
|
||||
|
||||
@TableField("conform_situation")
|
||||
private String conformSituation;
|
||||
|
||||
|
||||
@TableField("dev_scheme")
|
||||
private String devScheme;
|
||||
|
||||
|
||||
@TableField("sop_time")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-mm-dd")
|
||||
private Date sopTime;
|
||||
|
||||
|
||||
@TableField("complete_situation")
|
||||
private String completeSituation;
|
||||
|
||||
|
||||
@TableField("timeout_situation")
|
||||
private String timeoutSituation;
|
||||
|
||||
|
||||
@TableLogic(value = "0", delval = "1")
|
||||
@TableField("del_flag")
|
||||
private String delFlag;
|
||||
|
||||
|
||||
@TableField("response_dept")
|
||||
private String responseDept;
|
||||
|
||||
|
||||
@TableField("response_people")
|
||||
private String responsePeople;
|
||||
|
||||
|
||||
@TableField("is_close")
|
||||
private String isClose;
|
||||
|
||||
|
||||
@TableField("is_risk")
|
||||
private String isRisk;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.dto.WG;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @Author: qk
|
||||
* @Date: 2022/5/23 0023 14:47
|
||||
* @Version 1.0
|
||||
*/
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value="NewsFeed对象", description="")
|
||||
public class NewsFeed {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId
|
||||
@ApiModelProperty(value = "主键")
|
||||
private String id;
|
||||
|
||||
@TableField("RESOURCE_TYPE")
|
||||
@ApiModelProperty(value = "资源类型")
|
||||
private String resourceType;
|
||||
|
||||
@TableField("MESSAGE_TYPE")
|
||||
@ApiModelProperty(value = "消息类型")
|
||||
private String messageType;
|
||||
|
||||
@TableField("STANDARD_ID")
|
||||
@ApiModelProperty(value = "标准类型")
|
||||
private String standardId;
|
||||
|
||||
@TableField("STANDARD")
|
||||
@ApiModelProperty(value = "标准号")
|
||||
private String standard;
|
||||
|
||||
@TableField("STANDARD_NAME")
|
||||
@ApiModelProperty(value = "标准名称")
|
||||
private String standardName;
|
||||
|
||||
@TableField("RELEASE_DATE")
|
||||
@ApiModelProperty(value = "发布日期")
|
||||
private String releaseDate;
|
||||
|
||||
@TableField("TEXT_STATE")
|
||||
@ApiModelProperty(value = "文本状态")
|
||||
private String textState;
|
||||
|
||||
@TableField("RENEW_TIME")
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private Date renewTime;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.dto.WG;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@TableName("product_dept_issue")
|
||||
public class ProductDeptIssue implements Serializable {
|
||||
|
||||
@TableId
|
||||
private String id;
|
||||
|
||||
@TableField("law_id")
|
||||
private String lawId;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String lawsNumber;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String lawsName;
|
||||
|
||||
@TableField("product_business")
|
||||
private String productBusiness;
|
||||
|
||||
@TableField("platform")
|
||||
private String platform;
|
||||
|
||||
@TableField("poj_name")
|
||||
private String pojName;
|
||||
|
||||
@TableField("poj_description")
|
||||
private String pojDescription;
|
||||
|
||||
@TableField("current_node")
|
||||
private String currentNode;
|
||||
|
||||
// 概念状态
|
||||
@TableField("conceptual_state")
|
||||
private String conceptualState;
|
||||
// 概念时间
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-mm-dd")
|
||||
@TableField("scheduled_issuance_time")
|
||||
private Date scheduledIssuanceTime;
|
||||
//概念修订计划
|
||||
@TableField("revised_plan")
|
||||
private String revisedPlan;
|
||||
|
||||
// 其他说明
|
||||
@TableField("explanation")
|
||||
private String explanation;
|
||||
|
||||
@TableField("response_dept")
|
||||
private String responseDept;
|
||||
|
||||
@TableLogic(value = "0",delval = "1")
|
||||
@TableField("del_flag")
|
||||
private String delFlag;
|
||||
|
||||
@TableField("is_close")
|
||||
private String isClose;
|
||||
|
||||
@TableField(exist = false)
|
||||
private Integer page;
|
||||
|
||||
@TableField(exist = false)
|
||||
private Integer pageSize;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.dto.WG;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 集团参与情况
|
||||
* </p>
|
||||
*
|
||||
* @author super_liu
|
||||
* @since 2021-11-04
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value="WgDept对象", description="集团参与情况")
|
||||
public class WgDeptShow {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "id")
|
||||
@TableId(value = "id",type = IdType.UUID)
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "工作组id")
|
||||
@TableField("wg_id")
|
||||
private String wgId;
|
||||
|
||||
@ApiModelProperty(value = "我司在工作组排名顺序")
|
||||
@TableField("dept_order")
|
||||
private String deptOrder;
|
||||
|
||||
@ApiModelProperty(value = "我司人员")
|
||||
@TableField("dept_people_id")
|
||||
private String deptPeopleId;
|
||||
|
||||
@ApiModelProperty(value = "身份")
|
||||
@TableField("identity")
|
||||
private String identity;
|
||||
|
||||
@ApiModelProperty(value = "资料")
|
||||
@TableField("joinfile")
|
||||
private String joinfile;
|
||||
|
||||
@ApiModelProperty(value = "中文名")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "单位名称")
|
||||
private String unit;
|
||||
|
||||
@ApiModelProperty(value = "单位")
|
||||
private String unitId;
|
||||
|
||||
@ApiModelProperty(value = "电话")
|
||||
private String phone;
|
||||
|
||||
@ApiModelProperty(value = "邮箱")
|
||||
private String email;
|
||||
|
||||
@ApiModelProperty(value = "部门Id")
|
||||
private String deptId;
|
||||
|
||||
@ApiModelProperty(value = "部门名称")
|
||||
private String deptName;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.dto.WG;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 参会记录及资料
|
||||
* </p>
|
||||
*
|
||||
* @author super_liu
|
||||
* @since 2021-11-04
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value="WgMeetingInfo对象", description="参会记录及资料")
|
||||
@TableName("wg_meeting_info")
|
||||
public class WgMeetingInfo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "id")
|
||||
@TableId(value = "id",type = IdType.UUID)
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "工作组id")
|
||||
@TableField("wg_id")
|
||||
private String wgId;
|
||||
|
||||
@ApiModelProperty(value = "参会时间")
|
||||
@TableField("meeting_time")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date meetingTime;
|
||||
|
||||
@ApiModelProperty(value = "会议名称")
|
||||
@TableField("meeting_name")
|
||||
private String meetingName;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "会议报告")
|
||||
@TableField("meeting_report")
|
||||
private String meetingReport;
|
||||
|
||||
@ApiModelProperty(value = "会议资料")
|
||||
@TableField("joinfile")
|
||||
private String joinfile;
|
||||
|
||||
@ApiModelProperty(value = "前端id")
|
||||
@TableField("join_id")
|
||||
private String joinId;
|
||||
|
||||
@ApiModelProperty(value = "人员信息")
|
||||
@TableField(exist = false)
|
||||
private List<String> meetingPeople;
|
||||
|
||||
@TableField(exist = false)
|
||||
private List<WgMeetingUserRelationShow> joinMeetingPeopleInfo;
|
||||
|
||||
|
||||
}
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.dto.WG;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author super_liu
|
||||
* @since 2021-11-09
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value="WgMeetingUserRelation对象", description="")
|
||||
public class WgMeetingUserRelationShow {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "会议id")
|
||||
private String meetingId;
|
||||
|
||||
@ApiModelProperty(value = "人员id")
|
||||
private String userId;
|
||||
|
||||
@ApiModelProperty(value = "人员名称")
|
||||
private String name;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.dto.WG;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 工作组秘书联系方式
|
||||
* </p>
|
||||
*
|
||||
* @author super_liu
|
||||
* @since 2021-11-04
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value="WgNetInfo对象", description="工作组秘书联系方式")
|
||||
@TableName("wg_net_info")
|
||||
public class WgNetInfoDTO {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "id")
|
||||
@TableId(value = "id",type = IdType.UUID)
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "工作组id")
|
||||
@TableField("wg_id")
|
||||
private String wgId;
|
||||
|
||||
@ApiModelProperty(value = "人员id")
|
||||
@TableField("net_id")
|
||||
private String netId;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "前端id")
|
||||
@TableField("join_id")
|
||||
private String joinId;
|
||||
|
||||
@ApiModelProperty(value = "中文名")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "单位名称")
|
||||
private String unit;
|
||||
|
||||
@ApiModelProperty(value = "单位")
|
||||
private String unitId;
|
||||
|
||||
@ApiModelProperty(value = "电话")
|
||||
private String phone;
|
||||
|
||||
@ApiModelProperty(value = "邮箱")
|
||||
private String email;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.dto.WG;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 支付信息
|
||||
* </p>
|
||||
*
|
||||
* @author super_liu
|
||||
* @since 2021-11-04
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value="WgPayInfo对象", description="支付信息")
|
||||
@TableName("wg_pay_info")
|
||||
public class WgPayInfo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "id")
|
||||
@TableId(value = "id",type = IdType.UUID)
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "工作组id")
|
||||
@TableField("wg_id")
|
||||
private String wgId;
|
||||
|
||||
@ApiModelProperty(value = "价格")
|
||||
@TableField("price")
|
||||
private String price;
|
||||
|
||||
@ApiModelProperty(value = "年份")
|
||||
@TableField("year")
|
||||
private String year;
|
||||
|
||||
@ApiModelProperty(value = "支付状态(0:未支付,1:已支付)")
|
||||
@TableField("status")
|
||||
private String status;
|
||||
|
||||
@ApiModelProperty(value = "是否计划内(0:计划内,1:计划外)")
|
||||
@TableField("inplan")
|
||||
private String inplan;
|
||||
|
||||
@ApiModelProperty(value = "支付方式")
|
||||
@TableField("pay_way")
|
||||
private String payWay;
|
||||
|
||||
@ApiModelProperty(value = "支付资料")
|
||||
@TableField("joinfile")
|
||||
private String joinfile;
|
||||
|
||||
@ApiModelProperty(value = "费用列支")
|
||||
@TableField("pay_info")
|
||||
private String payInfo;
|
||||
|
||||
@ApiModelProperty(value = "前端id")
|
||||
@TableField("join_id")
|
||||
private String joinId;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.dto.WG;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 标准/政策 -信息
|
||||
* </p>
|
||||
*
|
||||
* @author super_liu
|
||||
* @since 2021-11-04
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value="WgStandorpolicyInfo对象", description="标准/政策 -信息")
|
||||
@TableName("wg_standorpolicy_info")
|
||||
public class WgStandorpolicyInfo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "id")
|
||||
@TableId(value = "id",type = IdType.UUID)
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "工作组id")
|
||||
@TableField("wg_id")
|
||||
private String wgId;
|
||||
|
||||
@ApiModelProperty(value = "关联标准政策id")
|
||||
@TableField("stand_id")
|
||||
private String standId;
|
||||
|
||||
@ApiModelProperty(value = "政策/标准 类别")
|
||||
@TableField(exist = false)
|
||||
private String categary;
|
||||
|
||||
@ApiModelProperty(value = "政策/标准 编号")
|
||||
@TableField(exist = false)
|
||||
private String number;
|
||||
|
||||
@ApiModelProperty(value = "政策/标准 年份")
|
||||
@TableField(exist = false)
|
||||
private String year;
|
||||
|
||||
@ApiModelProperty(value = "政策标准 名称")
|
||||
@TableField(exist = false)
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "政策/标准 英文名称")
|
||||
@TableField(exist = false)
|
||||
private String usname;
|
||||
|
||||
@ApiModelProperty(value = "文本状态")
|
||||
@TableField(exist = false)
|
||||
private String status;
|
||||
|
||||
@ApiModelProperty(value = "参与制定情况")
|
||||
@TableField(exist = false)
|
||||
private String joinDevelop;
|
||||
|
||||
@ApiModelProperty(value = "相关材料")
|
||||
@TableField(exist = false)
|
||||
private String netDatum;
|
||||
|
||||
@ApiModelProperty(value = "相关材料")
|
||||
@TableField(exist = false)
|
||||
private String dataType;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.dto.WG;
|
||||
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 工作组主表
|
||||
* </p>
|
||||
*
|
||||
* @author super_liu
|
||||
* @since 2021-11-04
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value="WgWorkGroup对象", description="工作组主表")
|
||||
public class WgWorkGroupShowDTO {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "工作组id")
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "父级id")
|
||||
private String pid;
|
||||
|
||||
@ApiModelProperty(value = "编号")
|
||||
private String number;
|
||||
|
||||
@ApiModelProperty(value = "名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "性质(0:标委会,1:分标委,2:工作组,3:政策)")
|
||||
private String nature;
|
||||
|
||||
@ApiModelProperty(value = "状态(0:流程中,1:流程已通过)")
|
||||
private String status;
|
||||
|
||||
@ApiModelProperty(value = "换届时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date changeTime;
|
||||
|
||||
@ApiModelProperty(value = "标准化工作领域")
|
||||
private String standerArea;
|
||||
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String mark;
|
||||
|
||||
@ApiModelProperty(value = "0:标准化流程 1:政策课题组")
|
||||
private String types;
|
||||
|
||||
private String level;
|
||||
|
||||
//支付信息
|
||||
List<WgPayInfo> wgPayInfos;
|
||||
|
||||
private String wgPayInfosDel;
|
||||
|
||||
//标准政策
|
||||
List<WgStandorpolicyInfo> wgStandorpolicyInfos;
|
||||
|
||||
//集团参与情况
|
||||
List<WgDeptShow> wgDepts;
|
||||
|
||||
private String wgDeptsDel;
|
||||
|
||||
//秘书联系方式
|
||||
List<WgNetInfoDTO> wgNetInfos;
|
||||
|
||||
private String wgNetInfosDel;
|
||||
|
||||
//参会记录及资料
|
||||
List<WgMeetingInfo> wgMeetingInfos;
|
||||
|
||||
private String wgMeetingInfosDel;
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,119 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class BusMesSpecial {
|
||||
|
||||
private String userId;
|
||||
|
||||
private String taskId;
|
||||
|
||||
private String json;
|
||||
|
||||
private String specialJson;
|
||||
|
||||
private String taskIds;
|
||||
|
||||
private String pId;
|
||||
|
||||
private String prcType;
|
||||
|
||||
private String createUser;
|
||||
|
||||
private String createUserName;
|
||||
|
||||
public String getDept() {
|
||||
return dept;
|
||||
}
|
||||
|
||||
public void setDept(String dept) {
|
||||
this.dept = dept;
|
||||
}
|
||||
|
||||
private String dept;
|
||||
|
||||
private String userName;
|
||||
|
||||
private String id;
|
||||
|
||||
public String getUserId() {
|
||||
return userId;
|
||||
}
|
||||
|
||||
public void setUserId(String userId) {
|
||||
this.userId = userId;
|
||||
}
|
||||
|
||||
public String getTaskId() {
|
||||
return taskId;
|
||||
}
|
||||
|
||||
public void setTaskId(String taskId) {
|
||||
this.taskId = taskId;
|
||||
}
|
||||
|
||||
public String getJson() {
|
||||
return json;
|
||||
}
|
||||
|
||||
public void setJson(String json) {
|
||||
this.json = json;
|
||||
}
|
||||
|
||||
public String getTaskIds() {
|
||||
return taskIds;
|
||||
}
|
||||
|
||||
public void setTaskIds(String taskIds) {
|
||||
this.taskIds = taskIds;
|
||||
}
|
||||
|
||||
public String getpId() {
|
||||
return pId;
|
||||
}
|
||||
|
||||
public void setpId(String pId) {
|
||||
this.pId = pId;
|
||||
}
|
||||
|
||||
public String getCreateUser() {
|
||||
return createUser;
|
||||
}
|
||||
|
||||
public void setCreateUser(String createUser) {
|
||||
this.createUser = createUser;
|
||||
}
|
||||
|
||||
public String getPrcType() {
|
||||
return prcType;
|
||||
}
|
||||
|
||||
public void setPrcType(String prcType) {
|
||||
this.prcType = prcType;
|
||||
}
|
||||
|
||||
public String getCreateUserName() {
|
||||
return createUserName;
|
||||
}
|
||||
|
||||
public void setCreateUserName(String createUserName) {
|
||||
this.createUserName = createUserName;
|
||||
}
|
||||
|
||||
public String getUserName() {
|
||||
return userName;
|
||||
}
|
||||
|
||||
public void setUserName(String userName) {
|
||||
this.userName = userName;
|
||||
}
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(String id) {
|
||||
this.id = id;
|
||||
}
|
||||
}
|
||||
+82
@@ -0,0 +1,82 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 流程评分历史表
|
||||
* </p>
|
||||
*
|
||||
* @author super_liu
|
||||
* @since 2021-09-17
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value="BusProcessEvaluationHis对象", description="流程评分历史表")
|
||||
public class BusProcessEvaluationHis implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
@ApiModelProperty(value = "主键")
|
||||
@TableId(value = "ID", type = IdType.UUID)
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "标准id")
|
||||
@TableField("STAND_ID")
|
||||
private String standId;
|
||||
|
||||
@ApiModelProperty(value = "处理人")
|
||||
@TableField("USER_ID")
|
||||
private String userId;
|
||||
|
||||
@ApiModelProperty(value = "信息")
|
||||
@TableField("MESG")
|
||||
private String mesg;
|
||||
|
||||
@ApiModelProperty(value = "节点信息")
|
||||
@TableField("TASK_INFO")
|
||||
private String taskInfo;
|
||||
|
||||
@ApiModelProperty(value = "任务id")
|
||||
@TableField("TASK_ID")
|
||||
private String taskId;
|
||||
|
||||
@ApiModelProperty(value = "流程实例id")
|
||||
@TableField("P_ID")
|
||||
private String pId;
|
||||
|
||||
@ApiModelProperty(value = "流程名称")
|
||||
@TableField("PRC_NAME")
|
||||
private String prcName;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
@TableField("CREATE_TIME")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private String createTime;
|
||||
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
@TableField("UPDATE_TIME")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private String updateTime;
|
||||
|
||||
@ApiModelProperty(value = "逻辑状态")
|
||||
@TableField("FLAG")
|
||||
private String flag;
|
||||
|
||||
@ApiModelProperty(value = "处理人姓名")
|
||||
@TableField(exist = false)
|
||||
private String userName;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,92 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 流程模块历史表
|
||||
* </p>
|
||||
*
|
||||
* @author super_liu
|
||||
* @since 2021-09-17
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value="BusProcessModelHis对象", description="流程模块历史表")
|
||||
public class BusProcessModelHis implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
@ApiModelProperty(value = "主键")
|
||||
@TableId(value = "ID", type = IdType.UUID)
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "标准id")
|
||||
@TableField("STAND_ID")
|
||||
private String standId;
|
||||
|
||||
@ApiModelProperty(value = "处理人")
|
||||
@TableField("USER_ID")
|
||||
private String userId;
|
||||
|
||||
@ApiModelProperty(value = "信息")
|
||||
@TableField("MESG")
|
||||
private String mesg;
|
||||
|
||||
@ApiModelProperty(value = "节点信息")
|
||||
@TableField("TASK_INFO")
|
||||
private String taskInfo;
|
||||
|
||||
@ApiModelProperty(value = "任务id")
|
||||
@TableField("TASK_ID")
|
||||
private String taskId;
|
||||
|
||||
@ApiModelProperty(value = "流程实例id")
|
||||
@TableField("P_ID")
|
||||
private String pId;
|
||||
|
||||
@ApiModelProperty(value = "流程名称")
|
||||
@TableField("PRC_NAME")
|
||||
private String prcName;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
@TableField("CREATE_TIME")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private String createTime;
|
||||
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
@TableField("UPDATE_TIME")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private String updateTime;
|
||||
|
||||
@ApiModelProperty(value = "onlyOffice 是否编辑 0 未编辑 1 已编辑")
|
||||
@TableField("EDIT_STATUS")
|
||||
private String editStatus;
|
||||
|
||||
@ApiModelProperty(value = "onlyOffice 编辑文件存储路径")
|
||||
@TableField("EDIT_FILE_PATH")
|
||||
private String editFilePath;
|
||||
|
||||
@ApiModelProperty(value = "onlyOffice 编辑类型 node 节点编辑 count 汇总编辑")
|
||||
@TableField("EDIT_TYPE")
|
||||
private String editType;
|
||||
|
||||
@ApiModelProperty(value = "逻辑状态")
|
||||
@TableField("FLAG")
|
||||
private String flag;
|
||||
|
||||
@ApiModelProperty(value = "onlyOffice 访问编辑文件全路径")
|
||||
@TableField(exist = false)
|
||||
private String downLoadUrl;
|
||||
}
|
||||
@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@@ -47,6 +49,7 @@ public class BusProcessName implements Serializable {
|
||||
private String prcNum;
|
||||
|
||||
@TableField("CREAT_TIME")
|
||||
@JsonFormat(timezone = "GMT+8")
|
||||
private String creatTime;
|
||||
|
||||
@TableField("CREAT_USER")
|
||||
|
||||
@@ -6,6 +6,9 @@ import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import java.time.LocalDateTime;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@@ -84,4 +87,37 @@ public class BusProcessNew implements Serializable {
|
||||
@ApiModelProperty(value = "子流程ID")
|
||||
@TableField("SUB_ID")
|
||||
private String subId;
|
||||
|
||||
@ApiModelProperty(value = "流程名称")
|
||||
@TableField("PRC_NAME")
|
||||
private String prcName;
|
||||
|
||||
@TableField("CREATE_TIME")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date createTime;
|
||||
|
||||
@TableField("UPDATE_TIME")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date updateTime;
|
||||
|
||||
@TableField( exist = false)
|
||||
@ApiModelProperty(value = "OA link")
|
||||
private String link;
|
||||
|
||||
@TableField( exist = false)
|
||||
@ApiModelProperty(value = "干活任务截止时间")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private String endTime;
|
||||
|
||||
@TableField( exist = false)
|
||||
@ApiModelProperty(value = "任务状态 0 默认 1 审批任务 2 干活任务")
|
||||
private int taskStatus;
|
||||
|
||||
@TableField( exist = false)
|
||||
@ApiModelProperty(value = "提交状态 0 提交 其它 接受 ")
|
||||
private long commitStatus;
|
||||
|
||||
@TableField( exist = false)
|
||||
@ApiModelProperty(value = "当前节点信息")
|
||||
private String nowTaskInfo;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value="EsPrcRelation对象", description="企标计划和技术标准流程关联表")
|
||||
public class EsPrcRelation implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "ID")
|
||||
@TableId(value = "ID", type = IdType.UUID)
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "企标计划ID")
|
||||
private String esId;
|
||||
|
||||
@ApiModelProperty(value = "流程ID")
|
||||
private String prcId;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date updateTime;
|
||||
|
||||
@ApiModelProperty(value = "OA待办标识")
|
||||
private String oaFlag; // 0-已办 1-待办
|
||||
|
||||
@ApiModelProperty(value = "企标计划管控流程的实例ID")
|
||||
private String prcIdGk;
|
||||
}
|
||||
@@ -0,0 +1,116 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 企标制修订计划
|
||||
* </p>
|
||||
*
|
||||
* @author zcr
|
||||
* @since 2021-11-14
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value="EsRevisePlan对象", description="企标制修订计划")
|
||||
public class EsRevisePlanDTO {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "主键")
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "企标名称")
|
||||
private String esName;
|
||||
|
||||
@ApiModelProperty(value = "计划状态")
|
||||
private String planStatus;
|
||||
|
||||
@ApiModelProperty(value = "制修订状态")
|
||||
private String reviseStatus;
|
||||
|
||||
@ApiModelProperty(value = "起草人")
|
||||
private String drafter;
|
||||
|
||||
@ApiModelProperty(value = "评审责任人")
|
||||
private String resPerson;
|
||||
|
||||
@ApiModelProperty(value = "工作组组长")
|
||||
private String wgLeader;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "起草人姓名")
|
||||
private String drafterName;
|
||||
|
||||
@ApiModelProperty(value = "评审责任人姓名")
|
||||
private String resPersonName;
|
||||
|
||||
@ApiModelProperty(value = "工作组组长姓名")
|
||||
private String wgLeaderName;
|
||||
|
||||
@ApiModelProperty(value = "计划标准初稿完成时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private Date draftTime;
|
||||
|
||||
@ApiModelProperty(value = "计划标准发布时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private Date releaseTime;
|
||||
|
||||
@ApiModelProperty(value = "起草责任单位")
|
||||
private String unit;
|
||||
|
||||
@ApiModelProperty(value = "起草责任单位ID")
|
||||
private String unitName;
|
||||
|
||||
@ApiModelProperty(value = "引入企业标准json(标准id)")
|
||||
private String rqbJson;
|
||||
@ApiModelProperty(value = "引入企业标准json(标准名称)")
|
||||
private String rqbName;
|
||||
@ApiModelProperty(value = "引入企业标准json(标准编号)")
|
||||
private String rqbCode;
|
||||
@ApiModelProperty(value = "体系结构树(id存储方式是逗号拼接)")
|
||||
private String tsJson;
|
||||
@ApiModelProperty(value = "体系结构树(名称逗号拼接展示)")
|
||||
private String tsJsonName;
|
||||
@ApiModelProperty(value = "标准范围")
|
||||
private String area;
|
||||
@ApiModelProperty(value = "标准范围")
|
||||
private String areaName;
|
||||
//企标类别
|
||||
private String standType;
|
||||
|
||||
@ApiModelProperty(value = "企标类别")
|
||||
private String esMatingRelations;
|
||||
private String esStandRelations;
|
||||
@ApiModelProperty(value = "是否引用标准")
|
||||
@TableField("is_relate")
|
||||
private String isRelate;
|
||||
|
||||
@ApiModelProperty(value = "采用程度")
|
||||
@TableField("use_level")
|
||||
private String useLevel;
|
||||
|
||||
private String useLevelName;
|
||||
|
||||
@ApiModelProperty(value = "简述技术指标依据")
|
||||
@TableField("technologic")
|
||||
private String technologic;
|
||||
|
||||
@ApiModelProperty(value = "企标类别")
|
||||
@TableField("buss_sort")
|
||||
private String bussSort;
|
||||
|
||||
@ApiModelProperty(value = "立项单")
|
||||
@TableField("LXD")
|
||||
private String lxd;
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value="EsTechRelation对象", description="企标计划和技术标准流程关联表")
|
||||
public class EsTechRelation {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "ID")
|
||||
@TableId(value = "ID", type = IdType.UUID)
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "企标计划ID")
|
||||
private String esId;
|
||||
|
||||
@ApiModelProperty(value = "复审流程实例ID")
|
||||
private String prcId;
|
||||
|
||||
@ApiModelProperty(value = "流程是否结束")
|
||||
private String finish;
|
||||
|
||||
@ApiModelProperty(value = "企标制修订技术标准流程实例ID")
|
||||
private String prcTechId;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import java.time.LocalDateTime;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* OA 干活任务执行表
|
||||
* </p>
|
||||
*
|
||||
* @author Super_liu
|
||||
* @since 2021-09-24
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value="OaTaskExec对象", description="OA 干活任务执行表")
|
||||
public class OaTaskExec implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
@ApiModelProperty(value = "主键")
|
||||
@TableId(value = "ID", type = IdType.UUID)
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "执行维度 1 3天内 2 3天外 3 超时")
|
||||
@TableField("EXEC_TYPE")
|
||||
private int execType;
|
||||
|
||||
@ApiModelProperty(value = "待办ID")
|
||||
@TableField("TODO_ID")
|
||||
private String todoId;
|
||||
|
||||
@ApiModelProperty(value = "待办用户ID")
|
||||
@TableField("USER_ID")
|
||||
private String userId;
|
||||
|
||||
@ApiModelProperty(value = "待办对象JSON")
|
||||
@TableField("MESG")
|
||||
private String mesg;
|
||||
|
||||
@ApiModelProperty(value = "执行状态 0 未启动 1 已启动 2 已完成")
|
||||
@TableField("EXEC_STATUS")
|
||||
private int execStatus;
|
||||
|
||||
@ApiModelProperty(value = "执行时间")
|
||||
@TableField("EXEC_TIME")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private String execTime;
|
||||
|
||||
@ApiModelProperty(value = "截止时间")
|
||||
@TableField("END_TIME")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private String endTime;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
@TableField("CREATE_TIME")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private String createTime;
|
||||
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
@TableField("UPDATE_TIME")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private String updateTime;
|
||||
|
||||
@ApiModelProperty(value = "参数1")
|
||||
@TableField("PARAM1")
|
||||
private int param1;
|
||||
|
||||
@ApiModelProperty(value = "参数2")
|
||||
@TableField("PARAM2")
|
||||
private String param2;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,528 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 企业标准信息表
|
||||
* </p>
|
||||
*
|
||||
* @author super_liu
|
||||
* @since 2021-07-13
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value="SarBussionessStand对象", description="企业标准信息表")
|
||||
public class SarBussionessStand {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "主键")
|
||||
@TableId("ID")
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "企标标准号")
|
||||
@TableField("STAND_CODE")
|
||||
private String standCode;
|
||||
|
||||
@ApiModelProperty(value = "标准编号")
|
||||
@TableField("STAND_NUMBER")
|
||||
private String standNumber;
|
||||
|
||||
@ApiModelProperty(value = "标准名称")
|
||||
@TableField("STAND_NAME")
|
||||
private String standName;
|
||||
|
||||
@ApiModelProperty(value = "标准英文名称")
|
||||
@TableField("STAND_EN_NAME")
|
||||
private String standEnName;
|
||||
|
||||
@ApiModelProperty(value = "发布日期")
|
||||
@TableField("ISSUE_TIME")
|
||||
private String issueTime;
|
||||
|
||||
@ApiModelProperty(value = "实施日期")
|
||||
@TableField("PUT_TIME")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private String putTime;
|
||||
|
||||
@ApiModelProperty(value = "代替标准号")
|
||||
@TableField("REPLACE_STAND_NUM")
|
||||
private String replaceStandNum;
|
||||
|
||||
@ApiModelProperty(value = "被代替标准号")
|
||||
@TableField("REPLACED_STAND_NUM")
|
||||
private String replacedStandNum;
|
||||
|
||||
@ApiModelProperty(value = "标准状态")
|
||||
@TableField("STAND_STATUS")
|
||||
private String standStatus;
|
||||
|
||||
@ApiModelProperty(value = "适用国家/地区")
|
||||
@TableField("APPLY_COUNTRY")
|
||||
private String applyCountry;
|
||||
|
||||
@ApiModelProperty(value = "标准性质")
|
||||
@TableField("STAND_NATURE")
|
||||
private String standNature;
|
||||
|
||||
@ApiModelProperty(value = "标准类别")
|
||||
@TableField("STAND_SORT")
|
||||
private String standSort;
|
||||
|
||||
@ApiModelProperty(value = "标准年份")
|
||||
@TableField("STAND_YEAR")
|
||||
private String standYear;
|
||||
|
||||
@ApiModelProperty(value = "是否有效")
|
||||
@TableField("VALID_FLAG")
|
||||
private Integer validFlag;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
@TableField("CREATION_TIME")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date creationTime;
|
||||
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
@TableField("MODIFY_TIME")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date modifyTime;
|
||||
|
||||
// 新添加字段
|
||||
@ApiModelProperty(value = "文本状态")
|
||||
@TableField("TEXT_STATUS_BUSS")
|
||||
private String textStatusBuss;
|
||||
|
||||
|
||||
// 非表字段
|
||||
@TableField(exist = false)
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private String firstPutTime;
|
||||
|
||||
@TableField(exist = false)
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private String putTimeShow;
|
||||
|
||||
@TableField(exist = false)
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private String issueTimeShow;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String issueTimeStr;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String putTimeStr;
|
||||
|
||||
//目录ID 非标准信息表中的字段
|
||||
@TableField(exist = false)
|
||||
private String menuId;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String menuParentId;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String standStatusShow; // 标准状态下拉框 --单选
|
||||
|
||||
@TableField(exist = false)
|
||||
private String standNatrueShow;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String standSortShow;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String applyCountryShow;
|
||||
|
||||
@TableField(exist = false)
|
||||
private List<AttFileVo> standFileList = new ArrayList<AttFileVo>();
|
||||
|
||||
@TableField(exist = false)
|
||||
private List<AttFileVo> opinionFilesList = new ArrayList<AttFileVo>();
|
||||
|
||||
@TableField(exist = false)
|
||||
private List<AttFileVo> relevanceFileList = new ArrayList<AttFileVo>();
|
||||
|
||||
@TableField(exist = false)
|
||||
private String collectId;
|
||||
|
||||
//文件的类型
|
||||
@TableField(exist = false)
|
||||
private String standFileClassify;
|
||||
|
||||
//文件的下载id
|
||||
@TableField(exist = false)
|
||||
private String attId;
|
||||
|
||||
//记录是否修改了替代文件号
|
||||
@TableField(exist = false)
|
||||
private int upReplaceNumFlag;
|
||||
//记录是否修改了文件号
|
||||
@TableField(exist = false)
|
||||
private int upNumFlag;
|
||||
// 数据库新加的字段
|
||||
|
||||
@TableField(exist = false)
|
||||
private String remark;//备注
|
||||
|
||||
@TableField(exist = false)
|
||||
private Map<String, Object> attrInfoMap = new LinkedHashMap<>(); //属性表字段与值
|
||||
|
||||
@TableField(exist = false)
|
||||
private Map<String, Object> attrInfoCaseMap = new LinkedHashMap<>(); //属性表字段与值小写前端带入渲染
|
||||
|
||||
@TableField(exist = false)
|
||||
private String sarStandAttrEOStr; //新增修改时属性表信息
|
||||
|
||||
@TableField(exist = false)
|
||||
private String fileIds; //全部文件ID
|
||||
|
||||
@TableField(exist = false)
|
||||
private List<SarStandAttrDetailsEO> attrInfoList = new ArrayList<>();
|
||||
|
||||
public static long getSerialVersionUID() {
|
||||
return serialVersionUID;
|
||||
}
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(String id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getStandCode() {
|
||||
return standCode;
|
||||
}
|
||||
|
||||
public void setStandCode(String standCode) {
|
||||
this.standCode = standCode;
|
||||
}
|
||||
|
||||
public String getStandName() {
|
||||
return standName;
|
||||
}
|
||||
|
||||
public void setStandName(String standName) {
|
||||
this.standName = standName;
|
||||
}
|
||||
|
||||
public String getStandEnName() {
|
||||
return standEnName;
|
||||
}
|
||||
|
||||
public void setStandEnName(String standEnName) {
|
||||
this.standEnName = standEnName;
|
||||
}
|
||||
|
||||
public String getIssueTime() {
|
||||
return issueTime;
|
||||
}
|
||||
|
||||
public void setIssueTime(String issueTime) {
|
||||
this.issueTime = issueTime;
|
||||
}
|
||||
|
||||
public String getPutTime() {
|
||||
return putTime;
|
||||
}
|
||||
|
||||
public void setPutTime(String putTime) {
|
||||
this.putTime = putTime;
|
||||
}
|
||||
|
||||
public String getReplaceStandNum() {
|
||||
return replaceStandNum;
|
||||
}
|
||||
|
||||
public void setReplaceStandNum(String replaceStandNum) {
|
||||
this.replaceStandNum = replaceStandNum;
|
||||
}
|
||||
|
||||
public String getReplacedStandNum() {
|
||||
return replacedStandNum;
|
||||
}
|
||||
|
||||
public void setReplacedStandNum(String replacedStandNum) {
|
||||
this.replacedStandNum = replacedStandNum;
|
||||
}
|
||||
|
||||
public String getStandStatus() {
|
||||
return standStatus;
|
||||
}
|
||||
|
||||
public void setStandStatus(String standStatus) {
|
||||
this.standStatus = standStatus;
|
||||
}
|
||||
|
||||
public String getApplyCountry() {
|
||||
return applyCountry;
|
||||
}
|
||||
|
||||
public void setApplyCountry(String applyCountry) {
|
||||
this.applyCountry = applyCountry;
|
||||
}
|
||||
|
||||
public String getStandNature() {
|
||||
return standNature;
|
||||
}
|
||||
|
||||
public void setStandNature(String standNature) {
|
||||
this.standNature = standNature;
|
||||
}
|
||||
|
||||
public String getStandSort() {
|
||||
return standSort;
|
||||
}
|
||||
|
||||
public void setStandSort(String standSort) {
|
||||
this.standSort = standSort;
|
||||
}
|
||||
|
||||
public String getStandYear() {
|
||||
return standYear;
|
||||
}
|
||||
|
||||
public void setStandYear(String standYear) {
|
||||
this.standYear = standYear;
|
||||
}
|
||||
|
||||
public Integer getValidFlag() {
|
||||
return validFlag;
|
||||
}
|
||||
|
||||
public void setValidFlag(Integer validFlag) {
|
||||
this.validFlag = validFlag;
|
||||
}
|
||||
|
||||
public Date getCreationTime() {
|
||||
return creationTime;
|
||||
}
|
||||
|
||||
public void setCreationTime(Date creationTime) {
|
||||
this.creationTime = creationTime;
|
||||
}
|
||||
|
||||
public Date getModifyTime() {
|
||||
return modifyTime;
|
||||
}
|
||||
|
||||
public void setModifyTime(Date modifyTime) {
|
||||
this.modifyTime = modifyTime;
|
||||
}
|
||||
|
||||
public String getTextStatusBuss() {
|
||||
return textStatusBuss;
|
||||
}
|
||||
|
||||
public void setTextStatusBuss(String textStatusBuss) {
|
||||
this.textStatusBuss = textStatusBuss;
|
||||
}
|
||||
|
||||
public String getFirstPutTime() {
|
||||
return firstPutTime;
|
||||
}
|
||||
|
||||
public void setFirstPutTime(String firstPutTime) {
|
||||
this.firstPutTime = firstPutTime;
|
||||
}
|
||||
|
||||
public String getPutTimeShow() {
|
||||
return putTimeShow;
|
||||
}
|
||||
|
||||
public void setPutTimeShow(String putTimeShow) {
|
||||
this.putTimeShow = putTimeShow;
|
||||
}
|
||||
|
||||
public String getIssueTimeShow() {
|
||||
return issueTimeShow;
|
||||
}
|
||||
|
||||
public void setIssueTimeShow(String issueTimeShow) {
|
||||
this.issueTimeShow = issueTimeShow;
|
||||
}
|
||||
|
||||
public String getIssueTimeStr() {
|
||||
return issueTimeStr;
|
||||
}
|
||||
|
||||
public void setIssueTimeStr(String issueTimeStr) {
|
||||
this.issueTimeStr = issueTimeStr;
|
||||
}
|
||||
|
||||
public String getPutTimeStr() {
|
||||
return putTimeStr;
|
||||
}
|
||||
|
||||
public void setPutTimeStr(String putTimeStr) {
|
||||
this.putTimeStr = putTimeStr;
|
||||
}
|
||||
|
||||
public String getMenuId() {
|
||||
return menuId;
|
||||
}
|
||||
|
||||
public void setMenuId(String menuId) {
|
||||
this.menuId = menuId;
|
||||
}
|
||||
|
||||
public String getMenuParentId() {
|
||||
return menuParentId;
|
||||
}
|
||||
|
||||
public void setMenuParentId(String menuParentId) {
|
||||
this.menuParentId = menuParentId;
|
||||
}
|
||||
|
||||
public String getStandStatusShow() {
|
||||
return standStatusShow;
|
||||
}
|
||||
|
||||
public void setStandStatusShow(String standStatusShow) {
|
||||
this.standStatusShow = standStatusShow;
|
||||
}
|
||||
|
||||
public String getStandNatrueShow() {
|
||||
return standNatrueShow;
|
||||
}
|
||||
|
||||
public void setStandNatrueShow(String standNatrueShow) {
|
||||
this.standNatrueShow = standNatrueShow;
|
||||
}
|
||||
|
||||
public String getStandSortShow() {
|
||||
return standSortShow;
|
||||
}
|
||||
|
||||
public void setStandSortShow(String standSortShow) {
|
||||
this.standSortShow = standSortShow;
|
||||
}
|
||||
|
||||
public String getApplyCountryShow() {
|
||||
return applyCountryShow;
|
||||
}
|
||||
|
||||
public void setApplyCountryShow(String applyCountryShow) {
|
||||
this.applyCountryShow = applyCountryShow;
|
||||
}
|
||||
|
||||
public List<AttFileVo> getStandFileList() {
|
||||
return standFileList;
|
||||
}
|
||||
|
||||
public void setStandFileList(List<AttFileVo> standFileList) {
|
||||
this.standFileList = standFileList;
|
||||
}
|
||||
|
||||
public List<AttFileVo> getOpinionFilesList() {
|
||||
return opinionFilesList;
|
||||
}
|
||||
|
||||
public void setOpinionFilesList(List<AttFileVo> opinionFilesList) {
|
||||
this.opinionFilesList = opinionFilesList;
|
||||
}
|
||||
|
||||
public List<AttFileVo> getRelevanceFileList() {
|
||||
return relevanceFileList;
|
||||
}
|
||||
|
||||
public void setRelevanceFileList(List<AttFileVo> relevanceFileList) {
|
||||
this.relevanceFileList = relevanceFileList;
|
||||
}
|
||||
|
||||
public String getCollectId() {
|
||||
return collectId;
|
||||
}
|
||||
|
||||
public void setCollectId(String collectId) {
|
||||
this.collectId = collectId;
|
||||
}
|
||||
|
||||
public String getStandFileClassify() {
|
||||
return standFileClassify;
|
||||
}
|
||||
|
||||
public void setStandFileClassify(String standFileClassify) {
|
||||
this.standFileClassify = standFileClassify;
|
||||
}
|
||||
|
||||
public String getAttId() {
|
||||
return attId;
|
||||
}
|
||||
|
||||
public void setAttId(String attId) {
|
||||
this.attId = attId;
|
||||
}
|
||||
|
||||
public int getUpReplaceNumFlag() {
|
||||
return upReplaceNumFlag;
|
||||
}
|
||||
|
||||
public void setUpReplaceNumFlag(int upReplaceNumFlag) {
|
||||
this.upReplaceNumFlag = upReplaceNumFlag;
|
||||
}
|
||||
|
||||
public int getUpNumFlag() {
|
||||
return upNumFlag;
|
||||
}
|
||||
|
||||
public void setUpNumFlag(int upNumFlag) {
|
||||
this.upNumFlag = upNumFlag;
|
||||
}
|
||||
|
||||
public String getRemark() {
|
||||
return remark;
|
||||
}
|
||||
|
||||
public void setRemark(String remark) {
|
||||
this.remark = remark;
|
||||
}
|
||||
|
||||
public Map<String, Object> getAttrInfoMap() {
|
||||
return attrInfoMap;
|
||||
}
|
||||
|
||||
public void setAttrInfoMap(Map<String, Object> attrInfoMap) {
|
||||
this.attrInfoMap = attrInfoMap;
|
||||
}
|
||||
|
||||
public Map<String, Object> getAttrInfoCaseMap() {
|
||||
return attrInfoCaseMap;
|
||||
}
|
||||
|
||||
public void setAttrInfoCaseMap(Map<String, Object> attrInfoCaseMap) {
|
||||
this.attrInfoCaseMap = attrInfoCaseMap;
|
||||
}
|
||||
|
||||
public String getSarStandAttrEOStr() {
|
||||
return sarStandAttrEOStr;
|
||||
}
|
||||
|
||||
public void setSarStandAttrEOStr(String sarStandAttrEOStr) {
|
||||
this.sarStandAttrEOStr = sarStandAttrEOStr;
|
||||
}
|
||||
|
||||
public String getFileIds() {
|
||||
return fileIds;
|
||||
}
|
||||
|
||||
public void setFileIds(String fileIds) {
|
||||
this.fileIds = fileIds;
|
||||
}
|
||||
|
||||
public List<SarStandAttrDetailsEO> getAttrInfoList() {
|
||||
return attrInfoList;
|
||||
}
|
||||
|
||||
public void setAttrInfoList(List<SarStandAttrDetailsEO> attrInfoList) {
|
||||
this.attrInfoList = attrInfoList;
|
||||
}
|
||||
}
|
||||
+72
@@ -0,0 +1,72 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.entity;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 企业标准信息复审表
|
||||
* </p>
|
||||
*
|
||||
* @author super_liu
|
||||
* @since 2022-01-23
|
||||
*/
|
||||
@Data
|
||||
@ApiModel(value="SarBussionessStandStatePage对象", description="企业标准信息复审表分页")
|
||||
public class SarBussionessStandStatePage{
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "主键/企业标准信息主键")
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "企标ID")
|
||||
private String standId;
|
||||
|
||||
@ApiModelProperty(value = "名称")
|
||||
private String standName;
|
||||
|
||||
@ApiModelProperty(value = "企标编号")
|
||||
private String standCode;
|
||||
|
||||
@ApiModelProperty(value = "复审时间")
|
||||
private Date reviewTime;
|
||||
|
||||
@ApiModelProperty(value = "发布日期")
|
||||
private Date issueTime;
|
||||
|
||||
@ApiModelProperty(value = "复审结果 1 修订、2 废止、3 继续有效")
|
||||
private Integer reviewResults;
|
||||
|
||||
@ApiModelProperty(value = "复审关联流程编号")
|
||||
private String reviewProcessNum;
|
||||
|
||||
@ApiModelProperty(value = "创建日期")
|
||||
private Date creationTime;
|
||||
|
||||
@ApiModelProperty(value = "更新日期")
|
||||
private Date modifyTime;
|
||||
|
||||
private Integer validFlag;
|
||||
|
||||
@ApiModelProperty(value = "参数1")
|
||||
private Integer param1;
|
||||
|
||||
@ApiModelProperty(value = "参数2")
|
||||
private String param2;
|
||||
|
||||
private String reviewTimeStart;
|
||||
private String reviewTimeEnd;
|
||||
|
||||
private String issueTimeStart;
|
||||
private String issueTimeEnd;
|
||||
|
||||
private String QCDW;
|
||||
private String QCRBUSS;
|
||||
private String standSort;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import java.time.LocalDateTime;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* OA日志表
|
||||
* </p>
|
||||
*
|
||||
* @author super_liu
|
||||
* @since 2021-09-17
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value="SendTodoLog对象", description="OA日志表")
|
||||
public class SendTodoLog implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
@ApiModelProperty(value = "主键")
|
||||
@TableId(value = "ID", type = IdType.UUID)
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "类型 0 待办, 1已办, 2 取消, 3 删除")
|
||||
@TableField("MSG_TYPE")
|
||||
private String msgType;
|
||||
|
||||
@ApiModelProperty(value = "待办ID")
|
||||
@TableField("TODO_ID")
|
||||
private String todoId;
|
||||
|
||||
@ApiModelProperty(value = "待办用户ID")
|
||||
@TableField("USER_ID")
|
||||
private String userId;
|
||||
|
||||
@ApiModelProperty(value = "邮箱用户ID")
|
||||
@TableField("EMAIL_USER_ID")
|
||||
private String emailUserId;
|
||||
|
||||
@ApiModelProperty(value = "待办对象JSON")
|
||||
@TableField("MESG")
|
||||
private String mesg;
|
||||
|
||||
@ApiModelProperty(value = "状态 1 待发送 2 成功 3 失败 4 无需发送")
|
||||
@TableField("MSG_STATUS")
|
||||
private String msgStatus;
|
||||
|
||||
@ApiModelProperty(value = "失败次数")
|
||||
@TableField("ERR_NUM")
|
||||
private int errNum;
|
||||
|
||||
@ApiModelProperty(value = "操作信息")
|
||||
@TableField("OPER_MESG")
|
||||
private String operMesg;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
@TableField("CREATE_TIME")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private String createTime;
|
||||
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
@TableField("UPDATE_TIME")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private String updateTime;
|
||||
|
||||
@ApiModelProperty(value = "参数1")
|
||||
@TableField("PARAM1")
|
||||
private String param1;
|
||||
|
||||
@ApiModelProperty(value = "参数2")
|
||||
@TableField("PARAM2")
|
||||
private String param2;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 动态定时任务表
|
||||
* </p>
|
||||
*
|
||||
* @author super_liu
|
||||
* @since 2022-05-27
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value="TbTask对象", description="动态定时任务表")
|
||||
public class TbTask implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "定时任务id")
|
||||
@TableId("ID")
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "定时任务名称")
|
||||
private String taskName;
|
||||
|
||||
@ApiModelProperty(value = "定时任务描述")
|
||||
private String taskDesc;
|
||||
|
||||
@ApiModelProperty(value = "定时任务Cron表达式")
|
||||
private String taskExp;
|
||||
|
||||
@ApiModelProperty(value = "定时任务状态,0停用 1启用")
|
||||
private Integer taskStatus;
|
||||
|
||||
@ApiModelProperty(value = "定时任务的Runnable任务类完整路径")
|
||||
private String taskClass;
|
||||
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private Date updateTime;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private Date createTime;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
/**
|
||||
* Copyright 2022 bejson.com
|
||||
*/
|
||||
package com.ydw.bat.wkflow.business_main.datas.entity.standState;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* Auto-generated: 2022-06-23 15:31:2
|
||||
*
|
||||
* @author bejson.com (i@bejson.com)
|
||||
* @website http://www.bejson.com/java2pojo/
|
||||
*/
|
||||
@Data
|
||||
public class ModelData {
|
||||
|
||||
private String id;
|
||||
private String standId;
|
||||
private String standName;
|
||||
private String standCode;
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private String reviewTime;
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private String issueTime;
|
||||
private String reviewResults;
|
||||
private String reviewProcessNum;
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private String creationTime;
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private String modifyTime;
|
||||
private int validFlag;
|
||||
private String param1;
|
||||
private String param2;
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private String putTime;
|
||||
private String standSort;
|
||||
private String qcdw;
|
||||
private String fsrqbuss;
|
||||
private String qcrbuss;
|
||||
private String processStatus;
|
||||
private String bussFsSubUser1;
|
||||
private String bussFsSubUser1Name;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,95 @@
|
||||
/**
|
||||
* Copyright 2022 bejson.com
|
||||
*/
|
||||
package com.ydw.bat.wkflow.business_main.datas.entity.standState;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Auto-generated: 2022-06-23 15:31:2
|
||||
*
|
||||
* @author bejson.com (i@bejson.com)
|
||||
* @website http://www.bejson.com/java2pojo/
|
||||
*/
|
||||
public class QbfsForm {
|
||||
|
||||
private List<ModelData> modelData;
|
||||
private String entNumber= "";
|
||||
private String cnName= "";
|
||||
private String enName= "";
|
||||
private String entCategory= "";
|
||||
private String replaceNumber= "";
|
||||
private String replacedNumber= "";
|
||||
private String releaseDate= "";
|
||||
private String implementDate= "";
|
||||
private String reviewDate= "";
|
||||
public void setModelData(List<ModelData> modelData) {
|
||||
this.modelData = modelData;
|
||||
}
|
||||
public List<ModelData> getModelData() {
|
||||
return modelData;
|
||||
}
|
||||
|
||||
public void setEntNumber(String entNumber) {
|
||||
this.entNumber = entNumber;
|
||||
}
|
||||
public String getEntNumber() {
|
||||
return entNumber;
|
||||
}
|
||||
|
||||
public void setCnName(String cnName) {
|
||||
this.cnName = cnName;
|
||||
}
|
||||
public String getCnName() {
|
||||
return cnName;
|
||||
}
|
||||
|
||||
public void setEnName(String enName) {
|
||||
this.enName = enName;
|
||||
}
|
||||
public String getEnName() {
|
||||
return enName;
|
||||
}
|
||||
|
||||
public void setEntCategory(String entCategory) {
|
||||
this.entCategory = entCategory;
|
||||
}
|
||||
public String getEntCategory() {
|
||||
return entCategory;
|
||||
}
|
||||
|
||||
public void setReplaceNumber(String replaceNumber) {
|
||||
this.replaceNumber = replaceNumber;
|
||||
}
|
||||
public String getReplaceNumber() {
|
||||
return replaceNumber;
|
||||
}
|
||||
|
||||
public void setReplacedNumber(String replacedNumber) {
|
||||
this.replacedNumber = replacedNumber;
|
||||
}
|
||||
public String getReplacedNumber() {
|
||||
return replacedNumber;
|
||||
}
|
||||
|
||||
public void setReleaseDate(String releaseDate) {
|
||||
this.releaseDate = releaseDate;
|
||||
}
|
||||
public String getReleaseDate() {
|
||||
return releaseDate;
|
||||
}
|
||||
|
||||
public void setImplementDate(String implementDate) {
|
||||
this.implementDate = implementDate;
|
||||
}
|
||||
public String getImplementDate() {
|
||||
return implementDate;
|
||||
}
|
||||
|
||||
public void setReviewDate(String reviewDate) {
|
||||
this.reviewDate = reviewDate;
|
||||
}
|
||||
public String getReviewDate() {
|
||||
return reviewDate;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,110 @@
|
||||
/**
|
||||
* Copyright 2022 bejson.com
|
||||
*/
|
||||
package com.ydw.bat.wkflow.business_main.datas.entity.standState;
|
||||
|
||||
/**
|
||||
* Auto-generated: 2022-06-23 15:31:2
|
||||
*
|
||||
* @author bejson.com (i@bejson.com)
|
||||
* @website http://www.bejson.com/java2pojo/
|
||||
*/
|
||||
public class RoleForm {
|
||||
|
||||
private String prcCreateUserName = "";
|
||||
private String prcCreateUser= "";
|
||||
private String dockUser= "";
|
||||
private String dockUserName= "";
|
||||
private String bussFsSubUser2= "";
|
||||
private String bussFsSubUser2Name= "";
|
||||
private String bussFsUser2= "";
|
||||
private String bussFsUser2Name= "";
|
||||
private String bussFsUserC2= "";
|
||||
private String bussFsUserC2Name= "";
|
||||
private String bussFsUser3= "";
|
||||
private String bussFsUser3Name= "";
|
||||
public void setPrcCreateUserName(String prcCreateUserName) {
|
||||
this.prcCreateUserName = prcCreateUserName;
|
||||
}
|
||||
public String getPrcCreateUserName() {
|
||||
return prcCreateUserName;
|
||||
}
|
||||
|
||||
public void setPrcCreateUser(String prcCreateUser) {
|
||||
this.prcCreateUser = prcCreateUser;
|
||||
}
|
||||
public String getPrcCreateUser() {
|
||||
return prcCreateUser;
|
||||
}
|
||||
|
||||
public void setDockUser(String dockUser) {
|
||||
this.dockUser = dockUser;
|
||||
}
|
||||
public String getDockUser() {
|
||||
return dockUser;
|
||||
}
|
||||
|
||||
public void setDockUserName(String dockUserName) {
|
||||
this.dockUserName = dockUserName;
|
||||
}
|
||||
public String getDockUserName() {
|
||||
return dockUserName;
|
||||
}
|
||||
|
||||
public void setBussFsSubUser2(String bussFsSubUser2) {
|
||||
this.bussFsSubUser2 = bussFsSubUser2;
|
||||
}
|
||||
public String getBussFsSubUser2() {
|
||||
return bussFsSubUser2;
|
||||
}
|
||||
|
||||
public void setBussFsSubUser2Name(String bussFsSubUser2Name) {
|
||||
this.bussFsSubUser2Name = bussFsSubUser2Name;
|
||||
}
|
||||
public String getBussFsSubUser2Name() {
|
||||
return bussFsSubUser2Name;
|
||||
}
|
||||
|
||||
public void setBussFsUser2(String bussFsUser2) {
|
||||
this.bussFsUser2 = bussFsUser2;
|
||||
}
|
||||
public String getBussFsUser2() {
|
||||
return bussFsUser2;
|
||||
}
|
||||
|
||||
public void setBussFsUser2Name(String bussFsUser2Name) {
|
||||
this.bussFsUser2Name = bussFsUser2Name;
|
||||
}
|
||||
public String getBussFsUser2Name() {
|
||||
return bussFsUser2Name;
|
||||
}
|
||||
|
||||
public void setBussFsUserC2(String bussFsUserC2) {
|
||||
this.bussFsUserC2 = bussFsUserC2;
|
||||
}
|
||||
public String getBussFsUserC2() {
|
||||
return bussFsUserC2;
|
||||
}
|
||||
|
||||
public void setBussFsUserC2Name(String bussFsUserC2Name) {
|
||||
this.bussFsUserC2Name = bussFsUserC2Name;
|
||||
}
|
||||
public String getBussFsUserC2Name() {
|
||||
return bussFsUserC2Name;
|
||||
}
|
||||
|
||||
public void setBussFsUser3(String bussFsUser3) {
|
||||
this.bussFsUser3 = bussFsUser3;
|
||||
}
|
||||
public String getBussFsUser3() {
|
||||
return bussFsUser3;
|
||||
}
|
||||
|
||||
public void setBussFsUser3Name(String bussFsUser3Name) {
|
||||
this.bussFsUser3Name = bussFsUser3Name;
|
||||
}
|
||||
public String getBussFsUser3Name() {
|
||||
return bussFsUser3Name;
|
||||
}
|
||||
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
/**
|
||||
* Copyright 2022 bejson.com
|
||||
*/
|
||||
package com.ydw.bat.wkflow.business_main.datas.entity.standState;
|
||||
|
||||
/**
|
||||
* Auto-generated: 2022-06-23 15:31:2
|
||||
*
|
||||
* @author bejson.com (i@bejson.com)
|
||||
* @website http://www.bejson.com/java2pojo/
|
||||
*/
|
||||
public class StandStateDraft {
|
||||
|
||||
private String taskInfo="起草";
|
||||
private RoleForm roleForm;
|
||||
private QbfsForm qbfsForm;
|
||||
private String commentText= "";
|
||||
public void setTaskInfo(String taskInfo) {
|
||||
this.taskInfo = taskInfo;
|
||||
}
|
||||
public String getTaskInfo() {
|
||||
return taskInfo;
|
||||
}
|
||||
|
||||
public void setRoleForm(RoleForm roleForm) {
|
||||
this.roleForm = roleForm;
|
||||
}
|
||||
public RoleForm getRoleForm() {
|
||||
return roleForm;
|
||||
}
|
||||
|
||||
public void setQbfsForm(QbfsForm qbfsForm) {
|
||||
this.qbfsForm = qbfsForm;
|
||||
}
|
||||
public QbfsForm getQbfsForm() {
|
||||
return qbfsForm;
|
||||
}
|
||||
|
||||
public void setCommentText(String commentText) {
|
||||
this.commentText = commentText;
|
||||
}
|
||||
public String getCommentText() {
|
||||
return commentText;
|
||||
}
|
||||
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessEvaluationHis;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 流程评分历史表 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author super_liu
|
||||
* @since 2021-09-17
|
||||
*/
|
||||
@Repository
|
||||
public interface BusProcessEvaluationHisMapper extends BaseMapper<BusProcessEvaluationHis> {
|
||||
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessEvaluationHis;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessModelHis;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 流程模块历史表 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author super_liu
|
||||
* @since 2021-09-17
|
||||
*/
|
||||
@Repository
|
||||
public interface BusProcessModelHisMapper extends BaseMapper<BusProcessModelHis> {
|
||||
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.mapper;
|
||||
|
||||
import com.ydw.bat.wkflow.business_activiti.dto.TaskCommonQuery;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
@@ -19,4 +20,6 @@ public interface BusProcessNameMapper extends BaseMapper<BusProcessName> {
|
||||
//查询符合要求的 name 信息
|
||||
List<BusProcessName> findBusProcessNameForEnd(String taskId);
|
||||
|
||||
List<BusProcessName> todoTask(@Param("task") TaskCommonQuery taskCommonQuery);
|
||||
|
||||
}
|
||||
|
||||
@@ -26,4 +26,12 @@ public interface BusProcessNewMapper extends BaseMapper<BusProcessNew> {
|
||||
List<BusProcessNew> findNoExecuteBusProcessNewForEnd(@Param("taskIds")List<String> taskIds);
|
||||
// String queryTaskName(@Param("id")String id);
|
||||
|
||||
List<BusProcessNew> findLastworkPeople(@Param("key")String key,@Param("pId")String pId);
|
||||
|
||||
List<BusProcessNew> findLastworkPeople2(@Param("key")String key,@Param("pId")String pId);
|
||||
|
||||
List<BusProcessNew> everyDayTenOlock();
|
||||
|
||||
List<BusProcessNew> everyDayTenOlockSAM();
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.EsPrcRelation;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 企标计划和技术标准流程关联表 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author iyawei
|
||||
* @since 2022-11-18
|
||||
*/
|
||||
@Repository
|
||||
public interface EsPrcRelationMapper extends BaseMapper<EsPrcRelation> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.EsTechRelation;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public interface EsTechRelationMapper extends BaseMapper<EsTechRelation> {
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.mapper;
|
||||
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.OaTaskExec;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* OA 干活任务执行表 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author Super_liu
|
||||
* @since 2021-09-24
|
||||
*/
|
||||
public interface OaTaskExecMapper extends BaseMapper<OaTaskExec> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.mapper;
|
||||
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.SendTodoLog;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* OA日志表 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author super_liu
|
||||
* @since 2021-09-17
|
||||
*/
|
||||
@Repository
|
||||
public interface SendTodoLogMapper extends BaseMapper<SendTodoLog> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.TbTask;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 动态定时任务表 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author super_liu
|
||||
* @since 2022-05-27
|
||||
*/
|
||||
@Repository
|
||||
public interface TbTaskMapper extends BaseMapper<TbTask> {
|
||||
|
||||
}
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessEvaluationHis;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 流程评分历史表 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author super_liu
|
||||
* @since 2021-09-17
|
||||
*/
|
||||
public interface IBusProcessEvaluationHisService extends IService<BusProcessEvaluationHis> {
|
||||
|
||||
Map<String,Integer> evaluationHisListRepSum(String pid);
|
||||
|
||||
BusProcessEvaluationHis evaluationHisListByOne(String pid,String taskInfo);
|
||||
|
||||
List<BusProcessEvaluationHis> evaluationHisListRep(String pid);
|
||||
|
||||
List<BusProcessEvaluationHis> evaluationHisList(String pid);
|
||||
}
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessEvaluationHis;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessModelHis;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 流程模块历史表 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author super_liu
|
||||
* @since 2021-09-17
|
||||
*/
|
||||
public interface IBusProcessModelHisService extends IService<BusProcessModelHis> {
|
||||
|
||||
BusProcessModelHis modelHisOneUpdStatusById(String id);
|
||||
|
||||
BusProcessModelHis modelHisOneUpdStatus(String pid,String taskId);
|
||||
|
||||
BusProcessModelHis modelHisOneCount(String pid);
|
||||
|
||||
BusProcessModelHis processEditFile(String id);
|
||||
|
||||
BusProcessModelHis modelHisOne(String pid,String taskId);
|
||||
|
||||
BusProcessModelHis saveEditFile(String model);
|
||||
|
||||
List<BusProcessModelHis> modelHisList(String pid);
|
||||
|
||||
String saveBussModelFile(String pid, String taskId);
|
||||
|
||||
String mergeModelFile(String pid, String taskId,String fileSuffix);
|
||||
|
||||
void saveBussTemplateFile(JSONObject object, String pid);
|
||||
}
|
||||
+7
@@ -1,5 +1,6 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.service;
|
||||
|
||||
import com.ydw.bat.wkflow.business_activiti.dto.TaskCommonQuery;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -17,4 +18,10 @@ import java.util.List;
|
||||
public interface IBusProcessNameService extends IService<BusProcessName> {
|
||||
|
||||
List<BusProcessName> findBusProcessNameForEnd(String prcNum);
|
||||
|
||||
//新查询代办接口 初步测试中
|
||||
List<BusProcessName> todoTask(TaskCommonQuery taskCommonQuery);
|
||||
|
||||
|
||||
String delDB(List<String> id);
|
||||
}
|
||||
|
||||
+7
@@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.business_main.datas.service;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.activiti.engine.task.Task;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -28,5 +29,11 @@ public interface IBusProcessNewService extends IService<BusProcessNew> {
|
||||
List<BusProcessNew> findTaskDetailByTaskIds(List<String> taskIdList);
|
||||
|
||||
List<BusProcessNew> findNoExecuteBusProcessNewForEnd(List<String> taskIdList);
|
||||
//子流程 获取 阶段数据 专用 BY yzh
|
||||
List<BusProcessNew> findLastworkPeople(@Param("key")String key, @Param("pId")String pId);
|
||||
List<BusProcessNew> findLastworkPeople2(@Param("key")String key, @Param("pId")String pId);
|
||||
|
||||
List<BusProcessNew> everyDayTenOlock();
|
||||
List<BusProcessNew> everyDayTenOlockSAM();
|
||||
|
||||
}
|
||||
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.EsPrcRelation;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface IEsPrcRelationService extends IService<EsPrcRelation> {
|
||||
/**
|
||||
*
|
||||
* @param esId
|
||||
* @return
|
||||
*/
|
||||
List<EsPrcRelation> list(String esId);
|
||||
|
||||
/**
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
Boolean listJudge(EsPrcRelation esPrcRelation);
|
||||
|
||||
/**
|
||||
*
|
||||
* @param esId
|
||||
* @param prcId
|
||||
* @return
|
||||
*/
|
||||
int addEsPrcRelation(String esId, String prcId, String prcIdGk);
|
||||
|
||||
/**
|
||||
*
|
||||
* @param esId
|
||||
* @param prcId
|
||||
* @param oaFlag
|
||||
* @return
|
||||
*/
|
||||
int modifyEsPrcRelation(String esId, String prcId, String oaFlag, String prcIdGk);
|
||||
|
||||
/**
|
||||
*
|
||||
* @param esId
|
||||
* @return
|
||||
*/
|
||||
int delEsPrcRelation(String esId);
|
||||
}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.EsTechRelation;
|
||||
|
||||
public interface IEsTechRelationService extends IService<EsTechRelation> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.service;
|
||||
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.OaTaskExec;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* OA 干活任务执行表 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author Super_liu
|
||||
* @since 2021-09-24
|
||||
*/
|
||||
public interface IOaTaskExecService extends IService<OaTaskExec> {
|
||||
|
||||
Map<String,Object> execTask(String todoId);
|
||||
|
||||
String endTime(String pId);
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.service;
|
||||
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.SendTodoLog;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* OA日志表 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author super_liu
|
||||
* @since 2021-09-17
|
||||
*/
|
||||
public interface ISendTodoLogService extends IService<SendTodoLog> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.TbTask;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 动态定时任务表 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author super_liu
|
||||
* @since 2022-05-27
|
||||
*/
|
||||
public interface ITbTaskService extends IService<TbTask> {
|
||||
|
||||
}
|
||||
+130
@@ -0,0 +1,130 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ydw.bat.wkflow.business_auth.LawsUserInfoService;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessEvaluationHis;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.ResponseMessage;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.UserVO;
|
||||
import com.ydw.bat.wkflow.business_main.datas.mapper.BusProcessEvaluationHisMapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.mapper.SendTodoLogMapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessEvaluationHisService;
|
||||
import com.ydw.bat.wkflow.util.Utils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 流程评分历史表 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author super_liu
|
||||
* @since 2021-09-17
|
||||
*/
|
||||
@Service
|
||||
public class BusProcessEvaluationHisServiceImpl extends ServiceImpl<BusProcessEvaluationHisMapper, BusProcessEvaluationHis> implements IBusProcessEvaluationHisService {
|
||||
|
||||
@Autowired
|
||||
private LawsUserInfoService lawsUserInfoService;
|
||||
|
||||
@Override
|
||||
public BusProcessEvaluationHis evaluationHisListByOne(String pid,String taskInfo){
|
||||
QueryWrapper wrapper = new QueryWrapper();
|
||||
wrapper.eq("P_ID",pid);
|
||||
wrapper.like("TASK_INFO",taskInfo);
|
||||
wrapper.orderByDesc("CREATE_TIME","TASK_INFO");
|
||||
List<BusProcessEvaluationHis> list = this.baseMapper.selectList(wrapper);
|
||||
BusProcessEvaluationHis his = new BusProcessEvaluationHis();
|
||||
if(!list.isEmpty()){
|
||||
his = list.get(0);
|
||||
}
|
||||
return his;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String,Integer> evaluationHisListRepSum(String pid){
|
||||
Map<String,Integer> map = new HashMap<>();
|
||||
QueryWrapper wrapper = new QueryWrapper();
|
||||
wrapper.eq("P_ID",pid);
|
||||
wrapper.orderByDesc("CREATE_TIME","TASK_INFO");
|
||||
List<BusProcessEvaluationHis> list = this.baseMapper.selectList(wrapper);
|
||||
List<BusProcessEvaluationHis> evaluationHis = new ArrayList<>();
|
||||
Map<String, List<BusProcessEvaluationHis>> listMap = new TreeMap<>();
|
||||
|
||||
// 按 相同数据分组
|
||||
listMap = list.stream().collect(
|
||||
Collectors.groupingBy(a -> Utils.format("{0}#{1}#{2}", a.getPId(),a.getTaskInfo(),a.getUserId())));
|
||||
|
||||
if(!listMap.isEmpty()){
|
||||
listMap.forEach((key, value) -> {
|
||||
if(!value.isEmpty()){
|
||||
evaluationHis.add(value.get(0));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Map<String, List<BusProcessEvaluationHis>> listMapFilter = new TreeMap<>();
|
||||
listMapFilter = evaluationHis.stream().collect(
|
||||
Collectors.groupingBy(a -> Utils.format("{0}#{1}", a.getPId(),a.getTaskInfo())));
|
||||
if(!listMapFilter.isEmpty()){
|
||||
listMapFilter.forEach((key, value) -> {
|
||||
if(!value.isEmpty()){
|
||||
int sum = 0;
|
||||
for (BusProcessEvaluationHis his : value) {
|
||||
List<JSONObject> valueArr = JSONArray.parseArray(his.getMesg(),JSONObject.class);
|
||||
if(!valueArr.isEmpty()){
|
||||
sum = sum + Integer.parseInt(valueArr.get(0).getString("sum").trim());
|
||||
}
|
||||
}
|
||||
String keyV = value.get(0).getTaskInfo();
|
||||
int ave = value.size();
|
||||
map.put(keyV,sum/ave);
|
||||
}
|
||||
});
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BusProcessEvaluationHis> evaluationHisListRep(String pid){
|
||||
QueryWrapper wrapper = new QueryWrapper();
|
||||
wrapper.eq("P_ID",pid);
|
||||
wrapper.orderByDesc("CREATE_TIME","TASK_INFO");
|
||||
List<BusProcessEvaluationHis> list = this.baseMapper.selectList(wrapper);
|
||||
List<BusProcessEvaluationHis> evaluationHis = new ArrayList<>();
|
||||
Map<String, List<BusProcessEvaluationHis>> listMap = new TreeMap<>();
|
||||
|
||||
// 按 相同数据分组
|
||||
listMap = list.stream().collect(
|
||||
Collectors.groupingBy(a -> Utils.format("{0}#{1}#{2}", a.getPId(),a.getTaskInfo(),a.getUserId())));
|
||||
|
||||
if(!listMap.isEmpty()){
|
||||
listMap.forEach((key, value) -> {
|
||||
if(!value.isEmpty()){
|
||||
ResponseMessage<UserVO> byId = lawsUserInfoService.getById(value.get(0).getUserId());
|
||||
value.get(0).setUserName(byId == null ? "" : byId.getData().getUname());
|
||||
evaluationHis.add(value.get(0));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if(!evaluationHis.isEmpty()){
|
||||
evaluationHis.sort(Comparator.comparing(BusProcessEvaluationHis::getCreateTime).reversed().thenComparing(BusProcessEvaluationHis::getTaskInfo));
|
||||
}
|
||||
return evaluationHis;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BusProcessEvaluationHis> evaluationHisList(String pid){
|
||||
QueryWrapper wrapper = new QueryWrapper();
|
||||
wrapper.eq("P_ID",pid);
|
||||
wrapper.orderByDesc("CREATE_TIME","TASK_INFO");
|
||||
return this.baseMapper.selectList(wrapper);
|
||||
}
|
||||
}
|
||||
+259
@@ -0,0 +1,259 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessEvaluationHis;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessModelHis;
|
||||
import com.ydw.bat.wkflow.business_main.datas.mapper.BusProcessEvaluationHisMapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.mapper.BusProcessModelHisMapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessEvaluationHisService;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessModelHisService;
|
||||
import com.ydw.bat.wkflow.listener.bussLibrary.Utils.PoiUtil;
|
||||
import com.ydw.bat.wkflow.listener.bussLibrary.Utils.PoiWord;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 流程模块历史表 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author super_liu
|
||||
* @since 2021-09-17
|
||||
*/
|
||||
@Service
|
||||
public class BusProcessModelHisServiceImpl extends ServiceImpl<BusProcessModelHisMapper, BusProcessModelHis> implements IBusProcessModelHisService {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(BusProcessModelHisServiceImpl.class);
|
||||
|
||||
|
||||
@Value("${buss.edit.file.path}")
|
||||
private String filePath;//文件存储路径
|
||||
|
||||
/**
|
||||
* 文件下载路径
|
||||
*/
|
||||
@Value("${buss.down.file.path}")
|
||||
private String downloadUrl;
|
||||
|
||||
@Override
|
||||
public BusProcessModelHis saveEditFile(String model){
|
||||
BusProcessModelHis modelHis = new BusProcessModelHis();
|
||||
try {
|
||||
|
||||
String preUuid2 = UUID.randomUUID().toString();
|
||||
String changUuid = preUuid2.substring(0,8);
|
||||
String taskId = "task_"+changUuid;
|
||||
String topId = "top_"+changUuid;
|
||||
|
||||
StringBuilder builderModel=new StringBuilder();
|
||||
builderModel.append("model").append("/");
|
||||
builderModel.append("model").append("/");
|
||||
|
||||
|
||||
File dir = new File(filePath+builderModel.toString());
|
||||
if (!dir.exists()) {
|
||||
dir.mkdirs();
|
||||
}
|
||||
String sourcePath = builderModel.toString()+model+".docx";
|
||||
|
||||
StringBuilder builder=new StringBuilder();
|
||||
builder.append("model").append("/");
|
||||
builder.append(taskId).append("/");
|
||||
|
||||
File file = new File(filePath+builder.toString());
|
||||
if (!file.exists()) {
|
||||
file.mkdirs();
|
||||
}
|
||||
|
||||
String targetPath = builder.toString()+taskId+"_"+topId+"_node.docx";
|
||||
|
||||
File sourceFile = new File(filePath+sourcePath);
|
||||
File targetFile = new File(filePath+targetPath);
|
||||
FileUtils.copyFile(sourceFile, targetFile);
|
||||
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss");
|
||||
modelHis.setTaskId(taskId);
|
||||
modelHis.setPId(topId);
|
||||
modelHis.setEditFilePath(targetPath);
|
||||
modelHis.setCreateTime(sdf.format(new Date()));
|
||||
modelHis.setUpdateTime(sdf.format(new Date()));
|
||||
this.baseMapper.insert(modelHis);
|
||||
}catch (Exception e){
|
||||
logger.error(e.getMessage());
|
||||
}
|
||||
return modelHis;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String mergeModelFile(String pid, String taskId,String fileSuffix){
|
||||
|
||||
String fileSavePath = "bussEdit"+ getUUIDPath(pid,taskId);
|
||||
|
||||
StringBuilder builder=new StringBuilder();
|
||||
builder.append(filePath);
|
||||
builder.append("buss").append("/");
|
||||
builder.append(pid).append("/");
|
||||
String saveFileUrl = builder.toString();
|
||||
String modelPath = saveFileUrl+"model.docx";
|
||||
|
||||
QueryWrapper wrapper = new QueryWrapper();
|
||||
wrapper.eq("P_ID",pid);
|
||||
wrapper.eq("EDIT_TYPE","node");
|
||||
List<BusProcessModelHis> hisList = this.baseMapper.selectList(wrapper);
|
||||
String newFileName = "";
|
||||
try {
|
||||
if(!hisList.isEmpty()){
|
||||
newFileName = fileSavePath+taskId + "_" + pid + "_count." + fileSuffix;
|
||||
String changeFile = filePath + newFileName;
|
||||
for (int i = 0; i < hisList.size(); i++) {
|
||||
if(i == 0){
|
||||
PoiWord.wordRedDocument(filePath+hisList.get(i).getEditFilePath(),null,changeFile,modelPath);
|
||||
}else {
|
||||
PoiWord.wordRedDocument(filePath+hisList.get(i).getEditFilePath(),null,changeFile,changeFile);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}catch (Exception e){
|
||||
logger.error(e.getMessage());
|
||||
}
|
||||
|
||||
return newFileName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String saveBussModelFile(String pid, String taskId){
|
||||
return saveProcessFile(filePath,pid,taskId,"docx");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void saveBussTemplateFile(JSONObject object,String pid){
|
||||
PoiWord.writeWordModel(filePath, object, pid);
|
||||
}
|
||||
|
||||
/**
|
||||
* 企标流程文件存储
|
||||
* @param pid
|
||||
* @param taskId
|
||||
* @param fileSuffix
|
||||
* @param filePath 文件存储路径
|
||||
* @throws IOException
|
||||
*/
|
||||
public String saveProcessFile(String filePath,String pid,String taskId,String fileSuffix){
|
||||
|
||||
String fileSavePath = "bussEdit"+ getUUIDPath(pid,taskId);
|
||||
String newFileName = "";
|
||||
try {
|
||||
|
||||
File dir = new File(fileSavePath);
|
||||
if (!dir.exists()) {
|
||||
dir.mkdirs();
|
||||
}
|
||||
|
||||
newFileName = fileSavePath + taskId + "_" + pid + "_node." + fileSuffix;
|
||||
File saveFile = new File(filePath + newFileName);
|
||||
FileUtils.write(saveFile, "","UTF-8");
|
||||
|
||||
|
||||
}catch (Exception e){
|
||||
logger.error(e.getMessage(),e);
|
||||
}
|
||||
return newFileName;
|
||||
}
|
||||
|
||||
public static String getUUIDPath(String pid,String taskId){
|
||||
StringBuilder builder=new StringBuilder();
|
||||
builder.append("/");
|
||||
builder.append(pid).append("/");
|
||||
// builder.append(taskId).append("/");
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public BusProcessModelHis modelHisOneUpdStatusById(String id){
|
||||
BusProcessModelHis modelHis = new BusProcessModelHis();
|
||||
modelHis.setId(id);
|
||||
modelHis.setEditStatus("1");
|
||||
this.baseMapper.updateById(modelHis);
|
||||
return modelHis;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BusProcessModelHis modelHisOneUpdStatus(String pid,String taskId){
|
||||
BusProcessModelHis modelHis = new BusProcessModelHis();
|
||||
QueryWrapper wrapper = new QueryWrapper();
|
||||
wrapper.eq("P_ID",pid);
|
||||
wrapper.eq("TASK_ID",taskId);
|
||||
List<BusProcessModelHis> hisList = this.baseMapper.selectList(wrapper);
|
||||
if(!hisList.isEmpty()){
|
||||
modelHis = hisList.get(0);
|
||||
modelHis.setEditStatus("1");
|
||||
this.baseMapper.updateById(modelHis);
|
||||
}
|
||||
return modelHis;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BusProcessModelHis modelHisOneCount(String pid){
|
||||
BusProcessModelHis modelHis = new BusProcessModelHis();
|
||||
QueryWrapper wrapper = new QueryWrapper();
|
||||
wrapper.eq("P_ID",pid);
|
||||
wrapper.eq("EDIT_TYPE","count");
|
||||
List<BusProcessModelHis> hisList = this.baseMapper.selectList(wrapper);
|
||||
if(!hisList.isEmpty()){
|
||||
modelHis = hisList.get(0);
|
||||
StringBuffer downloadFileUrl = new StringBuffer();
|
||||
downloadFileUrl.append(downloadUrl).append(modelHis.getEditFilePath() == null ? "" : modelHis.getEditFilePath());
|
||||
modelHis.setDownLoadUrl(downloadFileUrl.toString());
|
||||
}
|
||||
return modelHis;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BusProcessModelHis processEditFile(String id){
|
||||
BusProcessModelHis modelHis = this.baseMapper.selectById(id);
|
||||
if(StringUtils.isNotBlank(modelHis.getId())){
|
||||
StringBuffer downloadFileUrl = new StringBuffer();
|
||||
downloadFileUrl.append(downloadUrl).append(modelHis.getEditFilePath() == null ? "" : modelHis.getEditFilePath());
|
||||
modelHis.setDownLoadUrl(downloadFileUrl.toString());
|
||||
}
|
||||
return modelHis;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BusProcessModelHis modelHisOne(String pid,String taskId){
|
||||
BusProcessModelHis modelHis = new BusProcessModelHis();
|
||||
QueryWrapper wrapper = new QueryWrapper();
|
||||
wrapper.eq("P_ID",pid);
|
||||
wrapper.eq("TASK_ID",taskId);
|
||||
List<BusProcessModelHis> hisList = this.baseMapper.selectList(wrapper);
|
||||
if(!hisList.isEmpty()){
|
||||
modelHis = hisList.get(0);
|
||||
StringBuffer downloadFileUrl = new StringBuffer();
|
||||
downloadFileUrl.append(downloadUrl).append(modelHis.getEditFilePath() == null ? "" : modelHis.getEditFilePath());
|
||||
modelHis.setDownLoadUrl(downloadFileUrl.toString());
|
||||
}
|
||||
return modelHis;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BusProcessModelHis> modelHisList(String pid){
|
||||
QueryWrapper wrapper = new QueryWrapper();
|
||||
wrapper.eq("P_ID",pid);
|
||||
return this.baseMapper.selectList(wrapper);
|
||||
}
|
||||
}
|
||||
+15
@@ -1,5 +1,6 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.service.impl;
|
||||
|
||||
import com.ydw.bat.wkflow.business_activiti.dto.TaskCommonQuery;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName;
|
||||
import com.ydw.bat.wkflow.business_main.datas.mapper.BusProcessNameMapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService;
|
||||
@@ -28,4 +29,18 @@ public class BusProcessNameServiceImpl extends ServiceImpl<BusProcessNameMapper,
|
||||
return busProcessNameMapper.findBusProcessNameForEnd(taskId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BusProcessName> todoTask(TaskCommonQuery taskCommonQuery) {
|
||||
return busProcessNameMapper.todoTask(taskCommonQuery);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String delDB(List<String> id) {
|
||||
if (busProcessNameMapper.deleteBatchIds(id)>0) {
|
||||
return "success";
|
||||
}else {
|
||||
return "error";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+21
@@ -68,4 +68,25 @@ public class BusProcessNewServiceImpl extends ServiceImpl<BusProcessNewMapper, B
|
||||
public List<BusProcessNew> findNoExecuteBusProcessNewForEnd(List<String> taskIdList) {
|
||||
return baseMapper.findNoExecuteBusProcessNewForEnd(taskIdList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BusProcessNew> findLastworkPeople(String key, String pId) {
|
||||
return baseMapper.findLastworkPeople(key,pId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BusProcessNew> findLastworkPeople2(String key, String pId) {
|
||||
return baseMapper.findLastworkPeople2(key,pId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BusProcessNew> everyDayTenOlock() {
|
||||
return baseMapper.everyDayTenOlock();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BusProcessNew> everyDayTenOlockSAM() {
|
||||
return baseMapper.everyDayTenOlockSAM();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+86
@@ -0,0 +1,86 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.EsPrcRelation;
|
||||
import com.ydw.bat.wkflow.business_main.datas.mapper.EsPrcRelationMapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.IEsPrcRelationService;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class EsPrcRelationServiceImpl extends ServiceImpl<EsPrcRelationMapper, EsPrcRelation> implements IEsPrcRelationService {
|
||||
|
||||
@Override
|
||||
public List<EsPrcRelation> list(String esId) {
|
||||
QueryWrapper<EsPrcRelation> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.lambda().eq(EsPrcRelation::getEsId, esId);
|
||||
return this.baseMapper.selectList(queryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean listJudge(EsPrcRelation esPrcRelation) {
|
||||
QueryWrapper<EsPrcRelation> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.lambda().eq(EsPrcRelation::getEsId, esPrcRelation.getEsId());
|
||||
queryWrapper.lambda().eq(EsPrcRelation::getOaFlag, esPrcRelation.getOaFlag());
|
||||
queryWrapper.lambda().eq(EsPrcRelation::getPrcIdGk, esPrcRelation.getPrcIdGk());
|
||||
List<EsPrcRelation> list = this.baseMapper.selectList(queryWrapper);
|
||||
if (list != null && !list.isEmpty()) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int addEsPrcRelation(String esId, String prcId, String prcIdGk) {
|
||||
EsPrcRelation esPrcRelation = new EsPrcRelation();
|
||||
esPrcRelation.setEsId(esId);
|
||||
esPrcRelation.setOaFlag("1"); // 待办
|
||||
Date date = new Date();
|
||||
esPrcRelation.setCreateTime(date);
|
||||
esPrcRelation.setUpdateTime(date);
|
||||
|
||||
if (StringUtils.isNotBlank(prcId)) {
|
||||
esPrcRelation.setPrcId(prcId);
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(prcIdGk)) {
|
||||
esPrcRelation.setPrcIdGk(prcIdGk);
|
||||
}
|
||||
return this.baseMapper.insert(esPrcRelation);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int modifyEsPrcRelation(String esId, String prcId, String oaFlag, String prcIdGk) {
|
||||
EsPrcRelation esPrcRelation = new EsPrcRelation();
|
||||
esPrcRelation.setEsId(esId);
|
||||
Date date = new Date();
|
||||
esPrcRelation.setUpdateTime(date);
|
||||
|
||||
if (StringUtils.isNotBlank(oaFlag)) {
|
||||
esPrcRelation.setOaFlag(oaFlag);
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(prcId)) {
|
||||
esPrcRelation.setPrcId(prcId);
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(prcIdGk)) {
|
||||
esPrcRelation.setPrcIdGk(prcIdGk);
|
||||
}
|
||||
QueryWrapper<EsPrcRelation> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.lambda().eq(EsPrcRelation::getEsId, esPrcRelation.getEsId());
|
||||
return this.baseMapper.update(esPrcRelation, queryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int delEsPrcRelation(String esId) {
|
||||
QueryWrapper<EsPrcRelation> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.lambda().eq(EsPrcRelation::getEsId, esId);
|
||||
return this.baseMapper.delete(queryWrapper);
|
||||
}
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.EsTechRelation;
|
||||
import com.ydw.bat.wkflow.business_main.datas.mapper.EsTechRelationMapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.IEsTechRelationService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class EsTechRelationServiceImpl extends ServiceImpl<EsTechRelationMapper, EsTechRelation> implements IEsTechRelationService {
|
||||
|
||||
}
|
||||
+156
@@ -0,0 +1,156 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService;
|
||||
import org.activiti.engine.HistoryService;
|
||||
import org.activiti.engine.TaskService;
|
||||
import org.activiti.engine.history.HistoricTaskInstance;
|
||||
import org.activiti.engine.history.HistoricTaskInstanceQuery;
|
||||
import org.activiti.engine.impl.persistence.entity.TaskEntity;
|
||||
import org.activiti.engine.task.Task;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.OaTaskExec;
|
||||
import com.ydw.bat.wkflow.business_main.datas.mapper.OaTaskExecMapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.IOaTaskExecService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ydw.bat.wkflow.business_mq.service.CreateMQService;
|
||||
import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService;
|
||||
import com.ydw.bat.wkflow.business_oa.webService.todoContent.NotifyTodoSendContext;
|
||||
import com.ydw.bat.wkflow.util.Utils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* OA 干活任务执行表 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author Super_liu
|
||||
* @since 2021-09-24
|
||||
*/
|
||||
@Service
|
||||
public class OaTaskExecServiceImpl extends ServiceImpl<OaTaskExecMapper, OaTaskExec> implements IOaTaskExecService {
|
||||
|
||||
@Autowired
|
||||
private IOaTaskExecService oaTaskExecService;
|
||||
|
||||
@Autowired
|
||||
private WebServiceOAService webServiceOAService;
|
||||
|
||||
@Autowired
|
||||
private CreateMQService oaService;
|
||||
|
||||
@Autowired
|
||||
private TaskService taskService;
|
||||
|
||||
@Autowired
|
||||
private HistoryService historyService;
|
||||
|
||||
@Autowired
|
||||
private IBusProcessNewService iBusProcessNewService;
|
||||
|
||||
@Override
|
||||
public String endTime(String pId){
|
||||
String endTime = "";
|
||||
HistoricTaskInstanceQuery historicTaskInstanceQuery = historyService.createHistoricTaskInstanceQuery()
|
||||
.processInstanceId(pId).orderByTaskCreateTime().asc();
|
||||
List<HistoricTaskInstance> list = historicTaskInstanceQuery.list();
|
||||
if(!list.isEmpty()){
|
||||
QueryWrapper queryWrapper1 = new QueryWrapper();
|
||||
queryWrapper1.eq("TASK_ID",list.get(0).getId());
|
||||
queryWrapper1.eq("P_ID",pId);
|
||||
List<BusProcessNew> processNews = iBusProcessNewService.list(queryWrapper1);
|
||||
if(!processNews.isEmpty()){
|
||||
JSONObject object = JSONObject.parseObject(processNews.get(0).getMesg());
|
||||
endTime = object.getString("endTime");
|
||||
}else {
|
||||
if(list.size() >1){
|
||||
QueryWrapper queryWrapper2 = new QueryWrapper();
|
||||
queryWrapper2.eq("TASK_ID",list.get(1).getId());
|
||||
queryWrapper2.eq("P_ID",pId);
|
||||
List<BusProcessNew> processNews1 = iBusProcessNewService.list(queryWrapper2);
|
||||
if(!processNews1.isEmpty()){
|
||||
JSONObject object = JSONObject.parseObject(processNews1.get(0).getMesg());
|
||||
endTime = object.getString("endTime");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return endTime;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String,Object> execTask(String todoId){
|
||||
Map<String,Object> map = new TreeMap<>();
|
||||
QueryWrapper wrapper = new QueryWrapper();
|
||||
wrapper.eq("TODO_ID",todoId);
|
||||
wrapper.eq("EXEC_TYPE",2);
|
||||
List<OaTaskExec> taskExecs = oaTaskExecService.list(wrapper);
|
||||
if(!taskExecs.isEmpty()){
|
||||
OaTaskExec oaTaskExec = taskExecs.get(0);
|
||||
BusProcessNew object = JSONObject.parseObject(oaTaskExec.getMesg(),BusProcessNew.class);
|
||||
|
||||
int days = Utils.subDayNum(oaTaskExec.getEndTime());
|
||||
if(days > 3){
|
||||
// 3天外处理 更改执行状态 1 进入定时任务 不发送OA待办
|
||||
updateOaTaskExec(taskExecs,1,2);
|
||||
|
||||
// 但发送OA已办 接受任务 置为已办
|
||||
Task task = taskService.createTaskQuery().taskId(object.getTaskId()).singleResult();
|
||||
webServiceOAService.completeOA(task);
|
||||
|
||||
getSuccess(map, "0", "操作成功");
|
||||
}else {
|
||||
if(days < 0){
|
||||
// 超时处理
|
||||
updateOaTaskExec(taskExecs,0,3);
|
||||
Task task = taskService.createTaskQuery().taskId(object.getTaskId()).singleResult();
|
||||
webServiceOAService.completeOA(task);
|
||||
|
||||
// 直接发送OA待办 重置任务状态 0
|
||||
object.setTaskStatus(0);
|
||||
oaService.sendTodoMq(object);
|
||||
|
||||
getSuccess(map, "0", "操作成功");
|
||||
}else {
|
||||
// 3天内处理
|
||||
updateOaTaskExec(taskExecs,0,1);
|
||||
|
||||
Task task = taskService.createTaskQuery().taskId(object.getTaskId()).singleResult();
|
||||
webServiceOAService.completeOA(task);
|
||||
|
||||
// 直接发送OA待办 重置任务状态 0
|
||||
object.setTaskStatus(0);
|
||||
oaService.sendTodoMq(object);
|
||||
getSuccess(map, "0", "操作成功");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
private void getSuccess(Map<String, Object> map, String sign, String message) {
|
||||
map.put("sign",sign);
|
||||
map.put("message",message);
|
||||
}
|
||||
|
||||
private void updateOaTaskExec(List<OaTaskExec> taskExecs, int execStatus, int execType){
|
||||
List<OaTaskExec> updateList = new ArrayList<>();
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
|
||||
updateList.addAll(taskExecs);
|
||||
updateList.forEach(taskExec -> {
|
||||
// 任务修改为 启动状态
|
||||
taskExec.setExecStatus(execStatus);
|
||||
taskExec.setExecType(execType);
|
||||
taskExec.setUpdateTime(sdf.format(new Date()));
|
||||
});
|
||||
oaTaskExecService.updateBatchById(updateList);
|
||||
}
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.service.impl;
|
||||
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.SendTodoLog;
|
||||
import com.ydw.bat.wkflow.business_main.datas.mapper.SendTodoLogMapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.ISendTodoLogService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* OA日志表 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author super_liu
|
||||
* @since 2021-09-17
|
||||
*/
|
||||
@Service
|
||||
public class SendTodoLogServiceImpl extends ServiceImpl<SendTodoLogMapper, SendTodoLog> implements ISendTodoLogService {
|
||||
|
||||
@Autowired
|
||||
private SendTodoLogMapper sendTodoLogMapper;
|
||||
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.TbTask;
|
||||
import com.ydw.bat.wkflow.business_main.datas.mapper.TbTaskMapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.ITbTaskService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 动态定时任务表 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author super_liu
|
||||
* @since 2022-05-27
|
||||
*/
|
||||
@Service
|
||||
public class TbTaskServiceImpl extends ServiceImpl<TbTaskMapper, TbTask> implements ITbTaskService {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
package com.ydw.bat.wkflow.business_mq.service;
|
||||
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
|
||||
import com.ydw.bat.wkflow.business_oa.webService.todoContent.NotifyTodoSendContext;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.amqp.core.AmqpTemplate;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
public class CreateMQService {
|
||||
@Autowired
|
||||
private AmqpTemplate rabbitTemplate;
|
||||
|
||||
@Value("${oa.flag}")
|
||||
private Boolean oaFlag;
|
||||
|
||||
|
||||
/**
|
||||
* @author: super_liu
|
||||
* @date: 2021年09月17日 14:40
|
||||
**/
|
||||
public void setTodoDeleteMq(String object){
|
||||
|
||||
if(oaFlag){
|
||||
//发送消息队列
|
||||
this.rabbitTemplate.convertAndSend("sendDelete-exchange_MQ_GSAR", "sendDelete-key_MQ_GSAR", object);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @author: super_liu
|
||||
* @date: 2021年09月17日 14:40
|
||||
**/
|
||||
public void setTodoDoneMq(NotifyTodoSendContext object){
|
||||
|
||||
if(oaFlag){
|
||||
//发送消息队列
|
||||
this.rabbitTemplate.convertAndSend("sendDone-exchange_MQ_GSAR_RELEASE", "sendDone-key_MQ_GSAR_RELEASE", object);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @author: super_liu
|
||||
* @date: 2021年09月17日 14:40
|
||||
**/
|
||||
public void sendTodoMq(BusProcessNew object){
|
||||
|
||||
if(oaFlag) {
|
||||
//发送消息队列
|
||||
this.rabbitTemplate.convertAndSend("send-exchange_MQ_GSAR_RELEASE", "send-key_MQ_GSAR_RELEASE", object);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,181 @@
|
||||
package com.ydw.bat.wkflow.business_mq.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.rabbitmq.client.Channel;
|
||||
import com.ydw.bat.wkflow.business_auth.LawsUserInfoService;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.ResponseMessage;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.SendTodoLog;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.UserVO;
|
||||
import com.ydw.bat.wkflow.business_main.datas.mapper.SendTodoLogMapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.ISendTodoLogService;
|
||||
import com.ydw.bat.wkflow.business_oa.utils.EmailUtils;
|
||||
import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService;
|
||||
import com.ydw.bat.wkflow.business_oa.webService.todoContent.NotifyTodoSendContext;
|
||||
import com.ydw.bat.wkflow.business_oa.webService.todoResult.NotifyTodoAppDeleteResult;
|
||||
import com.ydw.bat.wkflow.business_oa.webService.todoResult.NotifyTodoAppResult;
|
||||
import net.sf.json.JSONObject;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.amqp.rabbit.annotation.Exchange;
|
||||
import org.springframework.amqp.rabbit.annotation.Queue;
|
||||
import org.springframework.amqp.rabbit.annotation.QueueBinding;
|
||||
import org.springframework.amqp.rabbit.annotation.RabbitListener;
|
||||
import org.springframework.amqp.support.AmqpHeaders;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.messaging.Message;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
public class SendDeleteMQService {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(SendDeleteMQService.class);
|
||||
|
||||
@Autowired
|
||||
private CreateMQService convertMq;
|
||||
|
||||
@Autowired
|
||||
private EmailUtils emailUtils;
|
||||
|
||||
@Autowired
|
||||
private WebServiceOAService webServiceOAService;
|
||||
|
||||
@Autowired
|
||||
private SendTodoLogMapper sendTodoLogMapper;
|
||||
|
||||
@Autowired
|
||||
private LawsUserInfoService lawsUserInfoService;
|
||||
|
||||
@RabbitListener(bindings = @QueueBinding(
|
||||
value = @Queue(value = "createMQDelete_SQ_GSAR", durable = "true"),
|
||||
exchange = @Exchange(value = "sendDelete-exchange_MQ_GSAR", ignoreDeclarationExceptions = "true"),
|
||||
key = "sendDelete-key_MQ_GSAR"))
|
||||
public void createMQDone(String object, Message message, Channel channel) throws Exception{
|
||||
try{
|
||||
try{
|
||||
Thread.sleep(5000);
|
||||
insertOrUpdateInfo(object);
|
||||
}catch(InterruptedException e){
|
||||
logger.error(e.toString());
|
||||
Thread.currentThread().interrupt();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("消息队列进入添加数据方法前失败!");
|
||||
logger.error(e.getMessage(),e);
|
||||
}finally {
|
||||
Long tag = (Long) message.getHeaders().get(AmqpHeaders.DELIVERY_TAG);
|
||||
channel.basicAck(tag,false);
|
||||
logger.debug("消息确认成功!!!!!!!!!");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void insertOrUpdateInfo(String object) throws Exception {
|
||||
Map<String,Object> objectMap = JSONObject.fromObject(object);
|
||||
String todoId = objectMap.get("todoId").toString();
|
||||
try {
|
||||
NotifyTodoAppDeleteResult todoAppResult = webServiceOAService.setTodoDelete(object);
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss");
|
||||
|
||||
if(todoAppResult.getSign().equals("0") || todoAppResult.getMassage().equals("操作成功")){
|
||||
logger.info("--------------------------成功删除 ESP 已办任务----------------------------");
|
||||
QueryWrapper wrapper = new QueryWrapper();
|
||||
wrapper.eq("TODO_ID",todoId);
|
||||
wrapper.eq("MSG_TYPE","3");
|
||||
List<SendTodoLog> list = sendTodoLogMapper.selectList(wrapper);
|
||||
if(!list.isEmpty()) {
|
||||
SendTodoLog sendTodoLog = list.get(0);
|
||||
sendTodoLog.setOperMesg(todoAppResult.getMassage());
|
||||
sendTodoLog.setMsgStatus("3");
|
||||
sendTodoLog.setCreateTime(sdf.format(new Date()));
|
||||
sendTodoLog.setUpdateTime(sdf.format(new Date()));
|
||||
sendTodoLogMapper.updateById(sendTodoLog);
|
||||
}else {
|
||||
sendTodoSave(object,todoId, sdf, "2",todoAppResult.getMassage());
|
||||
}
|
||||
}else {
|
||||
logger.error("ESP 发送删除任务异常 :" + "SIGN: "+todoAppResult.getSign()+",MASSAGE: "+todoAppResult.getMassage());
|
||||
// 重试发送待办
|
||||
logger.info("重试发送待办");
|
||||
this.restartSendMq(object,todoId,todoAppResult.getMassage());
|
||||
}
|
||||
}catch (Exception e){
|
||||
logger.error(e.getMessage(),e);
|
||||
this.restartSendMq(object,todoId, e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public void restartSendMq(String object,String todoId,String operMesg) throws Exception{
|
||||
QueryWrapper wrapper = new QueryWrapper();
|
||||
wrapper.eq("TODO_ID",todoId);
|
||||
wrapper.eq("MSG_TYPE","3");
|
||||
List<SendTodoLog> list = sendTodoLogMapper.selectList(wrapper);
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss");
|
||||
if(!list.isEmpty()){
|
||||
SendTodoLog sendTodoLog = list.get(0);
|
||||
int againNumNew = Integer.valueOf(sendTodoLog.getErrNum());
|
||||
if(againNumNew >= 6){
|
||||
// 发送待办 或 发送给管理员邮箱
|
||||
logger.info("发送失败6次,发送给管理员邮箱");
|
||||
List<String> emailList = new ArrayList<>();
|
||||
ResponseMessage<UserVO> byId = lawsUserInfoService.getById("WY8J26MH23");
|
||||
// 占时指定admin用户邮箱
|
||||
emailList.add(byId == null ? "" : (byId.getData().getEmail() != null ? byId.getData().getEmail() : ""));
|
||||
String[] arr = emailList.toArray(new String[emailList.size()]);
|
||||
String title = "OA请求发送失败6次";
|
||||
String countText = "<div style=\"font-size:16px\" ><div><p>您好:</p></div>" +
|
||||
"<span style=\"color:blue;\" >"+"OA请求发送失败6次,请线下协调处理"+"</span></div>";
|
||||
emailUtils.sendMsgFeign(arr,title,countText);
|
||||
|
||||
}else {
|
||||
restSendDoneTodo(object, sdf, sendTodoLog, againNumNew,operMesg);
|
||||
}
|
||||
|
||||
}else {
|
||||
sendTodoSave(object,todoId, sdf, "3",operMesg);
|
||||
}
|
||||
}
|
||||
|
||||
private void restSendDoneTodo(String object, SimpleDateFormat sdf, SendTodoLog sendTodoLog, int againNumNew,String operMesg) throws Exception{
|
||||
// 发送失败连续持续3次, 如果在失败等待1个小时后重试3次
|
||||
if(againNumNew < 6){
|
||||
Thread.sleep(3000);
|
||||
logger.info("发送失败连续持续"+againNumNew+"次,存入延迟重试队列!!!!!!!!!");
|
||||
|
||||
}else {
|
||||
logger.info("发送失败连续持续"+againNumNew+"次!!");
|
||||
}
|
||||
sendTodoLog.setErrNum(sendTodoLog.getErrNum()+1);
|
||||
sendTodoLog.setUpdateTime(sdf.format(new Date()));
|
||||
sendTodoLog.setOperMesg(operMesg);
|
||||
sendTodoLogMapper.updateById(sendTodoLog);
|
||||
convertMq.setTodoDeleteMq(object);
|
||||
logger.info("已重新加入延迟队列");
|
||||
}
|
||||
|
||||
private void sendTodoSave(String object, String todoId, SimpleDateFormat sdf, String s,String operMesg) {
|
||||
SendTodoLog sendTodoLog = new SendTodoLog();
|
||||
sendTodoLog.setMsgType("3");
|
||||
sendTodoLog.setTodoId(todoId);
|
||||
sendTodoLog.setMesg(object);
|
||||
sendTodoLog.setMsgStatus(s);
|
||||
sendTodoLog.setErrNum(1);
|
||||
sendTodoLog.setOperMesg(operMesg);
|
||||
sendTodoLog.setCreateTime(sdf.format(new Date()));
|
||||
sendTodoLog.setUpdateTime(sdf.format(new Date()));
|
||||
sendTodoLogMapper.insert(sendTodoLog);
|
||||
if(s.equals("2")){
|
||||
logger.info("发送成功,存入OA日志");
|
||||
}else{
|
||||
convertMq.setTodoDeleteMq(object);
|
||||
logger.info("已重新加入延迟队列");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,179 @@
|
||||
package com.ydw.bat.wkflow.business_mq.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.rabbitmq.client.Channel;
|
||||
import com.ydw.bat.wkflow.business_auth.LawsUserInfoService;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.ResponseMessage;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.SendTodoLog;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.UserVO;
|
||||
import com.ydw.bat.wkflow.business_main.datas.mapper.SendTodoLogMapper;
|
||||
import com.ydw.bat.wkflow.business_oa.utils.EmailUtils;
|
||||
import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService;
|
||||
import com.ydw.bat.wkflow.business_oa.webService.todoContent.NotifyTodoSendContext;
|
||||
import com.ydw.bat.wkflow.business_oa.webService.todoResult.NotifyTodoAppResult;
|
||||
import net.sf.json.JSONObject;
|
||||
import org.apache.commons.lang3.exception.ExceptionUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.amqp.rabbit.annotation.Exchange;
|
||||
import org.springframework.amqp.rabbit.annotation.Queue;
|
||||
import org.springframework.amqp.rabbit.annotation.QueueBinding;
|
||||
import org.springframework.amqp.rabbit.annotation.RabbitListener;
|
||||
import org.springframework.amqp.support.AmqpHeaders;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.messaging.Message;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Component
|
||||
public class SendDoneMQService {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(SendDoneMQService.class);
|
||||
|
||||
@Autowired
|
||||
private CreateMQService convertMq;
|
||||
|
||||
@Autowired
|
||||
private EmailUtils emailUtils;
|
||||
|
||||
@Autowired
|
||||
private WebServiceOAService webServiceOAService;
|
||||
|
||||
@Autowired
|
||||
private SendTodoLogMapper sendTodoLogMapper;
|
||||
|
||||
@Autowired
|
||||
private LawsUserInfoService lawsUserInfoService;
|
||||
|
||||
@RabbitListener(bindings = @QueueBinding(
|
||||
value = @Queue(value = "createMQDone_SQ_GSAR_RELEASE", durable = "true"),
|
||||
exchange = @Exchange(value = "sendDone-exchange_MQ_GSAR_RELEASE", ignoreDeclarationExceptions = "true"),
|
||||
key = "sendDone-key_MQ_GSAR_RELEASE"))
|
||||
public void createMQDone(NotifyTodoSendContext object, Message message, Channel channel) throws Exception{
|
||||
try{
|
||||
try{
|
||||
Thread.sleep(5000);
|
||||
insertOrUpdateInfo(object);
|
||||
}catch(InterruptedException e){
|
||||
logger.error(e.toString());
|
||||
Thread.currentThread().interrupt();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("消息队列进入添加数据方法前失败!");
|
||||
logger.error(e.getMessage(),e);
|
||||
}finally {
|
||||
Long tag = (Long) message.getHeaders().get(AmqpHeaders.DELIVERY_TAG);
|
||||
channel.basicAck(tag,false);
|
||||
logger.debug("消息确认成功!!!!!!!!!");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void insertOrUpdateInfo(NotifyTodoSendContext object) throws Exception {
|
||||
try {
|
||||
NotifyTodoAppResult todoAppResult = webServiceOAService.setTodoDone(object);
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss");
|
||||
|
||||
if(todoAppResult.getSIGN().equals("0") || todoAppResult.getMASSAGE().equals("操作成功")){
|
||||
logger.info("--------------------------成功发送 ESP 已办任务----------------------------");
|
||||
QueryWrapper wrapper = new QueryWrapper();
|
||||
wrapper.eq("TODO_ID",object.getModelId());
|
||||
wrapper.eq("MSG_TYPE","1");
|
||||
List<SendTodoLog> list = sendTodoLogMapper.selectList(wrapper);
|
||||
if(!list.isEmpty()) {
|
||||
SendTodoLog sendTodoLog = list.get(0);
|
||||
sendTodoLog.setOperMesg(todoAppResult.getMASSAGE());
|
||||
sendTodoLog.setMsgStatus("2");
|
||||
sendTodoLog.setCreateTime(sdf.format(new Date()));
|
||||
sendTodoLog.setUpdateTime(sdf.format(new Date()));
|
||||
sendTodoLogMapper.updateById(sendTodoLog);
|
||||
}else {
|
||||
sendTodoSave(object, sdf, "2",todoAppResult.getMASSAGE());
|
||||
}
|
||||
}else {
|
||||
logger.error("ESP 发送待办任务异常 :" + "SIGN: "+todoAppResult.getSIGN()+",MASSAGE: "+todoAppResult.getMASSAGE());
|
||||
// 重试发送待办
|
||||
logger.info("重试发送待办");
|
||||
this.restartSendMq(object,todoAppResult.getMASSAGE());
|
||||
}
|
||||
}catch (Exception e){
|
||||
logger.error(e.getMessage(),e);
|
||||
this.restartSendMq(object, e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public void restartSendMq(NotifyTodoSendContext object,String operMesg) throws Exception{
|
||||
QueryWrapper wrapper = new QueryWrapper();
|
||||
wrapper.eq("TODO_ID",object.getModelId());
|
||||
wrapper.eq("MSG_TYPE","1");
|
||||
List<SendTodoLog> list = sendTodoLogMapper.selectList(wrapper);
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss");
|
||||
if(!list.isEmpty()){
|
||||
SendTodoLog sendTodoLog = list.get(0);
|
||||
int againNumNew = Integer.valueOf(sendTodoLog.getErrNum());
|
||||
if(againNumNew >= 6){
|
||||
// 发送待办 或 发送给管理员邮箱
|
||||
logger.info("发送失败6次,发送给管理员邮箱");
|
||||
List<String> emailList = new ArrayList<>();
|
||||
ResponseMessage<UserVO> byId = lawsUserInfoService.getById("WY8J26MH23");
|
||||
// 占时指定admin用户邮箱
|
||||
emailList.add(byId == null ? "" : (byId.getData().getEmail() != null ? byId.getData().getEmail() : ""));
|
||||
String[] arr = emailList.toArray(new String[emailList.size()]);
|
||||
String title = "OA请求发送失败6次";
|
||||
String countText = "<div style=\"font-size:16px\" ><div><p>您好:</p></div>" +
|
||||
"<span style=\"color:blue;\" >"+"OA请求发送失败6次,请线下协调处理"+"</span></div>";
|
||||
emailUtils.sendMsgFeign(arr,title,countText);
|
||||
|
||||
}else {
|
||||
restSendDoneTodo(object, sdf, sendTodoLog, againNumNew,operMesg);
|
||||
}
|
||||
|
||||
}else {
|
||||
sendTodoSave(object, sdf, "3",operMesg);
|
||||
}
|
||||
}
|
||||
|
||||
private void restSendDoneTodo(NotifyTodoSendContext object, SimpleDateFormat sdf, SendTodoLog sendTodoLog, int againNumNew,String operMesg) throws Exception{
|
||||
// 发送失败连续持续3次, 如果在失败等待1个小时后重试3次
|
||||
if(againNumNew < 6){
|
||||
Thread.sleep(3000);
|
||||
logger.info("发送失败连续持续"+againNumNew+"次,存入延迟重试队列!!!!!!!!!");
|
||||
|
||||
}else {
|
||||
logger.info("发送失败连续持续"+againNumNew+"次!!");
|
||||
}
|
||||
sendTodoLog.setErrNum(sendTodoLog.getErrNum()+1);
|
||||
sendTodoLog.setUpdateTime(sdf.format(new Date()));
|
||||
sendTodoLog.setOperMesg(operMesg);
|
||||
sendTodoLogMapper.updateById(sendTodoLog);
|
||||
convertMq.setTodoDoneMq(object);
|
||||
logger.info("已重新加入延迟队列");
|
||||
}
|
||||
|
||||
private void sendTodoSave(NotifyTodoSendContext object, SimpleDateFormat sdf, String s,String operMesg) {
|
||||
SendTodoLog sendTodoLog = new SendTodoLog();
|
||||
sendTodoLog.setMsgType("1");
|
||||
JSONObject json = JSONObject.fromObject(object);
|
||||
sendTodoLog.setTodoId(object.getModelId());
|
||||
sendTodoLog.setMesg(json.toString());
|
||||
sendTodoLog.setMsgStatus(s);
|
||||
sendTodoLog.setErrNum(1);
|
||||
sendTodoLog.setOperMesg(operMesg);
|
||||
sendTodoLog.setCreateTime(sdf.format(new Date()));
|
||||
sendTodoLog.setUpdateTime(sdf.format(new Date()));
|
||||
sendTodoLog.setUserId(object.getUserId());
|
||||
sendTodoLogMapper.insert(sendTodoLog);
|
||||
if(s.equals("2")){
|
||||
logger.info("发送成功,存入OA日志");
|
||||
}else{
|
||||
convertMq.setTodoDoneMq(object);
|
||||
logger.info("已重新加入延迟队列");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,212 @@
|
||||
package com.ydw.bat.wkflow.business_mq.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.rabbitmq.client.Channel;
|
||||
import com.ydw.bat.wkflow.business_auth.LawsUserInfoService;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.*;
|
||||
import com.ydw.bat.wkflow.business_main.datas.mapper.SendTodoLogMapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.IOaTaskExecService;
|
||||
import com.ydw.bat.wkflow.business_oa.utils.EmailUtils;
|
||||
import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService;
|
||||
import com.ydw.bat.wkflow.business_oa.webService.todoResult.NotifyTodoAppResult;
|
||||
import com.ydw.bat.wkflow.util.Utils;
|
||||
import net.sf.json.JSONObject;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.lang3.exception.ExceptionUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.amqp.rabbit.annotation.Exchange;
|
||||
import org.springframework.amqp.rabbit.annotation.Queue;
|
||||
import org.springframework.amqp.rabbit.annotation.QueueBinding;
|
||||
import org.springframework.amqp.rabbit.annotation.RabbitListener;
|
||||
import org.springframework.amqp.support.AmqpHeaders;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.messaging.Message;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Component
|
||||
public class SendMQService {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(SendMQService.class);
|
||||
|
||||
@Autowired
|
||||
private CreateMQService convertMq;
|
||||
|
||||
@Autowired
|
||||
private EmailUtils emailUtils;
|
||||
|
||||
@Autowired
|
||||
private WebServiceOAService webServiceOAService;
|
||||
|
||||
@Autowired
|
||||
private SendTodoLogMapper sendTodoLogMapper;
|
||||
|
||||
@Autowired
|
||||
private IOaTaskExecService oaTaskExecService;
|
||||
|
||||
@Autowired
|
||||
private LawsUserInfoService lawsUserInfoService;
|
||||
|
||||
@RabbitListener(bindings = @QueueBinding(
|
||||
value = @Queue(value = "createMQ_SQ_GSAR_RELEASE", durable = "true"),
|
||||
exchange = @Exchange(value = "send-exchange_MQ_GSAR_RELEASE", ignoreDeclarationExceptions = "true"),
|
||||
key = "send-key_MQ_GSAR_RELEASE"))
|
||||
public void createMQ(BusProcessNew object, Message message, Channel channel) throws Exception{
|
||||
try{
|
||||
try{
|
||||
Thread.sleep(5000);
|
||||
if(object.getTaskStatus() == 2 && object.getEndTime() != null && StringUtils.isNotBlank(object.getEndTime())){
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
int days = Utils.subDayNum(object.getEndTime());
|
||||
// 3 天 外
|
||||
if(days > 3){
|
||||
// 执行日期
|
||||
String execTime = Utils.subDay(object.getEndTime(),3);
|
||||
net.sf.json.JSONObject json = net.sf.json.JSONObject.fromObject(object);
|
||||
|
||||
// 执行任务对象 默认存储
|
||||
OaTaskExec oaTaskExec = new OaTaskExec();
|
||||
oaTaskExec.setExecType(2);
|
||||
oaTaskExec.setTodoId(object.getId());
|
||||
oaTaskExec.setUserId(object.getUserId());
|
||||
oaTaskExec.setMesg(json.toString());
|
||||
oaTaskExec.setCreateTime(sdf.format(new Date()));
|
||||
oaTaskExec.setUpdateTime(sdf.format(new Date()));
|
||||
oaTaskExec.setExecTime(execTime);
|
||||
oaTaskExec.setEndTime(object.getEndTime());
|
||||
oaTaskExec.setExecStatus(0);
|
||||
oaTaskExecService.save(oaTaskExec);
|
||||
object.setPrcName(object.getPrcName());
|
||||
|
||||
// 3 天 外 发送 OA 接受待办
|
||||
insertOrUpdateInfo(object);
|
||||
}else {
|
||||
// 3 天 内 发送 OA 待办
|
||||
insertOrUpdateInfo(object);
|
||||
}
|
||||
}else {
|
||||
// 正常逻辑发送 OA 待办
|
||||
insertOrUpdateInfo(object);
|
||||
}
|
||||
}catch(InterruptedException e){
|
||||
logger.error(e.toString());
|
||||
Thread.currentThread().interrupt();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("消息队列进入添加数据方法前失败!");
|
||||
logger.error(e.getMessage(),e);
|
||||
}finally {
|
||||
Long tag = (Long) message.getHeaders().get(AmqpHeaders.DELIVERY_TAG);
|
||||
channel.basicAck(tag,false);
|
||||
logger.debug("消息确认成功!!!!!!!!!");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void insertOrUpdateInfo(BusProcessNew object) throws Exception {
|
||||
try {
|
||||
NotifyTodoAppResult todoAppResult = webServiceOAService.sendTodo(object);
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss");
|
||||
|
||||
if(todoAppResult.getSIGN().equals("0") || todoAppResult.getMASSAGE().equals("操作成功")){
|
||||
QueryWrapper wrapper = new QueryWrapper();
|
||||
wrapper.eq("TODO_ID",object.getId());
|
||||
wrapper.eq("MSG_TYPE","0");
|
||||
List<SendTodoLog> list = sendTodoLogMapper.selectList(wrapper);
|
||||
if(!list.isEmpty()) {
|
||||
SendTodoLog sendTodoLog = list.get(0);
|
||||
sendTodoLog.setMsgStatus("2");
|
||||
sendTodoLog.setOperMesg(todoAppResult.getMASSAGE());
|
||||
sendTodoLog.setCreateTime(sdf.format(new Date()));
|
||||
sendTodoLog.setUpdateTime(sdf.format(new Date()));
|
||||
sendTodoLogMapper.updateById(sendTodoLog);
|
||||
}else {
|
||||
sendTodoSave(object, sdf, "2",todoAppResult.getMASSAGE());
|
||||
}
|
||||
}else {
|
||||
// 重试发送待办
|
||||
logger.info("重试发送待办");
|
||||
this.restartSendMq(object,todoAppResult.getMASSAGE());
|
||||
}
|
||||
|
||||
}catch (Exception e){
|
||||
logger.error(e.getMessage(),e);
|
||||
this.restartSendMq(object, e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public void restartSendMq(BusProcessNew object,String operMesg) throws Exception{
|
||||
QueryWrapper wrapper = new QueryWrapper();
|
||||
wrapper.eq("TODO_ID",object.getId());
|
||||
wrapper.eq("MSG_TYPE","0");
|
||||
List<SendTodoLog> list = sendTodoLogMapper.selectList(wrapper);
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss");
|
||||
if(!list.isEmpty()){
|
||||
SendTodoLog sendTodoLog = list.get(0);
|
||||
int againNumNew = Integer.valueOf(sendTodoLog.getErrNum());
|
||||
if(againNumNew >= 6){
|
||||
ResponseMessage<UserVO> byId = lawsUserInfoService.getById("WY8J26MH23");
|
||||
// 发送待办 或 发送给管理员邮箱
|
||||
List<String> emailList = new ArrayList<>();
|
||||
// 占时指定admin用户邮箱
|
||||
emailList.add(byId == null ? "" : (byId.getData().getEmail() == null ? "" : byId.getData().getEmail()));
|
||||
String[] arr = emailList.toArray(new String[emailList.size()]);
|
||||
String title = "OA请求发送失败6次";
|
||||
String countText = "<div style=\"font-size:16px\" ><div><p>您好:</p></div>" +
|
||||
"<span style=\"color:blue;\" >"+"OA请求发送失败6次,请线下协调处理"+"</span></div>";
|
||||
emailUtils.sendMsgFeign(arr,title,countText);
|
||||
logger.info("发送失败6次,发送给管理员邮箱");
|
||||
}else {
|
||||
restSendTodo(object, sdf, sendTodoLog, againNumNew,operMesg);
|
||||
}
|
||||
}else {
|
||||
sendTodoSave(object, sdf, "3",operMesg);
|
||||
}
|
||||
}
|
||||
|
||||
private void restSendTodo(BusProcessNew object, SimpleDateFormat sdf, SendTodoLog sendTodoLog, int againNumNew,String operMesg) throws Exception{
|
||||
// 失败次数小于6次,放入失败队列延迟消费
|
||||
if((againNumNew < 6)){
|
||||
Thread.sleep(3000);
|
||||
logger.info("发送失败连续持续"+againNumNew+"次,存入延迟重试队列!!!!!!!!!");
|
||||
}else {
|
||||
logger.info("发送失败连续持续"+againNumNew+"次!!");
|
||||
}
|
||||
sendTodoLog.setErrNum(sendTodoLog.getErrNum()+1);
|
||||
sendTodoLog.setUpdateTime(sdf.format(new Date()));
|
||||
sendTodoLog.setOperMesg(operMesg);
|
||||
sendTodoLogMapper.updateById(sendTodoLog);
|
||||
convertMq.sendTodoMq(object);
|
||||
logger.info("已重新加入延迟队列");
|
||||
}
|
||||
|
||||
private void sendTodoSave(BusProcessNew object, SimpleDateFormat sdf, String s,String operMesg) {
|
||||
SendTodoLog sendTodoLog = new SendTodoLog();
|
||||
sendTodoLog.setMsgType("0");
|
||||
sendTodoLog.setTodoId(object.getId());
|
||||
sendTodoLog.setUserId(object.getUserId());
|
||||
JSONObject json = JSONObject.fromObject(object);
|
||||
sendTodoLog.setMesg(json.toString());
|
||||
sendTodoLog.setMsgStatus(s);
|
||||
sendTodoLog.setErrNum(1);
|
||||
sendTodoLog.setOperMesg(operMesg);
|
||||
sendTodoLog.setCreateTime(sdf.format(new Date()));
|
||||
sendTodoLog.setUpdateTime(sdf.format(new Date()));
|
||||
sendTodoLogMapper.insert(sendTodoLog);
|
||||
if(s.equals("2")){
|
||||
logger.info("发送成功,存入OA日志");
|
||||
}else{
|
||||
convertMq.sendTodoMq(object);
|
||||
logger.info("已重新加入延迟队列");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
package com.ydw.bat.wkflow.business_oa.common;
|
||||
|
||||
import com.ydw.bat.wkflow.business_oa.exception.CommonException;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.cxf.endpoint.Client;
|
||||
import org.apache.cxf.frontend.ClientProxy;
|
||||
import org.apache.cxf.interceptor.LoggingInInterceptor;
|
||||
import org.apache.cxf.interceptor.LoggingOutInterceptor;
|
||||
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
|
||||
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
|
||||
import org.apache.cxf.transport.http.HTTPConduit;
|
||||
import org.apache.cxf.transports.http.configuration.HTTPClientPolicy;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ResourceBundle;
|
||||
|
||||
/**
|
||||
* @Description: TODO
|
||||
* @author: super_liu
|
||||
* @date: 2021年09月08日 14:40
|
||||
*/
|
||||
|
||||
@Service
|
||||
public class WebServiceConf {
|
||||
|
||||
/**
|
||||
* 调用webservice 接口
|
||||
*
|
||||
* @param method 调用方法名
|
||||
* @param params 接口传入参数
|
||||
* @return
|
||||
*/
|
||||
public static synchronized Object[] invoke(String wsdlUrl, String method, Object[] params) throws Exception {
|
||||
Object[] objectArr = null;
|
||||
//创建动态客户端
|
||||
JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory
|
||||
.newInstance();
|
||||
Client client = dcf.createClient(wsdlUrl);
|
||||
try {
|
||||
//如果返回的address不是远程服务地址,重新制定地址
|
||||
//添加发送请求拦截器
|
||||
if (StringUtils.isEmpty(method)) {
|
||||
throw new CommonException("cxf 调用webservice 执行方法名缺失:method 未传入");
|
||||
}
|
||||
|
||||
|
||||
// cxf 调用webservice method paramsStr
|
||||
HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy(); // 策略
|
||||
httpClientPolicy.setConnectionTimeout(36000); //连接超时
|
||||
httpClientPolicy.setAllowChunking(false);
|
||||
httpClientPolicy.setReceiveTimeout(10000); //接收超时
|
||||
HTTPConduit http = (HTTPConduit) client.getConduit();
|
||||
http.setClient(httpClientPolicy);
|
||||
|
||||
|
||||
objectArr = client.invoke(method, params);
|
||||
|
||||
} catch (Exception e) {
|
||||
throw new CommonException("cxf 调用webservice 执行错误:" + e.toString());
|
||||
}finally {
|
||||
client.close();
|
||||
}
|
||||
|
||||
return objectArr;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
package com.ydw.bat.wkflow.business_oa.config;
|
||||
|
||||
import okhttp3.ConnectionPool;
|
||||
import okhttp3.OkHttpClient;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
import javax.net.ssl.SSLContext;
|
||||
import javax.net.ssl.SSLSocketFactory;
|
||||
import javax.net.ssl.TrustManager;
|
||||
import javax.net.ssl.X509TrustManager;
|
||||
import java.security.KeyManagementException;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.security.SecureRandom;
|
||||
import java.security.cert.CertificateException;
|
||||
import java.security.cert.X509Certificate;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
@Configuration
|
||||
public class OkHttpConfig {
|
||||
|
||||
@Bean
|
||||
public X509TrustManager x509TrustManager() {
|
||||
return new X509TrustManager() {
|
||||
@Override
|
||||
public void checkClientTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException {
|
||||
}
|
||||
@Override
|
||||
public void checkServerTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException {
|
||||
}
|
||||
@Override
|
||||
public X509Certificate[] getAcceptedIssuers() {
|
||||
return new X509Certificate[0];
|
||||
}
|
||||
};
|
||||
}
|
||||
@Bean
|
||||
public SSLSocketFactory sslSocketFactory() {
|
||||
try {
|
||||
//信任任何链接
|
||||
SSLContext sslContext = SSLContext.getInstance("TLS");
|
||||
sslContext.init(null, new TrustManager[]{x509TrustManager()}, new SecureRandom());
|
||||
return sslContext.getSocketFactory();
|
||||
} catch (NoSuchAlgorithmException e) {
|
||||
e.printStackTrace();
|
||||
} catch (KeyManagementException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
/**
|
||||
* Create a new connection pool with tuning parameters appropriate for a single-user application.
|
||||
* The tuning parameters in this pool are subject to change in future OkHttp releases. Currently
|
||||
*/
|
||||
@Bean
|
||||
public ConnectionPool pool() {
|
||||
return new ConnectionPool(200, 5, TimeUnit.MINUTES);
|
||||
}
|
||||
@Bean
|
||||
public OkHttpClient okHttpClient() {
|
||||
return new OkHttpClient.Builder()
|
||||
.sslSocketFactory(sslSocketFactory(), x509TrustManager())
|
||||
.retryOnConnectionFailure(false)//是否开启缓存
|
||||
.connectionPool(pool())//连接池
|
||||
.connectTimeout(10L, TimeUnit.SECONDS)
|
||||
.readTimeout(10L, TimeUnit.SECONDS)
|
||||
.build();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.ydw.bat.wkflow.business_oa.exception;
|
||||
|
||||
/**
|
||||
* 自定义简单异常
|
||||
*
|
||||
*/
|
||||
public class CommonException extends RuntimeException {
|
||||
|
||||
public CommonException(String message) {
|
||||
super(message);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,342 @@
|
||||
package com.ydw.bat.wkflow.business_oa.utils;
|
||||
|
||||
import org.apache.avalon.framework.service.ServiceException;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.mail.MailException;
|
||||
import org.springframework.mail.SimpleMailMessage;
|
||||
import org.springframework.mail.javamail.JavaMailSenderImpl;
|
||||
import org.springframework.mail.javamail.MimeMessageHelper;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.mail.MessagingException;
|
||||
import javax.mail.internet.MimeMessage;
|
||||
import java.io.File;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
|
||||
@Component
|
||||
public class EmailUtils {
|
||||
|
||||
private final Logger logger = LoggerFactory.getLogger(getClass());
|
||||
/**
|
||||
* The Mail sender.
|
||||
*/
|
||||
@Autowired
|
||||
JavaMailSenderImpl mailSender;
|
||||
|
||||
@Value("${mail.valid}")
|
||||
private boolean mailValid;
|
||||
|
||||
@Value("${spring.mail.username}")
|
||||
private String userName;
|
||||
|
||||
@Value("${spring.mail.password}")
|
||||
private String mailPwd;
|
||||
|
||||
/**
|
||||
* Send simple email.
|
||||
*
|
||||
* @param deliver the deliver
|
||||
* @param receiver the receiver
|
||||
* @param subject the subject
|
||||
* @param content the content
|
||||
* @throws ServiceException the service exception
|
||||
*/
|
||||
public void sendSimpleEmail(String deliver,String personName, String receiver, String subject, String content) throws ServiceException {
|
||||
if(mailValid){
|
||||
String[] receivers = {receiver};
|
||||
sendSimpleEmail(deliver,personName, receivers, null, subject, content);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Send simple email.
|
||||
*
|
||||
* @param deliver the deliver
|
||||
* @param receiver the receiver
|
||||
* @param carbonCopy the carbon copy
|
||||
* @param subject the subject
|
||||
* @param content the content
|
||||
* @throws ServiceException the service exception
|
||||
*/
|
||||
public void sendSimpleEmail(String deliver,String personName, String[] receiver, String[] carbonCopy, String subject, String content) throws ServiceException {
|
||||
|
||||
long startTimestamp = System.currentTimeMillis();
|
||||
logger.info("Start send mail ... ");
|
||||
|
||||
try {
|
||||
SimpleMailMessage message = new SimpleMailMessage();
|
||||
personName=javax.mail.internet.MimeUtility.encodeText(personName);
|
||||
message.setFrom(personName + "<"+deliver+">");
|
||||
message.setTo(receiver);
|
||||
if(carbonCopy!=null && carbonCopy.length>0){
|
||||
message.setCc(carbonCopy);
|
||||
}
|
||||
message.setSubject(subject);
|
||||
message.setText(content);
|
||||
if(StringUtils.isBlank(mailPwd)){
|
||||
mailSender.setPassword(null);
|
||||
}
|
||||
mailSender.send(message);
|
||||
logger.info("Send mail success, cost {} million seconds", System.currentTimeMillis() - startTimestamp);
|
||||
} catch (MailException e) {
|
||||
logger.error("Send mail failed, error message is : {} \n", e.getMessage());
|
||||
logger.error(e.getMessage(),e);
|
||||
throw new ServiceException(e.getMessage());
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
logger.error("Send mail failed, error message is : {} \n", e.getMessage());
|
||||
logger.error(e.getMessage(),e);
|
||||
throw new ServiceException(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Send html email.
|
||||
*
|
||||
* @param deliver the deliver
|
||||
* @param receiver the receiver
|
||||
* @param subject the subject
|
||||
* @param content the content
|
||||
* @throws ServiceException the service exception
|
||||
*/
|
||||
public void sendHtmlEmail(String deliver, String receiver, String subject, String content) throws ServiceException {
|
||||
String[] receivers = {receiver};
|
||||
sendHtmlEmail(deliver, receivers, null, subject, content, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Send html email.
|
||||
*
|
||||
* @param deliver the deliver
|
||||
* @param receiver the receiver
|
||||
* @param carbonCopy the carbon copy
|
||||
* @param subject the subject
|
||||
* @param content the content
|
||||
* @param isHtml the is html
|
||||
* @throws ServiceException the service exception
|
||||
*/
|
||||
public void sendHtmlEmail(String deliver, String[] receiver, String[] carbonCopy, String subject, String content, boolean isHtml) throws ServiceException {
|
||||
long startTimestamp = System.currentTimeMillis();
|
||||
logger.info("Start send email ...");
|
||||
|
||||
try {
|
||||
MimeMessage message = mailSender.createMimeMessage();
|
||||
MimeMessageHelper messageHelper = new MimeMessageHelper(message);
|
||||
|
||||
messageHelper.setFrom(deliver);
|
||||
messageHelper.setTo(receiver);
|
||||
if (null != carbonCopy) {
|
||||
messageHelper.setCc(carbonCopy);
|
||||
}
|
||||
messageHelper.setSubject(subject);
|
||||
messageHelper.setText(content, isHtml);
|
||||
if(StringUtils.isBlank(mailPwd)){
|
||||
mailSender.setPassword(null);
|
||||
}
|
||||
mailSender.send(message);
|
||||
logger.info("Send email success, cost {} million seconds", System.currentTimeMillis() - startTimestamp);
|
||||
} catch (MessagingException e) {
|
||||
logger.error("Send email failed, error message is {} \n", e.getMessage());
|
||||
logger.error(e.getMessage(),e);
|
||||
throw new ServiceException(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Send attachment file email.
|
||||
*
|
||||
* @param deliver the deliver
|
||||
* @param receiver the receiver
|
||||
* @param subject the subject
|
||||
* @param content the content
|
||||
* @param fileName the file name
|
||||
* @param file the file
|
||||
* @throws ServiceException the service exception
|
||||
*/
|
||||
public void sendAttachmentFileEmail(String deliver, String receiver, String subject, String content, String fileName, File file) throws ServiceException {
|
||||
String[] receivers = {receiver};
|
||||
sendAttachmentFileEmail(deliver, receivers, null, subject, content, true, fileName, file);
|
||||
}
|
||||
|
||||
/**
|
||||
* Send attachment file mail.
|
||||
*
|
||||
* @param deliver the deliver
|
||||
* @param receiver the receiver
|
||||
* @param carbonCopy the carbon copy
|
||||
* @param subject the subject
|
||||
* @param content the content
|
||||
* @param isHtml the is html
|
||||
* @param fileName the file name
|
||||
* @param file the file
|
||||
* @throws ServiceException the service exception
|
||||
*/
|
||||
public void sendAttachmentFileEmail(String deliver, String[] receiver, String[] carbonCopy, String subject, String content, boolean isHtml, String fileName, File file) throws ServiceException {
|
||||
long startTimestamp = System.currentTimeMillis();
|
||||
logger.info("Start send mail ...");
|
||||
|
||||
try {
|
||||
MimeMessage message = mailSender.createMimeMessage();
|
||||
MimeMessageHelper messageHelper = new MimeMessageHelper(message, true);
|
||||
|
||||
messageHelper.setFrom(deliver);
|
||||
messageHelper.setTo(receiver);
|
||||
messageHelper.setCc(carbonCopy);
|
||||
messageHelper.setSubject(subject);
|
||||
messageHelper.setText(content, isHtml);
|
||||
messageHelper.addAttachment(fileName, file);
|
||||
if(StringUtils.isBlank(mailPwd)){
|
||||
mailSender.setPassword(null);
|
||||
}
|
||||
mailSender.send(message);
|
||||
logger.info("Send mail success, cost {} million seconds", System.currentTimeMillis() - startTimestamp);
|
||||
} catch (MessagingException e) {
|
||||
logger.error("Send mail failed, error message is {}\n", e.getMessage());
|
||||
logger.error(e.getMessage(),e);
|
||||
throw new ServiceException(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/* *//**
|
||||
* Send template email.
|
||||
*
|
||||
* @param deliver the deliver
|
||||
* @param receiver the receiver
|
||||
* @param subject the subject
|
||||
* @param template the template
|
||||
* @param context the context
|
||||
* @throws ServiceException the service exception
|
||||
*//*
|
||||
public void sendTemplateEmail(String deliver, String receiver, String subject, String template, Context context) throws ServiceException {
|
||||
String[] receivers = {receiver};
|
||||
sendTemplateEmail(deliver, receivers, null, subject, template, context);
|
||||
}*/
|
||||
|
||||
/* *//**
|
||||
* Send template mail.
|
||||
* @throws ServiceException the service exception
|
||||
*//*
|
||||
public void sendTemplateEmail(String deliver, String[] receiver, String[] carbonCopy, String subject, String template, Context context) throws ServiceException {
|
||||
long startTimestamp = System.currentTimeMillis();
|
||||
logger.info("Start send mail ...");
|
||||
|
||||
try {
|
||||
MimeMessage message = mailSender.createMimeMessage();
|
||||
MimeMessageHelper messageHelper = new MimeMessageHelper(message);
|
||||
|
||||
String content = templateEngine.process(template, context);
|
||||
messageHelper.setFrom(deliver);
|
||||
messageHelper.setTo(receiver);
|
||||
messageHelper.setCc(carbonCopy);
|
||||
messageHelper.setSubject(subject);
|
||||
messageHelper.setText(content, true);
|
||||
|
||||
mailSender.send(message);
|
||||
logger.info("Send mail success, cost {} million seconds", System.currentTimeMillis() - startTimestamp);
|
||||
} catch (MessagingException e) {
|
||||
logger.error("Send mail failed, error message is {} \n", e.getMessage());
|
||||
e.printStackTrace();
|
||||
throw new ServiceException(e.getMessage());
|
||||
}
|
||||
}*/
|
||||
|
||||
@Async
|
||||
public void sendMsg(String[] tos,String msg){
|
||||
//创建简单邮件消息
|
||||
SimpleMailMessage message = new SimpleMailMessage();
|
||||
//谁发的
|
||||
message.setFrom(userName);
|
||||
//谁要接收
|
||||
message.setTo(tos);
|
||||
//邮件标题
|
||||
message.setSubject(msg);
|
||||
//邮件内容
|
||||
message.setText(msg);
|
||||
try {
|
||||
if(StringUtils.isBlank(mailPwd)){
|
||||
mailSender.setPassword(null);
|
||||
}
|
||||
mailSender.send(message);
|
||||
} catch (MailException e) {
|
||||
logger.error(e.getMessage(),e);
|
||||
}
|
||||
}
|
||||
|
||||
@Async
|
||||
public void sendMsgNew(String[] tos,String msg,String title){
|
||||
//创建简单邮件消息
|
||||
SimpleMailMessage message = new SimpleMailMessage();
|
||||
//谁发的
|
||||
message.setFrom(userName);
|
||||
//谁要接收
|
||||
message.setTo(tos);
|
||||
//邮件标题
|
||||
message.setSubject(title);
|
||||
//邮件内容
|
||||
message.setText(msg);
|
||||
try {
|
||||
if(StringUtils.isBlank(mailPwd)){
|
||||
mailSender.setPassword(null);
|
||||
}
|
||||
mailSender.send(message);
|
||||
} catch (MailException e) {
|
||||
logger.error(e.getMessage(),e);
|
||||
}
|
||||
}
|
||||
|
||||
@Async
|
||||
public void sendMsgFeign(String[] tos,String title, String msg){
|
||||
//创建简单邮件消息
|
||||
SimpleMailMessage message = new SimpleMailMessage();
|
||||
//谁发的
|
||||
message.setFrom(userName);
|
||||
//谁要接收
|
||||
message.setTo(tos);
|
||||
//邮件标题
|
||||
message.setSubject(title);
|
||||
//邮件内容
|
||||
message.setText(msg);
|
||||
try {
|
||||
if (null != tos){
|
||||
for (String to :tos){
|
||||
sendHtmlEmail( userName, to, title, msg);
|
||||
}
|
||||
}
|
||||
|
||||
} catch (ServiceException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@Async
|
||||
public void sendMsgWithCC(String[] tos,String[] cc,String msg){
|
||||
//创建简单邮件消息
|
||||
SimpleMailMessage message = new SimpleMailMessage();
|
||||
//谁发的
|
||||
message.setFrom(userName);
|
||||
//谁要接收
|
||||
message.setTo(tos);
|
||||
//抄送
|
||||
message.setCc(cc);
|
||||
//邮件标题
|
||||
message.setSubject(msg);
|
||||
//邮件内容
|
||||
message.setText(msg);
|
||||
try {
|
||||
if(StringUtils.isBlank(mailPwd)){
|
||||
mailSender.setPassword(null);
|
||||
}
|
||||
mailSender.send(message);
|
||||
} catch (MailException e) {
|
||||
logger.error(e.getMessage(),e);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,323 @@
|
||||
package com.ydw.bat.wkflow.business_oa.utils;
|
||||
|
||||
import okhttp3.*;
|
||||
import org.apache.commons.lang3.exception.ExceptionUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
public class OkHttpUtil {
|
||||
private static final Logger logger = LoggerFactory.getLogger(OkHttpUtil.class);
|
||||
|
||||
@Autowired
|
||||
private OkHttpClient okHttpClient;
|
||||
/**
|
||||
* get
|
||||
*
|
||||
* @param url 请求的url
|
||||
* @param queries 请求的参数,在浏览器?后面的数据,没有可以传null
|
||||
* @return
|
||||
*/
|
||||
public String get(String url, Map<String, String> queries, Map<String, String> headerParams) {
|
||||
String responseBody = "";
|
||||
StringBuffer sb = new StringBuffer(url);
|
||||
if (queries != null && queries.keySet().size() > 0) {
|
||||
boolean firstFlag = true;
|
||||
Iterator iterator = queries.entrySet().iterator();
|
||||
while (iterator.hasNext()) {
|
||||
Map.Entry entry = (Map.Entry<String, String>) iterator.next();
|
||||
if (firstFlag) {
|
||||
sb.append("?" + entry.getKey() + "=" + entry.getValue());
|
||||
firstFlag = false;
|
||||
} else {
|
||||
sb.append("&" + entry.getKey() + "=" + entry.getValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Request.Builder requestBuilder = new Request.Builder().url(url);
|
||||
|
||||
if(headerParams != null){
|
||||
for(Map.Entry<String, String> entry : headerParams.entrySet()) {
|
||||
requestBuilder.addHeader(entry.getKey(), entry.getValue());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Request request = requestBuilder.url(sb.toString())
|
||||
.build();
|
||||
Response response = null;
|
||||
try {
|
||||
response = okHttpClient.newCall(request).execute();
|
||||
int status = response.code();
|
||||
if (status == 200) {
|
||||
return response.body().string();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("okhttp put error >> ex = {}", ExceptionUtils.getStackTrace(e));
|
||||
} finally {
|
||||
if (response != null) {
|
||||
response.close();
|
||||
}
|
||||
}
|
||||
return responseBody;
|
||||
}
|
||||
/**
|
||||
* post
|
||||
*
|
||||
* @param url 请求的url
|
||||
* @param params post form 提交的参数
|
||||
* @return
|
||||
*/
|
||||
public String post(String url, Map<String, String> params, Map<String, String> headerParams) {
|
||||
String responseBody = "";
|
||||
FormBody.Builder builder = new FormBody.Builder();
|
||||
//添加参数
|
||||
if (params != null && params.keySet().size() > 0) {
|
||||
for (String key : params.keySet()) {
|
||||
builder.add(key, params.get(key));
|
||||
}
|
||||
}
|
||||
|
||||
Request.Builder requestBuilder = new Request.Builder().url(url);
|
||||
|
||||
for(Map.Entry<String, String> entry : headerParams.entrySet()) {
|
||||
requestBuilder.addHeader(entry.getKey(), entry.getValue());
|
||||
}
|
||||
|
||||
Request request = requestBuilder.post(builder.build()).build();
|
||||
Response response = null;
|
||||
try {
|
||||
response = okHttpClient.newCall(request).execute();
|
||||
int status = response.code();
|
||||
if (status == 200) {
|
||||
return response.body().string();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("okhttp post error >> ex = {}", ExceptionUtils.getStackTrace(e));
|
||||
} finally {
|
||||
if (response != null) {
|
||||
response.close();
|
||||
}
|
||||
}
|
||||
return responseBody;
|
||||
}
|
||||
|
||||
/**
|
||||
47
|
||||
* 同步GET请求 带Authorization认证
|
||||
48
|
||||
*/
|
||||
|
||||
public String getAuthorization(String get_url, String json, String[] auth_base){
|
||||
|
||||
|
||||
final String credential = Credentials.basic(auth_base[0], auth_base[1]);
|
||||
String result = "";
|
||||
String data_url = get_url + "?" + json;
|
||||
Request request = new Request.Builder()
|
||||
.url(data_url)
|
||||
.header("Authorization", credential)
|
||||
.get()
|
||||
.build();
|
||||
Response response = null;
|
||||
try {
|
||||
response = okHttpClient.newCall(request).execute();
|
||||
int status = response.code();
|
||||
if (status == 200) {
|
||||
return response.body().string();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("okhttp post error >> ex = {}", ExceptionUtils.getStackTrace(e));
|
||||
} finally {
|
||||
if (response != null) {
|
||||
response.close();
|
||||
}
|
||||
}
|
||||
return result;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Post请求 带Authorization认证
|
||||
* */
|
||||
public String postAuthorization(String get_url, HashMap<String, Object> getData, String[] authBase){
|
||||
|
||||
String result = "";
|
||||
|
||||
final String credential = Credentials.basic(authBase[0], authBase[1]);
|
||||
|
||||
RequestBody fromBody = generateParametersForPost(getData).build();
|
||||
|
||||
Request request = new Request.Builder()
|
||||
.url(get_url)
|
||||
.header("Authorization", credential)
|
||||
.post(fromBody)
|
||||
.build();
|
||||
|
||||
Response response = null;
|
||||
try {
|
||||
response = okHttpClient.newCall(request).execute();
|
||||
int status = response.code();
|
||||
if (status == 200) {
|
||||
return response.body().string();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("okhttp post error >> ex = {}", ExceptionUtils.getStackTrace(e));
|
||||
} finally {
|
||||
if (response != null) {
|
||||
response.close();
|
||||
}
|
||||
}
|
||||
return result;
|
||||
|
||||
}
|
||||
|
||||
//拼接参数
|
||||
private static String generateParameters(HashMap<String, Object> parameters) {
|
||||
|
||||
String urlAttachment = "";
|
||||
|
||||
if(parameters.size()>0){
|
||||
|
||||
urlAttachment = "?";
|
||||
|
||||
Object[] keys = parameters.keySet().toArray();
|
||||
|
||||
for(Object key : keys)
|
||||
|
||||
urlAttachment += key.toString() + "=" + parameters.get(key).toString() + "&";
|
||||
|
||||
urlAttachment = urlAttachment.substring(0,urlAttachment.length()-1);
|
||||
}
|
||||
|
||||
return urlAttachment;
|
||||
}
|
||||
|
||||
//拼接参数用于POST请求
|
||||
|
||||
private static FormBody.Builder generateParametersForPost(HashMap<String, Object> parameters) {
|
||||
|
||||
FormBody.Builder builder = new FormBody.Builder();
|
||||
|
||||
if(parameters.size()>0){
|
||||
Object[] keys = parameters.keySet().toArray();
|
||||
|
||||
for(Object key : keys){
|
||||
Object ff = parameters.get(key);
|
||||
String aa = parameters.get(key).toString();
|
||||
|
||||
builder.add(key.toString(),parameters.get(key).toString());
|
||||
}
|
||||
}
|
||||
|
||||
return builder;
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送私密API请求
|
||||
*
|
||||
* @paramget_url请求地址
|
||||
* @paramget_data 请求参数列表
|
||||
* @return 返回JSON数据
|
||||
*/
|
||||
private String auth_get(){
|
||||
String result = "";
|
||||
String api_key = "apikey";
|
||||
String api_secret = "apisecret";
|
||||
//认证信息
|
||||
String[] baseAuth = {api_key,api_secret};
|
||||
//请求的URL的参数
|
||||
HashMap<String, Object> get_data = new HashMap<>();
|
||||
get_data.put("page","1"); //page参数
|
||||
get_data.put("name","test"); //name参数
|
||||
// result = getAuthorization("http://www.superl.org/page-about.html", get_data, baseAuth);
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* post
|
||||
*
|
||||
* @param url 请求的url
|
||||
* @param headerParams post form 提交的参数
|
||||
* @return
|
||||
*/
|
||||
public String postForJson(String url, String json, Map<String, String> headerParams){
|
||||
RequestBody requestBody = FormBody.create(MediaType.parse("application/json; charset=utf-8"), json);
|
||||
String responseBody = "";
|
||||
Request.Builder requestBuilder = new Request.Builder().url(url);
|
||||
for(Map.Entry<String, String> entry : headerParams.entrySet()) {
|
||||
requestBuilder.addHeader(entry.getKey(), entry.getValue());
|
||||
}
|
||||
Request request = requestBuilder.post(requestBody).build();
|
||||
Response response = null;
|
||||
try {
|
||||
response = okHttpClient.newCall(request).execute();
|
||||
int status = response.code();
|
||||
if (status == 200) {
|
||||
return response.body().string();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("okhttp post error >> ex = {}", ExceptionUtils.getStackTrace(e));
|
||||
return "okhttp post error >> ex = {} "+ e.getMessage();
|
||||
} finally {
|
||||
if (response != null) {
|
||||
response.close();
|
||||
}
|
||||
}
|
||||
return responseBody;
|
||||
}
|
||||
|
||||
/**
|
||||
* post 上传文件
|
||||
*
|
||||
* @param url
|
||||
* @param params
|
||||
* @param fileType
|
||||
* @return
|
||||
*/
|
||||
public String postFile(String url, Map<String, Object> params, String fileType, Map<String, String> headerParams) {
|
||||
String responseBody = "";
|
||||
MultipartBody.Builder builder = new MultipartBody.Builder();
|
||||
//添加参数
|
||||
if (params != null && params.keySet().size() > 0) {
|
||||
for (String key : params.keySet()) {
|
||||
if (params.get(key) instanceof File) {
|
||||
File file = (File) params.get(key);
|
||||
builder.addFormDataPart(key, file.getName(), RequestBody.create(MediaType.parse(fileType), file));
|
||||
continue;
|
||||
}
|
||||
builder.addFormDataPart(key, params.get(key).toString());
|
||||
}
|
||||
}
|
||||
|
||||
Request.Builder requestBuilder = new Request.Builder();
|
||||
for(Map.Entry<String, String> entry : headerParams.entrySet()) {
|
||||
requestBuilder.addHeader(entry.getKey(), entry.getValue());
|
||||
}
|
||||
|
||||
Request request = requestBuilder.url(url).post(builder.build()).build();
|
||||
Response response = null;
|
||||
try {
|
||||
response = okHttpClient.newCall(request).execute();
|
||||
int status = response.code();
|
||||
if (status == 200) {
|
||||
return response.body().string();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("okhttp postFile error >> ex = {}", ExceptionUtils.getStackTrace(e));
|
||||
} finally {
|
||||
if (response != null) {
|
||||
response.close();
|
||||
}
|
||||
}
|
||||
return responseBody;
|
||||
}
|
||||
}
|
||||
+76
@@ -0,0 +1,76 @@
|
||||
package com.ydw.bat.wkflow.business_oa.webService.controller;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.serializer.SerializerFeature;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.tmsps.fk.common.util.JsonUtil;
|
||||
import com.ydw.bat.wkflow.business_activiti.dto.*;
|
||||
import com.ydw.bat.wkflow.business_auth.LawsUserInfoService;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessEntrustService;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService;
|
||||
import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService;
|
||||
import com.ydw.bat.wkflow.business_oa.webService.todoContent.NotifyTodoSendContext;
|
||||
import com.ydw.bat.wkflow.business_oa.webService.todoResult.NotifyTodoAppResult;
|
||||
import com.ydw.bat.wkflow.business_wkflow.form.dto.FormSubmitDto;
|
||||
import com.ydw.bat.wkflow.business_wkflow.form.service.FormValsService;
|
||||
import org.activiti.engine.*;
|
||||
import org.activiti.engine.history.*;
|
||||
import org.activiti.engine.repository.ProcessDefinition;
|
||||
import org.activiti.engine.runtime.ProcessInstance;
|
||||
import org.activiti.engine.runtime.ProcessInstanceQuery;
|
||||
import org.activiti.engine.task.NativeTaskQuery;
|
||||
import org.activiti.engine.task.Task;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import com.tmsps.fk.common.base.action.BaseAction;
|
||||
import com.tmsps.fk.common.util.ChkUtil;
|
||||
import com.tmsps.fk.common.wrapper.WrapMapper;
|
||||
import com.tmsps.fk.common.wrapper.Wrapper;
|
||||
import com.ydw.bat.wkflow.business_activiti.service.TaskTodoService;
|
||||
import com.ydw.bat.wkflow.util.activiti.ActivitiTools;
|
||||
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiImplicitParams;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
|
||||
@Api(description = "WebService管理")
|
||||
@RestController
|
||||
public class WebServiceOAController extends BaseAction {
|
||||
|
||||
@Autowired
|
||||
private WebServiceOAService webServiceOAService;
|
||||
|
||||
@ApiOperation(value = "强制删除OA待办", notes = "强制删除OA待办")
|
||||
@GetMapping("/deleteOAByMandatory")
|
||||
public void deleteOAByMandatory(String todoId,String assignee) {
|
||||
webServiceOAService.deleteOAByMandatory(todoId,assignee);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "发送待办接口(")
|
||||
@PostMapping("/sendTodo")
|
||||
public NotifyTodoAppResult sendTodo() throws Exception{
|
||||
return webServiceOAService.sendTodo(new BusProcessNew());
|
||||
}
|
||||
|
||||
}
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
package com.ydw.bat.wkflow.business_oa.webService.service;
|
||||
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
|
||||
import com.ydw.bat.wkflow.business_oa.webService.todoContent.NotifyTodoSendContext;
|
||||
import com.ydw.bat.wkflow.business_oa.webService.todoResult.NotifyTodoAppDeleteResult;
|
||||
import com.ydw.bat.wkflow.business_oa.webService.todoResult.NotifyTodoAppResult;
|
||||
import org.activiti.engine.task.Task;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface WebServiceOAService {
|
||||
|
||||
void deleteOAByPid(String pId);
|
||||
|
||||
void deleteOAByMandatory(String todoId,String assignee);
|
||||
|
||||
void deleteOAByTaskIdResetTodo(BusProcessNew busProcessNew,String assignee);
|
||||
|
||||
void completeOA(Task task);
|
||||
|
||||
NotifyTodoAppResult sendTodo(BusProcessNew busProcessNew) throws Exception;
|
||||
|
||||
NotifyTodoAppResult setTodoDone(NotifyTodoSendContext notifyTodoSendContext) throws Exception;
|
||||
|
||||
NotifyTodoAppDeleteResult setTodoDelete(String object) throws Exception;
|
||||
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user