Browse Source

[feat]

1、开发app相关功能
wuyuan
杨威 2 months ago
parent
commit
648fad0e8a
  1. 13
      dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessAlertMapper.java
  2. 3
      dk-modules/business/src/main/java/org/dromara/business/service/IBusinessAlertService.java
  3. 18
      dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertServiceImpl.java
  4. 13
      dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertStatisticsServiceImpl.java
  5. 36
      dk-modules/business/src/main/resources/mapper/business/BusinessAlertMapper.xml

13
dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessAlertMapper.java

@ -24,12 +24,12 @@ public interface BusinessAlertMapper extends BaseMapperPlus<BusinessAlert, Busin
@DataPermission(
@DataColumn(key = "deptName", value = "t.dept_id")
)
Page<BusinessAlert> pageBusinessAlert(Page<BusinessAlert> page, QueryWrapper<BusinessAlert> ew);
Page<BusinessAlert> pageBusinessAlert(@Param("page") Page<BusinessAlert> page,@Param("ew") QueryWrapper<BusinessAlert> ew);
@DataPermission(
@DataColumn(key = "deptName", value = "t.dept_id")
)
Page<BusinessAlert> pageAlertFinish(Page<BusinessAlert> page, QueryWrapper<BusinessAlert> ew);
Page<BusinessAlert> pageAlertFinish(@Param("page") Page<BusinessAlert> page,@Param("ew") QueryWrapper<BusinessAlert> ew);
/**
* 处理中
@ -40,13 +40,17 @@ public interface BusinessAlertMapper extends BaseMapperPlus<BusinessAlert, Busin
@DataPermission(
@DataColumn(key = "deptName", value = "t.dept_id")
)
Page<BusinessAlert> pageAlertTodo(Page<BusinessAlert> page, QueryWrapper<BusinessAlert> ew);
Page<BusinessAlert> pageAlertTodo(@Param("page") Page<BusinessAlert> page,@Param("ew") QueryWrapper<BusinessAlert> ew);
@DataPermission(
@DataColumn(key = "deptName", value = "t.dept_id")
)
Page<BusinessAlert> pageBusinessAlertCancel(Page<BusinessAlert> build, QueryWrapper<BusinessAlert> ew);
Page<BusinessAlert> pageBusinessAlertCancel(@Param("page") Page<BusinessAlert> page,@Param("ew") QueryWrapper<BusinessAlert> ew);
@DataPermission(
@DataColumn(key = "deptName", value = "t.dept_id")
)
List<BusinessAlert> listTodoAlert(@Param("ew") QueryWrapper<BusinessAlert> ew);
List<Map<String, Object>> listMonthAlert(@Param("param") BusinessAlertBo businessAlertBo);
@ -97,4 +101,5 @@ public interface BusinessAlertMapper extends BaseMapperPlus<BusinessAlert, Busin
Map<String, Object> listAppAlertCount(@Param("param") BusinessAlertBo businessAlertBo);
}

3
dk-modules/business/src/main/java/org/dromara/business/service/IBusinessAlertService.java

@ -80,4 +80,7 @@ public interface IBusinessAlertService {
Boolean deleteAlert(List<Long> alertIdList);
void batchUpdateDept(List<BusinessAlertVo> alertVoList);
List<BusinessAlert> listTodoAlert(BusinessAlertBo businessAlertBo);
}

18
dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertServiceImpl.java

@ -302,6 +302,24 @@ public class BusinessAlertServiceImpl implements IBusinessAlertService {
return TableDataInfo.build(page);
}
/**
* 查询当前用户待办预警
* @return
*/
@Override
public List<BusinessAlert> listTodoAlert(BusinessAlertBo businessAlertBo) {
QueryWrapper<BusinessAlert> wrapper = buildQueryWrapper(businessAlertBo);
if (ObjectUtil.isEmpty(wrapper)){
return ListUtil.empty();
}
wrapper.eq("t.node_type", 1);
wrapper.in("t.approver", remoteWorkflowService.getPermissions());
wrapper.in("t.flow_status", BusinessStatusEnum.WAITING.getStatus());
return this.baseMapper.listTodoAlert(wrapper);
}
/**
* 查询当前用户待办预警

13
dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertStatisticsServiceImpl.java

@ -4,10 +4,12 @@ import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.util.ObjectUtil;
import lombok.RequiredArgsConstructor;
import org.apache.dubbo.config.annotation.DubboReference;
import org.dromara.business.domain.BusinessAlert;
import org.dromara.business.domain.bo.BusinessAlertBo;
import org.dromara.business.domain.model.StatObj;
import org.dromara.business.feign.FeignDeviceGroup;
import org.dromara.business.mapper.BusinessAlertMapper;
import org.dromara.business.service.IBusinessAlertService;
import org.dromara.business.service.IBusinessAlertStatisticsService;
import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.redis.utils.RedisUtils;
@ -63,6 +65,8 @@ public class BusinessAlertStatisticsServiceImpl implements IBusinessAlertStatist
@Autowired
FeignDeviceGroup feignDeviceGroup;
private final IBusinessAlertService businessAlertService;
/**
* 按照月份分类预警数量
@ -715,7 +719,14 @@ public class BusinessAlertStatisticsServiceImpl implements IBusinessAlertStatist
public Map<String, Object> listAppAlertCount(BusinessAlertBo businessAlertBo) {
//构建查询数据权限
createPermissions(businessAlertBo);
return baseMapper.listAppAlertCount(businessAlertBo);
Map<String, Object> result = baseMapper.listAppAlertCount(businessAlertBo);
List<BusinessAlert> businessAlerts = businessAlertService.listTodoAlert(businessAlertBo);
result.put("todoCount",businessAlerts.size());
return result;
}
/**

36
dk-modules/business/src/main/resources/mapper/business/BusinessAlertMapper.xml

@ -95,6 +95,42 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
${ew.getCustomSqlSegment}
</select>
<select id="listTodoAlert" resultType="org.dromara.business.domain.BusinessAlert">
select t.* from (
select
ba.*,
b.flow_status,
b.business_id,
uu.processed_by approver,
a.id flowTaskId,
b.id instanceId,
a.node_type,
fnData.buttonPermission,
fnData.permissions
from dk_business.business_alert ba
inner join dk_workflow.flow_instance b on ba.id = b.business_id
left join dk_workflow.flow_task a on a.instance_id = b.id
left join dk_workflow.flow_user uu on uu.associated = a.id
left join dk_workflow.flow_definition c on a.definition_id = c.id
LEFT JOIN LATERAL (
SELECT
JSON_UNQUOTE(JSON_EXTRACT(fn.ext, '$[0].value')) AS buttonPermission,
fn.permissions
FROM dk_workflow.flow_node fn
WHERE
fn.node_code = b.node_code
and fn.definition_id = c.id
and fn.del_flag = '0'
LIMIT 1
) AS fnData ON TRUE
where a.node_type = 1
and a.del_flag = '0'
and uu.del_flag = '0'
and uu.type in ('1','2','3')
) t
${ew.getCustomSqlSegment}
</select>
<select id="listMonthAlert" resultType="java.util.Map">
SELECT DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL -11 MONTH), '%Y-%m') AS dateMonth,count(1) total from business_alert ba
where DATE_FORMAT(ba.create_time, '%Y-%m' ) = DATE_FORMAT(DATE_ADD(DATE_FORMAT(CURDATE(), '%Y-01-01'), INTERVAL 0 MONTH), '%Y-%m')

Loading…
Cancel
Save