@ -8,12 +8,19 @@ 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.dto.yjzl.TbZdyFgrwLkDto ;
import com.mosty.base.model.entity.qwzx.TbQwXfbb ;
import com.mosty.base.model.entity.yjzl.zddw.* ;
import com.mosty.base.model.entity.yjzl.zddw.TbZdyFgbxd ;
import com.mosty.base.model.entity.yjzl.zddw.TbZdyFgrw ;
import com.mosty.base.model.entity.yjzl.zddw.TbZdyFgrwlq ;
import com.mosty.base.model.entity.yjzl.zddw.TbZdyFgrwlqdk ;
import com.mosty.base.model.entity.yjzl.zddw.TbZdxlFgdw ;
import com.mosty.base.model.query.yjzl.TbZdyFgrwlqdkQuery ;
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.TbZdyFgrwlqdkVO ;
import com.mosty.base.model.vo.yjzl.TbZdyFgrwVO ;
import com.mosty.base.utils.* ;
import com.mosty.common.base.exception.BusinessException ;
@ -43,27 +50,28 @@ public class TbZdyFgrwServiceImpl extends ServiceImpl<TbZdyFgrwMapper, TbZdyFgrw
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 ) ;
BeanUtils . copyProperties ( dto , fgrw ) ;
fgrw . setId ( UUIDGenerator . getUUID ( ) ) ;
fgrw . setFgrwzt ( " 01 " ) ;
if ( Objects . isNull ( dto . getXfrq ( ) ) ) {
if ( Objects . isNull ( dto . getXfrq ( ) ) ) {
fgrw . setXfrq ( new Date ( ) ) ;
}
TbZdxlFgdw tbZdxlFgdw = this . tbZdxlFgdwMapper . selectById ( dto . getFgId ( ) ) ;
if ( Objects . nonNull ( tbZdxlFgdw ) ) {
if ( Objects . nonNull ( tbZdxlFgdw ) ) {
fgrw . setFgmc ( tbZdxlFgdw . getMc1 ( ) ) ;
fgrw . setXfbm ( tbZdxlFgdw . getSsbm ( ) ) ;
fgrw . setXfbmdm ( tbZdxlFgdw . getSsbmdm ( ) ) ;
}
if ( StringUtils . isEmpty ( dto . getSsbmdm ( ) ) ) {
if ( StringUtils . isEmpty ( dto . getSsbmdm ( ) ) ) {
dto . setSsbmdm ( user . getDeptCode ( ) ) ;
}
DeptInfoVo dept = this . tbBaseAdaptRemoteService . getOrgByOrgcode ( dto . getSsbmdm ( ) ) ;
if ( Objects . nonNull ( dept ) ) {
if ( Objects . nonNull ( dept ) ) {
fgrw . setSsbm ( dept . getDeptname ( ) ) ;
fgrw . setSsbmdm ( dept . getDeptcode ( ) ) ;
fgrw . setSsxgajdm ( dept . getFxjcode ( ) ) ;
@ -72,10 +80,10 @@ public class TbZdyFgrwServiceImpl extends ServiceImpl<TbZdyFgrwMapper, TbZdyFgrw
fgrw . setSssgajdm ( dept . getDszcode ( ) ) ;
}
this . baseMapper . insert ( fgrw ) ;
if ( ! CollectionUtils . isEmpty ( dto . getDtoList ( ) ) ) {
if ( ! CollectionUtils . isEmpty ( dto . getDtoList ( ) ) ) {
dto . getDtoList ( ) . forEach ( tbZdyFgbxdDto - > {
TbZdyFgbxd bxd = new TbZdyFgbxd ( ) ;
BeanUtils . copyProperties ( tbZdyFgbxdDto , bxd ) ;
BeanUtils . copyProperties ( tbZdyFgbxdDto , bxd ) ;
bxd . setId ( UUIDGenerator . getUUID ( ) ) ;
bxd . setFgrwid ( fgrw . getId ( ) ) ;
this . tbZdyFgbxdMapper . insert ( bxd ) ;
@ -88,21 +96,21 @@ public class TbZdyFgrwServiceImpl extends ServiceImpl<TbZdyFgrwMapper, TbZdyFgrw
public Boolean editTbZdyrw ( TbZdyFgrwDto dto ) {
UserInfo user = UserInfoManager . get ( ) ;
TbZdyFgrw fgrw = new TbZdyFgrw ( ) ;
BeanUtils . copyProperties ( dto , fgrw ) ;
if ( Objects . isNull ( dto . getXfrq ( ) ) ) {
BeanUtils . copyProperties ( dto , fgrw ) ;
if ( Objects . isNull ( dto . getXfrq ( ) ) ) {
fgrw . setXfrq ( new Date ( ) ) ;
}
TbZdxlFgdw tbZdxlFgdw = this . tbZdxlFgdwMapper . selectById ( dto . getFgId ( ) ) ;
if ( Objects . nonNull ( tbZdxlFgdw ) ) {
if ( Objects . nonNull ( tbZdxlFgdw ) ) {
fgrw . setFgmc ( tbZdxlFgdw . getMc1 ( ) ) ;
fgrw . setXfbm ( tbZdxlFgdw . getSsbm ( ) ) ;
fgrw . setXfbmdm ( tbZdxlFgdw . getSsbmdm ( ) ) ;
}
if ( StringUtils . isEmpty ( dto . getSsbmdm ( ) ) ) {
if ( StringUtils . isEmpty ( dto . getSsbmdm ( ) ) ) {
dto . setSsbmdm ( user . getDeptCode ( ) ) ;
}
DeptInfoVo dept = this . tbBaseAdaptRemoteService . getOrgByOrgcode ( dto . getSsbmdm ( ) ) ;
if ( Objects . nonNull ( dept ) ) {
if ( Objects . nonNull ( dept ) ) {
fgrw . setSsbm ( dept . getDeptname ( ) ) ;
fgrw . setSsbmdm ( dept . getDeptcode ( ) ) ;
fgrw . setSsxgajdm ( dept . getFxjcode ( ) ) ;
@ -113,12 +121,12 @@ public class TbZdyFgrwServiceImpl extends ServiceImpl<TbZdyFgrwMapper, TbZdyFgrw
this . baseMapper . updateById ( fgrw ) ;
this . tbZdyFgbxdMapper . delete (
new LambdaQueryWrapper < TbZdyFgbxd > ( )
. eq ( TbZdyFgbxd : : getFgrwid , fgrw . getId ( ) )
. eq ( TbZdyFgbxd : : getFgrwid , fgrw . getId ( ) )
) ;
if ( ! CollectionUtils . isEmpty ( dto . getDtoList ( ) ) ) {
if ( ! CollectionUtils . isEmpty ( dto . getDtoList ( ) ) ) {
dto . getDtoList ( ) . forEach ( tbZdyFgbxdDto - > {
TbZdyFgbxd bxd = new TbZdyFgbxd ( ) ;
BeanUtils . copyProperties ( tbZdyFgbxdDto , bxd ) ;
BeanUtils . copyProperties ( tbZdyFgbxdDto , bxd ) ;
bxd . setId ( UUIDGenerator . getUUID ( ) ) ;
bxd . setFgrwid ( fgrw . getId ( ) ) ;
this . tbZdyFgbxdMapper . insert ( bxd ) ;
@ -137,27 +145,27 @@ public class TbZdyFgrwServiceImpl extends ServiceImpl<TbZdyFgrwMapper, TbZdyFgrw
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 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 ( StringUtils . isNotEmpty ( query . getFgrwzt ( ) ) , TbZdyFgrw : : getFgrwzt , query . getFgrwzt ( ) )
. orderByDesc ( TbZdyFgrw : : getXfrq )
. 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 : : getXtCjsj )
) ;
List < TbZdyFgrwVO > voList = new ArrayList < > ( ) ;
if ( ! CollectionUtils . isEmpty ( page . getRecords ( ) ) ) {
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( ) )
. eq ( TbZdyFgrwlq : : getFgrwid , tbZdyFgrw . getId ( ) )
// .eq( TbZdyFgrwlq:: getFgrwlqrid, userInfo. getUserId() )
. last ( " limit 1 " )
) ;
TbZdyFgrwVO vo = new TbZdyFgrwVO ( ) ;
BeanUtils . copyProperties ( tbZdyFgrw , vo ) ;
BeanUtils . copyProperties ( tbZdyFgrw , vo ) ;
vo . setFgrwzt ( tbZdyFgrw . getFgrwzt ( ) ) ;
if ( Objects . nonNull ( rwlq ) ) {
if ( Objects . nonNull ( rwlq ) ) {
vo . setFgrwlqr ( rwlq . getFgrwlqr ( ) ) ;
vo . setFgrwlqrid ( rwlq . getFgrwlqrid ( ) ) ;
vo . setFgrwlqrsfzh ( rwlq . getFgrwlqrsfzh ( ) ) ;
@ -166,7 +174,7 @@ public class TbZdyFgrwServiceImpl extends ServiceImpl<TbZdyFgrwMapper, TbZdyFgrw
voList . add ( vo ) ;
} ) ;
}
IPage < TbZdyFgrwVO > pageVo = new Page < > ( page . getCurrent ( ) , page . getSize ( ) ) ;
IPage < TbZdyFgrwVO > pageVo = new Page < > ( page . getCurrent ( ) , page . getSize ( ) ) ;
pageVo . setTotal ( page . getTotal ( ) ) ;
pageVo . setRecords ( voList ) ;
return pageVo ;
@ -185,35 +193,37 @@ public class TbZdyFgrwServiceImpl extends ServiceImpl<TbZdyFgrwMapper, TbZdyFgrw
// );
// 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 ( ) )
. eq ( TbZdyFgrw : : getFgrwzt , " 01 " )
// .notIn(!CollectionUtils.isEmpty(ids),TbZdyFgrw::getId,ids)
. orderByDesc ( TbZdyFgrw : : getXfrq )
) ;
IPage < TbZdyFgrw > page = new Page < > ( ) ;
//历史任务(自己已领取任务)
if ( " 02 " . equals ( query . getAppRwlx ( ) ) ) {
IPage < TbZdyFgrw > pageDto = PageUtils . buildPage ( query . getPageSize ( ) , query . getPageCurrent ( ) ) ;
page = this . baseMapper . getLqfgrw ( pageDto , query ) ;
if ( " 02 " . equals ( query . getAppRwlx ( ) ) ) {
IPage < TbZdyFgrw > pageDto = PageUtils . buildPage ( query . getPageSize ( ) , query . getPageCurrent ( ) ) ;
page = this . baseMapper . getLqfgrw ( pageDto , query ) ;
} else {
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 ( ) )
. eq ( TbZdyFgrw : : getFgrwzt , " 01 " )
// .notIn(!CollectionUtils.isEmpty(ids),TbZdyFgrw::getId,ids)
. orderByDesc ( TbZdyFgrw : : getXtCjsj )
) ;
}
List < TbZdyFgrwVO > voList = new ArrayList < > ( ) ;
if ( ! CollectionUtils . isEmpty ( page . getRecords ( ) ) ) {
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 ( ) )
. eq ( TbZdyFgrwlq : : getFgrwid , tbZdyFgrw . getId ( ) )
. eq ( TbZdyFgrwlq : : getFgrwlqrid , userInfo . getUserId ( ) )
. last ( " limit 1 " )
) ;
TbZdyFgrwVO vo = new TbZdyFgrwVO ( ) ;
BeanUtils . copyProperties ( tbZdyFgrw , vo ) ;
BeanUtils . copyProperties ( tbZdyFgrw , vo ) ;
vo . setFgrwzt ( " 01 " ) ;
if ( Objects . nonNull ( rwlq ) ) {
if ( Objects . nonNull ( rwlq ) ) {
vo . setFgrwlqr ( rwlq . getFgrwlqr ( ) ) ;
vo . setFgrwlqrid ( rwlq . getFgrwlqrid ( ) ) ;
vo . setFgrwlqrsfzh ( rwlq . getFgrwlqrsfzh ( ) ) ;
@ -222,7 +232,7 @@ public class TbZdyFgrwServiceImpl extends ServiceImpl<TbZdyFgrwMapper, TbZdyFgrw
voList . add ( vo ) ;
} ) ;
}
IPage < TbZdyFgrwVO > pageVo = new Page < > ( page . getCurrent ( ) , page . getSize ( ) ) ;
IPage < TbZdyFgrwVO > pageVo = new Page < > ( page . getCurrent ( ) , page . getSize ( ) ) ;
pageVo . setTotal ( page . getTotal ( ) ) ;
pageVo . setRecords ( voList ) ;
return pageVo ;
@ -233,15 +243,15 @@ public class TbZdyFgrwServiceImpl extends ServiceImpl<TbZdyFgrwMapper, TbZdyFgrw
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 ) ;
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 ( ) )
. eq ( TbZdyFgrwlq : : getFgrwid , tbZdyFgrw . getId ( ) )
. eq ( TbZdyFgrwlq : : getFgrwlqrid , userInfo . getUserId ( ) )
. last ( " limit 1 " )
) ;
if ( Objects . nonNull ( rwlq ) ) {
if ( Objects . nonNull ( rwlq ) ) {
vo . setFgrwlqr ( rwlq . getFgrwlqr ( ) ) ;
vo . setFgrwlqrid ( rwlq . getFgrwlqrid ( ) ) ;
vo . setFgrwlqrsfzh ( rwlq . getFgrwlqrsfzh ( ) ) ;
@ -249,39 +259,46 @@ public class TbZdyFgrwServiceImpl extends ServiceImpl<TbZdyFgrwMapper, TbZdyFgrw
}
List < TbZdyFgbxd > bxds = this . tbZdyFgbxdMapper . selectList (
new LambdaQueryWrapper < TbZdyFgbxd > ( )
. eq ( TbZdyFgbxd : : getFgrwid , query . getFgrwid ( ) )
. eq ( TbZdyFgbxd : : getFgrwid , query . getFgrwid ( ) )
) ;
if ( ! CollectionUtils . isEmpty ( bxds ) ) {
List < Map < String , Object > > bxddks = new ArrayList < > ( ) ;
bxds . forEach ( bxd - > {
if ( ! CollectionUtils . isEmpty ( bxds ) ) {
List < Map < String , Object > > bxddks = new ArrayList < > ( ) ;
bxds . forEach ( bxd - > {
Map < String , Object > map = new HashMap < > ( ) ;
map . put ( " bxdMc " , bxd . getBxdMc ( ) ) ;
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 ( ) )
. 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 ( " fgrw id" , bxd . getFgrwi d ( ) ) ;
map . put ( " bxdid " , bxd . getId ( ) ) ;
map . put ( " bxdMc " , bxd . getBxdMc ( ) ) ;
map . put ( " jd " , bxd . getJ d ( ) ) ;
map . put ( " wd " , bxd . getW d ( ) ) ;
map . put ( " dkzt " , " 未打卡 " ) ;
map . put ( " dksj " , " " ) ;
map . put ( " dktp " , " " ) ;
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 ( " dkr " , dk . getDkr ( ) ) ;
map . put ( " dktp " , dk . getDktp ( ) ) ;
map . put ( " id " , dk . getI d ( ) ) ;
map . put ( " lktp " , dk . getLktp ( ) ) ;
map . put ( " lksj " , dk . getLksj ( ) ) ;
map . put ( " lk jd" , dk . getLkj d ( ) ) ;
map . put ( " lk wd" , dk . getLkw d ( ) ) ;
} 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 ) ;
} ) ;
@ -293,8 +310,8 @@ public class TbZdyFgrwServiceImpl extends ServiceImpl<TbZdyFgrwMapper, TbZdyFgrw
return vo ;
}
private TbZdxlFgdwVO buildAllInfoByEntity ( TbZdxlFgdw entity ) {
if ( ObjectUtils . isEmpty ( entity ) ) {
private TbZdxlFgdwVO buildAllInfoByEntity ( TbZdxlFgdw entity ) {
if ( ObjectUtils . isEmpty ( entity ) ) {
return null ;
}
TbZdxlFgdwVO resultVO = BeanUtil . copyProperties ( entity , TbZdxlFgdwVO . class ) ;
@ -312,21 +329,23 @@ 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 ( " 请先报备,再领取! " ) ;
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 ( " 方格任务不存在! " ) ;
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 ( ) )
. eq ( TbZdyFgrwlq : : getFgrwid , query . getFgrwid ( ) )
. eq ( TbZdyFgrwlq : : getFgrwlqrid , userInfo . getUserId ( ) . toString ( ) )
. eq ( TbZdyFgrwlq : : getFgrwid , query . getFgrwid ( ) )
) ;
if ( num > 1 ) throw new BusinessException ( " 方格任务已领取,请勿重复领取! " ) ;
if ( num > 1 ) throw new BusinessException ( " 方格任务已领取,请勿重复领取! " ) ;
TbZdyFgrwlq rwlq = new TbZdyFgrwlq ( ) ;
rwlq . setId ( UUIDGenerator . getUUID ( ) ) ;
rwlq . setFgrwzt ( " 02 " ) ;
rwlq . setBbid ( tbQwXfbb . getId ( ) ) ;
rwlq . setFgrwid ( query . getFgrwid ( ) ) ;
rwlq . setFgrwlqrid ( userInfo . getUserId ( ) . toString ( ) ) ;
rwlq . setFgrwlqrsfzh ( userInfo . getIdEntityCard ( ) ) ;
@ -343,58 +362,63 @@ public class TbZdyFgrwServiceImpl extends ServiceImpl<TbZdyFgrwMapper, TbZdyFgrw
TbZdyFgrw fgrw = this . baseMapper . selectById ( query . getFgrwid ( ) ) ;
List < TbZdyFgbxd > bxds = this . tbZdyFgbxdMapper . selectList (
new LambdaQueryWrapper < TbZdyFgbxd > ( )
. eq ( TbZdyFgbxd : : getFgrwid , query . getFgrwid ( ) )
. 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 - > {
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 ( ) ) ;
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 ( ) )
. eq ( TbZdyFgrwlqdk : : getFgbxdid , bxd . getId ( ) )
. 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 ( " 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 ( " jd " , bxd . getJ d ( ) ) ;
map . put ( " wd " , bxd . getW d ( ) ) ;
map . put ( " dkzt " , " 未打卡 " ) ;
map . put ( " dksj " , " " ) ;
map . put ( " dktp " , " " ) ;
if ( Objects . nonNull ( dk ) ) {
map . put ( " fgrwid " , bxd . getFgrwid ( ) ) ;
map . put ( " bxdid " , bxd . getId ( ) ) ;
map . put ( " jd " , bxd . getJd ( ) ) ;
map . put ( " wd " , bxd . getWd ( ) ) ;
map . put ( " dkzt " , " 已打卡 " ) ;
map . put ( " dksj " , dk . getDksj ( ) ) ;
map . put ( " dktp " , dk . getDktp ( ) ) ;
map . put ( " id " , dk . getId ( ) ) ;
map . put ( " lktp " , dk . getLktp ( ) ) ;
map . put ( " lksj " , dk . getLksj ( ) ) ;
map . put ( " lk jd" , dk . getLkj d ( ) ) ;
map . put ( " lk wd" , dk . getLkw d ( ) ) ;
} else {
map . put ( " fgrwid " , bxd . getFgrwid ( ) ) ;
map . put ( " bxdid " , bxd . getId ( ) ) ;
map . put ( " jd " , bxd . getJd ( ) ) ;
map . put ( " wd " , bxd . getWd ( ) ) ;
map . put ( " dkzt " , " 未打卡 " ) ;
map . put ( " dksj " , " " ) ;
map . put ( " dktp " , " " ) ;
}
maps . add ( map ) ;
} ) ;
}
res . put ( " bxds " , maps ) ;
res . put ( " bxds " , maps ) ;
//最新打卡时间
TbZdyFgrwlqdk zxdk = this . tbZdyFgrwlqdkMapper . selectOne (
new LambdaQueryWrapper < TbZdyFgrwlqdk > ( )
. eq ( TbZdyFgrwlqdk : : getFgrwid , fgrw . getId ( ) )
. eq ( TbZdyFgrwlqdk : : getDkrid , user . getUserId ( ) . toString ( ) )
. 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 " , " " ) ;
if ( Objects . nonNull ( zxdk ) ) {
res . put ( " zxdksj " , zxdk . getDksj ( ) ) ;
} else {
res . put ( " zxdksj " , " " ) ;
}
return res ;
}
@ -404,15 +428,15 @@ public class TbZdyFgrwServiceImpl extends ServiceImpl<TbZdyFgrwMapper, TbZdyFgrw
UserInfo user = UserInfoManager . get ( ) ;
int num = this . tbZdyFgrwlqMapper . selectCount (
new LambdaQueryWrapper < TbZdyFgrwlq > ( )
. eq ( TbZdyFgrwlq : : getFgrwid , dto . getFgrwid ( ) )
. eq ( TbZdyFgrwlq : : getFgrwlqrid , user . getUserId ( ) . toString ( ) )
. eq ( TbZdyFgrwlq : : getFgrwid , dto . getFgrwid ( ) )
. eq ( TbZdyFgrwlq : : getFgrwlqrid , user . getUserId ( ) . toString ( ) )
) ;
if ( num = = 0 ) throw new BusinessException ( " 您还没有领取该任务! " ) ;
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米以外, 无法打卡 " ) ;
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 ) ;
BeanUtils . copyProperties ( dto , tbZdyFgrwlqdk ) ;
tbZdyFgrwlqdk . setId ( UUIDGenerator . getUUID ( ) ) ;
tbZdyFgrwlqdk . setDksj ( new Date ( ) ) ;
tbZdyFgrwlqdk . setDkrid ( user . getUserId ( ) . toString ( ) ) ;
@ -420,7 +444,7 @@ public class TbZdyFgrwServiceImpl extends ServiceImpl<TbZdyFgrwMapper, TbZdyFgrw
tbZdyFgrwlqdk . setDarsfzh ( user . getIdEntityCard ( ) ) ;
tbZdyFgrwlqdk . setFgbxdid ( dto . getBxdid ( ) ) ;
DeptInfoVo dept = this . tbBaseAdaptRemoteService . getOrgByOrgcode ( user . getDeptCode ( ) ) ;
if ( Objects . nonNull ( dept ) ) {
if ( Objects . nonNull ( dept ) ) {
tbZdyFgrwlqdk . setSsbm ( dept . getDeptname ( ) ) ;
tbZdyFgrwlqdk . setSsbmdm ( dept . getDeptcode ( ) ) ;
tbZdyFgrwlqdk . setSsxgajdm ( dept . getFxjcode ( ) ) ;
@ -431,4 +455,190 @@ public class TbZdyFgrwServiceImpl extends ServiceImpl<TbZdyFgrwMapper, TbZdyFgrw
this . tbZdyFgrwlqdkMapper . insert ( tbZdyFgrwlqdk ) ;
return true ;
}
@Override
public Boolean zdyLkdk ( TbZdyFgrwLkDto dto ) {
TbZdyFgrwlqdk tbZdyFgrwlqdk = this . tbZdyFgrwlqdkMapper . selectById ( dto . getId ( ) ) ;
if ( Objects . isNull ( tbZdyFgrwlqdk ) ) throw new BusinessException ( " 打卡记录不存在! " ) ;
if ( Objects . nonNull ( tbZdyFgrwlqdk . getLksj ( ) ) ) throw new BusinessException ( " 已离开打卡,请勿重复操作! " ) ;
// 校验距离
TbZdyFgbxd tbZdyFgbxd = this . tbZdyFgbxdMapper . selectById ( tbZdyFgrwlqdk . getFgbxdid ( ) ) ;
if ( Objects . nonNull ( tbZdyFgbxd ) ) {
long jl = PositionUtil . getDistance ( dto . getLkjd ( ) . doubleValue ( ) , dto . getLkwd ( ) . doubleValue ( ) ,
tbZdyFgbxd . getJd ( ) . doubleValue ( ) , tbZdyFgbxd . getWd ( ) . doubleValue ( ) ) ;
if ( jl > 100L ) throw new BusinessException ( " 您的位置在卡点100米以外, 无法离开打卡 " ) ;
}
// 更新离开信息
tbZdyFgrwlqdk . setLktp ( dto . getLktp ( ) ) ;
tbZdyFgrwlqdk . setLksj ( new Date ( ) ) ;
tbZdyFgrwlqdk . setLkjd ( dto . getLkjd ( ) ) ;
tbZdyFgrwlqdk . setLkwd ( dto . getLkwd ( ) ) ;
this . tbZdyFgrwlqdkMapper . updateById ( tbZdyFgrwlqdk ) ;
return true ;
}
@Override
public IPage < TbZdyFgrwlqdkVO > selectDkList ( TbZdyFgrwlqdkQuery query ) {
query . setSsbmdm ( this . tbBaseAdaptRemoteService . getSsbm ( query . getSsbmdm ( ) , null ) ) ;
IPage < TbZdyFgrwlqdk > page = this . tbZdyFgrwlqdkMapper . selectPage (
new Page < > ( query . getPageCurrent ( ) , query . getPageSize ( ) ) ,
new LambdaQueryWrapper < TbZdyFgrwlqdk > ( )
. eq ( StringUtils . isNotEmpty ( query . getFgrwid ( ) ) , TbZdyFgrwlqdk : : getFgrwid , query . getFgrwid ( ) )
. eq ( StringUtils . isNotEmpty ( query . getFgbxdid ( ) ) , TbZdyFgrwlqdk : : getFgbxdid , query . getFgbxdid ( ) )
. eq ( StringUtils . isNotEmpty ( query . getDkrid ( ) ) , TbZdyFgrwlqdk : : getDkrid , query . getDkrid ( ) )
. like ( StringUtils . isNotEmpty ( query . getDkr ( ) ) , TbZdyFgrwlqdk : : getDkr , query . getDkr ( ) )
. likeRight ( StringUtils . isNotEmpty ( query . getSsbmdm ( ) ) , TbZdyFgrwlqdk : : getSsbmdm , query . getSsbmdm ( ) )
. orderByDesc ( TbZdyFgrwlqdk : : getDksj )
) ;
List < TbZdyFgrwlqdkVO > voList = new ArrayList < > ( ) ;
if ( ! CollectionUtils . isEmpty ( page . getRecords ( ) ) ) {
// 批量查询点位名称
Set < String > bxdIds = page . getRecords ( ) . stream ( )
. map ( TbZdyFgrwlqdk : : getFgbxdid )
. filter ( StringUtils : : isNotEmpty )
. collect ( Collectors . toSet ( ) ) ;
Map < String , String > bxdNameMap = new HashMap < > ( ) ;
if ( ! CollectionUtils . isEmpty ( bxdIds ) ) {
List < TbZdyFgbxd > bxds = this . tbZdyFgbxdMapper . selectBatchIds ( bxdIds ) ;
bxdNameMap = bxds . stream ( )
. collect ( Collectors . toMap ( TbZdyFgbxd : : getId , TbZdyFgbxd : : getBxdMc , ( v1 , v2 ) - > v1 ) ) ;
}
Map < String , String > finalBxdNameMap = bxdNameMap ;
page . getRecords ( ) . forEach ( dk - > {
TbZdyFgrwlqdkVO vo = new TbZdyFgrwlqdkVO ( ) ;
BeanUtils . copyProperties ( dk , vo ) ;
vo . setBxdMc ( finalBxdNameMap . get ( dk . getFgbxdid ( ) ) ) ;
voList . add ( vo ) ;
} ) ;
}
IPage < TbZdyFgrwlqdkVO > pageVo = new Page < > ( page . getCurrent ( ) , page . getSize ( ) ) ;
pageVo . setTotal ( page . getTotal ( ) ) ;
pageVo . setRecords ( voList ) ;
return pageVo ;
}
@Override
public List < TbZdyFgrwVO > getFgrwListByBbid ( TbZdyFgrwQuery query ) {
// 根据报备ID查询任务领取记录
List < TbZdyFgrwlq > lqList = this . tbZdyFgrwlqMapper . selectList (
new LambdaQueryWrapper < TbZdyFgrwlq > ( )
. eq ( StringUtils . isNotEmpty ( query . getBbid ( ) ) , TbZdyFgrwlq : : getBbid , query . getBbid ( ) )
) ;
if ( CollectionUtils . isEmpty ( lqList ) ) {
return new ArrayList < > ( ) ;
}
// 获取任务ID列表
List < String > fgrwIds = lqList . stream ( )
. map ( TbZdyFgrwlq : : getFgrwid )
. collect ( Collectors . toList ( ) ) ;
// 批量查询任务详情
List < TbZdyFgrw > fgrwList = this . baseMapper . selectBatchIds ( fgrwIds ) ;
if ( CollectionUtils . isEmpty ( fgrwList ) ) {
return new ArrayList < > ( ) ;
}
// 批量查询所有任务的点位
List < TbZdyFgbxd > allBxds = this . tbZdyFgbxdMapper . selectList (
new LambdaQueryWrapper < TbZdyFgbxd > ( )
. in ( TbZdyFgbxd : : getFgrwid , fgrwIds )
) ;
// 按任务ID分组点位
Map < String , List < TbZdyFgbxd > > bxdMap = CollectionUtils . isEmpty ( allBxds )
? new HashMap < > ( )
: allBxds . stream ( ) . collect ( Collectors . groupingBy ( TbZdyFgbxd : : getFgrwid ) ) ;
// 构建领取记录映射( 包含领取人ID, 用于筛选打卡记录)
Map < String , TbZdyFgrwlq > lqMap = lqList . stream ( )
. collect ( Collectors . toMap ( TbZdyFgrwlq : : getFgrwid , v - > v , ( v1 , v2 ) - > v1 ) ) ;
// 获取所有领取人ID
Set < String > dkrids = lqList . stream ( )
. map ( TbZdyFgrwlq : : getFgrwlqrid )
. filter ( StringUtils : : isNotEmpty )
. collect ( Collectors . toSet ( ) ) ;
// 批量查询所有任务的打卡记录
List < TbZdyFgrwlqdk > allDks = CollectionUtils . isEmpty ( dkrids ) ? new ArrayList < > ( )
: this . tbZdyFgrwlqdkMapper . selectList (
new LambdaQueryWrapper < TbZdyFgrwlqdk > ( )
. in ( TbZdyFgrwlqdk : : getFgrwid , fgrwIds )
. in ( TbZdyFgrwlqdk : : getDkrid , dkrids )
. orderByDesc ( TbZdyFgrwlqdk : : getDksj )
) ;
// 按 fgrwid+fgbxdid 分组,取最新的一条打卡记录
Map < String , TbZdyFgrwlqdk > dkMap = new HashMap < > ( ) ;
if ( ! CollectionUtils . isEmpty ( allDks ) ) {
for ( TbZdyFgrwlqdk dk : allDks ) {
String key = dk . getFgrwid ( ) + " _ " + dk . getFgbxdid ( ) ;
if ( ! dkMap . containsKey ( key ) ) {
dkMap . put ( key , dk ) ;
}
}
}
// 组装返回数据
List < TbZdyFgrwVO > voList = new ArrayList < > ( ) ;
fgrwList . forEach ( fgrw - > {
TbZdyFgrwVO vo = new TbZdyFgrwVO ( ) ;
BeanUtils . copyProperties ( fgrw , vo ) ;
// 设置领取人信息
TbZdyFgrwlq lq = lqMap . get ( fgrw . getId ( ) ) ;
if ( Objects . nonNull ( lq ) ) {
vo . setFgrwlqr ( lq . getFgrwlqr ( ) ) ;
vo . setFgrwlqrid ( lq . getFgrwlqrid ( ) ) ;
vo . setFgrwlqrsfzh ( lq . getFgrwlqrsfzh ( ) ) ;
vo . setFgrwzt ( lq . getFgrwzt ( ) ) ;
}
// 设置任务点位(含打卡信息)
List < TbZdyFgbxd > bxds = bxdMap . get ( fgrw . getId ( ) ) ;
if ( ! CollectionUtils . isEmpty ( bxds ) ) {
List < Map < String , Object > > bxdMaps = bxds . stream ( ) . map ( bxd - > {
Map < String , Object > map = new HashMap < > ( ) ;
map . put ( " bxdid " , bxd . getId ( ) ) ;
map . put ( " bxdMc " , bxd . getBxdMc ( ) ) ;
map . put ( " jd " , bxd . getJd ( ) ) ;
map . put ( " wd " , bxd . getWd ( ) ) ;
// 查询该点位的打卡记录
String dkKey = fgrw . getId ( ) + " _ " + bxd . getId ( ) ;
TbZdyFgrwlqdk dk = dkMap . get ( dkKey ) ;
if ( Objects . nonNull ( dk ) ) {
// 开始打卡信息
map . put ( " dkzt " , " 已打卡 " ) ;
map . put ( " dksj " , dk . getDksj ( ) ) ;
map . put ( " dktp " , dk . getDktp ( ) ) ;
map . put ( " dkJd " , dk . getJd ( ) ) ;
map . put ( " dkWd " , dk . getWd ( ) ) ;
// 离开打卡信息
map . put ( " lksj " , dk . getLksj ( ) ) ;
map . put ( " lktp " , dk . getLktp ( ) ) ;
map . put ( " lkJd " , dk . getLkjd ( ) ) ;
map . put ( " lkWd " , dk . getLkwd ( ) ) ;
} else {
map . put ( " dkzt " , " 未打卡 " ) ;
map . put ( " dksj " , null ) ;
map . put ( " dktp " , null ) ;
map . put ( " dkJd " , null ) ;
map . put ( " dkWd " , null ) ;
map . put ( " lksj " , null ) ;
map . put ( " lktp " , null ) ;
map . put ( " lkJd " , null ) ;
map . put ( " lkWd " , null ) ;
}
return map ;
} ) . collect ( Collectors . toList ( ) ) ;
vo . setBxds ( bxdMaps ) ;
}
voList . add ( vo ) ;
} ) ;
return voList ;
}
}