| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241 |
- 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.AttWtuntBaseDao;
- import cn.com.goldenwater.dcproj.dao.BisInspAllObjDao;
- import cn.com.goldenwater.dcproj.dao.BisInspPblmDao;
- import cn.com.goldenwater.dcproj.dao.BisInspWtcrrRgstrDao;
- import cn.com.goldenwater.dcproj.dto.BisInspWtcrrRgstrDto;
- import cn.com.goldenwater.dcproj.model.AttWtuntBase;
- import cn.com.goldenwater.dcproj.model.BisInspAllObj;
- import cn.com.goldenwater.dcproj.model.BisInspWtcrrRgstr;
- import cn.com.goldenwater.dcproj.model.BisInspWtcrrRgstrRev;
- import cn.com.goldenwater.dcproj.param.*;
- import cn.com.goldenwater.dcproj.service.AttWtuntBaseService;
- import cn.com.goldenwater.dcproj.service.BisInspObjStrategy;
- import cn.com.goldenwater.dcproj.service.BisInspWtcrrRgstrRevService;
- import cn.com.goldenwater.dcproj.service.BisInspWtcrrRgstrService;
- import cn.com.goldenwater.dcproj.utils.AdLevelUtil;
- 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.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 2020-9-18
- */
- @Service
- @Transactional
- public class BisInspWtcrrRgstrServiceImpl extends AbstractCrudService<BisInspWtcrrRgstr, BisInspWtcrrRgstrParam> implements BisInspWtcrrRgstrService, BisInspObjStrategy {
- @Autowired
- private BisInspWtcrrRgstrDao bisInspWtcrrRgstrDao;
- @Autowired
- private AttWtuntBaseDao attWtuntBaseDao;
- @Autowired
- private BisInspPblmDao bisInspPblmDao;
- @Autowired
- private BisInspAllObjDao bisInspAllObjDao;
- @Autowired
- private BisInspWtcrrRgstrRevService bisInspWtcrrRgstrRevService;
- @Autowired
- private AttWtuntBaseService attWtuntBaseService;
- public BisInspWtcrrRgstrServiceImpl(BisInspWtcrrRgstrDao bisInspWtcrrRgstrDao) {
- super(bisInspWtcrrRgstrDao);
- this.bisInspWtcrrRgstrDao = bisInspWtcrrRgstrDao;
- }
- @Override
- public int insert(BisInspWtcrrRgstr bisInspWtcrrRgstr) {
- String uuid = UuidUtil.uuid(); // 生成uuid
- bisInspWtcrrRgstr.setId(uuid);
- bisInspWtcrrRgstr.setIntm(new Date());
- bisInspWtcrrRgstr.setUptm(new Date());
- bisInspWtcrrRgstr.setDataStat("0");
- return this.bisInspWtcrrRgstrDao.insert(bisInspWtcrrRgstr);
- }
- @Override
- public int update(BisInspWtcrrRgstr bisInspWtcrrRgstr) {
- bisInspWtcrrRgstr.setUptm(new Date());
- return this.bisInspWtcrrRgstrDao.update(bisInspWtcrrRgstr);
- }
- @Override
- public int delete(String id) {
- return this.bisInspWtcrrRgstrDao.delete(id);
- }
- @Override
- public void insertObj(BisInspAllObj bisInspAllObj, String persId) {
- BisInspWtcrrRgstr b = new BisInspWtcrrRgstr();
- AttWtuntBase base = attWtuntBaseDao.get(bisInspAllObj.getCode());
- BeanUtils.copyProperties(base, b);
- //单位ID WTUNT_ID
- b.setWtuntId(base.getId());
- //单位名称 UT_NAME
- //统一社会信用代码
- //行政区划全称 AD_NAME *行政区划全称
- //行政区编码 AD_CODE *行政区编码
- //单位类型 UT_TYPE *单位类型(1:钢铁企业;2:高校;3:宾馆;4:2019整改)
- //单位性质 UT_PPT *单位性质(1:节水型;2:非节水型)
- //用水单位负责人 UT_LEAD *用水单位负责人
- //用水单位联系人 UT_ATTN *用水单位联系人
- //用水单位联系方式 UT_CONT *用水单位联系方式
- //注册地址 SIGN_ADDR 注册地址
- //单位地址 UT_ADDR *单位地址
- //经度 CENTER_X 经度
- //纬度 CENTER_Y 纬度
- //高德经度 GD_X 高德经度
- //高德纬度 GD_Y 高德纬度
- //检查单位 CHK_UNIT *检查单位
- //检查人员 CHK_PERS *检查人员
- //检查时间 CHK_TM *检查时间
- //节水载体复核表 WTUNT_STAT 节水载体复核表(0:未填报;1:未完成;2:已完成)
- //督查组ID GROUP_ID
- // 统一字段 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);
- // 子表状态(0:未督查;1:督查中;2:已督查)
- b.setWtuntStat(CommonLabel.INIT_DATA);
- // 创建人
- b.setPersId(persId);
- this.bisInspWtcrrRgstrDao.insert(b);
- /* 添加 子表 */
- BisInspWtcrrRgstrRev rev = new BisInspWtcrrRgstrRev();
- rev.setRgstrId(b.getId());
- bisInspWtcrrRgstrRevService.insert(rev);
- }
- /**
- * 根据此 TYPE 切换不同的 SERVICE
- *
- * @return {@link BisInspEnum}
- */
- @Override
- public String getType() {
- return BisInspEnum.WTCRR.getValue();
- }
- @Override
- public void cleanObjData(String objId) {
- BisInspWtcrrRgstrParam rgstrParam = new BisInspWtcrrRgstrParam();
- rgstrParam.setObjId(objId);
- List<BisInspWtcrrRgstr> list = this.bisInspWtcrrRgstrDao.findList(rgstrParam);
- if (list.size() > 0) {
- String id = list.get(0).getId();
- // 删除子表
- BisInspWtcrrRgstrRevParam rgstrRevParam = new BisInspWtcrrRgstrRevParam();
- rgstrRevParam.setRgstrId(id);
- bisInspWtcrrRgstrRevService.deleteBy(rgstrRevParam);
- // 删除登记表
- this.bisInspWtcrrRgstrDao.delete(id);
- }
- // 删除问题
- BisInspPblmParam bisInspPblmParam = new BisInspPblmParam();
- bisInspPblmParam.setObjId(objId);
- bisInspPblmParam.setObjType(BisInspEnum.WTCRR.getValue());
- bisInspPblmDao.deleteBy(bisInspPblmParam);
- // 删除对象名录表
- BisInspAllObjParam bisInspAllObjParam = new BisInspAllObjParam();
- bisInspAllObjParam.setObjId(objId);
- bisInspAllObjDao.deleteBy(bisInspAllObjParam);
- }
- @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);
- List<BisInspWtcrrRgstrDto> list = this.bisInspWtcrrRgstrDao.findWtuntPage(typeParam);
- return (PageInfo<BisInspWtcrrRgstrDto>) new PageInfo(list);
- }
- @Override
- public Object findObjListByType(TypeParam typeParam) {
- return null;
- }
- @Override
- public BisInspWtcrrRgstr save(BisInspWtcrrRgstr bisInspWtcrrRgstr) {
- // 根据有无主键,来新增、更新信息
- int ret = 0;
- if (StringUtils.isNotBlank(bisInspWtcrrRgstr.getRgstrId())) {
- // rgstrId 不为 空 时,传给ID
- bisInspWtcrrRgstr.setId(bisInspWtcrrRgstr.getRgstrId());
- }
- if (StringUtils.isBlank(bisInspWtcrrRgstr.getId())) {
- if (StringUtils.isNotBlank(bisInspWtcrrRgstr.getObjId())) {
- BisInspWtcrrRgstrParam param = new BisInspWtcrrRgstrParam();
- param.setObjId(bisInspWtcrrRgstr.getId());
- BisInspWtcrrRgstr rgstr = getBy(param);
- // 如果没有注册表,添加
- if (null == rgstr) {
- ret = insert(bisInspWtcrrRgstr);
- } else {
- bisInspWtcrrRgstr.setId(rgstr.getId());
- bisInspWtcrrRgstr.setUptm(new Date());
- update(bisInspWtcrrRgstr);
- // 跟新基础表
- updateAttWtuntBase(bisInspWtcrrRgstr);
- }
- }
- } else {
- if (StringUtils.isBlank(bisInspWtcrrRgstr.getObjId())) {
- BisInspWtcrrRgstr rgstr = get(bisInspWtcrrRgstr.getId());
- if (null != rgstr) {
- bisInspWtcrrRgstr.setObjId(rgstr.getObjId());
- }
- }
- bisInspWtcrrRgstr.setUptm(new Date());
- ret = update(bisInspWtcrrRgstr);
- // 跟新基础表
- updateAttWtuntBase(bisInspWtcrrRgstr);
- }
- return bisInspWtcrrRgstr;
- }
- private void updateAttWtuntBase(BisInspWtcrrRgstr bisInspWtcrrRgstr) {
- // 清空特殊数据
- if (StringUtils.isNotBlank(bisInspWtcrrRgstr.getObjId())) {
- AttWtuntBase attWtuntBase = attWtuntBaseService.getObjId(bisInspWtcrrRgstr.getObjId());
- // 转换基础表ID
- String attWtuntBaseId = attWtuntBase.getId();
- BeanUtils.copyProperties(bisInspWtcrrRgstr, attWtuntBase);
- attWtuntBase.setId(attWtuntBaseId);
- attWtuntBase.setIntm(null);
- attWtuntBaseService.update(attWtuntBase);
- }
- }
- }
|