提交 ba1c293f authored 作者: 000516's avatar 000516 提交者: Coding

管理后台查看任务列表,关联打卡数据

1. 管理后台查看任务列表,关联打卡数据 2. 添加报错信息
...@@ -4,6 +4,11 @@ ...@@ -4,6 +4,11 @@
mvn package -DskipTests mvn package -DskipTests
docker stop promotion-service
docker rmi
docker build -t promotion-service:latest . docker build -t promotion-service:latest .
docker run -d -p 8011:8011 --name promotion-service \ docker run -d -p 8011:8011 --name promotion-service \
......
package com.wangxiaolu.promotion.controller.activity.temporary; package com.wangxiaolu.promotion.controller.activity.temporary;
import com.wangxiaolu.promotion.exception.DataException;
import com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryClockDto; import com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryClockDto;
import com.wangxiaolu.promotion.result.basedata.R; import com.wangxiaolu.promotion.result.basedata.R;
import com.wangxiaolu.promotion.result.basedata.RCode;
import com.wangxiaolu.promotion.service.activity.temporary.TemporaryActivityClockQueryService; import com.wangxiaolu.promotion.service.activity.temporary.TemporaryActivityClockQueryService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.util.Objects;
/** /**
* @author : liqiulin * @author : liqiulin
...@@ -27,7 +31,11 @@ public class TemporaryActivityClockQueryController { ...@@ -27,7 +31,11 @@ public class TemporaryActivityClockQueryController {
* 根据促销员id查询今日打卡信息 * 根据促销员id查询今日打卡信息
*/ */
@GetMapping("/{temporary_id}") @GetMapping("/{temporary_id}")
public R findTodayTemporaryClockByTemId(@PathVariable("temporary_id") @NotNull Integer temporaryId) { public R findTodayTemporaryClockByTemId(@PathVariable("temporary_id") Integer temporaryId) {
if (Objects.isNull(temporaryId) || temporaryId < 1){
throw new DataException(RCode.DATA_NOT_HAVE_ERROR,null);
}
TemporaryClockDto clockDto = temporaryActivityClockQueryService.findTodayTemporaryClockByTemId(temporaryId); TemporaryClockDto clockDto = temporaryActivityClockQueryService.findTodayTemporaryClockByTemId(temporaryId);
return R.success(clockDto); return R.success(clockDto);
} }
...@@ -41,6 +49,10 @@ public class TemporaryActivityClockQueryController { ...@@ -41,6 +49,10 @@ public class TemporaryActivityClockQueryController {
*/ */
@GetMapping("/date") @GetMapping("/date")
public R findTemporaryClockByTemIdAndDate(Integer temporaryId, String createDate) { public R findTemporaryClockByTemIdAndDate(Integer temporaryId, String createDate) {
if (Objects.isNull(temporaryId) || temporaryId < 1 || StringUtils.isBlank(createDate)){
throw new DataException(RCode.DATA_NOT_HAVE_ERROR,null);
}
TemporaryClockDto clockDto = temporaryActivityClockQueryService.findTemporaryClockByTemIdAndDate(temporaryId, createDate); TemporaryClockDto clockDto = temporaryActivityClockQueryService.findTemporaryClockByTemIdAndDate(temporaryId, createDate);
return R.success(clockDto); return R.success(clockDto);
} }
...@@ -50,6 +62,9 @@ public class TemporaryActivityClockQueryController { ...@@ -50,6 +62,9 @@ public class TemporaryActivityClockQueryController {
*/ */
@GetMapping("/id") @GetMapping("/id")
public R findTemporaryClockByTemIdAndDate(Long id) { public R findTemporaryClockByTemIdAndDate(Long id) {
if (Objects.isNull(id) || id < 1){
throw new DataException(RCode.DATA_NOT_HAVE_ERROR,null);
}
TemporaryClockDto clockDto = temporaryActivityClockQueryService.findById(id); TemporaryClockDto clockDto = temporaryActivityClockQueryService.findById(id);
return R.success(clockDto); return R.success(clockDto);
} }
......
...@@ -4,6 +4,8 @@ import com.wangxiaolu.promotion.domain.activity.wrapperQo.TemporaryClockWrapper; ...@@ -4,6 +4,8 @@ import com.wangxiaolu.promotion.domain.activity.wrapperQo.TemporaryClockWrapper;
import com.wangxiaolu.promotion.pojo.PageInfo; import com.wangxiaolu.promotion.pojo.PageInfo;
import com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryClockDto; import com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryClockDto;
import java.util.List;
/** /**
* @author : liqiulin * @author : liqiulin
* @date : 2024-04-23 17 * @date : 2024-04-23 17
...@@ -28,6 +30,8 @@ public interface TemporaryActivityClockDao { ...@@ -28,6 +30,8 @@ public interface TemporaryActivityClockDao {
*/ */
TemporaryClockDto selectOne(TemporaryClockWrapper tcw); TemporaryClockDto selectOne(TemporaryClockWrapper tcw);
List<TemporaryClockDto> selectList(TemporaryClockWrapper tcw);
TemporaryClockDto selectById(Long id); TemporaryClockDto selectById(Long id);
......
...@@ -72,6 +72,13 @@ public class TemporaryActivityClockDaoImpl implements TemporaryActivityClockDao ...@@ -72,6 +72,13 @@ public class TemporaryActivityClockDaoImpl implements TemporaryActivityClockDao
return transitionDto(clockDO); return transitionDto(clockDO);
} }
@Override
public List<TemporaryClockDto> selectList(TemporaryClockWrapper tcw) {
LambdaQueryWrapper<TemporaryActivityClockDO> qw = buildWrapper(tcw);
List<TemporaryActivityClockDO> clockDOS = temporaryActivityClockMapper.selectList(qw);
return transitionDtos(clockDOS);
}
@Override @Override
public TemporaryClockDto selectById(Long id) { public TemporaryClockDto selectById(Long id) {
TemporaryActivityClockDO clockDO = temporaryActivityClockMapper.selectById(id); TemporaryActivityClockDO clockDO = temporaryActivityClockMapper.selectById(id);
...@@ -108,6 +115,10 @@ public class TemporaryActivityClockDaoImpl implements TemporaryActivityClockDao ...@@ -108,6 +115,10 @@ public class TemporaryActivityClockDaoImpl implements TemporaryActivityClockDao
if (StringUtils.isNotBlank(tcw.getCreateDate())) { if (StringUtils.isNotBlank(tcw.getCreateDate())) {
qw.eq(TemporaryActivityClockDO::getCreateDate, tcw.getCreateDate()); qw.eq(TemporaryActivityClockDO::getCreateDate, tcw.getCreateDate());
} }
if (!CollectionUtils.isEmpty(tcw.getReportedIds())){
qw.in(TemporaryActivityClockDO::getReportedId,tcw.getReportedIds());
}
return qw; return qw;
} }
......
...@@ -6,6 +6,7 @@ import lombok.NoArgsConstructor; ...@@ -6,6 +6,7 @@ import lombok.NoArgsConstructor;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* @author : liqiulin * @author : liqiulin
...@@ -37,4 +38,9 @@ public class TemporaryClockWrapper { ...@@ -37,4 +38,9 @@ public class TemporaryClockWrapper {
* 下班卡=null * 下班卡=null
*/ */
private Boolean clockOutTimeIsNull; private Boolean clockOutTimeIsNull;
/**
* 根据关联id批量查询
*/
private List<Long> reportedIds;
} }
...@@ -138,4 +138,9 @@ public class TemporaryActivityReportedDto { ...@@ -138,4 +138,9 @@ public class TemporaryActivityReportedDto {
private Date modifyTime; private Date modifyTime;
private List<TemporaryActivityMarketCellDto> marketCells; private List<TemporaryActivityMarketCellDto> marketCells;
/**
* 任务记录关联打卡id
*/
private TemporaryClockDto clockDto;
} }
package com.wangxiaolu.promotion.service.activity.employee.impl; package com.wangxiaolu.promotion.service.activity.employee.impl;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.wangxiaolu.promotion.domain.activity.dao.TemporaryActivityClockDao;
import com.wangxiaolu.promotion.domain.activity.dao.TemporaryActivityMarketCellDao; import com.wangxiaolu.promotion.domain.activity.dao.TemporaryActivityMarketCellDao;
import com.wangxiaolu.promotion.domain.activity.dao.TemporaryActivityReportedDao; import com.wangxiaolu.promotion.domain.activity.dao.TemporaryActivityReportedDao;
import com.wangxiaolu.promotion.domain.activity.wrapperQo.TemporaryActivityWrapper; import com.wangxiaolu.promotion.domain.activity.wrapperQo.TemporaryActivityWrapper;
import com.wangxiaolu.promotion.domain.activity.wrapperQo.TemporaryClockWrapper;
import com.wangxiaolu.promotion.domain.activity.wrapperQo.TemporaryMarketCellWrapper; import com.wangxiaolu.promotion.domain.activity.wrapperQo.TemporaryMarketCellWrapper;
import com.wangxiaolu.promotion.enums.activity.TemActApproveStatus; import com.wangxiaolu.promotion.enums.activity.TemActApproveStatus;
import com.wangxiaolu.promotion.pojo.PageInfo; import com.wangxiaolu.promotion.pojo.PageInfo;
import com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryActivityMarketCellDto; import com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryActivityMarketCellDto;
import com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryActivityReportedDto; import com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryActivityReportedDto;
import com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryClockDto;
import com.wangxiaolu.promotion.result.basedata.R; import com.wangxiaolu.promotion.result.basedata.R;
import com.wangxiaolu.promotion.service.activity.employee.EmployeeQueryTemActivityService; import com.wangxiaolu.promotion.service.activity.employee.EmployeeQueryTemActivityService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -34,6 +37,8 @@ public class EmployeeQueryTemActivityServiceImpl implements EmployeeQueryTemActi ...@@ -34,6 +37,8 @@ public class EmployeeQueryTemActivityServiceImpl implements EmployeeQueryTemActi
TemporaryActivityReportedDao temporaryActivityReportedDao; TemporaryActivityReportedDao temporaryActivityReportedDao;
@Autowired @Autowired
TemporaryActivityMarketCellDao temporaryActivityMarketCellDao; TemporaryActivityMarketCellDao temporaryActivityMarketCellDao;
@Autowired
TemporaryActivityClockDao temporaryActivityClockDao;
/** /**
* tw.setApproverId(employeeQcId) * tw.setApproverId(employeeQcId)
...@@ -52,6 +57,30 @@ public class EmployeeQueryTemActivityServiceImpl implements EmployeeQueryTemActi ...@@ -52,6 +57,30 @@ public class EmployeeQueryTemActivityServiceImpl implements EmployeeQueryTemActi
List<TemporaryActivityReportedDto> records = pageInfo.getRecords(); List<TemporaryActivityReportedDto> records = pageInfo.getRecords();
List<Long> activityIds = records.stream().map(TemporaryActivityReportedDto::getId).collect(Collectors.toList()); List<Long> activityIds = records.stream().map(TemporaryActivityReportedDto::getId).collect(Collectors.toList());
// 查询打卡信息
repClockInfo(activityIds,records);
// 查询售卖商品信息
repMarketCell(activityIds,records);
}
/**
* 补充打卡信息
*/
private void repClockInfo(List<Long> activityIds,List<TemporaryActivityReportedDto> records) {
TemporaryClockWrapper tcw = new TemporaryClockWrapper().setReportedIds(activityIds);
List<TemporaryClockDto> temporaryClockDtos = temporaryActivityClockDao.selectList(tcw);
Map<Long, List<TemporaryClockDto>> clockDtos = temporaryClockDtos.stream().collect(Collectors.groupingBy(TemporaryClockDto::getReportedId));
records.stream().forEach(record -> {
record.setClockDto(clockDtos.get(record.getId()).get(0));
});
}
/**
* 补充售卖商品信息
*/
private void repMarketCell(List<Long> activityIds,List<TemporaryActivityReportedDto> records){
TemporaryMarketCellWrapper mcw = new TemporaryMarketCellWrapper().setActivityIds(activityIds); TemporaryMarketCellWrapper mcw = new TemporaryMarketCellWrapper().setActivityIds(activityIds);
List<TemporaryActivityMarketCellDto> marketCellAll = temporaryActivityMarketCellDao.selectList(mcw); List<TemporaryActivityMarketCellDto> marketCellAll = temporaryActivityMarketCellDao.selectList(mcw);
...@@ -64,4 +93,6 @@ public class EmployeeQueryTemActivityServiceImpl implements EmployeeQueryTemActi ...@@ -64,4 +93,6 @@ public class EmployeeQueryTemActivityServiceImpl implements EmployeeQueryTemActi
record.setMarketCells(marketCellGroup.get(record.getId())); record.setMarketCells(marketCellGroup.get(record.getId()));
}); });
} }
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论