package com.panzhihua.service_community.service.impl;
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
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.panzhihua.common.model.dtos.community.ComSwRotaPageDTO;
|
import com.panzhihua.common.model.dtos.community.ComSwRotaSaveDTO;
|
import com.panzhihua.common.model.vos.LoginUserInfoVO;
|
import com.panzhihua.common.model.vos.R;
|
import com.panzhihua.common.model.vos.community.ComSwPatrolRecordVO;
|
import com.panzhihua.common.model.vos.community.ComSwRotaPersonVO;
|
import com.panzhihua.common.model.vos.community.ComSwRotaVO;
|
import com.panzhihua.common.model.vos.partybuilding.PartyBuildingComPbDynVO;
|
import com.panzhihua.common.service.user.UserService;
|
import com.panzhihua.common.utlis.Snowflake;
|
import com.panzhihua.common.utlis.StringUtils;
|
import com.panzhihua.service_community.dao.ComOpsAccUserDAO;
|
import com.panzhihua.service_community.dao.ComSwRotaDAO;
|
import com.panzhihua.service_community.model.dos.ComMngUserTagDO;
|
import com.panzhihua.service_community.model.dos.ComSwRotaDO;
|
import com.panzhihua.service_community.service.ComSwRotaService;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import java.text.ParseException;
|
import java.text.SimpleDateFormat;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* @auther txb
|
* @create 2021-07-30 09:48:54
|
* @describe 社区》安全工作》值班表服务实现类
|
*/
|
@Slf4j
|
@Service
|
public class ComSwRotaServiceImpl extends ServiceImpl<ComSwRotaDAO, ComSwRotaDO> implements ComSwRotaService {
|
|
@Resource
|
private ComSwRotaDAO comSwRotaDAO;
|
@Resource
|
private UserService userService;
|
|
@Override
|
public R pageRota(ComSwRotaPageDTO comSwRotaPageDTO) {
|
Page page = new Page<>();
|
Long pageNum = comSwRotaPageDTO.getPageNum();
|
Long pageSize = comSwRotaPageDTO.getPageSize();
|
if (null == pageNum || 0 == pageNum) {
|
pageNum = 1L;
|
}
|
if (null == pageSize || 0 == pageSize) {
|
pageSize = 10L;
|
}
|
page.setSize(pageSize);
|
page.setCurrent(pageNum);
|
|
IPage<ComSwRotaVO> iPage = comSwRotaDAO.pageRota(page, comSwRotaPageDTO);
|
return R.ok(iPage);
|
}
|
|
@Override
|
public R addRota(List<ComSwRotaSaveDTO> comSwRotaSaveDTOs) {
|
comSwRotaSaveDTOs.forEach(comSwRotaSaveDTO -> {
|
try {
|
if (comSwRotaSaveDTO.getId() != null && comSwRotaSaveDTO.getId() != 0) {
|
ComSwRotaDO comSwRotaDO = new ComSwRotaDO();
|
BeanUtils.copyProperties(comSwRotaSaveDTO, comSwRotaDO);
|
comSwRotaDO.setRotaDate(new SimpleDateFormat("yyyy-MM-dd").parse(comSwRotaSaveDTO.getRotaDate()));
|
comSwRotaDAO.updateById(comSwRotaDO);
|
} else {
|
ComSwRotaDO comSwRotaDO = new ComSwRotaDO();
|
BeanUtils.copyProperties(comSwRotaSaveDTO, comSwRotaDO);
|
comSwRotaDO.setId(Snowflake.getId());
|
comSwRotaDO.setRotaDate(new SimpleDateFormat("yyyy-MM-dd").parse(comSwRotaSaveDTO.getRotaDate()));
|
comSwRotaDAO.insert(comSwRotaDO);
|
}
|
} catch (ParseException e) {
|
e.printStackTrace();
|
}
|
});
|
return R.ok();
|
}
|
|
@Override
|
public R deleteRota(List<Long> rotaIds) {
|
int delete = comSwRotaDAO.deleteBatchIds(rotaIds);
|
if (delete > 0) {
|
return R.ok();
|
}
|
return R.fail("删除失败");
|
}
|
|
@Override
|
public R getRotaPersonByDate(String rotaDate) {
|
ComSwRotaDO comSwRotaDO = new ComSwRotaDO();
|
try {
|
comSwRotaDO = comSwRotaDAO.selectOne(new QueryWrapper<ComSwRotaDO>().lambda().eq(ComSwRotaDO::getRotaDate, new SimpleDateFormat("yyyy-MM-dd").parse(rotaDate)));
|
}catch (ParseException e) {
|
e.printStackTrace();
|
}
|
List<ComSwRotaPersonVO> rotaPersons = new ArrayList<>();
|
if (null != comSwRotaDO){
|
String rotaPerson = comSwRotaDO.getRotaPerson();
|
String rotaPersonName = comSwRotaDO.getPersonName();
|
String[] rotaPersonArray = rotaPerson.split(",");
|
String[] rotaPersonNameArray = rotaPersonName.split(",");
|
for (int i = 0; i <= rotaPersonArray.length - 1; i++){
|
ComSwRotaPersonVO comSwRotaPersonVO = new ComSwRotaPersonVO();
|
comSwRotaPersonVO.setId(Long.valueOf(rotaPersonArray[i]));
|
comSwRotaPersonVO.setName(rotaPersonNameArray[i]);
|
Map<String,String> userMap = this.comSwRotaDAO.getImageUrl(Long.valueOf(rotaPersonArray[i]));
|
if(userMap != null){
|
comSwRotaPersonVO.setPhone(userMap.get("phone"));
|
comSwRotaPersonVO.setImageUrl(userMap.get("url"));
|
}
|
rotaPersons.add(comSwRotaPersonVO);
|
}
|
}
|
return R.ok(rotaPersons);
|
}
|
|
@Override
|
public R getRotaLeaderByDate(String rotaDate) {
|
ComSwRotaDO comSwRotaDO = new ComSwRotaDO();
|
try {
|
comSwRotaDO = comSwRotaDAO.selectOne(new QueryWrapper<ComSwRotaDO>().lambda().eq(ComSwRotaDO::getRotaDate, new SimpleDateFormat("yyyy-MM-dd").parse(rotaDate)));
|
} catch (ParseException e) {
|
e.printStackTrace();
|
}
|
List<ComSwRotaPersonVO> rotaLeaders = new ArrayList<>();
|
if (null != comSwRotaDO){
|
String rotaPerson = comSwRotaDO.getRotaLeader();
|
String rotaPersonName = comSwRotaDO.getLeaderName();
|
String[] rotaPersonArray = rotaPerson.split(",");
|
String[] rotaPersonNameArray = rotaPersonName.split(",");
|
for (int i = 0; i <= rotaPersonArray.length - 1; i++){
|
ComSwRotaPersonVO comSwRotaPersonVO = new ComSwRotaPersonVO();
|
comSwRotaPersonVO.setId(Long.valueOf(rotaPersonArray[i]));
|
comSwRotaPersonVO.setName(rotaPersonNameArray[i]);
|
Map<String,String> userMap = this.comSwRotaDAO.getImageUrl(Long.valueOf(rotaPersonArray[i]));
|
if(userMap != null){
|
comSwRotaPersonVO.setPhone(userMap.get("phone"));
|
comSwRotaPersonVO.setImageUrl(userMap.get("url"));
|
}
|
rotaLeaders.add(comSwRotaPersonVO);
|
}
|
}
|
return R.ok(rotaLeaders);
|
}
|
|
@Override
|
public R getTotlePerson(String param, Long communityId) {
|
return userService.listActivityManager(param,communityId);
|
}
|
}
|