diff --git a/adc-da-report/src/main/java/com/adc/da/report/controller/ReportManageConroller.java b/adc-da-report/src/main/java/com/adc/da/report/controller/ReportManageConroller.java index 4dafd1b..280152d 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/controller/ReportManageConroller.java +++ b/adc-da-report/src/main/java/com/adc/da/report/controller/ReportManageConroller.java @@ -329,7 +329,7 @@ public class ReportManageConroller { * @throws ParseException */ @ApiOperation("添加报告") - @GetMapping("/addReportPage") + @PostMapping("/addReportPage") public ResponseMessage addReportPage(@RequestBody ReportQueryVo vo) throws Exception { IPage reportVoIPage = reportService.addReportPage(vo); return Result.success(reportVoIPage); diff --git a/adc-da-report/src/main/java/com/adc/da/report/dao/mysql/PowerApplyActDao.java b/adc-da-report/src/main/java/com/adc/da/report/dao/mysql/PowerApplyActDao.java index 8f2704e..57de55e 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/dao/mysql/PowerApplyActDao.java +++ b/adc-da-report/src/main/java/com/adc/da/report/dao/mysql/PowerApplyActDao.java @@ -42,4 +42,7 @@ public interface PowerApplyActDao extends BaseMapper { * @description 列表查询 */ List queryList(@Param("pageVO") PowerApplyActPageVO powerApplyActPageVO); + + int batchInsert(@Param("list")List powerApplyActs); + } diff --git a/adc-da-report/src/main/java/com/adc/da/report/eo/PowerApply.java b/adc-da-report/src/main/java/com/adc/da/report/eo/PowerApply.java index 16a8113..58dfd9e 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/eo/PowerApply.java +++ b/adc-da-report/src/main/java/com/adc/da/report/eo/PowerApply.java @@ -48,10 +48,12 @@ public class PowerApply { private String userId; /** - * 申请原因 + * 权限 1 预览 + * 2 预览 + 下载 */ @TableField("power") private Integer power; + /** * 创建人id */ diff --git a/adc-da-report/src/main/java/com/adc/da/report/eo/PowerApplyAct.java b/adc-da-report/src/main/java/com/adc/da/report/eo/PowerApplyAct.java index add2979..6da68cc 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/eo/PowerApplyAct.java +++ b/adc-da-report/src/main/java/com/adc/da/report/eo/PowerApplyAct.java @@ -42,11 +42,24 @@ public class PowerApplyAct { private String dataId; /** - * 报告名称 + * 报告id */ @TableField("report_id") private String reportId; + /** + * 权限 1 预览 + * 2 预览 + 下载 + */ + @TableField("power") + private Integer power; + + /** + * 申请原因 + */ + @TableField("apply_reason") + private String applyReason; + /** * 申请人 */ diff --git a/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java b/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java index 986122f..06df52a 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java +++ b/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java @@ -24,11 +24,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import io.swagger.models.auth.In; import lombok.extern.slf4j.Slf4j; - -import javax.annotation.Resource; - import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.data.redis.core.StringRedisTemplate; @@ -38,7 +34,6 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.io.FileInputStream; import java.io.FileOutputStream; -import java.io.OutputStream; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -354,14 +349,14 @@ public class IReportServiceImpl extends ServiceImpl page.setSize(vo.getPageSize()); //判断是不是管理员 - boolean admin = CommonUtils.isAdmin(); - if (admin) { - vo.setUsid(null); - } else { - vo.setUsid(CommonUtils.getUserId()); - } - +// boolean admin = CommonUtils.isAdmin(); +// if (admin) { +// vo.setUsid(null); +// } else { +// vo.setUsid(CommonUtils.getUserId()); +// } + vo.setUsid(CommonUtils.getUserId()); IPage list = reportDao.getAddReportPage(page, vo); return list; diff --git a/adc-da-report/src/main/java/com/adc/da/report/vo/ReportQueryVo.java b/adc-da-report/src/main/java/com/adc/da/report/vo/ReportQueryVo.java index c2dbda4..3802e53 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/vo/ReportQueryVo.java +++ b/adc-da-report/src/main/java/com/adc/da/report/vo/ReportQueryVo.java @@ -46,4 +46,6 @@ public class ReportQueryVo { */ private String usid; + private List ids; + } diff --git a/adc-da-report/src/main/resources/mybatis/mapper/mysql/PowerApplyActMapper.xml b/adc-da-report/src/main/resources/mybatis/mapper/mysql/PowerApplyActMapper.xml index e8a838b..9833eaf 100644 --- a/adc-da-report/src/main/resources/mybatis/mapper/mysql/PowerApplyActMapper.xml +++ b/adc-da-report/src/main/resources/mybatis/mapper/mysql/PowerApplyActMapper.xml @@ -15,6 +15,8 @@ + + @@ -24,14 +26,13 @@ - id, - prc_id, task_id, data_id,user_id,report_id,create_user_id,create_date,update_date,update_user_id,del_flag + id, prc_id, task_id, data_id, report_id, power, apply_reason, user_id, create_user_id, create_date, update_date, update_user_id, del_flag - AND del = '${@com.adc.da.sys.constant.YesOrNoEnum@NO.value}' + AND del_flag = '${@com.adc.da.sys.constant.YesOrNoEnum@NO.value}' AND prc_id LIKE CONCAT(CONCAT('%',#{pageVO.prcId}),'%') @@ -52,6 +53,15 @@ + + insert into power_apply_act (id, prc_id, task_id, data_id, report_id, power, apply_reason, user_id, create_user_id, create_date, update_date, update_user_id, del_flag) + values + + (#{item.id}, #{item.prcId}, #{item.taskId}, #{item.dataId}, #{item.reportId}, #{item.power}, #{item.applyReason}, #{item.userId}, #{item.createUserId}, #{item.createDate}, #{item.updateDate}, #{item.updateUserId}, #{item.delFlag}) + + + + - select * from TT_REPORT_MANAGE + SELECT a.* + from ( + select * from TT_REPORT_MANAGE eo + LEFT JOIN tr_report_user ru on eo.id = ru.reportId + WHERE eo.DEL_FLAG = 0 and ru.userId != #{pageVO.usid} + + + and name like CONCAT(CONCAT('%',#{pageVO.name}),'%') + + + + and year in + + #{year} + + + ) a + + LEFT JOIN power_apply pa on pa.report_id = a.id + where + pa.user_id is null or pa.user_id != #{pageVO.usid} - - del = 0 - diff --git a/adc-da-report/target/classes/com/adc/da/report/controller/ReportManageConroller.class b/adc-da-report/target/classes/com/adc/da/report/controller/ReportManageConroller.class index 8602114..c97520f 100644 Binary files a/adc-da-report/target/classes/com/adc/da/report/controller/ReportManageConroller.class and b/adc-da-report/target/classes/com/adc/da/report/controller/ReportManageConroller.class differ diff --git a/adc-da-report/target/classes/com/adc/da/report/service/impl/IReportServiceImpl.class b/adc-da-report/target/classes/com/adc/da/report/service/impl/IReportServiceImpl.class index 17d325f..c824f9a 100644 Binary files a/adc-da-report/target/classes/com/adc/da/report/service/impl/IReportServiceImpl.class and b/adc-da-report/target/classes/com/adc/da/report/service/impl/IReportServiceImpl.class differ diff --git a/adc-da-report/target/classes/mybatis/mapper/mysql/ReportManageMapper.xml b/adc-da-report/target/classes/mybatis/mapper/mysql/ReportManageMapper.xml index 20c9ba3..3173934 100644 --- a/adc-da-report/target/classes/mybatis/mapper/mysql/ReportManageMapper.xml +++ b/adc-da-report/target/classes/mybatis/mapper/mysql/ReportManageMapper.xml @@ -141,7 +141,13 @@ #{id} - + + + and Vo.ids in + + #{id} + + @@ -164,11 +170,28 @@ diff --git a/adc-da-sys/src/main/resources/mybatis/mapper/sys/mysql/UserEOMapper.xml b/adc-da-sys/src/main/resources/mybatis/mapper/sys/mysql/UserEOMapper.xml index 9ccfa7a..b241b38 100644 --- a/adc-da-sys/src/main/resources/mybatis/mapper/sys/mysql/UserEOMapper.xml +++ b/adc-da-sys/src/main/resources/mybatis/mapper/sys/mysql/UserEOMapper.xml @@ -163,6 +163,29 @@ #{id} + diff --git a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/define/ActivitDefineController.java b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/define/ActivitDefineController.java index 1cd5c94..144764e 100644 --- a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/define/ActivitDefineController.java +++ b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/define/ActivitDefineController.java @@ -1,10 +1,13 @@ package com.adc.da.wkflow.business_activiti.define; import cn.hutool.core.util.StrUtil; +import com.adc.da.login.util.UserUtils; import com.adc.da.sys.entity.UserEO; import com.adc.da.sys.service.iservice.IUserEoService; import com.adc.da.wkflow.business_activiti.service.ActivitDefineService; +import com.adc.da.wkflow.business_main.entity.BusProcessApprove; import com.adc.da.wkflow.business_main.entity.BusProcessName; +import com.adc.da.wkflow.business_main.service.IBusProcessApproveService; import com.adc.da.wkflow.business_main.service.IBusProcessNameService; import com.adc.da.wkflow.enums.SubmitStatusEnum; import com.adc.da.wkflow.util.ImpulseSenderUtils; @@ -55,6 +58,8 @@ public class ActivitDefineController { private IdentityService identityService; @Autowired private IBusProcessNameService ibusprocessnameService; + @Autowired + private IBusProcessApproveService ibusProcessApproveService; @Autowired private ActivitDefineService activitDefineService; @@ -130,8 +135,17 @@ public class ActivitDefineController { @ApiImplicitParam(name = "prcType", value = "流程类型"), @ApiImplicitParam(name = "prcName", value = "流程名称"), }) - @PostMapping("/activiti_define_start_user") + @PostMapping("/startProcess") public Wrapper activiti_define_start(@RequestBody JSONObject jsonObject) { + //登录人id + jsonObject.put("loginUserId", UserUtils.getUserId()); + if(com.adc.da.util.utils.StringUtils.isNotEmpty(jsonObject.getString("id"))){ + jsonObject.put("bpnId",jsonObject.getString("id")); + } + String prcType = jsonObject.getString("prcType"); + Map prcNameAndPrcNum = createPrcNameAndPrcNum(prcType); + + jsonObject.put("id",prcNameAndPrcNum.get("id")); /** * String id, * String userId, @@ -142,13 +156,12 @@ public class ActivitDefineController { String id = jsonObject.getString("id"); String userId = jsonObject.getString("loginUserId"); String bpnId = jsonObject.getString("bpnId"); - String prcType = jsonObject.getString("type"); - Object msg = jsonObject.get("msg"); + Object dataMsg = jsonObject.get("dataMsg"); + Object approveData =jsonObject.get("approveData"); // 创建查询对象 ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery(); // 使用流程定义的名称模糊查询 - processDefinitionQuery.processDefinitionCategory("4bdf0b396b4aa6ea10dd5e19956a1e22"); long total = processDefinitionQuery.count(); List list = processDefinitionQuery.orderByProcessDefinitionKey().asc().list(); List> definitions = ActivitiTools.turnProcessDefinitions(list); @@ -165,8 +178,6 @@ public class ActivitDefineController { task.setAssignee(userId); taskService.saveTask(task); - Map prcNameAndPrcNum = createPrcNameAndPrcNum(prcType); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); if(StringUtils.isEmpty(bpnId)) { BusProcessName busProcessName = new BusProcessName(); @@ -177,10 +188,11 @@ public class ActivitDefineController { busProcessName.setCreatUserName(byId.getUsname()); busProcessName.setPrcNum((String) prcNameAndPrcNum.get("prcNum")); busProcessName.setPrcType(prcType); - String data = JSON.toJSONString(msg, SerializerFeature.DisableCircularReferenceDetect); - String dateId = activitDefineService.saveOrUpdateDate(prcType,data); + String data = JSON.toJSONString(dataMsg, SerializerFeature.DisableCircularReferenceDetect); + String dateId = activitDefineService.saveOrUpdateDate(prcType,data,task.getId(),pi.getId()); busProcessName.setDataId(dateId); - busProcessName.setPrcName((String) prcNameAndPrcNum.get("prcName")); +// busProcessName.setPrcName((String) prcNameAndPrcNum.get("prcName")); + busProcessName.setPrcName(jsonObject.getString("prcName")); busProcessName.setSubmitStatus(SubmitStatusEnum.SUBMIT.getValue()); ibusprocessnameService.save(busProcessName); }else{ @@ -194,16 +206,24 @@ public class ActivitDefineController { String newId = UUID.randomUUID().toString().replace("-", ""); one.setId(newId); one.setPrcNum((String) prcNameAndPrcNum.get("prcNum")); - one.setPrcName((String) prcNameAndPrcNum.get("prcName")); +// one.setPrcName((String) prcNameAndPrcNum.get("prcName")); + one.setPrcName(jsonObject.getString("prcName")); one.setPrcId(pi.getId()); one.setSubmitStatus(SubmitStatusEnum.SUBMIT.getValue()); one.setCreatTime(sdf.format(new Date())); - String data = JSON.toJSONString(msg, SerializerFeature.DisableCircularReferenceDetect); - String dateId = activitDefineService.saveOrUpdateDate(prcType,data); + String data = JSON.toJSONString(dataMsg, SerializerFeature.DisableCircularReferenceDetect); + String dateId = activitDefineService.saveOrUpdateDate(prcType,data,task.getId(),pi.getId()); one.setDataId(dateId); ibusprocessnameService.save(one); } + BusProcessApprove busProcessApprove = new BusProcessApprove(); + busProcessApprove.setFromValsJson(approveData.toString()); + busProcessApprove.setTaskId(task.getId()); + busProcessApprove.setCreateDate(new Date()); + busProcessApprove.setPrcId(pi.getId()); + busProcessApprove.setCreateUserId(UserUtils.getUserId()); + ibusProcessApproveService.save(busProcessApprove); log.info("启动流程实例,获取id-->{},实例名称-->{}", pi.getId(), pd.getName()); return WrapMapper.ok(task.getId()); } @@ -248,9 +268,11 @@ public class ActivitDefineController { Map prcInfoMap = ibusprocessnameService.ruleGeneratePrcNumAndPrcNum(prcType); String prcNum = (String) prcInfoMap.get("prcNum"); String prcName = (String) prcInfoMap.get("prcName"); + String id = (String) prcInfoMap.get("id"); result.put("prcName",prcName); result.put("prcNum",prcNum); + result.put("id",id); return result; } diff --git a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/service/ActivitDefineService.java b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/service/ActivitDefineService.java index e04ecec..821df22 100644 --- a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/service/ActivitDefineService.java +++ b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/service/ActivitDefineService.java @@ -1,18 +1,40 @@ package com.adc.da.wkflow.business_activiti.service; +import com.adc.da.report.dao.mysql.PowerApplyActDao; +import com.adc.da.report.eo.PowerApplyAct; +import com.adc.da.report.service.IPowerApplyActService; +import com.alibaba.fastjson.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; +import java.util.UUID; + @Service public class ActivitDefineService { protected Logger logger = LoggerFactory.getLogger(getClass()); - //保存data数据 - public String saveOrUpdateDate(String prcType, String dataJson) { - String dataId = ""; - if ("".equals(prcType)){ + @Autowired + IPowerApplyActService iPowerApplyActService; + @Autowired + PowerApplyActDao powerApplyActDao; + + //保存data数据 + public String saveOrUpdateDate(String prcType, String dataJson,String taskId,String prcId) { + String dataId = UUID.randomUUID().toString().replaceAll("-",""); + if ("1".equals(prcType)){ + List powerApplyActs = JSONObject.parseArray(dataJson, PowerApplyAct.class); + for (PowerApplyAct powerApplyAct : powerApplyActs) { + powerApplyAct.setId(UUID.randomUUID().toString().replaceAll("-","")); + powerApplyAct.setDataId(dataId); + powerApplyAct.setTaskId(taskId); + powerApplyAct.setPrcId(prcId); + powerApplyAct.setDelFlag(0); + } + powerApplyActDao.batchInsert(powerApplyActs); } return dataId; } diff --git a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/service/TaskTodoService.java b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/service/TaskTodoService.java index 7c17215..03ae725 100644 --- a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/service/TaskTodoService.java +++ b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/service/TaskTodoService.java @@ -2,9 +2,12 @@ package com.adc.da.wkflow.business_activiti.service; import cn.hutool.core.util.StrUtil; import com.adc.da.wkflow.business_activiti.dto.TaskCommonQuery; +import com.adc.da.wkflow.business_main.mapper.TaskMapper; import com.adc.da.wkflow.util.date.DateTools; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.activiti.engine.TaskService; import org.activiti.engine.task.NativeTaskQuery; +import org.activiti.engine.task.Task; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -12,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; +import java.util.List; /** * 待办任务注入类,动态修改 Task的assignee等 @@ -27,6 +31,9 @@ public class TaskTodoService { @Autowired private TaskService taskService; + @Autowired + private TaskMapper taskMapper; + /** * 查询待办任务 拼接sql 包含待办任务和委托任务 * @param taskCommonQuery @@ -39,8 +46,6 @@ public class TaskTodoService { StringBuilder sb = new StringBuilder(); sb.append( "select distinct RES.* from ACT_RU_TASK RES left join ACT_RU_IDENTITYLINK I on I.TASK_ID_ = RES.ID_ inner join ACT_RE_PROCDEF D on RES.PROC_DEF_ID_ = D.ID_ "); - sb.append(" left join t_delegate_business db on RES.PROC_DEF_ID_=db.BUSINESS_KEY and db.IS_DELETED=0 "); - sb.append(" left join t_delegate de on db.DELEGATE_ID=de.OBJECT_ID and de.USERD=#{userd} "); sb.append(" WHERE "); //任务名称 if (StrUtil.isNotEmpty(taskCommonQuery.getName())) { @@ -61,12 +66,15 @@ public class TaskTodoService { sb.append( " (RES.ASSIGNEE_=#{assignee} or (RES.ASSIGNEE_ is null and I.TYPE_ = 'candidate' and (I.USER_ID_=#{user_id} ))) "); sb.append( - " or (RES.ASSIGNEE_ = de.USER or (RES.ASSIGNEE_ is null and I.TYPE_ = 'candidate' and (I.USER_ID_ = de.USER ))) "); + " or (RES.ASSIGNEE_ is null and I.TYPE_ = 'candidate' ) "); sb.append(" order by RES.CREATE_TIME_ desc "); +// sb.append(" LIMIT #{current},#{size} "); if(StringUtils.isNotBlank(taskCommonQuery.getUserId())){ nativeTaskQuery = nativeTaskQuery.parameter("userd", taskCommonQuery.getUserId()) .parameter("assignee", taskCommonQuery.getUserId()) - .parameter("user_id", taskCommonQuery.getUserId()); + .parameter("user_id", taskCommonQuery.getUserId()) + .parameter("current", taskCommonQuery.getCurrent()) + .parameter("size", taskCommonQuery.getSize()); } nativeTaskQuery = nativeTaskQuery.sql(sb.toString()); @@ -75,4 +83,16 @@ public class TaskTodoService { } + + public Page selectTask(TaskCommonQuery taskCommonQuery){ + Page page = new Page<>(); + page.setCurrent(taskCommonQuery.getCurrent()); + page.setSize(taskCommonQuery.getSize()); + List tasks = taskMapper.todoTaskList(page, taskCommonQuery); + long count = taskMapper.todoTaskListCount( taskCommonQuery); + page.setRecords(tasks); + page.setSize(count); + return page; + } + } diff --git a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/task/TaskController.java b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/task/TaskController.java index 8de0e6b..e6a8c37 100644 --- a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/task/TaskController.java +++ b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/task/TaskController.java @@ -8,6 +8,7 @@ import com.adc.da.wkflow.business_main.entity.BusProcessEntrust; import com.adc.da.wkflow.business_main.entity.BusProcessName; import com.adc.da.wkflow.business_main.entity.BusProcessNew; import com.adc.da.wkflow.business_main.service.IBusProcessApproveService; +import com.adc.da.wkflow.business_main.service.IBusProcessEntrustService; import com.adc.da.wkflow.business_main.service.IBusProcessNameService; import com.adc.da.wkflow.business_main.service.IBusProcessNewService; import com.adc.da.wkflow.util.activiti.ActivitiTools; @@ -49,7 +50,7 @@ public class TaskController { private IBusProcessNewService iBusProcessNewService; @Resource - private IBusProcessApproveService iBusProcessEntrustService; + private IBusProcessEntrustService iBusProcessEntrustService; @Resource private IBusProcessApproveService iBusProcessApproveService; @@ -92,7 +93,9 @@ public class TaskController { UserVO assignee = userByIdList.get(0); historicTaskInstance.put("assignee", assignee.getUsname()); historicTaskInstance.put("assigneeId", assignee.getUsid()); - historicTaskInstance.put("orgName",assignee.getOrgEOList().get(0)); + if(assignee.getOrgEOList().size()>0){ + historicTaskInstance.put("orgName",assignee.getOrgEOList().get(0)); + } QueryWrapper queryWrapper2 = new QueryWrapper(); queryWrapper2.eq("TASK_ID",historicTaskInstance.get("id")); queryWrapper2.orderByAsc("CREATE_TIME"); diff --git a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/task/TodoTaskController.java b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/task/TodoTaskController.java index 87e5221..b09f4c2 100644 --- a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/task/TodoTaskController.java +++ b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/task/TodoTaskController.java @@ -2,9 +2,13 @@ package com.adc.da.wkflow.business_activiti.task; import cn.hutool.core.util.StrUtil; import com.adc.da.login.util.UserUtils; +import com.adc.da.report.dao.mysql.PowerApplyActDao; +import com.adc.da.report.eo.PowerApplyAct; import com.adc.da.sys.service.iservice.IUserEoService; import com.adc.da.sys.vo.UserVO; import com.adc.da.util.exception.AdcDaBaseException; +import com.adc.da.util.http.ResponseMessage; +import com.adc.da.util.http.Result; import com.adc.da.wkflow.business_activiti.dto.Page; import com.adc.da.wkflow.business_activiti.dto.TaskCommonQuery; import com.adc.da.wkflow.business_activiti.service.ActivitDefineService; @@ -27,7 +31,9 @@ import com.adc.da.wkflow.util.date.DateTools; import com.adc.da.wkflow.util.wrapper.WrapMapper; import com.adc.da.wkflow.util.wrapper.Wrapper; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -102,13 +108,20 @@ public class TodoTaskController { @Autowired private ActivitDefineService activitDefineService; + @Autowired + private PowerApplyActDao powerApplyActDao; + @ApiOperation(value = "我的待办任务列表") @ApiImplicitParams({@ApiImplicitParam(name = "name", value = "名称"), @ApiImplicitParam(name = "current", value = "当前页"), @ApiImplicitParam(name = "size", value = "每页条数"), @ApiImplicitParam(name = "userId", value = "用户Id")}) @PostMapping("/todoTaskList") - public List todoTaskListByUserId(@RequestBody TaskCommonQuery taskCommonQuery) { + public ResponseMessage todoTaskListByUserId(@RequestBody TaskCommonQuery taskCommonQuery) { + Page page = new Page(); + page.setPageNo(taskCommonQuery.getCurrent()); + page.setPageSize(taskCommonQuery.getSize()); + if("%".equals(taskCommonQuery.getPrcName())){ taskCommonQuery.setPrcName("/%"); } @@ -117,8 +130,10 @@ public class TodoTaskController { } // 创建查询对象 NativeTaskQuery nativeTaskQuery = taskTodoService.createSql(taskCommonQuery); - - List list = nativeTaskQuery.list(); +// com.baomidou.mybatisplus.extension.plugins.pagination.Page page1 = taskTodoService.selectTask(taskCommonQuery); +// List list = page1.getRecords(); + List list1 = nativeTaskQuery.list(); + List list = nativeTaskQuery.listPage(taskCommonQuery.getCurrent(),taskCommonQuery.getSize()); List> listEnd = ActivitiTools.turnTasks(list); for (Map map : listEnd) { ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(map.get("processDefinitionId") + "").singleResult(); @@ -172,7 +187,10 @@ public class TodoTaskController { todoList.add(busProcessName); } } - return todoList; + page.setList(todoList); + page.setCount((long) list1.size()); +// page.setCount(page1.getSize()); + return Result.success(page); } @ApiOperation(value = "改派任务") @@ -250,7 +268,7 @@ public class TodoTaskController { iBusProcessApproveService.save(busProcessApprove); if (StringUtils.isNotEmpty(dataJson)){ //根据业务情况 对业务数据进行saveOrupdate - activitDefineService.saveOrUpdateDate(busMes.getPrcType(),dataJson); + activitDefineService.saveOrUpdateDate(busMes.getPrcType(),dataJson, task.getId(),task.getProcessInstanceId()); } taskService.complete(busMes.getTaskId()); } @@ -349,7 +367,7 @@ public class TodoTaskController { */ @ApiOperation(value = "详情") @GetMapping("/queryDetail") - public BusProcessNewVO queryDetail(String taskId,String prcType) { + public ResponseMessage queryDetail(@RequestParam("taskId") String taskId,@RequestParam("prcType")String prcType) { BusProcessNew busProcessNew = iBusProcessNewService.selectEOByTaskId(taskId); if (busProcessNew == null) { return null; @@ -361,16 +379,20 @@ public class TodoTaskController { busProcessNewVO.getTaskId()); String approveJson = JSON.toJSONString(busProcessApprove); busProcessNewVO.setApproveJson(approveJson); - return busProcessNewVO; + return Result.success(busProcessApprove); } private BusProcessNewVO queryDetailDate(BusProcessNew busProcessNew, String prcType) { BusProcessNewVO busProcessNewVO = new BusProcessNewVO(); BeanUtils.copyProperties(busProcessNew,busProcessNewVO); - if ("".equals(prcType)){ - String dataId = busProcessNew.getDataId(); + String dataId = busProcessNew.getDataId(); + if ("1".equals(prcType)){ + LambdaQueryWrapper powerWrapper = new LambdaQueryWrapper<>(); + powerWrapper.eq(PowerApplyAct::getDataId,dataId); + List powerApplyActs = powerApplyActDao.selectList(powerWrapper); + String string = JSONArray.toJSONString(powerApplyActs); //去对应的 数据表查数据 -// busProcessNewVO.setDateMesg(); + busProcessNewVO.setDateMesg(string); } @@ -408,7 +430,8 @@ public class TodoTaskController { BusProcessName busProcessName = new BusProcessName(); if (StringUtils.isNotEmpty(dataJson)) { //根据业务情况 对业务数据进行saveOrupdate - String dataId = activitDefineService.saveOrUpdateDate(approveDataVO.getPrcType(), dataJson); + String dataId = activitDefineService.saveOrUpdateDate(approveDataVO.getPrcType(), dataJson, + approveDataVO.getTaskId(),""); busProcessName.setDataId(dataId); } busProcessName.setPrcType(approveDataVO.getPrcType()); @@ -833,17 +856,17 @@ public class TodoTaskController { }); //获取 审批结果 - if (StringUtils.isNotEmpty(busProcessName.getTaskId())) { - BusProcessApprove busProcessApprove = - iBusProcessApproveService.selectEoByPrcIdAndTask(busProcessName.getPrcId(), - busProcessName.getTaskId()); - if(busProcessApprove != null){ - JSONObject dataJson = JSONObject.parseObject(busProcessApprove.getFromValsJson()); - if (StringUtils.isNotEmpty(dataJson.getString("flag"))) { - busProcessName.setStatus(dataJson.getString("flag")); - } - } - } +// if (StringUtils.isNotEmpty(busProcessName.getTaskId())) { +// BusProcessApprove busProcessApprove = +// iBusProcessApproveService.selectEoByPrcIdAndTask(busProcessName.getPrcId(), +// busProcessName.getTaskId()); +// if(busProcessApprove != null){ +// JSONObject dataJson = JSONObject.parseObject(busProcessApprove.getFromValsJson()); +// if (StringUtils.isNotEmpty(dataJson.getString("flag"))) { +// busProcessName.setStatus(dataJson.getString("flag")); +// } +// } +// } Date createTime = null; Date endTime = null; diff --git a/report-activity/src/main/java/com/adc/da/wkflow/business_main/entity/TaskEntity.java b/report-activity/src/main/java/com/adc/da/wkflow/business_main/entity/TaskEntity.java new file mode 100644 index 0000000..e6501a0 --- /dev/null +++ b/report-activity/src/main/java/com/adc/da/wkflow/business_main/entity/TaskEntity.java @@ -0,0 +1,73 @@ +package com.adc.da.wkflow.business_main.entity; + +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 lombok.Data; + +import java.util.Date; + +@Data +@TableName("ACT_RU_TASK") +public class TaskEntity { + + @TableId(value = "ID_", type = IdType.INPUT) + private String id; + + @TableField("REV_") + private int rev; + + @TableField("EXECUTION_ID_") + private String executionId; + + @TableField("PROC_INST_ID_") + private String processInstanceId; + + @TableField("PROC_DEF_ID_") + private String processDefinitionId; + + @TableField("NAME_") + private String name; + + @TableField("PARENT_TASK_ID_") + private String parentTaskId; + + @TableField("DESCRIPTION_") + private String description; + + @TableField("TASK_DEF_KEY_") + private String taskDefinitionKey; + + @TableField("OWNER_") + private String owner; + + @TableField("ASSIGNEE_") + private String assignee; + + @TableField("DELEGATION_") + private String delegation; + + @TableField("PRIORITY_") + private int priority; + + @TableField("CREATE_TIME_") + private Date createTime; + + @TableField("DUE_DATE_") + private Date dueDate; + + @TableField("CATEGORY_") + private String category; + + @TableField("SUSPENSION_STATE_") + private int suspensionState; + + @TableField("TENANT_ID_") + private String tenantId; + + @TableField("FORM_KEY_") + private String formKey; + + +} diff --git a/report-activity/src/main/java/com/adc/da/wkflow/business_main/mapper/TaskMapper.java b/report-activity/src/main/java/com/adc/da/wkflow/business_main/mapper/TaskMapper.java new file mode 100644 index 0000000..67f4985 --- /dev/null +++ b/report-activity/src/main/java/com/adc/da/wkflow/business_main/mapper/TaskMapper.java @@ -0,0 +1,18 @@ +package com.adc.da.wkflow.business_main.mapper; + +import com.adc.da.wkflow.business_activiti.dto.TaskCommonQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.activiti.engine.task.Task; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface TaskMapper extends BaseMapper { + + + List todoTaskList(Page page, @Param("pageVO") TaskCommonQuery taskCommonQuery); + + long todoTaskListCount(@Param("pageVO") TaskCommonQuery taskCommonQuery); + +} diff --git a/report-activity/src/main/java/com/adc/da/wkflow/business_main/service/impl/BusProcessNameServiceImpl.java b/report-activity/src/main/java/com/adc/da/wkflow/business_main/service/impl/BusProcessNameServiceImpl.java index d848290..11317f9 100644 --- a/report-activity/src/main/java/com/adc/da/wkflow/business_main/service/impl/BusProcessNameServiceImpl.java +++ b/report-activity/src/main/java/com/adc/da/wkflow/business_main/service/impl/BusProcessNameServiceImpl.java @@ -48,6 +48,7 @@ public class BusProcessNameServiceImpl extends ServiceImpl approveWrapper = new LambdaQueryWrapper<>(); approveWrapper.eq(BusProcessApprove::getTaskId, delegateTask.getId()); - BusProcessApprove one = approveService.getOne(approveWrapper); - String fromValsJson = one.getFromValsJson(); + List list = approveService.list(approveWrapper); + String fromValsJson = list.get(0).getFromValsJson(); JSONObject object = JSONObject.parseObject(fromValsJson); - String s = object.getString("flag") == "" || object.getString("flag") == null ? FlagEnum.AGREE.getValue() : object.getString("flag"); - // 1: 同意 2:退回 - delegateTask.setVariable("flag",s); + delegateTask.setVariable("oneApprove",object.getString("oneApprove")); + delegateTask.setVariable("twoApprove",object.getString("twoApprove")); } } diff --git a/report-activity/src/main/java/com/adc/da/wkflow/listener/powerApply/aid4.java b/report-activity/src/main/java/com/adc/da/wkflow/listener/powerApply/aid4.java index 68b9bf9..3b5bfb4 100644 --- a/report-activity/src/main/java/com/adc/da/wkflow/listener/powerApply/aid4.java +++ b/report-activity/src/main/java/com/adc/da/wkflow/listener/powerApply/aid4.java @@ -7,7 +7,6 @@ import com.adc.da.wkflow.business_main.entity.BusProcessApprove; import com.adc.da.wkflow.business_main.entity.BusProcessNew; import com.adc.da.wkflow.business_main.service.IBusProcessApproveService; import com.adc.da.wkflow.business_main.service.IBusProcessNewService; -import com.adc.da.wkflow.listener.FlagEnum; import com.adc.da.wkflow.util.SpringContextUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -51,8 +50,8 @@ public class aid4 implements TaskListener { BusProcessApprove one = approveService.getOne(approveWrapper); String fromValsJson = one.getFromValsJson(); JSONObject object = JSONObject.parseObject(fromValsJson); - String s = object.getString("flag") == "" || object.getString("flag") == null ? FlagEnum.AGREE.getValue() : object.getString("flag"); - // 1: 同意 2:退回 - delegateTask.setVariable("flag",s); + + delegateTask.setVariable("oneApprove",object.getString("oneApprove")); + delegateTask.setVariable("twoApprove",object.getString("twoApprove")); } } diff --git a/report-activity/src/main/resources/mybatis/mapper/mysql/TaskMapper.xml b/report-activity/src/main/resources/mybatis/mapper/mysql/TaskMapper.xml new file mode 100644 index 0000000..7f020aa --- /dev/null +++ b/report-activity/src/main/resources/mybatis/mapper/mysql/TaskMapper.xml @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +