Jelajahi Sumber

批量审核修改工作状态

wangtong 1 tahun lalu
induk
melakukan
5c30374d4d

+ 13 - 2
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zdsz/ZEngineeringCivilController.java

@@ -169,15 +169,26 @@ public class ZEngineeringCivilController extends BaseController {
     }
 
     /**
-     * 批量审核
+     * 审核
      * @param bo
      * @return
      */
-    @Log(title = "民用工程", businessType = BusinessType.OTHER)
+    @Log(title = "通用审核", businessType = BusinessType.OTHER)
     @PostMapping("/Review")
     public R Review( @RequestBody ZEngineeringReviewBo zEngineeringReviewBo) {
         return R.ok(izEngineeringReviewService.insert(zEngineeringReviewBo));
     }
 
+    /**
+     *民用审核
+     * @param zEngineeringReviewBo
+     * @return
+     */
+    @Log(title = "民用工程", businessType = BusinessType.OTHER)
+    @PostMapping("/CivilReview")
+    public R Civilinsert( @RequestBody ZEngineeringReviewBo zEngineeringReviewBo) {
+        return R.ok(izEngineeringReviewService.Civilinsert(zEngineeringReviewBo));
+    }
+
 
 }

+ 1 - 1
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java

@@ -58,7 +58,7 @@ public class BaseEntity implements Serializable {
     /**
      *
      */
-    @TableField(fill = FieldFill.UPDATE)
+    @TableField(fill = FieldFill.INSERT_UPDATE)
     //@TableField(exist = false)
     private Date updateInfoTime;
 

+ 1 - 1
ruoyi-framework/src/main/java/com/ruoyi/framework/handler/CreateAndUpdateMetaObjectHandler.java

@@ -31,7 +31,7 @@ public class CreateAndUpdateMetaObjectHandler implements MetaObjectHandler {
                     ? baseEntity.getCreateTime() : new Date();
                 baseEntity.setCreateTime(current);
                 //baseEntity.setUpdateTime(current);
-                baseEntity.setUpdateInfoTime(current);
+                baseEntity.setUpdateInfoTime(new Date());
                 String username = StringUtils.isNotBlank(baseEntity.getCreateBy())
                     ? baseEntity.getCreateBy() : getLoginUsername();
                 // 当前已登录 且 创建人为空 则填充

+ 1 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZEngineeringCivilService.java

@@ -63,4 +63,5 @@ public interface IZEngineeringCivilService {
     TableDataInfo<areaStatusVo> getAreaCompletionInformationList(ZEngineeringCivilBo bo,PageQuery po);
     areaStatusVo getsumStatus(ZEngineeringCivilBo bo);
     int   batchReview (ZEngineeringCivilBo bo, ZEngineeringNodeBo zEngineeringNodeBo);
+    Boolean updateCiviiStatus(ZEngineeringCivil zEngineeringCivil);
 }

+ 2 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZEngineeringNodeService.java

@@ -88,4 +88,6 @@ public interface IZEngineeringNodeService {
      * @return
      */
      int batchReview(List<ZEngineeringCivil> zEngineeringCivilList,ZEngineeringNodeBo zEngineeringNodeBo,String userId);
+
+
 }

+ 4 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZEngineeringReviewService.java

@@ -1,6 +1,8 @@
 package com.ruoyi.zdsz.service;
 
+import com.ruoyi.zdsz.domain.ZEngineeringCivil;
 import com.ruoyi.zdsz.domain.ZEngineeringReview;
+import com.ruoyi.zdsz.domain.bo.ZEngineeringCivilBo;
 import com.ruoyi.zdsz.domain.bo.ZEngineeringNodeBo;
 import com.ruoyi.zdsz.domain.vo.ZEngineeringNodeVo;
 import com.ruoyi.zdsz.domain.vo.ZEngineeringReviewVo;
@@ -42,6 +44,7 @@ public interface IZEngineeringReviewService {
      */
     Boolean insertByBo(ZEngineeringReviewBo bo);
     Boolean insert(ZEngineeringReviewBo bo);
+    Boolean Civilinsert(ZEngineeringReviewBo bo);
 
     /**
      * 批量插入
@@ -68,4 +71,5 @@ public interface IZEngineeringReviewService {
      */
     Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
 
+    Boolean  updateCivilStatus(ZEngineeringCivil zEngineeringCivil);
 }

+ 17 - 11
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringCivilServiceImpl.java

@@ -293,9 +293,9 @@ public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
                         item.getRoomName().substring(0, item.getRoomName().indexOf('(')).trim().substring(0, 2) :
                         item.getRoomName().substring(0, item.getRoomName().indexOf('(')).trim().substring(0, 1) :
                     item.getRoomName().substring(0, 1))));
-            List willDone = value.stream().filter(item -> item.getRoomStatus().equals("未工")).collect(Collectors.toList());
-            List notstart = value.stream().filter(item -> item.getRoomStatus().equals("未开工")).collect(Collectors.toList());
-            List done = value.stream().filter(item -> item.getRoomStatus().equals("工")).collect(Collectors.toList());
+            List willDone = value.stream().filter(item -> item.getRoomStatus().equals("未工")).collect(Collectors.toList());
+            List notstart = value.stream().filter(item -> item.getRoomStatus().equals("施工中")).collect(Collectors.toList());
+            List done = value.stream().filter(item -> item.getRoomStatus().equals("工")).collect(Collectors.toList());
             List<List<roomStatusVo>> roomStatusVoList = new ArrayList<>();
             Map<String, List<roomStatusVo>> sortMap = roomMap.entrySet().stream()
                 .sorted(Comparator.comparingInt(entry -> Integer.parseInt(entry.getKey())))
@@ -335,9 +335,9 @@ public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
         List<areaStatusVo> areaList = new ArrayList<>();
         stringListMap.forEach((key, value) -> {
             areaStatusVo areaStatusVo = new areaStatusVo();
-            List willDone = value.stream().filter(item -> item.getRoomStatus().equals("未工")).collect(Collectors.toList());
-            List notstart = value.stream().filter(item -> item.getRoomStatus().equals("未开工")).collect(Collectors.toList());
-            List done = value.stream().filter(item -> item.getRoomStatus().equals("工")).collect(Collectors.toList());
+            List willDone = value.stream().filter(item -> item.getRoomStatus().equals("未工")).collect(Collectors.toList());
+            List notstart = value.stream().filter(item -> item.getRoomStatus().equals("施工中")).collect(Collectors.toList());
+            List done = value.stream().filter(item -> item.getRoomStatus().equals("工")).collect(Collectors.toList());
             areaStatusVo.setAreaId(key);
             areaStatusVo.setAreaName(value.get(0).getName());
             areaStatusVo.setWillDone(String.valueOf(willDone.size()));
@@ -371,22 +371,22 @@ public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
         lqw.eq(StringUtils.isNotBlank(bo.getEnginClassification()), ZEngineeringCivil::getEnginClassification, bo.getEnginClassification());
         lqw.eq(StringUtils.isNotBlank(bo.getEnginType()), ZEngineeringCivil::getEnginType, bo.getEnginType());
 //        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM");
-        lqw.like(StringUtils.isNotBlank(bo.getReviewTime().toString()), ZEngineeringCivil::getCreateTime, "%" + bo.getReviewTime() + "%");
+        lqw.like(StringUtils.isNotBlank(bo.getReviewTime().toString()), ZEngineeringCivil::getCreateTime,bo.getReviewTime());
         Long sumcount = baseMapper.selectCount(lqw);
 //        List<ZEngineeringCivil> zEngineeringCivilList=baseMapper.selectList(lqw);
         /**
          * 线程执行插入量
          */
-        int count = 5000;
+        int count = 500;
         List<ZEngineeringCivil> newList = new ArrayList();
         if (sumcount > 0) {
             //线程数量(根据查询总数量进行分配线程数量)
             int runSize = (int) (sumcount / count + 1);
             ScheduledThreadPoolExecutor threadPoolTaskExecutor = new ScheduledThreadPoolExecutor(runSize);
             CountDownLatch countDownLatch = new CountDownLatch(runSize);
-            for (int i = 0; i < runSize; i++) {
+            for (int i = 0; i <= runSize; i++) {
                 Page page = new Page<>(i, count);
-                Page<ZEngineeringCivil> zEngineeringCivilPage = baseMapper.selectPage(page, lqw);
+//                Page<ZEngineeringCivil> zEngineeringCivilPage = baseMapper.selectPage(page, lqw);
 //                if((i+1)==runSize){
 //                    int startIndex = (i*count);;
 //                    int endIndex = zEngineeringCivilList.size();
@@ -397,7 +397,7 @@ public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
 //                    newList =zEngineeringCivilList.subList(startIndex,endIndex);
 //                }
 
-                threadPoolTaskExecutor.execute(new RiewTask(zEngineeringCivilPage.getRecords(), zEngineeringNodeBo, countDownLatch));
+                threadPoolTaskExecutor.execute(new RiewTask( zEngineeringNodeBo, countDownLatch,page,lqw));
             }
             threadPoolTaskExecutor.shutdown();
 //            try {
@@ -412,6 +412,12 @@ public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
         return 0;
     }
 
+    @Override
+    public Boolean updateCiviiStatus(ZEngineeringCivil zEngineeringCivil) {
+
+        return null;
+    }
+
 }
 
 

+ 15 - 2
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringNodeServiceImpl.java

@@ -6,10 +6,12 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.annotation.DynamicName;
 import com.ruoyi.common.core.domain.PageQuery;
+import com.ruoyi.common.core.domain.entity.SysDictData;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.helper.LoginHelper;
 import com.ruoyi.common.utils.StringUtils;
 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.ZEngineeringReview;
@@ -18,6 +20,7 @@ import com.ruoyi.zdsz.domain.bo.ZEngineeringNodeBo;
 import com.ruoyi.zdsz.domain.bo.ZEngineeringReviewBo;
 import com.ruoyi.zdsz.domain.vo.ZEngineeringNodeVo;
 import com.ruoyi.zdsz.mapper.ZEngineeringNodeMapper;
+import com.ruoyi.zdsz.mapper.ZEngineeringReviewMapper;
 import com.ruoyi.zdsz.service.IZEngineeringInfoService;
 import com.ruoyi.zdsz.service.IZEngineeringNodeService;
 import com.ruoyi.zdsz.service.IZEngineeringReviewService;
@@ -33,9 +36,9 @@ 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;
-import static cn.hutool.core.date.DateUtil.offset;
 
 /**
  * 工程节点Service业务层处理
@@ -56,6 +59,7 @@ public class ZEngineeringNodeServiceImpl implements IZEngineeringNodeService {
     @Resource
     private IZEngineeringReviewService izEngineeringReviewService;
 
+
     /**
      * 查询工程节点
      */
@@ -171,7 +175,8 @@ public class ZEngineeringNodeServiceImpl implements IZEngineeringNodeService {
             lqw.eq(StringUtils.isNotBlank(bo.getType()), ZEngineeringNode::getType,bo.getType());
             format.format(item.getCreateTime());
             MonthTableNameHandler.setData(format.format(item.getCreateTime()));
-           ZEngineeringNode zEngineeringNode=baseMapper.selectOne(lqw);
+            ZEngineeringNode zEngineeringNode=baseMapper.selectOne(lqw);
+           List<ZEngineeringReview> zEngineeringReviewList =new ArrayList<>();
            if (null!=zEngineeringNode)
            {
             ZEngineeringReview zEngineeringReview =new ZEngineeringReview();
@@ -181,13 +186,21 @@ public class ZEngineeringNodeServiceImpl implements IZEngineeringNodeService {
             zEngineeringReview.setReviewUser(userId);
             zEngineeringReview.setCreateTime(item.getCreateTime());
             zEngineeringReview.setEngInfoId(zEngineeringNode.getId());
+            zEngineeringReviewList.add(zEngineeringReview);
             izEngineeringReviewService.Bacthinsert(zEngineeringReview);
+            izEngineeringReviewService.updateCivilStatus(item);
+
            }
+
+
             MonthTableNameHandler.removeData();
         });
+
         return 0;
     }
 
+
+
     public List getZEngineeringNodeList(String date, String UserId, ZEngineeringNodeBo bo) {
         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM");
         List<ZEngineeringNodeVo> list = new ArrayList<>();

+ 75 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringReviewServiceImpl.java

@@ -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;
+        }
+
+    }
 
 }

+ 19 - 8
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/task/RiewTask.java

@@ -1,9 +1,13 @@
 package com.ruoyi.zdsz.task;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.helper.LoginHelper;
 import com.ruoyi.common.utils.GetBeanUtil;
 import com.ruoyi.zdsz.domain.ZEngineeringCivil;
 import com.ruoyi.zdsz.domain.bo.ZEngineeringNodeBo;
+import com.ruoyi.zdsz.mapper.ZEngineeringCivilMapper;
 import com.ruoyi.zdsz.service.IZEngineeringNodeService;
 import org.springframework.context.ApplicationContext;
 
@@ -16,26 +20,33 @@ import java.util.concurrent.CountDownLatch;
 public class RiewTask  implements  Runnable{
 
     private IZEngineeringNodeService izEngineeringNodeService;
-    private List<ZEngineeringCivil> zEngineeringCivilList;
+//    private List<ZEngineeringCivil> zEngineeringCivilList;
     private ZEngineeringNodeBo zEngineeringNodeBo;
     private  String userId;
     private   CountDownLatch countDownLatch;
+    private  ZEngineeringCivilMapper baseMapper;
+    private LambdaQueryWrapper<ZEngineeringCivil> lqw ;
+    private  Page page;
 
-    public  RiewTask(List<ZEngineeringCivil> zEngineeringCivilList, ZEngineeringNodeBo zEngineeringNodeBo, CountDownLatch countDownLatch)
+    public  RiewTask(ZEngineeringNodeBo zEngineeringNodeBo, CountDownLatch countDownLatch, Page page, LambdaQueryWrapper lqw )
     {
-        this.zEngineeringCivilList=zEngineeringCivilList;
+//        this.zEngineeringCivilList=zEngineeringCivilList;
         this.zEngineeringNodeBo=zEngineeringNodeBo;
         this.izEngineeringNodeService= GetBeanUtil.getApplicationContext().getBean(IZEngineeringNodeService.class);
+        this.baseMapper= GetBeanUtil.getApplicationContext().getBean(ZEngineeringCivilMapper.class);
         this.userId= LoginHelper.getLoginUser().getUserId().toString();
         this.countDownLatch=countDownLatch;
+        this.lqw = lqw;
+        this.page=page;
     }
     @Override
     public void run() {
-        if (zEngineeringCivilList.size()>0)
-        {
-            izEngineeringNodeService.batchReview(zEngineeringCivilList,zEngineeringNodeBo,userId);
-        }
-        countDownLatch.countDown();//发出线程任务完成的信号
+//        if (zEngineeringCivilList.size()>0)
+//        {
+            Page<ZEngineeringCivil> page1=baseMapper.selectPage(page, lqw);
+            izEngineeringNodeService.batchReview(page1.getRecords(),zEngineeringNodeBo,userId);
+//        }
+        //countDownLatch.countDown();//发出线程任务完成的信号
 
     }
 }

+ 11 - 20
ruoyi-zdsz/src/main/resources/mapper/zdsz/ZEngineeringCivilMapper.xml

@@ -80,7 +80,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     a.NAME AS roomName,
     a.id AS roomId,
     b.engin_type AS enginCycle,
-    IFNULL( b.completion_status, '未工' ) AS roomStatus,
+    IFNULL( b.completion_status, '未工' ) AS roomStatus,
     b.create_time
     FROM
     z_house a
@@ -101,37 +101,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 </select>
     <select id="getAreaCompletionInformationList"  resultType="com.ruoyi.zdsz.domain.vo.areaWillDoneVo">
         SELECT
-            a.area_id,
-            d.`name`,
-            a.building_id,
-            a.unit_id,
-            c.NAME AS unitName,
-            a.NAME AS roomName,
-            a.id AS roomId,
-            IFNULL( b.completion_status, '未开工' ) AS roomStatus,
-            b.create_time
+        a.id as areaId,
+        a.name,
+        IFNULL( b.completion_status, '未施工' ) AS roomStatus
         FROM
-            z_house a
-                LEFT JOIN z_engineering_civil b ON a.id = b.house_id and b.engin_cycle=#{enginCycle}
-                LEFT JOIN z_unit c ON c.id = a.unit_id
-                LEFT JOIN z_area d ON d.id = c.area_id
+        z_area a
+        LEFT JOIN z_engineering_civil b ON a.id = b.area_id and b.engin_cycle = #{enginCycle}
         WHERE
-            a.del_flag = 0
-          AND a.area_id in
+        a.del_flag = 0
+          AND a.id in
         <foreach collection="idList" item="name" open="(" separator="," close=")">
             #{name}
         </foreach>
-        ORDER BY a.area_id ASC
-
+        ORDER BY a.id ASC
     </select>
     <select id="getsumStatus" resultType="com.ruoyi.zdsz.domain.vo.areaStatusVo">
         SELECT
             COUNT( DISTINCT a.house_id ) AS 'willDone' ,
-            ( SELECT COUNT( DISTINCT a.house_id ) FROM z_engineering_civil a WHERE a.completion_status = '工' AND a.engin_cycle=a.engin_cycle=#{enginCycle}) AS 'done',
+            ( SELECT COUNT( DISTINCT a.house_id ) FROM z_engineering_civil a WHERE a.completion_status = '工' AND a.engin_cycle=a.engin_cycle=#{enginCycle}) AS 'done',
             ( SELECT COUNT( a.id ) FROM z_house a )  AS 'notstart'
         FROM
             z_engineering_civil a
         WHERE
-            a.completion_status = '未完工'AND a.engin_cycle=#{enginCycle}
+            a.completion_status = '施工中'AND a.engin_cycle=#{enginCycle}
     </select>
 </mapper>