更新工作汇报相关代码
This commit is contained in:
parent
dc28a00757
commit
d7ce59ce52
@ -1,8 +1,10 @@
|
||||
package cn.iocoder.yudao.module.workReport.service.impl;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
||||
import cn.iocoder.yudao.module.system.api.dict.DictDataApi;
|
||||
import cn.iocoder.yudao.module.system.api.dict.dto.DictDataRespDTO;
|
||||
import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
|
||||
import cn.iocoder.yudao.module.system.api.user.dto.UserDTO;
|
||||
import cn.iocoder.yudao.module.system.service.permission.RoleService;
|
||||
import cn.iocoder.yudao.module.workReport.entity.WorkReport;
|
||||
@ -15,11 +17,15 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
@ -41,6 +47,9 @@ public class WorkReportServiceImpl extends ServiceImpl<WorkReportMapper, WorkRep
|
||||
@Resource
|
||||
private RoleService roleService;
|
||||
|
||||
@Resource
|
||||
private PermissionApi permissionApi;
|
||||
|
||||
@Override
|
||||
public Integer createReport(WorkReportSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
@ -58,6 +67,8 @@ public class WorkReportServiceImpl extends ServiceImpl<WorkReportMapper, WorkRep
|
||||
public void updateReport(WorkReportSaveReqVO updateReqVO) {
|
||||
// 校验存在
|
||||
validateReportExists(updateReqVO.getId());
|
||||
// 将汇报对象集合转换为字符串
|
||||
updateReqVO.setReportTo(updateReqVO.getReportTos().stream().map(String::valueOf).collect(Collectors.joining(",")));
|
||||
// 更新
|
||||
WorkReport updateObj = BeanUtils.toBean(updateReqVO, WorkReport.class);
|
||||
reportMapper.updateById(updateObj);
|
||||
@ -84,6 +95,19 @@ public class WorkReportServiceImpl extends ServiceImpl<WorkReportMapper, WorkRep
|
||||
|
||||
@Override
|
||||
public IPage<WorkReportRespVO> getReportPage(Page<WorkReport> page, WorkReportPageReqVO pageReqVO) {
|
||||
//根据dictType查询角色
|
||||
List<DictDataRespDTO> roleList = dictDataApi.getDictDataList(pageReqVO.getDictType());
|
||||
//公司高层角色code集合
|
||||
List<String> codes = roleList.stream().map(DictDataRespDTO::getValue).collect(Collectors.toList());
|
||||
|
||||
Map<Long, List<String>> longListMap = permissionApi.roleCodesByUserIds(Collections.singletonList(SecurityFrameworkUtils.getLoginUserId()));
|
||||
List<String> roleKey = longListMap.get(SecurityFrameworkUtils.getLoginUserId());
|
||||
|
||||
//判断当前登陆人的角色是否是公司高层
|
||||
boolean isCompanyLeader = roleKey != null && roleKey.stream().anyMatch(codes::contains);
|
||||
if (isCompanyLeader) {
|
||||
pageReqVO.setUserId(null);
|
||||
}
|
||||
return reportMapper.selectPage(page, pageReqVO);
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
package cn.iocoder.yudao.module.workReport.vo;
|
||||
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
@ -22,8 +23,8 @@ public class WorkReportPageReqVO extends PageParam {
|
||||
private String reportTopic;
|
||||
|
||||
@Schema(description = "汇报时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] reportTime;
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private String[] reportTime;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
@ -38,4 +39,7 @@ public class WorkReportPageReqVO extends PageParam {
|
||||
@Schema(description = "用户id")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "字典类型(公司高层的字典类型)")
|
||||
private String dictType;
|
||||
|
||||
}
|
@ -37,4 +37,9 @@ public class WorkReportSaveReqVO {
|
||||
@Schema(description = "汇报对象集合")
|
||||
private List<Long> reportTos;
|
||||
|
||||
/**
|
||||
* 汇报对象
|
||||
*/
|
||||
private String reportTo;
|
||||
|
||||
}
|
@ -35,6 +35,7 @@
|
||||
OR FIND_IN_SET(#{pageReqVO.userId}, wr.report_to) > 0) -- 查询汇报给自己的汇报
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY wr.create_time DESC
|
||||
</select>
|
||||
<select id="queryReportCount" resultType="java.lang.Long" parameterType="java.lang.Long">
|
||||
SELECT COUNT(*)
|
||||
|
@ -217,7 +217,7 @@ where sig.partner_id =#{partnerId}
|
||||
info.customer_source as customerSource, info.other_phone as otherPhone,oi.sku_id as skuId, oi.sku_name as skuName,oi.goods_price as goodsPrice
|
||||
from
|
||||
inspection_info info
|
||||
LEFT JOIN inspection_step_info step ON info.id = step.inspection_info_id
|
||||
LEFT JOIN inspection_step_info step ON info.id = st ep.inspection_info_id
|
||||
INNER JOIN system_users su on su.id = info.user_id
|
||||
INNER JOIN order_info oi on oi.id = info.inspection_order_id
|
||||
WHERE info.status = #{status} and info.partner_id = #{partnerId}
|
||||
|
Loading…
Reference in New Issue
Block a user