From af8f87298fc611ac371216e278a18abac6ca0766 Mon Sep 17 00:00:00 2001
From: ZY <zc857179121@qq.com>
Date: 星期一, 28 十月 2024 12:11:50 +0800
Subject: [PATCH] sql注入漏洞
---
src/main/java/com/zy/common/service/AgvCommonService.java | 55 ++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 46 insertions(+), 9 deletions(-)
diff --git a/src/main/java/com/zy/common/service/AgvCommonService.java b/src/main/java/com/zy/common/service/AgvCommonService.java
index f756a9a..e7aded0 100644
--- a/src/main/java/com/zy/common/service/AgvCommonService.java
+++ b/src/main/java/com/zy/common/service/AgvCommonService.java
@@ -9,6 +9,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -73,7 +74,7 @@
* 妫�绱㈠簱浣嶅彿
* @return locNo 妫�绱㈠埌鐨勫簱浣嶅彿
*/
- public AgvLocMast getLocNo(int type, int floor) {
+ public AgvLocMast getLocNo(int type, int floor,boolean isEmpty,boolean isCurrLev) {
// 鐩爣搴撲綅
AgvLocMast locMast = null;
// if(Cools.isEmpty(agvWaitPakinList)){
@@ -113,16 +114,16 @@
try{
// 寮�濮嬫煡鎵惧簱浣� ==============================>>
- locMast = getLocNoRule(type,floor);
+ locMast = getLocNoRule(type,floor,isEmpty,isCurrLev);
if (locMast != null) {
return locMast;
}
}catch (Exception e){
- throw new CoolException("妤煎眰鍙凤細"+floor+"锛涜妤煎眰娌℃湁绌哄簱浣�===>"+e.getMessage());
+ throw new CoolException(floor+"妤硷紱璇ユゼ灞傛病鏈夌┖搴撲綅===>"+e.getMessage());
}
//鎵句笉鍒板簱浣嶏紝鎶涘嚭寮傚父
- throw new CoolException("妤煎眰鍙凤細"+floor+"锛涜妤煎眰娌℃湁绌哄簱浣�");
+ throw new CoolException(floor+"妤硷紱璇ユゼ灞傛病鏈夌┖搴撲綅");
}
/*
@@ -233,12 +234,48 @@
}
//闅忔満鍙栦竴涓揣浣�
- private AgvLocMast getLocNoRule(int type,int floor){
+ private AgvLocMast getLocNoRule(int type,int floor,boolean isEmpty,boolean isCurrLev){
+ Boolean orderBy = false;
+ int levCount = 0;
+ int times = 1;
+ if (floor == 1 || floor >= 4) {
+ if (floor >= 4 ) {
+ floor = 1;
+ }
+ orderBy = true;
+ levCount = 2;
+ } else {
+ orderBy = false;
+ levCount = 1;
+ }
try{
- List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(new EntityWrapper<AgvLocMast>()
- .eq("loc_sts", "O")
- .eq("floor", floor)
- .eq("loc_type1", type));
+ EntityWrapper<AgvLocMast> wrapper = new EntityWrapper<>();
+ wrapper.eq("loc_sts", "O").eq("loc_type1", type);
+ List<AgvLocMast> agvLocMasts = new ArrayList<>();
+ //涓嶆槸绌烘澘浼樺厛鎵�2灞�
+ if (isEmpty) {
+ wrapper.eq("floor", floor).eq("lev1",1);
+ } else {
+ if (isCurrLev) {
+ wrapper.eq("floor", floor).eq("lev1",1);
+ } else {
+ wrapper.eq("floor", floor).orderBy("lev1",!orderBy);
+ }
+ }
+
+
+ //褰撶洰鏍囧簱浣嶆槸1妤�
+ if(floor == 1) {
+ wrapper.orderBy("loc_no",false);
+ }
+ agvLocMasts = agvLocMastService.selectList(wrapper);
+ //鏄惁褰撳墠灞�
+ if (Cools.isEmpty(agvLocMasts) && !isCurrLev) {
+ if (times < levCount) {
+ times++;
+ return getLocNoRule(type,floor,isEmpty,isCurrLev);
+ }
+ }
for (AgvLocMast agvLocMast : agvLocMasts){
AgvLocMast agvLocMast1 = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvLocMast.getLocNo()));
if (agvLocMast1.getLocSts().equals("O")){
--
Gitblit v1.9.1