package com.panzhihua.service_community.service.impl;
|
|
import java.text.SimpleDateFormat;
|
import java.util.Map;
|
|
import javax.annotation.Resource;
|
|
import com.panzhihua.common.model.dtos.community.ComSwSafetyWorkEditDTO;
|
import com.panzhihua.service_community.model.dos.ComActDO;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.stereotype.Service;
|
|
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.ComSwPatrolRecordPageDTO;
|
import com.panzhihua.common.model.vos.R;
|
import com.panzhihua.common.model.vos.community.ComSwSafetyWorkRecordVO;
|
import com.panzhihua.common.utlis.StringUtils;
|
import com.panzhihua.service_community.dao.ComActDAO;
|
import com.panzhihua.service_community.dao.ComSwPatrolRecordDAO;
|
import com.panzhihua.service_community.dao.ComSwPatrolRecordReportDAO;
|
import com.panzhihua.service_community.dao.ComSwSafetyWorkRecordDAO;
|
import com.panzhihua.service_community.model.dos.ComSwPatrolRecordDO;
|
import com.panzhihua.service_community.model.dos.ComSwPatrolRecordReportDO;
|
import com.panzhihua.service_community.model.dos.ComSwSafetyWorkRecordDO;
|
import com.panzhihua.service_community.service.ComSwSafetyWorkRecordService;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
/**
|
* @auther txb
|
* @create 2021-07-27 14:30:41
|
* @describe 服务实现类
|
*/
|
@Slf4j
|
@Service
|
public class ComSwSafetyWorkRecordServiceImpl extends ServiceImpl<ComSwSafetyWorkRecordDAO, ComSwSafetyWorkRecordDO>
|
implements ComSwSafetyWorkRecordService {
|
|
@Resource
|
private ComSwSafetyWorkRecordDAO comSwSafetyWorkRecordDAO;
|
|
@Resource
|
private ComSwPatrolRecordDAO comSwPatrolRecordDAO;
|
|
@Resource
|
private ComSwPatrolRecordReportDAO comSwPatrolRecordReportDAO;
|
|
@Resource
|
private ComActDAO comActDAO;
|
|
@Override
|
public R pageSafetyWorkRecord(ComSwPatrolRecordPageDTO comSwPatrolRecordPageDTO) {
|
Page page = new Page<>();
|
Long pageNum = comSwPatrolRecordPageDTO.getPageNum();
|
Long pageSize = comSwPatrolRecordPageDTO.getPageSize();
|
if (null == pageNum || 0 == pageNum) {
|
pageNum = 1L;
|
}
|
if (null == pageSize || 0 == pageSize) {
|
pageSize = 10L;
|
}
|
page.setSize(pageSize);
|
page.setCurrent(pageNum);
|
|
IPage<ComSwSafetyWorkRecordVO> iPage =
|
comSwSafetyWorkRecordDAO.pageSafetyWorkRecord(page, comSwPatrolRecordPageDTO);
|
if (!iPage.getRecords().isEmpty()) {
|
iPage.getRecords().forEach(work -> {
|
// 查询人员信息
|
if (StringUtils.isNotEmpty(work.getPatrolPerson())) {
|
StringBuilder sb = new StringBuilder();
|
String[] personIds = work.getPatrolPerson().split(",");
|
for (int i = 0; i < personIds.length; i++) {
|
if (i != 0) {
|
sb.append(",");
|
}
|
Map<String, String> personMap = comSwPatrolRecordDAO.getPbServiceTeamById(personIds[i]);
|
if (personMap != null) {
|
sb.append(personMap.get("name"));
|
}
|
}
|
work.setPersonName(sb.toString());
|
}
|
});
|
}
|
return R.ok(iPage);
|
}
|
|
@Override
|
public R editSafetyWork(ComSwSafetyWorkEditDTO comSwSafetyWorkEditDTO) {
|
ComSwSafetyWorkRecordDO comSwSafetyWorkRecordDO = comSwSafetyWorkRecordDAO.selectById(comSwSafetyWorkEditDTO.getId());
|
if (null == comSwSafetyWorkRecordDO) {
|
return R.fail("该安全工作记录不存在");
|
}
|
comSwSafetyWorkRecordDO.setRemark(comSwSafetyWorkEditDTO.getRemark());
|
comSwSafetyWorkRecordDO.setUpdateBy(comSwSafetyWorkEditDTO.getUpdateBy());
|
ComSwPatrolRecordReportDO comSwPatrolRecordReportDO = comSwPatrolRecordReportDAO.selectOne(new QueryWrapper<ComSwPatrolRecordReportDO>()
|
.lambda().eq(ComSwPatrolRecordReportDO::getReportId, comSwSafetyWorkEditDTO.getId()));
|
ComSwPatrolRecordDO comSwPatrolRecordDO = new ComSwPatrolRecordDO();
|
if (null != comSwPatrolRecordReportDO) {
|
comSwPatrolRecordDO = comSwPatrolRecordDAO.selectOne(new QueryWrapper<ComSwPatrolRecordDO>()
|
.lambda().eq(ComSwPatrolRecordDO::getId, comSwPatrolRecordReportDO.getPatrolRecordId()));
|
Long id = comSwPatrolRecordDO.getId();
|
BeanUtils.copyProperties(comSwSafetyWorkEditDTO, comSwPatrolRecordDO);
|
comSwPatrolRecordDO.setId(id);
|
try {
|
comSwPatrolRecordDO.setPatrolTime(new SimpleDateFormat("yyyy-MM-dd").parse(comSwSafetyWorkEditDTO.getPatrolTime()));
|
comSwPatrolRecordDO.setSuccessionTime(new SimpleDateFormat("yyyy-MM-dd").parse(comSwSafetyWorkEditDTO.getSuccessionTime()));
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
// 根据传递的巡查人员id查询巡查人员的名字和电话
|
StringBuilder nameString = new StringBuilder();
|
StringBuilder phoneString = new StringBuilder();
|
if (StringUtils.isNotEmpty(comSwSafetyWorkEditDTO.getPatrolPerson())) {
|
String[] personIds = comSwSafetyWorkEditDTO.getPatrolPerson().split(",");
|
for (int i = 0; i < personIds.length; i++) {
|
Map<String, String> person = comSwPatrolRecordDAO.getPbServiceTeamById(personIds[i]);
|
if (person != null) {
|
if (i != 0) {
|
nameString.append(",");
|
phoneString.append(",");
|
}
|
nameString.append(person.get("name"));
|
phoneString.append(person.get("phone"));
|
}
|
}
|
comSwPatrolRecordDO.setPersonName(nameString.toString());
|
comSwPatrolRecordDO.setPersonPhone(phoneString.toString());
|
}
|
}
|
comSwPatrolRecordDAO.updateById(comSwPatrolRecordDO);
|
comSwSafetyWorkRecordDAO.updateById(comSwSafetyWorkRecordDO);
|
return R.ok();
|
}
|
|
@Override
|
public R detailSafetyWorkRecord(Long safetyWorkRecordId, Long communityId) {
|
ComSwSafetyWorkRecordDO swSafetyWorkRecordDO = comSwSafetyWorkRecordDAO.selectById(safetyWorkRecordId);
|
if (null == swSafetyWorkRecordDO) {
|
return R.fail("该安全工作记录不存在");
|
}
|
ComSwPatrolRecordReportDO comSwPatrolRecordReportDO =
|
comSwPatrolRecordReportDAO.selectOne(new QueryWrapper<ComSwPatrolRecordReportDO>().lambda()
|
.eq(ComSwPatrolRecordReportDO::getReportId, safetyWorkRecordId));
|
ComSwSafetyWorkRecordVO comSwSafetyWorkRecordVO = new ComSwSafetyWorkRecordVO();
|
if (null != comSwPatrolRecordReportDO) {
|
ComSwPatrolRecordDO comSwPatrolRecordDO =
|
comSwPatrolRecordDAO.selectById(comSwPatrolRecordReportDO.getPatrolRecordId());
|
BeanUtils.copyProperties(comSwPatrolRecordDO, comSwSafetyWorkRecordVO);
|
}
|
|
BeanUtils.copyProperties(swSafetyWorkRecordDO, comSwSafetyWorkRecordVO);
|
|
// 组装巡查类型
|
if (StringUtils.isNotEmpty(comSwSafetyWorkRecordVO.getPatrolType())) {
|
StringBuilder sb = new StringBuilder();
|
String[] patrolTypes = comSwSafetyWorkRecordVO.getPatrolType().split(",");
|
for (int i = 0; i < patrolTypes.length; i++) {
|
if (i != 0) {
|
sb.append(",");
|
}
|
if (patrolTypes[i].equals("1")) {
|
sb.append("防火巡查");
|
} else if (patrolTypes[i].equals("2")) {
|
sb.append("防汛巡查");
|
} else if (patrolTypes[i].equals("3")) {
|
sb.append("防疫巡查");
|
}
|
}
|
comSwSafetyWorkRecordVO.setPatrolType(sb.toString());
|
}
|
|
// 查询人员信息
|
if (StringUtils.isNotEmpty(comSwSafetyWorkRecordVO.getPatrolPerson())) {
|
StringBuilder sb = new StringBuilder();
|
String[] personIds = comSwSafetyWorkRecordVO.getPatrolPerson().split(",");
|
for (int i = 0; i < personIds.length; i++) {
|
if (i != 0) {
|
sb.append(",");
|
}
|
Map<String, String> personMap = comSwPatrolRecordDAO.getPbServiceTeamById(personIds[i]);
|
if (personMap != null) {
|
sb.append(personMap.get("name"));
|
}
|
}
|
comSwSafetyWorkRecordVO.setPersonName(sb.toString());
|
}
|
|
// 查询填报人名称
|
if (comSwSafetyWorkRecordVO.getCreateBy() != null) {
|
comSwSafetyWorkRecordVO
|
.setCreateName(comSwPatrolRecordDAO.getCreateName(comSwSafetyWorkRecordVO.getCreateBy()));
|
}
|
|
// 所属社区名称
|
ComActDO comActDO=comActDAO.selectById(comSwSafetyWorkRecordVO.getCommunityId());
|
if(comActDO!=null&&StringUtils.isNotEmpty(comActDO.getName())){
|
comSwSafetyWorkRecordVO.setCommunityName(comActDO.getName());
|
}
|
|
return R.ok(comSwSafetyWorkRecordVO);
|
}
|
|
@Override
|
public R detailSafetyWorkRecordByPrId(Long patrolRecordId, Long communityId) {
|
ComSwSafetyWorkRecordVO comSwSafetyWorkRecordVO = new ComSwSafetyWorkRecordVO();
|
ComSwPatrolRecordDO comSwPatrolRecordDO = comSwPatrolRecordDAO.selectById(patrolRecordId);
|
ComSwPatrolRecordReportDO comSwPatrolRecordReportDO =
|
comSwPatrolRecordReportDAO.selectOne(new QueryWrapper<ComSwPatrolRecordReportDO>().lambda()
|
.eq(ComSwPatrolRecordReportDO::getPatrolRecordId, patrolRecordId));
|
if (null != comSwPatrolRecordReportDO) {
|
ComSwSafetyWorkRecordDO comSwSafetyWorkRecordDO =
|
comSwSafetyWorkRecordDAO.selectById(comSwPatrolRecordReportDO.getReportId());
|
if (null == comSwSafetyWorkRecordDO) {
|
return R.fail("该安全工作记录不存在");
|
}
|
BeanUtils.copyProperties(comSwPatrolRecordDO, comSwSafetyWorkRecordVO);
|
BeanUtils.copyProperties(comSwSafetyWorkRecordDO, comSwSafetyWorkRecordVO);
|
}
|
// 所属社区名称
|
comSwSafetyWorkRecordVO.setCommunityName(comActDAO.selectById(communityId).getName());
|
return R.ok(comSwSafetyWorkRecordVO);
|
}
|
}
|