wang_xy 7 ماه پیش
والد
کامیت
15d035cf8c
20فایلهای تغییر یافته به همراه385 افزوده شده و 119 حذف شده
  1. 8 1
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/zdsz/ZEngineeringCivilController.java
  2. 1 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/ZEngineeringInfo.java
  3. 1 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZEngineeringInfoBo.java
  4. 3 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZEngineeringMaterialBo.java
  5. 1 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/ZEngineeringInfoVo.java
  6. 5 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/ZEngineeringMaterialVo.java
  7. 1 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/mapper/ZEngineeringCivilMapper.java
  8. 6 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/mapper/ZEngineeringMaterialMapper.java
  9. 4 2
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/mapper/ZEngineeringNodeMapper.java
  10. 1 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZEngineeringInfoService.java
  11. 1 1
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZEngineeringNodeService.java
  12. 33 25
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringCivilServiceImpl.java
  13. 7 7
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringGYServiceImpl.java
  14. 8 5
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringInfoServiceImpl.java
  15. 42 26
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringMaterialServiceImpl.java
  16. 48 17
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringNodeServiceImpl.java
  17. 1 1
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringReviewServiceImpl.java
  18. 51 14
      ruoyi-zdsz/src/main/resources/mapper/zdsz/ZEngineeringCivilMapper.xml
  19. 35 1
      ruoyi-zdsz/src/main/resources/mapper/zdsz/ZEngineeringMaterialMapper.xml
  20. 128 19
      ruoyi-zdsz/src/main/resources/mapper/zdsz/ZEngineeringNodeMapper.xml

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

@@ -57,7 +57,7 @@ public class ZEngineeringCivilController extends BaseController {
     @PostMapping("/exportObtainQualifiedRoom")
     public void exportObtainQualifiedRoom(ZEngineeringCivilBo bo, PageQuery pageQuery, HttpServletResponse response) {
         List<ZEngineeringCivilObtainQualifiedRoom> zEngineeringCivilExportVos = iZEngineeringCivilService.exportObtainQualifiedRoom(bo);
-        ExcelUtil.exportTemplate(Collections.singletonList(zEngineeringCivilExportVos), "民用工程-底腿", "excel/obtainQualifiedRoomExcel.xlsx", response);
+        ExcelUtil.exportTemplate(Collections.singletonList(zEngineeringCivilExportVos), "民用工程-合格房间", "excel/obtainQualifiedRoomExcel.xlsx", response);
     }
 
 
@@ -265,6 +265,13 @@ public class ZEngineeringCivilController extends BaseController {
     public R Civilinsert(@RequestBody ZEngineeringReviewBo zEngineeringReviewBo, @RequestBody infoIdList infoIdList) {
         return R.ok(iZEngineeringCivilService.Civilinsert(zEngineeringReviewBo, infoIdList));
     }
+
+    /**
+     * 批量审核(不用了)
+     * @param zEngineeringReviewBo
+     * @param infoIdList
+     * @return
+     */
     @Log(title = "工程审核", businessType = BusinessType.OTHER)
     @PostMapping("/insertReview")
     public R insertReview(@RequestBody ZEngineeringReviewBo zEngineeringReviewBo, @RequestBody infoIdList infoIdList) {

+ 1 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/ZEngineeringInfo.java

@@ -88,5 +88,6 @@ public class ZEngineeringInfo extends BaseEntity {
      * 状态
      */
     private String state;
+    private String content;
 
 }

+ 1 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZEngineeringInfoBo.java

@@ -108,6 +108,7 @@ public class ZEngineeringInfoBo extends BaseEntity {
      * 状态
      */
     private String state;
+    private String content;
 
     public List<String> getzEngiineeringPhotoBoList() {
         return zEngiineeringPhotoBoList;

+ 3 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZEngineeringMaterialBo.java

@@ -41,15 +41,18 @@ public class ZEngineeringMaterialBo extends BaseEntity {
      * 自闭阀类型
      */
     private String selfClosingValveType;
+    private String selfClosingValveTypeName;
     /**
      * 腐蚀等级
      */
     private String corrosionLevel;
+    private String corrosionLevelName;
 
     /**
      * 品牌
      */
     private String brand;
+    private String brandName;
 
     /**
      * 材质

+ 1 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/ZEngineeringInfoVo.java

@@ -99,5 +99,6 @@ public class ZEngineeringInfoVo implements Serializable {
      * 状态
      */
     private String state;
+    private String content;
 
 }

+ 5 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/ZEngineeringMaterialVo.java

@@ -43,30 +43,35 @@ public class ZEngineeringMaterialVo implements Serializable {
      */
     @ExcelProperty(value = "自闭阀类型")
     private String selfClosingValveType;
+    private String selfClosingValveTypeName;
 
     /**
      * 腐蚀等级
      */
     @ExcelProperty(value = "腐蚀等级")
     private String corrosionLevel;
+    private String corrosionLevelName;
 
     /**
      * 品牌
      */
     @ExcelProperty(value = "品牌")
     private String brand;
+    private String brandName;
 
     /**
      * 材质
      */
     @ExcelProperty(value = "材质")
     private String materialQuality;
+    private String materialQualityName;
 
     /**
      * 规格
      */
     @ExcelProperty(value = "规格")
     private String specifications;
+    private String specificationsName;
 
     /**
      * 数量

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

@@ -20,6 +20,7 @@ import java.util.Map;
  * @date 2023-12-27
  */
 public interface ZEngineeringCivilMapper extends BaseMapperPlus<ZEngineeringCivilMapper, ZEngineeringCivil, ZEngineeringCivilVo> {
+    List<String> selectIdByParams(ZEngineeringCivilBo bo);
     List<Map<String, Integer>> selectByDistrictStatistics(String district);
     Page<ZEngineeringCivilVo> queryPageList(@Param("p") ZEngineeringCivilBo bo,@Param("pa")Page<?> page,@Param("page") Integer pages,@Param("size") Integer size);
     List<ZEngineeringCivilVo> queryAllList(@Param("p") ZEngineeringCivilBo bo);

+ 6 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/mapper/ZEngineeringMaterialMapper.java

@@ -1,8 +1,12 @@
 package com.ruoyi.zdsz.mapper;
 
 import com.ruoyi.zdsz.domain.ZEngineeringMaterial;
+import com.ruoyi.zdsz.domain.bo.ZEngineeringMaterialBo;
 import com.ruoyi.zdsz.domain.vo.ZEngineeringMaterialVo;
 import com.ruoyi.common.core.mapper.BaseMapperPlus;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * 工程用料Mapper接口
@@ -12,4 +16,6 @@ import com.ruoyi.common.core.mapper.BaseMapperPlus;
  */
 public interface ZEngineeringMaterialMapper extends BaseMapperPlus<ZEngineeringMaterialMapper, ZEngineeringMaterial, ZEngineeringMaterialVo> {
 
+    List<ZEngineeringMaterialBo> selectListByDetailsId(@Param("detailsId") String detailsId);
+
 }

+ 4 - 2
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/mapper/ZEngineeringNodeMapper.java

@@ -1,6 +1,7 @@
 package com.ruoyi.zdsz.mapper;
 
 import com.ruoyi.zdsz.domain.ZEngineeringNode;
+import com.ruoyi.zdsz.domain.bo.ZEngineeringCivilBo;
 import com.ruoyi.zdsz.domain.vo.ZEngineeringNodeVo;
 import com.ruoyi.common.core.mapper.BaseMapperPlus;
 import org.apache.ibatis.annotations.Param;
@@ -15,7 +16,8 @@ import java.util.List;
  */
 public interface ZEngineeringNodeMapper extends BaseMapperPlus<ZEngineeringNodeMapper, ZEngineeringNode, ZEngineeringNodeVo> {
 
-    List<ZEngineeringNode> selectNodeListByMonth(@Param("monthList") List<String> monthList, @Param("type")String type, @Param("state")String state,@Param("civilIds")List<String> civilIds);
-    List<String> selectNodeCivliIdListByMonth(@Param("monthList") List<String> monthList, @Param("nodeIds")List<String> nodeIds);
+    List<ZEngineeringNode> selectNodeListByMonth(@Param("monthList") List<String> monthList, @Param("type")String type, @Param("state")String state,@Param("civilIds")List<String> civilIds,@Param("bo")ZEngineeringCivilBo bo);
+    List<String> selectNodeCivliIdListByMonth(@Param("monthList") List<String> monthList, @Param("createTime")List<String> createTime, @Param("UserName")String UserName);
+//    List<String> selectNodeCivliIdListByMonth(@Param("monthList") List<String> monthList, @Param("createTime")List<String> createTime,@Param("p") ZEngineeringCivilBo bo);
     List<String> queryPhotoList(String civliId);
 }

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

@@ -1,5 +1,6 @@
 package com.ruoyi.zdsz.service;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.ruoyi.zdsz.domain.ZEngineeringInfo;
 import com.ruoyi.zdsz.domain.bo.ZEngineeringMaterialBo;
 import com.ruoyi.zdsz.domain.bo.ZEngineeringNodeBo;

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

@@ -90,7 +90,7 @@ public interface IZEngineeringNodeService {
     Boolean update(ZEngineeringNodeBo bo);
     Boolean updateMuch(ZEngineeringNodeBo bo);
     Boolean delete(ZEngineeringNodeBo bo);
-    List<String> nodeTypeList(List<ZEngineeringCivil> zEngineeringCivilList,String type,String state,ZEngineeringCivilBo bo);
+    List<String> nodeTypeList(List<String> civilIds,String type,String state,ZEngineeringCivilBo bo);
     Map<String,Object> ReViewList(List<ZEngineeringCivilVo> zEngineeringCivilList);
     Map<String,Object> ReViewListColor(List<ZEngineeringCivilVo> zEngineeringCivilList);
     Map<String,Object> ReViewPipeJackingList(List<ZEngineeringPipeJackingVo> list);

+ 33 - 25
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringCivilServiceImpl.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.ruoyi.common.annotation.DynamicName;
 import com.ruoyi.common.core.domain.BaseEntity;
 import com.ruoyi.common.core.domain.entity.SysDictData;
+import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.helper.LoginHelper;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.core.page.TableDataInfo;
@@ -240,19 +241,19 @@ public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
     @Override
     public TableDataInfo<ZEngineeringCivilVo> queryPageList(ZEngineeringCivilBo bo, PageQuery pageQuery) {
         Page<ZBuildingBo> page = new Page<>(pageQuery.getPageNum(), pageQuery.getPageSize());
-        LambdaQueryWrapper<ZEngineeringCivil> lqw = Wrappers.lambdaQuery();
-        lqw.eq(StringUtils.isNotBlank(bo.getEnginType()), ZEngineeringCivil::getEnginType, bo.getEnginType());
-        lqw.eq(StringUtils.isNotBlank(bo.getEnginClassification()), ZEngineeringCivil::getEnginClassification, bo.getEnginClassification());
-        lqw.eq(StringUtils.isNotBlank(bo.getEnginCycle()), ZEngineeringCivil::getEnginCycle, bo.getEnginCycle());
-        lqw.eq(StringUtils.isNotBlank(bo.getAreaId()), ZEngineeringCivil::getAreaId, bo.getAreaId());
-        lqw.notIn(!ObjectUtils.isEmpty(bo.getNotAreaId()), ZEngineeringCivil::getAreaId, bo.getNotAreaId());
-        lqw.eq(StringUtils.isNotBlank(bo.getBuildingId()), ZEngineeringCivil::getBuildingId, bo.getBuildingId());
-        lqw.eq(StringUtils.isNotBlank(bo.getUnitId()), ZEngineeringCivil::getUnitId, bo.getUnitId());
-        lqw.eq(StringUtils.isNotBlank(bo.getDistrict()), ZEngineeringCivil::getDistrict, bo.getDistrict());
-        lqw.eq(StringUtils.isNotBlank(bo.getHouseId()), ZEngineeringCivil::getHouseId, bo.getHouseId());
+//        LambdaQueryWrapper<ZEngineeringCivil> lqw = Wrappers.lambdaQuery();
+//        lqw.eq(StringUtils.isNotBlank(bo.getEnginType()), ZEngineeringCivil::getEnginType, bo.getEnginType());
+//        lqw.eq(StringUtils.isNotBlank(bo.getEnginClassification()), ZEngineeringCivil::getEnginClassification, bo.getEnginClassification());
+//        lqw.eq(StringUtils.isNotBlank(bo.getEnginCycle()), ZEngineeringCivil::getEnginCycle, bo.getEnginCycle());
+//        lqw.eq(StringUtils.isNotBlank(bo.getAreaId()), ZEngineeringCivil::getAreaId, bo.getAreaId());
+//        lqw.notIn(!ObjectUtils.isEmpty(bo.getNotAreaId()), ZEngineeringCivil::getAreaId, bo.getNotAreaId());
+//        lqw.eq(StringUtils.isNotBlank(bo.getBuildingId()), ZEngineeringCivil::getBuildingId, bo.getBuildingId());
+//        lqw.eq(StringUtils.isNotBlank(bo.getUnitId()), ZEngineeringCivil::getUnitId, bo.getUnitId());
+//        lqw.eq(StringUtils.isNotBlank(bo.getDistrict()), ZEngineeringCivil::getDistrict, bo.getDistrict());
+//        lqw.eq(StringUtils.isNotBlank(bo.getHouseId()), ZEngineeringCivil::getHouseId, bo.getHouseId());
         Page<ZEngineeringCivilVo> result = new Page<>();
         if (!"".equals(bo.getType()) && !ObjectUtils.isEmpty(bo.getType())) {
-            List IDList = zEngineeringNodeService.nodeTypeList(baseMapper.selectList(lqw), bo.getType(), bo.getCompletionStatus(), bo);
+            List IDList = zEngineeringNodeService.nodeTypeList(baseMapper.selectIdByParams(bo), bo.getType(), bo.getCompletionStatus(), bo);
 
             if (IDList.size() == 0) {
                 return TableDataInfo.build(result);
@@ -309,7 +310,7 @@ public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
         lqw.eq(StringUtils.isNotBlank(bo.getHouseId()), ZEngineeringCivil::getHouseId, bo.getHouseId());
         List<ZEngineeringCivilVo> result = new ArrayList<>();
         if (!"".equals(bo.getType()) && !ObjectUtils.isEmpty(bo.getType())) {
-            List IDList = zEngineeringNodeService.nodeTypeList(baseMapper.selectList(lqw), bo.getType(), bo.getCompletionStatus(), bo);
+            List IDList = zEngineeringNodeService.nodeTypeList(baseMapper.selectIdByParams(bo), bo.getType(), bo.getCompletionStatus(), bo);
 
             if (IDList.size() == 0) {
                 return result;
@@ -793,16 +794,17 @@ public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
         MonthTableNameHandler.removeData();
         LinkedList<String> list = baseMapper.getTableNames("z_engineering_info");
         list.removeLast();
-        List<ZEngineeringInfoBo> mapList = baseMapper.getsumId(list, createTime, UserName);
+//        List<ZEngineeringInfoBo> mapList = baseMapper.getsumId(list, createTime, UserName);
         List<String> zEngineeringNodeList = new ArrayList<>();
 
-        List<String> nodeIds = mapList.stream().map(ZEngineeringInfoBo::getEngInfoId).collect(Collectors.toList());
+//        List<String> nodeIds = mapList.stream().map(ZEngineeringInfoBo::getEngInfoId).collect(Collectors.toList());
         LocalDate startDate = LocalDate.of(2024, 3, 1); // 指定开始日期
         LocalDate endDate = LocalDate.now(); // 当前日期
         List<String> monthsBetween = getMonthsBetween(startDate, endDate);
-        if(!ObjectUtils.isEmpty(nodeIds)){
-            zEngineeringNodeList.addAll(zEngineeringNodeMapper.selectNodeCivliIdListByMonth(monthsBetween,nodeIds));
-        }
+//        if(!ObjectUtils.isEmpty(nodeIds)){
+            zEngineeringNodeList.addAll(zEngineeringNodeMapper.selectNodeCivliIdListByMonth(monthsBetween, createTime,UserName));
+//        List<String> CivilList = zEngineeringNodeMapper.selectNodeCivliIdListByMonth(monthsBetween, createTime,bo);
+//        }
 
         List newList = zEngineeringNodeList.stream().distinct().collect(Collectors.toList());
         List<String> CivilList = new ArrayList();
@@ -1424,13 +1426,19 @@ public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
             });
         }
         infoIdList.getInfoIdList().stream().forEach(item -> {
-            item.setState(zEngineeringReviewBo.getReviewStatus());
-            SimpleDateFormat format = new SimpleDateFormat("yyyy_MM");
-            UpdateWrapper<ZEngineeringInfo> lqw = new UpdateWrapper();
-            lqw.eq("id", item.getId()).set("state", zEngineeringReviewBo.getReviewStatus());
-            MonthTableNameHandler.setData(format.format(item.getCreateTime()));
-            zEngineeringInfoMapper.update(lqw);
-            MonthTableNameHandler.removeData();
+            if(StringUtils.isNotBlank(zEngineeringReviewBo.getReviewStatus())){
+                item.setState(zEngineeringReviewBo.getReviewStatus());
+                SimpleDateFormat format = new SimpleDateFormat("yyyy_MM");
+                UpdateWrapper<ZEngineeringInfo> lqw = new UpdateWrapper();
+                lqw.eq("id", item.getId())
+                    .set("state", zEngineeringReviewBo.getReviewStatus())
+                    .set("content",zEngineeringReviewBo.getReviewContent());
+                MonthTableNameHandler.setData(format.format(item.getCreateTime()));
+                zEngineeringInfoMapper.update(lqw);
+                MonthTableNameHandler.removeData();
+            }else{
+                throw new ServiceException("未选择审核状态!!!");
+            }
         });
         ZEngineeringCivil zEngineeringCivil = baseMapper.selectById(zEngineeringNode.getCivliId());
         ZEngineeringCivilBo zEngineeringCivilBo = BeanUtil.copyProperties(zEngineeringCivil, ZEngineeringCivilBo.class);
@@ -1494,7 +1502,7 @@ public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
                 item.setState(zEngineeringReviewBo.getReviewStatus());
                 SimpleDateFormat format = new SimpleDateFormat("yyyy_MM");
                 UpdateWrapper<ZEngineeringInfo> lqw = new UpdateWrapper();
-                lqw.eq("id", item.getId()).set("state", zEngineeringReviewBo.getReviewStatus());
+                lqw.eq("id", item.getId()).set("state", zEngineeringReviewBo.getReviewStatus()).set("content",zEngineeringReviewBo.getReviewContent());
                 MonthTableNameHandler.setData(format.format(item.getCreateTime()));
                 zEngineeringInfoMapper.update(lqw);
                 MonthTableNameHandler.removeData();

+ 7 - 7
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringGYServiceImpl.java

@@ -469,15 +469,15 @@ public class ZEngineeringGYServiceImpl implements IZEngineeringGYService {
 
     @Override
     public Boolean testEnginNameUnique(ZEngineeringIndustryGYBo bo) {
-            List<?> list = queryByTypeforApp(new ZEngineeringIndustryGYBo());
-            for (int i = 0; i < list.size(); i++) {
-                Map map = (Map)list.get(i);
-                if(map.get("name").equals(bo.getEnginName())){
-                    return false; // 当前工程名称已存在 不可用
-                }
+        List<?> list = queryByTypeforApp(new ZEngineeringIndustryGYBo());
+        for (int i = 0; i < list.size(); i++) {
+            Map map = (Map)list.get(i);
+            if(map.get("name").equals(bo.getEnginName())){
+                return false; // 当前工程名称已存在 不可用
             }
-            return true; // 当前工程名称可用
         }
+        return true; // 当前工程名称可用
+    }
 
     @Override
     public List<?> queryByTypeforApp(ZEngineeringIndustryGYBo bo) {

+ 8 - 5
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringInfoServiceImpl.java

@@ -19,6 +19,7 @@ import com.ruoyi.zdsz.domain.bo.ZEngineeringNodeBo;
 import com.ruoyi.zdsz.domain.bo.ZEngineeringReviewBo;
 import com.ruoyi.zdsz.domain.vo.ZEngineeringCivilVo;
 import com.ruoyi.zdsz.domain.vo.ZEngineeringInfoVo;
+import com.ruoyi.zdsz.domain.vo.ZEngineeringReviewVo;
 import com.ruoyi.zdsz.enums.photoType;
 import com.ruoyi.zdsz.mapper.*;
 import com.ruoyi.zdsz.service.*;
@@ -75,10 +76,11 @@ public class ZEngineeringInfoServiceImpl implements IZEngineeringInfoService {
     @DynamicName(spel = "#bo.createTime")
     public List<ZEngineeringInfoBo> query(ZEngineeringNodeBo bo) {
         LambdaQueryWrapper<ZEngineeringInfo> lqw = Wrappers.lambdaQuery();
-        lqw.orderByDesc(ZEngineeringInfo::getUpdateTime);
+        lqw.orderByDesc(ZEngineeringInfo::getUpdateInfoTime);
         List<ZEngineeringInfo> zEngineeringInfoVoList = baseMapper.selectList(lqw.eq(StringUtils.isNotBlank(bo.getId()), ZEngineeringInfo::getEngInfoId, bo.getId()));
         List<ZEngineeringInfoBo> zEngineeringInfoBoList = new ArrayList<>();
-        zEngineeringInfoVoList.stream().forEach(item -> {
+        for (int i = 0,wtg=0,byz=0; i < zEngineeringInfoVoList.size(); i++) {
+            ZEngineeringInfo item = zEngineeringInfoVoList.get(i);
             ZEngineeringInfoBo zEngineeringInfoBo1 = BeanUtil.toBean(item, ZEngineeringInfoBo.class);
             SysUser sysUser = sysUserService.selectUserById(Long.parseLong(item.getConstructUser()));
             if (!ObjectUtils.isEmpty(sysUser)) {
@@ -144,8 +146,7 @@ public class ZEngineeringInfoServiceImpl implements IZEngineeringInfoService {
             ZEngineeringReviewBo zEngineeringReviewbo = izEngineeringReviewService.query(bo);
             zEngineeringInfoBo1.setzEngineeringReviewBo(zEngineeringReviewbo);
             zEngineeringInfoBoList.add(zEngineeringInfoBo1);
-        });
-
+        }
         return zEngineeringInfoBoList;
     }
     @Override
@@ -238,6 +239,7 @@ public class ZEngineeringInfoServiceImpl implements IZEngineeringInfoService {
      * 查询工程详情列表
      */
     @Override
+    @DynamicName(spel = "#bo.createTime")
     public List<ZEngineeringInfoVo> queryList(ZEngineeringInfoBo bo) {
         LambdaQueryWrapper<ZEngineeringInfo> lqw = buildQueryWrapper(bo);
         return baseMapper.selectVoList(lqw);
@@ -256,6 +258,8 @@ public class ZEngineeringInfoServiceImpl implements IZEngineeringInfoService {
         lqw.eq(bo.getConstructTime() != null, ZEngineeringInfo::getConstructTime, bo.getConstructTime());
         lqw.like(StringUtils.isNotBlank(bo.getHeadName()), ZEngineeringInfo::getHeadName, bo.getHeadName());
         lqw.eq(StringUtils.isNotBlank(bo.getHeadPhone()), ZEngineeringInfo::getHeadPhone, bo.getHeadPhone());
+        lqw.eq(StringUtils.isNotBlank(bo.getState()), ZEngineeringInfo::getState, bo.getState());
+        lqw.orderByDesc(ZEngineeringInfo::getUpdateTime);
         return lqw;
     }
 
@@ -1219,7 +1223,6 @@ public class ZEngineeringInfoServiceImpl implements IZEngineeringInfoService {
        // update.setUpdateTime(new Date());
         SimpleDateFormat format =new SimpleDateFormat("yyyy_MM");
         MonthTableNameHandler.setData(format.format(bo.getCreateTime()));
-
          Boolean FLAG=  baseMapper.updateById(update) > 0;
         MonthTableNameHandler.removeData();
         return FLAG;

+ 42 - 26
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringMaterialServiceImpl.java

@@ -8,6 +8,7 @@ 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.framework.handler.MonthTableNameHandler;
 import com.ruoyi.zdsz.domain.bo.ZEngineeringInfoBo;
 import com.ruoyi.zdsz.service.IZEnginMaterialQualityService;
 import com.ruoyi.zdsz.service.IZEnginSpecificationsService;
@@ -23,7 +24,9 @@ import com.ruoyi.zdsz.mapper.ZEngineeringMaterialMapper;
 import com.ruoyi.zdsz.service.IZEngineeringMaterialService;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.text.SimpleDateFormat;
 import java.util.*;
+import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.stream.Collectors;
 
 /**
@@ -55,31 +58,36 @@ public class ZEngineeringMaterialServiceImpl implements IZEngineeringMaterialSer
     @DynamicName(spel = "#bo.createTime")
     //    @Async("threadPoolTaskExecutor")
     public List<ZEngineeringMaterialBo> query(ZEngineeringInfoBo bo) {
-        LambdaQueryWrapper<ZEngineeringMaterial> lqw = Wrappers.lambdaQuery();
-        lqw.eq(StringUtils.isNotBlank(bo.getId()), ZEngineeringMaterial::getDetailsId, bo.getId()).orderByAsc(ZEngineeringMaterial::getUpdateTime);
-        List<ZEngineeringMaterial> zEngineeringMaterialVo = baseMapper.selectList(lqw);
-        List<ZEngineeringMaterialBo> zEngineeringMaterialBoList = new ArrayList<>();
-        zEngineeringMaterialVo.stream().forEach(item -> {
-            ZEngineeringMaterialBo zEngineeringMaterialBo = BeanUtil.toBean(item, ZEngineeringMaterialBo.class);
-            if (StringUtils.isNotEmpty(zEngineeringMaterialBo.getMaterialQuality()))
-                zEngineeringMaterialBo.setMaterialQualityName(
-                    izEnginMaterialQualityService.queryById(zEngineeringMaterialBo.getMaterialQuality())!=null
-                        ?
-                        izEnginMaterialQualityService.queryById(zEngineeringMaterialBo.getMaterialQuality()).getName()
-                        :
-                        zEngineeringMaterialBo.getMaterialQuality());
-            if (StringUtils.isNotEmpty(zEngineeringMaterialBo.getSpecifications()))
-                zEngineeringMaterialBo.setSpecificationsName(
-                    izEnginSpecificationsService.queryById(zEngineeringMaterialBo.getSpecifications())!=null
-                        ?
-                        izEnginSpecificationsService.queryById(zEngineeringMaterialBo.getSpecifications()).getName()
-                        :
-                        zEngineeringMaterialBo.getSpecifications()
-                );
-            zEngineeringMaterialBoList.add(zEngineeringMaterialBo);
-        });
-
-        return zEngineeringMaterialBoList;
+//        LambdaQueryWrapper<ZEngineeringMaterial> lqw = Wrappers.lambdaQuery();
+//        lqw.eq(StringUtils.isNotBlank(bo.getId()), ZEngineeringMaterial::getDetailsId, bo.getId()).orderByAsc(ZEngineeringMaterial::getUpdateTime);
+//        List<ZEngineeringMaterial> zEngineeringMaterialVo = baseMapper.selectList(lqw);
+        String date = new SimpleDateFormat("yyyy_MM").format(bo.getCreateTime());
+        MonthTableNameHandler.setData(date);
+        List<ZEngineeringMaterialBo> zEngineeringMaterialBo = baseMapper.selectListByDetailsId(bo.getId());
+        return zEngineeringMaterialBo;
+//        List<ZEngineeringMaterialBo> zEngineeringMaterialBoList = new ArrayList<>();
+//        zEngineeringMaterialVo.stream().forEach(item -> {
+//
+//            ZEngineeringMaterialBo zEngineeringMaterialBo = BeanUtil.toBean(item, ZEngineeringMaterialBo.class);
+//            if (StringUtils.isNotEmpty(zEngineeringMaterialBo.getMaterialQuality()))
+//                zEngineeringMaterialBo.setMaterialQualityName(
+//                    izEnginMaterialQualityService.queryById(zEngineeringMaterialBo.getMaterialQuality())!=null
+//                        ?
+//                        izEnginMaterialQualityService.queryById(zEngineeringMaterialBo.getMaterialQuality()).getName()
+//                        :
+//                        zEngineeringMaterialBo.getMaterialQuality());
+//            if (StringUtils.isNotEmpty(zEngineeringMaterialBo.getSpecifications()))
+//                zEngineeringMaterialBo.setSpecificationsName(
+//                    izEnginSpecificationsService.queryById(zEngineeringMaterialBo.getSpecifications())!=null
+//                        ?
+//                        izEnginSpecificationsService.queryById(zEngineeringMaterialBo.getSpecifications()).getName()
+//                        :
+//                        zEngineeringMaterialBo.getSpecifications()
+//                );
+//            zEngineeringMaterialBoList.add(zEngineeringMaterialBo);
+//        });
+//
+//        return zEngineeringMaterialBoList;
     }
 
     /**
@@ -194,14 +202,22 @@ public class ZEngineeringMaterialServiceImpl implements IZEngineeringMaterialSer
         if (inlist.size() != 0) {
             List<ZEngineeringMaterial> zEngineeringMaterialList = new ArrayList<>();
             bo.stream().forEach(item -> {
+                AtomicBoolean addflag = new AtomicBoolean(false);
                 inlist.stream().forEach(i -> {
-                    if (item.getId() == i) {
+                    if (item.getId() == i && i != null) {
                         ZEngineeringMaterial update2 = BeanUtil.toBean(item, ZEngineeringMaterial.class);
                         update2.setDetailsId(Infobo.getId());
                         update2.setUpdateTime(new Date());
                         zEngineeringMaterialList.add(update2);
+                        addflag.set(true);
                     }
                 });
+                if(!addflag.get()){
+                    ZEngineeringMaterial update2 = BeanUtil.toBean(item, ZEngineeringMaterial.class);
+                    update2.setDetailsId(Infobo.getId());
+                    update2.setUpdateTime(new Date());
+                    zEngineeringMaterialList.add(update2);
+                }
             });
 
             baseMapper.insertBatch(zEngineeringMaterialList);

+ 48 - 17
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringNodeServiceImpl.java

@@ -117,7 +117,12 @@ public class ZEngineeringNodeServiceImpl implements IZEngineeringNodeService {
         zEngineeringNodeBo.setId(zEngineeringNode.getId());
         List<ZEngineeringInfoBo> zEngineeringInfoBo = izEngineeringInfoService.query(zEngineeringNodeBo);
         ZEngineeringReviewBo zEngineeringReview = izEngineeringReviewService.query(zEngineeringNodeBo);
-        zEngineeringNodeBo.setReviewStatus(ObjectUtils.isEmpty(zEngineeringReview) ? "0" : zEngineeringReview.getReviewStatus());
+        String reviewStatus = "";
+        if(!ObjectUtils.isEmpty(zEngineeringInfoBo)){
+            reviewStatus = zEngineeringInfoBo.get(0).getState();
+        }
+        zEngineeringNodeBo.setReviewStatus(reviewStatus);
+//        zEngineeringNodeBo.setReviewStatus(ObjectUtils.isEmpty(zEngineeringReview) ? "0" : zEngineeringReview.getReviewStatus());
         zEngineeringNodeBo.setReviewContent(ObjectUtils.isEmpty(zEngineeringReview) ? "0" : zEngineeringReview.getReviewContent());
         zEngineeringNodeBo.setId(zEngineeringNode.getId());
         zEngineeringNodeBo.setzEngineeringInfoBoList(zEngineeringInfoBo);
@@ -636,7 +641,13 @@ public class ZEngineeringNodeServiceImpl implements IZEngineeringNodeService {
         bo.getzEngineeringInfoBo().setCreateTime(bo.getCreateTime());
         bo.getzEngineeringInfoBo().setUpdateTime(new Date());
         izEngineeringReviewService.deleteByInfoId(bo);
-        izEngineeringInfoService.insert(bo.getzEngineeringInfoBo());
+        List<ZEngineeringInfoVo> zEngineeringInfoVoList = izEngineeringInfoService.queryList(bo.getzEngineeringInfoBo());
+        if(!ObjectUtils.isEmpty(zEngineeringInfoVoList)){
+            bo.getzEngineeringInfoBo().setId(zEngineeringInfoVoList.get(0).getId());
+            izEngineeringInfoService.update(bo.getzEngineeringInfoBo());
+        }else{
+            izEngineeringInfoService.insert(bo.getzEngineeringInfoBo());
+        }
         izEngineeringReviewService.deleteByNodeBoId(bo);
         return add;
     }
@@ -706,30 +717,22 @@ public class ZEngineeringNodeServiceImpl implements IZEngineeringNodeService {
     }
 
     @Override
-    public List<String> nodeTypeList(List<ZEngineeringCivil> zEngineeringCivilList, String type, String state, ZEngineeringCivilBo bo) {
+    public List<String> nodeTypeList(List<String> civilIds, String type, String state, ZEngineeringCivilBo bo) {
         try {
             List<ZEngineeringNode> nodeTypeList = new ArrayList<>();
-            List<String> civilIds = zEngineeringCivilList.stream().map(ZEngineeringCivil::getId).collect(Collectors.toList());
             LocalDate startDate = LocalDate.of(2024, 3, 1); // 指定开始日期
             LocalDate endDate = LocalDate.now(); // 当前日期
             List<String> monthsBetween = getMonthsBetween(startDate, endDate);
             if(!ObjectUtils.isEmpty(civilIds)){
                 if (StringUtils.isNotBlank(state)) {
                     if("99".equals(state)){
-                        List<String> nodeList = baseMapper.selectNodeListByMonth(monthsBetween,type,state,civilIds).stream().map(ZEngineeringNode::getCivliId).collect(Collectors.toList());
+                        List<String> nodeList = baseMapper.selectNodeListByMonth(monthsBetween,type,state,civilIds,bo).stream().map(ZEngineeringNode::getCivliId).collect(Collectors.toList());
                         return minus(civilIds,nodeList);
                     }else{
-                        nodeTypeList.addAll(baseMapper.selectNodeListByMonth(monthsBetween,type,state,civilIds));
+                        nodeTypeList.addAll(baseMapper.selectNodeListByMonth(monthsBetween,type,state,civilIds,bo));
                     }
                 }else{
-                    for (String date:monthsBetween) {
-                        MonthTableNameHandler.setData(date);
-                        LambdaQueryWrapper<ZEngineeringNode> lqw = Wrappers.lambdaQuery();
-                        lqw.in(ZEngineeringNode::getCivliId, civilIds);
-                        lqw.eq(StringUtils.isNotBlank(type), ZEngineeringNode::getType, type);
-                        nodeTypeList.addAll(baseMapper.selectList(lqw));
-                        MonthTableNameHandler.removeData();
-                    }
+                    nodeTypeList.addAll(baseMapper.selectNodeListByMonth(monthsBetween,type,state,civilIds,bo));
                 }
             }
             if ((!"".equals(bo.getBeginTime()) && !ObjectUtils.isEmpty(bo.getBeginTime())) || (!"".equals(bo.getCreateBy()) && !ObjectUtils.isEmpty(bo.getCreateBy()))) {
@@ -1183,7 +1186,17 @@ public class ZEngineeringNodeServiceImpl implements IZEngineeringNodeService {
                 if("底腿".equals(item2.getType())){
                     if(infostateList.size()>0&&!infostateList.contains(null)&&!infostateList.contains("")){
                         if (ReviewList.size() > 0) {
-                            nodeTypeList.add(ReviewList.get(0));
+                            String content = "";
+                            for (int i=0;i<infoList.size();i++){
+                                if(StringUtils.isNotBlank(infoList.get(i).getContent())){
+                                    content+=(i+1)+"、"+(infoList.get(i).getContent())+";";
+                                }
+                            }
+                            ZEngineeringReview ifhave = new ZEngineeringReview();
+                            ifhave.setEngInfoId(item2.getId());
+                            ifhave.setReviewStatus(ReviewList.get(0).getReviewStatus());
+                            ifhave.setReviewContent(content);
+                            nodeTypeList.add(ifhave);
                         }
                     }else{
                         LambdaQueryWrapper<ZEngiineeringPhoto> lqw4 = Wrappers.lambdaQuery();
@@ -1198,8 +1211,26 @@ public class ZEngineeringNodeServiceImpl implements IZEngineeringNodeService {
                         }
                     }
                 }else{
-                    if (ReviewList.size() > 0) {
-                        nodeTypeList.add(ReviewList.get(0));
+                    if(!ObjectUtils.isEmpty(infoList) && "99".equals(infoList.get(0).getState())){
+                        ZEngineeringReview ifhave = new ZEngineeringReview();
+                        ifhave.setEngInfoId(item2.getId());
+                        ifhave.setReviewStatus("99");
+                        ifhave.setReviewContent("有暂存");
+                        nodeTypeList.add(ifhave);
+                    }else{
+                        if (ReviewList.size() > 0) {
+                            String content = "";
+                            for (int i=0;i<infoList.size();i++){
+                                if(StringUtils.isNotBlank(infoList.get(i).getContent())){
+                                    content+=(i+1)+"、"+(infoList.get(i).getContent())+";";
+                                }
+                            }
+                            ZEngineeringReview ifhave = new ZEngineeringReview();
+                            ifhave.setEngInfoId(item2.getId());
+                            ifhave.setReviewStatus(ReviewList.get(0).getReviewStatus());
+                            ifhave.setReviewContent(content);
+                            nodeTypeList.add(ifhave);
+                        }
                     }
                 }
             });

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

@@ -92,7 +92,6 @@ public class ZEngineeringReviewServiceImpl implements IZEngineeringReviewService
         }
 
     }
-
     /**
      * 查询工程审核列表
      */
@@ -120,6 +119,7 @@ public class ZEngineeringReviewServiceImpl implements IZEngineeringReviewService
         lqw.eq(StringUtils.isNotBlank(bo.getReviewStatus()), ZEngineeringReview::getReviewStatus, bo.getReviewStatus());
         lqw.eq(StringUtils.isNotBlank(bo.getReviewContent()), ZEngineeringReview::getReviewContent, bo.getReviewContent());
         lqw.eq(StringUtils.isNotBlank(bo.getEngInfoId()), ZEngineeringReview::getEngInfoId, bo.getEngInfoId());
+        lqw.orderByDesc(ZEngineeringReview::getReviewTime);
         return lqw;
     }
 

+ 51 - 14
ruoyi-zdsz/src/main/resources/mapper/zdsz/ZEngineeringCivilMapper.xml

@@ -24,6 +24,46 @@
         <result property="updateBy" column="update_by"/>
         <result property="updateTime" column="update_time"/>
     </resultMap>
+    <select id="selectIdByParams" resultType="java.lang.String">
+        SELECT
+            id
+        FROM
+            z_engineering_civil
+        WHERE
+            del_flag = '0'
+        <if test="enginType != null and enginType != ''">
+            and engin_type = #{enginType}
+        </if>
+        <if test="enginClassification != null and enginClassification != ''">
+            and engin_classification = #{enginClassification}
+        </if>
+        <if test="enginCycle != null and enginCycle != ''">
+            and engin_cycle = #{enginCycle}
+        </if>
+        <if test="areaId != null and areaId != ''">
+            and area_id = #{areaId}
+        </if>
+        <if test="buildingId != null and buildingId != ''">
+            and building_id = #{buildingId}
+        </if>
+        <if test="unitId != null and unitId != ''">
+            and unit_id = #{unitId}
+        </if>
+        <if test="district != null and district != ''">
+            and district = #{district}
+        </if>
+        <if test="houseId != null and houseId != ''">
+            and house_id = #{houseId}
+        </if>
+        <if test="notAreaId != null and notAreaId != ''">
+            and area_id not in
+            <foreach collection="notAreaId" item="id" open="(" separator="," close=")">
+                #{id}
+            </foreach>
+        </if>
+    </select>
+
+
     <select id="exportObtainQualifiedRoom" resultType="com.ruoyi.zdsz.domain.vo.ZEngineeringCivilObtainQualifiedRoom">
         SELECT
         concat( IFNULL( area, '' ), IFNULL( building, '' ), IFNULL( unit, '' ), IFNULL( house, '' ) ) ardds,
@@ -43,17 +83,14 @@
             c.update_info_time time
             FROM
             z_engineering_civil a
-            LEFT JOIN z_engineering_node_${name} b ON a.id = b.civli_id
-            LEFT JOIN z_engineering_info_${name} c ON b.id = c.eng_info_id
-            LEFT JOIN z_engineering_material_${name} d ON c.id = d.details_id
+            LEFT JOIN z_engineering_node_${name} b ON a.id = b.civli_id  AND b.del_flag = 0
+            LEFT JOIN z_engineering_info_${name} c ON b.id = c.eng_info_id AND c.del_flag = 0
+            LEFT JOIN z_engineering_material_${name} d ON c.id = d.details_id AND d.del_flag = 0
             LEFT JOIN sys_dict_data e ON e.dict_value = a.district
             WHERE
             a.engin_type = 'old_renovation'
             AND engin_classification = 'indoor_engin'
             AND a.del_flag = 0
-            AND b.del_flag = 0
-            AND c.del_flag = 0
-            AND d.del_flag = 0
             AND c.state = '1'
             <if test="p.beginTime != null and p.beginTime != ''">
                 AND c.update_info_time BETWEEN concat( #{p.beginTime[0]}, ' 00:00:00' ) AND concat( #{p.beginTime[1]}, ' 23:59:59' )
@@ -109,18 +146,18 @@
             IF( c.state = '0', '不合格', '合格' ) state
             FROM
             z_engineering_civil a
-            LEFT JOIN z_engineering_node_${name} b ON a.id = b.civli_id
-            LEFT JOIN z_engineering_info_${name} c ON b.id = c.eng_info_id
-            LEFT JOIN z_engineering_material_${name} d ON c.id = d.details_id
+            LEFT JOIN z_engineering_node_${name} b ON a.id = b.civli_id AND b.del_flag = 0
+            LEFT JOIN z_engineering_info_${name} c ON b.id = c.eng_info_id AND c.del_flag = 0
+            LEFT JOIN z_engineering_material_${name} d ON c.id = d.details_id AND d.del_flag = 0
             LEFT JOIN sys_dict_data e ON e.dict_value = a.district
             WHERE
             a.engin_type = 'old_renovation'
             AND engin_classification = 'bottom_leg'
             AND b.type = '底腿'
             AND a.del_flag = 0
-            AND b.del_flag = 0
-            AND c.del_flag = 0
-            AND d.del_flag = 0
+            <if test="p.beginTime != null and p.beginTime != ''">
+                AND c.update_info_time BETWEEN concat( #{p.beginTime[0]}, ' 00:00:00' ) AND concat( #{p.beginTime[1]}, ' 23:59:59' )
+            </if>
             AND ( c.state = '0' OR c.state = '1' )
         </foreach>
         ) z
@@ -570,7 +607,7 @@
     </select>
     <select id="getsumId" resultType="com.ruoyi.zdsz.domain.bo.ZEngineeringInfoBo">
         SELECT
-        *
+        eng_info_id
         FROM
         z_engineering_info
         WHERE
@@ -584,7 +621,7 @@
         <foreach collection="tableNames" item="name">
             union
             SELECT
-            *
+            eng_info_id
             FROM
             ${name}
             WHERE

+ 35 - 1
ruoyi-zdsz/src/main/resources/mapper/zdsz/ZEngineeringMaterialMapper.xml

@@ -23,5 +23,39 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="updateTime" column="update_time"/>
     </resultMap>
 
-
+    <select id="selectListByDetailsId" resultType="com.ruoyi.zdsz.domain.bo.ZEngineeringMaterialBo">
+        SELECT
+            b1.name as corrosionLevelName,
+            b2.name as selfClosingValveTypeName,
+            b3.name as brandName,
+            b4.name as materialQualityName,
+            c1.name as specificationsName,
+            a.id,
+            a.details_id as detailsId,
+            a.corrosion_level as corrosionLevel,
+            a.visit_type as visitType,
+            a.self_closing_valve_type as selfClosingValveType,
+            a.brand,
+            a.material_quality as materialQuality,
+            a.specifications,
+            a.number,
+            a.version,
+            a.remark,
+            a.del_flag as delFlag,
+            a.create_by as createBy,
+            a.create_time as createTime,
+            a.update_by as updateBy,
+            a.update_time as updateTime,
+            a.update_info_time as updateInfoTime
+        FROM
+            z_engineering_material a
+                LEFT JOIN z_engin_material_quality b1 ON a.corrosion_level = b1.id
+                LEFT JOIN z_engin_material_quality b2 ON a.self_closing_valve_type = b2.id
+                LEFT JOIN z_engin_material_quality b3 ON a.brand = b3.id
+                LEFT JOIN z_engin_material_quality b4 ON a.material_quality = b4.id
+                LEFT JOIN z_engin_specifications c1 ON a.specifications = c1.id
+        where a.details_id = #{detailsId}
+        and a.del_flag = '0'
+        order by a.update_time desc
+    </select>
 </mapper>

+ 128 - 19
ruoyi-zdsz/src/main/resources/mapper/zdsz/ZEngineeringNodeMapper.xml

@@ -20,47 +20,156 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <select id="selectNodeListByMonth" resultMap="ZEngineeringNodeResult">
         <foreach collection="monthList" item="month" open="" separator=" union all " close="">
             <if test="state != 99" >
-                SELECT DISTINCT a.*,b.id
+                SELECT DISTINCT a.civli_id,b.id
                 FROM
                 z_engineering_node_${month} a
                 left join z_engineering_info_${month} b on a.id=b.eng_info_id and b.del_flag=0
+                left join z_engineering_civil c on a.civli_id = c.id
                 WHERE
                 a.del_flag = 0
+                <if test="bo.enginType != null and bo.enginType != ''">
+                    and c.engin_type = #{bo.enginType}
+                </if>
+                <if test="bo.enginClassification != null and bo.enginClassification != ''">
+                    and c.engin_classification = #{bo.enginClassification}
+                </if>
+                <if test="bo.enginCycle != null and bo.enginCycle != ''">
+                    and c.engin_cycle = #{bo.enginCycle}
+                </if>
+                <if test="bo.areaId != null and bo.areaId != ''">
+                    and c.area_id = #{bo.areaId}
+                </if>
+                <if test="bo.buildingId != null and bo.buildingId != ''">
+                    and c.building_id = #{bo.buildingId}
+                </if>
+                <if test="bo.unitId != null and bo.unitId != ''">
+                    and c.unit_id = #{bo.unitId}
+                </if>
+                <if test="bo.district != null and bo.district != ''">
+                    and c.district = #{bo.district}
+                </if>
+                <if test="bo.houseId != null and bo.houseId != ''">
+                    and c.house_id = #{bo.houseId}
+                </if>
+                <if test="bo.notAreaId != null and bo.notAreaId != ''">
+                    and c.area_id not in
+                    <foreach collection="bo.notAreaId" item="id" open="(" separator="," close=")">
+                        #{id}
+                    </foreach>
+                </if>
                 AND a.type = #{type}
-                and a.civli_id in
-                <foreach collection="civilIds" item="id" open="(" separator="," close=")">
-                    #{id}
-                </foreach>
-                <if test="state == 2" >
+                <if test="state != null and state != '' and state == 2" >
                     and (state is null or state = '')
                 </if>
-                <if test="state != 2" >
+                <if test="state != null and state != '' and state != 2" >
                     and state = #{state}
                 </if>
                 HAVING b.id is not null
             </if>
             <if test="state == 99" >
-                select a.* from z_engineering_node_${month} a where a.del_flag = 0 AND a.type = #{type}
-                and a.civli_id in
-                <foreach collection="civilIds" item="id" open="(" separator="," close=")">
-                    #{id}
-                </foreach>
+                select DISTINCT
+                a.civli_id
+                from
+                z_engineering_node_${month} a
+                left join z_engineering_civil c on a.civli_id = c.id
+                where a.del_flag = 0
+                AND a.type = #{type}
+                <if test="bo.enginType != null and bo.enginType != ''">
+                    and c.engin_type = #{bo.enginType}
+                </if>
+                <if test="bo.enginClassification != null and bo.enginClassification != ''">
+                    and c.engin_classification = #{bo.enginClassification}
+                </if>
+                <if test="bo.enginCycle != null and bo.enginCycle != ''">
+                    and c.engin_cycle = #{bo.enginCycle}
+                </if>
+                <if test="bo.areaId != null and bo.areaId != ''">
+                    and c.area_id = #{bo.areaId}
+                </if>
+                <if test="bo.buildingId != null and bo.buildingId != ''">
+                    and c.building_id = #{bo.buildingId}
+                </if>
+                <if test="bo.unitId != null and bo.unitId != ''">
+                    and c.unit_id = #{bo.unitId}
+                </if>
+                <if test="bo.district != null and bo.district != ''">
+                    and c.district = #{bo.district}
+                </if>
+                <if test="bo.houseId != null and bo.houseId != ''">
+                    and c.house_id = #{bo.houseId}
+                </if>
+                <if test="bo.notAreaId != null and bo.notAreaId != ''">
+                    and c.area_id not in
+                    <foreach collection="bo.notAreaId" item="id" open="(" separator="," close=")">
+                        #{id}
+                    </foreach>
+                </if>
             </if>
         </foreach>
     </select>
     <select id="selectNodeCivliIdListByMonth" resultType="String">
         <foreach collection="monthList" item="month" open="" separator=" union all " close="">
-            SELECT a.civli_id
+            SELECT
+            DISTINCT b.civli_id
             FROM
-            z_engineering_node_${month} a
+            z_engineering_info_${month} a
+            LEFT JOIN z_engineering_node_${month} b on a.eng_info_id=b.id
             WHERE
-            a.del_flag = 0
-            and a.id in
-            <foreach collection="nodeIds" item="id" open="(" separator="," close=")">
-                #{id}
-            </foreach>
+            b.civli_id is not null
+            <if test="createTime != null and createTime != ''">
+                AND a.update_info_time BETWEEN concat( #{createTime[0]}, ' 00:00:00' ) AND concat( #{createTime[1]}, ' 23:59:59' )
+            </if>
+            <if test="UserName != null and UserName != ''">
+                and a.create_by like CONCAT('%',#{UserName},'%')
+            </if>
         </foreach>
     </select>
+
+
+<!--    select z.id from (-->
+<!--    <foreach collection="monthList" item="month" open="" separator=" union all " close="">-->
+<!--        SELECT-->
+<!--        DISTINCT a.id-->
+<!--        FROM-->
+<!--        z_engineering_info_${month} a-->
+<!--        LEFT JOIN z_engineering_node_${month} b on a.eng_info_id=b.id-->
+<!--        LEFT JOIN z_engineering_civil c on b.civli_id = a.id-->
+<!--        WHERE-->
+<!--        b.civli_id is not null-->
+<!--        and a.update_info_time BETWEEN  concat( #{createTime[0]}, ' 00:00:00' ) AND  concat( #{createTime[1]}, ' 23:59:59' )-->
+<!--        <if test="p.enginType != null and p.enginType != ''">-->
+<!--            and c.engin_type = #{p.enginType}-->
+<!--        </if>-->
+<!--        <if test="p.enginClassification != null and p.enginClassification != ''">-->
+<!--            and c.engin_classification = #{p.enginClassification}-->
+<!--        </if>-->
+<!--        <if test="p.enginCycle != null and p.enginCycle != ''">-->
+<!--            and c.engin_cycle = #{p.enginCycle}-->
+<!--        </if>-->
+<!--        <if test="p.areaId != null and p.areaId != ''">-->
+<!--            and c.area_id = #{p.areaId}-->
+<!--        </if>-->
+<!--        <if test="p.notAreaId != null and p.notAreaId != ''">-->
+<!--            and c.area_id not in-->
+<!--            <foreach collection="p.notAreaId" item="notAreaId" open="(" separator="," close=")">-->
+<!--                #{notAreaId}-->
+<!--            </foreach>-->
+<!--        </if>-->
+<!--        <if test="p.buildingId != null and p.buildingId != ''">-->
+<!--            and c.building_id = #{p.buildingId}-->
+<!--        </if>-->
+<!--        <if test="p.buildingId != null and p.buildingId != ''">-->
+<!--            and c.building_id = #{p.buildingId}-->
+<!--        </if>-->
+<!--        <if test="p.unitId != null and p.unitId != ''">-->
+<!--            and c.unit_id = #{p.unitId}-->
+<!--        </if>-->
+<!--        <if test="p.district != null and p.district != ''">-->
+<!--            and c.district = #{p.district}-->
+<!--        </if>-->
+<!--    </foreach>-->
+<!--    ) z-->
+
     <select id="queryPhotoList" resultType="String">
         SELECT
             c.pic_url