| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235 |
- 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.CommonLabel;
- import cn.com.goldenwater.dcproj.constValue.SplitValue;
- import cn.com.goldenwater.dcproj.dao.BisInspRslkbkRgstrDao;
- import cn.com.goldenwater.dcproj.dto.BisInspRslkbkRgstrDto;
- import cn.com.goldenwater.dcproj.model.AttRsBase;
- import cn.com.goldenwater.dcproj.model.BisInspAllObj;
- import cn.com.goldenwater.dcproj.model.BisInspRslkbkPblm;
- import cn.com.goldenwater.dcproj.model.BisInspRslkbkRgstr;
- import cn.com.goldenwater.dcproj.param.BisInspRslkbkPblmParam;
- import cn.com.goldenwater.dcproj.param.BisInspRslkbkRgstrParam;
- import cn.com.goldenwater.dcproj.param.TypeParam;
- import cn.com.goldenwater.dcproj.service.*;
- import cn.com.goldenwater.dcproj.utils.AdLevelUtil;
- import cn.com.goldenwater.dcproj.utils.Builder;
- import cn.com.goldenwater.id.util.UuidUtil;
- import com.github.pagehelper.PageHelper;
- import com.github.pagehelper.PageInfo;
- import org.apache.commons.lang3.StringUtils;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- 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 lhc
- * @date 2021-4-26
- */
- @Service
- @Transactional
- public class BisInspRslkbkRgstrServiceImpl extends AbstractCrudService<BisInspRslkbkRgstr, BisInspRslkbkRgstrParam> implements BisInspRslkbkRgstrService, BisInspObjStrategy {
- private Logger logger = LoggerFactory.getLogger(getClass());
- @Autowired
- private BisInspRslkbkRgstrDao bisInspRslkbkRgstrDao;
- @Autowired
- private AttRsBaseService attRsBaseService;
- @Autowired
- private BisInspRslkbkPblmService bisInspRslkbkPblmService;
- @Autowired
- private BisInspPblmService bisInspPblmService;
- public BisInspRslkbkRgstrServiceImpl(BisInspRslkbkRgstrDao bisInspRslkbkRgstrDao) {
- super(bisInspRslkbkRgstrDao);
- this.bisInspRslkbkRgstrDao = bisInspRslkbkRgstrDao;
- }
- @Override
- public int insert(BisInspRslkbkRgstr bisInspRslkbkRgstr) {
- String uuid = UuidUtil.uuid();
- bisInspRslkbkRgstr.setId(uuid);
- bisInspRslkbkRgstr.setIntm(new Date());
- bisInspRslkbkRgstr.setUptm(new Date());
- bisInspRslkbkRgstr.setDataStat("0");
- return this.bisInspRslkbkRgstrDao.insert(bisInspRslkbkRgstr);
- }
- @Override
- public BisInspRslkbkRgstr get(String key) {
- BisInspRslkbkRgstr rgstr = super.get(key);
- if (!"2".equals(rgstr.getRectStat())) {
- checkFinished(rgstr);
- }
- return rgstr;
- }
- /**
- * 更新整改问题状态
- * 判断问题是否全部整改
- *
- * @param rgstr
- */
- private void checkFinished(BisInspRslkbkRgstr rgstr) {
- String rectStat = "0";
- List<BisInspRslkbkPblm> pblmMendList = bisInspRslkbkPblmService.findList(Builder.of(BisInspRslkbkPblmParam::new).with(BisInspRslkbkPblmParam::setRsCode, rgstr.getRsCode()).build());
- if (pblmMendList == null || pblmMendList.size() == 0) {
- rectStat = "2";
- } else {
- long total = pblmMendList.size();
- long revw = pblmMendList.stream().filter(p -> "2".equals(p.getRevwState())).count();
- if (total == revw) {
- rectStat = "2";
- } else if (total > revw && revw != 0) {
- rectStat = "1";
- }
- }
- if (!rectStat.equals(rgstr.getRectStat())) {
- rgstr.setRectStat(rectStat);
- // bisInspRslkbkRgstrDao.update(rgstr);
- }
- }
- @Override
- public int update(BisInspRslkbkRgstr bisInspRslkbkRgstr) {
- bisInspRslkbkRgstr.setUptm(new Date());
- int ret = this.bisInspRslkbkRgstrDao.update(bisInspRslkbkRgstr);
- // 更新基础表信息
- updateAttBase(bisInspRslkbkRgstr);
- updatePblmState(bisInspRslkbkRgstr);
- return ret;
- }
- private void updateAttBase(BisInspRslkbkRgstr rgstr) {
- BisInspRslkbkRgstr r = get(rgstr.getId());
- AttRsBase attWiuqhBase = attRsBaseService.getObjId(r.getObjId());
- attWiuqhBase.setRegCode(rgstr.getDamRegCode());
- attWiuqhBase.setRsName(rgstr.getRsName());
- attWiuqhBase.setAdmDiv(rgstr.getAdCode());
- attWiuqhBase.setCenterX(rgstr.getCenterX() != null ? String.valueOf(rgstr.getCenterX()) : "");
- attWiuqhBase.setCenterY(rgstr.getCenterY() != null ? String.valueOf(rgstr.getCenterY()) : "");
- attWiuqhBase.setRsAdmCode(rgstr.getRsAdmCode());
- attWiuqhBase.setRsAdmName(rgstr.getRsAdmName());
- attWiuqhBase.setEngScal(rgstr.getEngScal());
- attWiuqhBase.setRsClass(rgstr.getRsClass());
- attWiuqhBase.setDamType(rgstr.getDamType());
- attWiuqhBase.setTotCap(rgstr.getTotCap());
- attWiuqhBase.setLocation(rgstr.getLocation());
- attWiuqhBase.setDamSizeHig(rgstr.getDamSizeHig());
- attWiuqhBase.setDesFlStag(rgstr.getDesFlStag());
- attWiuqhBase.setFlConTopStag(rgstr.getFlConTopStag());
- attWiuqhBase.setImpdDt(rgstr.getImpdDt());
- attWiuqhBase.setRnfcImpdDt(rgstr.getRnfcImpdDt());
- attWiuqhBase.setIsAction(rgstr.getIsAction());
- attWiuqhBase.setIsSaf(rgstr.getIsSaf());
- attWiuqhBase.setNormz(rgstr.getNormz());
- attWiuqhBase.setFsltdz(rgstr.getFsltdz());
- attRsBaseService.update(attWiuqhBase);
- }
- private void updatePblmState(BisInspRslkbkRgstr rgstr) {
- BisInspRslkbkRgstr r = get(rgstr.getId());
- if (r == null) {
- return;
- }
- bisInspPblmService.updateStateByObjId(r.getObjId(), rgstr.getState());
- }
- @Override
- public int delete(String id) {
- return this.bisInspRslkbkRgstrDao.delete(id);
- }
- @Override
- public void insertObj(BisInspAllObj bisInspAllObj, String persId) {
- BisInspRslkbkRgstr b = new BisInspRslkbkRgstr();
- AttRsBase base = attRsBaseService.get(bisInspAllObj.getCode());
- BeanUtils.copyProperties(base, b);
- b.setDamRegCode(base.getRegCode());
- b.setHasDamRegCode(StringUtils.isBlank(base.getRegCode()) ? "2" : "1");
- b.setAdCode(base.getAdmDiv());
- // 统一字段 rgstrId, objId
- b.setId(UuidUtil.uuid());
- b.setObjId(bisInspAllObj.getObjId());
- // 日期
- Date d = new Date();
- b.setIntm(d);
- b.setUptm(d);
- // 数据状态 默认为 0
- b.setDataStat(CommonLabel.INIT_DATA);
- // 督查状态(0:未督查;1:督查中;2:已督查)
- b.setState(CommonLabel.INIT_DATA);
- // 创建人
- // b.setPersId(persId);
- /* 添加 登记表 */
- this.bisInspRslkbkRgstrDao.insert(b);
- }
- @Override
- public String getType() {
- return BisInspEnum.RSLKBK.getValue();
- }
- @Override
- public void cleanObjData(String objId) {
- BisInspRslkbkRgstrParam rgstrParam = new BisInspRslkbkRgstrParam();
- rgstrParam.setObjId(objId);
- List<BisInspRslkbkRgstr> list = this.bisInspRslkbkRgstrDao.findList(rgstrParam);
- if (list.size() > 0) {
- String id = list.get(0).getId();
- // 删除登记表
- this.bisInspRslkbkRgstrDao.delete(id);
- }
- }
- @Override
- public PageInfo findObjPageByType(TypeParam typeParam, HttpServletResponse response) {
- logger.info("zxsk cs:"+typeParam);
- if (StringUtils.isNotBlank(typeParam.getAdCode())) {
- typeParam.setAdCode(String.valueOf(AdLevelUtil.SubAd(typeParam.getAdCode()).get(SplitValue.SUBAD)));
- }
- PageHelper.startPage(typeParam);
- List<BisInspRslkbkRgstrDto> list = this.bisInspRslkbkRgstrDao.findPageList(typeParam);
- if (list != null && list.size() > 0) {
- list.forEach(rgstrDto -> {
- if (StringUtils.isNotBlank(rgstrDto.getAdFullName())) {
- String[] adFullNames = rgstrDto.getAdFullName().split("-");
- rgstrDto.setProName(adFullNames[0]);
- if (adFullNames.length > 1) {
- rgstrDto.setCityName(adFullNames[1]);
- }
- if (adFullNames.length > 2) {
- rgstrDto.setCountyName(adFullNames[2]);
- }
- }
- });
- }
- return new PageInfo<>(list);
- }
- @Override
- public Object findObjListByType(TypeParam typeParam) {
- logger.info("zxsk cs:"+typeParam);
- return this.bisInspRslkbkRgstrDao.findPageList(typeParam);
- }
- }
|