| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336 |
- package cn.com.goldenwater.dcproj.service.impl.fjsdu;
- import cn.com.goldenwater.core.service.AbstractCrudService;
- import cn.com.goldenwater.dcproj.constValue.BisInspEnum;
- import cn.com.goldenwater.dcproj.constValue.SplitValue;
- import cn.com.goldenwater.dcproj.dao.AttAdBaseDao;
- import cn.com.goldenwater.dcproj.dao.AttFjsduBaseDao;
- import cn.com.goldenwater.dcproj.dao.BisInspAllObjDao;
- import cn.com.goldenwater.dcproj.dao.BisInspAllRlationDao;
- import cn.com.goldenwater.dcproj.dao.BisInspFjsduDao;
- import cn.com.goldenwater.dcproj.dao.BisInspFjsduImgrDao;
- import cn.com.goldenwater.dcproj.dao.BisInspFjsduSafdlDao;
- import cn.com.goldenwater.dcproj.dao.RoleDao;
- import cn.com.goldenwater.dcproj.dto.BisInspFjsduDto;
- import cn.com.goldenwater.dcproj.model.AttAdBase;
- import cn.com.goldenwater.dcproj.model.AttFjsduBase;
- import cn.com.goldenwater.dcproj.model.BisInspAllObj;
- import cn.com.goldenwater.dcproj.model.BisInspAllRlation;
- import cn.com.goldenwater.dcproj.model.BisInspFjsdu;
- import cn.com.goldenwater.dcproj.model.BisInspFjsduImgr;
- import cn.com.goldenwater.dcproj.model.BisInspFjsduSafdl;
- import cn.com.goldenwater.dcproj.model.Role;
- import cn.com.goldenwater.dcproj.param.BisInspAllObjParam;
- import cn.com.goldenwater.dcproj.param.BisInspAllRlationParam;
- import cn.com.goldenwater.dcproj.param.BisInspFjsduImgrParam;
- import cn.com.goldenwater.dcproj.param.BisInspFjsduParam;
- import cn.com.goldenwater.dcproj.param.BisInspFjsduSafdlParam;
- import cn.com.goldenwater.dcproj.param.RoleParam;
- import cn.com.goldenwater.dcproj.param.TypeParam;
- import cn.com.goldenwater.dcproj.service.BisInspFjsduService;
- import cn.com.goldenwater.dcproj.service.BisInspObjStrategy;
- import cn.com.goldenwater.dcproj.utils.AdLevelUtil;
- import cn.com.goldenwater.dcproj.utils.StringUtils;
- import cn.com.goldenwater.id.util.UuidUtil;
- import com.github.pagehelper.PageHelper;
- import com.github.pagehelper.PageInfo;
- import org.apache.commons.collections.CollectionUtils;
- import org.springframework.beans.BeanUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import javax.servlet.http.HttpServletResponse;
- import java.util.Date;
- import java.util.List;
- import java.util.Map;
- import java.util.Optional;
- /**
- * @author lhc
- * @date 2023年12月18日
- */
- @Service
- @Transactional
- public class BisInspFjsduServiceImpl extends AbstractCrudService<BisInspFjsdu, BisInspFjsduParam> implements BisInspFjsduService, BisInspObjStrategy {
- @Autowired
- private BisInspFjsduDao bisInspFjsduDao;
- @Autowired
- private AttFjsduBaseDao attFjsduBaseDao;
- @Autowired
- private BisInspFjsduImgrDao bisInspFjsduImgrDao;
- @Autowired
- private BisInspFjsduSafdlDao bisInspFjsduSafdlDao;
- @Autowired
- private AttAdBaseDao attAdBaseDao;
- @Autowired
- private BisInspAllObjDao bisInspAllObjDao;
- public BisInspFjsduServiceImpl(BisInspFjsduDao bisInspFjsduDao) {
- super(bisInspFjsduDao);
- this.bisInspFjsduDao = bisInspFjsduDao;
- }
- @Override
- public int insert(BisInspFjsdu bisInspFjsdu) {
- // 生成uuid
- String uuid = UuidUtil.uuid();
- bisInspFjsdu.setId(uuid);
- bisInspFjsdu.setIntm(new Date());
- bisInspFjsdu.setUptm(new Date());
- bisInspFjsdu.setDataStat("0");
- if(null == bisInspFjsdu.getIsCnfm() ){
- bisInspFjsdu.setIsCnfm("1");
- }
- // 登记表
- int rows = this.bisInspFjsduDao.insert(bisInspFjsdu);
- // 8个子表
- // 现场管理 450 分
- BisInspFjsduImgr param4 = new BisInspFjsduImgr();
- param4.setId(UuidUtil.uuid());
- param4.setRgstrId(uuid);
- param4.setPersId(bisInspFjsdu.getPersId());
- param4.setIntm(new Date());
- param4.setUptm(new Date());
- param4.setDataStat("0");
- bisInspFjsduImgrDao.insert(param4);
- // 安全风险分级管控及隐患排查治理 170分
- BisInspFjsduSafdl param5 = new BisInspFjsduSafdl();
- param5.setId(UuidUtil.uuid());
- param5.setRgstrId(uuid);
- param5.setPersId(bisInspFjsdu.getPersId());
- param5.setIntm(new Date());
- param5.setUptm(new Date());
- param5.setDataStat("0");
- bisInspFjsduSafdlDao.insert(param5);
- return rows ;
- }
- @Override
- public int update(BisInspFjsdu bisInspFjsdu) {
- if(StringUtils.isNotBlank(bisInspFjsdu.getObjId())){
- updateBase(bisInspFjsdu);
- }
- bisInspFjsdu.setUptm(new Date());
- return this.bisInspFjsduDao.update(bisInspFjsdu);
- }
- /**
- * 更新基础表
- */
- void updateBase(BisInspFjsdu bisInspFjsdu) {
- AttFjsduBase base = attFjsduBaseDao.getObjId(bisInspFjsdu.getObjId());
- Optional.ofNullable(base).ifPresent(b -> {
- String id = b.getId();
- BeanUtils.copyProperties(bisInspFjsdu, b);
- b.setId(id);
- b.setIntm(null);
- attFjsduBaseDao.update(b);
- });
- }
- @Override
- public BisInspFjsdu get(String key) {
- BisInspFjsdu qymten = super.get(key);
- Optional.ofNullable(qymten).map(BisInspFjsdu::getAdCode).ifPresent(adCode -> {
- AttAdBase attAdBase = attAdBaseDao.get(adCode);
- Optional.ofNullable(attAdBase).ifPresent(base -> {
- qymten.setAdName(base.getAdFullName());
- });
- });
- return qymten;
- }
- @Override
- public int delete(String id) {
- return this.bisInspFjsduDao.delete(id);
- }
- @Override
- public void insertObj(BisInspAllObj bisInspAllObj, String persId) {
- AttFjsduBase attFjsduBase = attFjsduBaseDao.get(bisInspAllObj.getCode());
- BisInspFjsdu fjsduRgstr = new BisInspFjsdu();
- fjsduRgstr.setObjId(bisInspAllObj.getObjId());
- fjsduRgstr.setName(attFjsduBase.getName());
- fjsduRgstr.setAdCode(attFjsduBase.getAdCode());
- fjsduRgstr.setAdName(attFjsduBase.getAdName());
- fjsduRgstr.setBusAddr(attFjsduBase.getBusAddr());
- fjsduRgstr.setConPers(attFjsduBase.getConPers());
- fjsduRgstr.setConPersTel(attFjsduBase.getConPersTel());
- fjsduRgstr.setCenterX(attFjsduBase.getCenterX());
- fjsduRgstr.setCenterY(attFjsduBase.getCenterY());
- fjsduRgstr.setGdX(attFjsduBase.getGdX());
- fjsduRgstr.setGdY(attFjsduBase.getGdY());
- fjsduRgstr.setGroupId(bisInspAllObj.getId());
- fjsduRgstr.setProvince(bisInspAllObj.getProvince());
- fjsduRgstr.setPersId(persId);
- fjsduRgstr.setState("0");
- fjsduRgstr.setIsCnfm(attFjsduBase.getIsCnfm());
- if(null == fjsduRgstr.getIsCnfm() ){
- fjsduRgstr.setIsCnfm("1");
- }
- insert(fjsduRgstr);
- }
- @Override
- public String getType() {
- return BisInspEnum.FJSDU.getValue();
- }
- @Override
- public void cleanObjData(String objId) {
- BisInspFjsduParam param = new BisInspFjsduParam();
- param.setObjId(objId);
- List<BisInspFjsdu> list = bisInspFjsduDao.findList(param);
- if (CollectionUtils.isNotEmpty(list)) {
- String rgstrId = list.get(0).getId();
- //删除名录表
- BisInspAllObjParam bisInspAllObjParam = new BisInspAllObjParam();
- bisInspAllObjParam.setObjId(objId);
- this.bisInspAllObjDao.deleteBy(bisInspAllObjParam);
- //登记表
- bisInspFjsduDao.delete(rgstrId);
- //8个子表
- BisInspFjsduImgrParam param4 = new BisInspFjsduImgrParam();
- param4.setRgstrId(rgstrId);
- bisInspFjsduImgrDao.deleteBy(param4);
- BisInspFjsduSafdlParam param5 = new BisInspFjsduSafdlParam();
- param5.setRgstrId(rgstrId);
- bisInspFjsduSafdlDao.deleteBy(param5);
- }
- }
- @Override
- public PageInfo<BisInspFjsduDto> findQaPage(TypeParam param) {
- if (StringUtils.isNotBlank(param.getAdCode())) {
- param.setAdCode(String.valueOf(AdLevelUtil.SubAd(param.getAdCode()).get(SplitValue.SUBAD)));
- }
- if (StringUtils.isNotBlank(param.getAdCodes())) {
- param.setAdCodes(AdLevelUtil.getListAddvcd(param.getAdCodes()));
- }
- PageHelper.startPage(param);
- List<BisInspFjsduDto> list = bisInspFjsduDao.findFjsduPage(param);
- return new PageInfo<>(list);
- }
-
- @Override
- public PageInfo findObjPageByType(TypeParam typeParam, HttpServletResponse response) {
- return this.findQaPage(typeParam);
- }
- @Override
- public Object findObjListByType(TypeParam typeParam) {
- List<BisInspFjsduDto> list = bisInspFjsduDao.findFjsduPage(typeParam);
- if (list.size() > 0) {
- for (BisInspFjsduDto qaDto : list) {
- String adFullName = qaDto.getAdFullName();
- if (org.apache.commons.lang3.StringUtils.isBlank(adFullName)) {
- continue;
- }
- if (adFullName.contains(SplitValue.HENG_SPLIT)) {
- String[] split = adFullName.split(SplitValue.HENG_SPLIT);
- if (split.length == 2) {
- qaDto.setProvince(split[0]);
- qaDto.setCity(split[1]);
- }
- if (split.length == 1) {
- qaDto.setProvince(split[0]);
- qaDto.setCity("");
- }
- } else {
- qaDto.setProvince(adFullName);
- }
- }
- }
- return list;
- }
- @Override
- public List<BisInspFjsduDto> findPageOfficeList(TypeParam param) {
- if (org.apache.commons.lang3.StringUtils.isNotBlank(param.getAdCode())) {
- param.setAdCode(String.valueOf(AdLevelUtil.SubAd(param.getAdCode()).get(SplitValue.SUBAD)));
- }
- if (org.apache.commons.lang3.StringUtils.isNotBlank(param.getAdCodes())) {
- param.setAdCodes(AdLevelUtil.getListAddvcd(param.getAdCodes()));
- }
- List<BisInspFjsduDto> list = bisInspFjsduDao.findPageOfficeList(param);
- return list;
- }
- @Override
- public void updateState(Map<String, Object> map) {
- }
- @Autowired
- private BisInspAllRlationDao inspAllRlationDao;
- @Autowired
- private RoleDao roleDao;
- @Override
- public String getTabPri(TypeParam param) {
- String curPersId = param.getPresId();
- // 判断角色
- RoleParam roleParam = new RoleParam();
- roleParam.setUserId(curPersId);
- roleParam.setOrgId(param.getOrgId());
- List<Role> roleList = roleDao.getTabPriByUserId(roleParam);
- boolean flag1 = false;
- boolean flag2 = false;
- boolean flag3 = false;
- if (null != roleList) {
- for (Role role : roleList) {
- if (role.getRoleName().contains("现场专家")) {
- flag1 = true;
- }
- if (role.getRoleName().contains("非现场专家")) {
- flag2 = true;
- }
- if (role.getRoleName().contains("管理员") || role.getRoleName().contains("组长")) {
- flag3 = true;
- }
- }
- }
- if (flag3 || (flag1 && flag2)) {
- // 管理员 或 同时具有 党建 工地专家权限
- return "1";
- }
- // 判断对象所在组的 人员 身份类型
- BisInspAllRlationParam allRlationParam = new BisInspAllRlationParam();
- allRlationParam.setpType(param.getpType());
- allRlationParam.setOrgId(param.getOrgId());
- allRlationParam.setPersid(curPersId);
- List<BisInspAllRlation> allRlationList = inspAllRlationDao.getPerTypeByUserIdandObjId(allRlationParam);
- if (null != allRlationList) {
- for (BisInspAllRlation allRlation : allRlationList) {
- if ("1".equals(allRlation.getPertype())) {
- // 当前用户 在对象所在组里 身份类型 是 组长
- flag3 = true;
- }
- }
- }
- if (flag3) {
- // 组长\管理员
- return "1";
- }
- if (flag1) {
- // 现场专家
- return "2";
- }
- if (flag2) {
- // 非现场专家
- return "3";
- }
- // 其他:不是管理员、 不具有党建、工地角色
- return "4";
- }
-
- }
|