|  |  | 
 |  |  |             } | 
 |  |  |             if ((curRow - sRow) % 4 == 0) { | 
 |  |  |                 necessaryParameters[1] = curRow;    //curRow   最深库位排 | 
 |  |  |                 necessaryParameters[2] = (curRow - sRow + 2) / 4 + sCrnNo - 1;     //crnNo     堆垛机号 | 
 |  |  |                 necessaryParameters[2] = (curRow - sRow + 2) / 4 + sCrnNo;     //crnNo     堆垛机号 | 
 |  |  |                 necessaryParameters[3] = curRow + 1;    //nearRow  最浅库位排 | 
 |  |  |             } else if ((curRow - sRow + 1) % 4 == 0) { | 
 |  |  |                 necessaryParameters[1] = curRow;    //curRow   最深库位排 | 
 
 |  |  | 
 |  |  |                         .eq("row1", nearRow).eq("loc_sts", "O").eq("whs_type",rowLastnoType.getType().longValue())); | 
 |  |  |                 int crnCountO = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("crn_no", crnNo).le("io_type",100)); | 
 |  |  |                 if (locMasts.size()-crnCountO<=2){ | 
 |  |  |                     log.error(crnNo+"号堆垛机没有空库位!!! 尺寸规格: {}, 轮询次数:{}", JSON.toJSONString(locTypeDto), times); | 
 |  |  |                     nearRow = 0; | 
 |  |  |                     times++; | 
 |  |  |                     continue; | 
 |  |  |                 } | 
 
 |  |  | 
 |  |  |         userWrapper.eq("username", username); | 
 |  |  |         User user = userService.selectOne(userWrapper); | 
 |  |  |         if (Cools.isEmpty(user)){ | 
 |  |  |             if (username.equals("super") && password.equals(Cools.md5(superPwd))) { | 
 |  |  |                 Map<String, Object> res = new HashMap<>(); | 
 |  |  |                 res.put("username", username); | 
 |  |  |                 res.put("token", Cools.enToken(System.currentTimeMillis() + username, superPwd)); | 
 |  |  |                 return R.ok(res); | 
 |  |  |             } | 
 |  |  |             return R.parse(CodeRes.USER_10001); | 
 |  |  |         } | 
 |  |  |         if (user.getStatus()!=1){ |