|
@@ -2,6 +2,7 @@ package com.ruoyi.zdsz.service.impl;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import com.ruoyi.common.annotation.DynamicName;
|
|
|
+import com.ruoyi.common.core.domain.entity.SysDictData;
|
|
|
import com.ruoyi.common.core.domain.model.LoginUser;
|
|
|
import com.ruoyi.common.helper.LoginHelper;
|
|
|
import com.ruoyi.common.utils.StringUtils;
|
|
@@ -11,10 +12,18 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.ruoyi.framework.handler.MonthTableNameHandler;
|
|
|
+import com.ruoyi.system.service.ISysDictTypeService;
|
|
|
+import com.ruoyi.zdsz.domain.ZEngineeringCivil;
|
|
|
+import com.ruoyi.zdsz.domain.ZEngineeringNode;
|
|
|
+import com.ruoyi.zdsz.domain.bo.ZEngineeringCivilBo;
|
|
|
import com.ruoyi.zdsz.domain.bo.ZEngineeringNodeBo;
|
|
|
+import com.ruoyi.zdsz.domain.vo.ZEngineeringCivilVo;
|
|
|
import com.ruoyi.zdsz.domain.vo.ZEngineeringNodeVo;
|
|
|
+import com.ruoyi.zdsz.mapper.ZEngineeringCivilMapper;
|
|
|
+import com.ruoyi.zdsz.mapper.ZEngineeringNodeMapper;
|
|
|
import com.ruoyi.zdsz.service.IZEngineeringNodeService;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.scheduling.annotation.Async;
|
|
|
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -24,11 +33,13 @@ import com.ruoyi.zdsz.domain.ZEngineeringReview;
|
|
|
import com.ruoyi.zdsz.mapper.ZEngineeringReviewMapper;
|
|
|
import com.ruoyi.zdsz.service.IZEngineeringReviewService;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
+import org.springframework.util.ObjectUtils;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.text.ParseException;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
+import java.util.concurrent.atomic.AtomicInteger;
|
|
|
|
|
|
import static cn.hutool.core.date.DateUtil.format;
|
|
|
|
|
@@ -43,6 +54,12 @@ import static cn.hutool.core.date.DateUtil.format;
|
|
|
public class ZEngineeringReviewServiceImpl implements IZEngineeringReviewService {
|
|
|
|
|
|
private final ZEngineeringReviewMapper baseMapper;
|
|
|
+ @Resource
|
|
|
+ private final ZEngineeringNodeMapper zEngineeringNodeMapper;
|
|
|
+ @Resource
|
|
|
+ private ISysDictTypeService dictTypeService;
|
|
|
+ @Resource
|
|
|
+ private ZEngineeringCivilMapper zEngineeringCivilMapper;
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -131,6 +148,18 @@ public class ZEngineeringReviewServiceImpl implements IZEngineeringReviewService
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ public Boolean Civilinsert(ZEngineeringReviewBo bo) {
|
|
|
+ ZEngineeringNodeVo zEngineeringNodeBo= zEngineeringNodeMapper.selectVoById(bo.getEngInfoId());
|
|
|
+ ZEngineeringCivilVo zEngineeringCivilBo= zEngineeringCivilMapper.selectVoById(zEngineeringNodeBo.getCivliId());
|
|
|
+ ZEngineeringCivil zEngineeringCivil=new ZEngineeringCivil();
|
|
|
+ BeanUtils.copyProperties(zEngineeringCivilBo,zEngineeringCivil);
|
|
|
+ MonthTableNameHandler.setData(new SimpleDateFormat("yyyy_MM").format(bo.getCreateTime()));
|
|
|
+ updateCivilStatus(zEngineeringCivil);
|
|
|
+ MonthTableNameHandler.removeData();
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
@DynamicName(spel = "#bo.createTime")
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public Boolean Bacthinsert(ZEngineeringReview bo) {
|
|
@@ -140,6 +169,16 @@ public class ZEngineeringReviewServiceImpl implements IZEngineeringReviewService
|
|
|
if (!baseMapper.exists(lqw))
|
|
|
{
|
|
|
flag= baseMapper.insert(bo)> 0;
|
|
|
+ if(flag)
|
|
|
+ {
|
|
|
+ LambdaQueryWrapper<ZEngineeringReview> lqw2 = Wrappers.lambdaQuery();
|
|
|
+ lqw2.eq(StringUtils.isNotBlank(bo.getEngInfoId()), ZEngineeringReview::getEngInfoId, bo.getEngInfoId());
|
|
|
+ lqw2.eq(ZEngineeringReview::getReviewStatus, 1);
|
|
|
+ if (baseMapper.selectCount(lqw2)>=6)
|
|
|
+ {
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|
|
@@ -194,5 +233,41 @@ public class ZEngineeringReviewServiceImpl implements IZEngineeringReviewService
|
|
|
}
|
|
|
return baseMapper.deleteBatchIds(ids) > 0;
|
|
|
}
|
|
|
+ @Override
|
|
|
+ @DynamicName(spel = "#bo.createTime")
|
|
|
+ public Boolean updateCivilStatus(ZEngineeringCivil zEngineeringCivil) {
|
|
|
+ List<SysDictData> sysDictDataList=dictTypeService.selectDictDataByType(zEngineeringCivil.getEnginType()+"_"+zEngineeringCivil.getEnginClassification());
|
|
|
+ AtomicInteger sum= new AtomicInteger();
|
|
|
+ sysDictDataList.forEach(item->{
|
|
|
+ LambdaQueryWrapper<ZEngineeringNode> lqw = Wrappers.lambdaQuery();
|
|
|
+ lqw.eq(StringUtils.isNotBlank(zEngineeringCivil.getId()), ZEngineeringNode::getCivliId, zEngineeringCivil.getId());
|
|
|
+ lqw.eq( ZEngineeringNode::getType, item.getDictLabel());
|
|
|
+ ZEngineeringNode zEngineeringNode= zEngineeringNodeMapper.selectOne(lqw);
|
|
|
+ if (!ObjectUtils.isEmpty(zEngineeringNode))
|
|
|
+ {
|
|
|
+ LambdaQueryWrapper<ZEngineeringReview> lqw2 = Wrappers.lambdaQuery();
|
|
|
+ lqw2.eq(StringUtils.isNotBlank(zEngineeringCivil.getId()), ZEngineeringReview::getEngInfoId, zEngineeringCivil.getId());
|
|
|
+ lqw2.eq(ZEngineeringReview::getReviewStatus,1);
|
|
|
+ if (baseMapper.selectCount(lqw2)>1)
|
|
|
+ {
|
|
|
+ sum.addAndGet(1);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ });
|
|
|
+ if (sum.get() ==sysDictDataList.size())
|
|
|
+ {
|
|
|
+ //完工
|
|
|
+ zEngineeringCivil.setCompletionStatus("竣工");
|
|
|
+ zEngineeringCivilMapper.updateById(zEngineeringCivil);
|
|
|
+ return true;
|
|
|
+ }else
|
|
|
+ {
|
|
|
+ //未完工
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
}
|