package cn.com.goldenwater.dcproj.service.impl; 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.AttEfpBase; import cn.com.goldenwater.dcproj.model.BisInspAllObj; import cn.com.goldenwater.dcproj.model.BisInspEfpRgstr; import cn.com.goldenwater.dcproj.param.*; import cn.com.goldenwater.dcproj.service.BisInspEfpRgstrService; import cn.com.goldenwater.dcproj.service.BisInspObjStrategy; 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.lang3.StringUtils; 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-5-27 */ @Service @Transactional public class BisInspEfpRgstrServiceImpl extends AbstractCrudService implements BisInspEfpRgstrService,BisInspObjStrategy { @Autowired private BisInspEfpRgstrDao bisInspEfpRgstrDao; @Autowired private AttEfpBaseDao attEfpBaseDao; @Autowired private BisInspPblmDao bisInspPblmDao; @Autowired private BisInspAllObjDao bisInspAllObjDao; @Autowired private BisInspEfpRgstrPlanComplDao bisInspEfpRgstrPlanComplDao; @Autowired private BisInspEfpRgstrReasonsRecDao bisInspEfpRgstrReasonsRecDao; public BisInspEfpRgstrServiceImpl(BisInspEfpRgstrDao bisInspEfpRgstrDao) { super(bisInspEfpRgstrDao); this.bisInspEfpRgstrDao = bisInspEfpRgstrDao; } @Override public void insertObj(BisInspAllObj bisInspAllObj, String persId) { AttEfpBase base = attEfpBaseDao.get(bisInspAllObj.getCode()); BisInspEfpRgstr rgstr = new BisInspEfpRgstr(); rgstr.setId(UuidUtil.uuid()); rgstr.setObjId(bisInspAllObj.getObjId()); rgstr.setObjCode(bisInspAllObj.getCode()); rgstr.setName(base.getName()); rgstr.setType(base.getType()); rgstr.setPro(base.getPro()); rgstr.setBas(base.getBas()); rgstr.setOrgId(base.getOrgId()); rgstr.setProName(base.getProName()); rgstr.setBasName(base.getBasName()); rgstr.setState(StateEnum.NOWASTSTATE.getKey()); rgstr.setPlanStat(StateEnum.NOWASTSTATE.getKey()); rgstr.setReasonStat(StateEnum.NOWASTSTATE.getKey()); rgstr.setRecPersId(persId); rgstr.setIntm(new Date()); rgstr.setUptm(new Date()); bisInspEfpRgstrDao.insert(rgstr); } @Override public void cleanObjData(String objId) { BisInspEfpRgstrParam rsfcoRgstrParam = new BisInspEfpRgstrParam(); rsfcoRgstrParam.setObjId(objId); List list = this.bisInspEfpRgstrDao.findList(rsfcoRgstrParam); if (list.size() > 0) { String id = list.get(0).getId(); BisInspPblmParam bisInspPblmParam = new BisInspPblmParam(); bisInspPblmParam.setObjId(objId); bisInspPblmParam.setObjType(BisInspEnum.EFP.getValue()); this.bisInspPblmDao.deleteBy(bisInspPblmParam);//删除问题 BisInspAllObjParam bisInspAllObjParam = new BisInspAllObjParam(); bisInspAllObjParam.setObjId(objId); this.bisInspAllObjDao.deleteBy(bisInspAllObjParam);//删除对象名录表 BisInspEfpRgstrPlanComplParam bisInspEfpRgstrPlanComplParam = new BisInspEfpRgstrPlanComplParam(); bisInspEfpRgstrPlanComplParam.setRgstrId(id); bisInspEfpRgstrPlanComplDao.deleteBy(bisInspEfpRgstrPlanComplParam); BisInspEfpRgstrReasonsRecParam bisInspEfpRgstrReasonsRecParam = new BisInspEfpRgstrReasonsRecParam(); bisInspEfpRgstrReasonsRecParam.setRgstrId(id); bisInspEfpRgstrReasonsRecDao.deleteBy(bisInspEfpRgstrReasonsRecParam); } } @Override public PageInfo findObjPageByType(TypeParam typeParam, HttpServletResponse response) { return this.findEfpPage(typeParam,response); } @Override public Object findObjListByType(TypeParam typeParam) { List list = bisInspEfpRgstrDao.findEfpList(typeParam); return InspPblmUtils.changeList(list); } @Override public String getType() { return BisInspEnum.EFP.getValue(); } @Override public PageInfo findEfpPage(TypeParam param, HttpServletResponse response) { 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 = bisInspEfpRgstrDao.findEfpList(param); list= InspPblmUtils.changeList(list); return new PageInfo(list); } }