| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332 |
- package cn.com.goldenwater.dcproj.service.impl.fjpjcsu;
- 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.AttFjpjcsuBaseDao;
- import cn.com.goldenwater.dcproj.dao.BisInspAllObjDao;
- import cn.com.goldenwater.dcproj.dao.BisInspAllRlationDao;
- import cn.com.goldenwater.dcproj.dao.BisInspFjpjcsuDao;
- import cn.com.goldenwater.dcproj.dao.BisInspFjpjcsuImgrDao;
- import cn.com.goldenwater.dcproj.dao.BisInspFjpjcsuSafdlDao;
- import cn.com.goldenwater.dcproj.dao.RoleDao;
- import cn.com.goldenwater.dcproj.dto.BisInspFjpjcsuDto;
- import cn.com.goldenwater.dcproj.model.AttAdBase;
- import cn.com.goldenwater.dcproj.model.AttFjpjcsuBase;
- import cn.com.goldenwater.dcproj.model.BisInspAllObj;
- import cn.com.goldenwater.dcproj.model.BisInspAllRlation;
- import cn.com.goldenwater.dcproj.model.BisInspFjpjcsu;
- import cn.com.goldenwater.dcproj.model.BisInspFjpjcsuImgr;
- import cn.com.goldenwater.dcproj.model.BisInspFjpjcsuSafdl;
- 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.BisInspFjpjcsuImgrParam;
- import cn.com.goldenwater.dcproj.param.BisInspFjpjcsuParam;
- import cn.com.goldenwater.dcproj.param.BisInspFjpjcsuSafdlParam;
- import cn.com.goldenwater.dcproj.param.RoleParam;
- import cn.com.goldenwater.dcproj.param.TypeParam;
- import cn.com.goldenwater.dcproj.service.BisInspFjpjcsuService;
- 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 lxf
- * @date 2023年12月19日
- */
- @Service
- @Transactional
- public class BisInspFjpjcsuServiceImpl extends AbstractCrudService<BisInspFjpjcsu, BisInspFjpjcsuParam> implements BisInspFjpjcsuService , BisInspObjStrategy {
- @Autowired
- private BisInspFjpjcsuDao bisInspFjpjcsuDao;
- @Autowired
- private AttFjpjcsuBaseDao attFjpjcsuBaseDao;
- @Autowired
- private BisInspFjpjcsuImgrDao bisInspFjpjcsuImgrDao;
- @Autowired
- private BisInspFjpjcsuSafdlDao bisInspFjpjcsuSafdlDao;
-
- @Autowired
- private BisInspAllObjDao bisInspAllObjDao;
- @Autowired
- private AttAdBaseDao attAdBaseDao;
-
- public BisInspFjpjcsuServiceImpl(BisInspFjpjcsuDao bisInspFjpjcsuDao) {
- super(bisInspFjpjcsuDao);
- this.bisInspFjpjcsuDao = bisInspFjpjcsuDao;
- }
- @Override
- public int insert(BisInspFjpjcsu bisInspFjpjcsu) {
- // 生成uuid
- String uuid = UuidUtil.uuid();
- bisInspFjpjcsu.setId(uuid);
- bisInspFjpjcsu.setIntm(new Date());
- bisInspFjpjcsu.setUptm(new Date());
- bisInspFjpjcsu.setDataStat("0");
- if(null == bisInspFjpjcsu.getIsCnfm() ){
- bisInspFjpjcsu.setIsCnfm("1");
- }
- int rows = this.bisInspFjpjcsuDao.insert(bisInspFjpjcsu);
- // 评审8个部分 2个子表
- BisInspFjpjcsuImgr param4 = new BisInspFjpjcsuImgr();
- param4.setId(UuidUtil.uuid());
- param4.setRgstrId(uuid);
- param4.setPersId(bisInspFjpjcsu.getPersId());
- param4.setIntm(new Date());
- param4.setUptm(new Date());
- param4.setDataStat("0");
- bisInspFjpjcsuImgrDao.insert(param4);
- BisInspFjpjcsuSafdl param5 = new BisInspFjpjcsuSafdl();
- param5.setId(UuidUtil.uuid());
- param5.setRgstrId(uuid);
- param5.setPersId(bisInspFjpjcsu.getPersId());
- param5.setIntm(new Date());
- param5.setUptm(new Date());
- param5.setDataStat("0");
- bisInspFjpjcsuSafdlDao.insert(param5);
-
- return rows ;
- }
- @Override
- public int update(BisInspFjpjcsu bisInspFjpjcsu) {
- if(StringUtils.isNotBlank(bisInspFjpjcsu.getObjId())){
- updateBase(bisInspFjpjcsu);
- }
- bisInspFjpjcsu.setUptm(new Date());
- return this.bisInspFjpjcsuDao.update(bisInspFjpjcsu);
- }
- /**
- * 更新基础表
- */
- void updateBase(BisInspFjpjcsu bisInspFjpjcsu) {
- AttFjpjcsuBase base = attFjpjcsuBaseDao.getObjId(bisInspFjpjcsu.getObjId());
- Optional.ofNullable(base).ifPresent(b -> {
- String id = b.getId();
- BeanUtils.copyProperties(bisInspFjpjcsu, b);
- b.setId(id);
- b.setIntm(null);
- attFjpjcsuBaseDao.update(b);
- });
- }
- @Override
- public BisInspFjpjcsu get(String key) {
- BisInspFjpjcsu qymten = super.get(key);
- Optional.ofNullable(qymten).map(BisInspFjpjcsu::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.bisInspFjpjcsuDao.delete(id);
- }
- @Override
- public void insertObj(BisInspAllObj bisInspAllObj, String persId) {
- AttFjpjcsuBase attFjpjcsuBase = attFjpjcsuBaseDao.get(bisInspAllObj.getCode());
- BisInspFjpjcsu pjcsuRgstr = new BisInspFjpjcsu();
- pjcsuRgstr.setObjId(bisInspAllObj.getObjId());
- pjcsuRgstr.setName(attFjpjcsuBase.getName());
- pjcsuRgstr.setAdCode(attFjpjcsuBase.getAdCode());
- pjcsuRgstr.setAdName(attFjpjcsuBase.getAdName());
- pjcsuRgstr.setBusAddr(attFjpjcsuBase.getBusAddr());
- pjcsuRgstr.setConPers(attFjpjcsuBase.getConPers());
- pjcsuRgstr.setConPersTel(attFjpjcsuBase.getConPersTel());
- pjcsuRgstr.setCenterX(attFjpjcsuBase.getCenterX());
- pjcsuRgstr.setCenterY(attFjpjcsuBase.getCenterY());
- pjcsuRgstr.setGdX(attFjpjcsuBase.getGdX());
- pjcsuRgstr.setGdY(attFjpjcsuBase.getGdY());
- pjcsuRgstr.setGroupId(bisInspAllObj.getId());
- pjcsuRgstr.setProvince(bisInspAllObj.getProvince());
- pjcsuRgstr.setPersId(persId);
- pjcsuRgstr.setState("0");
- pjcsuRgstr.setIsCnfm(attFjpjcsuBase.getIsCnfm());
- if(null == pjcsuRgstr.getIsCnfm() ){
- pjcsuRgstr.setIsCnfm("1");
- }
- insert(pjcsuRgstr);
- }
- @Override
- public String getType() {
- return BisInspEnum.FJPJCSU.getValue();
- }
- @Override
- public void cleanObjData(String objId) {
- BisInspFjpjcsuParam param = new BisInspFjpjcsuParam();
- param.setObjId(objId);
- List<BisInspFjpjcsu> list = bisInspFjpjcsuDao.findList(param);
- if (CollectionUtils.isNotEmpty(list)) {
- String rgstrId = list.get(0).getId();
- //删除名录表
- BisInspAllObjParam bisInspAllObjParam = new BisInspAllObjParam();
- bisInspAllObjParam.setObjId(objId);
- this.bisInspAllObjDao.deleteBy(bisInspAllObjParam);
- //登记表
- bisInspFjpjcsuDao.delete(rgstrId);
- //8个子表
- BisInspFjpjcsuImgrParam param4 = new BisInspFjpjcsuImgrParam();
- param4.setRgstrId(rgstrId);
- bisInspFjpjcsuImgrDao.deleteBy(param4);
- BisInspFjpjcsuSafdlParam param5 = new BisInspFjpjcsuSafdlParam();
- param5.setRgstrId(rgstrId);
- bisInspFjpjcsuSafdlDao.deleteBy(param5);
- }
- }
- @Override
- public PageInfo<BisInspFjpjcsuDto> 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<BisInspFjpjcsuDto> list = bisInspFjpjcsuDao.findFjpjcsuPage(param);
- return new PageInfo<>(list);
- }
- @Override
- public PageInfo findObjPageByType(TypeParam typeParam, HttpServletResponse response) {
- return this.findQaPage(typeParam);
- }
- @Override
- public Object findObjListByType(TypeParam typeParam) {
- List<BisInspFjpjcsuDto> list = bisInspFjpjcsuDao.findFjpjcsuPage(typeParam);
- if (list.size() > 0) {
- for (BisInspFjpjcsuDto 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<BisInspFjpjcsuDto> 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<BisInspFjpjcsuDto> list = bisInspFjpjcsuDao.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";
- }
- }
|