package cn.com.goldenwater.dcproj.service.impl.keyreg; import cn.com.goldenwater.dcproj.constValue.StateEnum; import cn.com.goldenwater.dcproj.dao.AttMampuInfoDao; import cn.com.goldenwater.dcproj.dao.BisInspKeyRegisterDao; import cn.com.goldenwater.dcproj.dao.BisInspPblmDao; import cn.com.goldenwater.dcproj.model.*; import cn.com.goldenwater.dcproj.param.AttMampuInfoParam; import cn.com.goldenwater.dcproj.param.BisInspPblmParam; import cn.com.goldenwater.dcproj.param.KeyRegPatam; import cn.com.goldenwater.dcproj.service.AttMampuInfoService; import cn.com.goldenwater.core.service.AbstractCrudService; import com.github.pagehelper.PageHelper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; /** * @author lhc * @date 2019-4-20 */ @Service @Transactional(rollbackFor = Exception.class) public class AttMampuInfoServiceImpl extends AbstractCrudService implements AttMampuInfoService { @Autowired private AttMampuInfoDao attMampuInfoDao; @Autowired private BisInspPblmDao bisInspPblmDao; @Autowired private BisInspKeyRegisterDao bisInspKeyRegisterDao; public AttMampuInfoServiceImpl(AttMampuInfoDao attMampuInfoDao) { super(attMampuInfoDao); this.attMampuInfoDao = attMampuInfoDao; } @Override public List findByList(AttMampuInfoParam attMampuInfoParam) { return attMampuInfoDao.findByList(attMampuInfoParam); } @Override public int deleteByChk(String id) { BisInspPblmParam bisInspPblmParam = new BisInspPblmParam(); bisInspPblmParam.setRegid(id); List bisInspPblms = bisInspPblmDao.findList(bisInspPblmParam); if (bisInspPblms.size() > 0) { return 172001; } else { //删除一级单位判断下面 有没有其他级别单位 //获取单位信息 AttMampuInfo attMampuInfo = attMampuInfoDao.get(id); if (attMampuInfo == null) { return 172003; } String lev = attMampuInfo.getLev(); String regId = attMampuInfo.getRegId(); BisInspKeyRegister bisInspKeyRegister = new BisInspKeyRegister(); bisInspKeyRegister.setId(attMampuInfo.getRegId()); AttMampuInfoParam attMampuInfoParam1 = new AttMampuInfoParam(); attMampuInfoParam1.setRegId(regId); attMampuInfoParam1.setLev(lev); //判断单位级别 if ("1".equals(lev) || "2".equals(lev)) { AttMampuInfoParam attMampuInfoParam = new AttMampuInfoParam(); attMampuInfoParam.setPid(id); List attMampuInfos = findByList(attMampuInfoParam); if (attMampuInfos.size() > 0) { return 172002; } else { int row = attMampuInfoDao.delete(id); //获取本级单位总个数 List attMampuInfos1 = findByList(attMampuInfoParam1); if (attMampuInfos1.size() == 0) { //删除单位完要更新状态 bisInspKeyRegister.setId(regId); if ("1".equals(lev)) { bisInspKeyRegister.setOneUnitStat(StateEnum.NOWASTSTATE.getKey()); } if ("2".equals(lev)) { bisInspKeyRegister.setTwoUnitStat(StateEnum.NOWASTSTATE.getKey()); } bisInspKeyRegisterDao.update(bisInspKeyRegister); } return row; } } else { //第三级别 int row = attMampuInfoDao.delete(id); //获取本级单位总个数 List attMampuInfos1 = findByList(attMampuInfoParam1); if (attMampuInfos1.size() == 0) { //删除单位完要更新状态 bisInspKeyRegister.setId(regId); bisInspKeyRegister.setThreeUnitStat(StateEnum.NOWASTSTATE.getKey()); bisInspKeyRegisterDao.update(bisInspKeyRegister); } return row; } } } }