| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428 |
- package cn.com.goldenwater.dcproj.service.impl.fjpjlgl;
- 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.AttFjpjlglBaseDao;
- import cn.com.goldenwater.dcproj.dao.BisInspAllObjDao;
- import cn.com.goldenwater.dcproj.dao.BisInspAllRlationDao;
- import cn.com.goldenwater.dcproj.dao.BisInspFjpjlglAmDao;
- import cn.com.goldenwater.dcproj.dao.BisInspFjpjlglCimtDao;
- import cn.com.goldenwater.dcproj.dao.BisInspFjpjlglDao;
- import cn.com.goldenwater.dcproj.dao.BisInspFjpjlglEmDao;
- import cn.com.goldenwater.dcproj.dao.BisInspFjpjlglImgrDao;
- import cn.com.goldenwater.dcproj.dao.BisInspFjpjlglSafdlDao;
- import cn.com.goldenwater.dcproj.dao.BisInspFjpjlglSystemDao;
- import cn.com.goldenwater.dcproj.dao.BisInspFjpjlglTrgtDao;
- import cn.com.goldenwater.dcproj.dao.BisInspFjpjlglTvetDao;
- import cn.com.goldenwater.dcproj.dao.RoleDao;
- import cn.com.goldenwater.dcproj.dto.BisInspFjpjlglDto;
- import cn.com.goldenwater.dcproj.model.AttAdBase;
- import cn.com.goldenwater.dcproj.model.AttFjpjlglBase;
- import cn.com.goldenwater.dcproj.model.BisInspAllObj;
- import cn.com.goldenwater.dcproj.model.BisInspAllRlation;
- import cn.com.goldenwater.dcproj.model.BisInspFjpjlgl;
- import cn.com.goldenwater.dcproj.model.BisInspFjpjlglAm;
- import cn.com.goldenwater.dcproj.model.BisInspFjpjlglCimt;
- import cn.com.goldenwater.dcproj.model.BisInspFjpjlglEm;
- import cn.com.goldenwater.dcproj.model.BisInspFjpjlglImgr;
- import cn.com.goldenwater.dcproj.model.BisInspFjpjlglSafdl;
- import cn.com.goldenwater.dcproj.model.BisInspFjpjlglSystem;
- import cn.com.goldenwater.dcproj.model.BisInspFjpjlglTrgt;
- import cn.com.goldenwater.dcproj.model.BisInspFjpjlglTvet;
- 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.BisInspFjpjlglAmParam;
- import cn.com.goldenwater.dcproj.param.BisInspFjpjlglCimtParam;
- import cn.com.goldenwater.dcproj.param.BisInspFjpjlglEmParam;
- import cn.com.goldenwater.dcproj.param.BisInspFjpjlglImgrParam;
- import cn.com.goldenwater.dcproj.param.BisInspFjpjlglParam;
- import cn.com.goldenwater.dcproj.param.BisInspFjpjlglSafdlParam;
- import cn.com.goldenwater.dcproj.param.BisInspFjpjlglSystemParam;
- import cn.com.goldenwater.dcproj.param.BisInspFjpjlglTrgtParam;
- import cn.com.goldenwater.dcproj.param.BisInspFjpjlglTvetParam;
- import cn.com.goldenwater.dcproj.param.RoleParam;
- import cn.com.goldenwater.dcproj.param.TypeParam;
- import cn.com.goldenwater.dcproj.service.AttAdBaseService;
- import cn.com.goldenwater.dcproj.service.BisInspFjpjlglService;
- import cn.com.goldenwater.dcproj.service.BisInspObjStrategy;
- import cn.com.goldenwater.dcproj.utils.AdLevelUtil;
- 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.apache.commons.lang3.StringUtils;
- 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-11-7
- */
- @Service
- @Transactional
- public class BisInspFjpjlglServiceImpl extends AbstractCrudService<BisInspFjpjlgl, BisInspFjpjlglParam> implements BisInspFjpjlglService, BisInspObjStrategy {
- @Autowired
- private BisInspFjpjlglDao bisInspFjpjlglDao;
- @Autowired
- private AttFjpjlglBaseDao attFjpjlglBaseDao;
- @Autowired
- private BisInspAllObjDao bisInspAllObjDao;
- @Autowired
- private BisInspFjpjlglTrgtDao bisInspFjpjlglTrgtDao;
- @Autowired
- private BisInspFjpjlglSystemDao bisInspFjpjlglSystemDao;
- @Autowired
- private BisInspFjpjlglTvetDao bisInspFjpjlglTvetDao;
- @Autowired
- private BisInspFjpjlglImgrDao bisInspFjpjlglImgrDao;
- @Autowired
- private BisInspFjpjlglSafdlDao bisInspFjpjlglSafdlDao;
- @Autowired
- private BisInspFjpjlglEmDao bisInspFjpjlglEmDao;
- @Autowired
- private BisInspFjpjlglAmDao bisInspFjpjlglAmDao;
- @Autowired
- private BisInspFjpjlglCimtDao bisInspFjpjlglCimtDao;
- @Autowired
- private AttAdBaseService attAdBaseService;
- public BisInspFjpjlglServiceImpl(BisInspFjpjlglDao bisInspFjpjlglDao) {
- super(bisInspFjpjlglDao);
- this.bisInspFjpjlglDao = bisInspFjpjlglDao;
- }
- @Override
- public int insert(BisInspFjpjlgl bisInspFjpjlgl) {
- String uuid = UuidUtil.uuid(); // 生成uuid
- bisInspFjpjlgl.setId(uuid);
- bisInspFjpjlgl.setIntm(new Date());
- bisInspFjpjlgl.setUptm(new Date());
- bisInspFjpjlgl.setDataStat("0");
- if(null == bisInspFjpjlgl.getIsCnfm() ){
- bisInspFjpjlgl.setIsCnfm("1");
- }
- int ret = this.bisInspFjpjlglDao.insert(bisInspFjpjlgl);
- //8个子表
- BisInspFjpjlglTrgt param1 = new BisInspFjpjlglTrgt();
- param1.setId(UuidUtil.uuid());
- param1.setRgstrId(uuid);
- param1.setPersId(bisInspFjpjlgl.getPersId());
- param1.setIntm(new Date());
- param1.setUptm(new Date());
- param1.setDataStat("0");
- bisInspFjpjlglTrgtDao.insert(param1);
- BisInspFjpjlglSystem param2 = new BisInspFjpjlglSystem();
- param2.setId(UuidUtil.uuid());
- param2.setRgstrId(uuid);
- param2.setPersId(bisInspFjpjlgl.getPersId());
- param2.setIntm(new Date());
- param2.setUptm(new Date());
- param2.setDataStat("0");
- bisInspFjpjlglSystemDao.insert(param2);
- BisInspFjpjlglTvet param3 = new BisInspFjpjlglTvet();
- param3.setId(UuidUtil.uuid());
- param3.setRgstrId(uuid);
- param3.setPersId(bisInspFjpjlgl.getPersId());
- param3.setIntm(new Date());
- param3.setUptm(new Date());
- param3.setDataStat("0");
- bisInspFjpjlglTvetDao.insert(param3);
- BisInspFjpjlglImgr param4 = new BisInspFjpjlglImgr();
- param4.setId(UuidUtil.uuid());
- param4.setRgstrId(uuid);
- param4.setPersId(bisInspFjpjlgl.getPersId());
- param4.setIntm(new Date());
- param4.setUptm(new Date());
- param4.setDataStat("0");
- bisInspFjpjlglImgrDao.insert(param4);
- BisInspFjpjlglSafdl param5 = new BisInspFjpjlglSafdl();
- param5.setId(UuidUtil.uuid());
- param5.setRgstrId(uuid);
- param5.setPersId(bisInspFjpjlgl.getPersId());
- param5.setIntm(new Date());
- param5.setUptm(new Date());
- param5.setDataStat("0");
- bisInspFjpjlglSafdlDao.insert(param5);
- BisInspFjpjlglEm param6 = new BisInspFjpjlglEm();
- param6.setId(UuidUtil.uuid());
- param6.setRgstrId(uuid);
- param6.setPersId(bisInspFjpjlgl.getPersId());
- param6.setIntm(new Date());
- param6.setUptm(new Date());
- param6.setDataStat("0");
- bisInspFjpjlglEmDao.insert(param6);
- BisInspFjpjlglAm param7 = new BisInspFjpjlglAm();
- param7.setId(UuidUtil.uuid());
- param7.setRgstrId(uuid);
- param7.setPersId(bisInspFjpjlgl.getPersId());
- param7.setIntm(new Date());
- param7.setUptm(new Date());
- param7.setDataStat("0");
- bisInspFjpjlglAmDao.insert(param7);
- BisInspFjpjlglCimt param8 = new BisInspFjpjlglCimt();
- param8.setId(UuidUtil.uuid());
- param8.setRgstrId(uuid);
- param8.setPersId(bisInspFjpjlgl.getPersId());
- param8.setIntm(new Date());
- param8.setUptm(new Date());
- param8.setDataStat("0");
- bisInspFjpjlglCimtDao.insert(param8);
- return ret;
- }
- @Override
- public int update(BisInspFjpjlgl bisInspFjpjlgl) {
- if(org.apache.commons.lang.StringUtils.isNotBlank(bisInspFjpjlgl.getObjId())){
- updateBase(bisInspFjpjlgl);
- }
- bisInspFjpjlgl.setUptm(new Date());
- return this.bisInspFjpjlglDao.update(bisInspFjpjlgl);
- }
- /**
- * 更新基础表
- */
- void updateBase(BisInspFjpjlgl bisInspFjpjlgl) {
- AttFjpjlglBase base = attFjpjlglBaseDao.getObjId(bisInspFjpjlgl.getObjId());
- Optional.ofNullable(base).ifPresent(b -> {
- String id = b.getId();
- BeanUtils.copyProperties(bisInspFjpjlgl, b);
- b.setId(id);
- b.setIntm(null);
- attFjpjlglBaseDao.update(b);
- });
- }
- @Override
- public BisInspFjpjlgl get(String key) {
- BisInspFjpjlgl qymten = super.get(key);
- Optional.ofNullable(qymten).map(BisInspFjpjlgl::getAdCode).ifPresent(adCode -> {
- AttAdBase attAdBase = attAdBaseService.get(adCode);
- Optional.ofNullable(attAdBase).ifPresent(base -> {
- qymten.setAdName(base.getAdFullName());
- });
- });
- return qymten;
- }
- @Override
- public int delete(String id) {
- return this.bisInspFjpjlglDao.delete(id);
- }
- @Override
- public void insertObj(BisInspAllObj bisInspAllObj, String persId) {
- AttFjpjlglBase attFjpjlglBase = attFjpjlglBaseDao.get(bisInspAllObj.getCode());
- BisInspFjpjlgl fjpjlglRgstr = new BisInspFjpjlgl();
- fjpjlglRgstr.setObjId(bisInspAllObj.getObjId());
- fjpjlglRgstr.setName(attFjpjlglBase.getName());
- fjpjlglRgstr.setAdCode(attFjpjlglBase.getAdCode());
- fjpjlglRgstr.setAdName(attFjpjlglBase.getAdName());
- fjpjlglRgstr.setBusAddr(attFjpjlglBase.getBusAddr());
- fjpjlglRgstr.setConPers(attFjpjlglBase.getConPers());
- fjpjlglRgstr.setConPersTel(attFjpjlglBase.getConPersTel());
- fjpjlglRgstr.setCenterX(attFjpjlglBase.getCenterX());
- fjpjlglRgstr.setCenterY(attFjpjlglBase.getCenterY());
- fjpjlglRgstr.setGdX(attFjpjlglBase.getGdX());
- fjpjlglRgstr.setGdY(attFjpjlglBase.getGdY());
- fjpjlglRgstr.setGroupId(bisInspAllObj.getId());
- fjpjlglRgstr.setProvince(bisInspAllObj.getProvince());
- fjpjlglRgstr.setPersId(persId);
- fjpjlglRgstr.setState("0");
- fjpjlglRgstr.setIsCnfm(attFjpjlglBase.getIsCnfm());
- if(null == fjpjlglRgstr.getIsCnfm() ){
- fjpjlglRgstr.setIsCnfm("1");
- }
- insert(fjpjlglRgstr);
- }
- @Override
- public String getType() {
- return BisInspEnum.FJPJLGL.getValue();
- }
- @Override
- public void cleanObjData(String objId) {
- BisInspFjpjlglParam param = new BisInspFjpjlglParam();
- param.setObjId(objId);
- List<BisInspFjpjlgl> list = bisInspFjpjlglDao.findList(param);
- if (CollectionUtils.isNotEmpty(list)) {
- String rgstrId = list.get(0).getId();
- //删除名录表
- BisInspAllObjParam bisInspAllObjParam = new BisInspAllObjParam();
- bisInspAllObjParam.setObjId(objId);
- this.bisInspAllObjDao.deleteBy(bisInspAllObjParam);
- //登记表
- bisInspFjpjlglDao.delete(rgstrId);
- //8个子表
- BisInspFjpjlglTrgtParam param1 = new BisInspFjpjlglTrgtParam();
- param1.setRgstrId(rgstrId);
- bisInspFjpjlglTrgtDao.deleteBy(param1);
- BisInspFjpjlglSystemParam param2 = new BisInspFjpjlglSystemParam();
- param2.setRgstrId(rgstrId);
- bisInspFjpjlglSystemDao.deleteBy(param2);
- BisInspFjpjlglTvetParam param3 = new BisInspFjpjlglTvetParam();
- param3.setRgstrId(rgstrId);
- bisInspFjpjlglTvetDao.deleteBy(param3);
- BisInspFjpjlglImgrParam param4 = new BisInspFjpjlglImgrParam();
- param4.setRgstrId(rgstrId);
- bisInspFjpjlglImgrDao.deleteBy(param4);
- BisInspFjpjlglSafdlParam param5 = new BisInspFjpjlglSafdlParam();
- param5.setRgstrId(rgstrId);
- bisInspFjpjlglSafdlDao.deleteBy(param5);
- BisInspFjpjlglEmParam param6 = new BisInspFjpjlglEmParam();
- param6.setRgstrId(rgstrId);
- bisInspFjpjlglEmDao.deleteBy(param6);
- BisInspFjpjlglAmParam param7 = new BisInspFjpjlglAmParam();
- param7.setRgstrId(rgstrId);
- bisInspFjpjlglAmDao.deleteBy(param7);
- BisInspFjpjlglCimtParam param8 = new BisInspFjpjlglCimtParam();
- param8.setRgstrId(rgstrId);
- bisInspFjpjlglCimtDao.deleteBy(param8);
- }
- }
- @Override
- public PageInfo findObjPageByType(TypeParam typeParam, HttpServletResponse response) {
- return this.findQaPage(typeParam);
- }
- @Override
- public Object findObjListByType(TypeParam typeParam) {
- List<BisInspFjpjlglDto> list = bisInspFjpjlglDao.findFjpjlglPage(typeParam);
- if (list.size() > 0) {
- for (BisInspFjpjlglDto qaDto : list) {
- String adFullName = qaDto.getAdFullName();
- if (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 PageInfo<BisInspFjpjlglDto> 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<BisInspFjpjlglDto> list = bisInspFjpjlglDao.findFjpjlglPage(param);
- return new PageInfo<>(list);
- }
- @Override
- public List<BisInspFjpjlglDto> findPageOfficeList(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()));
- }
- List<BisInspFjpjlglDto> list = bisInspFjpjlglDao.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";
- }
- }
|