From 8784f82734199cb481246660985a87cc7a7d0ae6 Mon Sep 17 00:00:00 2001 From: maoju <495345283@qq.com> Date: Thu, 13 Nov 2025 19:40:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=93=E5=8D=A1=E4=BD=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/model/query/yjzl/BddxlrwJlQuery.java | 32 ++++ .../model/vo/yjzl/TbZdxlFgdwBddxlrwJlVo.java | 168 ++++++++++++++++++ .../TbZdxlFgdwBddxlrwJlController.java | 13 +- .../Impl/TbZdxlFgdwBddxlrwJlServiceImpl.java | 64 ++++++- .../service/TbZdxlFgdwBddxlrwJlService.java | 7 +- 5 files changed, 280 insertions(+), 4 deletions(-) create mode 100644 feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/query/yjzl/BddxlrwJlQuery.java create mode 100644 feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/vo/yjzl/TbZdxlFgdwBddxlrwJlVo.java diff --git a/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/query/yjzl/BddxlrwJlQuery.java b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/query/yjzl/BddxlrwJlQuery.java new file mode 100644 index 0000000..2de61de --- /dev/null +++ b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/query/yjzl/BddxlrwJlQuery.java @@ -0,0 +1,32 @@ +package com.mosty.base.model.query.yjzl; + + +import com.mosty.base.model.BasePage; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="BddxlrwJlQuery 对象", description="打卡记录查询") +public class BddxlrwJlQuery extends BasePage implements Serializable, Cloneable { + + private static final long serialVersionUID = 5669699389640027676L; + + @ApiModelProperty(value = "开始打卡时间") + private String kssj; + + @ApiModelProperty(value = "结束打卡时间") + private String jssj; + + @ApiModelProperty(value = "打卡人姓名") + private String dkrXm; + + @ApiModelProperty(value = "所属部门代码") + private String ssbmdm; +} diff --git a/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/vo/yjzl/TbZdxlFgdwBddxlrwJlVo.java b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/vo/yjzl/TbZdxlFgdwBddxlrwJlVo.java new file mode 100644 index 0000000..9ad7618 --- /dev/null +++ b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/vo/yjzl/TbZdxlFgdwBddxlrwJlVo.java @@ -0,0 +1,168 @@ +package com.mosty.base.model.vo.yjzl; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.util.Date; + + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="TbZdxlFgdwBddxlrwJlVo 对象", description="打卡记录") +public class TbZdxlFgdwBddxlrwJlVo { + + @ApiModelProperty(value = "主键ID") + private String id; + + /** + * 必到点巡逻任务ID + */ + @ApiModelProperty(value = "必到点巡逻任务ID") + private String bddxlrwId; + + /** + * 开始打卡时间 + */ + @ApiModelProperty(value = "开始打卡时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date dkKsSj; + + /** + * 开始打卡附件 + */ + @ApiModelProperty(value = "开始打卡附件") + private String dkKsFj; + + /** + * 开始打卡经度 + */ + @ApiModelProperty(value = "开始打卡经度") + private BigDecimal dkKsJd; + + /** + * 开始打卡纬度 + */ + @ApiModelProperty(value = "开始打卡纬度") + private BigDecimal dkKsWd; + + /** + * 结束打卡时间 + */ + @ApiModelProperty(value = "结束打卡时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date dkJsSj; + + /** + * 结束打卡附件 + */ + @ApiModelProperty(value = "结束打卡附件") + private String dkJsFj; + + /** + * 结束打卡经度 + */ + @ApiModelProperty(value = "结束打卡经度") + private BigDecimal dkJsJd; + + /** + * 结束打卡纬度 + */ + @ApiModelProperty(value = "结束打卡纬度") + private BigDecimal dkJsWd; + + /** + * 打卡顺序 + */ + @ApiModelProperty(value = "打卡顺序") + private Integer dkSx; + + /** + * 打卡人姓名 + */ + @ApiModelProperty(value = "打卡人姓名") + private String dkrXm; + + /** + * 打卡人ID + */ + @ApiModelProperty(value = "打卡人ID") + private Long dkrId; + + @ApiModelProperty(value = "打卡人ID") + private String sfzh; + + /** + * 所属部门id + */ + @ApiModelProperty(value = "所属部门id") + private String ssbmid; + + /** + * 所属部门 + */ + @ApiModelProperty(value = "所属部门") + private String ssbm; + + /** + * 所属部门代码 + */ + @ApiModelProperty(value = "所属部门代码") + private String ssbmdm; + + /** + * 所属县公安局 + */ + @ApiModelProperty(value = "所属县公安局") + private String ssxgaj; + + /** + * 所属县公安局id + */ + @ApiModelProperty(value = "所属县公安局id") + private String ssxgajid; + + /** + * 所属县公安局代码 + */ + @ApiModelProperty(value = "所属县公安局代码") + private String ssxgajdm; + + /** + * 所属市公安局id + */ + @ApiModelProperty(value = "所属市公安局id") + private String sssgajid; + + /** + * 所属市公安局 + */ + @ApiModelProperty(value = "所属市公安局") + private String sssgaj; + + /** + * 所属市公安局代码 + */ + @ApiModelProperty(value = "所属市公安局代码") + private String sssgajdm; + + /** + * 必到点名称 + */ + @ApiModelProperty(value = "必到点名称") + private String bddMc; + + /** + * 必到点地址 + */ + @ApiModelProperty(value = "必到点地址") + private String bddDz; +} diff --git a/mosty-yjzl/src/main/java/com/mosty/yjzl/controller/TbZdxlFgdwBddxlrwJlController.java b/mosty-yjzl/src/main/java/com/mosty/yjzl/controller/TbZdxlFgdwBddxlrwJlController.java index 53efd48..50582f1 100644 --- a/mosty-yjzl/src/main/java/com/mosty/yjzl/controller/TbZdxlFgdwBddxlrwJlController.java +++ b/mosty-yjzl/src/main/java/com/mosty/yjzl/controller/TbZdxlFgdwBddxlrwJlController.java @@ -1,9 +1,12 @@ package com.mosty.yjzl.controller; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.mosty.base.model.dto.yjzl.TbZdxlFgdwBddxlrwJlClockInDTO; import com.mosty.base.model.entity.yjzl.zddw.TbZdxlFgdwBdd; import com.mosty.base.model.entity.yjzl.zddw.TbZdxlFgdwBddxlrw; import com.mosty.base.model.entity.yjzl.zddw.TbZdxlFgdwBddxlrwJl; +import com.mosty.base.model.query.yjzl.BddxlrwJlQuery; +import com.mosty.base.model.vo.yjzl.TbZdxlFgdwBddxlrwJlVo; import com.mosty.base.model.vo.yjzl.TbZdxlFgdwVO; import com.mosty.base.utils.MessageUtils; import com.mosty.base.utils.spring.SpringValidUtils; @@ -174,8 +177,16 @@ public class TbZdxlFgdwBddxlrwJlController { @GetMapping("/getRwjlByXfbbId") @JwtSysUser @Log(title = "警组打卡记录", businessType = BusinessType.OTHER) - public ResponseResult> getRwjlByXfbbId(String xfbbId) { + public ResponseResult> getRwjlByXfbbId(String xfbbId) { return ResponseResult.success(tbZdxlFgdwBddxlrwJlService.getRwjlByXfbbId(xfbbId)); } + @ApiOperation(value = "警组打卡记录分页") + @GetMapping("/getPageList") + @JwtSysUser + @Log(title = "警组打卡记录分页", businessType = BusinessType.OTHER) + public ResponseResult> getPageList(BddxlrwJlQuery query) { + return ResponseResult.success(tbZdxlFgdwBddxlrwJlService.getPageList(query)); + } + } diff --git a/mosty-yjzl/src/main/java/com/mosty/yjzl/service/Impl/TbZdxlFgdwBddxlrwJlServiceImpl.java b/mosty-yjzl/src/main/java/com/mosty/yjzl/service/Impl/TbZdxlFgdwBddxlrwJlServiceImpl.java index cf78316..4f08b29 100644 --- a/mosty-yjzl/src/main/java/com/mosty/yjzl/service/Impl/TbZdxlFgdwBddxlrwJlServiceImpl.java +++ b/mosty-yjzl/src/main/java/com/mosty/yjzl/service/Impl/TbZdxlFgdwBddxlrwJlServiceImpl.java @@ -2,14 +2,21 @@ package com.mosty.yjzl.service.Impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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 com.mosty.base.model.dto.qwzx.TbQwJlDto; import com.mosty.base.model.dto.yjzl.TbZdxlFgdwBddxlrwJlClockInDTO; +import com.mosty.base.model.entity.yjzl.zddw.TbZdxlFgdwBdd; import com.mosty.base.model.entity.yjzl.zddw.TbZdxlFgdwBddxlrw; import com.mosty.base.model.entity.yjzl.zddw.TbZdxlFgdwBddxlrwJl; +import com.mosty.base.model.query.yjzl.BddxlrwJlQuery; +import com.mosty.base.model.vo.yjzl.TbZdxlFgdwBddxlrwJlVo; import com.mosty.base.utils.UUIDGenerator; import com.mosty.common.token.UserInfo; +import com.mosty.yjzl.mapper.TbZdxlFgdwBddMapper; import com.mosty.yjzl.mapper.TbZdxlFgdwBddxlrwJlMapper; +import com.mosty.yjzl.mapper.TbZdxlFgdwBddxlrwMapper; import com.mosty.yjzl.remote.TbQwzxAdaptRemoteService; import com.mosty.yjzl.service.TbZdxlFgdwBddxlrwJlService; import com.mosty.yjzl.service.TbZdxlFgdwBddxlrwService; @@ -17,12 +24,14 @@ import lombok.AllArgsConstructor; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -41,6 +50,8 @@ public class TbZdxlFgdwBddxlrwJlServiceImpl extends ServiceImpl getRwjlByXfbbId(String xfbbId) { + public List getRwjlByXfbbId(String xfbbId) { List jlDtos = this.tbQwzxAdaptRemoteService.getJlxxByBbid(xfbbId); List sfzhList = jlDtos.stream().map(TbQwJlDto::getSfzh).collect(Collectors.toList()); List list = this.baseMapper.selectList( @@ -171,7 +182,56 @@ public class TbZdxlFgdwBddxlrwJlServiceImpl extends ServiceImpl vos = new ArrayList<>(); + list.forEach(xlrwjl -> { + TbZdxlFgdwBddxlrwJlVo vo = new TbZdxlFgdwBddxlrwJlVo(); + BeanUtils.copyProperties(xlrwjl,vo); + TbZdxlFgdwBddxlrw tbZdxlFgdwBddxlrw = this.tbZdxlFgdwBddxlrwMapper.selectById(xlrwjl.getBddxlrwId()); + if(Objects.nonNull(tbZdxlFgdwBddxlrw)){ + TbZdxlFgdwBdd tbZdxlFgdwBdd = this.tbZdxlFgdwBddMapper.selectById(tbZdxlFgdwBddxlrw.getBddId()); + if(Objects.nonNull(tbZdxlFgdwBdd)){ + vo.setBddMc(tbZdxlFgdwBdd.getBddMc()); + vo.setBddDz(tbZdxlFgdwBdd.getBddDz()); + } + } + vos.add(vo); + }); + return vos; + } + + @Override + public IPage getPageList(BddxlrwJlQuery query) { + if(StringUtils.isNotEmpty(query.getSsbmdm())){ + query.setSsbmdm(query.getSsbmdm().replaceAll("(00)+$", "")); + } + IPage page = this.baseMapper.selectPage( + new Page<>(query.getPageCurrent(),query.getPageSize()), + new LambdaQueryWrapper() + .like(StringUtils.isNotEmpty(query.getSsbmdm()),TbZdxlFgdwBddxlrwJl::getSsbmdm,query.getSsbmdm()) + .like(StringUtils.isNotEmpty(query.getDkrXm()),TbZdxlFgdwBddxlrwJl::getDkrXm,query.getDkrXm()) + .between(StringUtils.isNotEmpty(query.getKssj()),TbZdxlFgdwBddxlrwJl::getDkKsSj,query.getKssj(),query.getJssj()) + .orderByDesc(TbZdxlFgdwBddxlrwJl::getXtCjsj) + ); + List vos = new ArrayList<>(); + if(CollectionUtils.isEmpty(page.getRecords())){ + page.getRecords().forEach(item -> { + TbZdxlFgdwBddxlrwJlVo vo = new TbZdxlFgdwBddxlrwJlVo(); + BeanUtils.copyProperties(item,vo); + TbZdxlFgdwBddxlrw tbZdxlFgdwBddxlrw = this.tbZdxlFgdwBddxlrwMapper.selectById(item.getBddxlrwId()); + if(Objects.nonNull(tbZdxlFgdwBddxlrw)){ + TbZdxlFgdwBdd tbZdxlFgdwBdd = this.tbZdxlFgdwBddMapper.selectById(tbZdxlFgdwBddxlrw.getBddId()); + if(Objects.nonNull(tbZdxlFgdwBdd)){ + vo.setBddMc(tbZdxlFgdwBdd.getBddMc()); + vo.setBddDz(tbZdxlFgdwBdd.getBddDz()); + } + } + vos.add(vo); + }); + } + IPage voIPage = new Page<>(query.getPageCurrent(),query.getPageSize()); + voIPage.setRecords(vos); + voIPage.setTotal(page.getTotal()); + return voIPage; } diff --git a/mosty-yjzl/src/main/java/com/mosty/yjzl/service/TbZdxlFgdwBddxlrwJlService.java b/mosty-yjzl/src/main/java/com/mosty/yjzl/service/TbZdxlFgdwBddxlrwJlService.java index 044fba0..66f13d7 100644 --- a/mosty-yjzl/src/main/java/com/mosty/yjzl/service/TbZdxlFgdwBddxlrwJlService.java +++ b/mosty-yjzl/src/main/java/com/mosty/yjzl/service/TbZdxlFgdwBddxlrwJlService.java @@ -1,8 +1,11 @@ package com.mosty.yjzl.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.mosty.base.model.dto.yjzl.TbZdxlFgdwBddxlrwJlClockInDTO; import com.mosty.base.model.entity.yjzl.zddw.TbZdxlFgdwBddxlrw; import com.mosty.base.model.entity.yjzl.zddw.TbZdxlFgdwBddxlrwJl; +import com.mosty.base.model.query.yjzl.BddxlrwJlQuery; +import com.mosty.base.model.vo.yjzl.TbZdxlFgdwBddxlrwJlVo; import com.mosty.common.token.UserInfo; import java.util.Date; @@ -63,6 +66,8 @@ public interface TbZdxlFgdwBddxlrwJlService { */ String clockIn(TbZdxlFgdwBddxlrwJl baseEntity, TbZdxlFgdwBddxlrwJlClockInDTO dto, UserInfo user, Date dksj); - List getRwjlByXfbbId(String xfbbId); + List getRwjlByXfbbId(String xfbbId); + + IPage getPageList(BddxlrwJlQuery query); }