JavaWeb实现售酒信息管理系统

目录

一、项目简介

二、文件结构

三、系统界面

四、代码模块

五、数据库结构展示

六、总结


 

一、项目简介

售酒信息管理系统是使用SSM框架、jdk1.8、tomcat8.5.40实现,结构简单、界面简洁对于新手朋友很友好,功能主要包括简单的增、删、改、查、验证码、分页、图片上传等操作。

二、文件结构

控制层、持久层、bean层、服务层等:

88774c034c1543df9c19a34c02ab4daf.png

前端结构: 

a321f24285a643f6ba65f65c04c33d2b.png

 

三、系统界面

2.1登录界面

8e850ef039654067bdca48dfbb43d2bc.png

2.2设备列表界面

32078f3d13b041bf93b5eadc9bd77d69.png

2.3设备添加界面

9e7d069640f548fc80c3e55411b9b1a1.png 2.4商品列表界面

3755ddf2820d4d2abcd98926598ccb31.png2.5商品添加界面

28eb68f9ef6d4dcdbf7309b6d8214d11.png

 156c95b40ea843e09050f4e7bac2cda0.png

后面各个模板就不一一展示,直接上代码。

四、代码模块

设备控制层代码:

package com.fish.controller;

 
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.Socket;
import java.net.URL;
import java.net.URLConnection;
import java.text.SimpleDateFormat;
import java.util.*;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.socket.SocketThread;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.fish.pojo.Equipment;
import com.fish.pojo.ICCID;
import com.fish.pojo.Oder;
import com.fish.pojo.QueryVo;
import com.fish.pojo.User;
import com.fish.service.EquipmentService;
import com.fish.service.UserService;
import com.fish.service.WeixinService;
import com.fish.util.Page;
import com.fish.util.RecodeUtil;
import com.fish.util.WeixinConnetcion;
import com.fish.util.WeixinMehthod;

@Controller
public class ControllerEquipment {
	@Autowired EquipmentService equipmentService;
	@Autowired UserService userservice;
	@Autowired WeixinService weixinservice;
	@Value("${url}")
	private String url;
	@Value("${wineUrl}")
	private String
			wineUrl;
	WeixinConnetcion weixinConnetcion = new WeixinConnetcion();
	WeixinMehthod weixinmethod= new WeixinMehthod();
	private DataOutputStream out;
	//设备列表
	@RequestMapping(value="/listE")
	public String listE(Model model,HttpSession session,QueryVo vo) throws IOException {
		
		// 用户
				User user=(User) session.getAttribute("user");
				model.addAttribute("user", user);
				String operators=user.getName();
				 
				vo.setOperators(operators);
		//列表
	Page<Equipment> equipments=	equipmentService.selectEquipments(vo);
 
	for (Equipment equipment : equipments.getRows()) {

		String IMEI = equipment.getIMEI();
		Equipment equipment2 = equipmentService.selecteRenewByIMEI(IMEI);
		if (equipment2.getTime() != null) {
			equipment.setTime(equipment2.getTime());
		}

		String CSQ = SocketThread.CSQ.get(IMEI);
		if (CSQ!=null && CSQ!=""){
			equipment.setCSQ(CSQ);
		}

	}
	

	model.addAttribute("size", equipments.getRows().size()); 
	model.addAttribute("equipments", equipments);
	
 
	
	
		return "equipment";	
	}
	//模糊查询
	@RequestMapping(value="/selectEbyLike")
	public String selectEbyLike(Model model,HttpSession session,QueryVo vo) {
		User user=(User) session.getAttribute("user");
	 
		String operators=user.getName();
		vo.setOperators(operators);
	Page<Equipment> equipments =	equipmentService.selectEquipmentsByLike(vo);
		
		model.addAttribute("panduan", "bylike");
	model.addAttribute("size", equipments.getRows().size()); 
		model.addAttribute("equipments", equipments);
		
		return "equipment";
		
		
		
	}
//编辑设备
		@RequestMapping(value="/equipment_edit")
		public String 	equipment_edit(Equipment equipment,Model model) {
			
		Equipment em=	equipmentService.selectEquipmentById(equipment);
			
			model.addAttribute("em", em);
			return "equipment_edit";	
		}
		
		@RequestMapping(value="/updateE")
		public @ResponseBody int updateE(Equipment equipment){
	int a=		equipmentService.editEquipment(equipment);
			
			
			return a;

		}
		
		
//添加设备
		@RequestMapping(value="/equipment_add")
		public String 	equipment_add(Model model ) {
		 
			
			return "equipment_add";	
		}
	@RequestMapping(value="/addE")
	public @ResponseBody int addE(Equipment equipment ) throws IOException {
	        if(equipment.getIMEI()==null&&equipment.geteName()==null ||equipment.getIMEI()==""&&equipment.geteName()=="") {
	        	return 0;
	        }
		 if(equipment.getIMEI().length()!=15){
			 return 0;
		 }else {
			int if_exit= equipmentService.checkIMEIexit(equipment.getIMEI());
		 if (if_exit==0) {
			return 0;
		}else {
		  
		 
		URL url = new URL("http://time.tianqi.com/");// 取得资源对象专属
		URLConnection uc = url.openConnection();// 生成连接对象
		uc.connect(); // 发出连接
		long ld = uc.getDate(); // 取得网站日期时间
		Date date = new Date(ld); // 转换为标准时间对象
		equipment.setAddTime(date);
		 
	     int a=	equipmentService.addEquipment(equipment);
		
	  
	     
		return a;	
		}
		 }
	}
	
	
	
	
	//删除设备
	@RequestMapping(value="/deleteE")
	public String delteE(Equipment equipment ) {
	  equipmentService.deleteEquipment(equipment);
	 
		
	  return "redirect:listE";
		
	}
	
	//批量删除
	@RequestMapping(value="/deleteAllE")
	public String deleteAll(Integer[] allIDCheck) {
		
		equipmentService.deleteAll(allIDCheck);

	
		return "redirect:listE";
		
		
	}
	

 
	//根据IMEI搜索设备信息
	@RequestMapping(value="/selectEbyIMEI")
	public String selectEbyIMEI(QueryVo vo  ,Model model,HttpSession session) {
		session.setAttribute("type", vo.getType());
		session.setAttribute("IMEI_page", vo.getPage());
		Page<Oder> em=	equipmentService.selectEquipmentByIMEI(vo);
		Double pricedDouble=0.0;
		String IMEI=null;
		for (Oder oder : em.getRows()) {
		IMEI= oder.getIMEI();	
	 pricedDouble=pricedDouble+Double.parseDouble(oder.getPrice());
		}
		String price=String.valueOf(pricedDouble);
		model.addAttribute("IMEI", IMEI);
		model.addAttribute("price", price);
		model.addAttribute("equipment", em);
		return "equipment_out";
	}
	   //导出excel
	@RequestMapping(value="/outExcel")
	public void excel(HttpServletResponse response,QueryVo vo,HttpSession session,String state) throws IOException {
                   String type=  (String) session.getAttribute("type");
               Integer Imei_page=    (Integer) session.getAttribute("IMEI_page");
		response.setCharacterEncoding("UTF-8");  
		vo.setType(type);
		 vo.setPage(Imei_page);
		Page<Oder> em=	equipmentService.selectEquipmentByIMEI(vo);
		 
		
	      //创建excel文件
	        HSSFWorkbook wb = new HSSFWorkbook();
	        //创建sheet页
	        HSSFSheet sheet = wb.createSheet("设备订单信息表");
	        //创建标题行
	        HSSFRow titleRow = sheet.createRow(0);
	        titleRow.createCell(0).setCellValue("订单时间");
	        titleRow.createCell(1).setCellValue("订单号");
	        titleRow.createCell(2).setCellValue("售出酒品");
	        titleRow.createCell(3).setCellValue("营业额");
	        titleRow.createCell(4).setCellValue("运营商");
 
	        //遍历将数据放到excel列中
           for (Oder user : em.getRows()) {
               HSSFRow dataRow = sheet.createRow(sheet.getLastRowNum()+1);
               
               SimpleDateFormat formatter = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
         	  String dateString = formatter.format(user.getTime());
               
               dataRow.createCell(0).setCellValue(dateString);
               
               dataRow.createCell(1).setCellValue(user.getOderId());
               dataRow.createCell(2).setCellValue(user.getgName());
               dataRow.createCell(3).setCellValue(user.getPrice());
               dataRow.createCell(4).setCellValue(user.getBusiness());
  
           }
           /*   // 设置下载时客户端Excel的名称  
           String filename =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + ".xls";  
              response.setContentType("application/vnd.ms-excel");  
              response.setHeader("Content-disposition", "attachment;filename=" + filename);  */

          // 设置下载时客户端Excel的名称   (上面注释的改进版本,上面的中文不支持)
                  response.setContentType("application/octet-stream;charset=utf-8");
                  response.setHeader("Content-Disposition", "attachment;filename="
                          + new String((vo.getIMEI()+"设备订单信息表").getBytes(),"iso-8859-1") + ".xls");


              OutputStream ouputStream = response.getOutputStream();  
              wb.write(ouputStream);  
              ouputStream.flush();  
              ouputStream.close();
                 wb.close();
		
	}
	 
	//标定
	@RequestMapping(value="/biaoding")
	public @ResponseBody String biaoding(String IMEI,Model model) {
		Socket socket = SocketThread.IMEI_socket.get(IMEI);
		if(socket!=null) {
			 return "biaoding2";
		}
		
		return null;
	}
	@RequestMapping(value="/biaoding2")
	public   String biaoding2(String IMEI,Model model) {
		 
              model.addAttribute("IMEI", IMEI.replace(",", ""));
		return "biaoding";
		
		
	}
	@RequestMapping("/testBiaoding")
	public @ResponseBody int testBiaoding(Equipment equipment) {
		      System.out.println("BIAODING:"+equipment.getIMEI());
		String message="";
		 
		if (equipment.getMaic()==null) {
              return 0;
		}else {
			message="$"+equipment.getMaic() ;
			
		}
		String IMEI = equipment.getIMEI();
		Socket socket = SocketThread.IMEI_socket.get(IMEI);
		try {
			out = new DataOutputStream(socket.getOutputStream());
			out.write(message.getBytes());
			out.flush();
		} catch (IOException e) {
			e.printStackTrace();
		}


		return 1;
	}
	@RequestMapping(value="/jisuan")
	public @ResponseBody String   jisuan(Equipment equipment ) {
	 
		int mc= (int) (98*Double.valueOf(equipment.getSecond())*( Double.valueOf(equipment.getMl())/16.67/Double.valueOf(equipment.getCalibration())));
	String mcString=	String.valueOf(mc);
		
		
		return mcString;
	}
	//校准
	@RequestMapping(value="/calibration")
	public @ResponseBody String calibration(Equipment equipment) {
		if (equipment.getQ()==null && equipment.getQ()=="" || equipment.getCalibration()==null && equipment.getCalibration()=="") {
			return "0";
		}
		
	       int a=	equipmentService.update_calibration(equipment);
		return String.valueOf(a);
	}
	//上线判断
  
 
	@RequestMapping(value="/ifOnline")
	public @ResponseBody List<String> ifOnline() {
		HashMap<Socket,String> map = SocketThread.socket_IMEI;
		if (map.size()==0){
			return null;
		}
		Iterator<Socket> iterator = map.keySet().iterator();
		List<String> fileList = new ArrayList<String>();
		while(iterator.hasNext()){
			Socket socket = iterator.next();
			String IMEI=map.get(socket);
			fileList.add(IMEI);
		}
		 return fileList;
	}


	//网络服务
 
	@RequestMapping(value="/equipment_service")
	public String equipment_service(Model model,HttpSession session) throws IOException {
		
	   User user=	(User) session.getAttribute("user");
		Equipment equipment = new Equipment();
		equipment.setOperators(user.getName());
        List<Equipment> equipments= 	equipmentService.selectIMEIByU(equipment);
		File file = new File(wineUrl+"/ICCID");
		 
	
	 List<ICCID> iccids= new ArrayList<ICCID>();
	      ICCID iccid = new ICCID();     
		File[] files = file.listFiles();
		for (int i = 0; i < files.length; i++) {
			if(files[i].isFile()) {
				for (Equipment equipment2 : equipments) {
					System.out.println("数据库:"+equipment2.getIMEI());
					System.out.println("文件:"+files[i].getName());
				String panduanString=	files[i].getName().replace(".txt", "");
					if(equipment2.getIMEI().equals(panduanString)) {
				
			String IMEI= 	files[i].getName();
		  
				InputStream in=new FileInputStream(wineUrl+"/ICCID/"+IMEI);
				BufferedReader reader = new BufferedReader(new InputStreamReader(in,"UTF-8"));
			 String ICCID=	reader.readLine();
			 
			 InputStream CSQIN=new FileInputStream(wineUrl+"/CSQ/"+IMEI);
				BufferedReader CSQreader = new BufferedReader(new InputStreamReader(CSQIN,"UTF-8"));
			 String CSQ=	CSQreader.readLine();
			 CSQreader.close();
			 
			 reader.close();
			 System.out.println("ICCID:"+ICCID);
			 iccid.setICCID(ICCID);
			 iccid.setIMEI(IMEI.replace(".txt", ""));
			 iccid.setCSQ(CSQ);
			 iccids.add(iccid);
				}
				}
			}
		}
		
		model.addAttribute("iccids", iccids);
		
		return "equipment_service";
	}
	
	//设备回收
	@RequestMapping(value="/equipment_recovery")
	public String equipment_recovery(Model model,QueryVo vo) {
	 
	  
	 
		Page<Equipment> equipments=	equipmentService.admin_selectEquipments(vo);
		model.addAttribute("size", equipments.getRows().size()); 
		model.addAttribute("equipments", equipments);
		
		
		return "equipment_recovery";
	}
	@RequestMapping(value="/recovery")
	public String recovery(String IMEI) {
		String iString = IMEI.replace(",", "");
		File file = new File(wineUrl+"/blacklist/"+iString+".txt");
		 System.out.println(iString);
	 if(!file.exists()) {
		 try {
			file.createNewFile();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		 
	 }
		
		
		return "redirect:equipment_recovery";
	}
	//启动设备
	@RequestMapping(value="/startEquipment")
	public String startEquipment(String IMEI) {
		System.out.println("IMEI:"+IMEI);
		String iString = IMEI.replace(",", "");
		File file = new File(wineUrl+"/blacklist/"+iString+".txt");
		if(file.exists()) {
			
			file.delete();
		}
		
		
		return   "redirect:equipment_recovery";
		
		
		
	}
	//判断设备是否回收
	@RequestMapping(value="/ifRecovery_equip")
	public @ResponseBody List<String> ifRecovery() {
 File fileName= new File(wineUrl+"/blacklist");
File[] tempList = fileName.listFiles();	
System.out.println("黑名单:"+tempList.length);
  List<String> fileList = new ArrayList<String>();
	 for (int i = 0; i < tempList.length; i++) {
         if (tempList[i].isFile()) {     	 
        String string =tempList[i].getName();
        String str= string.substring(0,string.lastIndexOf("."));
             fileList.add(str);
             System.out.println(str);  
         }
       
	 }
	 if(fileList.isEmpty()) {
		 return null;
		 
	 }else {
		 return fileList;
	}
	
 
	}
 
	//设备剩余酒量
	@RequestMapping(value="/stock_lack")
	public String stock_lack(Model model,HttpSession session) throws IOException {
		//列表
	//List<Equipment> equipments=	equipmentService.selectEquipments();

		 
	//model.addAttribute("equipments", equipments);
User user=(User)session.getAttribute("user");
Equipment equipment = new Equipment();
equipment.setOperators(user.getName());

List<Equipment> equipments = equipmentService.selectIMEIByU(equipment);
	File fileName= new File(wineUrl+"/ifOnline");
	File[] tempList = fileName.listFiles();	
	  if (tempList.length!=0) {
		
	
	HashMap<String, String> IMEIml=new HashMap<String, String>();
	List<String> eName= new ArrayList<String>();
		 for (int i = 0; i < tempList.length; i++) {
			 String panString = tempList[i].getName().replace(".txt", "");
			 for (Equipment equipment2 : equipments) {
	         if (tempList[i].isFile()) {     	 
	        	 if(equipment2.getIMEI().equals(panString)) {
	        //获取IMEI
	        	 String string =tempList[i].getName();
	        	  String IMEI= string.substring(0,string.lastIndexOf("."));
	        	//获取容量
	        	  File file = new File(wineUrl+"/ifOnline/"+IMEI+".txt");
	      	   BufferedReader reader=new BufferedReader(new FileReader(file)); 
	        	 String ML= reader.readLine();
	        Equipment e =	 equipmentService.selecteNameByIMEI(IMEI);
	        	 eName.add(e.geteName());
	        	 if(Integer.parseInt(ML)<=30) {
	        	 IMEIml.put(IMEI, ML);
	        	 }
	       reader.close();  
	         }
	         }
			 }
		 }
		 
		 model.addAttribute("eName", eName);
		model.addAttribute("IMEIml", IMEIml);
	  }
		return "stock_lack";
	}
	
	
	@RequestMapping(value="/stock_lack_fresh")
	public @ResponseBody HashMap<String, String> stock_lack_fresh() throws IOException{
	
		File fileName= new File(wineUrl+"/ifOnline");
		File[] tempList = fileName.listFiles();	
		  
		HashMap<String, String> IMEIml=new HashMap<String, String>();
			 for (int i = 0; i < tempList.length; i++) {
		         if (tempList[i].isFile()) {     	 
		        //获取IMEI
		        	 String string =tempList[i].getName();
		        	  String IMEI= string.substring(0,string.lastIndexOf("."));
		        	//获取容量
		        	  File file = new File(wineUrl+"/ifOnline/"+IMEI+".txt");
		      	   InputStream in=   new FileInputStream(file);
		      	   BufferedReader reader=new BufferedReader(new InputStreamReader(in,"GBK")); 
		        	 String ML= reader.readLine();
		        	 
		        	 IMEIml.put(IMEI, ML);
		       reader.close();  
		         }
		       
			 }
		
		
		return IMEIml;
		
		
		
	}
	
	 //TEST
    @RequestMapping("/TEST")
    public String TEST( )   {
        return "test";
    }
//二维码
       
    @RequestMapping(value="/towcode")
    public String twocode(String IMEI, Model model ) {
      
    	model.addAttribute("IMEI", IMEI);
    	return "equipment_code";
    }
	 
    @RequestMapping(value="/qrcode")
    public void qrcode(HttpServletRequest request, HttpServletResponse response, String content) throws Exception {
      String content2=  url+content;
      System.out.println("url:"+content2);
        //调用工具类,生成二维码   
        RecodeUtil.creatRrCode(content2, 180,180,response);   //180为图片高度和宽度
    }

 //判断IMEI是否已经被添加
    @RequestMapping(value="/checkIMEIexit")
    public @ResponseBody int checkIMEIexit(String IMEI) {
    	
              int a=  	equipmentService.checkIMEIexit(IMEI);
    	return a ;
    	
    }
 
   //续费
    @RequestMapping(value="/renew")
    public   String  renew(String IMEI, Model model) {
     
    	model.addAttribute("IMEI", IMEI);
    	return "renew" ;
    	
    }
    @RequestMapping(value="/renew_main")
    public   String  renew_main(String IMEI, Model model) {
    	System.out.println("你好");
     
    	model.addAttribute("IMEI", IMEI);
    	return "renew_main" ;
    	
    }
    
    /** 管理员
     *  功能
     * **/
    
  //设备列表
  	@RequestMapping(value="/admin_listE")
  	public String admin_listE(Model model,HttpSession session,QueryVo vo) {
  		
  		// 用户
  				User user=(User) session.getAttribute("user");
  				model.addAttribute("user", user);
  			 
  		//列表
  				Page<Equipment>  equipments=	equipmentService.admin_selectEquipments(vo);
  	
  	model.addAttribute("size", equipments.getSize()); 
  	model.addAttribute("equipments", equipments);
  	
  	
  		return "admin/equipment";	
  	}
  //删除设备
  	@RequestMapping(value="/admin_deleteE")
  	public String admin_deleteE(Equipment equipment) {
  	  equipmentService.deleteEquipment(equipment);
  		
  		
  	  return "redirect:admin_listE";
  		
  	}
  	
  	//批量删除
  	@RequestMapping(value="/admin_deleteAllE")
  	public String admin_deleteAllE(Integer[] allIDCheck) {
  		
  		equipmentService.deleteAll(allIDCheck);

  	
  		return "redirect:listE";
  		
  		
  	}
}
 
 

bean类文件:

package com.fish.pojo;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class Equipment {
int id;
String eName;
String  IMEI;
String eType;
String ifShare;
int signal;
String onSate;
String onTime;
Date addTime;
String state;
String manufacturer;
String operators;
int[] allIDCheck;
String ml;
String second;
String maic;
List<Weixin> openid= new ArrayList<Weixin>();
String CSQ="0";
String place;
int pagenum;
int starnum;
String tel;
String Q;
String calibration;
Date time;

public Date getTime() {
	return time;
}
public void setTime(Date time) {
	this.time = time;
}
public String getQ() {
	return Q;
}
public void setQ(String q) {
	Q = q;
}
public String getCalibration() {
	return calibration;
}
public void setCalibration(String calibration) {
	this.calibration = calibration;
}
public String getTel() {
	return tel;
}
public void setTel(String tel) {
	this.tel = tel;
}
public String getCSQ() {
	return CSQ;
}
public void setCSQ(String cSQ) {
	CSQ = cSQ;
}
public String getPlace() {
	return place;
}
public void setPlace(String place) {
	this.place = place;
}
public int getPagenum() {
	return pagenum;
}
public void setPagenum(int pagenum) {
	this.pagenum = pagenum;
}
public int getStarnum() {
	return starnum;
}
public void setStarnum(int starnum) {
	this.starnum = starnum;
}
public List<Weixin> getOpenid() {
	return openid;
}
public void setOpenid(List<Weixin> openid) {
	this.openid = openid;
}
public String getMl() {
	return ml;
}
public void setMl(String ml) {
	this.ml = ml;
}
public String getSecond() {
	return second;
}
public void setSecond(String second) {
	this.second = second;
}
public String getMaic() {
	return maic;
}
public void setMaic(String maic) {
	this.maic = maic;
}
public int[] getAllIDCheck() {
	return allIDCheck;
}
public void setAllIDCheck(int[] allIDCheck) {
	this.allIDCheck = allIDCheck;
}
public int getId() {
	return id;
}
public void setId(int id) {
	this.id = id;
}
public String geteName() {
	return eName;
}
public void seteName(String eName) {
	this.eName = eName;
}

public String getIMEI() {
	return IMEI;
}
public void setIMEI(String iMEI) {
	IMEI = iMEI;
}
public String geteType() {
	return eType;
}
public void seteType(String eType) {
	this.eType = eType;
}
public String getIfShare() {
	return ifShare;
}
public void setIfShare(String ifShare) {
	this.ifShare = ifShare;
}
public int getSignal() {
	return signal;
}
public void setSignal(int signal) {
	this.signal = signal;
}
public String getOnSate() {
	return onSate;
}
public void setOnSate(String onSate) {
	this.onSate = onSate;
}

 
public String getOnTime() {
	return onTime;
}
public void setOnTime(String onTime) {
	this.onTime = onTime;
}
public Date getAddTime() {
	return addTime;
}
public void setAddTime(Date addTime) {
	this.addTime = addTime;
}
public String getState() {
	return state;
}
public void setState(String state) {
	this.state = state;
}
public String getManufacturer() {
	return manufacturer;
}
public void setManufacturer(String manufacturer) {
	this.manufacturer = manufacturer;
}
public String getOperators() {
	return operators;
}
public void setOperators(String operators) {
	this.operators = operators;
}



}

服务层:

package com.fish.service;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.fish.dao.BusinessMapper;
import com.fish.dao.EquipmentMapper;
import com.fish.pojo.Equipment;
import com.fish.pojo.Oder;
import com.fish.pojo.Push;
import com.fish.pojo.QueryVo;
import com.fish.util.Page;
@Service
public class EquipmentServiceImp implements EquipmentService {
@Autowired EquipmentMapper equipmentMapper;
@Autowired BusinessMapper businessMapper;
	@Override
	//模糊查询
	
		public Page<Equipment> selectEquipmentsByLike(QueryVo vo) {
		Page<Equipment> equipment=new Page<Equipment>();
		equipment.setSize(10);
		vo.setNumber(10);
		if(vo!=null) {
			if(vo.getPage()!=null) {
			vo.setStartrow((vo.getPage()-1)*vo.getNumber());

			equipment.setPage(vo.getPage());
		}
		}
		equipment.setRows(equipmentMapper.selectEquipmentsByLike(vo));
		
		equipment.setTotal(equipmentMapper.ELIKECount(vo));
		
			
			return equipment;
		}
	@Override
	//设备列表
	public Page<Equipment> selectEquipments( QueryVo vo) {
		
		
		Page<Equipment> equipment=new Page<Equipment>();
		equipment.setSize(10);
		vo.setNumber(10);
		if(vo!=null) {
			if(vo.getPage()!=null) {
			vo.setStartrow((vo.getPage()-1)*vo.getNumber());

			equipment.setPage(vo.getPage());
		}
		}
		equipment.setRows(equipmentMapper. selectEquipments(vo));
		
		equipment.setTotal(equipmentMapper.ECount(vo));
		 return equipment;
		 
	}
		 
 
	//添加设备
	@Override
	public int addEquipment(Equipment equipment) {
		businessMapper.addTel_IMEI(equipment);
		equipmentMapper.addEquipment(equipment);
		DateFormat format =new SimpleDateFormat("yyyy-MM-dd");
		String time= format.format(equipment.getAddTime()).toString();
		 Date currdate = null;
	       try {
	           currdate = format.parse(time);
	       } catch (ParseException e) {
	           e.printStackTrace();
	       }
	       System.out.println("初始的时间是:" + time);
	       Calendar ca = Calendar.getInstance();
	       ca.setTime(currdate);
	       ca.add(Calendar.DATE, Integer.parseInt("180"));
	       currdate = ca.getTime();
	       String enddate = format.format(currdate);
	       System.out.println("增加天数以后的时间:" + enddate);
	  
	         
	       try {
			Date time1=  format.parse(enddate);
			equipment.setTime(time1);
	       } catch (ParseException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		       
		
	 return	equipmentMapper.add_renew(equipment);
		
		
	
	}
	//根据ID删除
	@Override
	public int deleteEquipment(Equipment equipment) {
	String IMEI=	equipment.getIMEI().replace(",", "");
		equipment.setIMEI(IMEI);
		equipmentMapper.deleteRenew(equipment);
		return  equipmentMapper.deleteEquipment(equipment);
	}
	//根据ID搜索
	@Override
	public Page<Oder> selectEquipmentByIMEI( QueryVo vo) {
		Page<Oder> oder=new Page<Oder>();
		oder.setSize(100);
		vo.setNumber(100);
		if(vo!=null) {
			if(vo.getPage()!=null) {
				System.out.println(" 当前页数:"+vo.getPage());
			vo.setStartrow((vo.getPage()-1)*vo.getNumber());

			oder.setPage(vo.getPage());
		}
		}
		oder.setRows(equipmentMapper.selectEquipmentByIMEI(vo));
		
		oder.setTotal(equipmentMapper.selectOderByCount(vo));
		 return oder;
		 
	}
	//编辑
	@Override
	public int editEquipment(Equipment equipment) {
	return	equipmentMapper.editEquipment(equipment);
	
	}
	//批量删除
	@Override
	public void deleteAll(Integer[] allIDCheck) {
		
		for (Integer id : allIDCheck) {
			equipmentMapper.deleteAll(id);
		}
	
	}
	
	@Override
	public Equipment selectEquipmentById(Equipment equipment) {
	 
		return equipmentMapper.selectEquipmentById(equipment);
	}
	//根据IMEI查询设备名称
 
	@Override
	public Equipment selecteNameByIMEI(String IMEI) {
	 
		return equipmentMapper.selecteNameByIMEI(IMEI);
	}
	//搜索IMEI
	@Override
	public List<Equipment> selectIMEIByU(Equipment equipment) {
		return equipmentMapper.selectIMEIByU(equipment);
	}
	//判断IMEI是否存在
 
	public int checkIMEIexit(String IMEI) {
	               Equipment equipment =     equipmentMapper.selecteNameByIMEI(IMEI);
	               if (equipment==null) {
					return 1;
				}
	               
	               
		return 0;
	}
	 //保存校准值
	@Override
	public int update_calibration(Equipment equipment) {
		return equipmentMapper.update_calibration(equipment);
	}

	/**
	 * 管理员 功能
	 * **/
		//设备列表
		public Page<Equipment> admin_selectEquipments(QueryVo vo){
			Page<Equipment> equipment=new Page<Equipment>();
			equipment.setSize(10);
			vo.setNumber(10);
			if(vo!=null) {
				if(vo.getPage()!=null) {
				vo.setStartrow((vo.getPage()-1)*vo.getNumber());

				equipment.setPage(vo.getPage());
			}
			}
			equipment.setRows(equipmentMapper.admin_selectEquipments(vo));
			
			equipment.setTotal(equipmentMapper.admin_Count(vo));
			 return equipment;
			 
		}
		//查询续费日期
	@Override
	public Equipment selecteRenewByIMEI(String IMEI) {
		return equipmentMapper.selecteRenewByIMEI(IMEI);
	}
	
}

持久层:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.fish.dao.EquipmentMapper">
<!-- 模糊查询 -->
		<select id="selectEquipmentsByLike" parameterType="Equipment" resultType="Equipment">
		
		
		select * from equipment where
		<if test="eName=='' and IMEI!=''">
	IMEI like '%${IMEI}%' AND operators = #{operators}
	
		</if>
		<if test="eName!='' and IMEI==''">
		eName like '%${eName}%' AND operators = #{operators}
	
		</if>
		<if test="eName!='' and IMEI!=''">
		IMEI like '%${IMEI}%' and eName like '%${eName}%' AND operators = #{operators}
	
		</if>
		
			limit #{startrow},#{number}
		</select>
		
		<!-- 模糊查询分页总条数 -->
	<select id="ELIKECount" parameterType="QueryVo"
		resultType="Integer">
 
	select count(1) from equipment where 
  <if test="eName=='' and IMEI!=''">
	IMEI like '%${IMEI}%' AND operators = #{operators}
	
		</if>
		<if test="eName!='' and IMEI==''">
		eName like '%${eName}%' AND operators = #{operators}
	
		</if>
		<if test="eName!='' and IMEI!=''">
		IMEI like '%${IMEI}%' and eName like '%${eName}%' AND operators = #{operators}
	
		</if>
  
	</select>  
	<!-- 查询-->
	<select id="selectEquipmentsByop" parameterType="Equipment"
		resultType="com.fish.pojo.Equipment">
		SELECT * FROM equipment  where operators = #{operators}
		
	</select>
	<select id="selectEquipments" parameterType="Equipment"
		resultType="com.fish.pojo.Equipment">
		SELECT * FROM equipment  where operators = #{operators}
		limit #{startrow},#{number}
	</select>
			<!-- 分页总条数 -->
	<select id="ECount" parameterType="QueryVo"
		resultType="Integer">
 
	select count(1) from equipment where operators = #{operators}
  
	</select>  
    <!-- 添加设备 -->
    <insert id="addEquipment">
    INSERT INTO equipment(IMEI,eName,eType,operators,addTime) VALUES(#{IMEI},#{eName},#{eType},#{operators},#{addTime})
    
    </insert>
    <!-- 添加续费日期 -->
	 <insert id="add_renew">
	INSERT INTO renew(IMEI,time) VALUES(#{IMEI},#{time})
	 </insert>
    <!-- 删除设备 -->
	<delete id="deleteEquipment">
	
	delete from equipment where id = #{id}
	
	</delete>
	<!-- 删除续费信息 -->
	<delete id="deleteRenew">
	
	delete from renew where IMEI = #{IMEI}
	
	</delete>
	<!-- 编辑设备 -->
	<update id="editEquipment">
	
	update equipment set eName=#{eName},operators=#{operators},eType=#{eType} where id=#{id}
	
	</update>
	<!-- 根据id查询设备 -->
    <select id="selectEquipmentById" parameterType="Equipment"
		resultType="Equipment">
		SELECT * FROM equipment where id=#{id}
		</select>
	                                                     <!-- 根据IMEI查设备订单 -->
    <select id="selectEquipmentByIMEI" parameterType="Equipment"
		resultType="Oder">
		<if test="type=='DESC' ">
		SELECT * FROM oder where IMEI=#{IMEI}  ORDER BY CONVERT(price,SIGNED) DESC 
		</if>
		<if test="type=='ASC' ">
		SELECT * FROM oder where IMEI=#{IMEI}  ORDER BY CONVERT(price,SIGNED) ASC 
		</if>
		<if test="type=='TIMED' ">
		SELECT * FROM oder where IMEI=#{IMEI}  ORDER BY CONVERT(time,SIGNED) DESC 
		</if>
		<if test="type=='TIMEA' ">
		SELECT * FROM oder where IMEI=#{IMEI}  ORDER BY CONVERT(time,SIGNED) ASC 
		</if>
		<if test="type=='' or type==null">
		SELECT * FROM oder where IMEI=#{IMEI}
		</if>
		limit #{startrow},#{number}
		
		</select>	
			<!-- 分页总条数 -->
	<select id="selectOderByCount" parameterType="QueryVo"
		resultType="Integer">
 
	select count(1) from oder where IMEI=#{IMEI}
 
	</select>    
		<!-- 批量删除 -->
		<delete id="deleteAll">
		
		delete from equipment where id = #{id}
		</delete>
		
		
	<!-- 根据IMEI查询设备名称 -->
		<select id="selecteNameByIMEI" parameterType="Equipment" resultType="Equipment">
		select * from equipment where IMEI=#{IMEI}
		</select>
		

<!-- 判断IMEI -->
<select id="selectIMEIByU" parameterType="Equipment" resultType="Equipment">

select IMEI from equipment where operators=#{operators}

</select>
 <!-- 保存校准值 -->
 <update id="update_calibration">
 update equipment set Q=#{Q},calibration=#{calibration} where IMEI =#{IMEI}
 </update>
 <!-- 查询设备到期时间 -->
 <select id="selecteRenewByIMEI" parameterType="Equipment" resultType="Equipment">
		select * from renew where IMEI=#{IMEI}
		</select>
	                    <!-- 管理员功能 -->
	                    
	                    
	       	<!-- 查询所有设备 -->
	       	<!-- 分页 -->
		<select id="admin_selectEquipments" parameterType="Equipment" resultType="Equipment">
		
		<if test="place!='' and place!=null">
	select * from equipment where place like '%${place}%'
	
		</if>
		<if test="operators!='' and operators!=null">
	select * from equipment where operators =#{operators}
	
		</if>
		
		<if test="place=='' or place==null ">
		<if test="operators=='' or operators==null">
		select * from equipment  
		 </if>
		</if>
		limit #{startrow},#{number}
		</select>    
		
			<!-- 分页总条数 -->
	<select id="admin_Count" parameterType="QueryVo"
		resultType="Integer">
<if test="place!=''  and place!=null">
		select count(1) from equipment where place like '%${place}%'
	</if>
	<if test="place=='' or place==null">
	select count(1) from equipment
	</if>
	</select>     
	
</mapper>

五、数据库结构展示

98f3b97def41410780efc1926fdfe397.png

7a0b476e64a74640bb9786a8ae3f5218.png

f261c41e193d44c89eb13ca766653b0d.png

六、总结

由于项目文件图片过多,这里只展示了部分示例。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值