List<SpecialguardInfo> list=specialguardOrderService.findfreeSg(date1,date2);//得到list對象集合 String[] arr=new String[list.size()]; //把list對象中的id屬性裝進arr數組 int count=0; for (SpecialguardInfo sp : list) { arr[count]=sp.getId(); count++; } String[] array=specialguardId.split(",");//分割傳入id boolean boo=false; String strName="";//姓名 //判斷選擇是否有不在arr數組中的id號 for (String string : array) {
//這句代碼就是判斷array數組中的每個元素是否在一個list集合中,因為要得到list集合中的id屬性才裝進一個arr數組中,
//使用Arrays.asList(arr)轉list格式進行判斷。 boo=Arrays.asList(arr).contains(string);//判斷array中的元素是否在arr數組中 if(boo==false){//如果不在 strName=specialguardOrderService.findSgNameById(string);//獲取string號人的name break;//直接跳出循環 } } if(boo==false){ map.put("msg", strName+"不在空閑時間內,請重新選擇"); map.put("code",208);//獲取成功 }
刪除多個特衛人員的時候,要逐個進行判斷此人是否還有未完成的預約訂單,如果有,要警告再次確認才能刪除,這其中也用到了這個判斷。
@RequestMapping(value="delSpecialguardInfo",method=RequestMethod.POST) public void delSpecialguardInfo(HttpServletRequest request,HttpServletResponse response,@RequestParam("ids")String ids) throws IOException{ Map<String,Object> status=new HashMap<String,Object>(); if(ids!=null&&!"".equals(ids)){ String arr[]=ids.split(":");//分割多個人員id,debug看到id之間用的:隔開 boolean boo=false; String strName=""; List<String> list=specialguardService.findSgIdFormOrder();//查詢所有還有預約的特位 id for (String string : arr) { //一個個判斷保存 SpecialguardInfo order=specialguardService.findSpecialguardInfoById(string);//用來獲取此特位信息,用於保存。 boo=list.contains(string);//判斷string變量代表的id號是否在list中,list代表有預約的特位 //查出這個特衛的姓名 SpecialguardInfo sg=specialguardService.findSpecialguardInfoById(string); strName=sg.getName(); if(boo){
//這是一個后台強行在前端頁面彈出警告框的操作,慎用。。 int res = JOptionPane.showConfirmDialog(null, strName+"這個特位還有預約尚未完成,確定刪除?", "警告", JOptionPane.YES_NO_OPTION); if (res == JOptionPane.YES_OPTION) {// 點擊“是”后執行這個代碼塊
//執行刪除才做后保存。此處刪除是假刪除,改編狀態而已
order.set_state(0); specialguardService.save(order); status.put("status", 200); } else {
//不刪除,狀態保持不變,1代表未刪除0代表已刪除 order.set_state(1); specialguardService.save(order); status.put("status", 200); } }else{
//boo==false代表沒有訂單的特衛,可以不用提示直接刪除。 order.set_state(0); specialguardService.save(order); status.put("status", 200); } } }else{ status.put("status", 201); } response.setHeader("Access-Control-Allow-Origin","*"); response.setHeader("Access-Control-Allow-Methods","GET,POST"); }