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");
}

把list(对象)集合中的(某个属性),放到数组中。的更多相关文章

  1. 借助JavaScript中的Dom属性改变Html中Table边框的颜色

    借助JavaScript中的Dom属性改变Html中Table边框的颜色 -------------------- <html> <head> <title>我是页 ...

  2. 3.键盘输入10个数,放到数组中,(1)去除该数组中大于10的数 (2)将该数组中的数字写入到本地文件number.txt中

    package cn.it.text; import java.io.FileWriter; import java.io.IOException; import java.util.Scanner; ...

  3. JS中split使用方法和数组中元素的删除

    JS中split使用方法和数组中元素的删除 JS中split使用方法 <script language="javascript"> function spli(){ d ...

  4. 在Java中如何高效的判断数组中是否包含某个元素

    原文出处: hollischuang(@Hollis_Chuang) 如何检查一个数组(无序)是否包含一个特定的值?这是一个在Java中经常用到的并且非常有用的操作.同时,这个问题在Stack Ove ...

  5. java中如何高效的判断数组中是否包含某个元素---

    package zaLearnpackage; import org.apache.commons.lang3.ArrayUtils; import java.util.Arrays; import ...

  6. 在Java中怎样高效的推断数组中是否包括某个元素

    来自 http://www.hollischuang.com/archives/1269? 怎样检查一个数组(无序)是否包括一个特定的值?这是一个在Java中经经常使用到的并且非常实用的操作.同一时候 ...

  7. 获取项目中文件,存放到Debug中。

    说起这个,还真是费了一般功夫. 说个最简单的方法: 第一步:把需要生成到Debug中的文件放到项目中(注意:当前文件夹目录是什么样的,存放到Debug中也是什么样) 第二部:设置文件属性中 复制到输出 ...

  8. 剑指offer-第六章面试中的各项能力(数组中只出现一次的数字)

    题目:输入一个数组,该数组中有两个只出现一次的数字,其他的数字都出现两次,输出出只出现一次的数字. 思路:首先,我们可以将这个数组分成两份,一份里面放一个只出现一次的数字.那么我们该怎么分呢?将整个数 ...

  9. 解决js中对象中属性是数组中对应元素,不能使用点数组元素(.数组[i])来获取value值来循环,属性不能是数组元素array[i]的问题

    数据类型 //示例 var tags1avg= ['rg2_crt_001_001_avg', 'rg2_crt_001_002_avg', 'rg2_crt_001_003_avg', 'rg2_c ...

随机推荐

  1. Hadoop学习笔记(4) ——搭建开发环境及编写Hello World

    Hadoop学习笔记(4) ——搭建开发环境及编写Hello World 整个Hadoop是基于Java开发的,所以要开发Hadoop相应的程序就得用JAVA.在linux下开发JAVA还数eclip ...

  2. 十三、nginx 强制下载txt等文件

    当前的浏览器能够识别文件格式,如果浏览器本身能够解析就会默认打开,如果不能解析就会下载该文件. 那么使用nginx做资源服务器的时候,如何强制下载文件呢? location /back/upload/ ...

  3. number_formate 货币金额或数量格式化

    $row['formated_goods_price']    = number_format($row['goods_price'], 2, '.', ''); number_format() 函数 ...

  4. golang 生成图表

    golang 支持生产图片的源码在下面地址可以看到: https://github.com/vdobler/chart 这个项目 的 example 目录下编译后,执行下面命令就可以生产所有它支持的图 ...

  5. Oracle自定义函数&加密

    在sql中频繁使用的功能(逻辑.加密等)可以写成自定义函数进行封装,之后再调用即可. CREATE OR REPLACE FUNCTION "函数名" (参数名 参数类型 参数数据 ...

  6. C++类继承--基类new和用派生类new的区别

    实际上无论是用基类还是派生类New, 结果是一样的: #include <stdio.h> class Base { public: int a; Base(){ a=0; } virtu ...

  7. GIS与FVCOM模型耦合的关键技术及解决思路

    1. FVCOM本身为Linux下的MPI程序,首先将其移植到Windows下,可以编译成控制台程序. 2. FVCOM的前处理由GIS完成剖分网格和初始设定等工作. 3. FVCOM的输出采用自定义 ...

  8. maven学习(七)后续扩展、资料

    写这几篇博客的来源是 "maven实战 + 网上的博客 + 平时使用的心得 ".记录的都是比较常用的东西,也有一些只做了大概了解.或者干脆直接略过,在这里做一下总结,如果有需要在进 ...

  9. Java—IO流 对象的序列化和反序列化

    序列化的基本操作 1.对象序列化,就是将Object转换成byte序列,反之叫对象的反序列化. 2.序列化流(ObjectOutputStream),writeObject 方法用于将对象写入输出流中 ...

  10. HTML 段落p

    可以把 HTML 文档分割为若干段落. HTML 段落 段落是通过 <p> 标签定义的. 实例 <p>This is a paragraph</p> <p&g ...