ouyj пре 4 месеци
родитељ
комит
2314c64e69

+ 16 - 0
ygtx-gxt/src/main/java/com/ygtx/gxt/service/impl/GxtOrderHourServiceImpl.java

@@ -782,6 +782,22 @@ public class GxtOrderHourServiceImpl implements IGxtOrderHourService {
             String businessDataScopeSql = " AND (" + repairBusinessSql.toString() + ")";
             repairOrder.getParams().put("businessDataScope", businessDataScopeSql);
         }
+        // 对于已作废(work_order_status = 'invalid')的工单,只有admin用户才能查看
+        if (!SecurityUtils.isAdmin(currentUser.getUserId())) {
+            String invalidFilterSql = " AND (t.work_order_status != 'invalid')";
+            if (workOrder.getParams().get("businessDataScope") != null) {
+                String existingSql = workOrder.getParams().get("businessDataScope").toString();
+                workOrder.getParams().put("businessDataScope", existingSql + invalidFilterSql);
+            } else {
+                workOrder.getParams().put("businessDataScope", invalidFilterSql);
+            }
+            if (repairOrder.getParams().get("businessDataScope") != null) {
+                String existingSql = repairOrder.getParams().get("businessDataScope").toString();
+                repairOrder.getParams().put("businessDataScope", existingSql + invalidFilterSql);
+            } else {
+                repairOrder.getParams().put("businessDataScope", invalidFilterSql);
+            }
+        }
     }
     
     /**

+ 74 - 0
ygtx-gxt/src/main/java/com/ygtx/gxt/service/impl/GxtOrderMineServiceImpl.java

@@ -66,6 +66,26 @@ public class GxtOrderMineServiceImpl implements IGxtOrderMineService {
         if (workOrder.getCreateBy() == null || workOrder.getCreateBy().isEmpty()) {
             workOrder.setCreateBy(SecurityUtils.getUsername());
         }
+        
+        // 对于已作废(work_order_status = 'invalid')的工单,只有admin用户才能查看
+        LoginUser loginUser = SecurityUtils.getLoginUser();
+        if (loginUser != null && loginUser.getUser() != null && !loginUser.getUser().isAdmin()) {
+            String invalidFilterSql = " AND (t.work_order_status != 'invalid')";
+            if (repairOrder.getParams().get("businessDataScope") != null) {
+                String existingSql = repairOrder.getParams().get("businessDataScope").toString();
+                repairOrder.getParams().put("businessDataScope", existingSql + invalidFilterSql);
+            } else {
+                repairOrder.getParams().put("businessDataScope", invalidFilterSql);
+            }
+            
+            if (workOrder.getParams().get("businessDataScope") != null) {
+                String existingSql = workOrder.getParams().get("businessDataScope").toString();
+                workOrder.getParams().put("businessDataScope", existingSql + invalidFilterSql);
+            } else {
+                workOrder.getParams().put("businessDataScope", invalidFilterSql);
+            }
+        }
+        
         // 查询工单列表
         List<OrderScoreInfo> orderList = gxtOrderMineMapper.selectUnionOrderList(repairOrder, workOrder);
 
@@ -93,6 +113,25 @@ public class GxtOrderMineServiceImpl implements IGxtOrderMineService {
                 .append("))");
         workOrder.getParams().put("businessDataScope", workFilterSql.toString());
 
+        // 对于已作废(work_order_status = 'invalid')的工单,只有admin用户才能查看
+        LoginUser loginUser = SecurityUtils.getLoginUser();
+        if (loginUser != null && loginUser.getUser() != null && !loginUser.getUser().isAdmin()) {
+            String invalidFilterSql = " AND (t.work_order_status != 'invalid')";
+            if (repairOrder.getParams().get("businessDataScope") != null) {
+                String existingSql = repairOrder.getParams().get("businessDataScope").toString();
+                repairOrder.getParams().put("businessDataScope", existingSql + invalidFilterSql);
+            } else {
+                repairOrder.getParams().put("businessDataScope", invalidFilterSql);
+            }
+
+            if (workOrder.getParams().get("businessDataScope") != null) {
+                String existingSql = workOrder.getParams().get("businessDataScope").toString();
+                workOrder.getParams().put("businessDataScope", existingSql + invalidFilterSql);
+            } else {
+                workOrder.getParams().put("businessDataScope", invalidFilterSql);
+            }
+        }
+
         // 查询工单列表
         List<OrderScoreInfo> orderList = gxtOrderMineMapper.selectUnionOrderList(repairOrder, workOrder);
 
@@ -120,6 +159,25 @@ public class GxtOrderMineServiceImpl implements IGxtOrderMineService {
                 .append("))");
         workOrder.getParams().put("businessDataScope", workFilterSql.toString());
 
+        // 对于已作废(work_order_status = 'invalid')的工单,只有admin用户才能查看
+        LoginUser loginUser = SecurityUtils.getLoginUser();
+        if (loginUser != null && loginUser.getUser() != null && !loginUser.getUser().isAdmin()) {
+            String invalidFilterSql = " AND (t.work_order_status != 'invalid')";
+            if (repairOrder.getParams().get("businessDataScope") != null) {
+                String existingSql = repairOrder.getParams().get("businessDataScope").toString();
+                repairOrder.getParams().put("businessDataScope", existingSql + invalidFilterSql);
+            } else {
+                repairOrder.getParams().put("businessDataScope", invalidFilterSql);
+            }
+
+            if (workOrder.getParams().get("businessDataScope") != null) {
+                String existingSql = workOrder.getParams().get("businessDataScope").toString();
+                workOrder.getParams().put("businessDataScope", existingSql + invalidFilterSql);
+            } else {
+                workOrder.getParams().put("businessDataScope", invalidFilterSql);
+            }
+        }
+
         // 查询工单列表
         List<OrderScoreInfo> orderList = gxtOrderMineMapper.selectUnionOrderList(repairOrder, workOrder);
 
@@ -597,6 +655,22 @@ public class GxtOrderMineServiceImpl implements IGxtOrderMineService {
             String businessDataScopeSql = " AND (" + repairBusinessSql.toString() + ")";
             repairOrder.getParams().put("businessDataScope", businessDataScopeSql);
         }
+        // 对于已作废(work_order_status = 'invalid')的工单,只有admin用户才能查看
+        if (!SecurityUtils.isAdmin(currentUser.getUserId())) {
+            String invalidFilterSql = " AND (t.work_order_status != 'invalid')";
+            if (workOrder.getParams().get("businessDataScope") != null) {
+                String existingSql = workOrder.getParams().get("businessDataScope").toString();
+                workOrder.getParams().put("businessDataScope", existingSql + invalidFilterSql);
+            } else {
+                workOrder.getParams().put("businessDataScope", invalidFilterSql);
+            }
+            if (repairOrder.getParams().get("businessDataScope") != null) {
+                String existingSql = repairOrder.getParams().get("businessDataScope").toString();
+                repairOrder.getParams().put("businessDataScope", existingSql + invalidFilterSql);
+            } else {
+                repairOrder.getParams().put("businessDataScope", invalidFilterSql);
+            }
+        }
     }
     
 

+ 16 - 0
ygtx-gxt/src/main/java/com/ygtx/gxt/service/impl/GxtOrderScoreServiceImpl.java

@@ -1132,6 +1132,22 @@ public class GxtOrderScoreServiceImpl implements IGxtOrderScoreService {
             String businessDataScopeSql = " AND (" + repairBusinessSql.toString() + ")";
             repairOrder.getParams().put("businessDataScope", businessDataScopeSql);
         }
+        // 对于已作废(work_order_status = 'invalid')的工单,只有admin用户才能查看
+        if (!SecurityUtils.isAdmin(currentUser.getUserId())) {
+            String invalidFilterSql = " AND (t.work_order_status != 'invalid')";
+            if (workOrder.getParams().get("businessDataScope") != null) {
+                String existingSql = workOrder.getParams().get("businessDataScope").toString();
+                workOrder.getParams().put("businessDataScope", existingSql + invalidFilterSql);
+            } else {
+                workOrder.getParams().put("businessDataScope", invalidFilterSql);
+            }
+            if (repairOrder.getParams().get("businessDataScope") != null) {
+                String existingSql = repairOrder.getParams().get("businessDataScope").toString();
+                repairOrder.getParams().put("businessDataScope", existingSql + invalidFilterSql);
+            } else {
+                repairOrder.getParams().put("businessDataScope", invalidFilterSql);
+            }
+        }
     }
 
     /**

+ 11 - 0
ygtx-gxt/src/main/java/com/ygtx/gxt/service/impl/GxtRepairOrderServiceImpl.java

@@ -1237,6 +1237,17 @@ public class GxtRepairOrderServiceImpl implements IGxtRepairOrderService
             String businessDataScopeSql = " AND (" + businessSql.toString() + ")";
             gxtRepairOrder.getParams().put("businessDataScope", businessDataScopeSql);
         }
+        
+        // 对于已作废(work_order_status = 'invalid')的工单,只有admin用户才能查看
+        if (!SecurityUtils.isAdmin(currentUser.getUserId())) {
+            String invalidFilterSql = " AND (t.work_order_status != 'invalid')";
+            if (gxtRepairOrder.getParams().get("businessDataScope") != null) {
+                String existingSql = gxtRepairOrder.getParams().get("businessDataScope").toString();
+                gxtRepairOrder.getParams().put("businessDataScope", existingSql + invalidFilterSql);
+            } else {
+                gxtRepairOrder.getParams().put("businessDataScope", invalidFilterSql);
+            }
+        }
     }
 
     /**

+ 11 - 11
ygtx-gxt/src/main/java/com/ygtx/gxt/service/impl/GxtWorkOrderServiceImpl.java

@@ -1412,6 +1412,17 @@ public class GxtWorkOrderServiceImpl implements IGxtWorkOrderService
             String businessDataScopeSql = " AND (" + businessSql.toString() + ")";
             gxtWorkOrder.getParams().put("businessDataScope", businessDataScopeSql);
         }
+
+        // 对于已作废(work_order_status = 'invalid')的工单,只有admin用户才能查看
+        if (!SecurityUtils.isAdmin(currentUser.getUserId())) {
+            String invalidFilterSql = " AND (t.work_order_status != 'invalid')";
+            if (gxtWorkOrder.getParams().get("businessDataScope") != null) {
+                String existingSql = gxtWorkOrder.getParams().get("businessDataScope").toString();
+                gxtWorkOrder.getParams().put("businessDataScope", existingSql + invalidFilterSql);
+            } else {
+                gxtWorkOrder.getParams().put("businessDataScope", invalidFilterSql);
+            }
+        }
     }
 
     // 生成工单编号
@@ -1606,17 +1617,6 @@ public class GxtWorkOrderServiceImpl implements IGxtWorkOrderService
                 continue;
             }
         }
-        String selfData = configService.selectConfigByKey("gxt.oder.selfData");
-        if (StringUtils.isNotEmpty(selfData) && "1".equals(selfData)) {
-            if (businessSql.length() > 0) {
-                businessSql.append(" OR ");
-            }
-            businessSql.append("(t.dept_id = ")
-                    .append(currentUser.getDeptId())
-                    .append(" OR t.parent_id = ")
-                    .append(currentUser.getDeptId())
-                    .append(")");
-        }
         // 如果构建了业务特定的过滤条件,则添加到查询参数中
         if (businessSql.length() > 0) {
             String businessDataScopeSql = " AND (" + businessSql.toString() + ")";