From 0f4ce1e1456973e481be77959734fd8708cbd573 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=8C=87=E9=A3=8ESQL?= <495345283@qq.com> Date: Tue, 17 Mar 2026 18:04:02 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E5=8F=91=E5=B8=83?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/model/dto/yjzl/TbZdyFgbxdDto.java | 26 ++ .../base/model/dto/yjzl/TbZdyFgrwDkDto.java | 32 ++ .../base/model/dto/yjzl/TbZdyFgrwDto.java | 48 +++ .../base/model/dto/yjzl/ZdxlFgdwBddDto.java | 28 ++ .../base/model/dto/yjzl/ZdyxlFgxlrwDto.java | 32 ++ .../model/entity/yjzl/zddw/TbZdxlFgxlrw.java | 7 +- .../model/entity/yjzl/zddw/TbZdyFgbxd.java | 39 +++ .../model/entity/yjzl/zddw/TbZdyFgrw.java | 71 ++++ .../model/entity/yjzl/zddw/TbZdyFgrwlq.java | 67 ++++ .../model/entity/yjzl/zddw/TbZdyFgrwlqdk.java | 76 ++++ .../model/query/yjzl/TbZdxlFgxlrwQuery.java | 5 + .../base/model/query/yjzl/TbZdyFgrwQuery.java | 35 ++ .../model/query/yjzl/TbZdyFgrwlqQuery.java | 18 + .../base/model/vo/yjzl/TbZdxlFgxlrwVO.java | 3 + .../mosty/base/model/vo/yjzl/TbZdyFgrwVO.java | 88 +++++ .../controller/TbZdxlFgxlrwController.java | 22 ++ .../yjzl/controller/TbZdyFgrwController.java | 77 ++++ .../mosty/yjzl/mapper/TbZdyFgbxdMapper.java | 9 + .../mosty/yjzl/mapper/TbZdyFgrwMapper.java | 14 + .../mosty/yjzl/mapper/TbZdyFgrwlqMapper.java | 10 + .../yjzl/mapper/TbZdyFgrwlqdkMapper.java | 9 + .../service/Impl/TbZdxlFgxlrwServiceImpl.java | 102 ++++++ .../service/Impl/TbZdyFgrwServiceImpl.java | 329 ++++++++++++++++++ .../yjzl/service/TbZdxlFgxlrwService.java | 23 +- .../mosty/yjzl/service/TbZdyFgrwService.java | 29 ++ .../main/resources/mapper/TbZdyFgrwMapper.xml | 21 ++ 26 files changed, 1204 insertions(+), 16 deletions(-) create mode 100644 feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/dto/yjzl/TbZdyFgbxdDto.java create mode 100644 feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/dto/yjzl/TbZdyFgrwDkDto.java create mode 100644 feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/dto/yjzl/TbZdyFgrwDto.java create mode 100644 feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/dto/yjzl/ZdxlFgdwBddDto.java create mode 100644 feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/dto/yjzl/ZdyxlFgxlrwDto.java create mode 100644 feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/entity/yjzl/zddw/TbZdyFgbxd.java create mode 100644 feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/entity/yjzl/zddw/TbZdyFgrw.java create mode 100644 feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/entity/yjzl/zddw/TbZdyFgrwlq.java create mode 100644 feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/entity/yjzl/zddw/TbZdyFgrwlqdk.java create mode 100644 feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/query/yjzl/TbZdyFgrwQuery.java create mode 100644 feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/query/yjzl/TbZdyFgrwlqQuery.java create mode 100644 feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/vo/yjzl/TbZdyFgrwVO.java create mode 100644 mosty-yjzl/src/main/java/com/mosty/yjzl/controller/TbZdyFgrwController.java create mode 100644 mosty-yjzl/src/main/java/com/mosty/yjzl/mapper/TbZdyFgbxdMapper.java create mode 100644 mosty-yjzl/src/main/java/com/mosty/yjzl/mapper/TbZdyFgrwMapper.java create mode 100644 mosty-yjzl/src/main/java/com/mosty/yjzl/mapper/TbZdyFgrwlqMapper.java create mode 100644 mosty-yjzl/src/main/java/com/mosty/yjzl/mapper/TbZdyFgrwlqdkMapper.java create mode 100644 mosty-yjzl/src/main/java/com/mosty/yjzl/service/Impl/TbZdyFgrwServiceImpl.java create mode 100644 mosty-yjzl/src/main/java/com/mosty/yjzl/service/TbZdyFgrwService.java create mode 100644 mosty-yjzl/src/main/resources/mapper/TbZdyFgrwMapper.xml diff --git a/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/dto/yjzl/TbZdyFgbxdDto.java b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/dto/yjzl/TbZdyFgbxdDto.java new file mode 100644 index 0000000..0937ba9 --- /dev/null +++ b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/dto/yjzl/TbZdyFgbxdDto.java @@ -0,0 +1,26 @@ +package com.mosty.base.model.dto.yjzl; + + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value = "TbZdyFgbxdDto 对象", description = "指令新增或修改Dto") +public class TbZdyFgbxdDto { + + @ApiModelProperty(value = "必巡点名称") + private String bxdMc; + + @ApiModelProperty(value = "经度") + private BigDecimal jd; + + @ApiModelProperty(value = "纬度") + private BigDecimal wd; +} diff --git a/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/dto/yjzl/TbZdyFgrwDkDto.java b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/dto/yjzl/TbZdyFgrwDkDto.java new file mode 100644 index 0000000..4654d73 --- /dev/null +++ b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/dto/yjzl/TbZdyFgrwDkDto.java @@ -0,0 +1,32 @@ +package com.mosty.base.model.dto.yjzl; + + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value = "TbZdyFgrwDkDto 对象", description = "自定义打卡Dto") +public class TbZdyFgrwDkDto { + + @ApiModelProperty(value = "方格任务id") + private String fgrwid; + + @ApiModelProperty(value = "方格任务点位id") + private String bxdid; + + @ApiModelProperty(value = "经度") + private BigDecimal jd; + + @ApiModelProperty(value = "纬度") + private BigDecimal wd; + + @ApiModelProperty(value = "打卡秃瓢") + private String dktp; +} diff --git a/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/dto/yjzl/TbZdyFgrwDto.java b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/dto/yjzl/TbZdyFgrwDto.java new file mode 100644 index 0000000..b2482ed --- /dev/null +++ b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/dto/yjzl/TbZdyFgrwDto.java @@ -0,0 +1,48 @@ +package com.mosty.base.model.dto.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.util.Date; +import java.util.List; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value = "TbZdyFgrwDto 对象", description = "指令新增或修改Dto") +public class TbZdyFgrwDto { + + private static final long serialVersionUID = 7150960017357765314L; + + @ApiModelProperty(value = "主键ID") + private String id; + + @ApiModelProperty(value = "方格任务名称") + private String fgRwmc; + + @ApiModelProperty(value = "方格ID") + private Long fgId; + + @ApiModelProperty(value = "下发日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date xfrq; + + @ApiModelProperty(value = "间隔时间") + private Integer dkjgsj; + + @ApiModelProperty(value = "下发部门代码") + private String xfbmdm; + + @ApiModelProperty(value = "所属部门代码") + private String ssbmdm; + + @ApiModelProperty(value = "方格点位集合") + private List dtoList; +} diff --git a/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/dto/yjzl/ZdxlFgdwBddDto.java b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/dto/yjzl/ZdxlFgdwBddDto.java new file mode 100644 index 0000000..be6784c --- /dev/null +++ b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/dto/yjzl/ZdxlFgdwBddDto.java @@ -0,0 +1,28 @@ +package com.mosty.base.model.dto.yjzl; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value = "ZdxlFgdwBddDto 对象", description = "DTO") +public class ZdxlFgdwBddDto { + + @ApiModelProperty(value = "点位名称") + private String bddMc; + + @ApiModelProperty(value = "必到点地址") + private String bddDz; + + @ApiModelProperty(value = "经度") + private BigDecimal jd; + + @ApiModelProperty(value = "纬度") + private BigDecimal wd; +} diff --git a/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/dto/yjzl/ZdyxlFgxlrwDto.java b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/dto/yjzl/ZdyxlFgxlrwDto.java new file mode 100644 index 0000000..9124ccb --- /dev/null +++ b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/dto/yjzl/ZdyxlFgxlrwDto.java @@ -0,0 +1,32 @@ +package com.mosty.base.model.dto.yjzl; + + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.util.List; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value = "ZdyxlFgxlrwDto 对象", description = "DTO") +public class ZdyxlFgxlrwDto { + + @ApiModelProperty(value = "id") + private String id; + + @ApiModelProperty(value = "任务标题") + private String fgRwbt; + + @ApiModelProperty(value = "间隔时间") + private Integer dkjgsj; + + @ApiModelProperty(value = "方格id") + private Long fgdwId; + + @ApiModelProperty(value = "任务点位集合") + private List bddDtos; +} 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 15e6800..7e07fed 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 @@ -42,7 +42,7 @@ public class TbZdxlFgxlrw extends BaseEntity implements Serializable, Cloneable @Excel(name = "主键ID", sort = 1) private String id; - @ApiModelProperty(value = "任务类型 D_BZ_RWBLX 1日常 2自定义") + @ApiModelProperty(value = "任务类型 D_BZ_RWBLX 1日常 2自定义 3下发") @TableField(value = "rwlx") private String rwlx; @@ -143,6 +143,11 @@ public class TbZdxlFgxlrw extends BaseEntity implements Serializable, Cloneable @Excel(name = "任务状态", sort = 12) private String rwZt; + + @ApiModelProperty(value = "任务状态 D_BZ_QWRWZT") + @TableField(value = "rw_lq_zt") + @Excel(name = "任务领取状态", sort = 12) + private String rwLqZt; /** * 巡逻规划时长(分钟) */ diff --git a/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/entity/yjzl/zddw/TbZdyFgbxd.java b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/entity/yjzl/zddw/TbZdyFgbxd.java new file mode 100644 index 0000000..a8f90b6 --- /dev/null +++ b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/entity/yjzl/zddw/TbZdyFgbxd.java @@ -0,0 +1,39 @@ +package com.mosty.base.model.entity.yjzl.zddw; + + +import com.baomidou.mybatisplus.annotation.TableName; +import com.mosty.base.model.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.math.BigDecimal; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("tb_zdy_fgbxd") +@ApiModel(value = "TbZdyFgbxd 对象", description = "巡逻方格点位") +public class TbZdyFgbxd extends BaseEntity implements Serializable, Cloneable { + + private static final long serialVersionUID = -3070789069218466360L; + + @ApiModelProperty(value = "主键ID") + private String id; + + @ApiModelProperty(value = "方格任务id") + private String fgrwid; + + @ApiModelProperty(value = "必巡点名称") + private String bxdMc; + + @ApiModelProperty(value = "经度") + private BigDecimal jd; + + @ApiModelProperty(value = "纬度") + private BigDecimal wd; + +} diff --git a/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/entity/yjzl/zddw/TbZdyFgrw.java b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/entity/yjzl/zddw/TbZdyFgrw.java new file mode 100644 index 0000000..3573e9a --- /dev/null +++ b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/entity/yjzl/zddw/TbZdyFgrw.java @@ -0,0 +1,71 @@ +package com.mosty.base.model.entity.yjzl.zddw; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.mosty.base.model.BaseEntity; +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.io.Serializable; +import java.util.Date; + + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("tb_zdy_fgrw") +@ApiModel(value = "TbZdyFgrw 对象", description = "巡逻方格任务") +public class TbZdyFgrw extends BaseEntity implements Serializable, Cloneable { + + private static final long serialVersionUID = -7955617972336621848L; + + @ApiModelProperty(value = "主键ID") + private String id; + + @ApiModelProperty(value = "方格任务名称") + private String fgRwmc; + + @ApiModelProperty(value = "方格ID") + private Long fgId; + + @ApiModelProperty(value = "方格名称") + private String fgmc; + + @ApiModelProperty(value = "下发日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date xfrq; + + @ApiModelProperty(value = "间隔时间") + private Integer dkjgsj; + + @ApiModelProperty(value = "下发部门") + private String xfbm; + + @ApiModelProperty(value = "下发部门代码") + private String xfbmdm; + + @ApiModelProperty(value = "所属部门") + private String ssbm; + + @ApiModelProperty(value = "所属部门代码") + private String ssbmdm; + + @ApiModelProperty(value = "所属县公安局") + private String ssxgaj; + + @ApiModelProperty(value = "所属县公安局代码") + private String ssxgajdm; + + @ApiModelProperty(value = "所属市公安局") + private String sssgaj; + + @ApiModelProperty(value = "所属市公安局代码") + private String sssgajdm; + + +} diff --git a/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/entity/yjzl/zddw/TbZdyFgrwlq.java b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/entity/yjzl/zddw/TbZdyFgrwlq.java new file mode 100644 index 0000000..1bc31f7 --- /dev/null +++ b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/entity/yjzl/zddw/TbZdyFgrwlq.java @@ -0,0 +1,67 @@ +package com.mosty.base.model.entity.yjzl.zddw; + + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.mosty.base.model.BaseEntity; +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.io.Serializable; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("tb_zdy_fgrwlq") +@ApiModel(value = "TbZdyFgrwlq 对象", description = "巡逻方格任务领取") +public class TbZdyFgrwlq extends BaseEntity implements Serializable, Cloneable { + + + private static final long serialVersionUID = 5509241958377936616L; + + @ApiModelProperty(value = "主键ID") + private String id; + + @ApiModelProperty(value = "方格任务id") + private String fgrwid; + + @ApiModelProperty(value = "方格任务状态D_BZ_QWRWZT 01领取 02已领取 03已完成") + private String fgrwzt; + + @ApiModelProperty(value = "任务领取日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private String rwlqrq; + + @ApiModelProperty(value = "方格任务领取人") + private String fgrwlqr; + + @ApiModelProperty(value = "方格任务领取人id") + private String fgrwlqrid; + + @ApiModelProperty(value = "方格任务领取人身份证号") + private String fgrwlqrsfzh; + + @ApiModelProperty(value = "所属部门") + private String ssbm; + + @ApiModelProperty(value = "所属部门代码") + private String ssbmdm; + + @ApiModelProperty(value = "所属县公安局") + private String ssxgaj; + + @ApiModelProperty(value = "所属县公安局代码") + private String ssxgajdm; + + @ApiModelProperty(value = "所属市公安局") + private String sssgaj; + + @ApiModelProperty(value = "所属市公安局代码") + private String sssgajdm; + +} diff --git a/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/entity/yjzl/zddw/TbZdyFgrwlqdk.java b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/entity/yjzl/zddw/TbZdyFgrwlqdk.java new file mode 100644 index 0000000..a2edd04 --- /dev/null +++ b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/entity/yjzl/zddw/TbZdyFgrwlqdk.java @@ -0,0 +1,76 @@ +package com.mosty.base.model.entity.yjzl.zddw; + + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.mosty.base.model.BaseEntity; +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.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("tb_zdy_fgrwlqdk") +@ApiModel(value = "TbZdyFgrwlqdk 对象", description = "巡逻方格点位领取打卡") +public class TbZdyFgrwlqdk extends BaseEntity implements Serializable, Cloneable { + + private static final long serialVersionUID = -2528967262660632723L; + + @ApiModelProperty(value = "主键ID") + private String id; + + @ApiModelProperty(value = "方格任务id") + private String fgrwid; + + @ApiModelProperty(value = "方格点位id") + private String fgbxdid; + + @ApiModelProperty(value = "打卡人id") + private String dkrid; + + @ApiModelProperty(value = "打卡人") + private String dkr; + + @ApiModelProperty(value = "打卡人身份证号") + private String darsfzh; + + @ApiModelProperty(value = "打卡秃瓢") + private String dktp; + + @ApiModelProperty(value = "打卡时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date dksj; + + @ApiModelProperty(value = "经度") + private BigDecimal jd; + + @ApiModelProperty(value = "纬度") + private BigDecimal wd; + + private String ssbm; + + @ApiModelProperty(value = "所属部门代码") + private String ssbmdm; + + @ApiModelProperty(value = "所属县公安局") + private String ssxgaj; + + @ApiModelProperty(value = "所属县公安局代码") + private String ssxgajdm; + + @ApiModelProperty(value = "所属市公安局") + private String sssgaj; + + @ApiModelProperty(value = "所属市公安局代码") + private String sssgajdm; + +} diff --git a/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/query/yjzl/TbZdxlFgxlrwQuery.java b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/query/yjzl/TbZdxlFgxlrwQuery.java index 6ee702e..ee57433 100644 --- a/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/query/yjzl/TbZdxlFgxlrwQuery.java +++ b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/query/yjzl/TbZdxlFgxlrwQuery.java @@ -1,7 +1,9 @@ package com.mosty.base.model.query.yjzl; +import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import com.mosty.base.model.BasePage; +import com.mosty.common.base.entity.log.Excel; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -64,6 +66,9 @@ public class TbZdxlFgxlrwQuery extends BasePage { @ApiModelProperty(value = "任务状态 D_ZDXL_FGXLRW_RWZT") private String rwZt; + @ApiModelProperty(value = "任务状态 D_BZ_QWRWZT") + private String rwLqZt; + @ApiModelProperty(value = "任务标题") private String fgRwbt; diff --git a/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/query/yjzl/TbZdyFgrwQuery.java b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/query/yjzl/TbZdyFgrwQuery.java new file mode 100644 index 0000000..1796c3f --- /dev/null +++ b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/query/yjzl/TbZdyFgrwQuery.java @@ -0,0 +1,35 @@ +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; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value = "TbZdyFgrwQuery 对象", description = "任务查询对象") +public class TbZdyFgrwQuery extends BasePage { + + + @ApiModelProperty(value = "app任务类型 01当日任务 02历史任务") + private String appRwlx; + + @ApiModelProperty(value = "方格任务id") + private String fgrwid; + + @ApiModelProperty(value = "下发部门代码") + private String xfbmdm; + + @ApiModelProperty(value = "方格任务名称") + private String fgRwmc; + + @ApiModelProperty(value = "所属部门代码") + private String ssbmdm; + + @ApiModelProperty(value = "任务领取人id") + private String fgrwlqrid; +} diff --git a/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/query/yjzl/TbZdyFgrwlqQuery.java b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/query/yjzl/TbZdyFgrwlqQuery.java new file mode 100644 index 0000000..f48e33d --- /dev/null +++ b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/query/yjzl/TbZdyFgrwlqQuery.java @@ -0,0 +1,18 @@ +package com.mosty.base.model.query.yjzl; + + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value = "TbZdyFgrwlqQuery 对象", description = "任务领取对象") +public class TbZdyFgrwlqQuery { + + @ApiModelProperty(value = "方格任务id") + private String fgrwid; +} 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 1627bec..43450b0 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 @@ -97,4 +97,7 @@ public class TbZdxlFgxlrwVO extends TbZdxlFgxlrw { @ApiModelProperty(value = "巡防报备勤务警力信息") private TbQwJl xfbbQwJl; + @ApiModelProperty(value = "任务状态 D_BZ_QWRWZT") + private String rwLqZt; + } diff --git a/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/vo/yjzl/TbZdyFgrwVO.java b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/vo/yjzl/TbZdyFgrwVO.java new file mode 100644 index 0000000..e275053 --- /dev/null +++ b/feign-client-api/mosty-base-feign-sdk/src/main/java/com/mosty/base/model/vo/yjzl/TbZdyFgrwVO.java @@ -0,0 +1,88 @@ +package com.mosty.base.model.vo.yjzl; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.mosty.base.model.entity.yjzl.zddw.TbZdxlFgdw; +import com.mosty.base.model.entity.yjzl.zddw.TbZdyFgbxd; +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.util.Date; +import java.util.List; + + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value = "TbZdyFgrwVO 对象", description = "任务返回对象") +public class TbZdyFgrwVO { + + private static final long serialVersionUID = -6023904098274500513L; + + @ApiModelProperty(value = "主键ID") + private String id; + + @ApiModelProperty(value = "方格任务名称") + private String fgRwmc; + + @ApiModelProperty(value = "方格ID") + private Long fgId; + + @ApiModelProperty(value = "方格名称") + private String fgmc; + + @ApiModelProperty(value = "方格信息") + private TbZdxlFgdwVO fgxx; + + @ApiModelProperty(value = "下发日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date xfrq; + + @ApiModelProperty(value = "间隔时间") + private Integer dkjgsj; + + @ApiModelProperty(value = "下发部门") + private String xfbm; + + @ApiModelProperty(value = "下发部门代码") + private String xfbmdm; + + @ApiModelProperty(value = "所属部门") + private String ssbm; + + @ApiModelProperty(value = "所属部门代码") + private String ssbmdm; + + @ApiModelProperty(value = "所属县公安局") + private String ssxgaj; + + @ApiModelProperty(value = "所属县公安局代码") + private String ssxgajdm; + + @ApiModelProperty(value = "所属市公安局") + private String sssgaj; + + @ApiModelProperty(value = "所属市公安局代码") + private String sssgajdm; + + @ApiModelProperty(value = "方格任务状态 01领取 02已领取 03已完成") + private String fgrwzt; + + @ApiModelProperty(value = "方格任务领取人") + private String fgrwlqr; + + @ApiModelProperty(value = "方格任务领取人id") + private String fgrwlqrid; + + @ApiModelProperty(value = "方格任务领取人身份证号") + private String fgrwlqrsfzh; + + @ApiModelProperty(value = "点位") + private List bxds; + +} 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 34f1c55..72573a2 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 @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.mosty.base.model.dto.yjzl.TbZdxlFgxlrwCreateDTO; import com.mosty.base.model.dto.yjzl.TbZdxlFgxlrwIssueDTO; import com.mosty.base.model.dto.yjzl.TbZdxlFgxlrwUpdateDTO; +import com.mosty.base.model.dto.yjzl.ZdyxlFgxlrwDto; import com.mosty.base.model.entity.yjzl.zddw.TbZdxlFgxlrw; import com.mosty.base.model.entity.yjzl.zddw.TbZdxlFgzdyrw; import com.mosty.base.model.query.yjzl.TbZdxlFgxlrwQuery; @@ -256,4 +257,25 @@ public class TbZdxlFgxlrwController { } } + @ApiOperation(value = "添加自定义巡逻任务") + @PostMapping("addZdyxlFgxlrw") + @JwtSysUser + public ResponseResult addZdyxlFgxlrw(@RequestBody ZdyxlFgxlrwDto dto){ + return ResponseResult.success(tbZdxlFgxlrwService.addZdyxlFgxlrw(dto)); + } + + @ApiOperation(value = "修改自定义巡逻任务") + @PostMapping("editZdyxlFgxlrw") + @JwtSysUser + public ResponseResult editZdyxlFgxlrw(@RequestBody ZdyxlFgxlrwDto dto){ + return ResponseResult.success(tbZdxlFgxlrwService.editZdyxlFgxlrw(dto)); + } + + @ApiOperation(value = "添加自定义巡逻任务") + @PostMapping("delZdyxlFgxlrw") + @JwtSysUser + public ResponseResult delZdyxlFgxlrw(@RequestBody ZdyxlFgxlrwDto dto){ + return ResponseResult.success(tbZdxlFgxlrwService.delZdyxlFgxlrw(dto)); + } + } diff --git a/mosty-yjzl/src/main/java/com/mosty/yjzl/controller/TbZdyFgrwController.java b/mosty-yjzl/src/main/java/com/mosty/yjzl/controller/TbZdyFgrwController.java new file mode 100644 index 0000000..269ee7c --- /dev/null +++ b/mosty-yjzl/src/main/java/com/mosty/yjzl/controller/TbZdyFgrwController.java @@ -0,0 +1,77 @@ +package com.mosty.yjzl.controller; + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.mosty.base.model.dto.yjzl.TbZdyFgrwDkDto; +import com.mosty.base.model.dto.yjzl.TbZdyFgrwDto; +import com.mosty.base.model.query.yjzl.TbZdyFgrwQuery; +import com.mosty.base.model.query.yjzl.TbZdyFgrwlqQuery; +import com.mosty.base.model.vo.yjzl.TbZdyFgrwVO; +import com.mosty.common.base.domain.ResponseResult; +import com.mosty.common.token.JwtSysUser; +import com.mosty.yjzl.service.TbZdyFgrwService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +@Api(tags = {"方格任务-自定义任务"}) +@RestController +@AllArgsConstructor +@RequestMapping("/tbZdyrw") +public class TbZdyFgrwController { + + private final TbZdyFgrwService tbZdyFgrwService; + + @ApiOperation(value = "添加自定义任务") + @PostMapping ("/addTbZdyrw") + @JwtSysUser + public ResponseResult addTbZdyrw(@RequestBody TbZdyFgrwDto dto) { + return ResponseResult.success(tbZdyFgrwService.addTbZdyrw(dto)); + } + + @ApiOperation(value = "查询列表") + @GetMapping("/selectList") + @JwtSysUser + public ResponseResult> selectList(TbZdyFgrwQuery query) { + return ResponseResult.success(tbZdyFgrwService.selectList(query)); + } + + @ApiOperation(value = "app查询列表") + @GetMapping("/selectListApp") + @JwtSysUser + public ResponseResult> selectListApp(TbZdyFgrwQuery query) { + return ResponseResult.success(tbZdyFgrwService.selectListApp(query)); + } + + @ApiOperation(value = "任务详情") + @GetMapping("/getFgrwXq") + @JwtSysUser + public ResponseResult getFgrwXq(TbZdyFgrwQuery query) { + return ResponseResult.success(tbZdyFgrwService.getFgrwXq(query)); + } + + @ApiOperation(value = "领取任务") + @GetMapping("/getLqrw") + @JwtSysUser + public ResponseResult getLqrw(TbZdyFgrwlqQuery query) { + return ResponseResult.success(tbZdyFgrwService.getLqrw(query)); + } + + @ApiOperation(value = "任务打卡详情") + @GetMapping("/getFgrwDkXq") + @JwtSysUser + public ResponseResult> getFgrwDkXq(TbZdyFgrwQuery query) { + return ResponseResult.success(tbZdyFgrwService.getFgrwDkXq(query)); + } + + @ApiOperation(value = "自定义任务打卡") + @PostMapping ("/zdyRwdk") + @JwtSysUser + public ResponseResult zdyRwdk(@RequestBody TbZdyFgrwDkDto dto) { + return ResponseResult.success(tbZdyFgrwService.zdyRwdk(dto)); + } +} diff --git a/mosty-yjzl/src/main/java/com/mosty/yjzl/mapper/TbZdyFgbxdMapper.java b/mosty-yjzl/src/main/java/com/mosty/yjzl/mapper/TbZdyFgbxdMapper.java new file mode 100644 index 0000000..17faf57 --- /dev/null +++ b/mosty-yjzl/src/main/java/com/mosty/yjzl/mapper/TbZdyFgbxdMapper.java @@ -0,0 +1,9 @@ +package com.mosty.yjzl.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.mosty.base.model.entity.yjzl.zddw.TbZdyFgbxd; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface TbZdyFgbxdMapper extends BaseMapper { +} diff --git a/mosty-yjzl/src/main/java/com/mosty/yjzl/mapper/TbZdyFgrwMapper.java b/mosty-yjzl/src/main/java/com/mosty/yjzl/mapper/TbZdyFgrwMapper.java new file mode 100644 index 0000000..37a27dc --- /dev/null +++ b/mosty-yjzl/src/main/java/com/mosty/yjzl/mapper/TbZdyFgrwMapper.java @@ -0,0 +1,14 @@ +package com.mosty.yjzl.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.mosty.base.model.entity.yjzl.zddw.TbZdyFgrw; +import com.mosty.base.model.query.yjzl.TbZdyFgrwQuery; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +@Mapper +public interface TbZdyFgrwMapper extends BaseMapper { + + IPage getLqfgrw(@Param("page") IPage page, @Param("dto")TbZdyFgrwQuery dto); +} diff --git a/mosty-yjzl/src/main/java/com/mosty/yjzl/mapper/TbZdyFgrwlqMapper.java b/mosty-yjzl/src/main/java/com/mosty/yjzl/mapper/TbZdyFgrwlqMapper.java new file mode 100644 index 0000000..5e07021 --- /dev/null +++ b/mosty-yjzl/src/main/java/com/mosty/yjzl/mapper/TbZdyFgrwlqMapper.java @@ -0,0 +1,10 @@ +package com.mosty.yjzl.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.mosty.base.model.entity.yjzl.zddw.TbZdyFgrwlq; +import org.apache.ibatis.annotations.Mapper; + + +@Mapper +public interface TbZdyFgrwlqMapper extends BaseMapper { +} diff --git a/mosty-yjzl/src/main/java/com/mosty/yjzl/mapper/TbZdyFgrwlqdkMapper.java b/mosty-yjzl/src/main/java/com/mosty/yjzl/mapper/TbZdyFgrwlqdkMapper.java new file mode 100644 index 0000000..33312ef --- /dev/null +++ b/mosty-yjzl/src/main/java/com/mosty/yjzl/mapper/TbZdyFgrwlqdkMapper.java @@ -0,0 +1,9 @@ +package com.mosty.yjzl.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.mosty.base.model.entity.yjzl.zddw.TbZdyFgrwlqdk; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface TbZdyFgrwlqdkMapper extends BaseMapper { +} diff --git a/mosty-yjzl/src/main/java/com/mosty/yjzl/service/Impl/TbZdxlFgxlrwServiceImpl.java b/mosty-yjzl/src/main/java/com/mosty/yjzl/service/Impl/TbZdxlFgxlrwServiceImpl.java index b0111a6..9e369c6 100644 --- a/mosty-yjzl/src/main/java/com/mosty/yjzl/service/Impl/TbZdxlFgxlrwServiceImpl.java +++ b/mosty-yjzl/src/main/java/com/mosty/yjzl/service/Impl/TbZdxlFgxlrwServiceImpl.java @@ -1,6 +1,7 @@ package com.mosty.yjzl.service.Impl; import cn.hutool.core.bean.BeanUtil; +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; @@ -8,6 +9,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.mosty.base.feign.remote.MostyQwzxFeignServiceRemote; import com.mosty.base.model.dto.qwzx.TbQwXfbbVo; import com.mosty.base.model.dto.yjzl.TbZdxlFgxlrwUpdateDTO; +import com.mosty.base.model.dto.yjzl.ZdyxlFgxlrwDto; import com.mosty.base.model.entity.qwzx.TbQwJl; import com.mosty.base.model.entity.qwzx.TbQwXfbb; import com.mosty.base.model.entity.yjzl.zddw.*; @@ -66,6 +68,11 @@ public class TbZdxlFgxlrwServiceImpl extends ServiceImpl bddIds = new ArrayList<>(); + dto.getBddDtos().forEach(bddDto ->{ + TbZdxlFgdwBdd bdd = new TbZdxlFgdwBdd(); + bdd.setId(UUIDGenerator.getUUID()); + bdd.setFgdwId(dto.getFgdwId()); + bdd.setBddMc(bddDto.getBddMc()); + bdd.setBddDz(bddDto.getBddDz()); + bdd.setJd(bddDto.getJd()); + bdd.setWd(bddDto.getWd()); + bdd.setDkjgsj(dto.getDkjgsj()); + this.tbZdxlFgdwBddMapper.insert(bdd); + bddIds.add(bdd.getId()); + }); + TbZdxlFgxlrw xlrw = new TbZdxlFgxlrw(); + xlrw.setId(UUIDGenerator.getUUID()); + xlrw.setRwlx("3"); + xlrw.setFgRwbt(dto.getFgRwbt()); + xlrw.setFgId(dto.getFgdwId()); + xlrw.setFgPx(1); + xlrw.setFgYjdj("01"); + xlrw.setFgYjys("01"); + xlrw.setRwRq(new Date()); + xlrw.setRwZt("01"); + xlrw.setRwLqZt("01"); + xlrw.setXlghXllc(2.0); + this.tbZdxlFgxlrwMapper.insert(xlrw); + bddIds.forEach(bddId ->{ + TbZdxlFgdwBddxlrw bddxlrw = new TbZdxlFgdwBddxlrw(); + bddxlrw.setId(UUIDGenerator.getUUID()); + bddxlrw.setFgxlrwId(xlrw.getId()); + bddxlrw.setBddId(bddId); + bddxlrw.setXlghDkcs(1); + bddxlrw.setXlsjDkcs(0); + bddxlrw.setSfKs("0"); + bddxlrw.setSfJs("0"); + this.tbZdxlFgdwBddxlrwMapper.insert(bddxlrw); + }); + } + return null; + } + + @Override + public TbZdxlFgxlrw editZdyxlFgxlrw(ZdyxlFgxlrwDto dto) { + TbZdxlFgxlrw tbZdxlFgxlrw = this.tbZdxlFgxlrwMapper.selectById(dto.getId()); + tbZdxlFgxlrw.setFgId(dto.getFgdwId()); + tbZdxlFgxlrw.setFgRwbt(dto.getFgRwbt()); + tbZdxlFgxlrw.setRwRq(new Date()); + List fgbddrws = this.tbZdxlFgdwBddxlrwMapper.selectList( + new LambdaQueryWrapper() + .eq(TbZdxlFgdwBddxlrw::getFgxlrwId,tbZdxlFgxlrw.getId()) + ); + List bddIdList = fgbddrws.stream().map(TbZdxlFgdwBddxlrw::getBddId).collect(Collectors.toList()); + this.tbZdxlFgdwBddMapper.deleteBatchIds(bddIdList); + tbZdxlFgdwBddxlrwMapper.delete( + new LambdaQueryWrapper() + .eq(TbZdxlFgdwBddxlrw::getFgxlrwId,tbZdxlFgxlrw.getId()) + ); + if(CollectionUtils.isNotEmpty(dto.getBddDtos())){ + List bddIds = new ArrayList<>(); + dto.getBddDtos().forEach(bddDto ->{ + TbZdxlFgdwBdd bdd = new TbZdxlFgdwBdd(); + bdd.setId(UUIDGenerator.getUUID()); + bdd.setFgdwId(dto.getFgdwId()); + bdd.setBddMc(bddDto.getBddMc()); + bdd.setBddDz(bddDto.getBddDz()); + bdd.setJd(bddDto.getJd()); + bdd.setWd(bddDto.getWd()); + bdd.setDkjgsj(dto.getDkjgsj()); + this.tbZdxlFgdwBddMapper.insert(bdd); + bddIds.add(bdd.getId()); + }); + bddIds.forEach(bddId ->{ + TbZdxlFgdwBddxlrw bddxlrw = new TbZdxlFgdwBddxlrw(); + bddxlrw.setId(UUIDGenerator.getUUID()); + bddxlrw.setFgxlrwId(tbZdxlFgxlrw.getId()); + bddxlrw.setBddId(bddId); + bddxlrw.setXlghDkcs(1); + bddxlrw.setXlsjDkcs(0); + bddxlrw.setSfKs("0"); + bddxlrw.setSfJs("0"); + this.tbZdxlFgdwBddxlrwMapper.insert(bddxlrw); + }); + } + return tbZdxlFgxlrw; + } + + @Override + public Boolean delZdyxlFgxlrw(ZdyxlFgxlrwDto dto) { + this.tbZdxlFgxlrwMapper.deleteById(dto.getId()); + return true; + } + /** * 组装查询参数 * @param qw QueryWrapper diff --git a/mosty-yjzl/src/main/java/com/mosty/yjzl/service/Impl/TbZdyFgrwServiceImpl.java b/mosty-yjzl/src/main/java/com/mosty/yjzl/service/Impl/TbZdyFgrwServiceImpl.java new file mode 100644 index 0000000..005d714 --- /dev/null +++ b/mosty-yjzl/src/main/java/com/mosty/yjzl/service/Impl/TbZdyFgrwServiceImpl.java @@ -0,0 +1,329 @@ +package com.mosty.yjzl.service.Impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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.yjzl.TbZdyFgrwDkDto; +import com.mosty.base.model.dto.yjzl.TbZdyFgrwDto; +import com.mosty.base.model.entity.yjzl.zddw.*; +import com.mosty.base.model.query.yjzl.TbZdyFgrwQuery; +import com.mosty.base.model.query.yjzl.TbZdyFgrwlqQuery; +import com.mosty.base.model.vo.base.DeptInfoVo; +import com.mosty.base.model.vo.yjzl.TbZdxlFgdwVO; +import com.mosty.base.model.vo.yjzl.TbZdyFgrwVO; +import com.mosty.base.utils.*; +import com.mosty.common.base.domain.ResponseResult; +import com.mosty.common.base.exception.BusinessException; +import com.mosty.common.token.UserInfo; +import com.mosty.common.token.UserInfoManager; +import com.mosty.yjzl.mapper.*; +import com.mosty.yjzl.remote.TbBaseAdaptRemoteService; +import com.mosty.yjzl.service.TbZdyFgrwService; +import lombok.AllArgsConstructor; +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.util.CollectionUtils; + +import java.util.*; +import java.util.stream.Collectors; + +@Service +@AllArgsConstructor +public class TbZdyFgrwServiceImpl extends ServiceImpl implements TbZdyFgrwService { + + private final TbBaseAdaptRemoteService tbBaseAdaptRemoteService; + private final TbZdyFgrwlqMapper tbZdyFgrwlqMapper; + private final TbZdyFgbxdMapper tbZdyFgbxdMapper; + private final TbZdxlFgdwMapper tbZdxlFgdwMapper; + private final TbZdyFgrwlqdkMapper tbZdyFgrwlqdkMapper; + @Override + public Boolean addTbZdyrw(TbZdyFgrwDto dto) { + UserInfo user = UserInfoManager.get(); + TbZdyFgrw fgrw = new TbZdyFgrw(); + BeanUtils.copyProperties(dto,fgrw); + fgrw.setId(UUIDGenerator.getUUID()); + if(Objects.isNull(dto.getXfrq())){ + fgrw.setXfrq(new Date()); + } + TbZdxlFgdw tbZdxlFgdw = this.tbZdxlFgdwMapper.selectById(dto.getFgId()); + if(Objects.nonNull(tbZdxlFgdw)){ + fgrw.setFgmc(tbZdxlFgdw.getMc1()); + fgrw.setXfbm(tbZdxlFgdw.getSsbm()); + fgrw.setXfbmdm(tbZdxlFgdw.getSsbmdm()); + } + if(StringUtils.isEmpty(dto.getSsbmdm())){ + dto.setSsbmdm(user.getDeptCode()); + } + DeptInfoVo dept = this.tbBaseAdaptRemoteService.getOrgByOrgcode(dto.getSsbmdm()); + if(Objects.nonNull(dept)){ + fgrw.setSsbm(dept.getDeptname()); + fgrw.setSsbmdm(dept.getDeptcode()); + fgrw.setSsxgajdm(dept.getFxjcode()); + fgrw.setSsxgaj(dept.getFxjname()); + fgrw.setSssgaj(dept.getDszname()); + fgrw.setSssgajdm(dept.getDszcode()); + } + this.baseMapper.insert(fgrw); + if(!CollectionUtils.isEmpty(dto.getDtoList())){ + dto.getDtoList().forEach(tbZdyFgbxdDto -> { + TbZdyFgbxd bxd = new TbZdyFgbxd(); + BeanUtils.copyProperties(tbZdyFgbxdDto,bxd); + bxd.setId(UUIDGenerator.getUUID()); + bxd.setFgrwid(fgrw.getId()); + this.tbZdyFgbxdMapper.insert(bxd); + }); + } + return true; + } + + @Override + public IPage selectList(TbZdyFgrwQuery query) { + UserInfo userInfo = UserInfoManager.get(); + query.setSsbmdm(this.tbBaseAdaptRemoteService.getSsbm(query.getSsbmdm(), null)); + IPage page = this.baseMapper.selectPage( + new Page<>(query.getPageCurrent(),query.getPageSize()), + new LambdaQueryWrapper() + .like(StringUtils.isNotEmpty(query.getFgRwmc()),TbZdyFgrw::getFgRwmc,query.getFgRwmc()) + .likeRight(StringUtils.isNotEmpty(query.getSsbmdm()),TbZdyFgrw::getSsbmdm,query.getSsbmdm()) + .eq(StringUtils.isNotEmpty(query.getXfbmdm()),TbZdyFgrw::getXfbmdm,query.getXfbmdm()) + .orderByDesc(TbZdyFgrw::getXfrq) + ); + List voList = new ArrayList<>(); + if(!CollectionUtils.isEmpty(page.getRecords())){ + page.getRecords().forEach(tbZdyFgrw -> { + TbZdyFgrwlq rwlq = this.tbZdyFgrwlqMapper.selectOne( + new LambdaQueryWrapper() + .eq(TbZdyFgrwlq::getFgrwid,tbZdyFgrw.getId()) + .eq(TbZdyFgrwlq::getFgrwlqrid,userInfo.getUserId()) + .last(" limit 1 ") + ); + TbZdyFgrwVO vo = new TbZdyFgrwVO(); + BeanUtils.copyProperties(tbZdyFgrw,vo); + vo.setFgrwzt("01"); + if(Objects.nonNull(rwlq)){ + vo.setFgrwlqr(rwlq.getFgrwlqr()); + vo.setFgrwlqrid(rwlq.getFgrwlqrid()); + vo.setFgrwlqrsfzh(rwlq.getFgrwlqrsfzh()); + vo.setFgrwzt(rwlq.getFgrwzt()); + } + voList.add(vo); + }); + } + IPage pageVo = new Page<>(page.getCurrent(),page.getSize()); + pageVo.setTotal(page.getTotal()); + pageVo.setRecords(voList); + return pageVo; + } + + @Override + public IPage selectListApp(TbZdyFgrwQuery query) { + UserInfo userInfo = UserInfoManager.get(); + query.setFgrwlqrid(userInfo.getUserId().toString()); + query.setSsbmdm(this.tbBaseAdaptRemoteService.getSsbm(query.getSsbmdm(), null)); + //今日已领取任务 + List mylqs = this.tbZdyFgrwlqMapper.selectList( + new LambdaQueryWrapper() + .eq(TbZdyFgrwlq::getFgrwlqrid,userInfo.getUserId().toString()) + .eq(TbZdyFgrwlq::getRwlqrq,DateUtils.getNowDate()) + ); + List ids = mylqs.stream().map(TbZdyFgrwlq::getFgrwid).collect(Collectors.toList()); + //今日待领取任务 + IPage page = this.baseMapper.selectPage( + new Page<>(query.getPageCurrent(),query.getPageSize()), + new LambdaQueryWrapper() + .like(StringUtils.isNotEmpty(query.getFgRwmc()),TbZdyFgrw::getFgRwmc,query.getFgRwmc()) + .likeRight(StringUtils.isNotEmpty(query.getSsbmdm()),TbZdyFgrw::getSsbmdm,query.getSsbmdm()) + .eq(StringUtils.isNotEmpty(query.getXfbmdm()),TbZdyFgrw::getXfbmdm,query.getXfbmdm()) + .eq(TbZdyFgrw::getXfrq,DateUtils.getNowDate()) + .notIn(!CollectionUtils.isEmpty(ids),TbZdyFgrw::getId,ids) + .orderByDesc(TbZdyFgrw::getXfrq) + ); + //历史任务(已领取任务) + if("02".equals(query.getAppRwlx())){ + IPage pageDto = PageUtils.buildPage(query.getPageSize(),query.getPageCurrent()); + page = this.baseMapper.getLqfgrw(pageDto,query); + } + List voList = new ArrayList<>(); + if(!CollectionUtils.isEmpty(page.getRecords())){ + page.getRecords().forEach(tbZdyFgrw -> { + TbZdyFgrwlq rwlq = this.tbZdyFgrwlqMapper.selectOne( + new LambdaQueryWrapper() + .eq(TbZdyFgrwlq::getFgrwid,tbZdyFgrw.getId()) + .eq(TbZdyFgrwlq::getFgrwlqrid,userInfo.getUserId()) + .last(" limit 1 ") + ); + TbZdyFgrwVO vo = new TbZdyFgrwVO(); + BeanUtils.copyProperties(tbZdyFgrw,vo); + vo.setFgrwzt("01"); + if(Objects.nonNull(rwlq)){ + vo.setFgrwlqr(rwlq.getFgrwlqr()); + vo.setFgrwlqrid(rwlq.getFgrwlqrid()); + vo.setFgrwlqrsfzh(rwlq.getFgrwlqrsfzh()); + vo.setFgrwzt(rwlq.getFgrwzt()); + } + voList.add(vo); + }); + } + IPage pageVo = new Page<>(page.getCurrent(),page.getSize()); + pageVo.setTotal(page.getTotal()); + pageVo.setRecords(voList); + return pageVo; + } + + @Override + public TbZdyFgrwVO getFgrwXq(TbZdyFgrwQuery query) { + TbZdyFgrwVO vo = new TbZdyFgrwVO(); + UserInfo userInfo = UserInfoManager.get(); + TbZdyFgrw tbZdyFgrw = this.baseMapper.selectById(query.getFgrwid()); + if(Objects.isNull(tbZdyFgrw)) throw new BusinessException("方格任务不存在!"); + BeanUtils.copyProperties(tbZdyFgrw,vo); + TbZdyFgrwlq rwlq = this.tbZdyFgrwlqMapper.selectOne( + new LambdaQueryWrapper() + .eq(TbZdyFgrwlq::getFgrwid,tbZdyFgrw.getId()) + .eq(TbZdyFgrwlq::getFgrwlqrid,userInfo.getUserId()) + .last(" limit 1 ") + ); + if(Objects.nonNull(rwlq)){ + vo.setFgrwlqr(rwlq.getFgrwlqr()); + vo.setFgrwlqrid(rwlq.getFgrwlqrid()); + vo.setFgrwlqrsfzh(rwlq.getFgrwlqrsfzh()); + vo.setFgrwzt(rwlq.getFgrwzt()); + } + List bxds = this.tbZdyFgbxdMapper.selectList( + new LambdaQueryWrapper() + .eq(TbZdyFgbxd::getFgrwid,query.getFgrwid()) + ); + if(!CollectionUtils.isEmpty(bxds)){ + vo.setBxds(bxds); + } + TbZdxlFgdw tbZdxlFgdw = this.tbZdxlFgdwMapper.selectById(tbZdyFgrw.getFgId()); + TbZdxlFgdwVO fgdwVO = buildAllInfoByEntity(tbZdxlFgdw); + vo.setFgxx(fgdwVO); + return vo; + } + + private TbZdxlFgdwVO buildAllInfoByEntity(TbZdxlFgdw entity){ + if(ObjectUtils.isEmpty(entity)){ + return null; + } + TbZdxlFgdwVO resultVO = BeanUtil.copyProperties(entity, TbZdxlFgdwVO.class); + + //组装方格其他数据 + resultVO.setMc(resultVO.getMc1()); + resultVO.setX1(resultVO.getX11()); + resultVO.setY1(resultVO.getY11()); + resultVO.setX2(resultVO.getX21()); + resultVO.setY2(resultVO.getY21()); + + return resultVO; + } + + @Override + public Boolean getLqrw(TbZdyFgrwlqQuery query) { + UserInfo userInfo = UserInfoManager.get(); + TbZdyFgrw fgrw = this.baseMapper.selectById(query.getFgrwid()); + if(Objects.isNull(fgrw)) throw new BusinessException("方格任务不存在!"); + int num = this.tbZdyFgrwlqMapper.selectCount( + new LambdaQueryWrapper() + .eq(TbZdyFgrwlq::getFgrwlqrid,userInfo.getUserId().toString()) + .eq(TbZdyFgrwlq::getFgrwid,query.getFgrwid()) + ); + if(num>1) throw new BusinessException("方格任务已领取,请勿重复领取!"); + TbZdyFgrwlq rwlq = new TbZdyFgrwlq(); + rwlq.setId(UUIDGenerator.getUUID()); + rwlq.setFgrwzt("02"); + rwlq.setFgrwid(query.getFgrwid()); + rwlq.setFgrwlqrid(userInfo.getUserId().toString()); + rwlq.setFgrwlqrsfzh(userInfo.getIdEntityCard()); + rwlq.setFgrwlqr(userInfo.getUserName()); + rwlq.setRwlqrq(DateUtils.getNowDate()); + this.tbZdyFgrwlqMapper.insert(rwlq); + return true; + } + + @Override + public Map getFgrwDkXq(TbZdyFgrwQuery query) { + Map res = new HashMap<>(); + UserInfo user = UserInfoManager.get(); + TbZdyFgrw fgrw = this.baseMapper.selectById(query.getFgrwid()); + List bxds = this.tbZdyFgbxdMapper.selectList( + new LambdaQueryWrapper() + .eq(TbZdyFgbxd::getFgrwid,query.getFgrwid()) + ); + TbZdxlFgdw tbZdxlFgdw = this.tbZdxlFgdwMapper.selectById(fgrw.getFgId()); + TbZdxlFgdwVO fgdwVO = buildAllInfoByEntity(tbZdxlFgdw); + res.put("fgdwVO",fgdwVO); + res.put("fgrw",fgrw); + List> maps = new ArrayList<>(); + if(!CollectionUtils.isEmpty(bxds)){ + bxds.forEach( bxd ->{ + Map map = new HashMap<>(); + map.put("bxdMc",bxd.getBxdMc()); + TbZdyFgrwlqdk dk = this.tbZdyFgrwlqdkMapper.selectOne( + new LambdaQueryWrapper() + .eq(TbZdyFgrwlqdk::getFgbxdid,bxd.getId()) + .eq(TbZdyFgrwlqdk::getFgrwid,fgrw.getId()) + .eq(TbZdyFgrwlqdk::getDkrid,user.getUserId().toString()) + .orderByDesc(TbZdyFgrwlqdk::getDksj) + ); + if(Objects.nonNull(dk)){ + map.put("fgrwid",bxd.getFgrwid()); + map.put("bxdid",bxd.getId()); + map.put("jw",bxd.getJd()); + map.put("wd",bxd.getWd()); + map.put("dkzt","已打卡"); + map.put("dksj",dk.getDksj()); + map.put("dktp",dk.getDktp()); + }else { + map.put("fgrwid",bxd.getFgrwid()); + map.put("bxdid",bxd.getId()); + map.put("jw",bxd.getJd()); + map.put("wd",bxd.getWd()); + map.put("dkzt","未打卡"); + map.put("dksj",""); + map.put("dktp",""); + } + maps.add(map); + }); + } + res.put("bxds",maps); + return res; + } + + @Override + public Boolean zdyRwdk(TbZdyFgrwDkDto dto) { + UserInfo user = UserInfoManager.get(); + int num = this.tbZdyFgrwlqMapper.selectCount( + new LambdaQueryWrapper() + .eq(TbZdyFgrwlq::getFgrwid,dto.getFgrwid()) + .eq(TbZdyFgrwlq::getFgrwlqrid,user.getUserId().toString()) + ); + if(num ==0 ) throw new BusinessException("您还没有领取该任务!"); + TbZdyFgbxd tbZdyFgbxd = this.tbZdyFgbxdMapper.selectById(dto.getBxdid()); + long jl = PositionUtil.getDistance(dto.getJd().doubleValue(), dto.getWd().doubleValue(),tbZdyFgbxd.getJd().doubleValue(),tbZdyFgbxd.getWd().doubleValue()); + if(jl > 100L) throw new BusinessException("您的位置在卡点100米以外,无法打卡"); + TbZdyFgrwlqdk tbZdyFgrwlqdk = new TbZdyFgrwlqdk(); + BeanUtils.copyProperties(dto,tbZdyFgrwlqdk); + tbZdyFgrwlqdk.setId(UUIDGenerator.getUUID()); + tbZdyFgrwlqdk.setDksj(new Date()); + tbZdyFgrwlqdk.setDkrid(user.getUserId().toString()); + tbZdyFgrwlqdk.setDkr(user.getUserName()); + tbZdyFgrwlqdk.setDarsfzh(user.getIdEntityCard()); + DeptInfoVo dept = this.tbBaseAdaptRemoteService.getOrgByOrgcode(user.getDeptCode()); + if(Objects.nonNull(dept)){ + tbZdyFgrwlqdk.setSsbm(dept.getDeptname()); + tbZdyFgrwlqdk.setSsbmdm(dept.getDeptcode()); + tbZdyFgrwlqdk.setSsxgajdm(dept.getFxjcode()); + tbZdyFgrwlqdk.setSsxgaj(dept.getFxjname()); + tbZdyFgrwlqdk.setSssgaj(dept.getDszname()); + tbZdyFgrwlqdk.setSssgajdm(dept.getDszcode()); + } + this.tbZdyFgrwlqdkMapper.insert(tbZdyFgrwlqdk); + return true; + } +} diff --git a/mosty-yjzl/src/main/java/com/mosty/yjzl/service/TbZdxlFgxlrwService.java b/mosty-yjzl/src/main/java/com/mosty/yjzl/service/TbZdxlFgxlrwService.java index 90226eb..5678cab 100644 --- a/mosty-yjzl/src/main/java/com/mosty/yjzl/service/TbZdxlFgxlrwService.java +++ b/mosty-yjzl/src/main/java/com/mosty/yjzl/service/TbZdxlFgxlrwService.java @@ -2,10 +2,12 @@ package com.mosty.yjzl.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.mosty.base.model.dto.yjzl.TbZdxlFgxlrwUpdateDTO; +import com.mosty.base.model.dto.yjzl.ZdyxlFgxlrwDto; import com.mosty.base.model.entity.yjzl.zddw.TbZdxlFgxlrw; import com.mosty.base.model.entity.yjzl.zddw.TbZdxlFgzdyrw; import com.mosty.base.model.query.yjzl.TbZdxlFgxlrwQuery; import com.mosty.base.model.vo.yjzl.TbZdxlFgxlrwVO; +import org.springframework.web.bind.annotation.RequestBody; import java.util.Date; import java.util.List; @@ -70,27 +72,18 @@ public interface TbZdxlFgxlrwService { */ String updateEntity(TbZdxlFgxlrwUpdateDTO dto); - /** - * 修改列表(修改任务状态为”已导出“) - * @param entityList 实体列表 - * @return 操作数量 - */ int updateListRwZtToYdc(List entityList); - /** - * 导入列表(根据导出的模板) - * @param entityList 实体列表 - * @return 操作数量 - */ int importListByMb(List entityList); int importListByMbZdy(List entityList); - /** - * 下发列表 - * @param entityList 需下发的列表 - * @return 操作条数 - */ int issueList(List entityList); + TbZdxlFgxlrw addZdyxlFgxlrw(ZdyxlFgxlrwDto dto); + + TbZdxlFgxlrw editZdyxlFgxlrw(ZdyxlFgxlrwDto dto); + + Boolean delZdyxlFgxlrw(ZdyxlFgxlrwDto dto); + } diff --git a/mosty-yjzl/src/main/java/com/mosty/yjzl/service/TbZdyFgrwService.java b/mosty-yjzl/src/main/java/com/mosty/yjzl/service/TbZdyFgrwService.java new file mode 100644 index 0000000..fe66298 --- /dev/null +++ b/mosty-yjzl/src/main/java/com/mosty/yjzl/service/TbZdyFgrwService.java @@ -0,0 +1,29 @@ +package com.mosty.yjzl.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.mosty.base.model.dto.yjzl.TbZdyFgrwDkDto; +import com.mosty.base.model.dto.yjzl.TbZdyFgrwDto; +import com.mosty.base.model.query.yjzl.TbZdyFgrwQuery; +import com.mosty.base.model.query.yjzl.TbZdyFgrwlqQuery; +import com.mosty.base.model.vo.yjzl.TbZdyFgrwVO; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; +import java.util.Map; + +public interface TbZdyFgrwService { + + Boolean addTbZdyrw(TbZdyFgrwDto dto); + + IPage selectList(TbZdyFgrwQuery query); + + IPage selectListApp(TbZdyFgrwQuery query); + + TbZdyFgrwVO getFgrwXq(TbZdyFgrwQuery query); + + Boolean getLqrw(TbZdyFgrwlqQuery query); + + Map getFgrwDkXq(TbZdyFgrwQuery query); + + Boolean zdyRwdk(TbZdyFgrwDkDto dto); +} diff --git a/mosty-yjzl/src/main/resources/mapper/TbZdyFgrwMapper.xml b/mosty-yjzl/src/main/resources/mapper/TbZdyFgrwMapper.xml new file mode 100644 index 0000000..aefbd88 --- /dev/null +++ b/mosty-yjzl/src/main/resources/mapper/TbZdyFgrwMapper.xml @@ -0,0 +1,21 @@ + + + + +