wangtong 1 рік тому
батько
коміт
6bb61d42d0

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

@@ -81,7 +81,7 @@ public interface IZEngineeringNodeService {
     Boolean update(ZEngineeringNodeBo bo);
     Boolean updateMuch(ZEngineeringNodeBo bo);
     Boolean delete(ZEngineeringNodeBo bo);
-    List<String> nodeTypeList(List<ZEngineeringCivil> zEngineeringCivilList,String type);
+    List<String> nodeTypeList(List<ZEngineeringCivil> zEngineeringCivilList,String type,String state);
     Map<String,Object> ReViewList(List<ZEngineeringCivilVo> zEngineeringCivilList);
 
     /**

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

@@ -163,7 +163,7 @@ public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
         Page<ZEngineeringCivilVo> result=new Page<>();
         if (!"".equals(bo.getType())&&!ObjectUtils.isEmpty(bo.getType()))
         {
-            List IDList=zEngineeringNodeService.nodeTypeList(baseMapper.selectList(lqw),bo.getType());
+            List IDList=zEngineeringNodeService.nodeTypeList(baseMapper.selectList(lqw),bo.getType(),bo.getCompletionStatus());
 
             if (IDList.size()==0)
             {

+ 27 - 3
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringNodeServiceImpl.java

@@ -456,7 +456,7 @@ public class ZEngineeringNodeServiceImpl implements IZEngineeringNodeService {
     }
 
     @Override
-    public List<String> nodeTypeList(List<ZEngineeringCivil> zEngineeringCivilList,String type) {
+    public List<String> nodeTypeList(List<ZEngineeringCivil> zEngineeringCivilList,String type,String state) {
         List<ZEngineeringNode> nodeTypeList=new ArrayList<>();
         zEngineeringCivilList.forEach(item->{
             String date=  new SimpleDateFormat("yyyy_MM").format(item.getCreateTime());
@@ -464,7 +464,31 @@ public class ZEngineeringNodeServiceImpl implements IZEngineeringNodeService {
             LambdaQueryWrapper<ZEngineeringNode> lqw = Wrappers.lambdaQuery();
             lqw.eq(StringUtils.isNotBlank(item.getId()), ZEngineeringNode::getCivliId, item.getId());
             lqw.eq(StringUtils.isNotBlank(type), ZEngineeringNode::getType, type);
-            nodeTypeList.addAll(baseMapper.selectList(lqw));
+            List<ZEngineeringNode>nodeList=baseMapper.selectList(lqw);
+            if (StringUtils.isNotBlank(state))
+            {
+            if (nodeList.size()>0) {
+                nodeList.forEach(item2 -> {
+                    LambdaQueryWrapper<ZEngineeringReview> lqw2 = Wrappers.lambdaQuery();
+                    lqw2.eq(StringUtils.isNotBlank(item2.getId()), ZEngineeringReview::getEngInfoId, item2.getId()).orderByDesc(ZEngineeringReview::getReviewTime);
+                    List<ZEngineeringReview> ReviewList = zEngineeringReviewMapper.selectList(lqw2);
+                    if (state.equals("0"))
+                    {
+                    if (ReviewList.size() == 0 || ReviewList.get(0).getReviewStatus().equals("0")) {
+                        nodeTypeList.add(item2);
+                    }
+                    }else
+                    {
+                        if (ReviewList.size() > 0 && ReviewList.get(0).getReviewStatus().equals("1")) {
+                            nodeTypeList.add(item2);
+                        }
+                    }
+                });
+            }
+            }else
+            {
+                nodeTypeList.addAll(nodeList);
+            }
             MonthTableNameHandler.removeData();
         });
         List<String>IDList=new ArrayList<>();
@@ -503,7 +527,7 @@ public class ZEngineeringNodeServiceImpl implements IZEngineeringNodeService {
             List stateList=new ArrayList();
             sysDictMap.get(item.getEnginType()+"_"+item.getEnginClassification()).stream().forEach(item3 -> {
                 Map<String,Object> map=new HashMap<>();
-                        if (nodeList.stream().anyMatch(x->x.getType().equals(item3.getDictValue())))
+                        if (nodeList.size()>0&&nodeList.stream().anyMatch(x->x.getType().equals(item3.getDictValue())))
                         {
                 map.put("Type",item3.getDictValue());
                 map.put("state",nodeTypeList.stream().anyMatch(y->y.getEngInfoId().equals(nodeList.stream().filter(x->x.getType().equals(item3.getDictValue())).collect(Collectors.toList()).get(0).getId()))?nodeTypeList.stream().filter(y->y.getEngInfoId().equals(nodeList.stream().filter(x->x.getType().equals(item3.getDictValue())).collect(Collectors.toList()).get(0).getId())).collect(Collectors.toList()).get(0).getReviewStatus():"0");