目录
一、项目简介
售酒信息管理系统是使用SSM框架、jdk1.8、tomcat8.5.40实现,结构简单、界面简洁对于新手朋友很友好,功能主要包括简单的增、删、改、查、验证码、分页、图片上传等操作。
二、文件结构
控制层、持久层、bean层、服务层等:
前端结构:
三、系统界面
2.1登录界面
2.2设备列表界面
2.3设备添加界面
2.4商品列表界面
2.5商品添加界面
后面各个模板就不一一展示,直接上代码。
四、代码模块
设备控制层代码:
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>
五、数据库结构展示
六、总结
由于项目文件图片过多,这里只展示了部分示例。