自定义发布任务

This commit is contained in:
2026-03-17 18:04:02 +08:00
parent 37aa538623
commit 0f4ce1e145
26 changed files with 1204 additions and 16 deletions

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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<TbZdyFgbxdDto> dtoList;
}

View File

@ -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;
}

View File

@ -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<ZdxlFgdwBddDto> bddDtos;
}

View File

@ -42,7 +42,7 @@ public class TbZdxlFgxlrw extends BaseEntity implements Serializable, Cloneable
@Excel(name = "主键ID", sort = 1) @Excel(name = "主键ID", sort = 1)
private String id; private String id;
@ApiModelProperty(value = "任务类型 D_BZ_RWBLX 1日常 2自定义") @ApiModelProperty(value = "任务类型 D_BZ_RWBLX 1日常 2自定义 3下发")
@TableField(value = "rwlx") @TableField(value = "rwlx")
private String rwlx; private String rwlx;
@ -143,6 +143,11 @@ public class TbZdxlFgxlrw extends BaseEntity implements Serializable, Cloneable
@Excel(name = "任务状态", sort = 12) @Excel(name = "任务状态", sort = 12)
private String rwZt; private String rwZt;
@ApiModelProperty(value = "任务状态 D_BZ_QWRWZT")
@TableField(value = "rw_lq_zt")
@Excel(name = "任务领取状态", sort = 12)
private String rwLqZt;
/** /**
* 巡逻规划时长(分钟) * 巡逻规划时长(分钟)
*/ */

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -1,7 +1,9 @@
package com.mosty.base.model.query.yjzl; package com.mosty.base.model.query.yjzl;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.mosty.base.model.BasePage; import com.mosty.base.model.BasePage;
import com.mosty.common.base.entity.log.Excel;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@ -64,6 +66,9 @@ public class TbZdxlFgxlrwQuery extends BasePage {
@ApiModelProperty(value = "任务状态 D_ZDXL_FGXLRW_RWZT") @ApiModelProperty(value = "任务状态 D_ZDXL_FGXLRW_RWZT")
private String rwZt; private String rwZt;
@ApiModelProperty(value = "任务状态 D_BZ_QWRWZT")
private String rwLqZt;
@ApiModelProperty(value = "任务标题") @ApiModelProperty(value = "任务标题")
private String fgRwbt; private String fgRwbt;

View File

@ -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;
}

View File

@ -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;
}

View File

@ -97,4 +97,7 @@ public class TbZdxlFgxlrwVO extends TbZdxlFgxlrw {
@ApiModelProperty(value = "巡防报备勤务警力信息") @ApiModelProperty(value = "巡防报备勤务警力信息")
private TbQwJl xfbbQwJl; private TbQwJl xfbbQwJl;
@ApiModelProperty(value = "任务状态 D_BZ_QWRWZT")
private String rwLqZt;
} }

View File

@ -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<TbZdyFgbxd> bxds;
}

View File

@ -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.TbZdxlFgxlrwCreateDTO;
import com.mosty.base.model.dto.yjzl.TbZdxlFgxlrwIssueDTO; import com.mosty.base.model.dto.yjzl.TbZdxlFgxlrwIssueDTO;
import com.mosty.base.model.dto.yjzl.TbZdxlFgxlrwUpdateDTO; 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.TbZdxlFgxlrw;
import com.mosty.base.model.entity.yjzl.zddw.TbZdxlFgzdyrw; import com.mosty.base.model.entity.yjzl.zddw.TbZdxlFgzdyrw;
import com.mosty.base.model.query.yjzl.TbZdxlFgxlrwQuery; import com.mosty.base.model.query.yjzl.TbZdxlFgxlrwQuery;
@ -256,4 +257,25 @@ public class TbZdxlFgxlrwController {
} }
} }
@ApiOperation(value = "添加自定义巡逻任务")
@PostMapping("addZdyxlFgxlrw")
@JwtSysUser
public ResponseResult<TbZdxlFgxlrw> addZdyxlFgxlrw(@RequestBody ZdyxlFgxlrwDto dto){
return ResponseResult.success(tbZdxlFgxlrwService.addZdyxlFgxlrw(dto));
}
@ApiOperation(value = "修改自定义巡逻任务")
@PostMapping("editZdyxlFgxlrw")
@JwtSysUser
public ResponseResult<TbZdxlFgxlrw> editZdyxlFgxlrw(@RequestBody ZdyxlFgxlrwDto dto){
return ResponseResult.success(tbZdxlFgxlrwService.editZdyxlFgxlrw(dto));
}
@ApiOperation(value = "添加自定义巡逻任务")
@PostMapping("delZdyxlFgxlrw")
@JwtSysUser
public ResponseResult<Boolean> delZdyxlFgxlrw(@RequestBody ZdyxlFgxlrwDto dto){
return ResponseResult.success(tbZdxlFgxlrwService.delZdyxlFgxlrw(dto));
}
} }

View File

@ -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<Boolean> addTbZdyrw(@RequestBody TbZdyFgrwDto dto) {
return ResponseResult.success(tbZdyFgrwService.addTbZdyrw(dto));
}
@ApiOperation(value = "查询列表")
@GetMapping("/selectList")
@JwtSysUser
public ResponseResult<IPage<TbZdyFgrwVO>> selectList(TbZdyFgrwQuery query) {
return ResponseResult.success(tbZdyFgrwService.selectList(query));
}
@ApiOperation(value = "app查询列表")
@GetMapping("/selectListApp")
@JwtSysUser
public ResponseResult<IPage<TbZdyFgrwVO>> selectListApp(TbZdyFgrwQuery query) {
return ResponseResult.success(tbZdyFgrwService.selectListApp(query));
}
@ApiOperation(value = "任务详情")
@GetMapping("/getFgrwXq")
@JwtSysUser
public ResponseResult<TbZdyFgrwVO> getFgrwXq(TbZdyFgrwQuery query) {
return ResponseResult.success(tbZdyFgrwService.getFgrwXq(query));
}
@ApiOperation(value = "领取任务")
@GetMapping("/getLqrw")
@JwtSysUser
public ResponseResult<Boolean> getLqrw(TbZdyFgrwlqQuery query) {
return ResponseResult.success(tbZdyFgrwService.getLqrw(query));
}
@ApiOperation(value = "任务打卡详情")
@GetMapping("/getFgrwDkXq")
@JwtSysUser
public ResponseResult<Map<String,Object>> getFgrwDkXq(TbZdyFgrwQuery query) {
return ResponseResult.success(tbZdyFgrwService.getFgrwDkXq(query));
}
@ApiOperation(value = "自定义任务打卡")
@PostMapping ("/zdyRwdk")
@JwtSysUser
public ResponseResult<Boolean> zdyRwdk(@RequestBody TbZdyFgrwDkDto dto) {
return ResponseResult.success(tbZdyFgrwService.zdyRwdk(dto));
}
}

View File

@ -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<TbZdyFgbxd> {
}

View File

@ -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<TbZdyFgrw> {
IPage<TbZdyFgrw> getLqfgrw(@Param("page") IPage<TbZdyFgrw> page, @Param("dto")TbZdyFgrwQuery dto);
}

View File

@ -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<TbZdyFgrwlq> {
}

View File

@ -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<TbZdyFgrwlqdk> {
}

View File

@ -1,6 +1,7 @@
package com.mosty.yjzl.service.Impl; package com.mosty.yjzl.service.Impl;
import cn.hutool.core.bean.BeanUtil; 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.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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.feign.remote.MostyQwzxFeignServiceRemote;
import com.mosty.base.model.dto.qwzx.TbQwXfbbVo; import com.mosty.base.model.dto.qwzx.TbQwXfbbVo;
import com.mosty.base.model.dto.yjzl.TbZdxlFgxlrwUpdateDTO; 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.TbQwJl;
import com.mosty.base.model.entity.qwzx.TbQwXfbb; import com.mosty.base.model.entity.qwzx.TbQwXfbb;
import com.mosty.base.model.entity.yjzl.zddw.*; import com.mosty.base.model.entity.yjzl.zddw.*;
@ -66,6 +68,11 @@ public class TbZdxlFgxlrwServiceImpl extends ServiceImpl<TbZdxlFgxlrwMapper, TbZ
*/ */
private final TbZdxlFgdwBddxlrwJlService tbZdxlFgdwBddxlrwJlService; private final TbZdxlFgdwBddxlrwJlService tbZdxlFgdwBddxlrwJlService;
private final TbZdxlFgxlrwMapper tbZdxlFgxlrwMapper;
private final TbZdxlFgdwBddMapper tbZdxlFgdwBddMapper;
private final TbZdxlFgdwBddxlrwMapper tbZdxlFgdwBddxlrwMapper;
@Override @Override
public TbZdxlFgxlrw selectById(String id) { public TbZdxlFgxlrw selectById(String id) {
if(StringUtils.isBlank(id)){ if(StringUtils.isBlank(id)){
@ -377,6 +384,101 @@ public class TbZdxlFgxlrwServiceImpl extends ServiceImpl<TbZdxlFgxlrwMapper, TbZ
return 0; return 0;
} }
@Override
public TbZdxlFgxlrw addZdyxlFgxlrw(ZdyxlFgxlrwDto dto) {
if(CollectionUtils.isNotEmpty(dto.getBddDtos())){
List<String> 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<TbZdxlFgdwBddxlrw> fgbddrws = this.tbZdxlFgdwBddxlrwMapper.selectList(
new LambdaQueryWrapper<TbZdxlFgdwBddxlrw>()
.eq(TbZdxlFgdwBddxlrw::getFgxlrwId,tbZdxlFgxlrw.getId())
);
List<String> bddIdList = fgbddrws.stream().map(TbZdxlFgdwBddxlrw::getBddId).collect(Collectors.toList());
this.tbZdxlFgdwBddMapper.deleteBatchIds(bddIdList);
tbZdxlFgdwBddxlrwMapper.delete(
new LambdaQueryWrapper<TbZdxlFgdwBddxlrw>()
.eq(TbZdxlFgdwBddxlrw::getFgxlrwId,tbZdxlFgxlrw.getId())
);
if(CollectionUtils.isNotEmpty(dto.getBddDtos())){
List<String> 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 * @param qw QueryWrapper

View File

@ -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<TbZdyFgrwMapper, TbZdyFgrw> 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<TbZdyFgrwVO> selectList(TbZdyFgrwQuery query) {
UserInfo userInfo = UserInfoManager.get();
query.setSsbmdm(this.tbBaseAdaptRemoteService.getSsbm(query.getSsbmdm(), null));
IPage<TbZdyFgrw> page = this.baseMapper.selectPage(
new Page<>(query.getPageCurrent(),query.getPageSize()),
new LambdaQueryWrapper<TbZdyFgrw>()
.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<TbZdyFgrwVO> voList = new ArrayList<>();
if(!CollectionUtils.isEmpty(page.getRecords())){
page.getRecords().forEach(tbZdyFgrw -> {
TbZdyFgrwlq rwlq = this.tbZdyFgrwlqMapper.selectOne(
new LambdaQueryWrapper<TbZdyFgrwlq>()
.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<TbZdyFgrwVO> pageVo = new Page<>(page.getCurrent(),page.getSize());
pageVo.setTotal(page.getTotal());
pageVo.setRecords(voList);
return pageVo;
}
@Override
public IPage<TbZdyFgrwVO> selectListApp(TbZdyFgrwQuery query) {
UserInfo userInfo = UserInfoManager.get();
query.setFgrwlqrid(userInfo.getUserId().toString());
query.setSsbmdm(this.tbBaseAdaptRemoteService.getSsbm(query.getSsbmdm(), null));
//今日已领取任务
List<TbZdyFgrwlq> mylqs = this.tbZdyFgrwlqMapper.selectList(
new LambdaQueryWrapper<TbZdyFgrwlq>()
.eq(TbZdyFgrwlq::getFgrwlqrid,userInfo.getUserId().toString())
.eq(TbZdyFgrwlq::getRwlqrq,DateUtils.getNowDate())
);
List<String> ids = mylqs.stream().map(TbZdyFgrwlq::getFgrwid).collect(Collectors.toList());
//今日待领取任务
IPage<TbZdyFgrw> page = this.baseMapper.selectPage(
new Page<>(query.getPageCurrent(),query.getPageSize()),
new LambdaQueryWrapper<TbZdyFgrw>()
.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<TbZdyFgrw> pageDto = PageUtils.buildPage(query.getPageSize(),query.getPageCurrent());
page = this.baseMapper.getLqfgrw(pageDto,query);
}
List<TbZdyFgrwVO> voList = new ArrayList<>();
if(!CollectionUtils.isEmpty(page.getRecords())){
page.getRecords().forEach(tbZdyFgrw -> {
TbZdyFgrwlq rwlq = this.tbZdyFgrwlqMapper.selectOne(
new LambdaQueryWrapper<TbZdyFgrwlq>()
.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<TbZdyFgrwVO> 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<TbZdyFgrwlq>()
.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<TbZdyFgbxd> bxds = this.tbZdyFgbxdMapper.selectList(
new LambdaQueryWrapper<TbZdyFgbxd>()
.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<TbZdyFgrwlq>()
.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<String, Object> getFgrwDkXq(TbZdyFgrwQuery query) {
Map<String, Object> res = new HashMap<>();
UserInfo user = UserInfoManager.get();
TbZdyFgrw fgrw = this.baseMapper.selectById(query.getFgrwid());
List<TbZdyFgbxd> bxds = this.tbZdyFgbxdMapper.selectList(
new LambdaQueryWrapper<TbZdyFgbxd>()
.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<Map<String,Object>> maps = new ArrayList<>();
if(!CollectionUtils.isEmpty(bxds)){
bxds.forEach( bxd ->{
Map<String, Object> map = new HashMap<>();
map.put("bxdMc",bxd.getBxdMc());
TbZdyFgrwlqdk dk = this.tbZdyFgrwlqdkMapper.selectOne(
new LambdaQueryWrapper<TbZdyFgrwlqdk>()
.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<TbZdyFgrwlq>()
.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;
}
}

View File

@ -2,10 +2,12 @@ package com.mosty.yjzl.service;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.mosty.base.model.dto.yjzl.TbZdxlFgxlrwUpdateDTO; 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.TbZdxlFgxlrw;
import com.mosty.base.model.entity.yjzl.zddw.TbZdxlFgzdyrw; import com.mosty.base.model.entity.yjzl.zddw.TbZdxlFgzdyrw;
import com.mosty.base.model.query.yjzl.TbZdxlFgxlrwQuery; import com.mosty.base.model.query.yjzl.TbZdxlFgxlrwQuery;
import com.mosty.base.model.vo.yjzl.TbZdxlFgxlrwVO; import com.mosty.base.model.vo.yjzl.TbZdxlFgxlrwVO;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -70,27 +72,18 @@ public interface TbZdxlFgxlrwService {
*/ */
String updateEntity(TbZdxlFgxlrwUpdateDTO dto); String updateEntity(TbZdxlFgxlrwUpdateDTO dto);
/**
* 修改列表(修改任务状态为”已导出“)
* @param entityList 实体列表
* @return 操作数量
*/
int updateListRwZtToYdc(List<TbZdxlFgxlrw> entityList); int updateListRwZtToYdc(List<TbZdxlFgxlrw> entityList);
/**
* 导入列表(根据导出的模板)
* @param entityList 实体列表
* @return 操作数量
*/
int importListByMb(List<TbZdxlFgxlrw> entityList); int importListByMb(List<TbZdxlFgxlrw> entityList);
int importListByMbZdy(List<TbZdxlFgzdyrw> entityList); int importListByMbZdy(List<TbZdxlFgzdyrw> entityList);
/**
* 下发列表
* @param entityList 需下发的列表
* @return 操作条数
*/
int issueList(List<TbZdxlFgxlrw> entityList); int issueList(List<TbZdxlFgxlrw> entityList);
TbZdxlFgxlrw addZdyxlFgxlrw(ZdyxlFgxlrwDto dto);
TbZdxlFgxlrw editZdyxlFgxlrw(ZdyxlFgxlrwDto dto);
Boolean delZdyxlFgxlrw(ZdyxlFgxlrwDto dto);
} }

View File

@ -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<TbZdyFgrwVO> selectList(TbZdyFgrwQuery query);
IPage<TbZdyFgrwVO> selectListApp(TbZdyFgrwQuery query);
TbZdyFgrwVO getFgrwXq(TbZdyFgrwQuery query);
Boolean getLqrw(TbZdyFgrwlqQuery query);
Map<String,Object> getFgrwDkXq(TbZdyFgrwQuery query);
Boolean zdyRwdk(TbZdyFgrwDkDto dto);
}

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mosty.yjzl.mapper.TbZdyFgrwMapper">
<select id="getLqfgrw" resultType="com.mosty.base.model.entity.yjzl.zddw.TbZdyFgrw">
SELECT fgrw.* FROM tb_zdy_fgrwlq rwlq LEFT JOIN tb_zdy_fgrw fgrw ON rwlq.fgrwid = fgrw.id
where fgrw.xt_scbz = '0'
<if test="dto.fgRwmc != null and dto.fgRwmc != ''">
and fgrw.fg_rwmc like concat('%',#{dto.fgRwmc},'%')
</if>
<if test="dto.ssbmdm != null and dto.ssbmdm != ''">
and fgrw.ssbmdm like concat(#{dto.ssbmdm},'%')
</if>
<if test="dto.xfbmdm != null and dto.xfbmdm != ''">
and fgrw.xfbmdm like concat(#{dto.xfbmdm},'%')
</if>
<if test="dto.fgrwlqrid != null and dto.fgrwlqrid != ''">
and rwlq.fgrwlqrid = #{dto.fgrwlqrid}
</if>
order by fgrw.xfrq desc
</select>
</mapper>