瀏覽代碼

统计接口

wangtong 1 年之前
父節點
當前提交
049e88c8e0

+ 7 - 1
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zdsz/ZEngineeringCivilController.java

@@ -135,10 +135,16 @@ public class ZEngineeringCivilController extends BaseController {
     public R<Void> remove(@NotEmpty(message = "主键不能为空") @PathVariable String[] ids) {
         return toAjax(iZEngineeringCivilService.deleteWithValidByIds(Arrays.asList(ids), true));
     }
-    @SaCheckPermission("zdsz:engineeringCivil:remove")
+   // @SaCheckPermission("zdsz:engineeringCivil:remove")
     @Log(title = "民用工程", businessType = BusinessType.DELETE)
     @PostMapping("/getObtainRoomcCompletionInformationList")
     public R getObtainRoomcCompletionInformationList(@RequestBody ZEngineeringCivilBo zEngineeringCivilBo) {
         return R.ok(iZEngineeringCivilService.getObtainRoomcCompletionInformationList(zEngineeringCivilBo));
     }
+   // @SaCheckPermission("zdsz:engineeringCivil:remove")
+    @Log(title = "民用工程", businessType = BusinessType.DELETE)
+    @GetMapping("/getAreaCompletionInformationList")
+    public TableDataInfo getAreaCompletionInformationList(ZEngineeringCivilBo bo,PageQuery pageQuery) {
+        return iZEngineeringCivilService.getAreaCompletionInformationList(bo,pageQuery);
+    }
 }

+ 27 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/areaStatusVo.java

@@ -0,0 +1,27 @@
+package com.ruoyi.zdsz.domain.vo;
+
+import lombok.Data;
+
+@Data
+public class areaStatusVo {
+    /**
+     * 小区id
+     */
+    private  String  areaId;
+    /**
+     * 小区名称
+     */
+    private  String  areaName;
+    /**
+     * 进行中房间数
+     */
+    private  String willDone;
+    /**
+     * 未开始总房间数
+     */
+    private  String notstart;
+    /**
+     * 竣工总房间数
+     */
+    private   String done;
+}

+ 40 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/areaWillDoneVo.java

@@ -0,0 +1,40 @@
+package com.ruoyi.zdsz.domain.vo;
+
+import com.ruoyi.common.core.domain.BaseEntity;
+import lombok.Data;
+
+@Data
+public class areaWillDoneVo  extends BaseEntity {
+    /**
+     * 房间名称
+     */
+    private  String name;
+    /**
+     * 房间id
+     */
+    private  String roomId;
+    /**
+     * 房间开工状态
+     */
+    private  String roomStatus;
+    /**
+     * 小区id
+     */
+    private  String  areaId;
+    /**
+     * 楼栋id
+     */
+    private  String  buildingId ;
+    /**
+     * 单元id
+     */
+    private  String unitId;
+    /**
+     * 单元名称
+     */
+    private  String unitName;
+
+
+
+
+}

+ 3 - 1
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/mapper/ZEngineeringCivilMapper.java

@@ -1,12 +1,14 @@
 package com.ruoyi.zdsz.mapper;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.PageQuery;
 import com.ruoyi.zdsz.domain.ZEngineeringCivil;
 import com.ruoyi.zdsz.domain.bo.ZBuildingBo;
 import com.ruoyi.zdsz.domain.bo.ZEngineeringCivilBo;
 import com.ruoyi.zdsz.domain.vo.ZBuildingVo;
 import com.ruoyi.zdsz.domain.vo.ZEngineeringCivilVo;
 import com.ruoyi.common.core.mapper.BaseMapperPlus;
+import com.ruoyi.zdsz.domain.vo.areaWillDoneVo;
 import com.ruoyi.zdsz.domain.vo.roomStatusVo;
 import org.apache.ibatis.annotations.Param;
 
@@ -24,6 +26,6 @@ public interface ZEngineeringCivilMapper extends BaseMapperPlus<ZEngineeringCivi
     Page<ZEngineeringCivilVo> queryPageList(@Param("p") ZEngineeringCivilBo bo, Page<?> page);
 
     List<roomStatusVo> getObtainRoomcCompletionInformationList(ZEngineeringCivilBo bo);
-
+    List<areaWillDoneVo> getAreaCompletionInformationList(List idList,String enginCycle);
 
 }

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

@@ -1,10 +1,12 @@
 package com.ruoyi.zdsz.service;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.zdsz.domain.ZEngineeringCivil;
 import com.ruoyi.zdsz.domain.vo.ZEngineeringCivilVo;
 import com.ruoyi.zdsz.domain.bo.ZEngineeringCivilBo;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.core.domain.PageQuery;
+import com.ruoyi.zdsz.domain.vo.areaStatusVo;
 import com.ruoyi.zdsz.domain.vo.roomStatusVo;
 
 import java.util.Collection;
@@ -55,4 +57,6 @@ public interface IZEngineeringCivilService {
 
     int getCivilByhouseId(Collection<String> list);
     List getObtainRoomcCompletionInformationList(ZEngineeringCivilBo bo);
+
+    TableDataInfo<areaStatusVo> getAreaCompletionInformationList(ZEngineeringCivilBo bo,PageQuery po);
 }

+ 38 - 3
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringCivilServiceImpl.java

@@ -7,18 +7,20 @@ import com.ruoyi.common.core.domain.PageQuery;
 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.zdsz.domain.ZArea;
+import com.ruoyi.zdsz.domain.bo.ZAreaBo;
 import com.ruoyi.zdsz.domain.bo.ZBuildingBo;
 import com.ruoyi.zdsz.domain.bo.ZEngineeringNodeBo;
-import com.ruoyi.zdsz.domain.vo.BulidingStatusVo;
-import com.ruoyi.zdsz.domain.vo.roomStatusVo;
+import com.ruoyi.zdsz.domain.vo.*;
+import com.ruoyi.zdsz.mapper.ZAreaMapper;
 import com.ruoyi.zdsz.service.IZEngineeringNodeService;
 import com.ruoyi.zdsz.service.IZMaterialStatisticsService;
 import lombok.RequiredArgsConstructor;
 import lombok.Value;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ruoyi.zdsz.domain.bo.ZEngineeringCivilBo;
-import com.ruoyi.zdsz.domain.vo.ZEngineeringCivilVo;
 import com.ruoyi.zdsz.domain.ZEngineeringCivil;
 import com.ruoyi.zdsz.mapper.ZEngineeringCivilMapper;
 import com.ruoyi.zdsz.service.IZEngineeringCivilService;
@@ -40,6 +42,8 @@ import java.util.stream.Collectors;
 public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
 
     private final ZEngineeringCivilMapper baseMapper;
+    @Resource
+    private ZAreaMapper zAreaMapper;
 
     @Autowired
     private IZEngineeringNodeService izEngineeringNodeService;
@@ -270,4 +274,35 @@ public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
         });
         return areaList ;
     }
+
+    @Override
+    public TableDataInfo<areaStatusVo> getAreaCompletionInformationList(ZEngineeringCivilBo bo,PageQuery po) {
+        LambdaQueryWrapper<ZArea> lqw =Wrappers.lambdaQuery();
+        Page<ZBuildingBo> page = new Page<>(po.getPageNum(), po.getPageSize());
+        Page<ZAreaVo> result = zAreaMapper.selectVoPage(po.build(),lqw);
+         List<ZAreaVo> IdList= result.getRecords();
+          List Id=new ArrayList();
+        IdList.stream().forEach(item->{
+            Id.add(item.getId());
+        });
+       List<areaWillDoneVo> hourseList=baseMapper.getAreaCompletionInformationList(Id,bo.getEnginCycle());
+      Map<String,List<areaWillDoneVo>> stringListMap=  hourseList.stream().collect(Collectors.groupingBy(item->item.getAreaId()));
+      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());
+            areaStatusVo.setAreaId(key);
+            areaStatusVo.setAreaName(value.get(0).getName());
+            areaStatusVo.setWillDone(String.valueOf(willDone.size()));
+            areaStatusVo.setNotstart(String.valueOf(notstart.size()));
+            areaStatusVo.setDone(String.valueOf(done.size()));
+            areaList.add(areaStatusVo);
+        });
+        Page<areaStatusVo> page2=new Page<>();
+        BeanUtils.copyProperties(result,page2);
+        page2.setRecords(areaList);
+        return TableDataInfo.build(page2);
+    }
 }

+ 25 - 0
ruoyi-zdsz/src/main/resources/mapper/zdsz/ZEngineeringCivilMapper.xml

@@ -78,4 +78,29 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </if>
     ORDER BY  unitName,a.`name` ASC
 </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
+        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
+        WHERE
+            a.del_flag = 0
+          AND a.area_id in
+        <foreach collection="list" item="name" open="(" separator="," close=")">
+            #{name}
+        </foreach>
+        ORDER BY a.area_id ASC
+
+    </select>
 </mapper>