| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244 |
- 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.dao.AttAdBaseDao;
- import cn.com.goldenwater.dcproj.dao.BisInspAllRlationDao;
- import cn.com.goldenwater.dcproj.dao.BisInspXjvillDao;
- import cn.com.goldenwater.dcproj.dto.AttCountryDto;
- import cn.com.goldenwater.dcproj.dto.BisInspXjvillDto;
- import cn.com.goldenwater.dcproj.dto.BisNewDcuserRelVillDto;
- import cn.com.goldenwater.dcproj.model.*;
- import cn.com.goldenwater.dcproj.param.*;
- import cn.com.goldenwater.dcproj.service.*;
- import cn.com.goldenwater.dcproj.util.CheckUtil;
- import cn.com.goldenwater.dcproj.utils.AdLevelUtil;
- import cn.com.goldenwater.dcproj.utils.Builder;
- import cn.com.goldenwater.dcproj.utils.Constant;
- 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.collections.MapUtils;
- 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.*;
- /**
- * @author lhc
- * @date 2021-9-9
- */
- @Service
- @Transactional
- public class BisInspXjvillServiceImpl extends AbstractCrudService<BisInspXjvill, BisInspXjvillParam> implements BisInspXjvillService, BisInspObjStrategy {
- @Autowired
- private BisInspXjvillDao bisInspXjvillDao;
- @Autowired
- private AttAdBaseDao attAdBaseDao;
- @Autowired
- private BisInspXjvillRegmService bisInspXjvillRegmService;
- @Autowired
- private BisInspAllRlationDao bisInspAllRlationDao;
- @Autowired
- private BisInspXjvillRunService bisInspXjvillRunService;
- @Autowired
- private BisInspXjvillUsrService bisInspXjvillUsrService;
- @Autowired
- private BisInspXjvillDutyService bisInspXjvillDutyService;
- public BisInspXjvillServiceImpl(BisInspXjvillDao bisInspXjvillDao) {
- super(bisInspXjvillDao);
- this.bisInspXjvillDao = bisInspXjvillDao;
- }
- @Override
- public BisInspXjvill get(String key) {
- BisInspXjvill xjvill = super.get(key);
- Optional.ofNullable(xjvill).ifPresent(r -> {
- r.setRegmNum(bisInspXjvillRegmService.selectCount(Builder.of(BisInspXjvillRegm::new).with(BisInspXjvillRegm::setRgstrId, r.getId()).build()));
- r.setRunNum(bisInspXjvillRunService.selectCount(Builder.of(BisInspXjvillRun::new).with(BisInspXjvillRun::setRgstrId, r.getId()).build()));
- r.setUsrNum(bisInspXjvillUsrService.selectCount(Builder.of(BisInspXjvillUsr::new).with(BisInspXjvillUsr::setRgstrId, r.getId()).build()));
- });
- return xjvill;
- }
- @Override
- public int insert(BisInspXjvill bisInspXjvill) {
- bisInspXjvill.setId(UuidUtil.uuid());
- bisInspXjvill.setIntm(new Date());
- bisInspXjvill.setUptm(new Date());
- bisInspXjvill.setDataStat("0");
- bisInspXjvill.setState("0");
- return this.bisInspXjvillDao.insert(bisInspXjvill);
- }
- @Override
- public int update(BisInspXjvill bisInspXjvill) {
- if (StringUtils.isBlank(bisInspXjvill.getId()) &&
- StringUtils.isNotBlank(bisInspXjvill.getRgstrId())) {
- bisInspXjvill.setId(bisInspXjvill.getRgstrId());
- }
- CheckUtil.notNull(bisInspXjvill.getId(), "登记表ID为空");
- bisInspXjvill.setUptm(new Date());
- return this.bisInspXjvillDao.update(bisInspXjvill);
- }
- @Override
- public int delete(String id) {
- return this.bisInspXjvillDao.delete(id);
- }
- @Override
- public void insertObj(BisInspAllObj bisInspAllObj, String persId) {
- BisInspXjvill b = new BisInspXjvill();
- AttAdBase base = attAdBaseDao.get(bisInspAllObj.getCode());
- BeanUtils.copyProperties(base, b);
- b.setObjId(bisInspAllObj.getObjId());
- b.setNm(base.getAdName());
- // 创建人
- b.setPersId(persId);
- /* 添加 登记表 */
- insert(b);
- }
- @Override
- public String getType() {
- return BisInspEnum.XJVILL.getValue();
- }
- @Override
- public void cleanObjData(String objId) {
- BisInspXjvillParam rgstrParam = new BisInspXjvillParam();
- rgstrParam.setObjId(objId);
- List<BisInspXjvill> list = this.bisInspXjvillDao.findList(rgstrParam);
- if (list.size() > 0) {
- String id = list.get(0).getId();
- // 删除子表
- bisInspXjvillRegmService.deleteBy(Builder.of(BisInspXjvillRegmParam::new).with(BisInspXjvillRegmParam::setRgstrId, id).build());
- bisInspXjvillRunService.deleteBy(Builder.of(BisInspXjvillRunParam::new).with(BisInspXjvillRunParam::setRgstrId, id).build());
- bisInspXjvillUsrService.deleteBy(Builder.of(BisInspXjvillUsrParam::new).with(BisInspXjvillUsrParam::setRgstrId, id).build());
- bisInspXjvillDutyService.deleteBy(Builder.of(BisInspXjvillDutyParam::new).with(BisInspXjvillDutyParam::setRgstrId, id).build());
- // 删除登记表
- this.bisInspXjvillDao.delete(id);
- }
- }
- @Override
- public Object findObjListByType(TypeParam typeParam) {
- return this.bisInspXjvillDao.findPageList(typeParam);
- }
- @Override
- public Map<String, Object> findNode(String code, String regstrId) {
- Map<String, Object> map = new HashMap<>(2);
- if ("null".equalsIgnoreCase(code)) {
- code = null;
- }
- // 获取工程暗访情况
- BisInspXjvillRunParam feeParam = Builder.of(BisInspXjvillRunParam::new)
- .with(BisInspXjvillRunParam::setRgstrId, regstrId)
- .with(BisInspXjvillRunParam::setRegmId, code)
- .build();
- List<BisInspXjvillRun> feeList = bisInspXjvillRunService.findList(feeParam);
- // 获取农牧民情况
- BisInspXjvillUsrParam poorParam = Builder.of(BisInspXjvillUsrParam::new)
- .with(BisInspXjvillUsrParam::setRgstrId, regstrId)
- .with(BisInspXjvillUsrParam::setRegmId, code)
- .build();
- List<BisInspXjvillUsr> poorList = bisInspXjvillUsrService.findList(poorParam);
- map.put("poor", poorList);
- map.put("fee", feeList);
- return map;
- }
- @Override
- public List<AttCountryDto> findCheckTree(String rgstrId) {
- BisInspXjvill xjvill = get(rgstrId);
- CheckUtil.notNull(xjvill, "登记表不为空");
- return bisInspXjvillRegmService.findListNotIn(rgstrId, xjvill.getAdCode());
- }
- @Override
- public List<BisNewDcuserRelVillDto> findTree(String rgstrId) {
- List<BisNewDcuserRelVillDto> ret = new ArrayList<>();
- BisInspXjvill xjvill = get(rgstrId);
- CheckUtil.notNull(xjvill, "未查到登记表");
- BisNewDcuserRelVillDto shi = new BisNewDcuserRelVillDto();
- shi.setRgstrId(xjvill.getId());
- shi.setObjId(xjvill.getObjId());
- shi.setTownCode(xjvill.getAdCode());
- shi.setTownName(xjvill.getAdName());
- // 获取村信息
- List<BisInspXjvillRegm> bisInspXjvillRegmList = bisInspXjvillRegmService.findList(Builder.of(BisInspXjvillRegmParam::new).with(BisInspXjvillRegmParam::setRgstrId, xjvill.getId()).build());
- if (CollectionUtils.isNotEmpty(bisInspXjvillRegmList)) {
- List<BisZhejiangDcuserRelVill> children = new ArrayList<>(bisInspXjvillRegmList.size());
- bisInspXjvillRegmList.forEach(bisInspXjvillRegm -> {
- BisZhejiangDcuserRelVill tuan = new BisZhejiangDcuserRelVill();
- tuan.setId(bisInspXjvillRegm.getId());
- tuan.setRgstrId(bisInspXjvillRegm.getRgstrId());
- tuan.setRegstrId(bisInspXjvillRegm.getRgstrId());
- tuan.setAdCode(bisInspXjvillRegm.getAdCode());
- tuan.setAdName(bisInspXjvillRegm.getAdName());
- tuan.setVillCode(bisInspXjvillRegm.getAdCode());
- tuan.setVillageNm(bisInspXjvillRegm.getAdName());
- children.add(tuan);
- });
- shi.setDcuserRelVilles(children);
- }
- ret.add(shi);
- return ret;
- }
- @Override
- public void updateState(Map<String, Object> map) {
- BisInspXjvill rgstr = get(MapUtils.getString(map, "rgstrId"));
- if (!Constant.STRING_TWO.equals(rgstr.getState())) {
- rgstr.setUptm(new Date());
- rgstr.setState(Constant.STRING_ONE);
- if ("duty".equals(MapUtils.getString(map, "param"))) {
- rgstr.setDutyState(MapUtils.getString(map, "state"));
- }
- update(rgstr);
- }
- }
- @Override
- public PageInfo findObjPageByType(TypeParam typeParam, HttpServletResponse response) {
- if (StringUtils.isNotBlank(typeParam.getAdCode())) {
- typeParam.setAdCode(String.valueOf(AdLevelUtil.SubAd(typeParam.getAdCode()).get(SplitValue.SUBAD)));
- }
- PageHelper.startPage(typeParam);
- String[] groupIds = bisInspAllRlationDao.getIdByPersid(Builder
- .of(BisInspAllRlationParam::new)
- .with(BisInspAllRlationParam::setPersid, typeParam.getPresId())
- .with(BisInspAllRlationParam::setpType, typeParam.getpType())
- .build());
- typeParam.setGroupIds(groupIds);
- List<BisInspXjvillDto> list = this.bisInspXjvillDao.findPageList(typeParam);
- if (CollectionUtils.isNotEmpty(list)) {
- list.forEach(r -> {
- r.setRegmNum(bisInspXjvillRegmService.selectCount(Builder.of(BisInspXjvillRegm::new).with(BisInspXjvillRegm::setRgstrId, r.getId()).build()));
- r.setRunNum(bisInspXjvillRunService.selectCount(Builder.of(BisInspXjvillRun::new).with(BisInspXjvillRun::setRgstrId, r.getId()).build()));
- r.setUsrNum(bisInspXjvillUsrService.selectCount(Builder.of(BisInspXjvillUsr::new).with(BisInspXjvillUsr::setRgstrId, r.getId()).build()));
- });
- }
- return new PageInfo<>(list);
- }
- }
|