package cn.gistack.sm.sjztmd.service.impl;
|
|
import cn.gistack.sm.intelligentCall.entity.Scene;
|
import cn.gistack.sm.sjztmd.entity.AttResManagePerson;
|
import cn.gistack.sm.sjztmd.entity.PatrolResponsiblePerson;
|
import cn.gistack.sm.sjztmd.mapper.AttResManagePersonMapper;
|
import cn.gistack.sm.sjztmd.service.IAttResBaseService;
|
import cn.gistack.sm.sjztmd.service.IAttResManagePersonService;
|
import cn.gistack.sm.sjztmd.vo.AttResBaseVO;
|
import cn.gistack.sm.sjztmd.vo.PersonVO;
|
import cn.gistack.sm.sjztmd.vo.UserPersonVO;
|
import cn.gistack.system.user.entity.User;
|
import cn.gistack.system.user.feign.IUserClient;
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import org.springblade.core.tool.api.R;
|
import org.springblade.core.tool.utils.Func;
|
import org.springblade.core.tool.utils.StringUtil;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.Set;
|
|
/**
|
* @ClassName AttResManagePersonServiceImpl
|
* @Description TODO
|
* @Author aix
|
* @Date 2023/4/22 11:10
|
* @Version 1.0
|
*/
|
@Service
|
@DS("zt")
|
public class AttResManagePersonServiceImpl extends ServiceImpl<AttResManagePersonMapper, AttResManagePerson> implements IAttResManagePersonService {
|
|
@Autowired
|
private IUserClient userClient;
|
|
@Autowired
|
private IAttResBaseService attResBaseService;
|
|
@Override
|
public Boolean saveOrUpdateResManagePerson(AttResManagePerson attResManagePerson) {
|
if (StringUtil.isBlank(attResManagePerson.getResGuid()))
|
return false;
|
if (StringUtil.isBlank(attResManagePerson.getSysResource()))
|
return false;
|
if (StringUtil.isBlank(attResManagePerson.getType()))
|
return false;
|
Integer res = StringUtil.isBlank(attResManagePerson.getGuid())? baseMapper.insertResManagePersion(attResManagePerson):baseMapper.updateResManagePersonByGuid(attResManagePerson);
|
return res > 0;
|
}
|
|
@Override
|
@Transactional
|
public R saveOrUpdateResManagePerson(List<AttResManagePerson> attResManagePersons) {
|
Boolean res = false;
|
for (AttResManagePerson attResManagePerson:attResManagePersons) {
|
if (jodd.util.StringUtil.isEmpty(attResManagePerson.getResGuid()))
|
return R.fail("resGuid不能为空");
|
if (jodd.util.StringUtil.isEmpty(attResManagePerson.getType()))
|
return R.fail("type不能为空");
|
if (jodd.util.StringUtil.isEmpty(attResManagePerson.getSysResource()))
|
return R.fail("sysResource不能为空");
|
if (jodd.util.StringUtil.isEmpty(attResManagePerson.getUserPhone()))
|
return R.fail("userPhone不能为空");
|
if (jodd.util.StringUtil.isEmpty(attResManagePerson.getUserName()))
|
return R.fail("userName不能为空");
|
res = saveOrUpdateResManagePerson(attResManagePerson);
|
}
|
return R.data(res);
|
}
|
|
@Override
|
public List<AttResManagePerson> attResManagePersonListByResIds(String resId) {
|
return baseMapper.attResManagePersonListByResId(Func.toLongList(resId));
|
}
|
|
@Override
|
@DS("master")
|
public List<PatrolResponsiblePerson> getPatrolResponsiblePersonAll() {
|
return baseMapper.getPatrolResponsiblePersonAll();
|
}
|
|
/**
|
* 根据水库编号及责任人类型查询相关责任人信息
|
* @param res_cd
|
* @param personList
|
* @return
|
*/
|
@Override
|
public List<PersonVO> getPersonListByResGuid(String res_cd, List<String> personList) {
|
return baseMapper.getPersonListByResGuid(res_cd,personList);
|
}
|
|
@Override
|
public int synchronizationAddUser() {
|
// 同步没有责任人表中没有的用户
|
List<UserPersonVO> userPersonVOS = baseMapper.getPersonByUserNotExists();
|
int i = 0;
|
for (UserPersonVO vo:userPersonVOS) {
|
User user = new User();
|
user.setId(Long.parseLong(vo.getUserPhone()));
|
user.setAccount(vo.getUserPhone());
|
user.setPassword("Zhsk@123456");
|
user.setRoleId(vo.getRoleId());
|
// 如果是巡查责任人,设置为默认部门
|
if (user.getRoleId().equals("1642713427301355522")) {
|
user.setDeptId(String.valueOf(Long.valueOf(vo.getAdCode()) + 1));
|
} else {
|
user.setDeptId(vo.getAdCode());
|
}
|
user.setDeptId(vo.getAdCode());
|
user.setName(vo.getUserName().trim());
|
user.setRealName(vo.getUserName().trim());
|
user.setPhone(vo.getUserPhone());
|
try {
|
R<List<User>> listR = userClient.userInfoByPhoneOrAccount("000000",user.getPhone());
|
// 存在不保存
|
if (listR.getData().size() > 0) {
|
continue;
|
}
|
R<Boolean> ret = userClient.saveUser(user);
|
if (ret.getData()) {
|
i++;
|
}
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
|
}
|
return i;
|
}
|
|
@Override
|
public int synchronizationUpdateUser() {
|
// 同步没有责任人表中没有的用户
|
int ret = baseMapper.updateUserByPerson();
|
return ret;
|
}
|
|
/**
|
* 通过水库代码获取巡查责任人及技术责任人手机号
|
* @param list
|
* @return
|
*/
|
@Override
|
public Set<String> getPersonListByWaterCodeList(List<String> list) {
|
return baseMapper.getPersonListByWaterCodeList(list);
|
}
|
|
/**
|
* 根据水库编号查询市县水利部人员姓名及联系方式
|
* @param res_cd 水库编号
|
* @return
|
*/
|
@Override
|
public List<PersonVO> getCityCountyPersonListByResGuid(String res_cd) {
|
List<PersonVO> personVOList = new ArrayList<>();
|
// 查询当前水库对应的市级编号和县区编号
|
AttResBaseVO attResBaseVO = attResBaseService.getCityCountyCodeByResGuid(res_cd);
|
if (null!= attResBaseVO) {
|
// 通过编号查询对应的人员
|
List<PersonVO> cityPerson = baseMapper.getCityCountyPersonListByResGuid(attResBaseVO.getCityCode(), "sdglywuser", "市州水库管理业务人员");
|
List<PersonVO> countyPerson = baseMapper.getCityCountyPersonListByResGuid(attResBaseVO.getCountyCode(), "qxglywuser", "区县水库管理业务人员");
|
// 和
|
personVOList.addAll(cityPerson);
|
personVOList.addAll(countyPerson);
|
}
|
// 返回
|
return personVOList;
|
}
|
|
@DS("master")
|
@Override
|
public List<PatrolResponsiblePerson> getPatrolResponsiblePersonByResCdList(List<String> reservoirList) {
|
return baseMapper.getPatrolResponsiblePersonByResCdList(reservoirList);
|
}
|
|
/**
|
* 通过水库代码获取水库及巡查责任人信息
|
* @param stringList
|
* @return
|
*/
|
@Override
|
public Set<Scene> getPatrolPersonListByWaterCodeList(List<String> stringList) {
|
return baseMapper.getPatrolPersonListByWaterCodeList(stringList);
|
}
|
}
|