package cn.com.goldenwater.dcproj.service.impl.samrmp; 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.constValue.StateEnum; import cn.com.goldenwater.dcproj.dao.*; import cn.com.goldenwater.dcproj.dto.BisInspRgstrDto; import cn.com.goldenwater.dcproj.model.AttSamrmpBase; import cn.com.goldenwater.dcproj.model.BisInspAllObj; import cn.com.goldenwater.dcproj.model.BisInspSamrmpRgstr; import cn.com.goldenwater.dcproj.param.*; import cn.com.goldenwater.dcproj.service.BisInspObjStrategy; import cn.com.goldenwater.dcproj.service.BisInspSamrmpRgstrService; import cn.com.goldenwater.dcproj.utils.AdLevelUtil; import cn.com.goldenwater.id.util.UuidUtil; import cn.com.goldenwater.util.common.InspPblmUtils; 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; /** * @author lune * @date 2020-9-11 */ @Service @Transactional(rollbackFor = Exception.class) public class BisInspSamrmpRgstrServiceImpl extends AbstractCrudService implements BisInspSamrmpRgstrService, BisInspObjStrategy { @Autowired private BisInspSamrmpRgstrDao bisInspSamrmpRgstrDao; @Autowired private BisInspSamrmpRgstrSmrmpDao bisInspSamrmpRgstrSmrmpDao; @Autowired private BisInspPblmDao bisInspPblmDao; @Autowired private BisInspAllObjDao bisInspAllObjDao; @Autowired private AttSamrmpBaseDao attSamrmpBaseDao; public BisInspSamrmpRgstrServiceImpl(BisInspSamrmpRgstrDao bisInspSamrmpRgstrDao) { super(bisInspSamrmpRgstrDao); this.bisInspSamrmpRgstrDao = bisInspSamrmpRgstrDao; } @Override public void insertObj(BisInspAllObj bisInspAllObj, String persId) { AttSamrmpBase base = attSamrmpBaseDao.get(bisInspAllObj.getCode()); BisInspSamrmpRgstr rgstr = new BisInspSamrmpRgstr(); BeanUtils.copyProperties(base, rgstr); rgstr.setId(UuidUtil.uuid()); rgstr.setObjId(bisInspAllObj.getObjId()); rgstr.setPrjId(bisInspAllObj.getCode()); rgstr.setPrjName(bisInspAllObj.getNm()); rgstr.setSmrmpState(StateEnum.NOWASTSTATE.getKey()); rgstr.setState(StateEnum.NOWASTSTATE.getKey()); rgstr.setIntm(new Date()); rgstr.setUptm(new Date()); rgstr.setRecPersId(persId); bisInspSamrmpRgstrDao.insert(rgstr); } @Override public void cleanObjData(String objId) { BisInspSamrmpRgstrParam rgstrParam = new BisInspSamrmpRgstrParam(); rgstrParam.setObjId(objId); List rgstrList = bisInspSamrmpRgstrDao.findList(rgstrParam); if (CollectionUtils.isNotEmpty(rgstrList)) { String id = rgstrList.get(0).getId(); //删除问题 BisInspPblmParam bisInspPblmParam = new BisInspPblmParam(); bisInspPblmParam.setObjId(objId); bisInspPblmParam.setObjType(BisInspEnum.WINTU.getValue()); this.bisInspPblmDao.deleteBy(bisInspPblmParam); //删除对象名录表 BisInspAllObjParam bisInspAllObjParam = new BisInspAllObjParam(); bisInspAllObjParam.setObjId(objId); this.bisInspAllObjDao.deleteBy(bisInspAllObjParam); BisInspSamrmpRgstrSmrmpParam smrmpParam = new BisInspSamrmpRgstrSmrmpParam(); smrmpParam.setRgstrId(id); bisInspSamrmpRgstrSmrmpDao.deleteBy(smrmpParam); bisInspSamrmpRgstrDao.delete(id); } } @Override public PageInfo findObjPageByType(TypeParam typeParam, HttpServletResponse response) { return this.findSamrmpPage(typeParam); } @Override public Object findObjListByType(TypeParam typeParam) { List list = bisInspSamrmpRgstrDao.findSamrmpList(typeParam); list = InspPblmUtils.changeList(list); return list; } @Override public String getType() { return BisInspEnum.SAMRMP.getValue(); } public String getAdCode(String regid) { return null; } @Override public PageInfo findSamrmpPage(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 list = bisInspSamrmpRgstrDao.findSamrmpList(param); list = InspPblmUtils.changeList(list); return new PageInfo(list); } }