| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- 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.AttCwsBaseDao;
- import cn.com.goldenwater.dcproj.dao.BisInspPblmDao;
- import cn.com.goldenwater.dcproj.dao.BisInspVillqhFeeDao;
- import cn.com.goldenwater.dcproj.model.AttAdXBase;
- import cn.com.goldenwater.dcproj.model.AttCwsBase;
- import cn.com.goldenwater.dcproj.model.BisInspVillqhFee;
- import cn.com.goldenwater.dcproj.model.BisInspVillqhRgstr;
- import cn.com.goldenwater.dcproj.param.BisInspPblmParam;
- import cn.com.goldenwater.dcproj.param.BisInspVillqhFeeParam;
- import cn.com.goldenwater.dcproj.param.CwsParam;
- import cn.com.goldenwater.dcproj.service.AttAdXBaseService;
- import cn.com.goldenwater.dcproj.service.BisInspVillqhFeeService;
- import cn.com.goldenwater.dcproj.service.BisInspVillqhRgstrService;
- import cn.com.goldenwater.dcproj.utils.Builder;
- import cn.com.goldenwater.dcproj.utils.Constant;
- import cn.com.goldenwater.dcproj.utils.DateUtils;
- import cn.com.goldenwater.id.util.UuidUtil;
- import cn.com.goldenwater.target.CheckException;
- 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 java.util.*;
- import static cn.com.goldenwater.dcproj.util.CheckUtil.check;
- /**
- * @author lhc
- * @date 2021-2-1
- */
- @Service
- @Transactional
- public class BisInspVillqhFeeServiceImpl extends AbstractCrudService<BisInspVillqhFee, BisInspVillqhFeeParam> implements BisInspVillqhFeeService {
- @Autowired
- private BisInspVillqhFeeDao bisInspVillqhFeeDao;
- @Autowired
- private AttCwsBaseDao attCwsBaseDao;
- @Autowired
- private AttAdXBaseService attAdXBaseService;
- @Autowired
- private BisInspVillqhRgstrService bisInspVillqhRgstrService;
- @Autowired
- private BisInspPblmDao bisInspPblmDao;
- public BisInspVillqhFeeServiceImpl(BisInspVillqhFeeDao bisInspVillqhFeeDao) {
- super(bisInspVillqhFeeDao);
- this.bisInspVillqhFeeDao = bisInspVillqhFeeDao;
- }
- @Override
- public int insert(BisInspVillqhFee bisInspVillqhFee) {
- // 生成uuid
- String uuid = UuidUtil.uuid();
- bisInspVillqhFee.setId(uuid);
- bisInspVillqhFee.setStatus(Constant.STRING_ONE);
- bisInspVillqhFee.setDataStat(Constant.STRING_ZERO);
- Date now = new Date();
- bisInspVillqhFee.setIntm(now);
- bisInspVillqhFee.setUptm(now);
- bisInspVillqhFee.setVisitDate(DateUtils.Date2Str(now));
- return this.bisInspVillqhFeeDao.insert(bisInspVillqhFee);
- }
- @Override
- public int update(BisInspVillqhFee bisInspVillqhFee) {
- // 获取子表
- BisInspVillqhFee child = get(bisInspVillqhFee.getId());
- Optional.ofNullable(child).orElseThrow(() -> new CheckException("未找到此表"));
- // 更新子表
- bisInspVillqhFee.setUptm(new Date());
- int ret = bisInspVillqhFeeDao.update(bisInspVillqhFee);
- // 更新登记表状态
- Map<String, Object> map = new HashMap<>(3);
- map.put("rgstrId", child.getRegstrId());
- map.put("param", "fee");
- map.put("state", bisInspVillqhFee.getState());
- bisInspVillqhRgstrService.updateState(map);
- return ret;
- }
- @Override
- public int delete(String id) {
- BisInspVillqhFee fee = get(id);
- BisInspVillqhRgstr rgstr = bisInspVillqhRgstrService.get(fee.getRegstrId());
- BisInspPblmParam pblm = Builder.of(BisInspPblmParam::new)
- .with(BisInspPblmParam::setCwsCode, id)
- .with(BisInspPblmParam::setObjId, rgstr.getObjId())
- .with(BisInspPblmParam::setObjType, BisInspEnum.VILLQH.getValue())
- .build();
- bisInspPblmDao.deleteBy(pblm);
- return this.bisInspVillqhFeeDao.delete(id);
- }
- @Override
- public PageInfo<AttCwsBase> pageNotDC(CwsParam cwsParam) {
- PageHelper.startPage(cwsParam.getPageNum(), cwsParam.getPageSize());
- List<AttCwsBase> bisInspBaseDtos = attCwsBaseDao.queryListByRegstrIdNotDC(cwsParam);
- return new PageInfo<>(bisInspBaseDtos);
- }
- @Override
- public void addBatch(CwsParam cwsParam) {
- check(StringUtils.isNotBlank(cwsParam.getCwsIds()), "cwsIds.no");
- String[] cwsIdArray;
- if (cwsParam.getCwsIds().contains(SplitValue.FENHAO_SPLIT)){
- cwsIdArray = cwsParam.getCwsIds().split(SplitValue.FENHAO_SPLIT);
- } else {
- cwsIdArray = cwsParam.getCwsIds().split(SplitValue.DOUHAO_SPLIT);
- }
- for (String cwsId : cwsIdArray) {
- AttCwsBase attCwsBase = attCwsBaseDao.get(cwsId);
- if (attCwsBase == null) {
- continue;
- }
- BisInspVillqhFee fee = Builder.of(BisInspVillqhFee::new)
- .with(BisInspVillqhFee::setRegstrId, cwsParam.getRegstrId())
- .with(BisInspVillqhFee::setAdCode, cwsParam.getAdCode())
- .build();
- if (StringUtils.isNotBlank(cwsParam.getAdCode())) {
- AttAdXBase attAdXBase = attAdXBaseService.get(cwsParam.getAdCode());
- Optional.ofNullable(attAdXBase).ifPresent(base -> {
- fee.setAdCode(base.getAdCode());
- fee.setAdFullName(base.getAdFullName());
- fee.setAdName(base.getAdName());
- });
- }
- fee.setPrjId(attCwsBase.getCwsCode());
- fee.setPrjNm(attCwsBase.getCwsName());
- fee.setPrjType(attCwsBase.getEngType());
- fee.setGdX(attCwsBase.getCenterXGd());
- fee.setGdY(attCwsBase.getCenterYGd());
- fee.setCenterX(attCwsBase.getCwsLong());
- fee.setCenterY(attCwsBase.getCwsLat());
- fee.setBuldTm(attCwsBase.getCompDate());
- insert(fee);
- }
- updateRgstrState(cwsParam.getRegstrId());
- }
- void updateRgstrState(String rgstrId) {
- BisInspVillqhRgstr rgstr = bisInspVillqhRgstrService.get(rgstrId);
- Optional.ofNullable(rgstr).ifPresent(r -> {
- if (!Constant.STRING_TWO.equals(r.getState()) &&
- !Constant.STRING_ONE.equals(r.getState())) {
- r.setUptm(new Date());
- r.setState(Constant.STRING_ONE);
- // 更新登记表状态
- bisInspVillqhRgstrService.update(r);
- }
- });
- }
- }
|