自定义发布任务

This commit is contained in:
2026-03-25 10:51:02 +08:00
parent 0f4ce1e145
commit a804bf9625
9 changed files with 154 additions and 15 deletions

View File

@ -33,6 +33,20 @@ public class TbZdyFgrwController {
return ResponseResult.success(tbZdyFgrwService.addTbZdyrw(dto));
}
@ApiOperation(value = "修改自定义任务")
@PostMapping ("/editTbZdyrw")
@JwtSysUser
public ResponseResult<Boolean> editTbZdyrw(@RequestBody TbZdyFgrwDto dto) {
return ResponseResult.success(tbZdyFgrwService.editTbZdyrw(dto));
}
@ApiOperation(value = "删除自定义任务")
@PostMapping ("/delTbZdyrw")
@JwtSysUser
public ResponseResult<Boolean> delTbZdyrw(@RequestBody TbZdyFgrwDto dto) {
return ResponseResult.success(tbZdyFgrwService.delTbZdyrw(dto));
}
@ApiOperation(value = "查询列表")
@GetMapping("/selectList")
@JwtSysUser

View File

@ -2,6 +2,7 @@ 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.qwzx.TbQwXfbb;
import com.mosty.base.model.entity.yjzl.zddw.TbZdyFgrw;
import com.mosty.base.model.query.yjzl.TbZdyFgrwQuery;
import org.apache.ibatis.annotations.Mapper;
@ -11,4 +12,6 @@ import org.apache.ibatis.annotations.Param;
public interface TbZdyFgrwMapper extends BaseMapper<TbZdyFgrw> {
IPage<TbZdyFgrw> getLqfgrw(@Param("page") IPage<TbZdyFgrw> page, @Param("dto")TbZdyFgrwQuery dto);
TbQwXfbb selectXfbbByFzrSfzh(String sfzh,String xfrq);
}

View File

@ -8,6 +8,7 @@ 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.qwzx.TbQwXfbb;
import com.mosty.base.model.entity.yjzl.zddw.*;
import com.mosty.base.model.query.yjzl.TbZdyFgrwQuery;
import com.mosty.base.model.query.yjzl.TbZdyFgrwlqQuery;
@ -15,12 +16,12 @@ 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.remote.TbQwzxAdaptRemoteService;
import com.mosty.yjzl.service.TbZdyFgrwService;
import lombok.AllArgsConstructor;
import org.apache.commons.lang3.ObjectUtils;
@ -41,12 +42,14 @@ public class TbZdyFgrwServiceImpl extends ServiceImpl<TbZdyFgrwMapper, TbZdyFgrw
private final TbZdyFgbxdMapper tbZdyFgbxdMapper;
private final TbZdxlFgdwMapper tbZdxlFgdwMapper;
private final TbZdyFgrwlqdkMapper tbZdyFgrwlqdkMapper;
private final TbQwzxAdaptRemoteService tbQwzxAdaptRemoteService;
@Override
public Boolean addTbZdyrw(TbZdyFgrwDto dto) {
UserInfo user = UserInfoManager.get();
TbZdyFgrw fgrw = new TbZdyFgrw();
BeanUtils.copyProperties(dto,fgrw);
fgrw.setId(UUIDGenerator.getUUID());
fgrw.setFgrwzt("01");
if(Objects.isNull(dto.getXfrq())){
fgrw.setXfrq(new Date());
}
@ -81,6 +84,54 @@ public class TbZdyFgrwServiceImpl extends ServiceImpl<TbZdyFgrwMapper, TbZdyFgrw
return true;
}
@Override
public Boolean editTbZdyrw(TbZdyFgrwDto dto) {
UserInfo user = UserInfoManager.get();
TbZdyFgrw fgrw = new TbZdyFgrw();
BeanUtils.copyProperties(dto,fgrw);
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.updateById(fgrw);
this.tbZdyFgbxdMapper.delete(
new LambdaQueryWrapper<TbZdyFgbxd>()
.eq(TbZdyFgbxd::getFgrwid,fgrw.getId())
);
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 Boolean delTbZdyrw(TbZdyFgrwDto dto) {
return this.baseMapper.deleteById(dto.getId()) > 0;
}
@Override
public IPage<TbZdyFgrwVO> selectList(TbZdyFgrwQuery query) {
UserInfo userInfo = UserInfoManager.get();
@ -91,6 +142,7 @@ public class TbZdyFgrwServiceImpl extends ServiceImpl<TbZdyFgrwMapper, 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(StringUtils.isNotEmpty(query.getFgrwzt()),TbZdyFgrw::getFgrwzt,query.getFgrwzt())
.orderByDesc(TbZdyFgrw::getXfrq)
);
List<TbZdyFgrwVO> voList = new ArrayList<>();
@ -104,7 +156,7 @@ public class TbZdyFgrwServiceImpl extends ServiceImpl<TbZdyFgrwMapper, TbZdyFgrw
);
TbZdyFgrwVO vo = new TbZdyFgrwVO();
BeanUtils.copyProperties(tbZdyFgrw,vo);
vo.setFgrwzt("01");
vo.setFgrwzt(tbZdyFgrw.getFgrwzt());
if(Objects.nonNull(rwlq)){
vo.setFgrwlqr(rwlq.getFgrwlqr());
vo.setFgrwlqrid(rwlq.getFgrwlqrid());
@ -126,12 +178,12 @@ public class TbZdyFgrwServiceImpl extends ServiceImpl<TbZdyFgrwMapper, TbZdyFgrw
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());
// 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()),
@ -140,10 +192,11 @@ public class TbZdyFgrwServiceImpl extends ServiceImpl<TbZdyFgrwMapper, TbZdyFgrw
.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)
.eq(TbZdyFgrw::getFgrwzt,"01")
// .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);
@ -199,7 +252,40 @@ public class TbZdyFgrwServiceImpl extends ServiceImpl<TbZdyFgrwMapper, TbZdyFgrw
.eq(TbZdyFgbxd::getFgrwid,query.getFgrwid())
);
if(!CollectionUtils.isEmpty(bxds)){
vo.setBxds(bxds);
List<Map<String,Object>> bxddks = new ArrayList<>();
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,tbZdyFgrw.getId())
.eq(TbZdyFgrwlqdk::getDkrid,userInfo.getUserId().toString())
.orderByDesc(TbZdyFgrwlqdk::getDksj)
.last(" limit 1 ")
);
if(Objects.nonNull(dk)){
map.put("fgrwid",bxd.getFgrwid());
map.put("bxdid",bxd.getId());
map.put("bxdMc",bxd.getBxdMc());
map.put("jd",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("bxdMc",bxd.getBxdMc());
map.put("jd",bxd.getJd());
map.put("wd",bxd.getWd());
map.put("dkzt","未打卡");
map.put("dksj","");
map.put("dktp","");
}
bxddks.add(map);
});
vo.setBxds(bxddks);
}
TbZdxlFgdw tbZdxlFgdw = this.tbZdxlFgdwMapper.selectById(tbZdyFgrw.getFgId());
TbZdxlFgdwVO fgdwVO = buildAllInfoByEntity(tbZdxlFgdw);
@ -226,8 +312,12 @@ public class TbZdyFgrwServiceImpl extends ServiceImpl<TbZdyFgrwMapper, TbZdyFgrw
@Override
public Boolean getLqrw(TbZdyFgrwlqQuery query) {
UserInfo userInfo = UserInfoManager.get();
TbQwXfbb tbQwXfbb = this.baseMapper.selectXfbbByFzrSfzh(userInfo.getIdEntityCard(),DateUtils.getNowDate());
if(Objects.isNull(tbQwXfbb)) throw new BusinessException("请先报备,再领取!");
TbZdyFgrw fgrw = this.baseMapper.selectById(query.getFgrwid());
if(Objects.isNull(fgrw)) throw new BusinessException("方格任务不存在!");
fgrw.setFgrwzt("02");
this.baseMapper.updateById(fgrw);
int num = this.tbZdyFgrwlqMapper.selectCount(
new LambdaQueryWrapper<TbZdyFgrwlq>()
.eq(TbZdyFgrwlq::getFgrwlqrid,userInfo.getUserId().toString())
@ -270,11 +360,12 @@ public class TbZdyFgrwServiceImpl extends ServiceImpl<TbZdyFgrwMapper, TbZdyFgrw
.eq(TbZdyFgrwlqdk::getFgrwid,fgrw.getId())
.eq(TbZdyFgrwlqdk::getDkrid,user.getUserId().toString())
.orderByDesc(TbZdyFgrwlqdk::getDksj)
.last(" limit 1 ")
);
if(Objects.nonNull(dk)){
map.put("fgrwid",bxd.getFgrwid());
map.put("bxdid",bxd.getId());
map.put("jw",bxd.getJd());
map.put("jd",bxd.getJd());
map.put("wd",bxd.getWd());
map.put("dkzt","已打卡");
map.put("dksj",dk.getDksj());
@ -282,7 +373,7 @@ public class TbZdyFgrwServiceImpl extends ServiceImpl<TbZdyFgrwMapper, TbZdyFgrw
}else {
map.put("fgrwid",bxd.getFgrwid());
map.put("bxdid",bxd.getId());
map.put("jw",bxd.getJd());
map.put("jd",bxd.getJd());
map.put("wd",bxd.getWd());
map.put("dkzt","未打卡");
map.put("dksj","");
@ -292,6 +383,19 @@ public class TbZdyFgrwServiceImpl extends ServiceImpl<TbZdyFgrwMapper, TbZdyFgrw
});
}
res.put("bxds",maps);
//最新打卡时间
TbZdyFgrwlqdk zxdk = this.tbZdyFgrwlqdkMapper.selectOne(
new LambdaQueryWrapper<TbZdyFgrwlqdk>()
.eq(TbZdyFgrwlqdk::getFgrwid,fgrw.getId())
.eq(TbZdyFgrwlqdk::getDkrid,user.getUserId().toString())
.orderByDesc(TbZdyFgrwlqdk::getDksj)
.last(" limit 1 ")
);
if(Objects.nonNull(zxdk)){
res.put("zxdksj",zxdk.getDksj());
}else{
res.put("zxdksj","");
}
return res;
}
@ -314,6 +418,7 @@ public class TbZdyFgrwServiceImpl extends ServiceImpl<TbZdyFgrwMapper, TbZdyFgrw
tbZdyFgrwlqdk.setDkrid(user.getUserId().toString());
tbZdyFgrwlqdk.setDkr(user.getUserName());
tbZdyFgrwlqdk.setDarsfzh(user.getIdEntityCard());
tbZdyFgrwlqdk.setFgbxdid(dto.getBxdid());
DeptInfoVo dept = this.tbBaseAdaptRemoteService.getOrgByOrgcode(user.getDeptCode());
if(Objects.nonNull(dept)){
tbZdyFgrwlqdk.setSsbm(dept.getDeptname());

View File

@ -15,6 +15,10 @@ public interface TbZdyFgrwService {
Boolean addTbZdyrw(TbZdyFgrwDto dto);
Boolean editTbZdyrw(TbZdyFgrwDto dto);
Boolean delTbZdyrw(TbZdyFgrwDto dto);
IPage<TbZdyFgrwVO> selectList(TbZdyFgrwQuery query);
IPage<TbZdyFgrwVO> selectListApp(TbZdyFgrwQuery query);

View File

@ -18,4 +18,10 @@
</if>
order by fgrw.xfrq desc
</select>
<select id="selectXfbbByFzrSfzh" resultType="com.mosty.base.model.entity.qwzx.TbQwXfbb">
SELECT * FROM mosty_qwgl.tb_qw_xfbb xfbb WHERE xfbb.xt_scbz = '0'
AND xfbb.fzr_sfzh = #{sfzh} AND xfbb.xfrq = #{xfrq} AND xfbb.bbzt='0'
</select>
</mapper>