From 0f4b95f355ceb4c8ab7bc76cd34832fe4b39aa28 Mon Sep 17 00:00:00 2001 From: DEV_ZZ <3568129659@qq.com> Date: Thu, 11 Sep 2025 22:27:40 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=BF=94=E5=9B=9E=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=EF=BC=8C=E4=BF=AE=E5=A4=8DBUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../remote/MostyQwzxFeignServiceRemote.java | 16 +++++ .../feign/service/MostyQwzxFeignService.java | 12 ++++ .../model/dto/yjzl/TbZdxlFgxlrwUpdateDTO.java | 6 ++ .../entity/yjzl/zddw/TbZdxlFgdwBddxlrwJl.java | 12 ++-- .../model/entity/yjzl/zddw/TbZdxlFgxlrw.java | 12 ++++ .../model/query/yjzl/TbZdxlFgdwBddQuery.java | 6 ++ .../model/vo/yjzl/TbZdxlFgdwBddxlrwVO.java | 8 ++- .../base/model/vo/yjzl/TbZdxlFgxlrwVO.java | 13 ++++ .../qwzx/controller/TbQwXfbbController.java | 24 +++++-- .../mosty/qwzx/service/TbQwXfbbService.java | 9 ++- .../service/impl/TbQwXfbbServiceImpl.java | 22 ++++-- .../TbZdxlFgdwBddxlrwJlController.java | 5 +- .../controller/TbZdxlFgxlrwController.java | 10 --- .../Impl/TbZdxlFgdwBddServiceImpl.java | 4 ++ .../Impl/TbZdxlFgdwBddxlrwJlServiceImpl.java | 12 +++- .../Impl/TbZdxlFgdwBddxlrwServiceImpl.java | 67 +++++++++++++------ .../service/Impl/TbZdxlFgxlrwServiceImpl.java | 60 +++++++++++++---- .../service/TbZdxlFgdwBddxlrwJlService.java | 8 +++ .../service/TbZdxlFgdwBddxlrwService.java | 5 +- .../mosty/yjzl/utils/TbZdxlFgxlrwUtils.java | 5 ++ 20 files changed, 247 insertions(+), 69 deletions(-) diff --git a/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/feign/remote/MostyQwzxFeignServiceRemote.java b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/feign/remote/MostyQwzxFeignServiceRemote.java index c0b6d25..6011852 100644 --- a/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/feign/remote/MostyQwzxFeignServiceRemote.java +++ b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/feign/remote/MostyQwzxFeignServiceRemote.java @@ -3,6 +3,7 @@ package com.mosty.base.feign.remote; import com.alibaba.fastjson.JSON; import com.mosty.base.feign.service.MostyQwzxFeignService; import com.mosty.base.model.dto.qwzx.TbQwXfbbVo; +import com.mosty.base.model.entity.qwzx.TbQwJl; import com.mosty.base.model.entity.qwzx.TbQwXfbb; import com.mosty.common.base.domain.ResponseResult; import com.mosty.common.base.entity.log.SpringUtils; @@ -63,4 +64,19 @@ public class MostyQwzxFeignServiceRemote { return responseResult.getData(); } + /** + * 查询勤务警力信息(根据报备ID和巡防警力ID) + * @param id 报备ID + * @param xfllId 巡防警力ID + * @return 勤务警力信息 + */ + public static TbQwJl selectQwJlByBbInfo(String id, String xfllId) { + ResponseResult responseResult = MostyQwzxFeignServiceRemote.getService().selectQwJlByBbInfo(id, xfllId); + if (responseResult == null || !responseResult.isSuccess()) { + log.error("查询勤务警力信息(根据报备ID和巡防警力ID)异常 responseResult = {}", JSON.toJSONString(responseResult)); + throw new BusinessException("查询勤务警力信息(根据报备ID和巡防警力ID)异常"); + } + return responseResult.getData(); + } + } diff --git a/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/feign/service/MostyQwzxFeignService.java b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/feign/service/MostyQwzxFeignService.java index fa7dd6c..a1eed6f 100644 --- a/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/feign/service/MostyQwzxFeignService.java +++ b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/feign/service/MostyQwzxFeignService.java @@ -3,11 +3,13 @@ package com.mosty.base.feign.service; import com.mosty.base.model.dto.qwzx.TbQwJlDto; import com.mosty.base.model.dto.qwzx.TbQwXfbbQueryByJlDto; import com.mosty.base.model.dto.qwzx.TbQwXfbbVo; +import com.mosty.base.model.entity.qwzx.TbQwJl; import com.mosty.base.model.entity.qwzx.TbQwXfbb; import com.mosty.common.base.domain.ResponseResult; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; +import javax.websocket.server.PathParam; import java.util.List; import java.util.Map; @@ -62,4 +64,14 @@ public interface MostyQwzxFeignService { */ @GetMapping("/mosty-qwzx/tbQwXfbb/getMybbTodayNew") ResponseResult getMyXfbbTodayNew(@RequestParam String bblx); + + /** + * 查询勤务警力信息(根据报备ID和巡防警力ID) + * @param id 报备ID + * @param xfllId 巡防警力ID + * @return 勤务警力信息 + */ + @GetMapping("/mosty-qwzx/tbQwXfbb/selectQwJlByBbInfo") + ResponseResult selectQwJlByBbInfo(@RequestParam("id") String id, @RequestParam("xfllId") String xfllId); + } diff --git a/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/dto/yjzl/TbZdxlFgxlrwUpdateDTO.java b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/dto/yjzl/TbZdxlFgxlrwUpdateDTO.java index 9de61c5..8d35b45 100644 --- a/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/dto/yjzl/TbZdxlFgxlrwUpdateDTO.java +++ b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/dto/yjzl/TbZdxlFgxlrwUpdateDTO.java @@ -98,6 +98,12 @@ public class TbZdxlFgxlrwUpdateDTO { @ApiModelProperty(value = "巡防报备ID") private String xfbbId; + /** + * 巡防报备勤务警力ID + */ + @ApiModelProperty(value = "巡防报备勤务警力ID") + private String xfbbQwJlId; + /** * 必到点列表 */ diff --git a/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/entity/yjzl/zddw/TbZdxlFgdwBddxlrwJl.java b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/entity/yjzl/zddw/TbZdxlFgdwBddxlrwJl.java index 2e95543..ddc5f98 100644 --- a/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/entity/yjzl/zddw/TbZdxlFgdwBddxlrwJl.java +++ b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/entity/yjzl/zddw/TbZdxlFgdwBddxlrwJl.java @@ -123,11 +123,11 @@ public class TbZdxlFgdwBddxlrwJl extends BaseEntity implements Serializable, Clo private String dkrXm; /** - * 打卡人身份证号 + * 打卡人ID */ - @ApiModelProperty(value = "打卡人身份证号") - @TableField(value = "dkr_sfzh") - private String dkrSfzh; + @ApiModelProperty(value = "打卡人ID") + @TableField(value = "dkr_id") + private Long dkrId; /** * 所属部门id @@ -254,9 +254,9 @@ public class TbZdxlFgdwBddxlrwJl extends BaseEntity implements Serializable, Clo public static String DKR_XM_FIELD = "dkr_xm"; /** - * 打卡人身份证号字段名 + * 打卡人ID字段名 */ - public static String DKR_SFZH_FIELD = "dkr_sfzh"; + public static String DKR_ID_FIELD = "dkr_id"; /** * 所属部门id diff --git a/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/entity/yjzl/zddw/TbZdxlFgxlrw.java b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/entity/yjzl/zddw/TbZdxlFgxlrw.java index 0cac2f8..76f4c70 100644 --- a/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/entity/yjzl/zddw/TbZdxlFgxlrw.java +++ b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/entity/yjzl/zddw/TbZdxlFgxlrw.java @@ -237,6 +237,13 @@ public class TbZdxlFgxlrw extends BaseEntity implements Serializable, Cloneable @TableField(value = "xfbb_id") private String xfbbId; + /** + * 巡防报备勤务警力ID + */ + @ApiModelProperty(value = "巡防报备勤务警力ID") + @TableField(value = "xfbb_qw_jl_id") + private String xfbbQwJlId; + /** * 主键ID字段名 @@ -363,4 +370,9 @@ public class TbZdxlFgxlrw extends BaseEntity implements Serializable, Cloneable */ public static String XFBB_ID_FIELD = "xfbb_id"; + /** + * 巡防报备勤务警力ID字段名 + */ + public static String XFBB_QW_JL_ID_FIELD = "xfbb_qw_jl_id"; + } diff --git a/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/query/yjzl/TbZdxlFgdwBddQuery.java b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/query/yjzl/TbZdxlFgdwBddQuery.java index d700fe6..0f6546e 100644 --- a/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/query/yjzl/TbZdxlFgdwBddQuery.java +++ b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/query/yjzl/TbZdxlFgdwBddQuery.java @@ -26,6 +26,12 @@ public class TbZdxlFgdwBddQuery extends BasePage { @ApiModelProperty(value = "方格点位ID") private Long fgdwId; + /** + * 方格点位名称 + */ + @ApiModelProperty(value = "方格点位名称") + private String fgdwMc; + /** * 必到点名称 */ diff --git a/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/vo/yjzl/TbZdxlFgdwBddxlrwVO.java b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/vo/yjzl/TbZdxlFgdwBddxlrwVO.java index 58c96b2..7a86a60 100644 --- a/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/vo/yjzl/TbZdxlFgdwBddxlrwVO.java +++ b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/vo/yjzl/TbZdxlFgdwBddxlrwVO.java @@ -7,8 +7,6 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; -import java.math.BigDecimal; - /** * @author zhangzhao * @description 指导巡逻方格点位必到点巡逻任务表返回对象 @@ -34,4 +32,10 @@ public class TbZdxlFgdwBddxlrwVO extends TbZdxlFgdwBddxlrw { @ApiModelProperty(value = "必到点进度") private Double bddProgress; + /** + * 是否勾选 + */ + @ApiModelProperty(value = "是否勾选") + private Boolean selected; + } diff --git a/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/vo/yjzl/TbZdxlFgxlrwVO.java b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/vo/yjzl/TbZdxlFgxlrwVO.java index d2909fe..1627bec 100644 --- a/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/vo/yjzl/TbZdxlFgxlrwVO.java +++ b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/vo/yjzl/TbZdxlFgxlrwVO.java @@ -1,6 +1,7 @@ package com.mosty.base.model.vo.yjzl; import com.mosty.base.model.dto.qwzx.TbQwXfbbVo; +import com.mosty.base.model.entity.qwzx.TbQwJl; import com.mosty.base.model.entity.yjzl.zddw.TbZdxlFgxlrw; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -78,10 +79,22 @@ public class TbZdxlFgxlrwVO extends TbZdxlFgxlrw { @ApiModelProperty(value = "必到点总进度") private Double bddAllProgress; + /** + * 巡逻里程总进度 + */ + @ApiModelProperty(value = "巡逻里程总进度") + private Double xllcProgress; + /** * 巡防报备信息 */ @ApiModelProperty(value = "巡防报备信息") private TbQwXfbbVo xfbb; + /** + * 巡防报备勤务警力信息 + */ + @ApiModelProperty(value = "巡防报备勤务警力信息") + private TbQwJl xfbbQwJl; + } diff --git a/mosty-qwzx/src/main/java/com/mosty/qwzx/controller/TbQwXfbbController.java b/mosty-qwzx/src/main/java/com/mosty/qwzx/controller/TbQwXfbbController.java index c424fca..00b748f 100644 --- a/mosty-qwzx/src/main/java/com/mosty/qwzx/controller/TbQwXfbbController.java +++ b/mosty-qwzx/src/main/java/com/mosty/qwzx/controller/TbQwXfbbController.java @@ -4,8 +4,11 @@ package com.mosty.qwzx.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.mosty.base.model.dto.qwzx.*; import com.mosty.base.model.entity.qwzx.TbQwJl; -import com.mosty.base.model.entity.qwzx.TbQwxfbbDk; +import com.mosty.base.model.entity.qwzx.TbQwXfbb; +import com.mosty.base.model.entity.qwzx.TbQwXfpbZq; import com.mosty.base.model.query.qwzx.TbQwJmxzSearchDto; +import com.mosty.base.model.query.qwzx.TbQwXfbbJmxzQuery; +import com.mosty.base.model.query.qwzx.TbQwXfbbQuery; import com.mosty.base.model.query.qwzx.TbQwxfbbDkQuery; import com.mosty.base.model.query.sjzx.XfbbQuery; import com.mosty.base.model.query.sjzx.XfbbTjQuery; @@ -14,10 +17,6 @@ import com.mosty.common.base.domain.ResponseResult; import com.mosty.common.base.entity.log.BusinessType; import com.mosty.common.base.entity.log.Log; import com.mosty.common.token.JwtSysUser; -import com.mosty.base.model.entity.qwzx.TbQwXfbb; -import com.mosty.base.model.entity.qwzx.TbQwXfpbZq; -import com.mosty.base.model.query.qwzx.TbQwXfbbJmxzQuery; -import com.mosty.base.model.query.qwzx.TbQwXfbbQuery; import com.mosty.qwzx.service.TbQwXfbbService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -42,7 +41,7 @@ import java.util.Map; public class TbQwXfbbController { @Resource - private TbQwXfbbService tbQwXfbbService; + private final TbQwXfbbService tbQwXfbbService; @ApiOperation("通过ID查询单条数据") @JwtSysUser @@ -351,5 +350,18 @@ public class TbQwXfbbController { return ResponseResult.success(tbQwXfbbService.updateXflc(bbid)); } + /** + * 查询勤务警力信息(根据报备ID和巡防警力ID) + * @param id 报备ID + * @param xfllId 巡防警力ID + * @return 勤务警力信息 + */ + @ApiOperation("查询勤务警力信息(根据报备ID和巡防警力ID)") + @JwtSysUser + @GetMapping("/selectQwJlByBbInfo") + public ResponseResult selectQwJlByBbInfo(@PathParam("id") String id, @PathParam("xfllId") String xfllId) { + return ResponseResult.success(tbQwXfbbService.selectQwJlByBbInfo(id, xfllId)); + } + } diff --git a/mosty-qwzx/src/main/java/com/mosty/qwzx/service/TbQwXfbbService.java b/mosty-qwzx/src/main/java/com/mosty/qwzx/service/TbQwXfbbService.java index 976f444..d5fa1c8 100644 --- a/mosty-qwzx/src/main/java/com/mosty/qwzx/service/TbQwXfbbService.java +++ b/mosty-qwzx/src/main/java/com/mosty/qwzx/service/TbQwXfbbService.java @@ -5,14 +5,12 @@ import com.mosty.base.model.dto.qwzx.*; import com.mosty.base.model.entity.qwzx.TbQwJl; import com.mosty.base.model.entity.qwzx.TbQwXfbb; import com.mosty.base.model.entity.qwzx.TbQwXfpbZq; -import com.mosty.base.model.entity.qwzx.TbQwxfbbDk; import com.mosty.base.model.query.qwzx.TbQwJmxzSearchDto; import com.mosty.base.model.query.qwzx.TbQwXfbbJmxzQuery; import com.mosty.base.model.query.qwzx.TbQwXfbbQuery; import com.mosty.base.model.query.qwzx.TbQwxfbbDkQuery; import com.mosty.base.model.query.sjzx.XfbbQuery; import com.mosty.base.model.query.sjzx.XfbbTjQuery; -import com.mosty.base.model.query.sjzx.XftjQuery; import com.mosty.base.model.vo.qwzx.TbQwxfbbDkVO; import io.swagger.annotations.ApiOperation; @@ -160,5 +158,12 @@ public interface TbQwXfbbService { @ApiOperation("更新巡防里程") Integer updateXflc(String bbid); + /** + * 查询勤务警力信息(根据报备ID和巡防警力ID) + * @param id 报备ID + * @param xfllId 巡防警力ID + * @return 勤务警力信息 + */ + TbQwJl selectQwJlByBbInfo(String id, String xfllId); } diff --git a/mosty-qwzx/src/main/java/com/mosty/qwzx/service/impl/TbQwXfbbServiceImpl.java b/mosty-qwzx/src/main/java/com/mosty/qwzx/service/impl/TbQwXfbbServiceImpl.java index 983dfe7..5fca2ea 100644 --- a/mosty-qwzx/src/main/java/com/mosty/qwzx/service/impl/TbQwXfbbServiceImpl.java +++ b/mosty-qwzx/src/main/java/com/mosty/qwzx/service/impl/TbQwXfbbServiceImpl.java @@ -18,8 +18,6 @@ import com.mosty.base.model.entity.lzother.BphJlxx; import com.mosty.base.model.entity.qwzx.*; import com.mosty.base.model.entity.wzzx.TbWzLswz; import com.mosty.base.model.entity.wzzx.TbWzXfwz; -import com.mosty.base.model.entity.yjzl.TbYjxx; -import com.mosty.base.model.entity.yjzl.TbZlxx; import com.mosty.base.model.query.qwzx.TbQwJmxzSearchDto; import com.mosty.base.model.query.qwzx.TbQwXfbbJmxzQuery; import com.mosty.base.model.query.qwzx.TbQwXfbbQuery; @@ -28,7 +26,6 @@ import com.mosty.base.model.query.sjzx.XfbbQuery; import com.mosty.base.model.query.sjzx.XfbbTjQuery; import com.mosty.base.model.vo.base.DeptInfoVo; import com.mosty.base.model.vo.qwzx.TbQwxfbbDkVO; -import com.mosty.base.model.vo.yjzl.TbFzJlVo; import com.mosty.base.model.vo.yszx.TbYsGajgVo; import com.mosty.base.utils.*; import com.mosty.common.base.exception.BusinessException; @@ -36,7 +33,6 @@ import com.mosty.common.core.business.entity.SysUser; import com.mosty.common.redis.service.RedisService; import com.mosty.common.token.UserInfo; import com.mosty.common.token.UserInfoManager; -import com.mosty.common.util.PermissionsUtil; import com.mosty.qwzx.mapper.*; import com.mosty.qwzx.remote.*; import com.mosty.qwzx.service.TbQwXfbbService; @@ -56,7 +52,6 @@ import java.math.BigDecimal; import java.util.*; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; -import java.util.zip.Inflater; /** @@ -457,6 +452,7 @@ public class TbQwXfbbServiceImpl extends ServiceImpl i return newList; } + @Override public void authJsbbTs() { List bbList = this.tbQwXfbbMapper.selectList( new LambdaQueryWrapper() @@ -1325,4 +1321,20 @@ public class TbQwXfbbServiceImpl extends ServiceImpl i } return lc; } + + @Override + public TbQwJl selectQwJlByBbInfo(String id, String xfllId) { + if(StringUtils.isBlank(id) || StringUtils.isBlank(xfllId)){ + return null; + } + + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("xt_sjzt", "1"); + qw.eq("xt_scbz", "0"); + qw.eq("ywid", id); + qw.eq("jl_id", xfllId); + + return this.tbQwJlMapper.selectOne(qw); + } + } 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 db55750..493ce87 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 @@ -11,6 +11,7 @@ import com.mosty.common.token.JwtSysUser; import com.mosty.common.token.UserInfo; import com.mosty.common.token.UserInfoManager; import com.mosty.yjzl.service.TbZdxlFgdwBddxlrwJlService; +import com.mosty.yjzl.utils.TbZdxlFgxlrwUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; @@ -108,11 +109,11 @@ public class TbZdxlFgdwBddxlrwJlController { UserInfo user = UserInfoManager.get(); if(ObjectUtils.isNotEmpty(baseEntity.getDkKsSj())){ //开始和结束是否是同一个人 - if(!user.getIdEntityCard().equals(baseEntity.getDkrSfzh())){ + if(!user.getUserId().equals(baseEntity.getDkrId())){ return ResponseResult.fail(MessageUtils.getSaveFailMsg() + "您不是此记录的打卡人,不能进行打卡"); } //是否待满10分钟 - if(dksj.getTime()-baseEntity.getDkKsSj().getTime() < 10*60*1000){ + if(dksj.getTime()-baseEntity.getDkKsSj().getTime() < TbZdxlFgxlrwUtils.CLOCK_IN_INTERVAL_TIME){ return ResponseResult.fail(MessageUtils.getSaveFailMsg() + "请在开始10分后,再打卡结束"); } } diff --git a/mosty-yjzl/src/main/java/com/mosty/yjzl/controller/TbZdxlFgxlrwController.java b/mosty-yjzl/src/main/java/com/mosty/yjzl/controller/TbZdxlFgxlrwController.java index 4ee2efb..eba67bb 100644 --- a/mosty-yjzl/src/main/java/com/mosty/yjzl/controller/TbZdxlFgxlrwController.java +++ b/mosty-yjzl/src/main/java/com/mosty/yjzl/controller/TbZdxlFgxlrwController.java @@ -15,7 +15,6 @@ import com.mosty.common.base.entity.log.Log; import com.mosty.common.base.util.StringUtils; import com.mosty.common.config.Excel.ExcelUtil; import com.mosty.common.token.JwtSysUser; -import com.mosty.yjzl.service.TbZdxlFgdwBddxlrwJlService; import com.mosty.yjzl.service.TbZdxlFgxlrwService; import com.mosty.yjzl.utils.TbZdxlFgxlrwUtils; import io.swagger.annotations.Api; @@ -50,11 +49,6 @@ public class TbZdxlFgxlrwController { */ private final TbZdxlFgxlrwService tbZdxlFgxlrwService; - /** - * 指导巡逻方格点位必到点巡逻任务记录表Service - */ - private final TbZdxlFgdwBddxlrwJlService tbZdxlFgdwBddxlrwJlService; - /** * 查询分页 * @param query 实体查询对象 @@ -221,10 +215,6 @@ public class TbZdxlFgxlrwController { //下发 int resultInt = tbZdxlFgxlrwService.issueList(issueList); if(resultInt > 0){ - //新建打卡记录 - for(TbZdxlFgxlrw entity : issueList){ - tbZdxlFgdwBddxlrwJlService.createListByFgxlrwId(entity.getId()); - } //返回 return ResponseResult.success(resultInt); } diff --git a/mosty-yjzl/src/main/java/com/mosty/yjzl/service/Impl/TbZdxlFgdwBddServiceImpl.java b/mosty-yjzl/src/main/java/com/mosty/yjzl/service/Impl/TbZdxlFgdwBddServiceImpl.java index 983e94b..0d98529 100644 --- a/mosty-yjzl/src/main/java/com/mosty/yjzl/service/Impl/TbZdxlFgdwBddServiceImpl.java +++ b/mosty-yjzl/src/main/java/com/mosty/yjzl/service/Impl/TbZdxlFgdwBddServiceImpl.java @@ -199,6 +199,10 @@ public class TbZdxlFgdwBddServiceImpl extends ServiceImpl bddxlrwList) { + if(CollectionUtils.isEmpty(bddxlrwList)){ + return -1; + } + //循环组装数据 List saveList = new ArrayList<>(); for(TbZdxlFgdwBddxlrw bbdxlrw : bddxlrwList){ @@ -127,7 +137,7 @@ public class TbZdxlFgdwBddxlrwJlServiceImpl extends ServiceImpl handleList) { + public int handleList(List handleList, String fgxlrwId) { if(CollectionUtils.isEmpty(handleList)){ return -1; } @@ -122,6 +123,8 @@ public class TbZdxlFgdwBddxlrwServiceImpl extends ServiceImpl saveDtoList = handleList.stream().filter(dto -> ObjectUtils.isEmpty(dto.getId())).collect(Collectors.toList()); List updateDtoList = handleList.stream().filter(dto -> ObjectUtils.isNotEmpty(dto.getId())).collect(Collectors.toList()); List saveList = new ArrayList<>(), updateList = new ArrayList<>(); + Map updateIdMap; + List cancelIdList = new ArrayList<>(); //组装保存列表 if(CollectionUtils.isNotEmpty(saveDtoList)){ @@ -142,9 +145,16 @@ public class TbZdxlFgdwBddxlrwServiceImpl extends ServiceImpl baseList = this.selectListByFgxlrwId(fgxlrwId); + if(CollectionUtils.isNotEmpty(baseList)){ + updateIdMap = updateDtoList.stream().collect(Collectors.toMap(TbZdxlFgdwBddxlrwHandleDTO::getId, Function.identity(), (key1, key2) -> key2)); + Map finalUpdateIdMap = updateIdMap; + cancelIdList = baseList.stream().map(TbZdxlFgdwBddxlrw::getId).filter(id -> !finalUpdateIdMap.containsKey(id)).collect(Collectors.toList()); + } } - //保存或修改信息 + //保存、修改或删除信息 int resultInt = 0; if(CollectionUtils.isNotEmpty(saveList)){ boolean success = this.saveBatch(saveList); @@ -158,32 +168,43 @@ public class TbZdxlFgdwBddxlrwServiceImpl extends ServiceImpl fgxlrwList) { + public List handleListByFgxlrwList(List fgxlrwList) { if(CollectionUtils.isEmpty(fgxlrwList)){ - return -1; + return null; } - //通过查询vo列表,组装成dto列表,进行保存 - int resultInt = 0; + //逻辑流程由原来的所有必到点都需要下发任务,改为用户选择的点位下发记录 + List resultList = new ArrayList<>(); for(TbZdxlFgxlrw fgxlrw : fgxlrwList){ - List voList = this.selectVoListByFgxlrwId(fgxlrw.getId()); - if(CollectionUtils.isEmpty(voList)){ - continue; + //查询是否已经保存了必到点的巡逻任务,如果已经保存,则不做处理,直接生成记录即可, + List baseList = this.selectListByFgxlrwId(fgxlrw.getId()); + if(CollectionUtils.isEmpty(baseList)){ + //如果没有保存,则需要根据必到点生成必到点巡逻任务 + baseList = new ArrayList<>(); + List bddList = tbZdxlFgdwBddService.selectListByFgxlrwId(fgxlrw.getId()); + List bbdXlrwVoList = this.buildAllInfoListByBddList(bddList, fgxlrw.getId(),true); + if(CollectionUtils.isNotEmpty(bbdXlrwVoList)){ + for(TbZdxlFgdwBddxlrwVO vo : bbdXlrwVoList){ + TbZdxlFgdwBddxlrw saveEntity = BeanUtil.copyProperties(vo, TbZdxlFgdwBddxlrw.class); + saveEntity.setId(UUIDGenerator.getUUID()); + saveEntity.setXtSjly("1"); + baseList.add(saveEntity); + } + this.saveBatch(baseList); + } } - List dtoList = new ArrayList<>(); - for(TbZdxlFgdwBddxlrwVO vo : voList){ - TbZdxlFgdwBddxlrwHandleDTO dto = BeanUtil.copyProperties(vo, TbZdxlFgdwBddxlrwHandleDTO.class); - dtoList.add(dto); - } - resultInt += this.handleList(dtoList); + resultList.addAll(baseList); } - return resultInt; + return resultList; } @Override @@ -241,6 +262,8 @@ public class TbZdxlFgdwBddxlrwServiceImpl extends ServiceImpl entityMap = new HashMap<>(); List allInfoVoList = new ArrayList<>(); @@ -257,7 +280,7 @@ public class TbZdxlFgdwBddxlrwServiceImpl extends ServiceImpl finalEntityMap = entityMap; List bddNotCreateList = bddList.stream().filter(bdd -> !finalEntityMap.containsKey(bdd.getId())).collect(Collectors.toList()); if(CollectionUtils.isNotEmpty(bddNotCreateList)){ - List bddAllInfoList = this.buildAllInfoListByBddList(bddNotCreateList, fgxlrwId); + List bddAllInfoList = this.buildAllInfoListByBddList(bddNotCreateList, fgxlrwId, hasEntityList); if(CollectionUtils.isNotEmpty(bddAllInfoList)){ allInfoVoList.addAll(bddAllInfoList); } @@ -273,8 +296,8 @@ public class TbZdxlFgdwBddxlrwServiceImpl extends ServiceImpl buildAllInfoListByBddList(List bddList, String fgxlrwId){ - if(CollectionUtils.isEmpty(bddList)){ + private List buildAllInfoListByBddList(List bddList, String fgxlrwId, boolean hasEntityList){ + if(CollectionUtils.isEmpty(bddList) || StringUtils.isBlank(fgxlrwId)){ return null; } @@ -294,6 +317,9 @@ public class TbZdxlFgdwBddxlrwServiceImpl extends ServiceImpl { - TbQwXfbb xfbb = MostyQwzxFeignServiceRemote.getMyXfbbTodayNew(null); - if(ObjectUtils.isNotEmpty(xfbb)){ - qw1.eq(TbZdxlFgxlrw.XFBB_ID_FIELD, xfbb.getId()).or(); + UserInfo user = UserInfoManager.get(); + TbQwXfbb xfbb = MostyQwzxFeignServiceRemote.getMyXfbbTodayNew(null); + if(ObjectUtils.isEmpty(xfbb)){ + qw.isNull(TbZdxlFgxlrw.XFBB_ID_FIELD).isNull(TbZdxlFgxlrw.XFBB_QW_JL_ID_FIELD); + }else{ + qw.and(qw1 -> qw1.eq(TbZdxlFgxlrw.XFBB_ID_FIELD, xfbb.getId()).or().isNull(TbZdxlFgxlrw.XFBB_ID_FIELD)); + //组装巡防力量查询条件 + String xfllId = ObjectUtils.isEmpty(user.getUserId()) ? user.getXfllId() : user.getUserId().toString(); + TbQwJl jl = MostyQwzxFeignServiceRemote.selectQwJlByBbInfo(xfbb.getId(), xfllId); + if(ObjectUtils.isEmpty(jl)){ + qw.isNull(TbZdxlFgxlrw.XFBB_QW_JL_ID_FIELD); + }else{ + qw.and(qw1 -> qw1.eq(TbZdxlFgxlrw.XFBB_QW_JL_ID_FIELD, jl.getId()).or().isNull(TbZdxlFgxlrw.XFBB_QW_JL_ID_FIELD)); } - //组装其他需要打卡的任务 - qw1.isNull(TbZdxlFgxlrw.XFBB_ID_FIELD); - }); + } //返回Page IPage resultPage = new Page<>(query.getPageCurrent(), query.getPageSize()); @@ -192,7 +204,7 @@ public class TbZdxlFgxlrwServiceImpl extends ServiceImpl 0){ //保存必到点信息 - tbZdxlFgdwBddxlrwService.handleList(dto.getBddList()); + tbZdxlFgdwBddxlrwService.handleList(dto.getBddList(), dto.getId()); //返回主键 return entity.getId(); } @@ -298,8 +310,12 @@ public class TbZdxlFgxlrwServiceImpl extends ServiceImpl bddxlrwList = tbZdxlFgdwBddxlrwService.handleListByFgxlrwList(entityList); + if(CollectionUtils.isNotEmpty(bddxlrwList)){ + //必到点巡逻任务保存后,生成对应的必到点巡逻任务记录 + tbZdxlFgdwBddxlrwJlService.createListByBddxlrwList(bddxlrwList); + } //返回 return updateList.size(); } @@ -391,11 +407,27 @@ public class TbZdxlFgxlrwServiceImpl extends ServiceImpl selectedQwjlList = xfbb.getJlList().stream().filter(xfbbJl -> xfbbJl.getId().equals(resultVO.getXfbbQwJlId())).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(selectedQwjlList)){ + resultVO.setXfbbQwJl(selectedQwjlList.get(0)); + } + } } } 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 120a8a8..316e525 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,6 +1,7 @@ package com.mosty.yjzl.service; 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.common.token.UserInfo; @@ -45,6 +46,13 @@ public interface TbZdxlFgdwBddxlrwJlService { */ int createListByFgxlrwId(String fgxlrwId); + /** + * 创建列表(根据必到点巡逻任务列表) + * @param bddxlrwList 必到点巡逻任务列表 + * @return 操作条数 + */ + int createListByBddxlrwList(List bddxlrwList); + /** * 打卡 * @param baseEntity 实体信息 diff --git a/mosty-yjzl/src/main/java/com/mosty/yjzl/service/TbZdxlFgdwBddxlrwService.java b/mosty-yjzl/src/main/java/com/mosty/yjzl/service/TbZdxlFgdwBddxlrwService.java index 7c85667..8c2aa30 100644 --- a/mosty-yjzl/src/main/java/com/mosty/yjzl/service/TbZdxlFgdwBddxlrwService.java +++ b/mosty-yjzl/src/main/java/com/mosty/yjzl/service/TbZdxlFgdwBddxlrwService.java @@ -48,16 +48,17 @@ public interface TbZdxlFgdwBddxlrwService { /** * 保存列表 * @param handleList 操作列表 + * @param fgxlrwId 方格巡逻任务ID * @return 操作条数 */ - int handleList(List handleList); + int handleList(List handleList, String fgxlrwId); /** * 保存列表(根据方格巡逻任务列表) * @param fgxlrwList 方格巡逻任务列表 * @return 操作条数 */ - int handleListByFgxlrwList(List fgxlrwList); + List handleListByFgxlrwList(List fgxlrwList); /** * 打卡(根据打卡记录) diff --git a/mosty-yjzl/src/main/java/com/mosty/yjzl/utils/TbZdxlFgxlrwUtils.java b/mosty-yjzl/src/main/java/com/mosty/yjzl/utils/TbZdxlFgxlrwUtils.java index 8a71be3..a29d3b7 100644 --- a/mosty-yjzl/src/main/java/com/mosty/yjzl/utils/TbZdxlFgxlrwUtils.java +++ b/mosty-yjzl/src/main/java/com/mosty/yjzl/utils/TbZdxlFgxlrwUtils.java @@ -9,6 +9,11 @@ package com.mosty.yjzl.utils; */ public class TbZdxlFgxlrwUtils { + /** + * 打卡时间间隔(默认10分钟) + */ + public final static Long CLOCK_IN_INTERVAL_TIME = 10L*60L*1000L; + /** * 方格巡逻任务-街面警情-查询开始日期运算长度 */