@ -19,11 +19,16 @@ import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo ;
import org.dromara.common.mybatis.core.page.TableDataInfo ;
import org.dromara.common.satoken.utils.LoginHelper ;
import org.dromara.common.satoken.utils.LoginHelper ;
import org.dromara.system.api.RemoteLabelPostService ;
import org.dromara.system.api.RemoteLabelPostService ;
import org.dromara.system.api.domain.vo.RemoteAiLabelPostVo ;
import org.dromara.system.api.domain.vo.RemoteUserVo ;
import org.dromara.system.api.domain.vo.RemoteUserVo ;
import org.dromara.workflow.api.RemoteWorkflowService ;
import org.dromara.workflow.api.RemoteWorkflowService ;
import org.springframework.stereotype.Service ;
import org.springframework.stereotype.Service ;
import java.lang.reflect.Method ;
import java.lang.reflect.Method ;
import java.util.Collections ;
import java.util.Date ;
import java.util.List ;
import java.util.Map ;
import java.util.* ;
import java.util.* ;
/ * *
/ * *
@ -139,9 +144,9 @@ public class BusinessAlertServiceImpl implements IBusinessAlertService {
public TableDataInfo < BusinessAlert > pageBusinessAlertAll ( BusinessAlertBo bo , PageQuery pageQuery ) {
public TableDataInfo < BusinessAlert > pageBusinessAlertAll ( BusinessAlertBo bo , PageQuery pageQuery ) {
QueryWrapper < BusinessAlert > wrapper = buildQueryWrapper ( bo ) ;
QueryWrapper < BusinessAlert > wrapper = buildQueryWrapper ( bo ) ;
// if (ObjectUtil.isEmpty(wrapper)){
if ( ObjectUtil . isEmpty ( wrapper ) ) {
// return new TableDataInfo<>();
return new TableDataInfo < > ( ) ;
// }
}
Page < BusinessAlert > page = this . baseMapper . pageBusinessAlert ( pageQuery . build ( ) , wrapper ) ;
Page < BusinessAlert > page = this . baseMapper . pageBusinessAlert ( pageQuery . build ( ) , wrapper ) ;
@ -159,11 +164,11 @@ public class BusinessAlertServiceImpl implements IBusinessAlertService {
bo . setHandleType ( BusinessStatusEnum . INVALID . getStatus ( ) ) ;
bo . setHandleType ( BusinessStatusEnum . INVALID . getStatus ( ) ) ;
QueryWrapper < BusinessAlert > wrapper = buildQueryWrapper ( bo ) ;
QueryWrapper < BusinessAlert > wrapper = buildQueryWrapper ( bo ) ;
// if (ObjectUtil.isEmpty(wrapper)){
if ( ObjectUtil . isEmpty ( wrapper ) ) {
// return new TableDataInfo<>();
return new TableDataInfo < > ( ) ;
// }
}
wrapper . in ( "b.flow_s tatus" , BusinessStatusEnum . INVALID . getStatus ( ) ) ;
wrapper . in ( "t.flowS tatus" , BusinessStatusEnum . INVALID . getStatus ( ) ) ;
Page < BusinessAlert > page = this . baseMapper . pageBusinessAlertCancel ( pageQuery . build ( ) , wrapper ) ;
Page < BusinessAlert > page = this . baseMapper . pageBusinessAlertCancel ( pageQuery . build ( ) , wrapper ) ;
@ -181,58 +186,17 @@ public class BusinessAlertServiceImpl implements IBusinessAlertService {
public TableDataInfo < BusinessAlert > pageBusinessAlertFinish ( BusinessAlertBo bo , PageQuery pageQuery ) {
public TableDataInfo < BusinessAlert > pageBusinessAlertFinish ( BusinessAlertBo bo , PageQuery pageQuery ) {
QueryWrapper < BusinessAlert > wrapper = buildQueryWrapper ( bo ) ;
QueryWrapper < BusinessAlert > wrapper = buildQueryWrapper ( bo ) ;
// if (ObjectUtil.isEmpty(wrapper)){
if ( ObjectUtil . isEmpty ( wrapper ) ) {
// return new TableDataInfo<>();
return new TableDataInfo < > ( ) ;
// }
}
buildCommonQueryWrapper ( wrapper ) ;
wrapper . apply ( " EXISTS(select * from dk_workflow.flow_his_task ht where ht.approver ='" + LoginHelper . getUserId ( ) + "' and ht.instance_id = t.instanceId)" ) ;
wrapper . in ( "a.approver" , LoginHelper . getUserId ( ) ) ;
wrapper . in ( "b.flow_status" , BusinessStatusEnum . FINISH . getStatus ( ) ) ;
Page < BusinessAlert > page = this . baseMapper . pageAlertFinish ( pageQuery . build ( ) , wrapper ) ;
Page < BusinessAlert > page = this . baseMapper . pageAlertFinish ( pageQuery . build ( ) , wrapper ) ;
return TableDataInfo . build ( page ) ;
return TableDataInfo . build ( page ) ;
}
}
/ * *
* 查询当前用户待办预警
* @param bo
* @param pageQuery
* @return
* /
@Override
public TableDataInfo < BusinessAlert > pageAlertAssign ( BusinessAlertBo bo , PageQuery pageQuery ) {
QueryWrapper < BusinessAlert > wrapper = buildQueryWrapper ( bo ) ;
// if (ObjectUtil.isEmpty(wrapper)){
// return new TableDataInfo<>();
// }
buildCommonQueryWrapper ( wrapper ) ;
wrapper . eq ( "uu.del_flag" , 0 ) ;
wrapper . in ( "uu.type" , 1 , 2 , 3 ) ;
wrapper . in ( "uu.processed_by" , remoteWorkflowService . getPermissions ( ) ) ;
wrapper . eq ( "b.flow_status" , BusinessStatusEnum . DRAFT . getStatus ( ) ) ;
Page < BusinessAlert > page = this . baseMapper . pageAlertTodo ( pageQuery . build ( ) , wrapper ) ;
List < BusinessAlert > records = page . getRecords ( ) ;
if ( CollUtil . isNotEmpty ( records ) ) {
List < Long > taskIds = StreamUtils . toList ( records , BusinessAlert : : getFlowTaskId ) ;
Map < Long , List < RemoteUserVo > > listMap = remoteWorkflowService . currentTaskAllUser ( taskIds ) ;
records . forEach ( t - > {
List < RemoteUserVo > userList = listMap . getOrDefault ( t . getId ( ) , Collections . emptyList ( ) ) ;
if ( CollUtil . isNotEmpty ( userList ) ) {
t . setApprover ( StreamUtils . join ( userList , e - > String . valueOf ( e . getUserId ( ) ) ) ) ;
t . setApproveName ( StreamUtils . join ( userList , RemoteUserVo : : getNickName ) ) ;
}
} ) ;
}
return TableDataInfo . build ( page ) ;
}
/ * *
/ * *
* 查询当前用户待办预警
* 查询当前用户待办预警
@ -244,17 +208,13 @@ public class BusinessAlertServiceImpl implements IBusinessAlertService {
public TableDataInfo < BusinessAlert > pageBusinessAlertTodo ( BusinessAlertBo bo , PageQuery pageQuery ) {
public TableDataInfo < BusinessAlert > pageBusinessAlertTodo ( BusinessAlertBo bo , PageQuery pageQuery ) {
QueryWrapper < BusinessAlert > wrapper = buildQueryWrapper ( bo ) ;
QueryWrapper < BusinessAlert > wrapper = buildQueryWrapper ( bo ) ;
// if (ObjectUtil.isEmpty(wrapper)){
if ( ObjectUtil . isEmpty ( wrapper ) ) {
// return new TableDataInfo<>();
return new TableDataInfo < > ( ) ;
// }
}
buildCommonQueryWrapper ( wrapper ) ;
wrapper . eq ( "uu.del_flag" , 0 ) ;
wrapper . in ( "uu.type" , 1 , 2 , 3 ) ;
wrapper . in ( "uu.processed_by" , remoteWorkflowService . getPermissions ( ) ) ;
wrapper . eq ( "t.node_type" , 1 ) ;
wrapper . eq ( "b.flow_status" , BusinessStatusEnum . WAITING . getStatus ( ) ) ;
wrapper . in ( "t.approver" , remoteWorkflowService . getPermissions ( ) ) ;
wrapper . in ( "t.flow_status" , BusinessStatusEnum . WAITING . getStatus ( ) ) ;
Page < BusinessAlert > page = this . baseMapper . pageAlertTodo ( pageQuery . build ( ) , wrapper ) ;
Page < BusinessAlert > page = this . baseMapper . pageAlertTodo ( pageQuery . build ( ) , wrapper ) ;
@ -270,6 +230,7 @@ public class BusinessAlertServiceImpl implements IBusinessAlertService {
}
}
} ) ;
} ) ;
}
}
return TableDataInfo . build ( page ) ;
return TableDataInfo . build ( page ) ;
}
}
@ -283,38 +244,34 @@ public class BusinessAlertServiceImpl implements IBusinessAlertService {
QueryWrapper < BusinessAlert > wrapper = new QueryWrapper < > ( ) ;
QueryWrapper < BusinessAlert > wrapper = new QueryWrapper < > ( ) ;
//根据当前用户职能获取识别类型
//根据当前用户职能获取识别类型
// List<RemoteAiLabelPostVo> postVoList = remoteLablePostService.selectLableByList(bo.getPostCode(), LoginHelper.getDeptId());
List < RemoteAiLabelPostVo > postVoList = remoteLablePostService . selectLabelByList ( bo . getPostCode ( ) , LoginHelper . getDeptId ( ) ) ;
// if (ObjectUtil.isEmpty(postVoList)) {
if ( ObjectUtil . isEmpty ( postVoList ) ) {
// return null;
return null ;
// }
}
//
//
wrapper . in ( "t.label_en" , StreamUtils . toList ( postVoList , RemoteAiLabelPostVo : : getLabelEn ) ) ;
// wrapper.in("ba.label_en",StreamUtils.toList(postVoList, RemoteAiLabelPostVo::getLabelEn));
//排除状态为验证状态预警
//排除状态为验证状态预警
wrapper . ne ( "ba .handle_type" , BusinessStatusEnum . VERIFY . getStatus ( ) ) ;
wrapper . ne ( "t .handle_type" , BusinessStatusEnum . VERIFY . getStatus ( ) ) ;
if ( ObjectUtil . isNotEmpty ( bo . getHandleType ( ) ) ) {
if ( ObjectUtil . isNotEmpty ( bo . getHandleType ( ) ) ) {
wrapper . eq ( "ba.handle_type" , bo . getHandleType ( ) ) ;
wrapper . eq ( "t.handle_type" , bo . getHandleType ( ) ) ;
}
if ( ObjectUtil . isNotEmpty ( bo . getJobName ( ) ) ) {
wrapper . like ( "t.job_name" , bo . getJobName ( ) ) ;
}
}
wrapper . orderByAsc ( "ba.create_time" ) ;
if ( ObjectUtil . isNotEmpty ( bo . getCreateTime ( ) ) ) {
wrapper . eq ( "DATE_FORMAT(t.create_time, '%Y-%m-%d')" , bo . getCreateTime ( ) ) ;
}
wrapper . orderByAsc ( "t.create_time" ) ;
return wrapper ;
return wrapper ;
}
}
/ * *
* 构建通用流程wrapper
* @param wrapper
* /
private void buildCommonQueryWrapper ( QueryWrapper < BusinessAlert > wrapper ) {
wrapper . eq ( "a.del_flag" , 0 ) ;
wrapper . eq ( "b.del_flag" , 0 ) ;
wrapper . eq ( "c.del_flag" , 0 ) ;
wrapper . in ( "a.node_type" , 1 , 3 , 4 ) ;
}
/ * *
/ * *
* 保存前的数据校验
* 保存前的数据校验