From 867f7039682a0755b8c3ec93714efab9394bb364 Mon Sep 17 00:00:00 2001 From: bupengxiang Date: Mon, 24 Apr 2023 21:55:16 +0800 Subject: [PATCH] =?UTF-8?q?[=E6=96=B0=E5=A2=9E]=20=E5=B7=A5=E4=BD=9C?= =?UTF-8?q?=E6=B5=81=E5=B7=A5=E4=BD=9C=E5=8F=B0=20=E5=8F=8A=E6=9D=83?= =?UTF-8?q?=E9=99=90=E7=94=B3=E8=AF=B7=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ReportManageConroller.java | 2 +- .../da/report/dao/mysql/PowerApplyActDao.java | 3 + .../java/com/adc/da/report/eo/PowerApply.java | 4 +- .../com/adc/da/report/eo/PowerApplyAct.java | 15 +++- .../service/impl/IReportServiceImpl.java | 19 ++--- .../com/adc/da/report/vo/ReportQueryVo.java | 2 + .../mapper/mysql/PowerApplyActMapper.xml | 16 +++- .../mybatis/mapper/mysql/PowerApplyMapper.xml | 5 +- .../mapper/mysql/ReportManageMapper.xml | 33 ++++++-- .../controller/ReportManageConroller.class | Bin 13646 -> 13646 bytes .../service/impl/IReportServiceImpl.class | Bin 18748 -> 18692 bytes .../mapper/mysql/ReportManageMapper.xml | 33 ++++++-- .../mybatis/mapper/sys/mysql/UserEOMapper.xml | 23 ++++++ .../define/ActivitDefineController.java | 46 ++++++++--- .../service/ActivitDefineService.java | 30 ++++++- .../service/TaskTodoService.java | 28 ++++++- .../task/TaskController.java | 7 +- .../task/TodoTaskController.java | 67 ++++++++++------ .../business_main/entity/TaskEntity.java | 73 ++++++++++++++++++ .../business_main/mapper/TaskMapper.java | 18 +++++ .../impl/BusProcessNameServiceImpl.java | 1 + .../da/wkflow/listener/powerApply/aid1.java | 10 +-- .../da/wkflow/listener/powerApply/aid4.java | 7 +- .../mybatis/mapper/mysql/TaskMapper.xml | 69 +++++++++++++++++ 24 files changed, 427 insertions(+), 84 deletions(-) create mode 100644 report-activity/src/main/java/com/adc/da/wkflow/business_main/entity/TaskEntity.java create mode 100644 report-activity/src/main/java/com/adc/da/wkflow/business_main/mapper/TaskMapper.java create mode 100644 report-activity/src/main/resources/mybatis/mapper/mysql/TaskMapper.xml 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 8602114b488adcdf3bf4d5378015c6e65be021c8..c97520f706640339033c79db981b02bf34b0ebd6 100644 GIT binary patch delta 13 VcmX??buMeeO%ujNlW&=n001+?2Ic?& delta 13 VcmX??buMeeO%uiglW&=n001;u2Lu2B 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 17d325f994194947ac521614019c2512c16c1968..c824f9aa3902daf48d307450ca24b6a53a84cb6b 100644 GIT binary patch delta 879 zcmXAn3rrPM7{`DAd%;Ow%_|QrC!-CAg50=Zx5}O!PQZe0a7S1+mv&WXE#agqp$I77GqOFx?Xy0;YJCE;w&hMP_egE_Iiq-4% z#eC((FXb1g`~@E1MN(MAP!^NT5`rvcELBWl8Raaek~OSg9kuLW4?B6CU9_^BGd8}< zUOuLgZ#YO7hxwa$eD3Jgn%F^KJ}~TuWN?8@K4OGz%;Qr-U!;UfJjv%Q4AM+qKKu9yM#PTIAHO{W`A(T~VVtbx_@E(oG%KA8L;G7PUx$_>qzd&HJ8oez4m9 zXtn*BVs22zFJ_xxd7j_QKsQ;iE-4bIVL}oA+((;2%EW4qx%FRs0S=(aSyV zDuH`$MyM_E8a}SO-q8HSFX>08dwNn&u-R@qLKbflpv8=OltPX%-F&l{6K2`B2y@)5 zdXgw@H1M|DF!^j!69YM9_I|^SE8XJXXZfqQh$EH#=FS7|a%uM?QIhPHnY==XSDC|R zUSg}+KE_J67_H7-opK;)t(}V)sm4elcW&w=f3?w8SahY)UN+h)qZPZEWdQ|Tw5;Pl DY@pF( delta 912 zcmXAoeN2^Q7{-4W=b)mjJi@_@WcV>rBH~k)l;GhY*w#u1e$1_;r3OV#G+M|M7nYwlcTM)Ye+7w6xsPt-a(RJ5UZjj>X7dtrSxE!0I$BEyZ~58EPPWlUHzz!v zqK9+r=3Dk~odf*MhlzP5Et)mR2tGFU9NB!zWIkgm=PBTV(O*)@SIp-k&+xUum)OK* zcJQ6CKkyM(Ij`Y~xP_H6dRZNFU*rihXtRGWZ@Z=-cBQe6N^2s=2utff&(~}z7oY)%IvYkS$sh8w8nr=n+NcI~={arIN^Q|cjm36AWMixK2`MZs!XGxlpSCv61q5 z&rUu}IY)S$qb#N0K0juUAGe=R(9Zj8=VVY7{~%>AquFQwzZ+E6#DaKrRpcF)bGui2 ziQ1Ui>P_bg_arP23#po86Pr=5uRIYd38}q{XCF XURiC@%O - + + + 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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +